fix: don't show metadata for embedded dashboards (#30875)

This commit is contained in:
Joe Li 2024-11-12 09:54:19 -08:00 committed by GitHub
parent c2885a166e
commit ac3a10d8f1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 47 additions and 1 deletions

View File

@ -373,3 +373,48 @@ test('should render an extension component if one is supplied', () => {
screen.getByText('dashboard.nav.right extension component'),
).toBeInTheDocument();
});
test('should NOT render MetadataBar when in edit mode', () => {
const mockedProps = {
...createProps(),
editMode: true,
dashboardInfo: {
...createProps().dashboardInfo,
userId: '123',
},
};
setup(mockedProps);
expect(
screen.queryByText(mockedProps.dashboardInfo.changed_on_delta_humanized),
).not.toBeInTheDocument();
});
test('should NOT render MetadataBar when embedded', () => {
const mockedProps = {
...createProps(),
editMode: false,
dashboardInfo: {
...createProps().dashboardInfo,
userId: undefined,
},
};
setup(mockedProps);
expect(
screen.queryByText(mockedProps.dashboardInfo.changed_on_delta_humanized),
).not.toBeInTheDocument();
});
test('should render MetadataBar when not in edit mode and not embedded', () => {
const mockedProps = {
...createProps(),
editMode: false,
dashboardInfo: {
...createProps().dashboardInfo,
userId: '123',
},
};
setup(mockedProps);
expect(
screen.getByText(mockedProps.dashboardInfo.changed_on_delta_humanized),
).toBeInTheDocument();
});

View File

@ -496,6 +496,7 @@ class Header extends PureComponent {
const refreshWarning =
dashboardInfo.common?.conf
?.SUPERSET_DASHBOARD_PERIODICAL_REFRESH_WARNING_MESSAGE;
const isEmbedded = !dashboardInfo?.userId;
const handleOnPropertiesChange = updates => {
const { dashboardInfoChanged, dashboardTitleChanged } = this.props;
@ -553,7 +554,7 @@ class Header extends PureComponent {
visible={!editMode}
/>
),
!editMode && (
!editMode && !isEmbedded && (
<MetadataBar
items={this.getMetadataItems()}
tooltipPlacement="bottom"