@j2inn/resolvable-ui-elements 2.0.0 → 2.1.1-beta.0

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 (109) hide show
  1. package/dist/index.d.ts +12 -12
  2. package/dist/index.js +39 -39
  3. package/dist/resolvableElements/Resolver.d.ts +47 -47
  4. package/dist/resolvableElements/Resolver.js +57 -57
  5. package/dist/resolvableElements/elements/ResolvableElement.d.ts +14 -14
  6. package/dist/resolvableElements/elements/ResolvableElement.js +29 -29
  7. package/dist/resolvableElements/elements/ResolvableValueElement.d.ts +16 -16
  8. package/dist/resolvableElements/elements/ResolvableValueElement.js +38 -38
  9. package/dist/resolvableElements/elements/UiElement.d.ts +31 -31
  10. package/dist/resolvableElements/elements/UiElement.js +56 -56
  11. package/dist/resolvableElements/elements/expr/ResolvableExprElement.d.ts +26 -26
  12. package/dist/resolvableElements/elements/expr/ResolvableExprElement.js +105 -105
  13. package/dist/resolvableElements/elements/expr/ResolvableExprElementMeta.d.ts +10 -10
  14. package/dist/resolvableElements/elements/expr/ResolvableExprElementMeta.js +14 -14
  15. package/dist/resolvableElements/elements/function/FunctionElement.d.ts +12 -12
  16. package/dist/resolvableElements/elements/function/FunctionElement.js +41 -41
  17. package/dist/resolvableElements/elements/function/FunctionElementMeta.d.ts +9 -9
  18. package/dist/resolvableElements/elements/function/FunctionElementMeta.js +14 -14
  19. package/dist/resolvableElements/elements/list/ListElementMeta.d.ts +12 -12
  20. package/dist/resolvableElements/elements/list/ListElementMeta.js +14 -14
  21. package/dist/resolvableElements/elements/list/ResolvableListElement.d.ts +16 -16
  22. package/dist/resolvableElements/elements/list/ResolvableListElement.js +102 -102
  23. package/dist/resolvableElements/elements/makeElement.d.ts +7 -7
  24. package/dist/resolvableElements/elements/makeElement.js +40 -40
  25. package/dist/resolvableElements/elements/section/ResolvableSectionElement.d.ts +24 -24
  26. package/dist/resolvableElements/elements/section/ResolvableSectionElement.js +133 -122
  27. package/dist/resolvableElements/elements/section/ResolvableSectionElement.js.map +1 -1
  28. package/dist/resolvableElements/elements/section/SectionElementMeta.d.ts +16 -16
  29. package/dist/resolvableElements/elements/section/SectionElementMeta.js +11 -11
  30. package/dist/resolvableElements/elements/section/resolveSection.d.ts +12 -12
  31. package/dist/resolvableElements/elements/section/resolveSection.js +50 -41
  32. package/dist/resolvableElements/elements/section/resolveSection.js.map +1 -1
  33. package/dist/resolvableElements/elements/tag/ResolvableTagElement.d.ts +18 -16
  34. package/dist/resolvableElements/elements/tag/ResolvableTagElement.js +113 -105
  35. package/dist/resolvableElements/elements/tag/ResolvableTagElement.js.map +1 -1
  36. package/dist/resolvableElements/elements/tag/ResolvableTagElementBatchProcessor.d.ts +25 -0
  37. package/dist/resolvableElements/elements/tag/ResolvableTagElementBatchProcessor.js +68 -0
  38. package/dist/resolvableElements/elements/tag/ResolvableTagElementBatchProcessor.js.map +1 -0
  39. package/dist/resolvableElements/elements/tag/TagElementMeta.d.ts +12 -12
  40. package/dist/resolvableElements/elements/tag/TagElementMeta.js +14 -14
  41. package/dist/resolvableElements/interfacesGeneration/generateInterfaces.d.ts +17 -17
  42. package/dist/resolvableElements/interfacesGeneration/generateInterfaces.js +134 -134
  43. package/dist/resolvableElements/interfacesGeneration/generateTypescriptInterfacesFile.d.ts +4 -4
  44. package/dist/resolvableElements/interfacesGeneration/generateTypescriptInterfacesFile.js +41 -41
  45. package/dist/resolvableElements/react/SectionChecker.d.ts +24 -24
  46. package/dist/resolvableElements/react/SectionChecker.jsx +27 -27
  47. package/dist/resolvableElements/react/useResolveSection.d.ts +21 -21
  48. package/dist/resolvableElements/react/useResolveSection.js +65 -65
  49. package/dist/resolvableElements/react/useResolverContext.d.ts +9 -9
  50. package/dist/resolvableElements/react/useResolverContext.jsx +64 -64
  51. package/dist/resolvableElements/resolveTemplatedExpression.d.ts +22 -22
  52. package/dist/resolvableElements/resolveTemplatedExpression.js +43 -43
  53. package/dist/useCurrentUser.d.ts +10 -10
  54. package/dist/useCurrentUser.jsx +48 -48
  55. package/dist_es/index.d.ts +12 -12
  56. package/dist_es/index.js +20 -20
  57. package/dist_es/resolvableElements/Resolver.d.ts +47 -47
  58. package/dist_es/resolvableElements/Resolver.js +53 -53
  59. package/dist_es/resolvableElements/elements/ResolvableElement.d.ts +14 -14
  60. package/dist_es/resolvableElements/elements/ResolvableElement.js +25 -25
  61. package/dist_es/resolvableElements/elements/ResolvableValueElement.d.ts +16 -16
  62. package/dist_es/resolvableElements/elements/ResolvableValueElement.js +32 -32
  63. package/dist_es/resolvableElements/elements/UiElement.d.ts +31 -31
  64. package/dist_es/resolvableElements/elements/UiElement.js +52 -52
  65. package/dist_es/resolvableElements/elements/expr/ResolvableExprElement.d.ts +26 -26
  66. package/dist_es/resolvableElements/elements/expr/ResolvableExprElement.js +101 -101
  67. package/dist_es/resolvableElements/elements/expr/ResolvableExprElementMeta.d.ts +10 -10
  68. package/dist_es/resolvableElements/elements/expr/ResolvableExprElementMeta.js +9 -9
  69. package/dist_es/resolvableElements/elements/function/FunctionElement.d.ts +12 -12
  70. package/dist_es/resolvableElements/elements/function/FunctionElement.js +36 -36
  71. package/dist_es/resolvableElements/elements/function/FunctionElementMeta.d.ts +9 -9
  72. package/dist_es/resolvableElements/elements/function/FunctionElementMeta.js +9 -9
  73. package/dist_es/resolvableElements/elements/list/ListElementMeta.d.ts +12 -12
  74. package/dist_es/resolvableElements/elements/list/ListElementMeta.js +9 -9
  75. package/dist_es/resolvableElements/elements/list/ResolvableListElement.d.ts +16 -16
  76. package/dist_es/resolvableElements/elements/list/ResolvableListElement.js +98 -98
  77. package/dist_es/resolvableElements/elements/makeElement.d.ts +7 -7
  78. package/dist_es/resolvableElements/elements/makeElement.js +36 -36
  79. package/dist_es/resolvableElements/elements/section/ResolvableSectionElement.d.ts +24 -24
  80. package/dist_es/resolvableElements/elements/section/ResolvableSectionElement.js +128 -117
  81. package/dist_es/resolvableElements/elements/section/ResolvableSectionElement.js.map +1 -1
  82. package/dist_es/resolvableElements/elements/section/SectionElementMeta.d.ts +16 -16
  83. package/dist_es/resolvableElements/elements/section/SectionElementMeta.js +6 -6
  84. package/dist_es/resolvableElements/elements/section/resolveSection.d.ts +12 -12
  85. package/dist_es/resolvableElements/elements/section/resolveSection.js +45 -36
  86. package/dist_es/resolvableElements/elements/section/resolveSection.js.map +1 -1
  87. package/dist_es/resolvableElements/elements/tag/ResolvableTagElement.d.ts +18 -16
  88. package/dist_es/resolvableElements/elements/tag/ResolvableTagElement.js +109 -101
  89. package/dist_es/resolvableElements/elements/tag/ResolvableTagElement.js.map +1 -1
  90. package/dist_es/resolvableElements/elements/tag/ResolvableTagElementBatchProcessor.d.ts +25 -0
  91. package/dist_es/resolvableElements/elements/tag/ResolvableTagElementBatchProcessor.js +64 -0
  92. package/dist_es/resolvableElements/elements/tag/ResolvableTagElementBatchProcessor.js.map +1 -0
  93. package/dist_es/resolvableElements/elements/tag/TagElementMeta.d.ts +12 -12
  94. package/dist_es/resolvableElements/elements/tag/TagElementMeta.js +9 -9
  95. package/dist_es/resolvableElements/interfacesGeneration/generateInterfaces.d.ts +17 -17
  96. package/dist_es/resolvableElements/interfacesGeneration/generateInterfaces.js +128 -128
  97. package/dist_es/resolvableElements/interfacesGeneration/generateTypescriptInterfacesFile.d.ts +4 -4
  98. package/dist_es/resolvableElements/interfacesGeneration/generateTypescriptInterfacesFile.js +15 -15
  99. package/dist_es/resolvableElements/react/SectionChecker.d.ts +24 -24
  100. package/dist_es/resolvableElements/react/SectionChecker.jsx +20 -20
  101. package/dist_es/resolvableElements/react/useResolveSection.d.ts +21 -21
  102. package/dist_es/resolvableElements/react/useResolveSection.js +61 -61
  103. package/dist_es/resolvableElements/react/useResolverContext.d.ts +9 -9
  104. package/dist_es/resolvableElements/react/useResolverContext.jsx +36 -36
  105. package/dist_es/resolvableElements/resolveTemplatedExpression.d.ts +22 -22
  106. package/dist_es/resolvableElements/resolveTemplatedExpression.js +38 -38
  107. package/dist_es/useCurrentUser.d.ts +10 -10
  108. package/dist_es/useCurrentUser.jsx +20 -20
  109. package/package.json +2 -2
@@ -1,99 +1,99 @@
1
- /*
2
- * Copyright (c) 2022, J2 Innovations. All Rights Reserved
3
- */
4
- import { HFilter } from 'haystack-core';
5
- import { DEFAULT_POLL_RATE_SECS } from 'haystack-nclient';
6
- import { replaceTemplateVariables, resolveTemplateExpression, } from '../../resolveTemplatedExpression';
7
- import { ResolvableValueElement } from '../ResolvableValueElement';
8
- import { UiElement, } from '../UiElement';
9
- /**
10
- * Resolves to a list of records and keeps them updated using a watch.
11
- */
12
- export class ResolvableListElement extends ResolvableValueElement {
13
- constructor(data) {
14
- super(data);
15
- }
16
- filter;
17
- watch;
18
- doInitialize = async (parameters) => {
19
- const { subscribe, entityBinding, parentBinding } = this
20
- ._meta;
21
- this.filter = resolveTemplateExpression(UiElement.joinFilters(entityBinding, parentBinding), parameters);
22
- if (!this.#isValidFilter(this.filter)) {
23
- throw Error('Invalid filter');
24
- }
25
- const grid = await this.resolver.read(this.filter);
26
- if (!this.#isValidReadGrid(grid)) {
27
- return;
28
- }
29
- this.#updateValue(grid);
30
- if (subscribe) {
31
- await this.#setupWatch(grid);
32
- }
33
- };
34
- doClose = async () => {
35
- return this.watch?.close();
36
- };
37
- getParameterList = () => {
38
- const { entityBinding, parentBinding } = this
39
- ._meta;
40
- const parameters = [];
41
- if (entityBinding) {
42
- replaceTemplateVariables(entityBinding, (_, match) => {
43
- parameters.push(match);
44
- return '';
45
- });
46
- }
47
- if (parentBinding) {
48
- replaceTemplateVariables(parentBinding, (_, match) => {
49
- parameters.push(match);
50
- return '';
51
- });
52
- }
53
- return parameters;
54
- };
55
- #isValidFilter = (filter) => {
56
- try {
57
- HFilter.parse(filter);
58
- }
59
- catch (e) {
60
- console.error('Invalid filter: \n', this.filter, e);
61
- return false;
62
- }
63
- return true;
64
- };
65
- #isValidReadGrid = (grid) => {
66
- if (grid.isError()) {
67
- console.error('Error grid result for query: \n', this.filter, grid.getError());
68
- }
69
- return true;
70
- };
71
- #setupWatch = async (grid) => {
72
- const { subscribePollRate, subscribe } = this
73
- ._meta;
74
- if (subscribe) {
75
- this.watch = await this.resolver.makeWatch(this.#getWatchDisplayName(), grid);
76
- const updateValue = () => this.#updateValue(this.watch?.grid);
77
- // Update with the value received when opening the watch
78
- updateValue();
79
- // Configure polling options
80
- this.watch.pollRate = subscribePollRate ?? DEFAULT_POLL_RATE_SECS;
81
- this.watch.changed({
82
- callback: updateValue,
83
- });
84
- }
85
- };
86
- #updateValue = (grid) => {
87
- const { orderBy } = this._meta;
88
- if (grid) {
89
- if (orderBy) {
90
- grid.sortBy(orderBy);
91
- }
92
- this.value = grid;
93
- }
94
- };
95
- #getWatchDisplayName = () => {
96
- return `ResolvableElement Watch for ${this.name ?? this.filter}`;
97
- };
98
- }
1
+ /*
2
+ * Copyright (c) 2022, J2 Innovations. All Rights Reserved
3
+ */
4
+ import { HFilter } from 'haystack-core';
5
+ import { DEFAULT_POLL_RATE_SECS } from 'haystack-nclient';
6
+ import { replaceTemplateVariables, resolveTemplateExpression, } from '../../resolveTemplatedExpression';
7
+ import { ResolvableValueElement } from '../ResolvableValueElement';
8
+ import { UiElement, } from '../UiElement';
9
+ /**
10
+ * Resolves to a list of records and keeps them updated using a watch.
11
+ */
12
+ export class ResolvableListElement extends ResolvableValueElement {
13
+ constructor(data) {
14
+ super(data);
15
+ }
16
+ filter;
17
+ watch;
18
+ doInitialize = async (parameters) => {
19
+ const { subscribe, entityBinding, parentBinding } = this
20
+ ._meta;
21
+ this.filter = resolveTemplateExpression(UiElement.joinFilters(entityBinding, parentBinding), parameters);
22
+ if (!this.#isValidFilter(this.filter)) {
23
+ throw Error('Invalid filter');
24
+ }
25
+ const grid = await this.resolver.read(this.filter);
26
+ if (!this.#isValidReadGrid(grid)) {
27
+ return;
28
+ }
29
+ this.#updateValue(grid);
30
+ if (subscribe) {
31
+ await this.#setupWatch(grid);
32
+ }
33
+ };
34
+ doClose = async () => {
35
+ return this.watch?.close();
36
+ };
37
+ getParameterList = () => {
38
+ const { entityBinding, parentBinding } = this
39
+ ._meta;
40
+ const parameters = [];
41
+ if (entityBinding) {
42
+ replaceTemplateVariables(entityBinding, (_, match) => {
43
+ parameters.push(match);
44
+ return '';
45
+ });
46
+ }
47
+ if (parentBinding) {
48
+ replaceTemplateVariables(parentBinding, (_, match) => {
49
+ parameters.push(match);
50
+ return '';
51
+ });
52
+ }
53
+ return parameters;
54
+ };
55
+ #isValidFilter = (filter) => {
56
+ try {
57
+ HFilter.parse(filter);
58
+ }
59
+ catch (e) {
60
+ console.error('Invalid filter: \n', this.filter, e);
61
+ return false;
62
+ }
63
+ return true;
64
+ };
65
+ #isValidReadGrid = (grid) => {
66
+ if (grid.isError()) {
67
+ console.error('Error grid result for query: \n', this.filter, grid.getError());
68
+ }
69
+ return true;
70
+ };
71
+ #setupWatch = async (grid) => {
72
+ const { subscribePollRate, subscribe } = this
73
+ ._meta;
74
+ if (subscribe) {
75
+ this.watch = await this.resolver.makeWatch(this.#getWatchDisplayName(), grid);
76
+ const updateValue = () => this.#updateValue(this.watch?.grid);
77
+ // Update with the value received when opening the watch
78
+ updateValue();
79
+ // Configure polling options
80
+ this.watch.pollRate = subscribePollRate ?? DEFAULT_POLL_RATE_SECS;
81
+ this.watch.changed({
82
+ callback: updateValue,
83
+ });
84
+ }
85
+ };
86
+ #updateValue = (grid) => {
87
+ const { orderBy } = this._meta;
88
+ if (grid) {
89
+ if (orderBy) {
90
+ grid.sortBy(orderBy);
91
+ }
92
+ this.value = grid;
93
+ }
94
+ };
95
+ #getWatchDisplayName = () => {
96
+ return `ResolvableElement Watch for ${this.name ?? this.filter}`;
97
+ };
98
+ }
99
99
  //# sourceMappingURL=ResolvableListElement.js.map
@@ -1,7 +1,7 @@
1
- import { UiElement, UiElementConstructorData, UiElementData } from './UiElement';
2
- /**
3
- * Factory function used to build an element.
4
- * @param data
5
- * @returns
6
- */
7
- export declare const makeElement: <T extends UiElementData<import("./UiElement").UiElementMeta>>(data: UiElementConstructorData<T>) => UiElement<T>;
1
+ import { UiElement, UiElementConstructorData, UiElementData } from './UiElement';
2
+ /**
3
+ * Factory function used to build an element.
4
+ * @param data
5
+ * @returns
6
+ */
7
+ export declare const makeElement: <T extends UiElementData<import("./UiElement").UiElementMeta>>(data: UiElementConstructorData<T>) => UiElement<T>;
@@ -1,37 +1,37 @@
1
- /*
2
- * Copyright (c) 2022, J2 Innovations. All Rights Reserved
3
- */
4
- import { ResolvableExprElement } from './expr/ResolvableExprElement';
5
- import { isResolvableExprElementData } from './expr/ResolvableExprElementMeta';
6
- import { FunctionElement } from './function/FunctionElement';
7
- import { isFunctionElementData } from './function/FunctionElementMeta';
8
- import { isResolvableListElementData } from './list/ListElementMeta';
9
- import { ResolvableListElement } from './list/ResolvableListElement';
10
- import { ResolvableSectionElement } from './section/ResolvableSectionElement';
11
- import { isSectionData } from './section/SectionElementMeta';
12
- import { ResolvableTagElement } from './tag/ResolvableTagElement';
13
- import { isResolvableTagElementData } from './tag/TagElementMeta';
14
- /**
15
- * Factory function used to build an element.
16
- * @param data
17
- * @returns
18
- */
19
- export const makeElement = (data) => {
20
- if (isSectionData(data.element)) {
21
- return new ResolvableSectionElement(data);
22
- }
23
- if (isResolvableTagElementData(data.element)) {
24
- return new ResolvableTagElement(data);
25
- }
26
- if (isResolvableListElementData(data.element)) {
27
- return new ResolvableListElement(data);
28
- }
29
- if (isResolvableExprElementData(data.element)) {
30
- return new ResolvableExprElement(data);
31
- }
32
- if (isFunctionElementData(data.element)) {
33
- return new FunctionElement(data);
34
- }
35
- throw new Error(`Element cannot be deserialized: \n${JSON.stringify(data.element)}`);
36
- };
1
+ /*
2
+ * Copyright (c) 2022, J2 Innovations. All Rights Reserved
3
+ */
4
+ import { ResolvableExprElement } from './expr/ResolvableExprElement';
5
+ import { isResolvableExprElementData } from './expr/ResolvableExprElementMeta';
6
+ import { FunctionElement } from './function/FunctionElement';
7
+ import { isFunctionElementData } from './function/FunctionElementMeta';
8
+ import { isResolvableListElementData } from './list/ListElementMeta';
9
+ import { ResolvableListElement } from './list/ResolvableListElement';
10
+ import { ResolvableSectionElement } from './section/ResolvableSectionElement';
11
+ import { isSectionData } from './section/SectionElementMeta';
12
+ import { ResolvableTagElement } from './tag/ResolvableTagElement';
13
+ import { isResolvableTagElementData } from './tag/TagElementMeta';
14
+ /**
15
+ * Factory function used to build an element.
16
+ * @param data
17
+ * @returns
18
+ */
19
+ export const makeElement = (data) => {
20
+ if (isSectionData(data.element)) {
21
+ return new ResolvableSectionElement(data);
22
+ }
23
+ if (isResolvableTagElementData(data.element)) {
24
+ return new ResolvableTagElement(data);
25
+ }
26
+ if (isResolvableListElementData(data.element)) {
27
+ return new ResolvableListElement(data);
28
+ }
29
+ if (isResolvableExprElementData(data.element)) {
30
+ return new ResolvableExprElement(data);
31
+ }
32
+ if (isFunctionElementData(data.element)) {
33
+ return new FunctionElement(data);
34
+ }
35
+ throw new Error(`Element cannot be deserialized: \n${JSON.stringify(data.element)}`);
36
+ };
37
37
  //# sourceMappingURL=makeElement.js.map
@@ -1,24 +1,24 @@
1
- import { HDict } from 'haystack-core';
2
- import { ResolvableElement } from '../ResolvableElement';
3
- import { UiElement, UiElementConstructorData, UiElementData } from '../UiElement';
4
- import { ResolvedSection, UiElementSectionMeta } from './SectionElementMeta';
5
- /**
6
- * A container of elements that can be resolve them by propagation of the lifecycle functions.
7
- */
8
- export declare class ResolvableSectionElement<T extends UiElementData<UiElementSectionMeta> = UiElementData<UiElementSectionMeta>> extends ResolvableElement<T> {
9
- #private;
10
- constructor(data: UiElementConstructorData<T>);
11
- protected _value: Record<string, unknown>;
12
- get value(): ResolvedSection<T>;
13
- set value(value: ResolvedSection<T>);
14
- children: (UiElement<UiElementData> | ChildUnresolvedSection)[];
15
- toJSON(): Record<string, unknown>;
16
- protected doInitialize: (parameters: HDict) => Promise<void>;
17
- protected doClose: () => Promise<void>;
18
- getParameterList: () => string[];
19
- }
20
- export declare const isChildUnresolvedSection: (value: unknown) => value is ChildUnresolvedSection;
21
- export type ChildUnresolvedSection = [
22
- string | undefined,
23
- UiElementData<UiElementSectionMeta>
24
- ];
1
+ import { HDict } from 'haystack-core';
2
+ import { ResolvableElement } from '../ResolvableElement';
3
+ import { UiElement, UiElementConstructorData, UiElementData } from '../UiElement';
4
+ import { ResolvedSection, UiElementSectionMeta } from './SectionElementMeta';
5
+ /**
6
+ * A container of elements that can be resolve them by propagation of the lifecycle functions.
7
+ */
8
+ export declare class ResolvableSectionElement<T extends UiElementData<UiElementSectionMeta> = UiElementData<UiElementSectionMeta>> extends ResolvableElement<T> {
9
+ #private;
10
+ constructor(data: UiElementConstructorData<T>);
11
+ protected _value: Record<string, unknown>;
12
+ get value(): ResolvedSection<T>;
13
+ set value(value: ResolvedSection<T>);
14
+ children: (UiElement<UiElementData> | ChildUnresolvedSection)[];
15
+ toJSON(): Record<string, unknown>;
16
+ protected doInitialize: (parameters: HDict) => Promise<void>;
17
+ protected doClose: () => Promise<void>;
18
+ getParameterList: () => string[];
19
+ }
20
+ export declare const isChildUnresolvedSection: (value: unknown) => value is ChildUnresolvedSection;
21
+ export type ChildUnresolvedSection = [
22
+ string | undefined,
23
+ UiElementData<UiElementSectionMeta>
24
+ ];
@@ -1,118 +1,129 @@
1
- /*
2
- * Copyright (c) 2022, J2 Innovations. All Rights Reserved
3
- */
4
- import { makeElement } from '../makeElement';
5
- import { ResolvableElement } from '../ResolvableElement';
6
- import { ResolvableValueElement } from '../ResolvableValueElement';
7
- import { isSectionData, } from './SectionElementMeta';
8
- /**
9
- * A container of elements that can be resolve them by propagation of the lifecycle functions.
10
- */
11
- export class ResolvableSectionElement extends ResolvableElement {
12
- constructor(data) {
13
- super(data);
14
- this.children = this.#deserializeChildren(data);
15
- }
16
- _value = {};
17
- get value() {
18
- return this._value;
19
- }
20
- set value(value) {
21
- this._value = value;
22
- this.onUpdate(value);
23
- }
24
- #deserializeChildren = (data) => {
25
- return Object.entries(data.element)
26
- .filter(([name, element]) => {
27
- // Filter out non-valid children
28
- if (name.startsWith('_')) {
29
- return false;
30
- }
31
- // Filter out non-accessible subsections
32
- if (isSectionData(element)) {
33
- return this.isAccessAllowed(element._meta);
34
- }
35
- return true;
36
- })
37
- .map(([name, element]) => {
38
- return this.#deserializeChild({
39
- ...data,
40
- element,
41
- name,
42
- onUpdate: (childVal) => {
43
- this._value[name] = childVal;
44
- this.onUpdate(this.value);
45
- },
46
- });
47
- })
48
- .filter((element) => !!element);
49
- };
50
- #deserializeChild = (data, deepDeserialize = false) => {
51
- if (!deepDeserialize && isSectionData(data.element)) {
52
- return [data.name, data.element];
53
- }
54
- else {
55
- try {
56
- // Make a resolvable element
57
- return makeElement(data);
58
- }
59
- catch (e) {
60
- // return children section name and data
61
- return [data.name, data.element];
62
- }
63
- }
64
- };
65
- children = [];
66
- toJSON() {
67
- const props = { _meta: this._meta };
68
- this.children?.forEach((child) => {
69
- let name, val;
70
- if (isChildUnresolvedSection(child)) {
71
- name = child[0];
72
- val = child[1];
73
- }
74
- else {
75
- name = child.name;
76
- val = child.toJSON();
77
- }
78
- if (name) {
79
- props[name] = val;
80
- }
81
- });
82
- return props;
83
- }
84
- doInitialize = async (parameters) => {
85
- const promises = [];
86
- for (const child of this.children) {
87
- if (isChildUnresolvedSection(child) && child[0]) {
88
- this._value[child[0]] = child[1];
89
- }
90
- else if (child instanceof ResolvableElement) {
91
- promises.push(child.initialize(parameters));
92
- }
93
- }
94
- this.onUpdate(this.value);
95
- await Promise.all(promises);
96
- };
97
- doClose = async () => {
98
- const promises = [];
99
- for (const child of this.children) {
100
- if (child instanceof ResolvableElement) {
101
- promises.push(child.close());
102
- }
103
- }
104
- await Promise.all(promises);
105
- };
106
- getParameterList = () => {
107
- const parameters = [];
108
- this.children.forEach((element) => {
109
- if (!isChildUnresolvedSection(element) &&
110
- element instanceof ResolvableValueElement) {
111
- parameters.push(...element.getParameterList());
112
- }
113
- });
114
- return [...new Set(parameters)]; // Retrieve unique values
115
- };
116
- }
117
- export const isChildUnresolvedSection = (value) => value instanceof Array && value.length === 2 && isSectionData(value[1]);
1
+ /*
2
+ * Copyright (c) 2022, J2 Innovations. All Rights Reserved
3
+ */
4
+ import { makeElement } from '../makeElement';
5
+ import { ResolvableElement } from '../ResolvableElement';
6
+ import { ResolvableValueElement } from '../ResolvableValueElement';
7
+ import { ResolvableTagElement } from '../tag/ResolvableTagElement';
8
+ import { ResolvableTagElementBatchProcessor } from '../tag/ResolvableTagElementBatchProcessor';
9
+ import { isSectionData, } from './SectionElementMeta';
10
+ /**
11
+ * A container of elements that can be resolve them by propagation of the lifecycle functions.
12
+ */
13
+ export class ResolvableSectionElement extends ResolvableElement {
14
+ constructor(data) {
15
+ super(data);
16
+ this.children = this.#deserializeChildren(data);
17
+ }
18
+ _value = {};
19
+ get value() {
20
+ return this._value;
21
+ }
22
+ set value(value) {
23
+ this._value = value;
24
+ this.onUpdate(value);
25
+ }
26
+ #deserializeChildren = (data) => {
27
+ return Object.entries(data.element)
28
+ .filter(([name, element]) => {
29
+ // Filter out non-valid children
30
+ if (name.startsWith('_')) {
31
+ return false;
32
+ }
33
+ // Filter out non-accessible subsections
34
+ if (isSectionData(element)) {
35
+ return this.isAccessAllowed(element._meta);
36
+ }
37
+ return true;
38
+ })
39
+ .map(([name, element]) => {
40
+ return this.#deserializeChild({
41
+ ...data,
42
+ element,
43
+ name,
44
+ onUpdate: (childVal) => {
45
+ this._value[name] = childVal;
46
+ this.onUpdate(this.value);
47
+ },
48
+ });
49
+ })
50
+ .filter((element) => !!element);
51
+ };
52
+ #deserializeChild = (data, deepDeserialize = false) => {
53
+ if (!deepDeserialize && isSectionData(data.element)) {
54
+ return [data.name, data.element];
55
+ }
56
+ else {
57
+ try {
58
+ // Make a resolvable element
59
+ return makeElement(data);
60
+ }
61
+ catch (e) {
62
+ // return children section name and data
63
+ return [data.name, data.element];
64
+ }
65
+ }
66
+ };
67
+ children = [];
68
+ toJSON() {
69
+ const props = { _meta: this._meta };
70
+ this.children?.forEach((child) => {
71
+ let name, val;
72
+ if (isChildUnresolvedSection(child)) {
73
+ name = child[0];
74
+ val = child[1];
75
+ }
76
+ else {
77
+ name = child.name;
78
+ val = child.toJSON();
79
+ }
80
+ if (name) {
81
+ props[name] = val;
82
+ }
83
+ });
84
+ return props;
85
+ }
86
+ doInitialize = async (parameters) => {
87
+ const promises = [];
88
+ const batchProcessor = new ResolvableTagElementBatchProcessor();
89
+ for (const child of this.children) {
90
+ if (isChildUnresolvedSection(child) && child[0]) {
91
+ this._value[child[0]] = child[1];
92
+ }
93
+ else if (child instanceof ResolvableElement) {
94
+ if (child instanceof ResolvableTagElement) {
95
+ batchProcessor.addElement(child);
96
+ }
97
+ else {
98
+ promises.push(child.initialize(parameters));
99
+ }
100
+ }
101
+ }
102
+ if (!batchProcessor.isEmpty()) {
103
+ promises.push(batchProcessor.initialize(parameters));
104
+ }
105
+ this.onUpdate(this.value);
106
+ await Promise.all(promises);
107
+ };
108
+ doClose = async () => {
109
+ const promises = [];
110
+ for (const child of this.children) {
111
+ if (child instanceof ResolvableElement) {
112
+ promises.push(child.close());
113
+ }
114
+ }
115
+ await Promise.all(promises);
116
+ };
117
+ getParameterList = () => {
118
+ const parameters = [];
119
+ this.children.forEach((element) => {
120
+ if (!isChildUnresolvedSection(element) &&
121
+ element instanceof ResolvableValueElement) {
122
+ parameters.push(...element.getParameterList());
123
+ }
124
+ });
125
+ return [...new Set(parameters)]; // Retrieve unique values
126
+ };
127
+ }
128
+ export const isChildUnresolvedSection = (value) => value instanceof Array && value.length === 2 && isSectionData(value[1]);
118
129
  //# sourceMappingURL=ResolvableSectionElement.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ResolvableSectionElement.js","sourceRoot":"","sources":["../../../../src/resolvableElements/elements/section/ResolvableSectionElement.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ResolvableSectionElement.js","sourceRoot":"","sources":["../../../../src/resolvableElements/elements/section/ResolvableSectionElement.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,16 @@
1
- import { HVal } from 'haystack-core';
2
- import { UiElementData, UiElementMeta } from '../UiElement';
3
- export interface UiElementSectionMeta extends UiElementMeta {
4
- resolutionType?: never;
5
- }
6
- export type ResolvedSection<T extends UiElementData<UiElementSectionMeta>> = T extends {
7
- _resolved?: Record<string, unknown>;
8
- } ? Required<T>['_resolved'] : Record<string, unknown>;
9
- export type ParametersOfSection<T extends UiElementData> = T extends {
10
- _parameters?: Record<string, HVal>;
11
- } ? PartialExplicitUndefined<T['_parameters']> : undefined;
12
- export type PartialExplicitUndefined<T> = {
13
- [P in keyof T]: T[P] | null | undefined;
14
- };
15
- export declare const isSectionData: (element: UiElementData) => element is UiElementData<UiElementSectionMeta>;
16
- export declare const isSectionMeta: (meta: UiElementMeta | undefined) => meta is UiElementSectionMeta;
1
+ import { HVal } from 'haystack-core';
2
+ import { UiElementData, UiElementMeta } from '../UiElement';
3
+ export interface UiElementSectionMeta extends UiElementMeta {
4
+ resolutionType?: never;
5
+ }
6
+ export type ResolvedSection<T extends UiElementData<UiElementSectionMeta>> = T extends {
7
+ _resolved?: Record<string, unknown>;
8
+ } ? Required<T>['_resolved'] : Record<string, unknown>;
9
+ export type ParametersOfSection<T extends UiElementData> = T extends {
10
+ _parameters?: Record<string, HVal>;
11
+ } ? PartialExplicitUndefined<T['_parameters']> : undefined;
12
+ export type PartialExplicitUndefined<T> = {
13
+ [P in keyof T]: T[P] | null | undefined;
14
+ };
15
+ export declare const isSectionData: (element: UiElementData) => element is UiElementData<UiElementSectionMeta>;
16
+ export declare const isSectionMeta: (meta: UiElementMeta | undefined) => meta is UiElementSectionMeta;