fix(explore): ignore temporary controls in altered pill (#19843)

This commit is contained in:
Ville Brofeldt 2022-04-26 11:58:47 +03:00 committed by GitHub
parent ae384111c1
commit 2dafff12ef
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 14 additions and 2 deletions

View File

@ -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(<AlteredSliceTag {...props} />);
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

View File

@ -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 = {};