@acorex-platform/framework-shared 0.0.37 → 0.0.46

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (147) hide show
  1. package/core/src/lib/color-surface/runtime-surface.util.d.ts +2 -0
  2. package/core/src/lib/color-surface/runtime-surface.util.d.ts.map +1 -1
  3. package/core/src/lib/color-surface/runtime-surface.util.js +20 -0
  4. package/core/src/lib/color-surface/runtime-surface.util.js.map +1 -1
  5. package/core/src/lib/data/filter-query.util.d.ts +48 -0
  6. package/core/src/lib/data/filter-query.util.d.ts.map +1 -0
  7. package/core/src/lib/data/filter-query.util.js +268 -0
  8. package/core/src/lib/data/filter-query.util.js.map +1 -0
  9. package/core/src/lib/data/filter.types.d.ts +3 -0
  10. package/core/src/lib/data/filter.types.d.ts.map +1 -1
  11. package/core/src/lib/data/filter.types.js.map +1 -1
  12. package/core/src/lib/data/index.d.ts +1 -0
  13. package/core/src/lib/data/index.d.ts.map +1 -1
  14. package/core/src/lib/data/index.js +1 -0
  15. package/core/src/lib/data/index.js.map +1 -1
  16. package/core/src/lib/index.d.ts +1 -0
  17. package/core/src/lib/index.d.ts.map +1 -1
  18. package/core/src/lib/index.js +1 -0
  19. package/core/src/lib/index.js.map +1 -1
  20. package/core/src/lib/interaction/view-query.types.d.ts +2 -0
  21. package/core/src/lib/interaction/view-query.types.d.ts.map +1 -1
  22. package/core/src/lib/interaction/view-query.types.js.map +1 -1
  23. package/core/src/lib/module-manifest/index.d.ts +3 -0
  24. package/core/src/lib/module-manifest/index.d.ts.map +1 -0
  25. package/core/src/lib/module-manifest/index.js +8 -0
  26. package/core/src/lib/module-manifest/index.js.map +1 -0
  27. package/core/src/lib/module-manifest/module-manifest.types.d.ts +61 -0
  28. package/core/src/lib/module-manifest/module-manifest.types.d.ts.map +1 -0
  29. package/core/src/lib/module-manifest/module-manifest.types.js +5 -0
  30. package/core/src/lib/module-manifest/module-manifest.types.js.map +1 -0
  31. package/core/src/lib/module-manifest/module-taxonomy.d.ts +47 -0
  32. package/core/src/lib/module-manifest/module-taxonomy.d.ts.map +1 -0
  33. package/core/src/lib/module-manifest/module-taxonomy.js +61 -0
  34. package/core/src/lib/module-manifest/module-taxonomy.js.map +1 -0
  35. package/core/src/lib/widgets/widgets-catalog.d.ts +4 -0
  36. package/core/src/lib/widgets/widgets-catalog.d.ts.map +1 -1
  37. package/core/src/lib/widgets/widgets-catalog.js +4 -0
  38. package/core/src/lib/widgets/widgets-catalog.js.map +1 -1
  39. package/domain/src/lib/definitions/entity-definition.types.d.ts +2 -0
  40. package/domain/src/lib/definitions/entity-definition.types.d.ts.map +1 -1
  41. package/entity/src/lib/types/entity-definition.types.d.ts +6 -0
  42. package/entity/src/lib/types/entity-definition.types.d.ts.map +1 -1
  43. package/entity/src/lib/types/entity-definition.types.js.map +1 -1
  44. package/entity/src/lib/types/entity-display-field.types.d.ts +2 -0
  45. package/entity/src/lib/types/entity-display-field.types.d.ts.map +1 -1
  46. package/entity/src/lib/types/entity-display-field.types.js.map +1 -1
  47. package/entity/src/lib/types/entity-list-user-styling.types.d.ts +32 -0
  48. package/entity/src/lib/types/entity-list-user-styling.types.d.ts.map +1 -0
  49. package/entity/src/lib/types/entity-list-user-styling.types.js +8 -0
  50. package/entity/src/lib/types/entity-list-user-styling.types.js.map +1 -0
  51. package/entity/src/lib/types/entity-master-list.types.d.ts +20 -1
  52. package/entity/src/lib/types/entity-master-list.types.d.ts.map +1 -1
  53. package/entity/src/lib/types/entity-master-list.types.js +6 -0
  54. package/entity/src/lib/types/entity-master-list.types.js.map +1 -1
  55. package/entity/src/lib/types/entity-query-view.types.d.ts +34 -11
  56. package/entity/src/lib/types/entity-query-view.types.d.ts.map +1 -1
  57. package/entity/src/lib/types/entity-query-view.types.js +25 -0
  58. package/entity/src/lib/types/entity-query-view.types.js.map +1 -1
  59. package/entity/src/lib/types/entity-related-layout.types.d.ts +17 -1
  60. package/entity/src/lib/types/entity-related-layout.types.d.ts.map +1 -1
  61. package/entity/src/lib/types/entity-related-layout.types.js.map +1 -1
  62. package/entity/src/lib/types/index.d.ts +1 -0
  63. package/entity/src/lib/types/index.d.ts.map +1 -1
  64. package/entity/src/lib/types/index.js +1 -0
  65. package/entity/src/lib/types/index.js.map +1 -1
  66. package/entity/src/lib/utils/entity-catalog-search.util.d.ts +41 -0
  67. package/entity/src/lib/utils/entity-catalog-search.util.d.ts.map +1 -0
  68. package/entity/src/lib/utils/entity-catalog-search.util.js +208 -0
  69. package/entity/src/lib/utils/entity-catalog-search.util.js.map +1 -0
  70. package/entity/src/lib/utils/entity-column-tree.util.d.ts +12 -0
  71. package/entity/src/lib/utils/entity-column-tree.util.d.ts.map +1 -0
  72. package/entity/src/lib/utils/entity-column-tree.util.js +79 -0
  73. package/entity/src/lib/utils/entity-column-tree.util.js.map +1 -0
  74. package/entity/src/lib/utils/entity-default-card-layout.util.d.ts.map +1 -1
  75. package/entity/src/lib/utils/entity-default-card-layout.util.js +7 -6
  76. package/entity/src/lib/utils/entity-default-card-layout.util.js.map +1 -1
  77. package/entity/src/lib/utils/entity-list-custom-query-view.util.d.ts +53 -0
  78. package/entity/src/lib/utils/entity-list-custom-query-view.util.d.ts.map +1 -0
  79. package/entity/src/lib/utils/entity-list-custom-query-view.util.js +249 -0
  80. package/entity/src/lib/utils/entity-list-custom-query-view.util.js.map +1 -0
  81. package/entity/src/lib/utils/entity-list-sort-presets.util.d.ts +8 -0
  82. package/entity/src/lib/utils/entity-list-sort-presets.util.d.ts.map +1 -0
  83. package/entity/src/lib/utils/entity-list-sort-presets.util.js +126 -0
  84. package/entity/src/lib/utils/entity-list-sort-presets.util.js.map +1 -0
  85. package/entity/src/lib/utils/entity-list-sortable-fields.util.d.ts +2 -0
  86. package/entity/src/lib/utils/entity-list-sortable-fields.util.d.ts.map +1 -1
  87. package/entity/src/lib/utils/entity-list-sortable-fields.util.js +12 -0
  88. package/entity/src/lib/utils/entity-list-sortable-fields.util.js.map +1 -1
  89. package/entity/src/lib/utils/entity-list-user-styling.util.d.ts +12 -0
  90. package/entity/src/lib/utils/entity-list-user-styling.util.d.ts.map +1 -0
  91. package/entity/src/lib/utils/entity-list-user-styling.util.js +237 -0
  92. package/entity/src/lib/utils/entity-list-user-styling.util.js.map +1 -0
  93. package/entity/src/lib/utils/entity-quick-search-paths.util.d.ts.map +1 -1
  94. package/entity/src/lib/utils/entity-quick-search-paths.util.js +2 -1
  95. package/entity/src/lib/utils/entity-quick-search-paths.util.js.map +1 -1
  96. package/entity/src/lib/utils/index.d.ts +6 -0
  97. package/entity/src/lib/utils/index.d.ts.map +1 -1
  98. package/entity/src/lib/utils/index.js +6 -0
  99. package/entity/src/lib/utils/index.js.map +1 -1
  100. package/entity/src/lib/utils/related-entity-query-views.util.d.ts +20 -0
  101. package/entity/src/lib/utils/related-entity-query-views.util.d.ts.map +1 -0
  102. package/entity/src/lib/utils/related-entity-query-views.util.js +87 -0
  103. package/entity/src/lib/utils/related-entity-query-views.util.js.map +1 -0
  104. package/hook/src/index.d.ts +4 -0
  105. package/hook/src/index.d.ts.map +1 -0
  106. package/hook/src/index.js +7 -0
  107. package/hook/src/index.js.map +1 -0
  108. package/hook/src/lib/hook-registry.d.ts +10 -0
  109. package/hook/src/lib/hook-registry.d.ts.map +1 -0
  110. package/hook/src/lib/hook-registry.js +68 -0
  111. package/hook/src/lib/hook-registry.js.map +1 -0
  112. package/hook/src/lib/hook-run.d.ts +4 -0
  113. package/hook/src/lib/hook-run.d.ts.map +1 -0
  114. package/hook/src/lib/hook-run.js +29 -0
  115. package/hook/src/lib/hook-run.js.map +1 -0
  116. package/hook/src/lib/hook.types.d.ts +12 -0
  117. package/hook/src/lib/hook.types.d.ts.map +1 -0
  118. package/hook/src/lib/hook.types.js +17 -0
  119. package/hook/src/lib/hook.types.js.map +1 -0
  120. package/package.json +5 -1
  121. package/runtime/src/lib/commands/auth-command-keys.d.ts +2 -0
  122. package/runtime/src/lib/commands/auth-command-keys.d.ts.map +1 -1
  123. package/runtime/src/lib/commands/auth-command-keys.js +3 -1
  124. package/runtime/src/lib/commands/auth-command-keys.js.map +1 -1
  125. package/runtime/src/lib/commands/entity-action-command-input.d.ts.map +1 -1
  126. package/runtime/src/lib/commands/entity-action-command-input.js +26 -3
  127. package/runtime/src/lib/commands/entity-action-command-input.js.map +1 -1
  128. package/runtime/src/lib/shared/catalog-definition-base.types.d.ts +19 -0
  129. package/runtime/src/lib/shared/catalog-definition-base.types.d.ts.map +1 -1
  130. package/runtime/src/lib/shared/catalog-definition-base.types.js.map +1 -1
  131. package/widget-core/src/lib/index.d.ts +2 -0
  132. package/widget-core/src/lib/index.d.ts.map +1 -1
  133. package/widget-core/src/lib/index.js +2 -0
  134. package/widget-core/src/lib/index.js.map +1 -1
  135. package/widget-core/src/lib/layout-profile.types.d.ts +15 -0
  136. package/widget-core/src/lib/layout-profile.types.d.ts.map +1 -0
  137. package/widget-core/src/lib/layout-profile.types.js +7 -0
  138. package/widget-core/src/lib/layout-profile.types.js.map +1 -0
  139. package/widget-core/src/lib/layout-profile.util.d.ts +38 -0
  140. package/widget-core/src/lib/layout-profile.util.d.ts.map +1 -0
  141. package/widget-core/src/lib/layout-profile.util.js +239 -0
  142. package/widget-core/src/lib/layout-profile.util.js.map +1 -0
  143. package/widget-core/src/lib/types/widget-types-map.types.d.ts +3 -0
  144. package/widget-core/src/lib/types/widget-types-map.types.d.ts.map +1 -1
  145. package/widget-core/src/lib/types/widget.types.d.ts +8 -2
  146. package/widget-core/src/lib/types/widget.types.d.ts.map +1 -1
  147. package/widget-core/src/lib/types/widget.types.js.map +1 -1
@@ -0,0 +1,237 @@
1
+ "use strict";
2
+ //#region ----- Imports -----
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.createEntityListStylingCondition = createEntityListStylingCondition;
5
+ exports.isCompleteEntityListStylingCondition = isCompleteEntityListStylingCondition;
6
+ exports.normalizeEntityListUserStylingRules = normalizeEntityListUserStylingRules;
7
+ exports.listEntityMasterStylingLockedRules = listEntityMasterStylingLockedRules;
8
+ exports.isEntityListRecordStylingTarget = isEntityListRecordStylingTarget;
9
+ const core_1 = require("@acorex-platform/framework-shared/core");
10
+ const entity_list_user_styling_types_1 = require("../types/entity-list-user-styling.types");
11
+ //#endregion
12
+ //#region ----- Constants -----
13
+ const STYLING_OPERATOR_TYPES = new Set([
14
+ 'endsWith',
15
+ 'startsWith',
16
+ 'in',
17
+ 'equal',
18
+ 'eq',
19
+ 'isNull',
20
+ 'isEmpty',
21
+ 'isNotEmpty',
22
+ 'lt',
23
+ 'lte',
24
+ 'gt',
25
+ 'gte',
26
+ 'contains',
27
+ 'notContains',
28
+ 'notEqual',
29
+ 'ne',
30
+ 'neq',
31
+ 'greaterThan',
32
+ 'lessThan',
33
+ 'greaterThanOrEqual',
34
+ 'lessThanOrEqual',
35
+ 'between',
36
+ ]);
37
+ //#endregion
38
+ //#region ----- Public API -----
39
+ function createEntityListStylingCondition() {
40
+ return { logic: 'and', filters: [] };
41
+ }
42
+ /** True when the tree has at least one leaf with a field and operator. */
43
+ function isCompleteEntityListStylingCondition(clause) {
44
+ return readConditionNode(clause) != null;
45
+ }
46
+ /** Drops incomplete or malformed rules read from user settings. */
47
+ function normalizeEntityListUserStylingRules(value) {
48
+ if (!Array.isArray(value)) {
49
+ return [];
50
+ }
51
+ const rules = [];
52
+ for (const entry of value) {
53
+ const rule = readUserStylingRule(entry);
54
+ if (rule) {
55
+ rules.push(rule);
56
+ }
57
+ }
58
+ return rules;
59
+ }
60
+ /** Flattens `interfaces.master.styling` into rows the highlight dialog can show as locked. */
61
+ function listEntityMasterStylingLockedRules(styling) {
62
+ var _a;
63
+ if (!styling) {
64
+ return [];
65
+ }
66
+ const rules = [];
67
+ appendLockedTarget(rules, entity_list_user_styling_types_1.AXP_ENTITY_LIST_RECORD_STYLING_TARGET, styling.record);
68
+ for (const [name, target] of Object.entries((_a = styling.fields) !== null && _a !== void 0 ? _a : {})) {
69
+ appendLockedTarget(rules, name, target);
70
+ }
71
+ return rules;
72
+ }
73
+ function isEntityListRecordStylingTarget(target) {
74
+ return target === entity_list_user_styling_types_1.AXP_ENTITY_LIST_RECORD_STYLING_TARGET;
75
+ }
76
+ //#endregion
77
+ //#region ----- Read -----
78
+ function readUserStylingRule(value) {
79
+ var _a;
80
+ if (!value || typeof value !== 'object') {
81
+ return undefined;
82
+ }
83
+ const record = value;
84
+ const id = readText(record['id']);
85
+ const target = readSelectValue(record['target']);
86
+ const className = readText(record['className']);
87
+ if (!id || !target || !className) {
88
+ return undefined;
89
+ }
90
+ const condition = (0, core_1.omitFilterClauseIdentity)((_a = readCondition(record)) !== null && _a !== void 0 ? _a : createEntityListStylingCondition());
91
+ const icon = readText(record['icon']);
92
+ return Object.assign({ id,
93
+ target,
94
+ condition,
95
+ className }, (icon ? { icon } : {}));
96
+ }
97
+ function readCondition(record) {
98
+ const nested = asRecord(record['condition']);
99
+ if (nested) {
100
+ if (Array.isArray(nested['filters'])) {
101
+ return {
102
+ logic: nested['logic'] === 'or' ? 'or' : 'and',
103
+ filters: nested['filters']
104
+ .map((child) => readConditionNode(child))
105
+ .filter((child) => child != null),
106
+ };
107
+ }
108
+ const leaf = readConditionNode(nested);
109
+ if (leaf) {
110
+ return leaf;
111
+ }
112
+ }
113
+ const field = readSelectValue(record['field']);
114
+ const operator = readOperator(record['operator']);
115
+ if (!field || !operator) {
116
+ return undefined;
117
+ }
118
+ return {
119
+ logic: 'and',
120
+ filters: [
121
+ {
122
+ field,
123
+ operator,
124
+ value: record['value'],
125
+ },
126
+ ],
127
+ };
128
+ }
129
+ function readConditionNode(value) {
130
+ const record = asRecord(value);
131
+ if (!record) {
132
+ return undefined;
133
+ }
134
+ if (Array.isArray(record['filters'])) {
135
+ const filters = record['filters']
136
+ .map((child) => readConditionNode(child))
137
+ .filter((child) => child != null);
138
+ if (!filters.length) {
139
+ return undefined;
140
+ }
141
+ return {
142
+ logic: record['logic'] === 'or' ? 'or' : 'and',
143
+ filters,
144
+ };
145
+ }
146
+ const field = readSelectValue(record['field']);
147
+ const operator = readOperator(record['operator']);
148
+ if (!field || !operator) {
149
+ return undefined;
150
+ }
151
+ return {
152
+ field,
153
+ operator,
154
+ value: record['value'],
155
+ };
156
+ }
157
+ function readOperator(value) {
158
+ if (!value || typeof value !== 'object') {
159
+ return undefined;
160
+ }
161
+ const type = value.type;
162
+ if (typeof type !== 'string' || !STYLING_OPERATOR_TYPES.has(type)) {
163
+ return undefined;
164
+ }
165
+ const operator = { type: type };
166
+ if (value.negative === true) {
167
+ operator.negative = true;
168
+ }
169
+ return operator;
170
+ }
171
+ function readText(value) {
172
+ if (typeof value !== 'string') {
173
+ return undefined;
174
+ }
175
+ const trimmed = value.trim();
176
+ return trimmed ? trimmed : undefined;
177
+ }
178
+ function asRecord(value) {
179
+ if (!value || typeof value !== 'object' || Array.isArray(value)) {
180
+ return undefined;
181
+ }
182
+ return value;
183
+ }
184
+ function readSelectValue(value) {
185
+ var _a, _b;
186
+ const asText = readText(value);
187
+ if (asText) {
188
+ return asText;
189
+ }
190
+ const record = asRecord(value);
191
+ if (!record) {
192
+ return undefined;
193
+ }
194
+ return (_b = (_a = readText(record['id'])) !== null && _a !== void 0 ? _a : readText(record['value'])) !== null && _b !== void 0 ? _b : readText(record['name']);
195
+ }
196
+ function appendLockedTarget(rules, target, styling) {
197
+ var _a;
198
+ if (!styling) {
199
+ return;
200
+ }
201
+ const shortcut = displayExpression(styling.class);
202
+ if (shortcut) {
203
+ rules.push({
204
+ id: `${target}:class`,
205
+ target,
206
+ className: shortcut,
207
+ });
208
+ }
209
+ (_a = styling.rules) === null || _a === void 0 ? void 0 : _a.forEach((rule, index) => {
210
+ const className = displayExpression(rule.class);
211
+ if (!className) {
212
+ return;
213
+ }
214
+ rules.push({
215
+ id: `${target}:rule:${index}`,
216
+ target,
217
+ when: displayExpression(rule.when),
218
+ className,
219
+ });
220
+ });
221
+ }
222
+ function displayExpression(value) {
223
+ var _a, _b, _c, _d;
224
+ if (value == null) {
225
+ return undefined;
226
+ }
227
+ const raw = String(value).trim();
228
+ if (!raw) {
229
+ return undefined;
230
+ }
231
+ const body = (_c = (_b = (_a = raw.match(/^\{\{\s*([\s\S]*?)\s*\}\}$/)) === null || _a === void 0 ? void 0 : _a[1]) === null || _b === void 0 ? void 0 : _b.trim()) !== null && _c !== void 0 ? _c : raw;
232
+ const quoted = body.match(/^["']([\s\S]*)["']$/);
233
+ const text = ((_d = quoted === null || quoted === void 0 ? void 0 : quoted[1]) !== null && _d !== void 0 ? _d : body).trim();
234
+ return text || undefined;
235
+ }
236
+ //#endregion
237
+ //# sourceMappingURL=entity-list-user-styling.util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-list-user-styling.util.js","sourceRoot":"","sources":["../../../../../../../../libs/framework/shared/entity/src/lib/utils/entity-list-user-styling.util.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"entity-quick-search-paths.util.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/framework/shared/entity/src/lib/utils/entity-quick-search-paths.util.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAMlE,MAAM,MAAM,wCAAwC,GAAG,CACrD,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,KACf,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;AAwC/B;;;GAGG;AACH,wBAAgB,iDAAiD,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,EAAE,CAkBhH;AAMD;;GAEG;AACH,wBAAgB,wCAAwC,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,EAAE,CAuBvG;AAsBD;;;;GAIG;AACH,wBAAsB,kCAAkC,CACtD,MAAM,EAAE,SAAS,GAAG,IAAI,GAAG,SAAS,EACpC,wBAAwB,EAAE,wCAAwC,GACjE,OAAO,CAAC,MAAM,EAAE,CAAC,CA0CnB;AAED,OAAO,EAAE,sCAAsC,EAAE,MAAM,qCAAqC,CAAC"}
1
+ {"version":3,"file":"entity-quick-search-paths.util.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/framework/shared/entity/src/lib/utils/entity-quick-search-paths.util.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAOlE,MAAM,MAAM,wCAAwC,GAAG,CACrD,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,KACf,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;AAwC/B;;;GAGG;AACH,wBAAgB,iDAAiD,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,EAAE,CAkBhH;AAMD;;GAEG;AACH,wBAAgB,wCAAwC,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,EAAE,CAuBvG;AAsBD;;;;GAIG;AACH,wBAAsB,kCAAkC,CACtD,MAAM,EAAE,SAAS,GAAG,IAAI,GAAG,SAAS,EACpC,wBAAwB,EAAE,wCAAwC,GACjE,OAAO,CAAC,MAAM,EAAE,CAAC,CA0CnB;AAED,OAAO,EAAE,sCAAsC,EAAE,MAAM,qCAAqC,CAAC"}
@@ -5,6 +5,7 @@ exports.collectQuickSearchPathsFromSingleEntityDefinition = collectQuickSearchPa
5
5
  exports.collectNestedFieldPathsFromEntityColumns = collectNestedFieldPathsFromEntityColumns;
6
6
  exports.collectEntityQuickSearchFieldPaths = collectEntityQuickSearchFieldPaths;
7
7
  const tslib_1 = require("tslib");
8
+ const entity_column_tree_util_1 = require("./entity-column-tree.util");
8
9
  const entity_property_display_path_util_1 = require("./entity-property-display-path.util");
9
10
  //#endregion
10
11
  //#region ---- Quick search: schema-driven field paths ----
@@ -71,7 +72,7 @@ function collectNestedFieldPathsFromEntityColumns(entity) {
71
72
  return [];
72
73
  }
73
74
  const paths = new Set();
74
- for (const col of entity.columns) {
75
+ for (const col of (0, entity_column_tree_util_1.flattenEntityTableColumns)(entity.columns)) {
75
76
  const name = col.name.trim();
76
77
  if (name.includes('.')) {
77
78
  paths.add(name);
@@ -1 +1 @@
1
- {"version":3,"file":"entity-quick-search-paths.util.js","sourceRoot":"","sources":["../../../../../../../../libs/framework/shared/entity/src/lib/utils/entity-quick-search-paths.util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entity-quick-search-paths.util.js","sourceRoot":"","sources":["../../../../../../../../libs/framework/shared/entity/src/lib/utils/entity-quick-search-paths.util.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,20 @@
1
+ export * from './entity-column-tree.util';
1
2
  export * from './entity-default-card-layout.util';
2
3
  export * from './entity-master-styling.util';
4
+ export * from './entity-list-user-styling.util';
3
5
  export * from './entity-display-template.util';
4
6
  export * from './entity-property-display-path.util';
5
7
  export * from './entity-search-title-context.util';
8
+ export * from './entity-catalog-search.util';
6
9
  export * from './entity-quick-search-paths.util';
7
10
  export * from './entity-query-fields.util';
8
11
  export * from './entity-list-filter-definitions.util';
9
12
  export * from './entity-list-sortable-fields.util';
13
+ export * from './entity-list-sort-presets.util';
10
14
  export * from './entity-merge-detail-list-properties.util';
11
15
  export * from './entity-workflow-record.util';
12
16
  export * from './lookup-create-options.util';
13
17
  export * from './page-list-widget-name.util';
18
+ export * from './related-entity-query-views.util';
19
+ export * from './entity-list-custom-query-view.util';
14
20
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/framework/shared/entity/src/lib/utils/index.ts"],"names":[],"mappings":"AAEA,cAAc,mCAAmC,CAAC;AAClD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qCAAqC,CAAC;AACpD,cAAc,oCAAoC,CAAC;AACnD,cAAc,kCAAkC,CAAC;AACjD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uCAAuC,CAAC;AACtD,cAAc,oCAAoC,CAAC;AACnD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,+BAA+B,CAAC;AAC9C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/framework/shared/entity/src/lib/utils/index.ts"],"names":[],"mappings":"AAEA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mCAAmC,CAAC;AAClD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qCAAqC,CAAC;AACpD,cAAc,oCAAoC,CAAC;AACnD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kCAAkC,CAAC;AACjD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uCAAuC,CAAC;AACtD,cAAc,oCAAoC,CAAC;AACnD,cAAc,iCAAiC,CAAC;AAChD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,+BAA+B,CAAC;AAC9C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mCAAmC,CAAC;AAClD,cAAc,sCAAsC,CAAC"}
@@ -2,18 +2,24 @@
2
2
  //#region ---- Utils barrel ----
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  const tslib_1 = require("tslib");
5
+ tslib_1.__exportStar(require("./entity-column-tree.util"), exports);
5
6
  tslib_1.__exportStar(require("./entity-default-card-layout.util"), exports);
6
7
  tslib_1.__exportStar(require("./entity-master-styling.util"), exports);
8
+ tslib_1.__exportStar(require("./entity-list-user-styling.util"), exports);
7
9
  tslib_1.__exportStar(require("./entity-display-template.util"), exports);
8
10
  tslib_1.__exportStar(require("./entity-property-display-path.util"), exports);
9
11
  tslib_1.__exportStar(require("./entity-search-title-context.util"), exports);
12
+ tslib_1.__exportStar(require("./entity-catalog-search.util"), exports);
10
13
  tslib_1.__exportStar(require("./entity-quick-search-paths.util"), exports);
11
14
  tslib_1.__exportStar(require("./entity-query-fields.util"), exports);
12
15
  tslib_1.__exportStar(require("./entity-list-filter-definitions.util"), exports);
13
16
  tslib_1.__exportStar(require("./entity-list-sortable-fields.util"), exports);
17
+ tslib_1.__exportStar(require("./entity-list-sort-presets.util"), exports);
14
18
  tslib_1.__exportStar(require("./entity-merge-detail-list-properties.util"), exports);
15
19
  tslib_1.__exportStar(require("./entity-workflow-record.util"), exports);
16
20
  tslib_1.__exportStar(require("./lookup-create-options.util"), exports);
17
21
  tslib_1.__exportStar(require("./page-list-widget-name.util"), exports);
22
+ tslib_1.__exportStar(require("./related-entity-query-views.util"), exports);
23
+ tslib_1.__exportStar(require("./entity-list-custom-query-view.util"), exports);
18
24
  //#endregion
19
25
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../libs/framework/shared/entity/src/lib/utils/index.ts"],"names":[],"mappings":";AAAA,gCAAgC;;;AAEhC,4EAAkD;AAClD,uEAA6C;AAC7C,yEAA+C;AAC/C,8EAAoD;AACpD,6EAAmD;AACnD,2EAAiD;AACjD,qEAA2C;AAC3C,gFAAsD;AACtD,6EAAmD;AACnD,qFAA2D;AAC3D,wEAA8C;AAC9C,uEAA6C;AAC7C,uEAA6C;AAE7C,YAAY"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../libs/framework/shared/entity/src/lib/utils/index.ts"],"names":[],"mappings":";AAAA,gCAAgC;;;AAEhC,oEAA0C;AAC1C,4EAAkD;AAClD,uEAA6C;AAC7C,0EAAgD;AAChD,yEAA+C;AAC/C,8EAAoD;AACpD,6EAAmD;AACnD,uEAA6C;AAC7C,2EAAiD;AACjD,qEAA2C;AAC3C,gFAAsD;AACtD,6EAAmD;AACnD,0EAAgD;AAChD,qFAA2D;AAC3D,wEAA8C;AAC9C,uEAA6C;AAC7C,uEAA6C;AAC7C,4EAAkD;AAClD,+EAAqD;AAErD,YAAY"}
@@ -0,0 +1,20 @@
1
+ import type { AXPColumnQuery, AXPFilterQuery, AXPViewQuery } from '@acorex-platform/framework-shared/core';
2
+ import type { AXPRelatedEntity, AXPRelatedEntityViews } from '../types/entity-related-layout.types';
3
+ import type { AXPQueryView } from '../types/entity-query-view.types';
4
+ export declare function isRelatedEntityListViewsEnabled(relatedViews: AXPRelatedEntityViews | undefined): boolean;
5
+ /**
6
+ * Resolves query views for a related list: explicit `views.items` override, else the related
7
+ * entity's master list views. Empty when `views.enabled` is false.
8
+ */
9
+ export declare function resolveRelatedEntityListViews(relatedViews: AXPRelatedEntityViews | undefined, entityMasterViews: AXPQueryView[] | undefined): AXPQueryView[];
10
+ /** Widget options slice for `entity-list` / `list-toolbar`. */
11
+ export declare function relatedEntityListViewWidgetOptions(relatedEntity: Pick<AXPRelatedEntity, 'views'>): {
12
+ canViews: boolean;
13
+ views?: AXPQueryView[];
14
+ };
15
+ export declare function queryViewConditionsToFilterQueries(view: AXPQueryView): AXPFilterQuery[];
16
+ /** Parent FK (and other hidden) filters plus the active view's conditions. */
17
+ export declare function mergeHiddenFiltersWithViewConditions(currentFilters: AXPFilterQuery[] | undefined, view: AXPQueryView | undefined): AXPFilterQuery[];
18
+ export declare function applyQueryViewToColumnQueries(allColumns: AXPColumnQuery[], view: AXPQueryView | undefined): AXPColumnQuery[];
19
+ export declare function toRelatedListViewQuery(view: AXPQueryView): AXPViewQuery;
20
+ //# sourceMappingURL=related-entity-query-views.util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"related-entity-query-views.util.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/framework/shared/entity/src/lib/utils/related-entity-query-views.util.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAC;AAC3G,OAAO,KAAK,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AACpG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAGrE,wBAAgB,+BAA+B,CAAC,YAAY,EAAE,qBAAqB,GAAG,SAAS,GAAG,OAAO,CAExG;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAC3C,YAAY,EAAE,qBAAqB,GAAG,SAAS,EAC/C,iBAAiB,EAAE,YAAY,EAAE,GAAG,SAAS,GAC5C,YAAY,EAAE,CAQhB;AAED,+DAA+D;AAC/D,wBAAgB,kCAAkC,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,GAAG;IAClG,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC;CACxB,CAMA;AAED,wBAAgB,kCAAkC,CAAC,IAAI,EAAE,YAAY,GAAG,cAAc,EAAE,CAOvF;AAED,8EAA8E;AAC9E,wBAAgB,oCAAoC,CAClD,cAAc,EAAE,cAAc,EAAE,GAAG,SAAS,EAC5C,IAAI,EAAE,YAAY,GAAG,SAAS,GAC7B,cAAc,EAAE,CAMlB;AAED,wBAAgB,6BAA6B,CAC3C,UAAU,EAAE,cAAc,EAAE,EAC5B,IAAI,EAAE,YAAY,GAAG,SAAS,GAC7B,cAAc,EAAE,CAkBlB;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,YAAY,GAAG,YAAY,CAWvE"}
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ //#region ---- Related entity query views ----
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.isRelatedEntityListViewsEnabled = isRelatedEntityListViewsEnabled;
5
+ exports.resolveRelatedEntityListViews = resolveRelatedEntityListViews;
6
+ exports.relatedEntityListViewWidgetOptions = relatedEntityListViewWidgetOptions;
7
+ exports.queryViewConditionsToFilterQueries = queryViewConditionsToFilterQueries;
8
+ exports.mergeHiddenFiltersWithViewConditions = mergeHiddenFiltersWithViewConditions;
9
+ exports.applyQueryViewToColumnQueries = applyQueryViewToColumnQueries;
10
+ exports.toRelatedListViewQuery = toRelatedListViewQuery;
11
+ const entity_query_view_types_1 = require("../types/entity-query-view.types");
12
+ function isRelatedEntityListViewsEnabled(relatedViews) {
13
+ return (relatedViews === null || relatedViews === void 0 ? void 0 : relatedViews.enabled) !== false;
14
+ }
15
+ /**
16
+ * Resolves query views for a related list: explicit `views.items` override, else the related
17
+ * entity's master list views. Empty when `views.enabled` is false.
18
+ */
19
+ function resolveRelatedEntityListViews(relatedViews, entityMasterViews) {
20
+ if (!isRelatedEntityListViewsEnabled(relatedViews)) {
21
+ return [];
22
+ }
23
+ if ((relatedViews === null || relatedViews === void 0 ? void 0 : relatedViews.items) !== undefined) {
24
+ return relatedViews.items;
25
+ }
26
+ return entityMasterViews !== null && entityMasterViews !== void 0 ? entityMasterViews : [];
27
+ }
28
+ /** Widget options slice for `entity-list` / `list-toolbar`. */
29
+ function relatedEntityListViewWidgetOptions(relatedEntity) {
30
+ var _a;
31
+ const canViews = isRelatedEntityListViewsEnabled(relatedEntity.views);
32
+ if (((_a = relatedEntity.views) === null || _a === void 0 ? void 0 : _a.items) !== undefined) {
33
+ return { canViews, views: relatedEntity.views.items };
34
+ }
35
+ return { canViews };
36
+ }
37
+ function queryViewConditionsToFilterQueries(view) {
38
+ var _a;
39
+ return ((_a = view.conditions) !== null && _a !== void 0 ? _a : []).map((condition) => ({
40
+ field: condition.name,
41
+ operator: condition.operator,
42
+ value: condition.value,
43
+ hidden: condition.hidden,
44
+ }));
45
+ }
46
+ /** Parent FK (and other hidden) filters plus the active view's conditions. */
47
+ function mergeHiddenFiltersWithViewConditions(currentFilters, view) {
48
+ const hidden = (currentFilters !== null && currentFilters !== void 0 ? currentFilters : []).filter((filter) => filter.hidden);
49
+ if (!view) {
50
+ return hidden;
51
+ }
52
+ return [...hidden, ...queryViewConditionsToFilterQueries(view)];
53
+ }
54
+ function applyQueryViewToColumnQueries(allColumns, view) {
55
+ if (!view) {
56
+ return allColumns;
57
+ }
58
+ const normalized = (0, entity_query_view_types_1.normalizeAXPQueryViewColumns)(view.columns);
59
+ if (!normalized.length) {
60
+ return allColumns;
61
+ }
62
+ const byName = new Map(allColumns.map((column) => [column.name, column]));
63
+ const columns = [];
64
+ for (const viewColumn of normalized) {
65
+ const base = byName.get(viewColumn.name);
66
+ if (!base) {
67
+ continue;
68
+ }
69
+ columns.push(Object.assign(Object.assign({}, base), { visible: viewColumn.visible }));
70
+ }
71
+ return columns;
72
+ }
73
+ function toRelatedListViewQuery(view) {
74
+ var _a, _b;
75
+ return {
76
+ name: view.name,
77
+ fixed: view.fixed,
78
+ custom: view.custom === true,
79
+ title: view.title,
80
+ columns: ((_a = view.columns) !== null && _a !== void 0 ? _a : []).map(entity_query_view_types_1.getAXPQueryViewColumnName),
81
+ conditions: queryViewConditionsToFilterQueries(view),
82
+ sorts: (_b = view.sorts) !== null && _b !== void 0 ? _b : [],
83
+ visible: view.visible,
84
+ };
85
+ }
86
+ //#endregion
87
+ //# sourceMappingURL=related-entity-query-views.util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"related-entity-query-views.util.js","sourceRoot":"","sources":["../../../../../../../../libs/framework/shared/entity/src/lib/utils/related-entity-query-views.util.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export * from './lib/hook.types';
2
+ export * from './lib/hook-registry';
3
+ export * from './lib/hook-run';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../libs/framework/shared/hook/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./lib/hook.types"), exports);
5
+ tslib_1.__exportStar(require("./lib/hook-registry"), exports);
6
+ tslib_1.__exportStar(require("./lib/hook-run"), exports);
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../libs/framework/shared/hook/src/index.ts"],"names":[],"mappings":";;;AAAA,2DAAiC;AACjC,8DAAoC;AACpC,yDAA+B"}
@@ -0,0 +1,10 @@
1
+ import { type AXPHookRegistration, type AXPHookRegistryEntry } from './hook.types';
2
+ export declare class AXPHookRegistry {
3
+ private nextSequence;
4
+ private readonly byId;
5
+ private readonly byKey;
6
+ register(hook: AXPHookRegistration): () => void;
7
+ unregister(id: string): void;
8
+ get(key: string): readonly AXPHookRegistryEntry[];
9
+ }
10
+ //# sourceMappingURL=hook-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hook-registry.d.ts","sourceRoot":"","sources":["../../../../../../../libs/framework/shared/hook/src/lib/hook-registry.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EAC1B,MAAM,cAAc,CAAC;AAMtB,qBAAa,eAAe;IAC1B,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA2C;IAChE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA6C;IAEnE,QAAQ,CAAC,IAAI,EAAE,mBAAmB,GAAG,MAAM,IAAI;IAiC/C,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAmB5B,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,oBAAoB,EAAE;CAOlD"}
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ //#region ----- Imports -----
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.AXPHookRegistry = void 0;
5
+ const hook_types_1 = require("./hook.types");
6
+ //#endregion
7
+ //#region ----- Registry -----
8
+ class AXPHookRegistry {
9
+ constructor() {
10
+ this.nextSequence = 0;
11
+ this.byId = new Map();
12
+ this.byKey = new Map();
13
+ }
14
+ register(hook) {
15
+ var _a;
16
+ const id = (_a = hook.id) === null || _a === void 0 ? void 0 : _a.trim();
17
+ if (!id) {
18
+ throw new Error('Hook registration requires a non-empty id.');
19
+ }
20
+ if (this.byId.has(id)) {
21
+ throw new Error(`Duplicate hook registration id: ${id}`);
22
+ }
23
+ const entry = Object.assign(Object.assign({}, hook), { id, sequence: this.nextSequence++ });
24
+ this.byId.set(id, entry);
25
+ const list = this.byKey.get(hook.key);
26
+ if (list) {
27
+ list.push(entry);
28
+ }
29
+ else {
30
+ this.byKey.set(hook.key, [entry]);
31
+ }
32
+ let unregistered = false;
33
+ return () => {
34
+ if (unregistered) {
35
+ return;
36
+ }
37
+ unregistered = true;
38
+ this.unregister(id);
39
+ };
40
+ }
41
+ unregister(id) {
42
+ const entry = this.byId.get(id);
43
+ if (!entry) {
44
+ return;
45
+ }
46
+ this.byId.delete(id);
47
+ const list = this.byKey.get(entry.key);
48
+ if (!list) {
49
+ return;
50
+ }
51
+ const next = list.filter((item) => item.id !== id);
52
+ if (next.length > 0) {
53
+ this.byKey.set(entry.key, next);
54
+ return;
55
+ }
56
+ this.byKey.delete(entry.key);
57
+ }
58
+ get(key) {
59
+ const list = this.byKey.get(key);
60
+ if (!list || list.length === 0) {
61
+ return [];
62
+ }
63
+ return [...list].sort(hook_types_1.axpCompareHookEntries);
64
+ }
65
+ }
66
+ exports.AXPHookRegistry = AXPHookRegistry;
67
+ //#endregion
68
+ //# sourceMappingURL=hook-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hook-registry.js","sourceRoot":"","sources":["../../../../../../../libs/framework/shared/hook/src/lib/hook-registry.ts"],"names":[],"mappings":";AAAA,6BAA6B;;;AAE7B,6CAIsB;AAEtB,YAAY;AAEZ,8BAA8B;AAE9B,MAAa,eAAe;IAA5B;QACU,iBAAY,GAAG,CAAC,CAAC;QACR,SAAI,GAAG,IAAI,GAAG,EAAgC,CAAC;QAC/C,UAAK,GAAG,IAAI,GAAG,EAAkC,CAAC;IA6DrE,CAAC;IA3DC,QAAQ,CAAC,IAAyB;;QAChC,MAAM,EAAE,GAAG,MAAA,IAAI,CAAC,EAAE,0CAAE,IAAI,EAAE,CAAC;QAC3B,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,mCAAmC,EAAE,EAAE,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,KAAK,mCACN,IAAI,KACP,EAAE,EACF,QAAQ,EAAE,IAAI,CAAC,YAAY,EAAE,GAC9B,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAEzB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QACpC,CAAC;QAED,IAAI,YAAY,GAAG,KAAK,CAAC;QACzB,OAAO,GAAG,EAAE;YACV,IAAI,YAAY,EAAE,CAAC;gBACjB,OAAO;YACT,CAAC;YACD,YAAY,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QACtB,CAAC,CAAC;IACJ,CAAC;IAED,UAAU,CAAC,EAAU;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO;QACT,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAErB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QACnD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAChC,OAAO;QACT,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED,GAAG,CAAC,GAAW;QACb,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,kCAAqB,CAAC,CAAC;IAC/C,CAAC;CACF;AAhED,0CAgEC;AAED,YAAY"}
@@ -0,0 +1,4 @@
1
+ import type { AXPHookRegistration } from './hook.types';
2
+ export declare function axpRunHooksAsync<T>(hooks: readonly AXPHookRegistration<T, T>[], initialData: T): Promise<T>;
3
+ export declare function axpFireHooks<T>(hooks: readonly AXPHookRegistration<T, unknown>[], data: T, onError?: (hook: AXPHookRegistration<T, unknown>, error: unknown) => void): void;
4
+ //# sourceMappingURL=hook-run.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hook-run.d.ts","sourceRoot":"","sources":["../../../../../../../libs/framework/shared/hook/src/lib/hook-run.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAMxD,wBAAsB,gBAAgB,CAAC,CAAC,EACtC,KAAK,EAAE,SAAS,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAC3C,WAAW,EAAE,CAAC,GACb,OAAO,CAAC,CAAC,CAAC,CAMZ;AAED,wBAAgB,YAAY,CAAC,CAAC,EAC5B,KAAK,EAAE,SAAS,mBAAmB,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,EACjD,IAAI,EAAE,CAAC,EACP,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,GACxE,IAAI,CAQN"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ //#region ----- Imports -----
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.axpRunHooksAsync = axpRunHooksAsync;
5
+ exports.axpFireHooks = axpFireHooks;
6
+ const tslib_1 = require("tslib");
7
+ //#endregion
8
+ //#region ----- Run helpers -----
9
+ function axpRunHooksAsync(hooks, initialData) {
10
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
11
+ let data = initialData;
12
+ for (const hook of hooks) {
13
+ data = yield Promise.resolve(hook.execute(data));
14
+ }
15
+ return data;
16
+ });
17
+ }
18
+ function axpFireHooks(hooks, data, onError) {
19
+ for (const hook of hooks) {
20
+ try {
21
+ void hook.execute(data);
22
+ }
23
+ catch (error) {
24
+ onError === null || onError === void 0 ? void 0 : onError(hook, error);
25
+ }
26
+ }
27
+ }
28
+ //#endregion
29
+ //# sourceMappingURL=hook-run.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hook-run.js","sourceRoot":"","sources":["../../../../../../../libs/framework/shared/hook/src/lib/hook-run.ts"],"names":[],"mappings":";AAAA,6BAA6B;;AAQ7B,4CASC;AAED,oCAYC;;AA3BD,YAAY;AAEZ,iCAAiC;AAEjC,SAAsB,gBAAgB,CACpC,KAA2C,EAC3C,WAAc;;QAEd,IAAI,IAAI,GAAG,WAAW,CAAC;QACvB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CAAA;AAED,SAAgB,YAAY,CAC1B,KAAiD,EACjD,IAAO,EACP,OAAyE;IAEzE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,IAAI,EAAE,KAAK,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;AACH,CAAC;AAED,YAAY"}