pne-ui 1.0.68 → 1.0.70

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 (55) hide show
  1. package/cjs/common/paynet/schema.d.ts +34 -0
  2. package/cjs/common/paynet/schema.js +11 -1
  3. package/cjs/common/paynet/schema.js.map +1 -1
  4. package/cjs/common/paynet/type.d.ts +9 -1
  5. package/cjs/common/paynet/type.js +9 -1
  6. package/cjs/common/paynet/type.js.map +1 -1
  7. package/cjs/component/non-abstract-entity-selector/AbstraactEntitySelector.d.ts +28 -0
  8. package/cjs/component/non-abstract-entity-selector/AbstraactEntitySelector.js +381 -0
  9. package/cjs/component/non-abstract-entity-selector/AbstraactEntitySelector.js.map +1 -0
  10. package/cjs/component/non-abstract-entity-selector/AbstractEntitySelectModal.d.ts +19 -0
  11. package/cjs/component/non-abstract-entity-selector/AbstractEntitySelectModal.js +60 -0
  12. package/cjs/component/non-abstract-entity-selector/AbstractEntitySelectModal.js.map +1 -0
  13. package/cjs/component/non-abstract-entity-selector/ItemEntitySelector.d.ts +11 -0
  14. package/cjs/component/non-abstract-entity-selector/ItemEntitySelector.js +11 -0
  15. package/cjs/component/non-abstract-entity-selector/ItemEntitySelector.js.map +1 -0
  16. package/cjs/component/non-abstract-entity-selector/styled.d.ts +37 -0
  17. package/cjs/component/non-abstract-entity-selector/styled.js +140 -0
  18. package/cjs/component/non-abstract-entity-selector/styled.js.map +1 -0
  19. package/cjs/component/search-ui/filters/SearchUIFilters.js +72 -2
  20. package/cjs/component/search-ui/filters/SearchUIFilters.js.map +1 -1
  21. package/cjs/component/search-ui/filters/component/criterion/GroupingCriterion.js +5 -2
  22. package/cjs/component/search-ui/filters/component/criterion/GroupingCriterion.js.map +1 -1
  23. package/cjs/component/search-ui/filters/state/actions.js +0 -66
  24. package/cjs/component/search-ui/filters/state/actions.js.map +1 -1
  25. package/cjs/index.d.ts +3 -1
  26. package/cjs/index.js +5 -1
  27. package/cjs/index.js.map +1 -1
  28. package/esm/common/paynet/schema.d.ts +34 -0
  29. package/esm/common/paynet/schema.js +10 -0
  30. package/esm/common/paynet/schema.js.map +1 -1
  31. package/esm/common/paynet/type.d.ts +9 -1
  32. package/esm/common/paynet/type.js +7 -0
  33. package/esm/common/paynet/type.js.map +1 -1
  34. package/esm/component/non-abstract-entity-selector/AbstraactEntitySelector.d.ts +28 -0
  35. package/esm/component/non-abstract-entity-selector/AbstraactEntitySelector.js +376 -0
  36. package/esm/component/non-abstract-entity-selector/AbstraactEntitySelector.js.map +1 -0
  37. package/esm/component/non-abstract-entity-selector/AbstractEntitySelectModal.d.ts +19 -0
  38. package/esm/component/non-abstract-entity-selector/AbstractEntitySelectModal.js +57 -0
  39. package/esm/component/non-abstract-entity-selector/AbstractEntitySelectModal.js.map +1 -0
  40. package/esm/component/non-abstract-entity-selector/ItemEntitySelector.d.ts +11 -0
  41. package/esm/component/non-abstract-entity-selector/ItemEntitySelector.js +8 -0
  42. package/esm/component/non-abstract-entity-selector/ItemEntitySelector.js.map +1 -0
  43. package/esm/component/non-abstract-entity-selector/styled.d.ts +37 -0
  44. package/esm/component/non-abstract-entity-selector/styled.js +137 -0
  45. package/esm/component/non-abstract-entity-selector/styled.js.map +1 -0
  46. package/esm/component/search-ui/filters/SearchUIFilters.js +72 -2
  47. package/esm/component/search-ui/filters/SearchUIFilters.js.map +1 -1
  48. package/esm/component/search-ui/filters/component/criterion/GroupingCriterion.js +6 -3
  49. package/esm/component/search-ui/filters/component/criterion/GroupingCriterion.js.map +1 -1
  50. package/esm/component/search-ui/filters/state/actions.js +0 -66
  51. package/esm/component/search-ui/filters/state/actions.js.map +1 -1
  52. package/esm/index.d.ts +3 -1
  53. package/esm/index.js +3 -1
  54. package/esm/index.js.map +1 -1
  55. package/package.json +5 -1
@@ -22,3 +22,37 @@ export declare const AutoCompleteChoiceSchema: z.ZodObject<{
22
22
  choiceId: number;
23
23
  description?: string | undefined;
24
24
  }>;
25
+ /**
26
+ * For states, there is only one iso code in DB table
27
+ */
28
+ export declare const StateSchema: z.ZodObject<z.objectUtil.extendShape<{
29
+ id: z.ZodNumber;
30
+ displayName: z.ZodString;
31
+ }, {
32
+ theCode: z.ZodString;
33
+ }>, "strip", z.ZodTypeAny, {
34
+ id: number;
35
+ displayName: string;
36
+ theCode: string;
37
+ }, {
38
+ id: number;
39
+ displayName: string;
40
+ theCode: string;
41
+ }>;
42
+ export declare const CountrySchema: z.ZodObject<z.objectUtil.extendShape<{
43
+ id: z.ZodNumber;
44
+ displayName: z.ZodString;
45
+ }, {
46
+ theCode: z.ZodString;
47
+ theCode3: z.ZodString;
48
+ }>, "strip", z.ZodTypeAny, {
49
+ id: number;
50
+ displayName: string;
51
+ theCode: string;
52
+ theCode3: string;
53
+ }, {
54
+ id: number;
55
+ displayName: string;
56
+ theCode: string;
57
+ theCode3: string;
58
+ }>;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AutoCompleteChoiceSchema = exports.AbstractEntitySchema = void 0;
3
+ exports.CountrySchema = exports.StateSchema = exports.AutoCompleteChoiceSchema = exports.AbstractEntitySchema = void 0;
4
4
  const zod_1 = require("zod");
5
5
  exports.AbstractEntitySchema = zod_1.z.object({
6
6
  id: zod_1.z.number(),
@@ -11,4 +11,14 @@ exports.AutoCompleteChoiceSchema = zod_1.z.object({
11
11
  displayName: zod_1.z.string(),
12
12
  description: zod_1.z.string().optional(),
13
13
  });
14
+ /**
15
+ * For states, there is only one iso code in DB table
16
+ */
17
+ exports.StateSchema = exports.AbstractEntitySchema.extend({
18
+ theCode: zod_1.z.string(),
19
+ });
20
+ exports.CountrySchema = exports.AbstractEntitySchema.extend({
21
+ theCode: zod_1.z.string(),
22
+ theCode3: zod_1.z.string(),
23
+ });
14
24
  //# sourceMappingURL=schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/common/paynet/schema.ts"],"names":[],"mappings":";;;AAAA,6BAAsB;AAET,QAAA,oBAAoB,GAAG,OAAC,CAAC,MAAM,CAAC;IACzC,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE;IACd,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE;CAC1B,CAAC,CAAA;AAEW,QAAA,wBAAwB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC7C,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE;IACpB,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE;IACvB,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACrC,CAAC,CAAA"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/common/paynet/schema.ts"],"names":[],"mappings":";;;AAAA,6BAAsB;AAET,QAAA,oBAAoB,GAAG,OAAC,CAAC,MAAM,CAAC;IACzC,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE;IACd,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE;CAC1B,CAAC,CAAA;AAEW,QAAA,wBAAwB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC7C,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE;IACpB,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE;IACvB,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACrC,CAAC,CAAA;AAEF;;GAEG;AACU,QAAA,WAAW,GAAG,4BAAoB,CAAC,MAAM,CAAC;IACnD,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;CACtB,CAAC,CAAA;AAEW,QAAA,aAAa,GAAG,4BAAoB,CAAC,MAAM,CAAC;IACrD,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;IACnB,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE;CACvB,CAAC,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import { z } from 'zod';
2
- import { AbstractEntitySchema, AutoCompleteChoiceSchema } from "./schema";
2
+ import { AbstractEntitySchema, AutoCompleteChoiceSchema, CountrySchema, StateSchema } from "./schema";
3
3
  import { Order } from "../pne";
4
4
  export type AbstractEntity = z.infer<typeof AbstractEntitySchema>;
5
5
  export declare const isAbstractEntity: (value: unknown) => value is {
@@ -33,3 +33,11 @@ export type AllableCollection<T> = {
33
33
  };
34
34
  export type AbstractEntityAllableCollection = AllableCollection<AbstractEntity>;
35
35
  export type AutoCompleteChoiceAllableCollection = AllableCollection<AutoCompleteChoice>;
36
+ export type Country = z.infer<typeof CountrySchema>;
37
+ export type State = z.infer<typeof StateSchema>;
38
+ export interface IMappedAbstractEntity {
39
+ id: number;
40
+ name: string;
41
+ mappingStatus?: 'Mapped' | 'Unmapped';
42
+ }
43
+ export declare const isMappedAbstractEntity: (value: unknown) => value is IMappedAbstractEntity;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.assertIAutoCompleteChoice = exports.isIAutoCompleteChoice = exports.assertAbstractEntity = exports.isAbstractEntity = void 0;
3
+ exports.isMappedAbstractEntity = exports.assertIAutoCompleteChoice = exports.isIAutoCompleteChoice = exports.assertAbstractEntity = exports.isAbstractEntity = void 0;
4
4
  const pne_1 = require("../pne");
5
5
  const isAbstractEntity = (value) => {
6
6
  if (!(0, pne_1.isObject)(value)) {
@@ -42,4 +42,12 @@ function assertIAutoCompleteChoice(value) {
42
42
  }
43
43
  }
44
44
  exports.assertIAutoCompleteChoice = assertIAutoCompleteChoice;
45
+ const isMappedAbstractEntity = (value) => {
46
+ if (!(0, pne_1.isObject)(value)) {
47
+ return false;
48
+ }
49
+ return 'id' in value && typeof value.id === 'number' &&
50
+ 'name' in value && typeof value.name === 'string';
51
+ };
52
+ exports.isMappedAbstractEntity = isMappedAbstractEntity;
45
53
  //# sourceMappingURL=type.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"type.js","sourceRoot":"","sources":["../../../src/common/paynet/type.ts"],"names":[],"mappings":";;;AAEA,gCAAuC;AAIhC,MAAM,gBAAgB,GAAG,CAAC,KAAc,EAA2B,EAAE;IACxE,IAAI,CAAC,IAAA,cAAQ,EAAC,KAAK,CAAC,EAAE,CAAC;QACnB,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,OAAO,IAAI,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ;QAChD,aAAa,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ,CAAC;AACxE,CAAC,CAAA;AAPY,QAAA,gBAAgB,oBAO5B;AAED,SAAgB,oBAAoB,CAAC,KAAc;IAC/C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,iBAAiB,GAAG,KAAK,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,CAAC,CAAC,aAAa,IAAI,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;QACrE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACnD,CAAC;AACL,CAAC;AAZD,oDAYC;AAIM,MAAM,qBAAqB,GAAG,CAAC,KAAc,EAA+B,EAAE;IACjF,IAAI,CAAC,IAAA,cAAQ,EAAC,KAAK,CAAC,EAAE,CAAC;QACnB,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,OAAO,UAAU,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ;QAC5D,aAAa,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ,CAAC;AACxE,CAAC,CAAA;AAPY,QAAA,qBAAqB,yBAOjC;AAED,SAAgB,yBAAyB,CAAC,KAAc;IACpD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,iBAAiB,GAAG,KAAK,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,CAAC,CAAC,UAAU,IAAI,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC/D,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,CAAC,CAAC,aAAa,IAAI,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;QACrE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACnD,CAAC;AACL,CAAC;AAZD,8DAYC"}
1
+ {"version":3,"file":"type.js","sourceRoot":"","sources":["../../../src/common/paynet/type.ts"],"names":[],"mappings":";;;AAEA,gCAAuC;AAIhC,MAAM,gBAAgB,GAAG,CAAC,KAAc,EAA2B,EAAE;IACxE,IAAI,CAAC,IAAA,cAAQ,EAAC,KAAK,CAAC,EAAE,CAAC;QACnB,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,OAAO,IAAI,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ;QAChD,aAAa,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ,CAAC;AACxE,CAAC,CAAA;AAPY,QAAA,gBAAgB,oBAO5B;AAED,SAAgB,oBAAoB,CAAC,KAAc;IAC/C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,iBAAiB,GAAG,KAAK,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,CAAC,CAAC,aAAa,IAAI,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;QACrE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACnD,CAAC;AACL,CAAC;AAZD,oDAYC;AAIM,MAAM,qBAAqB,GAAG,CAAC,KAAc,EAA+B,EAAE;IACjF,IAAI,CAAC,IAAA,cAAQ,EAAC,KAAK,CAAC,EAAE,CAAC;QACnB,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,OAAO,UAAU,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ;QAC5D,aAAa,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ,CAAC;AACxE,CAAC,CAAA;AAPY,QAAA,qBAAqB,yBAOjC;AAED,SAAgB,yBAAyB,CAAC,KAAc;IACpD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,iBAAiB,GAAG,KAAK,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,CAAC,CAAC,UAAU,IAAI,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC/D,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,CAAC,CAAC,aAAa,IAAI,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;QACrE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACnD,CAAC;AACL,CAAC;AAZD,8DAYC;AAqCM,MAAM,sBAAsB,GAAG,CAAC,KAAc,EAAkC,EAAE;IACrF,IAAI,CAAC,IAAA,cAAQ,EAAC,KAAK,CAAC,EAAE,CAAC;QACnB,OAAO,KAAK,CAAA;IAChB,CAAC;IAED,OAAO,IAAI,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ;QAChD,MAAM,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAA;AACzD,CAAC,CAAA;AAPY,QAAA,sBAAsB,0BAOlC"}
@@ -0,0 +1,28 @@
1
+ import React from 'react';
2
+ import { TFunction } from 'react-i18next';
3
+ import { AbstractEntity, Country, IMappedAbstractEntity } from '../../common';
4
+ export type ProcessorPaymentApparatus = {
5
+ id: number;
6
+ name: string;
7
+ mapped: boolean;
8
+ };
9
+ export declare const isProcessorPaymentApparatus: (value: unknown) => value is ProcessorPaymentApparatus;
10
+ export interface IAbstractEntityOptions<T> {
11
+ reset?: boolean;
12
+ list: T[];
13
+ selected: T[];
14
+ height?: string;
15
+ disableMoving?: 'ADDED' | 'AVAILABLE' | undefined;
16
+ optionRenderer?: TFunction;
17
+ textRepresentation?: 'ID' | 'NAME' | undefined;
18
+ textRepresentationValue?: string;
19
+ onChange: (mappedList: T[], unMappedList: T[]) => void;
20
+ actionBlock?: React.ReactNode;
21
+ }
22
+ export type AbstractEntitySelectorProp = string | IMappedAbstractEntity | AbstractEntity | Country | ProcessorPaymentApparatus;
23
+ export interface IMappedUnmappedList<T extends AbstractEntitySelectorProp> {
24
+ mapped: T[];
25
+ unmapped: T[];
26
+ }
27
+ declare const AbstractEntitySelector: <T extends AbstractEntitySelectorProp>(props: React.PropsWithChildren<IAbstractEntityOptions<T>>) => React.JSX.Element;
28
+ export default AbstractEntitySelector;
@@ -0,0 +1,381 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isProcessorPaymentApparatus = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const react_1 = tslib_1.__importStar(require("react"));
6
+ const dnd_1 = require("@hello-pangea/dnd");
7
+ const material_1 = require("@mui/material");
8
+ const react_virtuoso_1 = require("react-virtuoso");
9
+ const react_i18next_1 = require("react-i18next");
10
+ const styled_1 = require("./styled");
11
+ const ItemEntitySelector_1 = tslib_1.__importDefault(require("./ItemEntitySelector"));
12
+ const common_1 = require("../../common");
13
+ const PneTextField_1 = tslib_1.__importDefault(require("../PneTextField"));
14
+ const PneButton_1 = tslib_1.__importDefault(require("../PneButton"));
15
+ //TODO must be removed
16
+ const isProcessorPaymentApparatus = (value) => {
17
+ if (!(0, common_1.isObject)(value)) {
18
+ return false;
19
+ }
20
+ return 'id' in value && typeof value.id === 'number' &&
21
+ 'name' in value && typeof value.name === 'string';
22
+ };
23
+ exports.isProcessorPaymentApparatus = isProcessorPaymentApparatus;
24
+ const getListEntity = (item, index) => {
25
+ if (typeof item === 'string') {
26
+ return {
27
+ id: index,
28
+ displayName: item
29
+ };
30
+ }
31
+ (0, common_1.assertObject)(item);
32
+ if ((0, common_1.isMappedAbstractEntity)(item) || (0, exports.isProcessorPaymentApparatus)(item)) {
33
+ return {
34
+ displayName: item.name,
35
+ ...item
36
+ };
37
+ }
38
+ else if ((0, common_1.isAbstractEntity)(item)) {
39
+ return item;
40
+ }
41
+ (0, common_1.exhaustiveCheck)(item);
42
+ throw new TypeError('Incompatible types of option:\n'
43
+ + JSON.stringify(item, null, 4));
44
+ };
45
+ const checkInitialType = (item) => {
46
+ if (typeof item === 'string') {
47
+ return 'string';
48
+ }
49
+ else if ((0, common_1.isMappedAbstractEntity)(item) || (0, exports.isProcessorPaymentApparatus)(item)) {
50
+ return 'mappedEntity';
51
+ }
52
+ else if ((0, common_1.isAbstractEntity)(item)) {
53
+ return 'abstractEntity';
54
+ }
55
+ return undefined;
56
+ };
57
+ const AbstractEntitySelector = (props) => {
58
+ const { reset, list, selected, height, optionRenderer, disableMoving, textRepresentation, textRepresentationValue = '', onChange, actionBlock, } = props;
59
+ const { t } = (0, react_i18next_1.useTranslation)();
60
+ const [searchValue, setSearchValue] = (0, react_1.useState)('');
61
+ const [availableList, setAvailableList] = (0, react_1.useState)([]);
62
+ const [addedList, setAddedList] = (0, react_1.useState)([]);
63
+ const [textValue, setTextValue] = (0, react_1.useState)(textRepresentationValue);
64
+ const [initialType, setInitialType] = (0, react_1.useState)(undefined);
65
+ (0, react_1.useEffect)(() => {
66
+ let availArray = [];
67
+ const selectedArray = selected.map((item, index) => {
68
+ return getListEntity(item, list.length + index + 1);
69
+ });
70
+ const type = list.length > 0 ? checkInitialType(list[0]) : checkInitialType(selected[0]);
71
+ setInitialType(type);
72
+ if (list.length > 0) {
73
+ if (type === 'string') {
74
+ const uniqArray = list.filter(item => selected.indexOf(item) == -1);
75
+ availArray = uniqArray.map((item, index) => getListEntity(item, index + 1));
76
+ }
77
+ else {
78
+ availArray = list.map((item, index) => getListEntity(item, index + 1));
79
+ }
80
+ }
81
+ setAvailableList(availArray);
82
+ setAddedList(selectedArray);
83
+ if (textRepresentation) {
84
+ const array = selectedArray.map(item => {
85
+ return textRepresentation === 'ID' ? item.id : item.displayName;
86
+ }).toString();
87
+ setTextValue(array);
88
+ }
89
+ }, [reset]);
90
+ const onListChange = (item, type) => {
91
+ let tempAddedList;
92
+ switch (type) {
93
+ case 'ADD':
94
+ tempAddedList = addedList.filter(i => i.id !== item.id);
95
+ setAvailableList(prevState => {
96
+ return [...prevState, item];
97
+ });
98
+ setAddedList(prevState => {
99
+ return prevState.filter(i => i.id !== item.id);
100
+ });
101
+ if (textRepresentation) {
102
+ const tempArray = tempAddedList.map(item => {
103
+ if (textRepresentation === 'ID') {
104
+ return item.id;
105
+ }
106
+ else {
107
+ return item.displayName;
108
+ }
109
+ });
110
+ setTextValue(tempArray.toString());
111
+ }
112
+ break;
113
+ case 'AVAILABLE':
114
+ tempAddedList = [...addedList, item];
115
+ setAvailableList(prevState => {
116
+ return prevState.filter(i => i.id !== item.id);
117
+ });
118
+ setAddedList(prevState => {
119
+ return [...prevState, item];
120
+ });
121
+ if (textRepresentation) {
122
+ const tempArray = tempAddedList.map(item => {
123
+ if (textRepresentation === 'ID') {
124
+ return item.id;
125
+ }
126
+ else {
127
+ return item.displayName;
128
+ }
129
+ });
130
+ setTextValue(tempArray.toString());
131
+ }
132
+ break;
133
+ default:
134
+ throw new Error('Cannot be');
135
+ }
136
+ };
137
+ const onDragEnd = (result) => {
138
+ const { destination, source } = result;
139
+ if (!destination) {
140
+ return;
141
+ }
142
+ if (destination.index === source.index && destination.droppableId === source.droppableId) {
143
+ return;
144
+ }
145
+ if (destination.droppableId === source.droppableId) {
146
+ let tempAdded = [];
147
+ switch (destination.droppableId) {
148
+ case 'availableList':
149
+ setAvailableList((prev) => {
150
+ const temp = [...prev];
151
+ const [removed] = temp.splice(source.index, 1);
152
+ temp.splice(destination.index, 0, removed);
153
+ return temp;
154
+ });
155
+ break;
156
+ case 'addedList':
157
+ setAddedList((prev) => {
158
+ const temp = [...prev];
159
+ const [removed] = temp.splice(source.index, 1);
160
+ temp.splice(destination.index, 0, removed);
161
+ tempAdded = temp;
162
+ return temp;
163
+ });
164
+ if (textRepresentation) {
165
+ const tempArray = tempAdded.map(item => {
166
+ if (textRepresentation === 'ID') {
167
+ return item.id;
168
+ }
169
+ else {
170
+ return item.displayName;
171
+ }
172
+ });
173
+ setTextValue(tempArray.toString());
174
+ }
175
+ break;
176
+ default:
177
+ return;
178
+ }
179
+ }
180
+ if (destination.droppableId !== result.source.droppableId) {
181
+ if (destination.droppableId === 'availableList') {
182
+ const sourceList = [...addedList];
183
+ const destList = [...availableList];
184
+ const [removed] = sourceList.splice(result.source.index, 1);
185
+ destList.splice(destination.index, 0, removed);
186
+ setAvailableList(destList);
187
+ setAddedList(sourceList);
188
+ if (textRepresentation) {
189
+ const tempArray = sourceList.map(item => {
190
+ if (textRepresentation === 'ID') {
191
+ return item.id;
192
+ }
193
+ else {
194
+ return item.displayName;
195
+ }
196
+ });
197
+ setTextValue(tempArray.toString());
198
+ }
199
+ }
200
+ else {
201
+ const sourceList = [...availableList];
202
+ const destList = [...addedList];
203
+ const [removed] = sourceList.splice(result.source.index, 1);
204
+ destList.splice(destination.index, 0, removed);
205
+ setAvailableList(sourceList);
206
+ setAddedList(destList);
207
+ if (textRepresentation) {
208
+ const tempArray = destList.map(item => {
209
+ if (textRepresentation === 'ID') {
210
+ return item.id;
211
+ }
212
+ else {
213
+ return item.displayName;
214
+ }
215
+ });
216
+ setTextValue(tempArray.toString());
217
+ }
218
+ }
219
+ }
220
+ onChangeParentDate();
221
+ };
222
+ const handleSelectAll = (type) => {
223
+ if (type === 'AVAILABLE') {
224
+ setAddedList(prevState => {
225
+ return [...prevState, ...availableList];
226
+ });
227
+ if (textRepresentation) {
228
+ const array = [...addedList, ...availableList].map(item => {
229
+ return textRepresentation === 'ID' ? item.id : item.displayName;
230
+ }).toString();
231
+ setTextValue(array);
232
+ }
233
+ setAvailableList([]);
234
+ }
235
+ else {
236
+ setAvailableList(prevState => {
237
+ return [...prevState, ...addedList];
238
+ });
239
+ if (textRepresentation) {
240
+ setTextValue('');
241
+ }
242
+ setAddedList([]);
243
+ }
244
+ };
245
+ const handleChangeTextareaValue = (value) => {
246
+ if (textRepresentation === 'ID') {
247
+ const regex = /[\d+,*]$/;
248
+ if (value !== '' && !regex.test(value)) {
249
+ return;
250
+ }
251
+ }
252
+ setTextValue(value);
253
+ const dictionary = [...addedList, ...availableList];
254
+ if (value !== '') {
255
+ if (textRepresentation === 'ID') {
256
+ const tempArray = value.split(',');
257
+ const newAddedList = dictionary.filter(addedItem => {
258
+ return tempArray.includes(String(addedItem.id));
259
+ });
260
+ const newAvailableList = dictionary.filter(addedItem => {
261
+ return !tempArray.includes(String(addedItem.id));
262
+ });
263
+ setAddedList(newAddedList);
264
+ setAvailableList(newAvailableList);
265
+ }
266
+ else {
267
+ const tempArray = value.split(',');
268
+ const newAddedList = dictionary.filter(addedItem => {
269
+ return tempArray.includes(String(addedItem.displayName));
270
+ });
271
+ const newAvailableList = dictionary.filter(addedItem => {
272
+ return !tempArray.includes(String(addedItem.displayName));
273
+ });
274
+ setAddedList(newAddedList);
275
+ setAvailableList(newAvailableList);
276
+ }
277
+ }
278
+ else {
279
+ setAvailableList(dictionary);
280
+ setAddedList([]);
281
+ }
282
+ };
283
+ const renderOption = (option) => {
284
+ return optionRenderer ? optionRenderer(option) : option;
285
+ };
286
+ const onChangeParentDate = () => {
287
+ let mapped = [];
288
+ let unmapped = [];
289
+ if (initialType !== undefined) {
290
+ switch (initialType) {
291
+ case 'string':
292
+ mapped = addedList.map(item => item.displayName);
293
+ unmapped = availableList.map(item => item.displayName);
294
+ break;
295
+ case 'mappedEntity':
296
+ mapped = addedList.map(item => ({
297
+ ...item,
298
+ name: item.displayName
299
+ }));
300
+ unmapped = availableList.map(item => ({
301
+ ...item,
302
+ name: item.displayName
303
+ }));
304
+ break;
305
+ case 'abstractEntity':
306
+ mapped = addedList;
307
+ unmapped = availableList;
308
+ break;
309
+ default:
310
+ throw new Error('please check the types of lists');
311
+ }
312
+ }
313
+ onChange(mapped, unmapped);
314
+ };
315
+ (0, react_1.useEffect)(() => {
316
+ if (initialType) {
317
+ onChangeParentDate();
318
+ }
319
+ }, [addedList, availableList]);
320
+ const HeightPreservingItem = ({ children, ...props }) => {
321
+ return (react_1.default.createElement("div", { ...props, style: { minHeight: '32px' } }, children));
322
+ };
323
+ return (react_1.default.createElement(react_1.default.Fragment, null,
324
+ react_1.default.createElement(material_1.Box, { sx: { marginBottom: '20px' } },
325
+ react_1.default.createElement(PneTextField_1.default, { variant: 'outlined', sx: { width: '100%' }, onChange: (e) => {
326
+ setSearchValue(e.target.value);
327
+ }, value: searchValue, label: t('settings.gate.chainStrategySearch') })),
328
+ react_1.default.createElement(dnd_1.DragDropContext, { onDragEnd: onDragEnd },
329
+ react_1.default.createElement(styled_1.Container, { height: height },
330
+ react_1.default.createElement(styled_1.ColumnWrapper, null,
331
+ react_1.default.createElement(styled_1.AddedListWrapper, null,
332
+ react_1.default.createElement(styled_1.HeaderColumnWrapper, null,
333
+ react_1.default.createElement(styled_1.HeaderColumn, null, t('abstractSelector.available')),
334
+ disableMoving !== 'AVAILABLE' && (react_1.default.createElement(PneButton_1.default, { variant: 'text', onClick: () => {
335
+ handleSelectAll('AVAILABLE');
336
+ }, sx: { marginLeft: 'auto' } }, t('abstractSelector.select.all')))),
337
+ react_1.default.createElement(dnd_1.Droppable, { droppableId: 'availableList', mode: "virtual", renderClone: (provided, _snapshot, rubric) => {
338
+ return (react_1.default.createElement(ItemEntitySelector_1.default, { handleClick: () => {
339
+ if (disableMoving !== 'AVAILABLE') {
340
+ onListChange(availableList[rubric.source.index], 'AVAILABLE');
341
+ }
342
+ }, provided: provided, item: availableList[rubric.source.index], name: renderOption(availableList[rubric.source.index].displayName) }));
343
+ } }, (provided) => (react_1.default.createElement(react_virtuoso_1.Virtuoso, { components: {
344
+ Item: HeightPreservingItem,
345
+ }, scrollerRef: (value) => provided.innerRef(value), data: availableList.filter(item => renderOption(item.displayName).toLowerCase().includes(searchValue.toLowerCase())), itemContent: (index, item) => {
346
+ return (react_1.default.createElement(dnd_1.Draggable, { key: item.id, draggableId: item.id.toString(), index: index, isDragDisabled: disableMoving === 'AVAILABLE' }, (provided) => (react_1.default.createElement(ItemEntitySelector_1.default, { handleClick: () => {
347
+ if (disableMoving !== 'AVAILABLE') {
348
+ onListChange(item, 'AVAILABLE');
349
+ }
350
+ }, provided: provided, item: item, name: renderOption(item.displayName) }))));
351
+ } }, provided.placeholder))))),
352
+ react_1.default.createElement(styled_1.ColumnWrapper, null,
353
+ react_1.default.createElement(styled_1.AddedListWrapper, null,
354
+ react_1.default.createElement(styled_1.HeaderColumnWrapper, null,
355
+ react_1.default.createElement(styled_1.HeaderColumn, null, t('abstractSelector.added')),
356
+ disableMoving !== 'ADDED' && (react_1.default.createElement(PneButton_1.default, { variant: 'text', onClick: () => {
357
+ handleSelectAll('ADDED');
358
+ }, sx: { marginLeft: 'auto' } }, t('abstractSelector.select.all')))),
359
+ react_1.default.createElement(dnd_1.Droppable, { droppableId: 'addedList', mode: "virtual", renderClone: (provided, _snapshot, rubric) => {
360
+ return (react_1.default.createElement(ItemEntitySelector_1.default, { handleClick: () => {
361
+ if (disableMoving !== 'ADDED') {
362
+ onListChange(addedList[rubric.source.index], 'ADD');
363
+ }
364
+ }, provided: provided, item: addedList[rubric.source.index], name: renderOption(addedList[rubric.source.index].displayName) }));
365
+ } }, (provided) => (react_1.default.createElement(react_virtuoso_1.Virtuoso, { components: {
366
+ Item: HeightPreservingItem,
367
+ }, scrollerRef: (value) => provided.innerRef(value), data: addedList.filter(item => renderOption(item.displayName).toLowerCase().includes(searchValue.toLowerCase())), itemContent: (index, item) => {
368
+ return (react_1.default.createElement(dnd_1.Draggable, { key: item.id, draggableId: item.id.toString(), index: index, isDragDisabled: disableMoving === 'ADDED' }, (provided) => (react_1.default.createElement(ItemEntitySelector_1.default, { handleClick: () => {
369
+ if (disableMoving !== 'ADDED') {
370
+ onListChange(item, 'ADD');
371
+ }
372
+ }, provided: provided, item: item, name: renderOption(item.displayName) }))));
373
+ } }, provided.placeholder))))))),
374
+ textRepresentation && (react_1.default.createElement(material_1.Stack, { sx: { marginTop: '38px' } },
375
+ react_1.default.createElement(PneTextField_1.default, { value: textValue, onChange: (event) => {
376
+ handleChangeTextareaValue(event.target.value);
377
+ }, multiline: true, fullWidth: true, sx: { mt: '16px' }, minRows: 3 }))),
378
+ actionBlock ? actionBlock : null));
379
+ };
380
+ exports.default = AbstractEntitySelector;
381
+ //# sourceMappingURL=AbstraactEntitySelector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AbstraactEntitySelector.js","sourceRoot":"","sources":["../../../src/component/non-abstract-entity-selector/AbstraactEntitySelector.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import React from 'react';
2
+ import { TFunction } from 'react-i18next';
3
+ import { AbstractEntitySelectorProp, IMappedUnmappedList } from './AbstraactEntitySelector';
4
+ interface IProps<T extends AbstractEntitySelectorProp> {
5
+ open: boolean;
6
+ onClose: () => void;
7
+ mappedList: T[];
8
+ unMappedList: T[];
9
+ handleSave: (list: IMappedUnmappedList<T>) => void;
10
+ title: string;
11
+ subTitle?: string;
12
+ loading?: boolean;
13
+ disableMoving?: 'ADDED' | 'AVAILABLE' | undefined;
14
+ optionRenderer?: TFunction;
15
+ textRepresentation?: 'ID' | 'NAME' | undefined;
16
+ textRepresentationValue?: string;
17
+ }
18
+ declare const AbstractEntitySelectModal: <T extends AbstractEntitySelectorProp>(props: IProps<T>) => React.JSX.Element;
19
+ export default AbstractEntitySelectModal;
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const react_1 = tslib_1.__importStar(require("react"));
5
+ const react_i18next_1 = require("react-i18next");
6
+ const material_1 = require("@mui/material");
7
+ const AbstraactEntitySelector_1 = tslib_1.__importDefault(require("./AbstraactEntitySelector"));
8
+ const PneButton_1 = tslib_1.__importDefault(require("../PneButton"));
9
+ const PneModal_1 = tslib_1.__importDefault(require("../PneModal"));
10
+ const AbstractEntitySelectModal = (props) => {
11
+ const { open, onClose, mappedList, unMappedList, handleSave, title, subTitle, loading = false, disableMoving, optionRenderer, textRepresentation, textRepresentationValue } = props;
12
+ const { t } = (0, react_i18next_1.useTranslation)();
13
+ const autoHeight = () => {
14
+ if (mappedList?.length > unMappedList?.length) {
15
+ return mappedList.length <= 10
16
+ ? mappedList.length == 1
17
+ ? `calc((${mappedList?.length + 1} * 32px) + 36px)`
18
+ : `calc((${mappedList?.length} * 32px) + 36px)`
19
+ : `calc(400px + 40px + 16px)`;
20
+ }
21
+ else {
22
+ return unMappedList?.length <= 10
23
+ ? unMappedList?.length == 1
24
+ ? `calc((${unMappedList?.length + 1} * 32px) + 36px)`
25
+ : `calc((${unMappedList?.length} * 32px) + 36px)`
26
+ : `calc(320px + 36px)`;
27
+ }
28
+ };
29
+ const [localUnMappedList, setLocalUnMappedList] = (0, react_1.useState)(unMappedList);
30
+ const [localMappedList, setLocalMappedList] = (0, react_1.useState)(mappedList);
31
+ const handleChange = (mappedList, unMappedList) => {
32
+ setLocalMappedList(mappedList);
33
+ setLocalUnMappedList(unMappedList);
34
+ };
35
+ const entitySelectorOptions = {
36
+ list: unMappedList,
37
+ selected: mappedList,
38
+ height: autoHeight(),
39
+ disableMoving,
40
+ optionRenderer,
41
+ textRepresentation,
42
+ textRepresentationValue,
43
+ onChange: handleChange,
44
+ actionBlock: (react_1.default.createElement(material_1.Stack, { sx: { marginTop: '16px' }, flexDirection: 'row', gap: 2 },
45
+ react_1.default.createElement(PneButton_1.default, { variant: 'outlined', onClick: () => onClose(), fullWidth: true }, t('cancel')),
46
+ react_1.default.createElement(PneButton_1.default, { variant: 'contained', onClick: () => {
47
+ handleSave({
48
+ mapped: localMappedList,
49
+ unmapped: localUnMappedList
50
+ });
51
+ }, fullWidth: true }, t('save')))),
52
+ };
53
+ return (react_1.default.createElement(PneModal_1.default, { open: open, onClose: onClose, title: title, subtitle: subTitle, containerSx: {
54
+ width: '700px',
55
+ height: 'auto'
56
+ } },
57
+ react_1.default.createElement(AbstraactEntitySelector_1.default, { ...entitySelectorOptions })));
58
+ };
59
+ exports.default = AbstractEntitySelectModal;
60
+ //# sourceMappingURL=AbstractEntitySelectModal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AbstractEntitySelectModal.js","sourceRoot":"","sources":["../../../src/component/non-abstract-entity-selector/AbstractEntitySelectModal.tsx"],"names":[],"mappings":"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"}