diff --git a/superset-frontend/src/explore/components/SaveModal.test.tsx b/superset-frontend/src/explore/components/SaveModal.test.tsx index 584d9a5cec4..e04994b1a2a 100644 --- a/superset-frontend/src/explore/components/SaveModal.test.tsx +++ b/superset-frontend/src/explore/components/SaveModal.test.tsx @@ -317,6 +317,19 @@ test('set dataset name when chart source is query', () => { expect(getByTestId('new-dataset-name')).toHaveValue('test'); }); +test('renders InfoTooltip icon next to Dataset Name label when datasource type is query', () => { + const { getByTestId, getByText } = setup({}, queryStore); + + const datasetNameLabel = getByText('Dataset Name'); + expect(datasetNameLabel).toBeInTheDocument(); + + const infoTooltip = getByTestId('info-tooltip-icon'); + expect(infoTooltip).toBeInTheDocument(); + + const labelContainer = datasetNameLabel.parentElement; + expect(labelContainer).toContainElement(infoTooltip); +}); + test('make sure slice_id in the URLSearchParams before the redirect', () => { const myProps = { ...defaultProps, diff --git a/superset-frontend/src/explore/components/SaveModal.tsx b/superset-frontend/src/explore/components/SaveModal.tsx index e69f19ff423..91c27f90002 100644 --- a/superset-frontend/src/explore/components/SaveModal.tsx +++ b/superset-frontend/src/explore/components/SaveModal.tsx @@ -33,11 +33,18 @@ import { Input, Loading, Divider, + Flex, TreeSelect, } from '@superset-ui/core/components'; import { t, logging } from '@apache-superset/core'; import { DatasourceType, isDefined, SupersetClient } from '@superset-ui/core'; -import { css, styled, Alert } from '@apache-superset/core/ui'; +import { + css, + styled, + withTheme, + Alert, + type SupersetTheme, +} from '@apache-superset/core/ui'; import { Radio } from '@superset-ui/core/components/Radio'; import { GRID_COLUMN_COUNT } from 'src/dashboard/util/constants'; import { canUserEditDashboard } from 'src/dashboard/util/permissionUtils'; @@ -67,6 +74,7 @@ interface SaveModalProps extends RouteComponentProps { dashboardId: '' | number | null; isVisible: boolean; dispatch: Dispatch; + theme: SupersetTheme; } type SaveModalState = { @@ -623,11 +631,21 @@ class SaveModal extends Component { /> {this.props.datasource?.type === 'query' && ( - - + + {t('Dataset Name')} + + + } + required + >