mirror of
https://github.com/elastic/kibana.git
synced 2025-04-24 09:48:58 -04:00
Fixed pinned filters being backed up into session storage (#142262)
This commit is contained in:
parent
1530d1720a
commit
1bf14d7ab8
1 changed files with 8 additions and 3 deletions
|
@ -101,12 +101,17 @@ export const diffDashboardState = async ({
|
|||
getEmbeddable
|
||||
);
|
||||
const optionsAreEqual = getOptionsAreEqual(originalState.options, newState.options);
|
||||
const filtersAreEqual = getFiltersAreEqual(originalState.filters, newState.filters, true);
|
||||
const controlGroupIsEqual = persistableControlGroupInputIsEqual(
|
||||
originalState.controlGroupInput,
|
||||
newState.controlGroupInput
|
||||
);
|
||||
|
||||
const filterStateDiff = getFiltersAreEqual(originalState.filters, newState.filters, true)
|
||||
? {}
|
||||
: {
|
||||
filters: newState.filters.filter((f) => !isFilterPinned(f)),
|
||||
};
|
||||
|
||||
const timeStatediff = getTimeSettingsAreEqual({
|
||||
currentTimeRestore: newState.timeRestore,
|
||||
lastSaved: { ...pick(originalState, ['timeRange', 'timeRestore', 'refreshInterval']) },
|
||||
|
@ -117,9 +122,9 @@ export const diffDashboardState = async ({
|
|||
return {
|
||||
...commonStateDiff,
|
||||
...(panelsAreEqual ? {} : { panels: newState.panels }),
|
||||
...(filtersAreEqual ? {} : { filters: newState.filters }),
|
||||
...(optionsAreEqual ? {} : { options: newState.options }),
|
||||
...(controlGroupIsEqual ? {} : { controlGroupInput: newState.controlGroupInput }),
|
||||
...filterStateDiff,
|
||||
...timeStatediff,
|
||||
};
|
||||
};
|
||||
|
@ -174,7 +179,7 @@ const getFiltersAreEqual = (
|
|||
ignorePinned?: boolean
|
||||
): boolean => {
|
||||
return compareFilters(
|
||||
filtersA,
|
||||
ignorePinned ? filtersA.filter((f) => !isFilterPinned(f)) : filtersA,
|
||||
ignorePinned ? filtersB.filter((f) => !isFilterPinned(f)) : filtersB,
|
||||
COMPARE_ALL_OPTIONS
|
||||
);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue