pne-ui 4.0.45 → 4.0.46

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/README.md +17 -0
  2. package/cjs/component/search-ui/SearchUI.js +14 -11
  3. package/cjs/component/search-ui/SearchUI.js.map +1 -1
  4. package/cjs/component/search-ui/filters/SearchUIFilters.d.ts +1 -0
  5. package/cjs/component/search-ui/filters/SearchUIFilters.js +28 -11
  6. package/cjs/component/search-ui/filters/SearchUIFilters.js.map +1 -1
  7. package/cjs/component/search-ui/filters/state/SearchUIFiltersStoreProvider.d.ts +7 -0
  8. package/cjs/component/search-ui/filters/state/SearchUIFiltersStoreProvider.js +30 -0
  9. package/cjs/component/search-ui/filters/state/SearchUIFiltersStoreProvider.js.map +1 -0
  10. package/cjs/component/search-ui/filters/state/actions.js +139 -41
  11. package/cjs/component/search-ui/filters/state/actions.js.map +1 -1
  12. package/cjs/component/search-ui/filters/state/initial.js +5 -0
  13. package/cjs/component/search-ui/filters/state/initial.js.map +1 -1
  14. package/cjs/component/search-ui/filters/state/retention.d.ts +5 -0
  15. package/cjs/component/search-ui/filters/state/retention.js +106 -0
  16. package/cjs/component/search-ui/filters/state/retention.js.map +1 -0
  17. package/cjs/component/search-ui/filters/state/store.d.ts +11 -1068
  18. package/cjs/component/search-ui/filters/state/store.js +22 -2
  19. package/cjs/component/search-ui/filters/state/store.js.map +1 -1
  20. package/cjs/component/search-ui/filters/state/type.d.ts +16 -1
  21. package/esm/component/search-ui/SearchUI.js +12 -9
  22. package/esm/component/search-ui/SearchUI.js.map +1 -1
  23. package/esm/component/search-ui/filters/SearchUIFilters.d.ts +1 -0
  24. package/esm/component/search-ui/filters/SearchUIFilters.js +26 -10
  25. package/esm/component/search-ui/filters/SearchUIFilters.js.map +1 -1
  26. package/esm/component/search-ui/filters/state/SearchUIFiltersStoreProvider.d.ts +7 -0
  27. package/esm/component/search-ui/filters/state/SearchUIFiltersStoreProvider.js +25 -0
  28. package/esm/component/search-ui/filters/state/SearchUIFiltersStoreProvider.js.map +1 -0
  29. package/esm/component/search-ui/filters/state/actions.js +139 -41
  30. package/esm/component/search-ui/filters/state/actions.js.map +1 -1
  31. package/esm/component/search-ui/filters/state/initial.js +5 -0
  32. package/esm/component/search-ui/filters/state/initial.js.map +1 -1
  33. package/esm/component/search-ui/filters/state/retention.d.ts +5 -0
  34. package/esm/component/search-ui/filters/state/retention.js +98 -0
  35. package/esm/component/search-ui/filters/state/retention.js.map +1 -0
  36. package/esm/component/search-ui/filters/state/store.d.ts +11 -1068
  37. package/esm/component/search-ui/filters/state/store.js +18 -2
  38. package/esm/component/search-ui/filters/state/store.js.map +1 -1
  39. package/esm/component/search-ui/filters/state/type.d.ts +16 -1
  40. package/package.json +1 -1
package/README.md CHANGED
@@ -198,6 +198,23 @@ const config = {
198
198
  - внешняя синхронизация через проп `searchConditions` (например, клик по
199
199
  значению вне панели SearchUI).
200
200
 
201
+ ### Автоматическое восстановление состояния
202
+
203
+ `SearchUI` и `SearchUIFilters` автоматически сохраняют текущее состояние фильтров
204
+ в памяти по ключу `settingsContextName`. Если пользователь покинул экран и вернулся
205
+ к нему без полной перезагрузки страницы, фильтры и выбранный шаблон восстанавливаются.
206
+ В ручном режиме отдельно сохраняются черновик фильтров и условия последнего
207
+ выполненного поиска.
208
+
209
+ Дополнительные props или browser storage для этого не используются. После reload
210
+ in-memory состояние исчезает; постоянное хранение по-прежнему выполняется только
211
+ явно сохранёнными шаблонами. Данные таблицы не кешируются и после возврата загружаются
212
+ заново.
213
+
214
+ Используйте стабильный `settingsContextName`, уникальный для логического поискового
215
+ экрана. Два последовательных экрана с одинаковым именем намеренно разделяют
216
+ восстановленное состояние.
217
+
201
218
  ## Локализация (i18n)
202
219
 
203
220
  `pne-ui` не принимает текстовые ресурсы через пропсы и не содержит собственного `I18nextProvider`.
@@ -6,21 +6,22 @@ const react_1 = tslib_1.__importStar(require("react"));
6
6
  const SearchUIFilters_1 = require("./filters/SearchUIFilters");
7
7
  const material_1 = require("@mui/material");
8
8
  const __1 = require("../..");
9
- const store_1 = require("./state/store");
10
- const shallow_1 = require("zustand/react/shallow");
11
- const store_2 = require("./filters/state/store");
9
+ const store_1 = require("./filters/state/store");
10
+ const SearchUIFiltersStoreProvider_1 = require("./filters/state/SearchUIFiltersStoreProvider");
12
11
  /**
13
12
  * Высокоуровневый компонент поискового UI, объединяющий фильтры и таблицу с результатами.
14
13
  * @template D Тип строки данных, отображаемых в таблице.
15
14
  * @param props Свойства компонента.
16
15
  */
17
16
  const SearchUI = (props) => {
17
+ return react_1.default.createElement(SearchUIFiltersStoreProvider_1.SearchUIFiltersStoreProvider, { key: props.settingsContextName, settingsContextName: props.settingsContextName },
18
+ react_1.default.createElement(SearchUIContent, { ...props }));
19
+ };
20
+ exports.SearchUI = SearchUI;
21
+ const SearchUIContent = (props) => {
18
22
  const { settingsContextName, possibleCriteria, predefinedCriteria, exactSearchLabels, initialSearchConditions, searchConditions, searchData, createTableHeader, createTableRow, tableParams, dataUseState, config, } = props;
19
- const { searchCriteria, setSearchCriteria, } = (0, store_1.useSearchUIStore)((0, shallow_1.useShallow)((store) => ({
20
- searchCriteria: store.searchCriteria,
21
- setSearchCriteria: store.setSearchCriteria,
22
- })));
23
- const filtersSettingsContextName = (0, store_2.useSearchUIFiltersStore)(store => store.settingsContextName);
23
+ const searchCriteria = (0, store_1.useSearchUIFiltersStore)(store => store.appliedSearchCriteria);
24
+ const filtersSettingsContextName = (0, store_1.useSearchUIFiltersStore)(store => store.settingsContextName);
24
25
  const filtersContextReady = filtersSettingsContextName === settingsContextName;
25
26
  // const [criteria, setCriteria] = useSearchCriteria()
26
27
  const [displayOptions, setDisplayOptions] = (0, react_1.useState)({
@@ -38,7 +39,7 @@ const SearchUI = (props) => {
38
39
  dataUseState: dataUseState,
39
40
  fetchDataExtraDeps: fetchDataExtraDeps,
40
41
  fetchData: ({ page, pageSize, order, sortIndex }) => {
41
- if (!searchCriteria.initialized || !filtersContextReady) {
42
+ if (!searchCriteria?.initialized || !filtersContextReady) {
42
43
  return Promise.resolve([]);
43
44
  }
44
45
  const searchParams = (0, exports.createSearchParams)(searchCriteria, {
@@ -51,7 +52,7 @@ const SearchUI = (props) => {
51
52
  },
52
53
  });
53
54
  return react_1.default.createElement(react_1.default.Fragment, null,
54
- react_1.default.createElement(SearchUIFilters_1.SearchUIFilters, { settingsContextName: settingsContextName, possibleCriteria: possibleCriteria, predefinedCriteria: predefinedCriteria, exactSearchLabels: exactSearchLabels, initialSearchConditions: initialSearchConditions, searchConditions: searchConditions, onFiltersUpdate: setSearchCriteria, config: config, searchLoading: loading }),
55
+ react_1.default.createElement(SearchUIFilters_1.SearchUIFiltersContent, { settingsContextName: settingsContextName, possibleCriteria: possibleCriteria, predefinedCriteria: predefinedCriteria, exactSearchLabels: exactSearchLabels, initialSearchConditions: initialSearchConditions, searchConditions: searchConditions, onFiltersUpdate: ignoreAppliedSearchCriteria, config: config, searchLoading: loading }),
55
56
  react_1.default.createElement(material_1.Divider, null),
56
57
  react_1.default.createElement(material_1.Box, { sx: tableBoxSx },
57
58
  react_1.default.createElement(__1.PneTable, { data: data, createTableHeader: createTableHeader, sortOptions: {
@@ -62,7 +63,9 @@ const SearchUI = (props) => {
62
63
  onSortChange,
63
64
  }, createRow: (item, index, arr) => createTableRow(item, index, arr, setData), paginator: paginator, loading: loading })));
64
65
  };
65
- exports.SearchUI = SearchUI;
66
+ const ignoreAppliedSearchCriteria = () => {
67
+ // SearchUI reads the applied criteria from its instance-scoped filter store.
68
+ };
66
69
  const initialDisplayOptions = {
67
70
  pageSize: 50,
68
71
  sortColumnIndex: 1,
@@ -1 +1 @@
1
- {"version":3,"file":"SearchUI.js","sourceRoot":"","sources":["../../../src/component/search-ui/SearchUI.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SearchUI.js","sourceRoot":"","sources":["../../../src/component/search-ui/SearchUI.tsx"],"names":[],"mappings":"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"}
@@ -103,6 +103,7 @@ type Props = {
103
103
  * @param props Свойства компонента.
104
104
  */
105
105
  export declare const SearchUIFilters: (props: Props) => React.JSX.Element;
106
+ export declare const SearchUIFiltersContent: (props: Props) => React.JSX.Element;
106
107
  /**
107
108
  * Фильтрует список критериев в соответствии с доступностью, предоставленной настройками по умолчанию.
108
109
  * @param defaults Значения по умолчанию из {@link SearchUIDefaultsContext}.
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.filterAvailableCriteria = exports.SearchUIFilters = void 0;
3
+ exports.filterAvailableCriteria = exports.SearchUIFiltersContent = exports.SearchUIFilters = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const react_1 = tslib_1.__importStar(require("react"));
6
6
  const styled_1 = require("./styled");
@@ -17,14 +17,25 @@ const __1 = require("../../..");
17
17
  const SearchUIProvider_1 = require("../SearchUIProvider");
18
18
  const undo_1 = require("./state/undo");
19
19
  const criterionAvailability_1 = require("./criterionAvailability");
20
+ const SearchUIFiltersStoreProvider_1 = require("./state/SearchUIFiltersStoreProvider");
21
+ const retention_1 = require("./state/retention");
20
22
  /**
21
23
  * Панель фильтров поискового интерфейса с поддержкой шаблонов и динамических критериев.
22
24
  * @param props Свойства компонента.
23
25
  */
24
26
  const SearchUIFilters = (props) => {
27
+ return react_1.default.createElement(SearchUIFiltersStoreProvider_1.SearchUIFiltersStoreProvider, { key: props.settingsContextName, settingsContextName: props.settingsContextName },
28
+ react_1.default.createElement(exports.SearchUIFiltersContent, { ...props }));
29
+ };
30
+ exports.SearchUIFilters = SearchUIFilters;
31
+ const SearchUIFiltersContent = (props) => {
25
32
  const { t } = (0, react_i18next_1.useTranslation)();
26
33
  const { settingsContextName, possibleCriteria = [], predefinedCriteria = [], exactSearchLabels = [], initialSearchConditions, searchConditions, config, onFiltersUpdate, searchLoading = false, } = props;
27
34
  const defaults = (0, react_1.useContext)(SearchUIProvider_1.SearchUIDefaultsContext);
35
+ const filtersStore = (0, store_1.useSearchUIFiltersStoreApi)();
36
+ const { instanceId } = (0, store_1.useSearchUIFiltersStoreContext)();
37
+ const hasExternalSearchConditions = searchConditions !== undefined
38
+ && Object.keys(searchConditions).length > 0;
28
39
  const adjustedPossibleCriteria = (0, exports.filterAvailableCriteria)(defaults, [
29
40
  ...new Set([
30
41
  ...possibleCriteria,
@@ -45,6 +56,7 @@ const SearchUIFilters = (props) => {
45
56
  const updateConditions = (0, store_1.useSearchUIFiltersStore)(s => s.updateConditions);
46
57
  const filtersState = (0, store_1.useSearchUIFiltersStore)(s => s);
47
58
  const [showFilters, setShowFilters] = (0, react_1.useState)(true);
59
+ const initializedRef = (0, react_1.useRef)(false);
48
60
  const pendingClearCriteriaUndoRef = (0, react_1.useRef)(null);
49
61
  const clearPendingClearCriteriaUndo = (dismissSnackbar = true) => {
50
62
  const pending = pendingClearCriteriaUndoRef.current;
@@ -59,6 +71,10 @@ const SearchUIFilters = (props) => {
59
71
  pendingClearCriteriaUndoRef.current = null;
60
72
  };
61
73
  (0, react_1.useEffect)(() => {
74
+ if (initializedRef.current) {
75
+ return;
76
+ }
77
+ initializedRef.current = true;
62
78
  setInitialState({
63
79
  defaults: defaults,
64
80
  settingsContextName: settingsContextName,
@@ -69,22 +85,23 @@ const SearchUIFilters = (props) => {
69
85
  criteria: predefinedCriteria,
70
86
  config: config,
71
87
  onFiltersUpdate: onFiltersUpdate,
88
+ skipLastTemplateAutoApply: hasExternalSearchConditions,
72
89
  ...initialSearchConditions
73
- });
74
- }, []);
75
- (0, react_1.useEffect)(() => {
90
+ }, (0, retention_1.getRetainedSearchUIState)(settingsContextName, instanceId));
76
91
  loadTemplates();
92
+ // The keyed store provider remounts this subtree when the search context changes.
93
+ // eslint-disable-next-line react-hooks/exhaustive-deps
77
94
  }, []);
78
95
  (0, react_1.useEffect)(() => {
79
- if (searchConditions) {
96
+ if (hasExternalSearchConditions) {
80
97
  updateConditions(searchConditions, {
81
98
  forceSearch: true,
82
99
  resetTemplate: true,
83
100
  });
84
101
  }
85
- }, [searchConditions]);
102
+ }, [hasExternalSearchConditions, searchConditions, updateConditions]);
86
103
  (0, react_1.useEffect)(() => {
87
- const unsubscribe = store_1.useSearchUIFiltersStore.subscribe(state => {
104
+ const unsubscribe = filtersStore.subscribe(state => {
88
105
  const pending = pendingClearCriteriaUndoRef.current;
89
106
  if (!pending)
90
107
  return;
@@ -98,7 +115,7 @@ const SearchUIFilters = (props) => {
98
115
  clearPendingClearCriteriaUndo();
99
116
  unsubscribe();
100
117
  };
101
- }, []);
118
+ }, [filtersStore]);
102
119
  const someCriteriaAdded = criteria.length > 0;
103
120
  const showFiltersCountChip = someCriteriaAdded && !showFilters;
104
121
  const removablePredefinedCriteria = config?.removablePredefinedCriteria ?? [];
@@ -122,10 +139,10 @@ const SearchUIFilters = (props) => {
122
139
  const showAddFilterButton = !allCriteriaAdded;
123
140
  const showMainActionsRow = showClearAllButton || showTemplatesMenu || showAddFilterButton;
124
141
  const handleClearCriteria = () => {
125
- const snapshotBeforeClear = (0, undo_1.createClearCriteriaUndoSnapshot)(store_1.useSearchUIFiltersStore.getState());
142
+ const snapshotBeforeClear = (0, undo_1.createClearCriteriaUndoSnapshot)(filtersStore.getState());
126
143
  clearPendingClearCriteriaUndo();
127
144
  clearCriteria();
128
- const baseline = (0, undo_1.createClearCriteriaUndoSnapshot)(store_1.useSearchUIFiltersStore.getState());
145
+ const baseline = (0, undo_1.createClearCriteriaUndoSnapshot)(filtersStore.getState());
129
146
  const autoHideMs = 5000;
130
147
  const snackbarId = __1.overlayActions.showUndoSnackbar({
131
148
  message: t('react.searchUI.clearAll.cleared', { defaultValue: 'All filters cleared' }),
@@ -166,7 +183,7 @@ const SearchUIFilters = (props) => {
166
183
  : t('react.searchUI.refresh', { defaultValue: 'Refresh' }))))),
167
184
  showFilters ? react_1.default.createElement(material_1.Box, null, criteria.map((criterion) => react_1.default.createElement(CriterionContainer_1.CriterionContainer, { key: criterion, type: criterion }))) : null);
168
185
  };
169
- exports.SearchUIFilters = SearchUIFilters;
186
+ exports.SearchUIFiltersContent = SearchUIFiltersContent;
170
187
  const titleSx = {
171
188
  display: 'flex',
172
189
  lineHeight: '32px',
@@ -1 +1 @@
1
- {"version":3,"file":"SearchUIFilters.js","sourceRoot":"","sources":["../../../../src/component/search-ui/filters/SearchUIFilters.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SearchUIFilters.js","sourceRoot":"","sources":["../../../../src/component/search-ui/filters/SearchUIFilters.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ type Props = {
3
+ settingsContextName: string;
4
+ children: React.ReactNode;
5
+ };
6
+ export declare const SearchUIFiltersStoreProvider: ({ settingsContextName, children }: Props) => React.JSX.Element;
7
+ export {};
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SearchUIFiltersStoreProvider = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const react_1 = tslib_1.__importStar(require("react"));
6
+ const store_1 = require("./store");
7
+ const retention_1 = require("./retention");
8
+ const SearchUIFiltersStoreProvider = ({ settingsContextName, children }) => {
9
+ const store = (0, react_1.useMemo)(store_1.createSearchUIFiltersStore, [settingsContextName]);
10
+ const instanceIdRef = (0, react_1.useRef)(Symbol(settingsContextName));
11
+ useStoreLifecycleEffect(() => {
12
+ const unregister = (0, retention_1.registerSearchUIInstance)(settingsContextName, instanceIdRef.current);
13
+ const persistState = () => (0, retention_1.retainSearchUIState)(settingsContextName, store.getState());
14
+ const unsubscribe = store.subscribe(persistState);
15
+ persistState();
16
+ return () => {
17
+ persistState();
18
+ unsubscribe();
19
+ unregister();
20
+ };
21
+ }, [settingsContextName, store]);
22
+ const contextValue = (0, react_1.useMemo)(() => ({
23
+ store,
24
+ instanceId: instanceIdRef.current,
25
+ }), [store]);
26
+ return react_1.default.createElement(store_1.SearchUIFiltersStoreContext.Provider, { value: contextValue }, children);
27
+ };
28
+ exports.SearchUIFiltersStoreProvider = SearchUIFiltersStoreProvider;
29
+ const useStoreLifecycleEffect = typeof window === 'undefined' ? react_1.useEffect : react_1.useLayoutEffect;
30
+ //# sourceMappingURL=SearchUIFiltersStoreProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchUIFiltersStoreProvider.js","sourceRoot":"","sources":["../../../../../src/component/search-ui/filters/state/SearchUIFiltersStoreProvider.tsx"],"names":[],"mappings":";;;;AAAA,uDAAwE;AACxE,mCAGgB;AAChB,2CAGoB;AAOb,MAAM,4BAA4B,GAAG,CAAC,EAAC,mBAAmB,EAAE,QAAQ,EAAQ,EAAE,EAAE;IACnF,MAAM,KAAK,GAAG,IAAA,eAAO,EAAC,kCAA0B,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAA;IACxE,MAAM,aAAa,GAAG,IAAA,cAAM,EAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAA;IAEzD,uBAAuB,CAAC,GAAG,EAAE;QACzB,MAAM,UAAU,GAAG,IAAA,oCAAwB,EAAC,mBAAmB,EAAE,aAAa,CAAC,OAAO,CAAC,CAAA;QACvF,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,IAAA,+BAAmB,EAAC,mBAAmB,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAA;QACrF,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;QAEjD,YAAY,EAAE,CAAA;QAEd,OAAO,GAAG,EAAE;YACR,YAAY,EAAE,CAAA;YACd,WAAW,EAAE,CAAA;YACb,UAAU,EAAE,CAAA;QAChB,CAAC,CAAA;IACL,CAAC,EAAE,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC,CAAA;IAEhC,MAAM,YAAY,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE,CAAC,CAAC;QAChC,KAAK;QACL,UAAU,EAAE,aAAa,CAAC,OAAO;KACpC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;IAEZ,OAAO,8BAAC,mCAA2B,CAAC,QAAQ,IAAC,KAAK,EAAE,YAAY,IAC3D,QAAQ,CAC0B,CAAA;AAC3C,CAAC,CAAA;AA1BY,QAAA,4BAA4B,gCA0BxC;AAED,MAAM,uBAAuB,GAAG,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,iBAAS,CAAC,CAAC,CAAC,uBAAe,CAAA"}
@@ -82,58 +82,118 @@ const sanitizeMultigetCriteria = (incoming, activeCriteria) => {
82
82
  });
83
83
  return Array.from(uniqueByEntity.values());
84
84
  };
85
+ const isRetainedSnapshotCompatible = (snapshot, state) => {
86
+ return (0, isEqual_1.default)(snapshot.possibleCriteria, state.possibleCriteria)
87
+ && (0, isEqual_1.default)(snapshot.predefinedCriteria, state.predefinedCriteria)
88
+ && (0, isEqual_1.default)(snapshot.exactSearchLabels, state.exactSearchLabels)
89
+ && snapshot.manualSearch === !!state.config?.manualSearch;
90
+ };
91
+ const applyConditionsReducer = (draft, conditions) => {
92
+ const { criteria: incomingCriteria, multigetCriteria: incomingMultigetCriteria, ...rest } = conditions;
93
+ const prevCriteria = draft.criteria.slice();
94
+ Object.assign(draft, rest);
95
+ if (incomingCriteria !== undefined) {
96
+ const allowedCriteria = new Set([
97
+ ...draft.predefinedCriteria,
98
+ ...draft.possibleCriteria,
99
+ ]);
100
+ const sanitizedIncoming = Array.from(new Set(incomingCriteria.filter(criterion => allowedCriteria.has(criterion))));
101
+ const mergedCriteria = Array.from(new Set([
102
+ ...draft.predefinedCriteria,
103
+ ...sanitizedIncoming,
104
+ ]));
105
+ const removedCriteria = prevCriteria.filter(criterion => !mergedCriteria.includes(criterion));
106
+ removedCriteria.forEach(criterion => {
107
+ clearCriterionReducer(draft, criterion);
108
+ });
109
+ const addedCriteria = mergedCriteria.filter(criterion => !prevCriteria.includes(criterion));
110
+ if (incomingMultigetCriteria === undefined) {
111
+ addedCriteria.forEach(criterion => {
112
+ addInitialMultigetCriterionReducer(draft, criterion);
113
+ });
114
+ }
115
+ draft.criteria = mergedCriteria;
116
+ }
117
+ if (incomingMultigetCriteria !== undefined) {
118
+ const sanitizedMultigetCriteria = sanitizeMultigetCriteria(incomingMultigetCriteria, draft.criteria);
119
+ const missingEntityTypes = draft.criteria
120
+ .map(getLinkedEntityTypeByCriterion)
121
+ .filter((entityType) => entityType !== null)
122
+ .filter(entityType => !sanitizedMultigetCriteria.some(item => item.entityType === entityType));
123
+ missingEntityTypes.forEach(entityType => {
124
+ sanitizedMultigetCriteria.push(getInitialMultigetCriterion(entityType));
125
+ });
126
+ draft.multigetCriteria = sanitizedMultigetCriteria;
127
+ }
128
+ };
129
+ const restoreAppliedSearchCriteria = (snapshot, retainedDraftSearchCriteria, currentSearchCriteria) => {
130
+ if (!snapshot.hasUnappliedFilters || !snapshot.appliedSearchCriteria) {
131
+ return currentSearchCriteria;
132
+ }
133
+ const retainedDraftWithoutDates = {
134
+ ...retainedDraftSearchCriteria,
135
+ dateFrom: currentSearchCriteria.dateFrom,
136
+ dateTo: currentSearchCriteria.dateTo,
137
+ };
138
+ if (!(0, isEqual_1.default)(retainedDraftWithoutDates, currentSearchCriteria)) {
139
+ return currentSearchCriteria;
140
+ }
141
+ return {
142
+ ...(0, cloneDeep_1.default)(snapshot.appliedSearchCriteria),
143
+ dateFrom: (0, isEqual_1.default)(snapshot.appliedSearchCriteria.dateFrom, retainedDraftSearchCriteria.dateFrom)
144
+ ? currentSearchCriteria.dateFrom
145
+ : snapshot.appliedSearchCriteria.dateFrom,
146
+ dateTo: (0, isEqual_1.default)(snapshot.appliedSearchCriteria.dateTo, retainedDraftSearchCriteria.dateTo)
147
+ ? currentSearchCriteria.dateTo
148
+ : snapshot.appliedSearchCriteria.dateTo,
149
+ };
150
+ };
85
151
  const getSearchUIFiltersActions = (set, get) => ({
86
- setInitialState: (state) => {
152
+ setInitialState: (state, retainedSnapshot) => {
87
153
  set((draft) => {
88
- return {
154
+ const initialState = {
89
155
  ...draft,
90
156
  ...(0, initial_1.getSearchUIFiltersInitialState)(),
91
157
  ...(0, initial_1.getSearchUIInitialSearchCriteria)(state.defaults),
92
158
  ...state,
93
159
  };
160
+ Object.assign(draft, initialState);
161
+ if (retainedSnapshot && isRetainedSnapshotCompatible(retainedSnapshot, initialState)) {
162
+ applyConditionsReducer(draft, retainedSnapshot.searchConditions);
163
+ draft.activeTemplateName = retainedSnapshot.activeTemplateName;
164
+ draft.restoredFromRetention = true;
165
+ }
166
+ draft.initialized = true;
94
167
  });
95
- postUpdate(set, get);
168
+ const retainedDraftSearchCriteria = get().restoredFromRetention
169
+ ? extractSearchCriteriaFromState(get())
170
+ : null;
171
+ syncCriterionAvailability(set, get);
172
+ normalizeRetainedDateRange(set, get);
173
+ ensureTransactionSessionStatusesPrefetched(set, get);
174
+ if (get().restoredFromRetention && retainedSnapshot && retainedDraftSearchCriteria) {
175
+ const currentSearchCriteria = extractSearchCriteriaFromState(get());
176
+ const appliedSearchCriteria = get().config?.manualSearch
177
+ ? restoreAppliedSearchCriteria(retainedSnapshot, retainedDraftSearchCriteria, currentSearchCriteria)
178
+ : currentSearchCriteria;
179
+ get().onFiltersUpdate(appliedSearchCriteria);
180
+ set((draft) => {
181
+ draft.prevSearchCriteria = currentSearchCriteria;
182
+ draft.appliedSearchCriteria = appliedSearchCriteria;
183
+ draft.hasUnappliedFilters = !!draft.config?.manualSearch
184
+ && !(0, isEqual_1.default)(currentSearchCriteria, appliedSearchCriteria);
185
+ });
186
+ return;
187
+ }
188
+ checkIfFiltersChanged(set, get);
96
189
  },
97
190
  updateConditions: (conditions, options) => {
98
191
  set((draft) => {
99
- const { criteria: incomingCriteria, multigetCriteria: incomingMultigetCriteria, ...rest } = conditions;
100
- const prevCriteria = draft.criteria.slice();
101
- Object.assign(draft, rest);
102
- if (incomingCriteria !== undefined) {
103
- const allowedCriteria = new Set([
104
- ...draft.predefinedCriteria,
105
- ...draft.possibleCriteria,
106
- ]);
107
- const sanitizedIncoming = Array.from(new Set(incomingCriteria.filter(criterion => allowedCriteria.has(criterion))));
108
- const mergedCriteria = Array.from(new Set([
109
- ...draft.predefinedCriteria,
110
- ...sanitizedIncoming,
111
- ]));
112
- const removedCriteria = prevCriteria.filter(criterion => !mergedCriteria.includes(criterion));
113
- removedCriteria.forEach(criterion => {
114
- clearCriterionReducer(draft, criterion);
115
- });
116
- const addedCriteria = mergedCriteria.filter(criterion => !prevCriteria.includes(criterion));
117
- if (incomingMultigetCriteria === undefined) {
118
- addedCriteria.forEach(criterion => {
119
- addInitialMultigetCriterionReducer(draft, criterion);
120
- });
121
- }
122
- draft.criteria = mergedCriteria;
123
- }
124
- if (incomingMultigetCriteria !== undefined) {
125
- const sanitizedMultigetCriteria = sanitizeMultigetCriteria(incomingMultigetCriteria, draft.criteria);
126
- const missingEntityTypes = draft.criteria
127
- .map(getLinkedEntityTypeByCriterion)
128
- .filter((entityType) => entityType !== null)
129
- .filter(entityType => !sanitizedMultigetCriteria.some(item => item.entityType === entityType));
130
- missingEntityTypes.forEach(entityType => {
131
- sanitizedMultigetCriteria.push(getInitialMultigetCriterion(entityType));
132
- });
133
- draft.multigetCriteria = sanitizedMultigetCriteria;
134
- }
192
+ applyConditionsReducer(draft, conditions);
135
193
  if (options?.resetTemplate) {
136
194
  draft.template = null;
195
+ draft.activeTemplateName = null;
196
+ draft.skipLastTemplateAutoApply = true;
137
197
  }
138
198
  });
139
199
  postUpdate(set, get, options);
@@ -150,6 +210,7 @@ const getSearchUIFiltersActions = (set, get) => ({
150
210
  set(draft => {
151
211
  Object.assign(draft, conditions);
152
212
  draft.template = template;
213
+ draft.activeTemplateName = template?.name ?? null;
153
214
  });
154
215
  syncCriterionAvailability(set, get);
155
216
  const currentSearchCriteria = extractSearchCriteriaFromState(get());
@@ -158,6 +219,9 @@ const getSearchUIFiltersActions = (set, get) => ({
158
219
  }
159
220
  set(draft => {
160
221
  draft.prevSearchCriteria = currentSearchCriteria;
222
+ if (!hasUnappliedFilters) {
223
+ draft.appliedSearchCriteria = currentSearchCriteria;
224
+ }
161
225
  draft.hasUnappliedFilters = hasUnappliedFilters;
162
226
  });
163
227
  },
@@ -169,6 +233,7 @@ const getSearchUIFiltersActions = (set, get) => ({
169
233
  ...(0, initial_1.getSearchUIInitialSearchCriteria)(draft.defaults),
170
234
  exactSearchLabel: draft.exactSearchLabels[0],
171
235
  template: null,
236
+ activeTemplateName: null,
172
237
  criteria: draft.predefinedCriteria,
173
238
  };
174
239
  });
@@ -209,6 +274,7 @@ const getSearchUIFiltersActions = (set, get) => ({
209
274
  set((draft) => {
210
275
  draft.templates.push(template);
211
276
  draft.template = template;
277
+ draft.activeTemplateName = template.name;
212
278
  });
213
279
  })
214
280
  // .catch(raiseUIError)
@@ -226,6 +292,7 @@ const getSearchUIFiltersActions = (set, get) => ({
226
292
  const index = draft.templates.findIndex(t => t.name === templateName);
227
293
  draft.templates[index].searchConditions = template.searchConditions;
228
294
  draft.template = template;
295
+ draft.activeTemplateName = template.name;
229
296
  });
230
297
  })
231
298
  // .catch(raiseUIError)
@@ -247,6 +314,7 @@ const getSearchUIFiltersActions = (set, get) => ({
247
314
  if (draft.template?.name === template.name) {
248
315
  Object.assign(draft, (0, initial_1.getSearchUIInitialSearchCriteria)(draft.defaults));
249
316
  draft.template = null;
317
+ draft.activeTemplateName = null;
250
318
  draft.criteria = draft.predefinedCriteria;
251
319
  }
252
320
  });
@@ -268,19 +336,36 @@ const getSearchUIFiltersActions = (set, get) => ({
268
336
  return {
269
337
  ...draft,
270
338
  template: template,
339
+ activeTemplateName: template.name,
271
340
  ...conditions,
272
341
  };
273
342
  });
274
343
  postUpdate(set, get, options);
275
344
  },
276
345
  loadTemplates: () => {
277
- get().defaults.getSearchTemplates(get().settingsContextName)
346
+ const settingsContextName = get().settingsContextName;
347
+ const defaults = get().defaults;
348
+ defaults.getSearchTemplates(settingsContextName)
278
349
  .then(templates => {
350
+ if (get().settingsContextName !== settingsContextName) {
351
+ return;
352
+ }
279
353
  const normalizedTemplates = templates.map(normalizeSearchUITemplate);
280
354
  set((draft) => {
281
355
  draft.templates = normalizedTemplates;
282
356
  });
283
- const lastTemplateName = localStorage.getItem(LAST_TEMPLATE_NAME + get().settingsContextName);
357
+ if (get().restoredFromRetention) {
358
+ const activeTemplate = normalizedTemplates.find(t => t.name === get().activeTemplateName) ?? null;
359
+ set((draft) => {
360
+ draft.template = activeTemplate;
361
+ draft.activeTemplateName = activeTemplate?.name ?? null;
362
+ });
363
+ return;
364
+ }
365
+ if (get().skipLastTemplateAutoApply) {
366
+ return;
367
+ }
368
+ const lastTemplateName = localStorage.getItem(LAST_TEMPLATE_NAME + settingsContextName);
284
369
  const lastTemplate = normalizedTemplates.find(t => t.name === lastTemplateName);
285
370
  if (lastTemplate) {
286
371
  get().setTemplate(lastTemplate, { forceSearch: true });
@@ -490,6 +575,7 @@ const getSearchUIFiltersActions = (set, get) => ({
490
575
  const currentSearchCriteria = extractSearchCriteriaFromState(get());
491
576
  get().onFiltersUpdate(currentSearchCriteria);
492
577
  set((draft) => {
578
+ draft.appliedSearchCriteria = currentSearchCriteria;
493
579
  draft.hasUnappliedFilters = false;
494
580
  });
495
581
  },
@@ -845,6 +931,17 @@ const postUpdate = (set, get, options) => {
845
931
  ensureTransactionSessionStatusesPrefetched(set, get);
846
932
  checkIfFiltersChanged(set, get, options);
847
933
  };
934
+ const normalizeRetainedDateRange = (set, get) => {
935
+ const state = get();
936
+ if (!state.restoredFromRetention || state.dateRangeSpec.dateRangeSpecType === 'EXACTLY') {
937
+ return;
938
+ }
939
+ const timeSelectionEnabled = isDateRangeTimeSelectionEnabled(state.criteria, state.config);
940
+ const normalizedDateRange = calculateNonExactDates(state.dateRangeSpec, getNonExactDateRangeTimeZone(state.config, timeSelectionEnabled));
941
+ set(draft => {
942
+ draft.dateRangeSpec = normalizedDateRange;
943
+ });
944
+ };
848
945
  const syncCriterionAvailability = (set, get) => {
849
946
  const criteriaWithRules = (0, criterionAvailability_1.getCriteriaWithAvailabilityRules)(get().config);
850
947
  if (!criteriaWithRules.length) {
@@ -900,6 +997,7 @@ const checkIfFiltersChanged = (set, get, options) => {
900
997
  get().onFiltersUpdate(currentSearchCriteria);
901
998
  set((draft) => {
902
999
  draft.prevSearchCriteria = currentSearchCriteria;
1000
+ draft.appliedSearchCriteria = currentSearchCriteria;
903
1001
  draft.hasUnappliedFilters = false;
904
1002
  });
905
1003
  }