@acorex/platform 20.0.6 → 20.0.8

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 (83) hide show
  1. package/auth/index.d.ts +37 -32
  2. package/common/index.d.ts +2 -2
  3. package/core/index.d.ts +4 -0
  4. package/domain/index.d.ts +2034 -2
  5. package/fesm2022/acorex-platform-auth.mjs +57 -21
  6. package/fesm2022/acorex-platform-auth.mjs.map +1 -1
  7. package/fesm2022/acorex-platform-common.mjs +92 -92
  8. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  9. package/fesm2022/acorex-platform-core.mjs +54 -42
  10. package/fesm2022/acorex-platform-core.mjs.map +1 -1
  11. package/fesm2022/acorex-platform-domain.mjs +3320 -7
  12. package/fesm2022/acorex-platform-domain.mjs.map +1 -1
  13. package/fesm2022/acorex-platform-layout-builder.mjs +172 -168
  14. package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
  15. package/fesm2022/acorex-platform-layout-components.mjs +103 -83
  16. package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
  17. package/fesm2022/acorex-platform-layout-designer.mjs +72 -72
  18. package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
  19. package/fesm2022/acorex-platform-layout-entity.mjs +94 -96
  20. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  21. package/fesm2022/acorex-platform-layout-views.mjs +340 -104
  22. package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
  23. package/fesm2022/acorex-platform-native.mjs +7 -7
  24. package/fesm2022/acorex-platform-native.mjs.map +1 -1
  25. package/fesm2022/acorex-platform-runtime.mjs +45 -43
  26. package/fesm2022/acorex-platform-runtime.mjs.map +1 -1
  27. package/fesm2022/{acorex-platform-themes-default-create-entity-view.component-BxYe1IlE.mjs → acorex-platform-themes-default-create-entity-view.component-DyVB3PZT.mjs} +4 -4
  28. package/fesm2022/{acorex-platform-themes-default-create-entity-view.component-BxYe1IlE.mjs.map → acorex-platform-themes-default-create-entity-view.component-DyVB3PZT.mjs.map} +1 -1
  29. package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-CzSqhYfE.mjs → acorex-platform-themes-default-entity-master-create-view.component-CsWVOu-r.mjs} +4 -4
  30. package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-CzSqhYfE.mjs.map → acorex-platform-themes-default-entity-master-create-view.component-CsWVOu-r.mjs.map} +1 -1
  31. package/fesm2022/{acorex-platform-themes-default-entity-master-list-view.component-BxdQ5JWS.mjs → acorex-platform-themes-default-entity-master-list-view.component-DgyzWR29.mjs} +20 -20
  32. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-DgyzWR29.mjs.map +1 -0
  33. package/fesm2022/{acorex-platform-themes-default-entity-master-modify-view.component-12xcM8FJ.mjs → acorex-platform-themes-default-entity-master-modify-view.component-gJap_TBH.mjs} +4 -4
  34. package/fesm2022/{acorex-platform-themes-default-entity-master-modify-view.component-12xcM8FJ.mjs.map → acorex-platform-themes-default-entity-master-modify-view.component-gJap_TBH.mjs.map} +1 -1
  35. package/fesm2022/{acorex-platform-themes-default-entity-master-single-view.component--tn_1mKA.mjs → acorex-platform-themes-default-entity-master-single-view.component-BUNm9JV5.mjs} +7 -7
  36. package/fesm2022/{acorex-platform-themes-default-entity-master-single-view.component--tn_1mKA.mjs.map → acorex-platform-themes-default-entity-master-single-view.component-BUNm9JV5.mjs.map} +1 -1
  37. package/fesm2022/{acorex-platform-themes-default-error-401.component-8QfQ3hNo.mjs → acorex-platform-themes-default-error-401.component-DP3msj3d.mjs} +4 -4
  38. package/fesm2022/{acorex-platform-themes-default-error-401.component-8QfQ3hNo.mjs.map → acorex-platform-themes-default-error-401.component-DP3msj3d.mjs.map} +1 -1
  39. package/fesm2022/{acorex-platform-themes-default-error-404.component-D9npA9_W.mjs → acorex-platform-themes-default-error-404.component-uvBHGbHY.mjs} +4 -4
  40. package/fesm2022/{acorex-platform-themes-default-error-404.component-D9npA9_W.mjs.map → acorex-platform-themes-default-error-404.component-uvBHGbHY.mjs.map} +1 -1
  41. package/fesm2022/{acorex-platform-themes-default-error-offline.component-BQpVnLzt.mjs → acorex-platform-themes-default-error-offline.component-CdXIik4U.mjs} +4 -4
  42. package/fesm2022/{acorex-platform-themes-default-error-offline.component-BQpVnLzt.mjs.map → acorex-platform-themes-default-error-offline.component-CdXIik4U.mjs.map} +1 -1
  43. package/fesm2022/acorex-platform-themes-default.mjs +469 -51
  44. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
  45. package/fesm2022/acorex-platform-themes-shared.mjs +22 -23
  46. package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
  47. package/fesm2022/{acorex-platform-widgets-button-widget-designer.component-BIZkWv8q.mjs → acorex-platform-widgets-button-widget-designer.component-CgUkYMwV.mjs} +4 -4
  48. package/fesm2022/{acorex-platform-widgets-button-widget-designer.component-BIZkWv8q.mjs.map → acorex-platform-widgets-button-widget-designer.component-CgUkYMwV.mjs.map} +1 -1
  49. package/fesm2022/{acorex-platform-widgets-checkbox-widget-column.component-MjSzOXIJ.mjs → acorex-platform-widgets-checkbox-widget-column.component-Dn0U56O7.mjs} +4 -4
  50. package/fesm2022/{acorex-platform-widgets-checkbox-widget-column.component-MjSzOXIJ.mjs.map → acorex-platform-widgets-checkbox-widget-column.component-Dn0U56O7.mjs.map} +1 -1
  51. package/fesm2022/{acorex-platform-widgets-checkbox-widget-designer.component-BuU7nJ6u.mjs → acorex-platform-widgets-checkbox-widget-designer.component-BD0-kCi0.mjs} +4 -4
  52. package/fesm2022/{acorex-platform-widgets-checkbox-widget-designer.component-BuU7nJ6u.mjs.map → acorex-platform-widgets-checkbox-widget-designer.component-BD0-kCi0.mjs.map} +1 -1
  53. package/fesm2022/{acorex-platform-widgets-checkbox-widget-view.component-BgrIeNW0.mjs → acorex-platform-widgets-checkbox-widget-view.component-CzCWGDil.mjs} +4 -4
  54. package/fesm2022/{acorex-platform-widgets-checkbox-widget-view.component-BgrIeNW0.mjs.map → acorex-platform-widgets-checkbox-widget-view.component-CzCWGDil.mjs.map} +1 -1
  55. package/fesm2022/{acorex-platform-widgets-color-box-widget-designer.component-BTxAgvMQ.mjs → acorex-platform-widgets-color-box-widget-designer.component-BSRAHIPQ.mjs} +4 -4
  56. package/fesm2022/{acorex-platform-widgets-color-box-widget-designer.component-BTxAgvMQ.mjs.map → acorex-platform-widgets-color-box-widget-designer.component-BSRAHIPQ.mjs.map} +1 -1
  57. package/fesm2022/{acorex-platform-widgets-contact-widget-filter.component-DCUfKMJ6.mjs → acorex-platform-widgets-contact-widget-filter.component-CtCAgeH9.mjs} +4 -4
  58. package/fesm2022/{acorex-platform-widgets-contact-widget-filter.component-DCUfKMJ6.mjs.map → acorex-platform-widgets-contact-widget-filter.component-CtCAgeH9.mjs.map} +1 -1
  59. package/fesm2022/{acorex-platform-widgets-file-list-popup.component-yqqPJMg2.mjs → acorex-platform-widgets-file-list-popup.component-hyJf0xT2.mjs} +4 -4
  60. package/fesm2022/{acorex-platform-widgets-file-list-popup.component-yqqPJMg2.mjs.map → acorex-platform-widgets-file-list-popup.component-hyJf0xT2.mjs.map} +1 -1
  61. package/fesm2022/acorex-platform-widgets-file-rename-popup.component-BSm6Qew2.mjs +211 -0
  62. package/fesm2022/acorex-platform-widgets-file-rename-popup.component-BSm6Qew2.mjs.map +1 -0
  63. package/fesm2022/{acorex-platform-widgets-page-widget-designer.component-Dwts3at7.mjs → acorex-platform-widgets-page-widget-designer.component-Dlu4Tkou.mjs} +4 -4
  64. package/fesm2022/{acorex-platform-widgets-page-widget-designer.component-Dwts3at7.mjs.map → acorex-platform-widgets-page-widget-designer.component-Dlu4Tkou.mjs.map} +1 -1
  65. package/fesm2022/{acorex-platform-widgets-rich-text-popup.component-Bk20MsqK.mjs → acorex-platform-widgets-rich-text-popup.component-DB2IMaLw.mjs} +4 -4
  66. package/fesm2022/{acorex-platform-widgets-rich-text-popup.component-Bk20MsqK.mjs.map → acorex-platform-widgets-rich-text-popup.component-DB2IMaLw.mjs.map} +1 -1
  67. package/fesm2022/{acorex-platform-widgets-tabular-data-edit-popup.component-2srL34Aq.mjs → acorex-platform-widgets-tabular-data-edit-popup.component-CBOUSkL4.mjs} +4 -4
  68. package/fesm2022/{acorex-platform-widgets-tabular-data-edit-popup.component-2srL34Aq.mjs.map → acorex-platform-widgets-tabular-data-edit-popup.component-CBOUSkL4.mjs.map} +1 -1
  69. package/fesm2022/{acorex-platform-widgets-tabular-data-view-popup.component-D9654sA3.mjs → acorex-platform-widgets-tabular-data-view-popup.component-Dl5U2HFR.mjs} +4 -4
  70. package/fesm2022/{acorex-platform-widgets-tabular-data-view-popup.component-D9654sA3.mjs.map → acorex-platform-widgets-tabular-data-view-popup.component-Dl5U2HFR.mjs.map} +1 -1
  71. package/fesm2022/{acorex-platform-widgets-text-block-widget-designer.component-C1VgsL1j.mjs → acorex-platform-widgets-text-block-widget-designer.component-CG_2APU3.mjs} +4 -4
  72. package/fesm2022/{acorex-platform-widgets-text-block-widget-designer.component-C1VgsL1j.mjs.map → acorex-platform-widgets-text-block-widget-designer.component-CG_2APU3.mjs.map} +1 -1
  73. package/fesm2022/acorex-platform-widgets.mjs +884 -677
  74. package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
  75. package/fesm2022/acorex-platform-workflow.mjs +25 -25
  76. package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
  77. package/layout/builder/index.d.ts +17 -10
  78. package/layout/components/index.d.ts +3 -0
  79. package/layout/views/index.d.ts +83 -24
  80. package/package.json +1 -1
  81. package/widgets/index.d.ts +15 -7
  82. package/domain/README.md +0 -3
  83. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-BxdQ5JWS.mjs.map +0 -1
@@ -6,9 +6,9 @@ import { CommonModule } from '@angular/common';
6
6
  import * as i0 from '@angular/core';
7
7
  import { signal, computed, Injectable, InjectionToken, inject, Injector, ChangeDetectorRef, ViewChild, Input, ChangeDetectionStrategy, Component, EventEmitter, effect, Output, input, output, ViewContainerRef, Directive, Optional, Inject, NgModule, ElementRef } from '@angular/core';
8
8
  import { AXDataTableColumnComponent, AXBaseDataTable } from '@acorex/components/data-table';
9
- import { set, merge, cloneDeep, isNil, get, isEqual, sum, isEmpty, isString, isUndefined } from 'lodash-es';
9
+ import { set, merge, cloneDeep, isNil, isEqual, get, sum, isEmpty, isString, isUndefined } from 'lodash-es';
10
10
  import { Subject, filter, BehaviorSubject } from 'rxjs';
11
- import { getSmart, setSmart } from '@acorex/platform/core';
11
+ import { getSmart, setSmart, AXPExpressionEvaluatorService } from '@acorex/platform/core';
12
12
  import { signalStore, withState, withComputed, withMethods, patchState } from '@ngrx/signals';
13
13
  import { AXTranslationService } from '@acorex/core/translation';
14
14
  import { AXUnsubscriber } from '@acorex/core/utils';
@@ -122,10 +122,10 @@ class AXPLayoutBuilderService {
122
122
  }
123
123
  ngOnDestroy() {
124
124
  }
125
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: AXPLayoutBuilderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
126
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: AXPLayoutBuilderService }); }
125
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: AXPLayoutBuilderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
126
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: AXPLayoutBuilderService }); }
127
127
  }
128
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: AXPLayoutBuilderService, decorators: [{
128
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: AXPLayoutBuilderService, decorators: [{
129
129
  type: Injectable
130
130
  }] });
131
131
 
@@ -156,10 +156,10 @@ class AXPWidgetRegistryService {
156
156
  all() {
157
157
  return Array.from(this.types.values());
158
158
  }
159
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: AXPWidgetRegistryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
160
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: AXPWidgetRegistryService, providedIn: 'root' }); }
159
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: AXPWidgetRegistryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
160
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: AXPWidgetRegistryService, providedIn: 'root' }); }
161
161
  }
162
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: AXPWidgetRegistryService, decorators: [{
162
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: AXPWidgetRegistryService, decorators: [{
163
163
  type: Injectable,
164
164
  args: [{
165
165
  providedIn: 'root',
@@ -411,8 +411,8 @@ class AXPWidgetColumnRendererComponent extends AXDataTableColumnComponent {
411
411
  rowData: data
412
412
  };
413
413
  }
414
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: AXPWidgetColumnRendererComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
415
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.4", type: AXPWidgetColumnRendererComponent, isStandalone: false, selector: "axp-widget-column-renderer", inputs: { caption: "caption", customExpandIcon: "customExpandIcon", customCollapseIcon: "customCollapseIcon", customWidth: "customWidth", node: "node", footerTemplate: "footerTemplate", expandHandler: "expandHandler", cellTemplate: "cellTemplate", headerTemplate: "headerTemplate" }, providers: [
414
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: AXPWidgetColumnRendererComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
415
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: AXPWidgetColumnRendererComponent, isStandalone: false, selector: "axp-widget-column-renderer", inputs: { caption: "caption", customExpandIcon: "customExpandIcon", customCollapseIcon: "customCollapseIcon", customWidth: "customWidth", node: "node", footerTemplate: "footerTemplate", expandHandler: "expandHandler", cellTemplate: "cellTemplate", headerTemplate: "headerTemplate" }, providers: [
416
416
  AXPLayoutBuilderService,
417
417
  { provide: AXDataTableColumnComponent, useExisting: AXPWidgetColumnRendererComponent },
418
418
  ], viewQueries: [{ propertyName: "_contentFooterTemplate", first: true, predicate: ["footer"], descendants: true }, { propertyName: "_contentCellTemplate", first: true, predicate: ["cell"], descendants: true }, { propertyName: "_contentHeaderTemplate", first: true, predicate: ["header"], descendants: true }], usesInheritance: true, ngImport: i0, template: `
@@ -445,7 +445,7 @@ class AXPWidgetColumnRendererComponent extends AXDataTableColumnComponent {
445
445
  <ng-template #footer></ng-template>
446
446
  `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"], exportAs: ["ngComponentOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
447
447
  }
448
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: AXPWidgetColumnRendererComponent, decorators: [{
448
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: AXPWidgetColumnRendererComponent, decorators: [{
449
449
  type: Component,
450
450
  args: [{
451
451
  selector: 'axp-widget-column-renderer',
@@ -533,6 +533,7 @@ withComputed(({ data, state, lastChange, initialSnapshot, previousSnapshot }) =>
533
533
  isReset: computed(() => state() === 'restored'),
534
534
  isInitiated: computed(() => state() === 'initiated'),
535
535
  isEmpty: computed(() => Object.keys(data()).length === 0),
536
+ isDirty: computed(() => !isEqual(data(), previousSnapshot())),
536
537
  snapshot: computed(() => cloneDeep(data())), // Current data snapshot
537
538
  initial: computed(() => cloneDeep(initialSnapshot())), // Initial snapshot
538
539
  previous: computed(() => cloneDeep(previousSnapshot())), // Previous snapshot
@@ -648,10 +649,10 @@ class AXPWidgetContainerComponent {
648
649
  }
649
650
  });
650
651
  }
651
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: AXPWidgetContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
652
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.4", 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 }); }
652
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: AXPWidgetContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
653
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.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 }); }
653
654
  }
654
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: AXPWidgetContainerComponent, decorators: [{
655
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: AXPWidgetContainerComponent, decorators: [{
655
656
  type: Component,
656
657
  args: [{
657
658
  selector: 'axp-widgets-container',
@@ -670,12 +671,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
670
671
  }] } });
671
672
 
672
673
  class AXPWidgetPlaceholderComponent {
673
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: AXPWidgetPlaceholderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
674
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.4", type: AXPWidgetPlaceholderComponent, isStandalone: true, selector: "axp-widget-placeholder", ngImport: i0, template: `<div>
674
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: AXPWidgetPlaceholderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
675
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.6", type: AXPWidgetPlaceholderComponent, isStandalone: true, selector: "axp-widget-placeholder", ngImport: i0, template: `<div>
675
676
  <ax-skeleton class="ax-w-full ax-h-10 ax-rounded-md"></ax-skeleton>
676
677
  </div>`, isInline: true, dependencies: [{ kind: "ngmodule", type: AXSkeletonModule }, { kind: "component", type: i1$1.AXSkeletonComponent, selector: "ax-skeleton", inputs: ["animated"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
677
678
  }
678
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: AXPWidgetPlaceholderComponent, decorators: [{
679
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: AXPWidgetPlaceholderComponent, decorators: [{
679
680
  type: Component,
680
681
  args: [{
681
682
  selector: 'axp-widget-placeholder',
@@ -706,11 +707,10 @@ class AXPWidgetRendererDirective {
706
707
  this.unsubscriber = inject(AXUnsubscriber);
707
708
  this.translateService = inject(AXTranslationService);
708
709
  this.widgetService = inject(AXPWidgetRegistryService);
710
+ this.expressionEvaluator = inject(AXPExpressionEvaluatorService);
709
711
  this.viewContainerRef = inject(ViewContainerRef);
710
712
  this.isLoading = signal(false);
711
- this.expressionCache = new Map();
712
713
  this.expressionEvaluators = new Map();
713
- this.scope = null;
714
714
  this.onContextChanged = new Subject();
715
715
  effect(async () => {
716
716
  const changed = this.contextService.changeEvent();
@@ -840,7 +840,7 @@ class AXPWidgetRendererDirective {
840
840
  }
841
841
  Object.entries(obj).forEach(([key, value]) => {
842
842
  const currentPath = pathPrefix ? `${pathPrefix}.${key}` : key;
843
- if (typeof value === 'string' && value.includes('{{')) {
843
+ if (typeof value === 'string' && this.expressionEvaluator.isExpression(value)) {
844
844
  // Cache dynamic expression for later evaluation
845
845
  this.expressionEvaluators.set(currentPath, () => this.evaluateExpression(value));
846
846
  }
@@ -886,170 +886,172 @@ class AXPWidgetRendererDirective {
886
886
  }
887
887
  async evaluateExpression(templateExpression) {
888
888
  try {
889
- // Check cache first, but cache the function for evaluation, not the evaluated value
890
- if (!this.expressionCache.has(templateExpression)) {
891
- const expressionMatch = templateExpression.match(/\{\{\s*(.*?)\s*\}\}/);
892
- if (!expressionMatch) {
893
- throw Error(`No valid expression found in "${templateExpression}"`);
894
- }
895
- const expression = expressionMatch[1];
896
- // Cache the evaluation function instead of the result
897
- const scope = this.getGlobalScope();
898
- const evaluationFunction = async () => {
899
- const sandbox = new Function('scope', `with (scope) { return (async function() { return ${expression}; })(); }`);
900
- return await sandbox(scope);
901
- };
902
- this.expressionCache.set(templateExpression, evaluationFunction);
903
- }
904
- // Retrieve the function from the cache and call it to evaluate the expression
905
- const evaluate = this.expressionCache.get(templateExpression);
906
- if (evaluate) {
907
- const result = await evaluate();
908
- return result;
909
- }
910
- else {
911
- throw Error(`Failed to retrieve evaluation function for expression: "${templateExpression}"`);
912
- }
889
+ const scope = this.buildExpressionScope();
890
+ return await this.expressionEvaluator.evaluate(templateExpression, scope);
913
891
  }
914
892
  catch (error) {
915
893
  console.error('Error evaluating expression:', error);
916
894
  return false;
917
895
  }
918
896
  }
919
- getGlobalScope() {
920
- if (this.scope)
921
- return this.scope;
922
- this.scope = {};
923
- set(this.scope, 'context', this.getContextScope());
924
- set(this.scope, 'events', this.getEventScope());
925
- set(this.scope, 'widget', this.getWidgetScope());
926
- set(this.scope, 'methods', this.getFunctionScope());
927
- set(this.scope, 'vars', this.getVariablesScope());
928
- return this.scope;
897
+ buildExpressionScope() {
898
+ return {
899
+ context: this.getContextScope(),
900
+ events: this.getEventScope(),
901
+ widget: this.getWidgetScope(),
902
+ methods: this.getFunctionScope(),
903
+ vars: this.getVariablesScope(),
904
+ };
929
905
  }
930
906
  getContextScope() {
931
- const scope = {};
932
- set(scope, 'eval', (path) => this.contextService.getValue(path));
933
- set(scope, 'set', (path, value) => {
934
- this.contextService.update(path, value);
935
- });
936
- return scope;
907
+ return {
908
+ eval: (path) => {
909
+ //TODO: Handle array index
910
+ const fullPath = path.startsWith('>') ? `${this.instance?.parentPath()}.${path.substring(1)}` : path;
911
+ const value = this.contextService.getValue(fullPath);
912
+ return value;
913
+ },
914
+ set: (path, value) => {
915
+ this.contextService.update(path, value);
916
+ },
917
+ isDirty: () => {
918
+ return this.contextService.isDirty();
919
+ },
920
+ };
937
921
  }
938
922
  getEventScope() {
939
- const scope = {};
940
- set(scope, 'context', (path) => {
941
- return this.onContextChanged.pipe(filter((c) => {
942
- if (path == null) {
943
- return true;
944
- }
945
- if (path.endsWith('*')) {
946
- return c.path.startsWith(path.substring(0, path.length - 1));
947
- }
948
- else if (path.startsWith('*')) {
949
- return c.path.startsWith(path.substring(1, path.length));
950
- }
951
- else {
952
- return path == c.path;
953
- }
954
- }));
955
- });
956
- set(scope, 'from', (event) => get(this.instance.api(), event));
957
- return scope;
923
+ return {
924
+ context: (path) => {
925
+ return this.onContextChanged.pipe(filter((c) => {
926
+ // If no path filter specified, pass all events
927
+ if (path == null || path === '') {
928
+ return true;
929
+ }
930
+ // Ensure c.path exists
931
+ if (!c.path) {
932
+ return false;
933
+ }
934
+ // Pattern: "prefix*" - matches paths that start with prefix
935
+ if (path.endsWith('*')) {
936
+ const prefix = path.substring(0, path.length - 1);
937
+ return c.path.startsWith(prefix);
938
+ }
939
+ // Pattern: "*suffix" - matches paths that end with suffix
940
+ else if (path.startsWith('*')) {
941
+ const suffix = path.substring(1);
942
+ return c.path.endsWith(suffix);
943
+ }
944
+ // Exact match
945
+ else {
946
+ return c.path === path;
947
+ }
948
+ }));
949
+ },
950
+ from: (event) => get(this.instance.api(), event),
951
+ };
958
952
  }
959
953
  getWidgetScope() {
960
- const scope = {};
961
- set(scope, 'call', (name, ...args) => {
962
- this.instance.call(name, ...args);
963
- });
964
- set(scope, 'setValue', (value) => {
965
- this.instance.setValue(value);
966
- });
967
- set(scope, 'output', (name) => {
968
- this.instance.output(name);
969
- });
970
- set(scope, 'find', (id) => {
971
- return this.builderService.getWidget(id);
972
- });
973
- return scope;
954
+ return {
955
+ call: (name, ...args) => {
956
+ this.instance.call(name, ...args);
957
+ },
958
+ setValue: (value) => {
959
+ this.instance.setValue(value);
960
+ },
961
+ output: (name) => {
962
+ this.instance.output(name);
963
+ },
964
+ find: (id) => {
965
+ return this.builderService.getWidget(id);
966
+ },
967
+ };
974
968
  }
975
969
  getFunctionScope() {
976
- const scope = {};
977
- set(scope, 'sum', (values) => {
978
- return sum(values);
979
- });
980
- set(scope, 'translate', (text, options) => {
981
- return this.translateService.translateAsync(text, options);
982
- });
983
- set(scope, 'widgetInfo', (name) => {
984
- return this.widgetService.resolve(name);
985
- });
986
- Object.entries(this.builderService.functions).forEach((i) => {
987
- set(scope, i[0], (...args) => {
988
- return i[1](...args);
989
- });
970
+ const scope = {
971
+ sum: (values) => {
972
+ return sum(values);
973
+ },
974
+ translate: (text, options) => {
975
+ return this.translateService.translateAsync(text, options);
976
+ },
977
+ widgetInfo: (name) => {
978
+ return this.widgetService.resolve(name);
979
+ },
980
+ };
981
+ // Add custom functions from builder service
982
+ Object.entries(this.builderService.functions).forEach(([key, fn]) => {
983
+ scope[key] = (...args) => {
984
+ return fn(...args);
985
+ };
990
986
  });
991
987
  return scope;
992
988
  }
993
989
  getVariablesScope() {
994
- const scope = {};
995
- set(scope, 'eval', (path) => get(this.builderService.variables, path));
996
- return scope;
990
+ return {
991
+ eval: (path) => get(this.builderService.variables, path),
992
+ };
997
993
  }
998
994
  async assignTriggers() {
999
- this.node().triggers?.forEach((t) => {
1000
- const event = this.evaluateTrigger(t.event);
1001
- event?.pipe(this.unsubscriber.takeUntilDestroy).subscribe((c) => {
1002
- const exec = (action) => {
1003
- if (!isEmpty(action) && isString(action)) {
1004
- this.evaluateAction(action);
1005
- }
1006
- };
1007
- const actions = Array.isArray(t.action) ? t.action : [t.action];
1008
- actions.forEach((a) => exec(a));
1009
- });
1010
- });
995
+ const node = this.node();
996
+ // Check multiple possible locations for triggers
997
+ const triggers = node.triggers || node.options?.['triggers'] || this.mergedOptions()?.triggers;
998
+ if (!triggers) {
999
+ return;
1000
+ }
1001
+ for (const trigger of triggers) {
1002
+ try {
1003
+ const event = await this.evaluateTrigger(trigger.event);
1004
+ if (event) {
1005
+ event.pipe(this.unsubscriber.takeUntilDestroy).subscribe(() => {
1006
+ const exec = async (action) => {
1007
+ if (!isEmpty(action) && isString(action)) {
1008
+ await this.evaluateAction(action);
1009
+ }
1010
+ };
1011
+ const actions = Array.isArray(trigger.action) ? trigger.action : [trigger.action];
1012
+ actions.forEach((a) => exec(a));
1013
+ });
1014
+ }
1015
+ }
1016
+ catch (error) {
1017
+ console.error('Error assigning trigger:', error);
1018
+ }
1019
+ }
1011
1020
  }
1012
- evaluateTrigger(templateExpression) {
1021
+ async evaluateTrigger(templateExpression) {
1013
1022
  try {
1014
- const expressionMatch = templateExpression.match(/\{\{\s*(.*?)\s*\}\}/);
1015
- if (!expressionMatch) {
1016
- throw Error(`No valid expression found in "${templateExpression}"`);
1023
+ const scope = this.buildExpressionScope();
1024
+ const result = await this.expressionEvaluator.evaluate(templateExpression, scope);
1025
+ // Check if result is an Observable
1026
+ if (result && typeof result.subscribe === 'function') {
1027
+ return result;
1028
+ }
1029
+ else {
1030
+ return null;
1017
1031
  }
1018
- const expression = expressionMatch[1];
1019
- // Cache the evaluation function instead of the result
1020
- const scope = this.getGlobalScope();
1021
- const sandbox = new Function('scope', `with (scope) { return ( function() { return ${expression}; })(); }`);
1022
- return sandbox(scope);
1023
1032
  }
1024
1033
  catch (error) {
1025
- console.error('Error evaluating expression:', error);
1034
+ console.error('Error evaluating trigger expression:', error);
1026
1035
  return null;
1027
1036
  }
1028
1037
  }
1029
- evaluateAction(templateExpression) {
1038
+ async evaluateAction(templateExpression) {
1030
1039
  try {
1031
- const expressionMatch = templateExpression.match(/\{\{\s*(.*?)\s*\}\}/);
1032
- if (!expressionMatch) {
1033
- throw Error(`No valid expression found in "${templateExpression}"`);
1034
- }
1035
- const expression = expressionMatch[1];
1036
- // Cache the evaluation function instead of the result
1037
- const scope = this.getGlobalScope();
1038
- const sandbox = new Function('scope', `with (scope) { ${expression} }`);
1039
- sandbox(scope);
1040
+ const scope = this.buildExpressionScope();
1041
+ await this.expressionEvaluator.evaluate(templateExpression, scope);
1040
1042
  }
1041
1043
  catch (error) {
1042
- console.error('Error evaluating expression:', error);
1044
+ console.error('Error evaluating action expression:', templateExpression, error);
1043
1045
  }
1044
1046
  }
1045
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: AXPWidgetRendererDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1046
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.0.4", type: AXPWidgetRendererDirective, isStandalone: false, selector: "[axp-widget-renderer]", inputs: { parentNode: { classPropertyName: "parentNode", publicName: "parentNode", isSignal: true, isRequired: false, transformFunction: null }, index: { classPropertyName: "index", publicName: "index", isSignal: true, isRequired: false, transformFunction: null }, mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: true, transformFunction: null }, node: { classPropertyName: "node", publicName: "node", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { onOptionsChanged: "onOptionsChanged", onValueChanged: "onValueChanged" }, providers: [
1047
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: AXPWidgetRendererDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1048
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.0.6", type: AXPWidgetRendererDirective, isStandalone: false, selector: "[axp-widget-renderer]", inputs: { parentNode: { classPropertyName: "parentNode", publicName: "parentNode", isSignal: true, isRequired: false, transformFunction: null }, index: { classPropertyName: "index", publicName: "index", isSignal: true, isRequired: false, transformFunction: null }, mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: true, transformFunction: null }, node: { classPropertyName: "node", publicName: "node", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { onOptionsChanged: "onOptionsChanged", onValueChanged: "onValueChanged" }, providers: [
1047
1049
  {
1048
1050
  provide: AXUnsubscriber,
1049
1051
  },
1050
1052
  ], exportAs: ["widgetRenderer"], usesOnChanges: true, ngImport: i0 }); }
1051
1053
  }
1052
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: AXPWidgetRendererDirective, decorators: [{
1054
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: AXPWidgetRendererDirective, decorators: [{
1053
1055
  type: Directive,
1054
1056
  args: [{
1055
1057
  selector: '[axp-widget-renderer]',
@@ -1105,11 +1107,11 @@ class AXPLayoutBuilderModule {
1105
1107
  f();
1106
1108
  });
1107
1109
  }
1108
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: AXPLayoutBuilderModule, deps: [{ token: 'AXPLayoutBuilderModuleFactory', optional: true }], target: i0.ɵɵFactoryTarget.NgModule }); }
1109
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.4", ngImport: i0, type: AXPLayoutBuilderModule, declarations: [AXPWidgetContainerComponent, AXPWidgetColumnRendererComponent, AXPWidgetRendererDirective], imports: [CommonModule, PortalModule, AXSkeletonModule, CommonModule], exports: [AXPWidgetContainerComponent, AXPWidgetColumnRendererComponent, AXPWidgetRendererDirective] }); }
1110
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: AXPLayoutBuilderModule, imports: [CommonModule, PortalModule, AXSkeletonModule, CommonModule] }); }
1110
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: AXPLayoutBuilderModule, deps: [{ token: 'AXPLayoutBuilderModuleFactory', optional: true }], target: i0.ɵɵFactoryTarget.NgModule }); }
1111
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.6", ngImport: i0, type: AXPLayoutBuilderModule, declarations: [AXPWidgetContainerComponent, AXPWidgetColumnRendererComponent, AXPWidgetRendererDirective], imports: [CommonModule, PortalModule, AXSkeletonModule, CommonModule], exports: [AXPWidgetContainerComponent, AXPWidgetColumnRendererComponent, AXPWidgetRendererDirective] }); }
1112
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: AXPLayoutBuilderModule, imports: [CommonModule, PortalModule, AXSkeletonModule, CommonModule] }); }
1111
1113
  }
1112
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: AXPLayoutBuilderModule, decorators: [{
1114
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: AXPLayoutBuilderModule, decorators: [{
1113
1115
  type: NgModule,
1114
1116
  args: [{
1115
1117
  imports: [CommonModule, PortalModule, AXSkeletonModule, CommonModule],
@@ -1140,10 +1142,10 @@ class AXPWidgetDataSourceProviderService {
1140
1142
  async get(name) {
1141
1143
  return (await this.items()).find((c) => c.name == name);
1142
1144
  }
1143
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: AXPWidgetDataSourceProviderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1144
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: AXPWidgetDataSourceProviderService, providedIn: 'root' }); }
1145
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: AXPWidgetDataSourceProviderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1146
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: AXPWidgetDataSourceProviderService, providedIn: 'root' }); }
1145
1147
  }
1146
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: AXPWidgetDataSourceProviderService, decorators: [{
1148
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: AXPWidgetDataSourceProviderService, decorators: [{
1147
1149
  type: Injectable,
1148
1150
  args: [{ providedIn: 'root' }]
1149
1151
  }] });
@@ -1251,17 +1253,17 @@ class AXPBaseWidgetComponent extends AXPLayoutElement {
1251
1253
  this._children.set([...children]);
1252
1254
  }
1253
1255
  onAdded() { }
1254
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: AXPBaseWidgetComponent, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
1255
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: AXPBaseWidgetComponent }); }
1256
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: AXPBaseWidgetComponent, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
1257
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: AXPBaseWidgetComponent }); }
1256
1258
  }
1257
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: AXPBaseWidgetComponent, decorators: [{
1259
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: AXPBaseWidgetComponent, decorators: [{
1258
1260
  type: Injectable
1259
1261
  }] });
1260
1262
  class AXPLayoutWidgetComponent extends AXPBaseWidgetComponent {
1261
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: AXPLayoutWidgetComponent, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
1262
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: AXPLayoutWidgetComponent }); }
1263
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: AXPLayoutWidgetComponent, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
1264
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: AXPLayoutWidgetComponent }); }
1263
1265
  }
1264
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: AXPLayoutWidgetComponent, decorators: [{
1266
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: AXPLayoutWidgetComponent, decorators: [{
1265
1267
  type: Injectable
1266
1268
  }] });
1267
1269
  class AXPValueWidgetComponent extends AXPLayoutWidgetComponent {
@@ -1273,6 +1275,7 @@ class AXPValueWidgetComponent extends AXPLayoutWidgetComponent {
1273
1275
  this.isValueWidget = () => this._isValueWidget;
1274
1276
  this.onValueChanged = new Subject();
1275
1277
  this.fullPath = signal(null);
1278
+ this.parentPath = signal(null);
1276
1279
  this.getValue = computed(() => {
1277
1280
  return this.fullPath() ? this.extractValue(this.fullPath()) : null;
1278
1281
  }, { equal: isEqual });
@@ -1353,6 +1356,7 @@ class AXPValueWidgetComponent extends AXPLayoutWidgetComponent {
1353
1356
  }
1354
1357
  //
1355
1358
  this.fullPath.set(sections.reverse().join('.'));
1359
+ this.parentPath.set(sections.slice(0, sections.length - 1).join('.'));
1356
1360
  this._id = this.name || this.parent ? ids.reverse().join('_') : null;
1357
1361
  if (this._id) {
1358
1362
  this.layoutService.registerWidget(this._id, this);
@@ -1363,10 +1367,10 @@ class AXPValueWidgetComponent extends AXPLayoutWidgetComponent {
1363
1367
  this.setValue(e.value);
1364
1368
  }
1365
1369
  }
1366
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: AXPValueWidgetComponent, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
1367
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: AXPValueWidgetComponent }); }
1370
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: AXPValueWidgetComponent, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
1371
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: AXPValueWidgetComponent }); }
1368
1372
  }
1369
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: AXPValueWidgetComponent, decorators: [{
1373
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: AXPValueWidgetComponent, decorators: [{
1370
1374
  type: Injectable
1371
1375
  }] });
1372
1376
  class AXPDataListWidgetComponent extends AXPValueWidgetComponent {
@@ -1434,10 +1438,10 @@ class AXPDataListWidgetComponent extends AXPValueWidgetComponent {
1434
1438
  }
1435
1439
  });
1436
1440
  }
1437
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: AXPDataListWidgetComponent, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
1438
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: AXPDataListWidgetComponent }); }
1441
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: AXPDataListWidgetComponent, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
1442
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: AXPDataListWidgetComponent }); }
1439
1443
  }
1440
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: AXPDataListWidgetComponent, decorators: [{
1444
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: AXPDataListWidgetComponent, decorators: [{
1441
1445
  type: Injectable
1442
1446
  }] });
1443
1447
  class AXPColumnWidgetComponent {
@@ -1447,10 +1451,10 @@ class AXPColumnWidgetComponent {
1447
1451
  this.options = this.token.options ?? {};
1448
1452
  this.rawValue = null;
1449
1453
  }
1450
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: AXPColumnWidgetComponent, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1451
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: AXPColumnWidgetComponent }); }
1454
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: AXPColumnWidgetComponent, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1455
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: AXPColumnWidgetComponent }); }
1452
1456
  }
1453
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: AXPColumnWidgetComponent, decorators: [{
1457
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: AXPColumnWidgetComponent, decorators: [{
1454
1458
  type: Injectable
1455
1459
  }] });
1456
1460