@acorex/platform 20.2.4-next.0 → 20.2.4-next.2

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 (58) hide show
  1. package/common/index.d.ts +82 -1
  2. package/core/index.d.ts +24 -2
  3. package/fesm2022/acorex-platform-common.mjs +1 -1
  4. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  5. package/fesm2022/acorex-platform-layout-builder.mjs +47 -5
  6. package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
  7. package/fesm2022/acorex-platform-layout-components.mjs +943 -39
  8. package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
  9. package/fesm2022/acorex-platform-layout-designer.mjs +15 -122
  10. package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
  11. package/fesm2022/acorex-platform-layout-entity.mjs +1329 -568
  12. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  13. package/fesm2022/acorex-platform-layout-views.mjs +152 -40
  14. package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
  15. package/fesm2022/{acorex-platform-themes-default-entity-master-list-view.component-ezrf2oBR.mjs → acorex-platform-themes-default-entity-master-list-view.component-DXGLsVis.mjs} +174 -50
  16. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-DXGLsVis.mjs.map +1 -0
  17. package/fesm2022/{acorex-platform-themes-default-entity-master-single-view.component-D8r3S2lI.mjs → acorex-platform-themes-default-entity-master-single-view.component-CVaJzWb2.mjs} +14 -11
  18. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-CVaJzWb2.mjs.map +1 -0
  19. package/fesm2022/acorex-platform-themes-default.mjs +19 -7
  20. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
  21. package/fesm2022/{acorex-platform-themes-shared-color-chooser-column.component-DjKLg513.mjs → acorex-platform-themes-shared-theme-color-chooser-column.component-DjKLg513.mjs} +1 -1
  22. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-DjKLg513.mjs.map +1 -0
  23. package/fesm2022/{acorex-platform-themes-shared-color-chooser-view.component-DE0wO98F.mjs → acorex-platform-themes-shared-theme-color-chooser-view.component-DE0wO98F.mjs} +1 -1
  24. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-DE0wO98F.mjs.map +1 -0
  25. package/fesm2022/acorex-platform-themes-shared.mjs +11 -13
  26. package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
  27. package/fesm2022/acorex-platform-widgets-extra-properties-schema-widget-edit.component-B3SJUnGQ.mjs +50 -0
  28. package/fesm2022/acorex-platform-widgets-extra-properties-schema-widget-edit.component-B3SJUnGQ.mjs.map +1 -0
  29. package/fesm2022/acorex-platform-widgets-extra-properties-schema-widget-view.component-BLR0JkRt.mjs +42 -0
  30. package/fesm2022/acorex-platform-widgets-extra-properties-schema-widget-view.component-BLR0JkRt.mjs.map +1 -0
  31. package/fesm2022/acorex-platform-widgets-extra-properties-values-widget-edit.component-hzR2FgOm.mjs +55 -0
  32. package/fesm2022/acorex-platform-widgets-extra-properties-values-widget-edit.component-hzR2FgOm.mjs.map +1 -0
  33. package/fesm2022/acorex-platform-widgets-extra-properties-values-widget-view.component-IDm6Clua.mjs +50 -0
  34. package/fesm2022/acorex-platform-widgets-extra-properties-values-widget-view.component-IDm6Clua.mjs.map +1 -0
  35. package/fesm2022/acorex-platform-widgets-extra-properties-widget-edit.component-BRO9tYDa.mjs +48 -0
  36. package/fesm2022/acorex-platform-widgets-extra-properties-widget-edit.component-BRO9tYDa.mjs.map +1 -0
  37. package/fesm2022/acorex-platform-widgets-extra-properties-widget-view.component-CkpLimyW.mjs +42 -0
  38. package/fesm2022/acorex-platform-widgets-extra-properties-widget-view.component-CkpLimyW.mjs.map +1 -0
  39. package/fesm2022/{acorex-platform-widgets-file-list-popup.component-DFbPO0ud.mjs → acorex-platform-widgets-file-list-popup.component-B601gPsW.mjs} +66 -3
  40. package/fesm2022/acorex-platform-widgets-file-list-popup.component-B601gPsW.mjs.map +1 -0
  41. package/fesm2022/acorex-platform-widgets.mjs +824 -136
  42. package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
  43. package/fesm2022/acorex-platform-workflow.mjs +3 -0
  44. package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
  45. package/layout/builder/index.d.ts +12 -2
  46. package/layout/components/index.d.ts +172 -6
  47. package/layout/designer/index.d.ts +3 -46
  48. package/layout/entity/index.d.ts +70 -7
  49. package/layout/views/index.d.ts +53 -7
  50. package/package.json +1 -1
  51. package/themes/default/index.d.ts +4 -1
  52. package/widgets/index.d.ts +20 -11
  53. package/workflow/index.d.ts +3 -1
  54. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-ezrf2oBR.mjs.map +0 -1
  55. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-D8r3S2lI.mjs.map +0 -1
  56. package/fesm2022/acorex-platform-themes-shared-color-chooser-column.component-DjKLg513.mjs.map +0 -1
  57. package/fesm2022/acorex-platform-themes-shared-color-chooser-view.component-DE0wO98F.mjs.map +0 -1
  58. package/fesm2022/acorex-platform-widgets-file-list-popup.component-DFbPO0ud.mjs.map +0 -1
@@ -55,6 +55,7 @@ class AXPLayoutBuilderService {
55
55
  this.functions$ = signal({}, ...(ngDevMode ? [{ debugName: "functions$" }] : []));
56
56
  this.onRefresh = new Subject();
57
57
  this.widgets = new Map();
58
+ this.onWidgetRegistered = new Subject();
58
59
  this.status$ = signal(AXPPageStatus.Rendering, ...(ngDevMode ? [{ debugName: "status$" }] : []));
59
60
  this.status = this.status$.asReadonly();
60
61
  this.isBusy = computed(() => {
@@ -71,7 +72,7 @@ class AXPLayoutBuilderService {
71
72
  this.status$.update(() => this.detectStatus());
72
73
  }
73
74
  detectStatus() {
74
- const statuses = Array.from(this.widgets.values()).map(c => c.status());
75
+ const statuses = Array.from(this.widgets.values()).map((c) => c.status());
75
76
  // Rendering statuses
76
77
  if (statuses.some((status) => status === AXPWidgetStatus.Rendering)) {
77
78
  return AXPPageStatus.Rendering;
@@ -117,12 +118,46 @@ class AXPLayoutBuilderService {
117
118
  }
118
119
  registerWidget(id, widget) {
119
120
  this.widgets.set(id, widget);
121
+ this.onWidgetRegistered.next({ id, widget });
120
122
  }
121
123
  getWidget(id) {
122
124
  return this.widgets.get(id);
123
125
  }
124
- ngOnDestroy() {
126
+ /**
127
+ * Waits until a widget with the given id is registered, then resolves with it.
128
+ * If the widget is already registered, resolves immediately.
129
+ * Optionally accepts a timeout (in ms) after which it resolves with undefined.
130
+ */
131
+ async waitForWidget(id, timeoutMs) {
132
+ const existing = this.widgets.get(id);
133
+ if (existing) {
134
+ return existing;
135
+ }
136
+ return new Promise((resolve) => {
137
+ let resolved = false;
138
+ let timer = null;
139
+ const sub = this.onWidgetRegistered.subscribe(({ id: registeredId, widget }) => {
140
+ if (registeredId === id && !resolved) {
141
+ resolved = true;
142
+ sub.unsubscribe();
143
+ if (timer) {
144
+ clearTimeout(timer);
145
+ }
146
+ resolve(widget);
147
+ }
148
+ });
149
+ if (timeoutMs != null && timeoutMs > 0) {
150
+ timer = setTimeout(() => {
151
+ if (!resolved) {
152
+ resolved = true;
153
+ sub.unsubscribe();
154
+ resolve(undefined);
155
+ }
156
+ }, timeoutMs);
157
+ }
158
+ });
125
159
  }
160
+ ngOnDestroy() { }
126
161
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AXPLayoutBuilderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
127
162
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AXPLayoutBuilderService }); }
128
163
  }
@@ -195,6 +230,7 @@ const AXPWidgetsCatalog = {
195
230
  fileTypeExtension: 'file-type-extension',
196
231
  map: 'map',
197
232
  imageMarker: 'image-marker',
233
+ image: 'image',
198
234
  gallery: 'gallery',
199
235
  signature: 'signature',
200
236
  buttonAction: 'button-action',
@@ -222,7 +258,7 @@ const AXPWidgetsCatalog = {
222
258
  fontStyleChooser: 'font-style-chooser',
223
259
  fontSizeChooser: 'font-size-chooser',
224
260
  iconChooser: 'icon-chooser',
225
- colorChooser: 'color-chooser',
261
+ themeColorChooser: 'theme-color-chooser',
226
262
  gridOptions: 'grid-options',
227
263
  advancedGridOptions: 'advanced-grid-options',
228
264
  stringFilter: 'string-filter',
@@ -255,7 +291,7 @@ const AXPWidgetsCatalog = {
255
291
  templateEditor: 'template-box-editor',
256
292
  panel: 'panel',
257
293
  notification: 'notification',
258
- taskList: 'task-list',
294
+ taskBoard: 'task-board',
259
295
  comment: 'comment',
260
296
  list: 'list',
261
297
  listToolbar: 'list-toolbar',
@@ -663,6 +699,12 @@ class AXPWidgetContainerComponent {
663
699
  }
664
700
  });
665
701
  }
702
+ refresh() {
703
+ this.builderService.refresh();
704
+ }
705
+ find(name) {
706
+ return this.builderService.waitForWidget(name);
707
+ }
666
708
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AXPWidgetContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
667
709
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.6", type: AXPWidgetContainerComponent, isStandalone: false, selector: "axp-widgets-container", inputs: { context: "context", functions: "functions" }, outputs: { onContextChanged: "onContextChanged" }, host: { styleAttribute: "display: contents;" }, providers: [AXPLayoutBuilderService, AXPLayoutBuilderContextStore], ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
668
710
  }
@@ -905,7 +947,7 @@ class AXPWidgetRendererDirective {
905
947
  Object.entries(obj).forEach(([key, value]) => {
906
948
  const currentPath = pathPrefix ? `${pathPrefix}.${key}` : key;
907
949
  // CRITICAL FIX: Skip trigger actions during options processing
908
- //
950
+ //
909
951
  // PROBLEM: Trigger actions were being evaluated immediately during widget setup/options processing,
910
952
  // causing them to execute before the actual trigger event occurred. This meant triggers would fire
911
953
  // during initialization instead of when the specified context path actually changed.