This is an automated email from the ASF dual-hosted git repository. diegopucci pushed a commit to branch enxdev/fix/save-chart-info-icon-alignment in repository https://gitbox.apache.org/repos/asf/superset.git
commit 98a839036854d07ba5ead19bf970252ba4082f99 Author: Diego Pucci <[email protected]> AuthorDate: Thu Feb 5 18:14:04 2026 +0200 fix(save-chart): fix info icon alignment in save chart modal Moved InfoTooltip from being a sibling of the Input to being part of the FormItem label prop. This fixes the misalignment where the icon appeared below the label instead of inline next to "Dataset Name". Co-Authored-By: Claude Opus 4.5 <[email protected]> --- .../src/explore/components/SaveModal.test.jsx | 15 ++++++++++++ .../src/explore/components/SaveModal.tsx | 28 ++++++++++++++++++---- 2 files changed, 38 insertions(+), 5 deletions(-) diff --git a/superset-frontend/src/explore/components/SaveModal.test.jsx b/superset-frontend/src/explore/components/SaveModal.test.jsx index be445884f17..c5cd4c125b3 100644 --- a/superset-frontend/src/explore/components/SaveModal.test.jsx +++ b/superset-frontend/src/explore/components/SaveModal.test.jsx @@ -25,6 +25,8 @@ import { render, waitFor, within, + screen, + userEvent, } from 'spec/helpers/testing-library'; import fetchMock from 'fetch-mock'; @@ -307,6 +309,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 3b70e70a3ad..a96b8bfa243 100644 --- a/superset-frontend/src/explore/components/SaveModal.tsx +++ b/superset-frontend/src/explore/components/SaveModal.tsx @@ -33,6 +33,7 @@ import { Input, Loading, Divider, + Flex, TreeSelect, } from '@superset-ui/core/components'; import { t, logging } from '@apache-superset/core'; @@ -618,11 +619,28 @@ class SaveModal extends Component<SaveModalProps, SaveModalState> { /> </FormItem> {this.props.datasource?.type === 'query' && ( - <FormItem label={t('Dataset Name')} required> - <InfoTooltip - tooltip={t('A reusable dataset will be saved with your chart.')} - placement="right" - /> + <FormItem + label={ + <div> + {t('Dataset Name')} + <Flex + css={theme => css` + display: inline-flex; + margin-left: ${theme.sizeUnit}px; + `} + > + <InfoTooltip + data-test="info-tooltip-icon" + tooltip={t( + 'A reusable dataset will be saved with your chart.', + )} + placement="right" + /> + </Flex> + </div> + } + required + > <Input name="dataset_name" type="text"
