diff --git a/superset-frontend/src/components/AlteredSliceTag/AlteredSliceTag.test.jsx b/superset-frontend/src/components/AlteredSliceTag/AlteredSliceTag.test.jsx index 6f5890018c..7501ce6382 100644 --- a/superset-frontend/src/components/AlteredSliceTag/AlteredSliceTag.test.jsx +++ b/superset-frontend/src/components/AlteredSliceTag/AlteredSliceTag.test.jsx @@ -69,6 +69,17 @@ describe('AlteredSliceTag', () => { expect(wrapper.instance().render()).toBeNull(); }); + it('does not run when temporary controls have changes', () => { + props = { + origFormData: { ...props.origFormData, url_params: { foo: 'foo' } }, + currentFormData: { ...props.origFormData, url_params: { bar: 'bar' } }, + }; + wrapper = mount(); + expect(wrapper.instance().state.rows).toEqual([]); + expect(wrapper.instance().state.hasDiffs).toBe(false); + expect(wrapper.instance().render()).toBeNull(); + }); + it('sets new rows when receiving new props', () => { const testRows = ['testValue']; const getRowsFromDiffsStub = jest diff --git a/superset-frontend/src/components/AlteredSliceTag/index.jsx b/superset-frontend/src/components/AlteredSliceTag/index.jsx index 3e2d21ab13..e4a0d1bdeb 100644 --- a/superset-frontend/src/components/AlteredSliceTag/index.jsx +++ b/superset-frontend/src/components/AlteredSliceTag/index.jsx @@ -20,6 +20,7 @@ import React from 'react'; import PropTypes from 'prop-types'; import { isEqual, isEmpty } from 'lodash'; import { t } from '@superset-ui/core'; +import { sanitizeFormData } from 'src/explore/exploreUtils/formData'; import getControlsForVizType from 'src/utils/getControlsForVizType'; import { safeStringify } from 'src/utils/safeStringify'; import { Tooltip } from 'src/components/Tooltip'; @@ -82,8 +83,8 @@ export default class AlteredSliceTag extends React.Component { getDiffs(props) { // Returns all properties that differ in the // current form data and the saved form data - const ofd = props.origFormData; - const cfd = props.currentFormData; + const ofd = sanitizeFormData(props.origFormData); + const cfd = sanitizeFormData(props.currentFormData); const fdKeys = Object.keys(cfd); const diffs = {};