diff --git a/packages/common/src/components/FilterGroup/useUrlFilters.ts b/packages/common/src/components/FilterGroup/useUrlFilters.ts index 5dc8bcf11..783372312 100644 --- a/packages/common/src/components/FilterGroup/useUrlFilters.ts +++ b/packages/common/src/components/FilterGroup/useUrlFilters.ts @@ -63,9 +63,15 @@ function convertFiltersToSearchParams(fields, filters) { * @returns {Function} - The function to set state and update URL. */ function createSetStateAndUrl(setSelectedFilters, updateSearchParams, updateUserSettings, fields) { + const persistentFieldIds = fields.filter((f) => f?.isPersistent).map((f) => f.resourceFieldId); + return (filters) => { if (updateUserSettings) { - updateUserSettings(filters); + const persistentFilters = Object.fromEntries( + Object.entries(filters || {}).filter(([key]) => persistentFieldIds.includes(key)), + ); + + updateUserSettings(persistentFilters); } setSelectedFilters(filters); updateSearchParams(convertFiltersToSearchParams(fields, filters)); diff --git a/packages/common/src/components/Page/userSettings.ts b/packages/common/src/components/Page/userSettings.ts index 859a3c43e..974f9370d 100644 --- a/packages/common/src/components/Page/userSettings.ts +++ b/packages/common/src/components/Page/userSettings.ts @@ -42,7 +42,7 @@ const sanitizeFields = (fields: unknown): { resourceFieldId: string; isVisible?: * @param pageId key suffix - together with PLUGIN_NAME used to load/save data. */ export const loadUserSettings = ({ pageId }): UserSettings => { - const key = `${process.env.PLUGIN_NAME}-${pageId}`; + const key = `${process.env.PLUGIN_NAME}/${pageId}`; const { fields, perPage, filters } = parseOrClean(key); return { diff --git a/packages/forklift-console-plugin/src/modules/Overview/utils/helpers/OverviewUserSettings.ts b/packages/forklift-console-plugin/src/modules/Overview/utils/helpers/OverviewUserSettings.ts index a704d90c4..a95938a7b 100644 --- a/packages/forklift-console-plugin/src/modules/Overview/utils/helpers/OverviewUserSettings.ts +++ b/packages/forklift-console-plugin/src/modules/Overview/utils/helpers/OverviewUserSettings.ts @@ -37,7 +37,7 @@ const saveRestOrRemoveKey = (key: string, { rest }: { [k: string]: { [n: string] * @param userSettingsKeySuffix - The key name together with PLUGIN_NAME used to load/save data. */ export const loadUserSettings = ({ userSettingsKeySuffix }): OverviewUserSettings => { - const key = `${process.env.PLUGIN_NAME}-${userSettingsKeySuffix}`; + const key = `${process.env.PLUGIN_NAME}/${userSettingsKeySuffix}`; const { hideWelcome } = parseOrClean(key); return {