fix(native-filters): fix removing native filter (#13688)

* fix: fix removeing native filter

* fix: fix native-cross filters

* fix: fix native-cross filters

* fix: fix native-cross filters

* fix: fix function declaration
This commit is contained in:
simcha90
2021-03-18 21:11:50 +02:00
committed by GitHub
parent e6c5bf4d54
commit 7e6beb5ebf
4 changed files with 35 additions and 13 deletions

View File

@@ -33,6 +33,7 @@ export const SET_DATA_MASK_FOR_FILTER_CONFIG_COMPLETE =
export interface SetDataMaskForFilterConfigComplete {
type: typeof SET_DATA_MASK_FOR_FILTER_CONFIG_COMPLETE;
filterConfig: FilterConfiguration;
unitName: DataMaskType;
}
export const SET_DATA_MASK_FOR_FILTER_CONFIG_FAIL =
'SET_DATA_MASK_FOR_FILTER_CONFIG_FAIL';

View File

@@ -49,14 +49,9 @@ const setUnitDataMask = (
}
};
const emptyDataMask = {
[DataMaskType.NativeFilters]: {},
[DataMaskType.CrossFilters]: {},
[DataMaskType.OwnFilters]: {},
};
const dataMaskReducer = produce(
(draft: DataMaskStateWithId, action: AnyDataMaskAction) => {
const oldData = { ...draft };
switch (action.type) {
case UPDATE_DATA_MASK:
Object.values(DataMaskType).forEach(unitName =>
@@ -65,20 +60,21 @@ const dataMaskReducer = produce(
break;
case SET_DATA_MASK_FOR_FILTER_CONFIG_COMPLETE:
Object.values(DataMaskType).forEach(unitName => {
draft[unitName] = emptyDataMask[unitName];
});
draft[action.unitName] = {};
(action.filterConfig ?? []).forEach(filter => {
draft[DataMaskType.NativeFilters][filter.id] =
draft[DataMaskType.NativeFilters][filter.id] ??
getInitialMask(filter.id);
draft[action.unitName][filter.id] =
oldData[action.unitName][filter.id] ?? getInitialMask(filter.id);
});
break;
default:
}
},
emptyDataMask,
{
[DataMaskType.NativeFilters]: {},
[DataMaskType.CrossFilters]: {},
[DataMaskType.OwnFilters]: {},
},
);
export default dataMaskReducer;