pne-ui 4.2.6 → 4.2.8

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 +51 -4
  2. package/cjs/component/search-ui/filters/SearchUIFilters.d.ts +13 -0
  3. package/cjs/component/search-ui/filters/SearchUIFilters.js +156 -8
  4. package/cjs/component/search-ui/filters/SearchUIFilters.js.map +1 -1
  5. package/cjs/component/search-ui/filters/component/criterion/TransactionTypesCriterion.js +6 -1
  6. package/cjs/component/search-ui/filters/component/criterion/TransactionTypesCriterion.js.map +1 -1
  7. package/cjs/component/search-ui/filters/entityOptionRestriction.d.ts +10 -0
  8. package/cjs/component/search-ui/filters/entityOptionRestriction.js +79 -0
  9. package/cjs/component/search-ui/filters/entityOptionRestriction.js.map +1 -0
  10. package/cjs/component/search-ui/filters/state/actions.js +59 -20
  11. package/cjs/component/search-ui/filters/state/actions.js.map +1 -1
  12. package/cjs/component/search-ui/filters/state/retention.d.ts +1 -0
  13. package/cjs/component/search-ui/filters/state/retention.js +12 -1
  14. package/cjs/component/search-ui/filters/state/retention.js.map +1 -1
  15. package/cjs/component/search-ui/filters/state/type.d.ts +8 -1
  16. package/cjs/component/search-ui/filters/templateStorage.d.ts +1 -0
  17. package/cjs/component/search-ui/filters/templateStorage.js +7 -0
  18. package/cjs/component/search-ui/filters/templateStorage.js.map +1 -0
  19. package/cjs/exports/search.d.ts +1 -1
  20. package/cjs/exports/search.js.map +1 -1
  21. package/esm/component/search-ui/filters/SearchUIFilters.d.ts +13 -0
  22. package/esm/component/search-ui/filters/SearchUIFilters.js +156 -8
  23. package/esm/component/search-ui/filters/SearchUIFilters.js.map +1 -1
  24. package/esm/component/search-ui/filters/component/criterion/TransactionTypesCriterion.js +6 -1
  25. package/esm/component/search-ui/filters/component/criterion/TransactionTypesCriterion.js.map +1 -1
  26. package/esm/component/search-ui/filters/entityOptionRestriction.d.ts +10 -0
  27. package/esm/component/search-ui/filters/entityOptionRestriction.js +71 -0
  28. package/esm/component/search-ui/filters/entityOptionRestriction.js.map +1 -0
  29. package/esm/component/search-ui/filters/state/actions.js +59 -20
  30. package/esm/component/search-ui/filters/state/actions.js.map +1 -1
  31. package/esm/component/search-ui/filters/state/retention.d.ts +1 -0
  32. package/esm/component/search-ui/filters/state/retention.js +10 -0
  33. package/esm/component/search-ui/filters/state/retention.js.map +1 -1
  34. package/esm/component/search-ui/filters/state/type.d.ts +8 -1
  35. package/esm/component/search-ui/filters/templateStorage.d.ts +1 -0
  36. package/esm/component/search-ui/filters/templateStorage.js +3 -0
  37. package/esm/component/search-ui/filters/templateStorage.js.map +1 -0
  38. package/esm/exports/search.d.ts +1 -1
  39. package/esm/exports/search.js.map +1 -1
  40. package/package.json +1 -1
@@ -14,8 +14,10 @@ import { SearchUIDefaultsContext } from "../SearchUIProvider";
14
14
  import { createClearCriteriaUndoSnapshot } from './state/undo';
15
15
  import { isCriterionAvailable } from './criterionAvailability';
16
16
  import { SearchUIFiltersStoreProvider } from './state/SearchUIFiltersStoreProvider';
17
- import { getRetainedSearchUIState } from './state/retention';
17
+ import { getRetainedSearchUIState, isSearchUIRetentionSnapshotCompatible, } from './state/retention';
18
18
  import { toSearchUIConditionsState } from './publicConditions';
19
+ import { normalizeAllowedEntityNames, resolveAllowedEntityOptions, } from './entityOptionRestriction';
20
+ import { getLastSearchUITemplateStorageKey } from './templateStorage';
19
21
  /**
20
22
  * Панель фильтров поискового интерфейса с поддержкой шаблонов и динамических критериев.
21
23
  * @param props Свойства компонента.
@@ -25,11 +27,146 @@ export const SearchUIFilters = (props) => {
25
27
  React.createElement(SearchUIFiltersContent, { ...props }));
26
28
  };
27
29
  export const SearchUIFiltersContent = (props) => {
30
+ // Keep runtime validation at the public render boundary even when asynchronous
31
+ // bootstrap work delays mounting the initialized filters subtree.
32
+ toSearchUIConditionsState(props.initialSearchConditions, 'initialSearchConditions', false);
33
+ toSearchUIConditionsState(props.searchConditions, 'searchConditions', true);
34
+ const transactionTypesConfig = props.config?.transactionTypes;
35
+ if (transactionTypesConfig === undefined) {
36
+ return React.createElement(SearchUIFiltersBootstrap, { ...props });
37
+ }
38
+ const normalizedAllowedNames = normalizeAllowedEntityNames(transactionTypesConfig.allowedNames) ?? [];
39
+ return React.createElement(RestrictedTransactionTypesSearchUIFiltersContent, { key: JSON.stringify(normalizedAllowedNames), ...props, allowedNames: normalizedAllowedNames });
40
+ };
41
+ const RestrictedTransactionTypesSearchUIFiltersContent = (props) => {
42
+ const { allowedNames, ...filtersProps } = props;
43
+ const { getTransactionTypes } = useContext(SearchUIDefaultsContext);
44
+ const loadPromiseRef = useRef(null);
45
+ const [loadState, setLoadState] = useState({ status: 'loading' });
46
+ useEffect(() => {
47
+ let active = true;
48
+ loadPromiseRef.current ??= getTransactionTypes()
49
+ .then(options => resolveAllowedEntityOptions(options, allowedNames, 'SearchUIFiltersConfig.transactionTypes.allowedNames'));
50
+ loadPromiseRef.current
51
+ .then(options => {
52
+ if (active) {
53
+ setLoadState({ status: 'ready', options });
54
+ }
55
+ })
56
+ .catch(error => {
57
+ if (active) {
58
+ setLoadState({
59
+ status: 'error',
60
+ error: error instanceof Error ? error : new Error(String(error)),
61
+ });
62
+ }
63
+ });
64
+ return () => {
65
+ active = false;
66
+ };
67
+ }, [allowedNames, getTransactionTypes]);
68
+ if (loadState.status === 'error') {
69
+ throw loadState.error;
70
+ }
71
+ if (loadState.status === 'loading') {
72
+ return null;
73
+ }
74
+ return React.createElement(SearchUIFiltersBootstrap, { ...filtersProps, allowedTransactionTypes: loadState.options });
75
+ };
76
+ const SearchUIFiltersBootstrap = (props) => {
77
+ const { settingsContextName, possibleCriteria = [], predefinedCriteria = [], exactSearchLabels = [], searchConditions, config, allowedTransactionTypes, } = props;
78
+ const defaults = useContext(SearchUIDefaultsContext);
79
+ const { instanceId } = useSearchUIFiltersStoreContext();
80
+ const bootstrapWorkRef = useRef(null);
81
+ const [bootstrapResult, setBootstrapResult] = useState(null);
82
+ useEffect(() => {
83
+ let active = true;
84
+ bootstrapWorkRef.current ??= (() => {
85
+ const hasExternalSearchConditions = searchConditions !== undefined
86
+ && Object.keys(searchConditions).length > 0;
87
+ const adjustedPossibleCriteria = filterAvailableCriteria(defaults, [
88
+ ...new Set([
89
+ ...possibleCriteria,
90
+ ...predefinedCriteria,
91
+ ]),
92
+ ]);
93
+ const retainedSnapshot = hasExternalSearchConditions
94
+ ? undefined
95
+ : getRetainedSearchUIState(settingsContextName, instanceId);
96
+ const retainedSnapshotCompatible = retainedSnapshot !== undefined
97
+ && isSearchUIRetentionSnapshotCompatible(retainedSnapshot, {
98
+ possibleCriteria: adjustedPossibleCriteria,
99
+ predefinedCriteria,
100
+ exactSearchLabels,
101
+ config,
102
+ prefetchedData: allowedTransactionTypes === undefined
103
+ ? {}
104
+ : { allowedTransactionTypes },
105
+ });
106
+ if (hasExternalSearchConditions || retainedSnapshotCompatible) {
107
+ return {
108
+ retainedSnapshot,
109
+ loadTemplatesInBackground: true,
110
+ };
111
+ }
112
+ const lastTemplateStorageKey = getLastSearchUITemplateStorageKey(settingsContextName);
113
+ const lastTemplateName = localStorage.getItem(lastTemplateStorageKey);
114
+ if (!lastTemplateName) {
115
+ return {
116
+ retainedSnapshot,
117
+ loadTemplatesInBackground: true,
118
+ };
119
+ }
120
+ return defaults.getSearchTemplates(settingsContextName)
121
+ .then(templates => {
122
+ const initialTemplate = templates.find(template => template.name === lastTemplateName);
123
+ if (initialTemplate === undefined) {
124
+ localStorage.removeItem(lastTemplateStorageKey);
125
+ }
126
+ return {
127
+ retainedSnapshot,
128
+ templates,
129
+ initialTemplate,
130
+ loadTemplatesInBackground: false,
131
+ };
132
+ })
133
+ .catch(error => {
134
+ console.error(error);
135
+ return {
136
+ retainedSnapshot,
137
+ templates: [],
138
+ loadTemplatesInBackground: false,
139
+ };
140
+ });
141
+ })();
142
+ const bootstrapWork = bootstrapWorkRef.current;
143
+ if (bootstrapWork instanceof Promise) {
144
+ bootstrapWork.then(result => {
145
+ if (active) {
146
+ setBootstrapResult(result);
147
+ }
148
+ });
149
+ }
150
+ else {
151
+ setBootstrapResult(bootstrapWork);
152
+ }
153
+ return () => {
154
+ active = false;
155
+ };
156
+ // The keyed store provider remounts this subtree when the search context changes.
157
+ // The promise ref deliberately survives the StrictMode effect replay.
158
+ // eslint-disable-next-line react-hooks/exhaustive-deps
159
+ }, []);
160
+ if (bootstrapResult === null) {
161
+ return null;
162
+ }
163
+ return React.createElement(InitializedSearchUIFiltersContent, { ...props, ...bootstrapResult });
164
+ };
165
+ const InitializedSearchUIFiltersContent = (props) => {
28
166
  const { t } = useTranslation();
29
- const { settingsContextName, possibleCriteria = [], predefinedCriteria = [], exactSearchLabels = [], initialSearchConditions, searchConditions, config, onFiltersUpdate, searchLoading = false, } = props;
167
+ const { settingsContextName, possibleCriteria = [], predefinedCriteria = [], exactSearchLabels = [], initialSearchConditions, searchConditions, config, onFiltersUpdate, searchLoading = false, allowedTransactionTypes, retainedSnapshot, templates, initialTemplate, loadTemplatesInBackground, } = props;
30
168
  const defaults = useContext(SearchUIDefaultsContext);
31
169
  const filtersStore = useSearchUIFiltersStoreApi();
32
- const { instanceId } = useSearchUIFiltersStoreContext();
33
170
  const hasExternalSearchConditions = searchConditions !== undefined
34
171
  && Object.keys(searchConditions).length > 0;
35
172
  const initialSearchConditionsState = useMemo(() => toSearchUIConditionsState(initialSearchConditions, 'initialSearchConditions', false), [initialSearchConditions]);
@@ -83,12 +220,23 @@ export const SearchUIFiltersContent = (props) => {
83
220
  criteria: predefinedCriteria,
84
221
  config: config,
85
222
  onFiltersUpdate: onFiltersUpdate,
86
- skipLastTemplateAutoApply: hasExternalSearchConditions,
87
- ...initialSearchConditionsState
88
- }, getRetainedSearchUIState(settingsContextName, instanceId), {
89
- normalizeInitialDateRange: initialSearchConditionsState?.dateRangeSpec !== undefined,
223
+ skipLastTemplateAutoApply: true,
224
+ ...(allowedTransactionTypes === undefined ? {} : {
225
+ prefetchedData: {
226
+ allowedTransactionTypes,
227
+ },
228
+ }),
229
+ ...initialSearchConditionsState,
230
+ ...(hasExternalSearchConditions ? searchConditionsState : {}),
231
+ }, hasExternalSearchConditions ? undefined : retainedSnapshot, {
232
+ normalizeInitialDateRange: initialSearchConditionsState?.dateRangeSpec !== undefined
233
+ || searchConditionsState?.dateRangeSpec !== undefined,
234
+ templates,
235
+ initialTemplate: hasExternalSearchConditions ? undefined : initialTemplate,
90
236
  });
91
- loadTemplates();
237
+ if (loadTemplatesInBackground) {
238
+ loadTemplates({ autoApplyLastTemplate: false });
239
+ }
92
240
  // The keyed store provider remounts this subtree when the search context changes.
93
241
  // eslint-disable-next-line react-hooks/exhaustive-deps
94
242
  }, []);
@@ -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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"}
@@ -6,15 +6,20 @@ export const TransactionTypesCriterion = () => {
6
6
  const [availableOptions, setAvailableOptions] = useState([]);
7
7
  const options = useSearchUIFiltersStore(s => s.transactionTypes);
8
8
  const setCriterion = useSearchUIFiltersStore(s => s.setTransactionTypesCriterion);
9
+ const allowedTransactionTypes = useSearchUIFiltersStore(s => s.prefetchedData.allowedTransactionTypes);
9
10
  const { getTransactionTypes } = useContext(SearchUIDefaultsContext);
10
11
  useEffect(() => {
12
+ if (allowedTransactionTypes !== undefined) {
13
+ setAvailableOptions(allowedTransactionTypes);
14
+ return;
15
+ }
11
16
  getTransactionTypes()
12
17
  .then(response => {
13
18
  setAvailableOptions(response);
14
19
  })
15
20
  // .catch(raiseUIError)
16
21
  .catch(console.error);
17
- }, []);
22
+ }, [allowedTransactionTypes, getTransactionTypes]);
18
23
  return React.createElement(SearchUIAbstractEntitySelect, { value: options, options: availableOptions, onChange: setCriterion });
19
24
  };
20
25
  //# sourceMappingURL=TransactionTypesCriterion.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TransactionTypesCriterion.js","sourceRoot":"","sources":["../../../../../../src/component/search-ui/filters/component/criterion/TransactionTypesCriterion.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAC,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;AAC7D,OAAO,4BAA4B,MAAM,wCAAwC,CAAC;AAClF,OAAO,EAAC,uBAAuB,EAAC,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAC,uBAAuB,EAAC,MAAM,2BAA2B,CAAC;AAGlE,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAG,EAAE;IAC1C,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAmB,EAAE,CAAC,CAAA;IAE9E,MAAM,OAAO,GAAG,uBAAuB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAA;IAChE,MAAM,YAAY,GAAG,uBAAuB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAA;IAEjF,MAAM,EAAC,mBAAmB,EAAC,GAAG,UAAU,CAAC,uBAAuB,CAAC,CAAA;IAEjE,SAAS,CAAC,GAAG,EAAE;QACX,mBAAmB,EAAE;aAChB,IAAI,CAAC,QAAQ,CAAC,EAAE;YACb,mBAAmB,CAAC,QAAQ,CAAC,CAAA;QACjC,CAAC,CAAC;YACF,uBAAuB;aACtB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC7B,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,OAAO,oBAAC,4BAA4B,IAChC,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,gBAAgB,EACzB,QAAQ,EAAE,YAAY,GACxB,CAAA;AACN,CAAC,CAAA"}
1
+ {"version":3,"file":"TransactionTypesCriterion.js","sourceRoot":"","sources":["../../../../../../src/component/search-ui/filters/component/criterion/TransactionTypesCriterion.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAC,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;AAC7D,OAAO,4BAA4B,MAAM,wCAAwC,CAAC;AAClF,OAAO,EAAC,uBAAuB,EAAC,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAC,uBAAuB,EAAC,MAAM,2BAA2B,CAAC;AAGlE,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAG,EAAE;IAC1C,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAmB,EAAE,CAAC,CAAA;IAE9E,MAAM,OAAO,GAAG,uBAAuB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAA;IAChE,MAAM,YAAY,GAAG,uBAAuB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAA;IACjF,MAAM,uBAAuB,GAAG,uBAAuB,CACnD,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,uBAAuB,CAChD,CAAA;IAED,MAAM,EAAC,mBAAmB,EAAC,GAAG,UAAU,CAAC,uBAAuB,CAAC,CAAA;IAEjE,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,uBAAuB,KAAK,SAAS,EAAE,CAAC;YACxC,mBAAmB,CAAC,uBAAuB,CAAC,CAAA;YAC5C,OAAM;QACV,CAAC;QAED,mBAAmB,EAAE;aAChB,IAAI,CAAC,QAAQ,CAAC,EAAE;YACb,mBAAmB,CAAC,QAAQ,CAAC,CAAA;QACjC,CAAC,CAAC;YACF,uBAAuB;aACtB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC7B,CAAC,EAAE,CAAC,uBAAuB,EAAE,mBAAmB,CAAC,CAAC,CAAA;IAElD,OAAO,oBAAC,4BAA4B,IAChC,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,gBAAgB,EACzB,QAAQ,EAAE,YAAY,GACxB,CAAA;AACN,CAAC,CAAA"}
@@ -0,0 +1,10 @@
1
+ import type { AbstractEntity, AbstractEntityAllableCollection } from '../../../common/paynet/type';
2
+ export type EntityOptionRestrictionFingerprint = Array<{
3
+ displayName: string;
4
+ id: number;
5
+ }>;
6
+ export declare const normalizeAllowedEntityNames: (allowedNames: ReadonlyArray<string> | undefined) => string[] | undefined;
7
+ export declare const resolveAllowedEntityOptions: (options: ReadonlyArray<AbstractEntity>, allowedNames: ReadonlyArray<string>, configPath: string) => AbstractEntity[];
8
+ export declare const createEntityOptionRestrictionFingerprint: (options: ReadonlyArray<AbstractEntity> | undefined) => EntityOptionRestrictionFingerprint | null;
9
+ export declare const normalizeRestrictedEntityCollection: (value: AbstractEntityAllableCollection, allowedOptions: ReadonlyArray<AbstractEntity>) => AbstractEntityAllableCollection;
10
+ export declare const extractRestrictedEntityIds: (value: AbstractEntityAllableCollection, allowedOptions: ReadonlyArray<AbstractEntity>) => number[];
@@ -0,0 +1,71 @@
1
+ export const normalizeAllowedEntityNames = (allowedNames) => {
2
+ if (allowedNames === undefined) {
3
+ return undefined;
4
+ }
5
+ return Array.from(new Set(allowedNames)).sort();
6
+ };
7
+ export const resolveAllowedEntityOptions = (options, allowedNames, configPath) => {
8
+ const normalizedNames = normalizeAllowedEntityNames(allowedNames) ?? [];
9
+ if (normalizedNames.length === 0) {
10
+ throw new Error(`[pne-ui] ${configPath} must contain at least one name`);
11
+ }
12
+ const allowedNameSet = new Set(normalizedNames);
13
+ const resolvedNames = new Set();
14
+ const resolvedIds = new Set();
15
+ const resolvedOptions = options.filter(option => {
16
+ if (!allowedNameSet.has(option.displayName) || resolvedIds.has(option.id)) {
17
+ return false;
18
+ }
19
+ resolvedNames.add(option.displayName);
20
+ resolvedIds.add(option.id);
21
+ return true;
22
+ });
23
+ const missingNames = normalizedNames.filter(name => !resolvedNames.has(name));
24
+ const ambiguousNames = normalizedNames.filter(name => (options.filter(option => option.displayName === name).length > 1));
25
+ if (missingNames.length > 0) {
26
+ throw new Error(`[pne-ui] ${configPath} contains names missing from the available options: `
27
+ + missingNames.join(', '));
28
+ }
29
+ if (ambiguousNames.length > 0) {
30
+ throw new Error(`[pne-ui] ${configPath} contains names matching multiple available options: `
31
+ + ambiguousNames.join(', '));
32
+ }
33
+ return resolvedOptions;
34
+ };
35
+ export const createEntityOptionRestrictionFingerprint = (options) => {
36
+ if (options === undefined) {
37
+ return null;
38
+ }
39
+ return options
40
+ .map(({ displayName, id }) => ({ displayName, id }))
41
+ .sort((left, right) => (left.displayName === right.displayName
42
+ ? left.id - right.id
43
+ : left.displayName < right.displayName ? -1 : 1));
44
+ };
45
+ export const normalizeRestrictedEntityCollection = (value, allowedOptions) => {
46
+ if (value.all) {
47
+ return {
48
+ all: true,
49
+ entities: [],
50
+ };
51
+ }
52
+ const selectedNames = new Set((value.entities ?? []).map(entity => entity.displayName));
53
+ const selectedOptions = allowedOptions.filter(option => selectedNames.has(option.displayName));
54
+ if (selectedOptions.length === 0) {
55
+ return {
56
+ all: true,
57
+ entities: [],
58
+ };
59
+ }
60
+ return {
61
+ all: false,
62
+ entities: selectedOptions,
63
+ };
64
+ };
65
+ export const extractRestrictedEntityIds = (value, allowedOptions) => {
66
+ const normalizedValue = normalizeRestrictedEntityCollection(value, allowedOptions);
67
+ return normalizedValue.all
68
+ ? allowedOptions.map(option => option.id)
69
+ : (normalizedValue.entities ?? []).map(option => option.id);
70
+ };
71
+ //# sourceMappingURL=entityOptionRestriction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entityOptionRestriction.js","sourceRoot":"","sources":["../../../../src/component/search-ui/filters/entityOptionRestriction.ts"],"names":[],"mappings":"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"}
@@ -11,10 +11,12 @@ import cloneDeep from 'lodash/cloneDeep';
11
11
  import isEqual from 'lodash/isEqual';
12
12
  import { applyDateOnlyTimeZone, createDateOnlySearchDate, createDateOnlySearchEndExclusiveDate, resolveDateOnlyTimeZone, SEARCH_UI_NON_EXACT_DEFAULT_TIME_ZONE, } from '../dateRangeTimeZone';
13
13
  import { getConcreteCustomerLevelMerchantId } from '../customerLevelDependencies';
14
+ import { extractRestrictedEntityIds, normalizeRestrictedEntityCollection, } from '../entityOptionRestriction';
15
+ import { isSearchUIRetentionSnapshotCompatible } from './retention';
16
+ import { getLastSearchUITemplateStorageKey } from '../templateStorage';
14
17
  dayjs.extend(utc);
15
18
  dayjs.extend(timezone);
16
19
  dayjs.extend(isoWeek);
17
- const LAST_TEMPLATE_NAME = 'last_template_name';
18
20
  const criterionToLinkedEntityMap = {
19
21
  [CriterionTypeEnum.ENDPOINT]: LinkedEntityTypeEnum.ENDPOINT,
20
22
  [CriterionTypeEnum.PROJECT]: LinkedEntityTypeEnum.PROJECT,
@@ -80,12 +82,6 @@ const sanitizeMultigetCriteria = (incoming, activeCriteria) => {
80
82
  });
81
83
  return Array.from(uniqueByEntity.values());
82
84
  };
83
- const isRetainedSnapshotCompatible = (snapshot, state) => {
84
- return isEqual(snapshot.possibleCriteria, state.possibleCriteria)
85
- && isEqual(snapshot.predefinedCriteria, state.predefinedCriteria)
86
- && isEqual(snapshot.exactSearchLabels, state.exactSearchLabels)
87
- && snapshot.manualSearch === !!state.config?.manualSearch;
88
- };
89
85
  const addCriterionReducer = (draft, criterion, configuredOnly = false) => {
90
86
  if (configuredOnly && !isConfiguredCriterion(draft, criterion)) {
91
87
  return;
@@ -107,6 +103,13 @@ const ensureCustomerLevelDependenciesReducer = (draft) => {
107
103
  }
108
104
  CUSTOMER_LEVEL_DEPENDENCIES.forEach(dependency => addCriterionReducer(draft, dependency, true));
109
105
  };
106
+ const normalizeRestrictedTransactionTypesReducer = (draft) => {
107
+ const allowedTransactionTypes = draft.prefetchedData.allowedTransactionTypes;
108
+ if (allowedTransactionTypes === undefined) {
109
+ return;
110
+ }
111
+ draft.transactionTypes = normalizeRestrictedEntityCollection(draft.transactionTypes, allowedTransactionTypes);
112
+ };
110
113
  const applyConditionsReducer = (draft, conditions) => {
111
114
  const { criteria: incomingCriteria, multigetCriteria: incomingMultigetCriteria, ...rest } = conditions;
112
115
  const prevCriteria = draft.criteria.slice();
@@ -145,6 +148,7 @@ const applyConditionsReducer = (draft, conditions) => {
145
148
  draft.multigetCriteria = sanitizedMultigetCriteria;
146
149
  }
147
150
  ensureCustomerLevelDependenciesReducer(draft);
151
+ normalizeRestrictedTransactionTypesReducer(draft);
148
152
  };
149
153
  const restoreAppliedSearchCriteria = (snapshot, retainedDraftSearchCriteria, currentSearchCriteria) => {
150
154
  if (!snapshot.hasUnappliedFilters || !snapshot.appliedSearchCriteria) {
@@ -170,6 +174,11 @@ const restoreAppliedSearchCriteria = (snapshot, retainedDraftSearchCriteria, cur
170
174
  };
171
175
  export const getSearchUIFiltersActions = (set, get) => ({
172
176
  setInitialState: (state, retainedSnapshot, options) => {
177
+ const normalizedTemplates = options?.templates?.map(normalizeSearchUITemplate);
178
+ const normalizedInitialTemplate = options?.initialTemplate === undefined
179
+ ? undefined
180
+ : normalizedTemplates?.find(template => template.name === options.initialTemplate?.name)
181
+ ?? normalizeSearchUITemplate(options.initialTemplate);
173
182
  set((draft) => {
174
183
  const initialState = {
175
184
  ...draft,
@@ -178,12 +187,26 @@ export const getSearchUIFiltersActions = (set, get) => ({
178
187
  ...state,
179
188
  };
180
189
  Object.assign(draft, initialState);
190
+ if (normalizedTemplates !== undefined) {
191
+ draft.templates = normalizedTemplates;
192
+ }
181
193
  ensureCustomerLevelDependenciesReducer(draft);
182
- if (retainedSnapshot && isRetainedSnapshotCompatible(retainedSnapshot, initialState)) {
194
+ if (retainedSnapshot && isSearchUIRetentionSnapshotCompatible(retainedSnapshot, initialState)) {
183
195
  applyConditionsReducer(draft, retainedSnapshot.searchConditions);
184
196
  draft.activeTemplateName = retainedSnapshot.activeTemplateName;
185
197
  draft.restoredFromRetention = true;
186
198
  }
199
+ else if (normalizedInitialTemplate !== undefined) {
200
+ const defaults = getSearchUIInitialSearchCriteria(draft.defaults);
201
+ Object.assign(draft, defaults);
202
+ draft.template = normalizedInitialTemplate;
203
+ draft.activeTemplateName = normalizedInitialTemplate.name;
204
+ applyConditionsReducer(draft, {
205
+ ...defaults,
206
+ ...normalizedInitialTemplate.searchConditions,
207
+ });
208
+ }
209
+ normalizeRestrictedTransactionTypesReducer(draft);
187
210
  draft.initialized = true;
188
211
  });
189
212
  const retainedDraftSearchCriteria = get().restoredFromRetention
@@ -191,7 +214,8 @@ export const getSearchUIFiltersActions = (set, get) => ({
191
214
  : null;
192
215
  syncCriterionAvailability(set, get);
193
216
  normalizeRetainedDateRange(set, get);
194
- if (!get().restoredFromRetention && options?.normalizeInitialDateRange) {
217
+ if (!get().restoredFromRetention
218
+ && (options?.normalizeInitialDateRange || normalizedInitialTemplate !== undefined)) {
195
219
  normalizeRelativeDateRange(set, get);
196
220
  }
197
221
  ensureTransactionSessionStatusesPrefetched(set, get);
@@ -229,16 +253,17 @@ export const getSearchUIFiltersActions = (set, get) => ({
229
253
  const restoredSnapshot = cloneDeep(snapshot);
230
254
  const { template, hasUnappliedFilters, ...conditions } = restoredSnapshot;
231
255
  if (template?.name) {
232
- localStorage.setItem(LAST_TEMPLATE_NAME + get().settingsContextName, template.name);
256
+ localStorage.setItem(getLastSearchUITemplateStorageKey(get().settingsContextName), template.name);
233
257
  }
234
258
  else {
235
- localStorage.removeItem(LAST_TEMPLATE_NAME + get().settingsContextName);
259
+ localStorage.removeItem(getLastSearchUITemplateStorageKey(get().settingsContextName));
236
260
  }
237
261
  set(draft => {
238
262
  Object.assign(draft, conditions);
239
263
  draft.template = template;
240
264
  draft.activeTemplateName = template?.name ?? null;
241
265
  ensureCustomerLevelDependenciesReducer(draft);
266
+ normalizeRestrictedTransactionTypesReducer(draft);
242
267
  });
243
268
  syncCriterionAvailability(set, get);
244
269
  const currentSearchCriteria = extractSearchCriteriaFromState(get());
@@ -254,7 +279,7 @@ export const getSearchUIFiltersActions = (set, get) => ({
254
279
  });
255
280
  },
256
281
  clearCriteria: () => {
257
- localStorage.removeItem(LAST_TEMPLATE_NAME + get().settingsContextName);
282
+ localStorage.removeItem(getLastSearchUITemplateStorageKey(get().settingsContextName));
258
283
  set((draft) => {
259
284
  Object.assign(draft, {
260
285
  ...getSearchUIInitialSearchCriteria(draft.defaults),
@@ -300,7 +325,7 @@ export const getSearchUIFiltersActions = (set, get) => ({
300
325
  templateName: templateName,
301
326
  })
302
327
  .then(() => {
303
- localStorage.setItem(LAST_TEMPLATE_NAME + get().settingsContextName, template.name);
328
+ localStorage.setItem(getLastSearchUITemplateStorageKey(get().settingsContextName), template.name);
304
329
  set((draft) => {
305
330
  draft.templates.push(template);
306
331
  draft.template = template;
@@ -334,9 +359,9 @@ export const getSearchUIFiltersActions = (set, get) => ({
334
359
  templateName: template.name,
335
360
  })
336
361
  .then(() => {
337
- const lastTemplateName = localStorage.getItem(LAST_TEMPLATE_NAME + get().settingsContextName);
362
+ const lastTemplateName = localStorage.getItem(getLastSearchUITemplateStorageKey(get().settingsContextName));
338
363
  if (lastTemplateName && lastTemplateName === template.name) {
339
- localStorage.removeItem(LAST_TEMPLATE_NAME + get().settingsContextName);
364
+ localStorage.removeItem(getLastSearchUITemplateStorageKey(get().settingsContextName));
340
365
  }
341
366
  set((draft) => {
342
367
  const index = draft.templates.findIndex(t => t.name === template.name);
@@ -362,7 +387,7 @@ export const getSearchUIFiltersActions = (set, get) => ({
362
387
  const timeSelectionEnabled = isDateRangeTimeSelectionEnabled(conditions.criteria, get().config);
363
388
  conditions.dateRangeSpec = calculateNonExactDates(conditions.dateRangeSpec, getNonExactDateRangeTimeZone(get().config, timeSelectionEnabled));
364
389
  }
365
- localStorage.setItem(LAST_TEMPLATE_NAME + get().settingsContextName, template.name);
390
+ localStorage.setItem(getLastSearchUITemplateStorageKey(get().settingsContextName), template.name);
366
391
  set((draft) => {
367
392
  Object.assign(draft, defaults);
368
393
  draft.template = template;
@@ -371,7 +396,7 @@ export const getSearchUIFiltersActions = (set, get) => ({
371
396
  });
372
397
  postUpdate(set, get, options);
373
398
  },
374
- loadTemplates: () => {
399
+ loadTemplates: (options) => {
375
400
  const settingsContextName = get().settingsContextName;
376
401
  const defaults = get().defaults;
377
402
  defaults.getSearchTemplates(settingsContextName)
@@ -391,14 +416,17 @@ export const getSearchUIFiltersActions = (set, get) => ({
391
416
  });
392
417
  return;
393
418
  }
394
- if (get().skipLastTemplateAutoApply) {
419
+ if (options?.autoApplyLastTemplate === false || get().skipLastTemplateAutoApply) {
395
420
  return;
396
421
  }
397
- const lastTemplateName = localStorage.getItem(LAST_TEMPLATE_NAME + settingsContextName);
422
+ const lastTemplateName = localStorage.getItem(getLastSearchUITemplateStorageKey(settingsContextName));
398
423
  const lastTemplate = normalizedTemplates.find(t => t.name === lastTemplateName);
399
424
  if (lastTemplate) {
400
425
  get().setTemplate(lastTemplate, { forceSearch: true });
401
426
  }
427
+ else if (lastTemplateName) {
428
+ localStorage.removeItem(getLastSearchUITemplateStorageKey(settingsContextName));
429
+ }
402
430
  })
403
431
  // .catch(raiseUIError)
404
432
  .catch(console.error);
@@ -541,6 +569,7 @@ export const getSearchUIFiltersActions = (set, get) => ({
541
569
  setTransactionTypesCriterion: (transactionTypes) => {
542
570
  set((draft) => {
543
571
  draft.transactionTypes = transactionTypes;
572
+ normalizeRestrictedTransactionTypesReducer(draft);
544
573
  });
545
574
  postUpdate(set, get);
546
575
  },
@@ -852,6 +881,16 @@ const extractEntitiesIds = (allable) => {
852
881
  }
853
882
  return allable.entities.map(c => c.id);
854
883
  };
884
+ const extractTransactionTypeIds = (state) => {
885
+ const allowedTransactionTypes = state.prefetchedData.allowedTransactionTypes;
886
+ if (allowedTransactionTypes === undefined) {
887
+ return extractEntitiesIds(state.transactionTypes);
888
+ }
889
+ if (!state.criteria.includes(CriterionTypeEnum.TRANSACTION_TYPES)) {
890
+ return [];
891
+ }
892
+ return extractRestrictedEntityIds(state.transactionTypes, allowedTransactionTypes);
893
+ };
855
894
  const extractGroupTypes = (grouping) => {
856
895
  const groups = [...grouping.selectedGroupingTypes];
857
896
  const dateGroupIndex = groups.indexOf('DATE');
@@ -1095,7 +1134,7 @@ const extractSearchCriteriaFromState = (state) => {
1095
1134
  dateTo: extractDateTo(state.dateRangeSpec, timeSelectionEnabled, dateOnlyTimeZone),
1096
1135
  orderDateType: state.orderDateType,
1097
1136
  cardTypes: extractEntitiesIds(state.cardTypes),
1098
- transactionTypes: extractEntitiesIds(state.transactionTypes),
1137
+ transactionTypes: extractTransactionTypeIds(state),
1099
1138
  transactionStatuses: extractEntitiesIds(state.transactionStatuses),
1100
1139
  transactionSessionStatuses: extractTransactionSessionStatuses(state.criteria, state.transactionSessionStatuses),
1101
1140
  projectCurrencyId: state.projectCurrency.currency.id,