pne-ui 4.2.9 → 4.2.11
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.
- package/README.md +154 -0
- package/cjs/component/search-ui/SearchUI.d.ts +5 -0
- package/cjs/component/search-ui/SearchUI.js +8 -2
- package/cjs/component/search-ui/SearchUI.js.map +1 -1
- package/cjs/component/search-ui/filters/CriterionContainer.js +15 -0
- package/cjs/component/search-ui/filters/CriterionContainer.js.map +1 -1
- package/cjs/component/search-ui/filters/SearchUIFilters.d.ts +11 -0
- package/cjs/component/search-ui/filters/SearchUIFilters.js +6 -2
- package/cjs/component/search-ui/filters/SearchUIFilters.js.map +1 -1
- package/cjs/component/search-ui/filters/component/criterion/CsvCharsetCriterion.d.ts +2 -0
- package/cjs/component/search-ui/filters/component/criterion/CsvCharsetCriterion.js +22 -0
- package/cjs/component/search-ui/filters/component/criterion/CsvCharsetCriterion.js.map +1 -0
- package/cjs/component/search-ui/filters/component/criterion/DateRangeCriterion.js +15 -15
- package/cjs/component/search-ui/filters/component/criterion/DateRangeCriterion.js.map +1 -1
- package/cjs/component/search-ui/filters/component/criterion/TimeZoneCriterion.d.ts +2 -0
- package/cjs/component/search-ui/filters/component/criterion/TimeZoneCriterion.js +33 -0
- package/cjs/component/search-ui/filters/component/criterion/TimeZoneCriterion.js.map +1 -0
- package/cjs/component/search-ui/filters/component/criterion/TransactionDateTypeCriterion.d.ts +3 -0
- package/cjs/component/search-ui/filters/component/criterion/TransactionDateTypeCriterion.js +16 -0
- package/cjs/component/search-ui/filters/component/criterion/TransactionDateTypeCriterion.js.map +1 -0
- package/cjs/component/search-ui/filters/component/criterion/TransactionRecurrentFilterCriterion.d.ts +2 -0
- package/cjs/component/search-ui/filters/component/criterion/TransactionRecurrentFilterCriterion.js +17 -0
- package/cjs/component/search-ui/filters/component/criterion/TransactionRecurrentFilterCriterion.js.map +1 -0
- package/cjs/component/search-ui/filters/component/criterion/TransactionReportScopeCriterion.d.ts +2 -0
- package/cjs/component/search-ui/filters/component/criterion/TransactionReportScopeCriterion.js +43 -0
- package/cjs/component/search-ui/filters/component/criterion/TransactionReportScopeCriterion.js.map +1 -0
- package/cjs/component/search-ui/filters/component/select/SearchUIEnumChipSelect.d.ts +11 -0
- package/cjs/component/search-ui/filters/component/select/SearchUIEnumChipSelect.js +19 -0
- package/cjs/component/search-ui/filters/component/select/SearchUIEnumChipSelect.js.map +1 -0
- package/cjs/component/search-ui/filters/publicConditions.js +56 -0
- package/cjs/component/search-ui/filters/publicConditions.js.map +1 -1
- package/cjs/component/search-ui/filters/state/actions.js +126 -4
- package/cjs/component/search-ui/filters/state/actions.js.map +1 -1
- package/cjs/component/search-ui/filters/state/initial.js +11 -0
- package/cjs/component/search-ui/filters/state/initial.js.map +1 -1
- package/cjs/component/search-ui/filters/state/retention.js +6 -0
- package/cjs/component/search-ui/filters/state/retention.js.map +1 -1
- package/cjs/component/search-ui/filters/state/type.d.ts +10 -1
- package/cjs/component/search-ui/filters/state/undo.js +6 -0
- package/cjs/component/search-ui/filters/state/undo.js.map +1 -1
- package/cjs/component/search-ui/filters/types.d.ts +34 -1
- package/cjs/component/search-ui/filters/types.js +36 -1
- package/cjs/component/search-ui/filters/types.js.map +1 -1
- package/cjs/component/search-ui/filters/validation.d.ts +17 -0
- package/cjs/component/search-ui/filters/validation.js +81 -0
- package/cjs/component/search-ui/filters/validation.js.map +1 -0
- package/cjs/component/search-ui/state/initial.js +6 -0
- package/cjs/component/search-ui/state/initial.js.map +1 -1
- package/cjs/component/search-ui/state/store.d.ts +12 -0
- package/cjs/exports/search.d.ts +2 -1
- package/cjs/exports/search.js +8 -1
- package/cjs/exports/search.js.map +1 -1
- package/esm/component/search-ui/SearchUI.d.ts +5 -0
- package/esm/component/search-ui/SearchUI.js +8 -2
- package/esm/component/search-ui/SearchUI.js.map +1 -1
- package/esm/component/search-ui/filters/CriterionContainer.js +15 -0
- package/esm/component/search-ui/filters/CriterionContainer.js.map +1 -1
- package/esm/component/search-ui/filters/SearchUIFilters.d.ts +11 -0
- package/esm/component/search-ui/filters/SearchUIFilters.js +6 -2
- package/esm/component/search-ui/filters/SearchUIFilters.js.map +1 -1
- package/esm/component/search-ui/filters/component/criterion/CsvCharsetCriterion.d.ts +2 -0
- package/esm/component/search-ui/filters/component/criterion/CsvCharsetCriterion.js +17 -0
- package/esm/component/search-ui/filters/component/criterion/CsvCharsetCriterion.js.map +1 -0
- package/esm/component/search-ui/filters/component/criterion/DateRangeCriterion.js +16 -16
- package/esm/component/search-ui/filters/component/criterion/DateRangeCriterion.js.map +1 -1
- package/esm/component/search-ui/filters/component/criterion/TimeZoneCriterion.d.ts +2 -0
- package/esm/component/search-ui/filters/component/criterion/TimeZoneCriterion.js +28 -0
- package/esm/component/search-ui/filters/component/criterion/TimeZoneCriterion.js.map +1 -0
- package/esm/component/search-ui/filters/component/criterion/TransactionDateTypeCriterion.d.ts +3 -0
- package/esm/component/search-ui/filters/component/criterion/TransactionDateTypeCriterion.js +11 -0
- package/esm/component/search-ui/filters/component/criterion/TransactionDateTypeCriterion.js.map +1 -0
- package/esm/component/search-ui/filters/component/criterion/TransactionRecurrentFilterCriterion.d.ts +2 -0
- package/esm/component/search-ui/filters/component/criterion/TransactionRecurrentFilterCriterion.js +12 -0
- package/esm/component/search-ui/filters/component/criterion/TransactionRecurrentFilterCriterion.js.map +1 -0
- package/esm/component/search-ui/filters/component/criterion/TransactionReportScopeCriterion.d.ts +2 -0
- package/esm/component/search-ui/filters/component/criterion/TransactionReportScopeCriterion.js +38 -0
- package/esm/component/search-ui/filters/component/criterion/TransactionReportScopeCriterion.js.map +1 -0
- package/esm/component/search-ui/filters/component/select/SearchUIEnumChipSelect.d.ts +11 -0
- package/esm/component/search-ui/filters/component/select/SearchUIEnumChipSelect.js +14 -0
- package/esm/component/search-ui/filters/component/select/SearchUIEnumChipSelect.js.map +1 -0
- package/esm/component/search-ui/filters/publicConditions.js +57 -1
- package/esm/component/search-ui/filters/publicConditions.js.map +1 -1
- package/esm/component/search-ui/filters/state/actions.js +126 -4
- package/esm/component/search-ui/filters/state/actions.js.map +1 -1
- package/esm/component/search-ui/filters/state/initial.js +11 -0
- package/esm/component/search-ui/filters/state/initial.js.map +1 -1
- package/esm/component/search-ui/filters/state/retention.js +6 -0
- package/esm/component/search-ui/filters/state/retention.js.map +1 -1
- package/esm/component/search-ui/filters/state/type.d.ts +10 -1
- package/esm/component/search-ui/filters/state/undo.js +6 -0
- package/esm/component/search-ui/filters/state/undo.js.map +1 -1
- package/esm/component/search-ui/filters/types.d.ts +34 -1
- package/esm/component/search-ui/filters/types.js +35 -0
- package/esm/component/search-ui/filters/types.js.map +1 -1
- package/esm/component/search-ui/filters/validation.d.ts +17 -0
- package/esm/component/search-ui/filters/validation.js +75 -0
- package/esm/component/search-ui/filters/validation.js.map +1 -0
- package/esm/component/search-ui/state/initial.js +6 -0
- package/esm/component/search-ui/state/initial.js.map +1 -1
- package/esm/component/search-ui/state/store.d.ts +12 -0
- package/esm/exports/search.d.ts +2 -1
- package/esm/exports/search.js +2 -1
- package/esm/exports/search.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TransactionDateTypeCriterion = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const react_1 = tslib_1.__importDefault(require("react"));
|
|
6
|
+
const material_1 = require("@mui/material");
|
|
7
|
+
const react_i18next_1 = require("react-i18next");
|
|
8
|
+
const store_1 = require("../../state/store");
|
|
9
|
+
/** BANK is deprecated, so CREATED is the only supported transaction date dimension. */
|
|
10
|
+
const TransactionDateTypeCriterion = () => {
|
|
11
|
+
const { t } = (0, react_i18next_1.useTranslation)();
|
|
12
|
+
const datesType = (0, store_1.useSearchUIFiltersStore)(state => state.datesType);
|
|
13
|
+
return react_1.default.createElement(material_1.Chip, { label: t(`advancedSearch.transactionsDatesType.${datesType}`), size: 'small' });
|
|
14
|
+
};
|
|
15
|
+
exports.TransactionDateTypeCriterion = TransactionDateTypeCriterion;
|
|
16
|
+
//# sourceMappingURL=TransactionDateTypeCriterion.js.map
|
package/cjs/component/search-ui/filters/component/criterion/TransactionDateTypeCriterion.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TransactionDateTypeCriterion.js","sourceRoot":"","sources":["../../../../../../src/component/search-ui/filters/component/criterion/TransactionDateTypeCriterion.tsx"],"names":[],"mappings":";;;;AAAA,0DAAyB;AACzB,4CAAkC;AAClC,iDAA4C;AAC5C,6CAAyD;AAEzD,uFAAuF;AAChF,MAAM,4BAA4B,GAAG,GAAG,EAAE;IAC7C,MAAM,EAAC,CAAC,EAAC,GAAG,IAAA,8BAAc,GAAE,CAAA;IAC5B,MAAM,SAAS,GAAG,IAAA,+BAAuB,EAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;IAEnE,OAAO,8BAAC,eAAI,IACR,KAAK,EAAE,CAAC,CAAC,wCAAwC,SAAS,EAAE,CAAC,EAC7D,IAAI,EAAE,OAAO,GACf,CAAA;AACN,CAAC,CAAA;AARY,QAAA,4BAA4B,gCAQxC"}
|
package/cjs/component/search-ui/filters/component/criterion/TransactionRecurrentFilterCriterion.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TransactionRecurrentFilterCriterion = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const react_1 = tslib_1.__importDefault(require("react"));
|
|
6
|
+
const react_i18next_1 = require("react-i18next");
|
|
7
|
+
const types_1 = require("../../types");
|
|
8
|
+
const store_1 = require("../../state/store");
|
|
9
|
+
const SearchUIEnumChipSelect_1 = require("../select/SearchUIEnumChipSelect");
|
|
10
|
+
const TransactionRecurrentFilterCriterion = () => {
|
|
11
|
+
const { t } = (0, react_i18next_1.useTranslation)();
|
|
12
|
+
const recurrentFilter = (0, store_1.useSearchUIFiltersStore)(state => state.recurrentFilter);
|
|
13
|
+
const setTransactionRecurrentFilterCriterion = (0, store_1.useSearchUIFiltersStore)(state => state.setTransactionRecurrentFilterCriterion);
|
|
14
|
+
return react_1.default.createElement(SearchUIEnumChipSelect_1.SearchUIEnumChipSelect, { value: recurrentFilter, options: types_1.TRANSACTION_RECURRENT_FILTERS, onChange: setTransactionRecurrentFilterCriterion, getOptionLabel: value => t(`recurrentFilterType.${value}`), ariaLabel: t('react.CriterionTypeEnum.TRANSACTION_RECURRENT_FILTER') });
|
|
15
|
+
};
|
|
16
|
+
exports.TransactionRecurrentFilterCriterion = TransactionRecurrentFilterCriterion;
|
|
17
|
+
//# sourceMappingURL=TransactionRecurrentFilterCriterion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TransactionRecurrentFilterCriterion.js","sourceRoot":"","sources":["../../../../../../src/component/search-ui/filters/component/criterion/TransactionRecurrentFilterCriterion.tsx"],"names":[],"mappings":";;;;AAAA,0DAAyB;AACzB,iDAA4C;AAC5C,uCAAyD;AACzD,6CAAyD;AACzD,6EAAuE;AAEhE,MAAM,mCAAmC,GAAG,GAAG,EAAE;IACpD,MAAM,EAAC,CAAC,EAAC,GAAG,IAAA,8BAAc,GAAE,CAAA;IAE5B,MAAM,eAAe,GAAG,IAAA,+BAAuB,EAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;IAC/E,MAAM,sCAAsC,GAAG,IAAA,+BAAuB,EAClE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,sCAAsC,CACxD,CAAA;IAED,OAAO,8BAAC,+CAAsB,IAC1B,KAAK,EAAE,eAAe,EACtB,OAAO,EAAE,qCAA6B,EACtC,QAAQ,EAAE,sCAAsC,EAChD,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,uBAAuB,KAAK,EAAE,CAAC,EAC1D,SAAS,EAAE,CAAC,CAAC,sDAAsD,CAAC,GACtE,CAAA;AACN,CAAC,CAAA;AAfY,QAAA,mCAAmC,uCAe/C"}
|
package/cjs/component/search-ui/filters/component/criterion/TransactionReportScopeCriterion.js
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TransactionReportScopeCriterion = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const react_1 = tslib_1.__importDefault(require("react"));
|
|
6
|
+
const material_1 = require("@mui/material");
|
|
7
|
+
const react_i18next_1 = require("react-i18next");
|
|
8
|
+
const __1 = require("../../../../..");
|
|
9
|
+
const types_1 = require("../../types");
|
|
10
|
+
const store_1 = require("../../state/store");
|
|
11
|
+
const SearchUIEnumChipSelect_1 = require("../select/SearchUIEnumChipSelect");
|
|
12
|
+
const TransactionReportScopeCriterion = () => {
|
|
13
|
+
const { t } = (0, react_i18next_1.useTranslation)();
|
|
14
|
+
const scope = (0, store_1.useSearchUIFiltersStore)(state => state.scope);
|
|
15
|
+
const transactionIds = (0, store_1.useSearchUIFiltersStore)(state => state.transactionIds);
|
|
16
|
+
const setTransactionReportScopeCriterion = (0, store_1.useSearchUIFiltersStore)(state => state.setTransactionReportScopeCriterion);
|
|
17
|
+
const setTransactionIdsCriterion = (0, store_1.useSearchUIFiltersStore)(state => state.setTransactionIdsCriterion);
|
|
18
|
+
return react_1.default.createElement(material_1.Box, { sx: criterionSx },
|
|
19
|
+
react_1.default.createElement(SearchUIEnumChipSelect_1.SearchUIEnumChipSelect, { value: scope, options: types_1.TRANSACTION_REPORT_SCOPES, onChange: setTransactionReportScopeCriterion, getOptionLabel: value => t(`transactionReportScope.${value}`), ariaLabel: t('react.CriterionTypeEnum.TRANSACTION_REPORT_SCOPE') }),
|
|
20
|
+
scope !== 'ALL' ? react_1.default.createElement(__1.PneTextField, { value: transactionIds, onChange: event => setTransactionIdsCriterion(event.target.value), label: t('react.searchUI.transactionIds'), multiline: true, rows: 6, fullWidth: true, size: 'small', variant: 'outlined', slotProps: {
|
|
21
|
+
htmlInput: {
|
|
22
|
+
'aria-label': t('react.searchUI.transactionIds'),
|
|
23
|
+
},
|
|
24
|
+
}, sx: transactionIdsSx }) : null);
|
|
25
|
+
};
|
|
26
|
+
exports.TransactionReportScopeCriterion = TransactionReportScopeCriterion;
|
|
27
|
+
const criterionSx = {
|
|
28
|
+
display: 'flex',
|
|
29
|
+
flexDirection: 'column',
|
|
30
|
+
alignItems: 'flex-start',
|
|
31
|
+
gap: '8px',
|
|
32
|
+
width: '100%',
|
|
33
|
+
py: '8px',
|
|
34
|
+
};
|
|
35
|
+
const transactionIdsSx = {
|
|
36
|
+
width: '100%',
|
|
37
|
+
maxWidth: '400px',
|
|
38
|
+
'& .MuiInputBase-input': {
|
|
39
|
+
fontSize: '13px',
|
|
40
|
+
lineHeight: '18px',
|
|
41
|
+
},
|
|
42
|
+
};
|
|
43
|
+
//# sourceMappingURL=TransactionReportScopeCriterion.js.map
|
package/cjs/component/search-ui/filters/component/criterion/TransactionReportScopeCriterion.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TransactionReportScopeCriterion.js","sourceRoot":"","sources":["../../../../../../src/component/search-ui/filters/component/criterion/TransactionReportScopeCriterion.tsx"],"names":[],"mappings":";;;;AAAA,0DAAyB;AACzB,4CAA0C;AAC1C,iDAA4C;AAC5C,sCAA2C;AAC3C,uCAAqD;AACrD,6CAAyD;AACzD,6EAAuE;AAEhE,MAAM,+BAA+B,GAAG,GAAG,EAAE;IAChD,MAAM,EAAC,CAAC,EAAC,GAAG,IAAA,8BAAc,GAAE,CAAA;IAE5B,MAAM,KAAK,GAAG,IAAA,+BAAuB,EAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IAC3D,MAAM,cAAc,GAAG,IAAA,+BAAuB,EAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;IAC7E,MAAM,kCAAkC,GAAG,IAAA,+BAAuB,EAC9D,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,kCAAkC,CACpD,CAAA;IACD,MAAM,0BAA0B,GAAG,IAAA,+BAAuB,EACtD,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,0BAA0B,CAC5C,CAAA;IAED,OAAO,8BAAC,cAAG,IAAC,EAAE,EAAE,WAAW;QACvB,8BAAC,+CAAsB,IACnB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,iCAAyB,EAClC,QAAQ,EAAE,kCAAkC,EAC5C,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,0BAA0B,KAAK,EAAE,CAAC,EAC7D,SAAS,EAAE,CAAC,CAAC,kDAAkD,CAAC,GAClE;QACD,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,8BAAC,gBAAY,IAC5B,KAAK,EAAE,cAAc,EACrB,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EACjE,KAAK,EAAE,CAAC,CAAC,+BAA+B,CAAC,EACzC,SAAS,QACT,IAAI,EAAE,CAAC,EACP,SAAS,QACT,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,UAAU,EACnB,SAAS,EAAE;gBACP,SAAS,EAAE;oBACP,YAAY,EAAE,CAAC,CAAC,+BAA+B,CAAC;iBACnD;aACJ,EACD,EAAE,EAAE,gBAAgB,GACtB,CAAC,CAAC,CAAC,IAAI,CACP,CAAA;AACV,CAAC,CAAA;AArCY,QAAA,+BAA+B,mCAqC3C;AAED,MAAM,WAAW,GAAY;IACzB,OAAO,EAAE,MAAM;IACf,aAAa,EAAE,QAAQ;IACvB,UAAU,EAAE,YAAY;IACxB,GAAG,EAAE,KAAK;IACV,KAAK,EAAE,MAAM;IACb,EAAE,EAAE,KAAK;CACZ,CAAA;AAED,MAAM,gBAAgB,GAAY;IAC9B,KAAK,EAAE,MAAM;IACb,QAAQ,EAAE,OAAO;IACjB,uBAAuB,EAAE;QACrB,QAAQ,EAAE,MAAM;QAChB,UAAU,EAAE,MAAM;KACrB;CACJ,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React, { ReactNode } from 'react';
|
|
2
|
+
interface IProps<T extends string> {
|
|
3
|
+
value: T;
|
|
4
|
+
options: readonly T[];
|
|
5
|
+
onChange: (value: T) => void;
|
|
6
|
+
getOptionLabel: (value: T) => ReactNode;
|
|
7
|
+
ariaLabel: string;
|
|
8
|
+
}
|
|
9
|
+
/** Compact single-value selector shared by Search UI enum-like criteria. */
|
|
10
|
+
export declare const SearchUIEnumChipSelect: <T extends string>(props: IProps<T>) => React.JSX.Element;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SearchUIEnumChipSelect = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const react_1 = tslib_1.__importStar(require("react"));
|
|
6
|
+
const ExpandMore_1 = tslib_1.__importDefault(require("@mui/icons-material/ExpandMore"));
|
|
7
|
+
const material_1 = require("@mui/material");
|
|
8
|
+
const __1 = require("../../../../..");
|
|
9
|
+
const style_1 = require("./style");
|
|
10
|
+
/** Compact single-value selector shared by Search UI enum-like criteria. */
|
|
11
|
+
const SearchUIEnumChipSelect = (props) => {
|
|
12
|
+
const { value, options, onChange, getOptionLabel, ariaLabel, } = props;
|
|
13
|
+
const [open, setOpen] = (0, react_1.useState)(false);
|
|
14
|
+
return react_1.default.createElement(material_1.Box, { sx: { position: 'relative', display: 'inline-flex', flexShrink: 0 } },
|
|
15
|
+
react_1.default.createElement(material_1.Chip, { onDelete: () => setOpen(true), deleteIcon: react_1.default.createElement(ExpandMore_1.default, null), label: getOptionLabel(value), size: 'small' }),
|
|
16
|
+
react_1.default.createElement(__1.PneSelect, { "aria-label": ariaLabel, open: open, onClose: () => setOpen(false), onOpen: () => setOpen(true), sx: style_1.selectUnderChipSx, getOptionLabel: option => getOptionLabel(option.label), value: value, onChange: option => onChange(option), options: options }));
|
|
17
|
+
};
|
|
18
|
+
exports.SearchUIEnumChipSelect = SearchUIEnumChipSelect;
|
|
19
|
+
//# sourceMappingURL=SearchUIEnumChipSelect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SearchUIEnumChipSelect.js","sourceRoot":"","sources":["../../../../../../src/component/search-ui/filters/component/select/SearchUIEnumChipSelect.tsx"],"names":[],"mappings":";;;;AAAA,uDAAgD;AAChD,wFAA2D;AAC3D,4CAAuC;AACvC,sCAAwC;AACxC,mCAAyC;AAUzC,4EAA4E;AACrE,MAAM,sBAAsB,GAAG,CAAqB,KAAgB,EAAE,EAAE;IAC3E,MAAM,EACF,KAAK,EACL,OAAO,EACP,QAAQ,EACR,cAAc,EACd,SAAS,GACZ,GAAG,KAAK,CAAA;IAET,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAA;IAEvC,OAAO,8BAAC,cAAG,IAAC,EAAE,EAAE,EAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC,EAAC;QACzE,8BAAC,eAAI,IACD,QAAQ,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAC7B,UAAU,EAAE,8BAAC,oBAAc,OAAE,EAC7B,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,EAC5B,IAAI,EAAE,OAAO,GACf;QACF,8BAAC,aAAS,kBACM,SAAS,EACrB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAC7B,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAC3B,EAAE,EAAE,yBAAiB,EACrB,cAAc,EAAE,MAAM,CAAC,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,KAAU,CAAC,EAC3D,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAW,CAAC,EACzC,OAAO,EAAE,OAAO,GAClB,CACA,CAAA;AACV,CAAC,CAAA;AA9BY,QAAA,sBAAsB,0BA8BlC"}
|
|
@@ -30,6 +30,35 @@ const assertDateRangeSpecType = (value, source) => {
|
|
|
30
30
|
}
|
|
31
31
|
return value;
|
|
32
32
|
};
|
|
33
|
+
const assertString = (value, source) => {
|
|
34
|
+
if (typeof value !== 'string') {
|
|
35
|
+
return fail(source, 'expected a string');
|
|
36
|
+
}
|
|
37
|
+
return value;
|
|
38
|
+
};
|
|
39
|
+
const assertStringValue = (value, allowedValues, source) => {
|
|
40
|
+
if (typeof value !== 'string' || !allowedValues.includes(value)) {
|
|
41
|
+
return fail(source, `unknown value "${String(value)}"`);
|
|
42
|
+
}
|
|
43
|
+
return value;
|
|
44
|
+
};
|
|
45
|
+
const assertTimeZoneOffsetHours = (value, source) => {
|
|
46
|
+
if (value === null) {
|
|
47
|
+
return null;
|
|
48
|
+
}
|
|
49
|
+
if (typeof value !== 'number'
|
|
50
|
+
|| !Number.isInteger(value)
|
|
51
|
+
|| !types_1.TIME_ZONE_OFFSET_HOURS.includes(value)) {
|
|
52
|
+
return fail(source, 'expected null or an integer from -12 through 12');
|
|
53
|
+
}
|
|
54
|
+
return value;
|
|
55
|
+
};
|
|
56
|
+
const assertCsvCharset = (value, source) => {
|
|
57
|
+
if (value === null) {
|
|
58
|
+
return null;
|
|
59
|
+
}
|
|
60
|
+
return assertStringValue(value, types_1.CSV_CHARSETS, source);
|
|
61
|
+
};
|
|
33
62
|
/**
|
|
34
63
|
* Runtime counterpart of SearchUIDateRangeSpec for JavaScript and values widened
|
|
35
64
|
* through `any`. This is deliberately used only at the public props boundary;
|
|
@@ -93,9 +122,36 @@ const toSearchUIConditionsState = (input, source, allowCriteria) => {
|
|
|
93
122
|
}
|
|
94
123
|
const { dateRangeSpec, ...rest } = input;
|
|
95
124
|
const stateConditions = rest;
|
|
125
|
+
// Partial<T> permits explicitly undefined properties unless consumers opt
|
|
126
|
+
// into exactOptionalPropertyTypes. Treat those properties as omitted instead
|
|
127
|
+
// of allowing them to overwrite initialized store defaults.
|
|
128
|
+
delete stateConditions.scope;
|
|
129
|
+
delete stateConditions.transactionIds;
|
|
130
|
+
delete stateConditions.datesType;
|
|
131
|
+
delete stateConditions.recurrentFilter;
|
|
132
|
+
delete stateConditions.timeZoneOffsetHours;
|
|
133
|
+
delete stateConditions.csvCharset;
|
|
96
134
|
if (dateRangeSpec !== undefined) {
|
|
97
135
|
stateConditions.dateRangeSpec = (0, exports.toDateRangeState)(dateRangeSpec, `${source}.dateRangeSpec`);
|
|
98
136
|
}
|
|
137
|
+
if (hasOwn(value, 'scope') && value.scope !== undefined) {
|
|
138
|
+
stateConditions.scope = assertStringValue(value.scope, types_1.TRANSACTION_REPORT_SCOPES, `${source}.scope`);
|
|
139
|
+
}
|
|
140
|
+
if (hasOwn(value, 'transactionIds') && value.transactionIds !== undefined) {
|
|
141
|
+
stateConditions.transactionIds = assertString(value.transactionIds, `${source}.transactionIds`);
|
|
142
|
+
}
|
|
143
|
+
if (hasOwn(value, 'datesType') && value.datesType !== undefined) {
|
|
144
|
+
stateConditions.datesType = assertStringValue(value.datesType, types_1.TRANSACTION_DATE_TYPES, `${source}.datesType`);
|
|
145
|
+
}
|
|
146
|
+
if (hasOwn(value, 'recurrentFilter') && value.recurrentFilter !== undefined) {
|
|
147
|
+
stateConditions.recurrentFilter = assertStringValue(value.recurrentFilter, types_1.TRANSACTION_RECURRENT_FILTERS, `${source}.recurrentFilter`);
|
|
148
|
+
}
|
|
149
|
+
if (hasOwn(value, 'timeZoneOffsetHours') && value.timeZoneOffsetHours !== undefined) {
|
|
150
|
+
stateConditions.timeZoneOffsetHours = assertTimeZoneOffsetHours(value.timeZoneOffsetHours, `${source}.timeZoneOffsetHours`);
|
|
151
|
+
}
|
|
152
|
+
if (hasOwn(value, 'csvCharset') && value.csvCharset !== undefined) {
|
|
153
|
+
stateConditions.csvCharset = assertCsvCharset(value.csvCharset, `${source}.csvCharset`);
|
|
154
|
+
}
|
|
99
155
|
return stateConditions;
|
|
100
156
|
};
|
|
101
157
|
exports.toSearchUIConditionsState = toSearchUIConditionsState;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publicConditions.js","sourceRoot":"","sources":["../../../../src/component/search-ui/filters/publicConditions.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"publicConditions.js","sourceRoot":"","sources":["../../../../src/component/search-ui/filters/publicConditions.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,6 +18,7 @@ const customerLevelDependencies_1 = require("../customerLevelDependencies");
|
|
|
18
18
|
const entityOptionRestriction_1 = require("../entityOptionRestriction");
|
|
19
19
|
const retention_1 = require("./retention");
|
|
20
20
|
const templateStorage_1 = require("../templateStorage");
|
|
21
|
+
const validation_1 = require("../validation");
|
|
21
22
|
dayjs_1.default.extend(utc_1.default);
|
|
22
23
|
dayjs_1.default.extend(timezone_1.default);
|
|
23
24
|
dayjs_1.default.extend(isoWeek_1.default);
|
|
@@ -226,11 +227,23 @@ const getSearchUIFiltersActions = (set, get) => ({
|
|
|
226
227
|
normalizeRelativeDateRange(set, get);
|
|
227
228
|
}
|
|
228
229
|
ensureTransactionSessionStatusesPrefetched(set, get);
|
|
230
|
+
const validationResult = syncValidation(set, get, true);
|
|
229
231
|
if (get().restoredFromRetention && retainedSnapshot && retainedDraftSearchCriteria) {
|
|
230
232
|
const currentSearchCriteria = extractSearchCriteriaFromState(get());
|
|
231
233
|
const appliedSearchCriteria = get().config?.manualSearch
|
|
232
234
|
? restoreAppliedSearchCriteria(retainedSnapshot, retainedDraftSearchCriteria, currentSearchCriteria)
|
|
233
235
|
: currentSearchCriteria;
|
|
236
|
+
if (!validationResult.isValid) {
|
|
237
|
+
const retainedAppliedSearchCriteria = get().config?.manualSearch
|
|
238
|
+
? retainedSnapshot.appliedSearchCriteria
|
|
239
|
+
: null;
|
|
240
|
+
set(draft => {
|
|
241
|
+
draft.prevSearchCriteria = retainedAppliedSearchCriteria;
|
|
242
|
+
draft.appliedSearchCriteria = retainedAppliedSearchCriteria;
|
|
243
|
+
draft.hasUnappliedFilters = true;
|
|
244
|
+
});
|
|
245
|
+
return;
|
|
246
|
+
}
|
|
234
247
|
get().onFiltersUpdate(appliedSearchCriteria);
|
|
235
248
|
set((draft) => {
|
|
236
249
|
draft.prevSearchCriteria = currentSearchCriteria;
|
|
@@ -274,15 +287,20 @@ const getSearchUIFiltersActions = (set, get) => ({
|
|
|
274
287
|
});
|
|
275
288
|
syncCriterionAvailability(set, get);
|
|
276
289
|
const currentSearchCriteria = extractSearchCriteriaFromState(get());
|
|
277
|
-
|
|
290
|
+
const validationResult = syncValidation(set, get);
|
|
291
|
+
if (validationResult.isValid && !hasUnappliedFilters) {
|
|
278
292
|
get().onFiltersUpdate(currentSearchCriteria);
|
|
279
293
|
}
|
|
280
294
|
set(draft => {
|
|
281
|
-
|
|
282
|
-
|
|
295
|
+
if (validationResult.isValid) {
|
|
296
|
+
draft.prevSearchCriteria = currentSearchCriteria;
|
|
297
|
+
}
|
|
298
|
+
if (validationResult.isValid && !hasUnappliedFilters) {
|
|
283
299
|
draft.appliedSearchCriteria = currentSearchCriteria;
|
|
284
300
|
}
|
|
285
|
-
draft.hasUnappliedFilters =
|
|
301
|
+
draft.hasUnappliedFilters = validationResult.isValid
|
|
302
|
+
? hasUnappliedFilters
|
|
303
|
+
: true;
|
|
286
304
|
});
|
|
287
305
|
},
|
|
288
306
|
clearCriteria: () => {
|
|
@@ -654,8 +672,51 @@ const getSearchUIFiltersActions = (set, get) => ({
|
|
|
654
672
|
});
|
|
655
673
|
postUpdate(set, get);
|
|
656
674
|
},
|
|
675
|
+
setTransactionReportScopeCriterion: scope => {
|
|
676
|
+
set(draft => {
|
|
677
|
+
draft.scope = scope;
|
|
678
|
+
});
|
|
679
|
+
postUpdate(set, get);
|
|
680
|
+
},
|
|
681
|
+
setTransactionIdsCriterion: transactionIds => {
|
|
682
|
+
set(draft => {
|
|
683
|
+
draft.transactionIds = transactionIds;
|
|
684
|
+
});
|
|
685
|
+
postUpdate(set, get);
|
|
686
|
+
},
|
|
687
|
+
setTransactionDateTypeCriterion: datesType => {
|
|
688
|
+
set(draft => {
|
|
689
|
+
draft.datesType = datesType;
|
|
690
|
+
});
|
|
691
|
+
postUpdate(set, get);
|
|
692
|
+
},
|
|
693
|
+
setTransactionRecurrentFilterCriterion: recurrentFilter => {
|
|
694
|
+
set(draft => {
|
|
695
|
+
draft.recurrentFilter = recurrentFilter;
|
|
696
|
+
});
|
|
697
|
+
postUpdate(set, get);
|
|
698
|
+
},
|
|
699
|
+
setTimeZoneCriterion: timeZoneOffsetHours => {
|
|
700
|
+
set(draft => {
|
|
701
|
+
draft.timeZoneOffsetHours = timeZoneOffsetHours;
|
|
702
|
+
});
|
|
703
|
+
postUpdate(set, get);
|
|
704
|
+
},
|
|
705
|
+
setCsvCharsetCriterion: csvCharset => {
|
|
706
|
+
set(draft => {
|
|
707
|
+
draft.csvCharset = csvCharset;
|
|
708
|
+
});
|
|
709
|
+
postUpdate(set, get);
|
|
710
|
+
},
|
|
657
711
|
triggerSearch: () => {
|
|
658
712
|
normalizeRelativeDateRange(set, get);
|
|
713
|
+
const validationResult = syncValidation(set, get);
|
|
714
|
+
if (!validationResult.isValid) {
|
|
715
|
+
set(draft => {
|
|
716
|
+
draft.hasUnappliedFilters = true;
|
|
717
|
+
});
|
|
718
|
+
return;
|
|
719
|
+
}
|
|
659
720
|
const currentSearchCriteria = extractSearchCriteriaFromState(get());
|
|
660
721
|
get().onFiltersUpdate(currentSearchCriteria);
|
|
661
722
|
set((draft) => {
|
|
@@ -717,6 +778,11 @@ const addInitialMultigetCriterionReducer = (draft, criterionType) => {
|
|
|
717
778
|
case types_1.CriterionTypeEnum.PROCESSOR_LOG_ENTRY_TYPE:
|
|
718
779
|
case types_1.CriterionTypeEnum.ERROR_CODE:
|
|
719
780
|
case types_1.CriterionTypeEnum.COUNTRIES:
|
|
781
|
+
case types_1.CriterionTypeEnum.TRANSACTION_REPORT_SCOPE:
|
|
782
|
+
case types_1.CriterionTypeEnum.TRANSACTION_DATE_TYPE:
|
|
783
|
+
case types_1.CriterionTypeEnum.TRANSACTION_RECURRENT_FILTER:
|
|
784
|
+
case types_1.CriterionTypeEnum.TIME_ZONE:
|
|
785
|
+
case types_1.CriterionTypeEnum.CSV_CHARSET:
|
|
720
786
|
// not multiget, so do nothing
|
|
721
787
|
break;
|
|
722
788
|
default:
|
|
@@ -826,6 +892,22 @@ const clearCriterionReducer = (draft, criterionType) => {
|
|
|
826
892
|
case types_1.CriterionTypeEnum.ERROR_CODE:
|
|
827
893
|
draft.errorCode = (0, initial_1.getSearchUIInitialSearchCriteria)(draft.defaults).errorCode;
|
|
828
894
|
break;
|
|
895
|
+
case types_1.CriterionTypeEnum.TRANSACTION_REPORT_SCOPE:
|
|
896
|
+
draft.scope = (0, initial_1.getSearchUIInitialSearchCriteria)(draft.defaults).scope;
|
|
897
|
+
draft.transactionIds = (0, initial_1.getSearchUIInitialSearchCriteria)(draft.defaults).transactionIds;
|
|
898
|
+
break;
|
|
899
|
+
case types_1.CriterionTypeEnum.TRANSACTION_DATE_TYPE:
|
|
900
|
+
draft.datesType = (0, initial_1.getSearchUIInitialSearchCriteria)(draft.defaults).datesType;
|
|
901
|
+
break;
|
|
902
|
+
case types_1.CriterionTypeEnum.TRANSACTION_RECURRENT_FILTER:
|
|
903
|
+
draft.recurrentFilter = (0, initial_1.getSearchUIInitialSearchCriteria)(draft.defaults).recurrentFilter;
|
|
904
|
+
break;
|
|
905
|
+
case types_1.CriterionTypeEnum.TIME_ZONE:
|
|
906
|
+
draft.timeZoneOffsetHours = (0, initial_1.getSearchUIInitialSearchCriteria)(draft.defaults).timeZoneOffsetHours;
|
|
907
|
+
break;
|
|
908
|
+
case types_1.CriterionTypeEnum.CSV_CHARSET:
|
|
909
|
+
draft.csvCharset = (0, initial_1.getSearchUIInitialSearchCriteria)(draft.defaults).csvCharset;
|
|
910
|
+
break;
|
|
829
911
|
default:
|
|
830
912
|
(0, __1.exhaustiveCheck)(criterionType);
|
|
831
913
|
throw new Error('Unknown criterion type: ' + criterionType);
|
|
@@ -1098,6 +1180,15 @@ const restorePredefinedCriterionReducer = (draft, criterion) => {
|
|
|
1098
1180
|
};
|
|
1099
1181
|
const checkIfFiltersChanged = (set, get, options) => {
|
|
1100
1182
|
const currentSearchCriteria = extractSearchCriteriaFromState(get());
|
|
1183
|
+
const validationResult = syncValidation(set, get);
|
|
1184
|
+
if (!validationResult.isValid) {
|
|
1185
|
+
if (!get().hasUnappliedFilters) {
|
|
1186
|
+
set(draft => {
|
|
1187
|
+
draft.hasUnappliedFilters = true;
|
|
1188
|
+
});
|
|
1189
|
+
}
|
|
1190
|
+
return;
|
|
1191
|
+
}
|
|
1101
1192
|
if (!(0, isEqual_1.default)(get().prevSearchCriteria, currentSearchCriteria)) {
|
|
1102
1193
|
const isManualSearch = get().config?.manualSearch;
|
|
1103
1194
|
const isInitialLoad = get().prevSearchCriteria === null;
|
|
@@ -1117,6 +1208,25 @@ const checkIfFiltersChanged = (set, get, options) => {
|
|
|
1117
1208
|
});
|
|
1118
1209
|
}
|
|
1119
1210
|
}
|
|
1211
|
+
else if (get().hasUnappliedFilters
|
|
1212
|
+
&& (0, isEqual_1.default)(get().appliedSearchCriteria, currentSearchCriteria)) {
|
|
1213
|
+
set(draft => {
|
|
1214
|
+
draft.hasUnappliedFilters = false;
|
|
1215
|
+
});
|
|
1216
|
+
}
|
|
1217
|
+
};
|
|
1218
|
+
const syncValidation = (set, get, forceCallback = false) => {
|
|
1219
|
+
const validationResult = (0, validation_1.validateSearchUIFiltersState)(get());
|
|
1220
|
+
const validationChanged = !(0, isEqual_1.default)(get().validationResult, validationResult);
|
|
1221
|
+
if (validationChanged) {
|
|
1222
|
+
set(draft => {
|
|
1223
|
+
draft.validationResult = validationResult;
|
|
1224
|
+
});
|
|
1225
|
+
}
|
|
1226
|
+
if (validationChanged || forceCallback) {
|
|
1227
|
+
get().onValidationChange(validationResult);
|
|
1228
|
+
}
|
|
1229
|
+
return validationResult;
|
|
1120
1230
|
};
|
|
1121
1231
|
const extractSearchCriteriaFromState = (state) => {
|
|
1122
1232
|
const timeSelectionEnabled = isDateRangeTimeSelectionEnabled(state.criteria, state.config);
|
|
@@ -1156,6 +1266,12 @@ const extractSearchCriteriaFromState = (state) => {
|
|
|
1156
1266
|
markerStatus: extractMarkerStatus(state.markerStatus),
|
|
1157
1267
|
processorLogEntryType: extractProcessorLogEntryType(state.processorLogEntryType),
|
|
1158
1268
|
errorCode: extractErrorCode(state.errorCode),
|
|
1269
|
+
scope: state.scope,
|
|
1270
|
+
transactionIds: state.transactionIds,
|
|
1271
|
+
datesType: state.datesType,
|
|
1272
|
+
recurrentFilter: state.recurrentFilter,
|
|
1273
|
+
timeZoneOffsetHours: state.timeZoneOffsetHours,
|
|
1274
|
+
csvCharset: state.csvCharset,
|
|
1159
1275
|
};
|
|
1160
1276
|
};
|
|
1161
1277
|
const getTemplate = (templateName, store) => ({
|
|
@@ -1188,6 +1304,12 @@ const getTemplate = (templateName, store) => ({
|
|
|
1188
1304
|
markerStatus: store.markerStatus,
|
|
1189
1305
|
processorLogEntryType: store.processorLogEntryType,
|
|
1190
1306
|
errorCode: store.errorCode,
|
|
1307
|
+
scope: store.scope,
|
|
1308
|
+
transactionIds: store.transactionIds,
|
|
1309
|
+
datesType: store.datesType,
|
|
1310
|
+
recurrentFilter: store.recurrentFilter,
|
|
1311
|
+
timeZoneOffsetHours: store.timeZoneOffsetHours,
|
|
1312
|
+
csvCharset: store.csvCharset,
|
|
1191
1313
|
},
|
|
1192
1314
|
});
|
|
1193
1315
|
const calculateNonExactDates = (dateRangeSpec, timeZone = dateRangeTimeZone_1.SEARCH_UI_NON_EXACT_DEFAULT_TIME_ZONE) => {
|