mirror of https://github.com/apache/superset.git
fix: Removes Redux state mutations - iteration 1 (#23522)
This commit is contained in:
parent
ee9ef24509
commit
1ced7cdbbb
|
@ -18,6 +18,7 @@
|
|||
*/
|
||||
/* eslint camelcase: 0 */
|
||||
import { t } from '@superset-ui/core';
|
||||
import { omit } from 'lodash';
|
||||
import { HYDRATE_DASHBOARD } from 'src/dashboard/actions/hydrate';
|
||||
import { DatasourcesAction } from 'src/dashboard/actions/datasources';
|
||||
import { ChartState } from 'src/explore/types';
|
||||
|
@ -180,8 +181,7 @@ export default function chartReducer(
|
|||
|
||||
/* eslint-disable no-param-reassign */
|
||||
if (action.type === actions.REMOVE_CHART) {
|
||||
delete charts[action.key];
|
||||
return charts;
|
||||
return omit(charts, [action.key]);
|
||||
}
|
||||
if (action.type === actions.UPDATE_CHART_ID) {
|
||||
const { newId, key } = action;
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
import { cloneDeep } from 'lodash';
|
||||
import {
|
||||
Behavior,
|
||||
FeatureFlag,
|
||||
|
@ -60,7 +60,8 @@ export const getCrossFiltersConfiguration = (
|
|||
|
||||
if (behaviors.includes(Behavior.INTERACTIVE_CHART)) {
|
||||
if (initialConfig[chartId]) {
|
||||
chartConfiguration[chartId] = initialConfig[chartId];
|
||||
// We need to clone to avoid mutating Redux state
|
||||
chartConfiguration[chartId] = cloneDeep(initialConfig[chartId]);
|
||||
}
|
||||
if (!chartConfiguration[chartId]) {
|
||||
chartConfiguration[chartId] = {
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
import { logging } from '@superset-ui/core';
|
||||
|
||||
/**
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
|
@ -18,6 +16,8 @@ import { logging } from '@superset-ui/core';
|
|||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
import { logging } from '@superset-ui/core';
|
||||
|
||||
export default function updateComponentParentsList({
|
||||
currentComponent,
|
||||
layout = {},
|
||||
|
@ -32,11 +32,14 @@ export default function updateComponentParentsList({
|
|||
|
||||
if (Array.isArray(currentComponent.children)) {
|
||||
currentComponent.children.forEach(childId => {
|
||||
const child = layout[childId];
|
||||
if (child) {
|
||||
child.parents = parentsList; // eslint-disable-line no-param-reassign
|
||||
if (layout[childId]) {
|
||||
// eslint-disable-next-line no-param-reassign
|
||||
layout[childId] = {
|
||||
...layout[childId],
|
||||
parents: parentsList,
|
||||
};
|
||||
updateComponentParentsList({
|
||||
currentComponent: child,
|
||||
currentComponent: layout[childId],
|
||||
layout,
|
||||
});
|
||||
} else {
|
||||
|
|
Loading…
Reference in New Issue