@acorex/platform 20.3.0-next.8 → 20.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (132) hide show
  1. package/common/index.d.ts +643 -367
  2. package/core/index.d.ts +91 -66
  3. package/fesm2022/acorex-platform-auth.mjs +19 -19
  4. package/fesm2022/acorex-platform-auth.mjs.map +1 -1
  5. package/fesm2022/acorex-platform-common-common-settings.provider-9OHien_H.mjs +47 -0
  6. package/fesm2022/acorex-platform-common-common-settings.provider-9OHien_H.mjs.map +1 -0
  7. package/fesm2022/acorex-platform-common.mjs +678 -252
  8. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  9. package/fesm2022/acorex-platform-core.mjs +173 -161
  10. package/fesm2022/acorex-platform-core.mjs.map +1 -1
  11. package/fesm2022/acorex-platform-domain.mjs +16 -16
  12. package/fesm2022/acorex-platform-domain.mjs.map +1 -1
  13. package/fesm2022/acorex-platform-layout-builder.mjs +1946 -1947
  14. package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
  15. package/fesm2022/acorex-platform-layout-components.mjs +1902 -904
  16. package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
  17. package/fesm2022/acorex-platform-layout-designer.mjs +96 -89
  18. package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
  19. package/fesm2022/acorex-platform-layout-entity-create-entity.command-DyXF9zAh.mjs +52 -0
  20. package/fesm2022/acorex-platform-layout-entity-create-entity.command-DyXF9zAh.mjs.map +1 -0
  21. package/fesm2022/acorex-platform-layout-entity.mjs +2237 -1834
  22. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  23. package/fesm2022/acorex-platform-layout-views.mjs +64 -62
  24. package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
  25. package/fesm2022/acorex-platform-layout-widget-core.mjs +2758 -0
  26. package/fesm2022/acorex-platform-layout-widget-core.mjs.map +1 -0
  27. package/fesm2022/{acorex-platform-widgets-button-widget-designer.component-C2Qn1YAW.mjs → acorex-platform-layout-widgets-button-widget-designer.component-C_3IWNkj.mjs} +6 -6
  28. package/fesm2022/acorex-platform-layout-widgets-button-widget-designer.component-C_3IWNkj.mjs.map +1 -0
  29. package/fesm2022/{acorex-platform-widgets-extra-properties-schema-widget-edit.component-D9mf08rU.mjs → acorex-platform-layout-widgets-extra-properties-schema-widget-edit.component-CJltEgut.mjs} +5 -5
  30. package/fesm2022/acorex-platform-layout-widgets-extra-properties-schema-widget-edit.component-CJltEgut.mjs.map +1 -0
  31. package/fesm2022/{acorex-platform-widgets-extra-properties-schema-widget-view.component-D6GQ-eyr.mjs → acorex-platform-layout-widgets-extra-properties-schema-widget-view.component-pM-TIuk0.mjs} +5 -5
  32. package/fesm2022/acorex-platform-layout-widgets-extra-properties-schema-widget-view.component-pM-TIuk0.mjs.map +1 -0
  33. package/fesm2022/{acorex-platform-widgets-extra-properties-values-widget-edit.component-DVbIdVZ6.mjs → acorex-platform-layout-widgets-extra-properties-values-widget-edit.component-BqI96-fU.mjs} +5 -5
  34. package/fesm2022/acorex-platform-layout-widgets-extra-properties-values-widget-edit.component-BqI96-fU.mjs.map +1 -0
  35. package/fesm2022/{acorex-platform-widgets-extra-properties-values-widget-view.component-D-aM64Hu.mjs → acorex-platform-layout-widgets-extra-properties-values-widget-view.component-C-AhenaM.mjs} +5 -5
  36. package/fesm2022/acorex-platform-layout-widgets-extra-properties-values-widget-view.component-C-AhenaM.mjs.map +1 -0
  37. package/fesm2022/{acorex-platform-widgets-extra-properties-widget-edit.component-em2-aU8E.mjs → acorex-platform-layout-widgets-extra-properties-widget-edit.component-DCAya5ne.mjs} +5 -5
  38. package/fesm2022/acorex-platform-layout-widgets-extra-properties-widget-edit.component-DCAya5ne.mjs.map +1 -0
  39. package/fesm2022/{acorex-platform-widgets-extra-properties-widget-view.component-BeuIofdr.mjs → acorex-platform-layout-widgets-extra-properties-widget-view.component-D-PnBqLb.mjs} +5 -5
  40. package/fesm2022/acorex-platform-layout-widgets-extra-properties-widget-view.component-D-PnBqLb.mjs.map +1 -0
  41. package/fesm2022/{acorex-platform-widgets-file-list-popup.component-rW2RD35f.mjs → acorex-platform-layout-widgets-file-list-popup.component-DuuFHWvB.mjs} +10 -10
  42. package/fesm2022/acorex-platform-layout-widgets-file-list-popup.component-DuuFHWvB.mjs.map +1 -0
  43. package/fesm2022/{acorex-platform-widgets-page-widget-designer.component-DNvnQ4Mc.mjs → acorex-platform-layout-widgets-page-widget-designer.component-Bss0xUcu.mjs} +8 -8
  44. package/fesm2022/acorex-platform-layout-widgets-page-widget-designer.component-Bss0xUcu.mjs.map +1 -0
  45. package/fesm2022/{acorex-platform-widgets-tabular-data-edit-popup.component-CPVRbE8B.mjs → acorex-platform-layout-widgets-tabular-data-edit-popup.component-Cy9mHnNP.mjs} +14 -14
  46. package/fesm2022/acorex-platform-layout-widgets-tabular-data-edit-popup.component-Cy9mHnNP.mjs.map +1 -0
  47. package/fesm2022/{acorex-platform-widgets-tabular-data-view-popup.component-Dmg5DdX8.mjs → acorex-platform-layout-widgets-tabular-data-view-popup.component-DznLtuer.mjs} +6 -5
  48. package/fesm2022/acorex-platform-layout-widgets-tabular-data-view-popup.component-DznLtuer.mjs.map +1 -0
  49. package/fesm2022/{acorex-platform-widgets-text-block-widget-designer.component-yADN3Xji.mjs → acorex-platform-layout-widgets-text-block-widget-designer.component-ndOUSFi9.mjs} +6 -7
  50. package/fesm2022/acorex-platform-layout-widgets-text-block-widget-designer.component-ndOUSFi9.mjs.map +1 -0
  51. package/fesm2022/{acorex-platform-widgets.mjs → acorex-platform-layout-widgets.mjs} +9918 -8826
  52. package/fesm2022/acorex-platform-layout-widgets.mjs.map +1 -0
  53. package/fesm2022/acorex-platform-native.mjs +7 -7
  54. package/fesm2022/acorex-platform-native.mjs.map +1 -1
  55. package/fesm2022/acorex-platform-runtime.mjs +40 -40
  56. package/fesm2022/acorex-platform-runtime.mjs.map +1 -1
  57. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-B1PT6FtZ.mjs +115 -0
  58. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-B1PT6FtZ.mjs.map +1 -0
  59. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-rdKxuMC_.mjs +742 -0
  60. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-rdKxuMC_.mjs.map +1 -0
  61. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-4g19A3eI.mjs +101 -0
  62. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-4g19A3eI.mjs.map +1 -0
  63. package/fesm2022/{acorex-platform-themes-default-entity-master-single-view.component-BExtm1JE.mjs → acorex-platform-themes-default-entity-master-single-view.component-B8gx5cG7.mjs} +17 -17
  64. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-B8gx5cG7.mjs.map +1 -0
  65. package/fesm2022/{acorex-platform-themes-default-error-401.component-DrO1PEOH.mjs → acorex-platform-themes-default-error-401.component-CcvGfdhu.mjs} +4 -4
  66. package/fesm2022/{acorex-platform-themes-default-error-401.component-DrO1PEOH.mjs.map → acorex-platform-themes-default-error-401.component-CcvGfdhu.mjs.map} +1 -1
  67. package/fesm2022/{acorex-platform-themes-default-error-404.component-DqVq0oHX.mjs → acorex-platform-themes-default-error-404.component-4-CaEsnV.mjs} +4 -4
  68. package/fesm2022/{acorex-platform-themes-default-error-404.component-DqVq0oHX.mjs.map → acorex-platform-themes-default-error-404.component-4-CaEsnV.mjs.map} +1 -1
  69. package/fesm2022/{acorex-platform-themes-default-error-offline.component-Bt2PTL7_.mjs → acorex-platform-themes-default-error-offline.component-BNecbFEj.mjs} +4 -4
  70. package/fesm2022/{acorex-platform-themes-default-error-offline.component-Bt2PTL7_.mjs.map → acorex-platform-themes-default-error-offline.component-BNecbFEj.mjs.map} +1 -1
  71. package/fesm2022/acorex-platform-themes-default.mjs +117 -51
  72. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
  73. package/fesm2022/{acorex-platform-themes-shared-icon-chooser-view.component-BgEh06Tn.mjs → acorex-platform-themes-shared-icon-chooser-view.component-Dc_Txe32.mjs} +5 -5
  74. package/fesm2022/acorex-platform-themes-shared-icon-chooser-view.component-Dc_Txe32.mjs.map +1 -0
  75. package/fesm2022/{acorex-platform-themes-shared-settings.provider-CXiRmniv.mjs → acorex-platform-themes-shared-settings.provider-DY2xFnrv.mjs} +9 -9
  76. package/fesm2022/acorex-platform-themes-shared-settings.provider-DY2xFnrv.mjs.map +1 -0
  77. package/fesm2022/{acorex-platform-themes-shared-theme-color-chooser-column.component-AeOQxjbS.mjs → acorex-platform-themes-shared-theme-color-chooser-column.component-hgWLhhle.mjs} +5 -5
  78. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-hgWLhhle.mjs.map +1 -0
  79. package/fesm2022/{acorex-platform-themes-shared-theme-color-chooser-view.component-DEVzRd6-.mjs → acorex-platform-themes-shared-theme-color-chooser-view.component-CY3JZK_W.mjs} +5 -5
  80. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-CY3JZK_W.mjs.map +1 -0
  81. package/fesm2022/acorex-platform-themes-shared.mjs +217 -75
  82. package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
  83. package/fesm2022/acorex-platform-workflow.mjs +27 -39
  84. package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
  85. package/layout/builder/README.md +1577 -3
  86. package/layout/builder/index.d.ts +735 -813
  87. package/layout/components/index.d.ts +384 -433
  88. package/layout/designer/index.d.ts +8 -6
  89. package/layout/entity/index.d.ts +953 -338
  90. package/layout/views/index.d.ts +13 -14
  91. package/layout/widget-core/README.md +4 -0
  92. package/layout/widget-core/index.d.ts +959 -0
  93. package/layout/widgets/README.md +4 -0
  94. package/{widgets → layout/widgets}/index.d.ts +768 -655
  95. package/package.json +14 -10
  96. package/themes/shared/index.d.ts +2 -2
  97. package/workflow/index.d.ts +3 -173
  98. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-BXbkGGei.mjs +0 -115
  99. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-BXbkGGei.mjs.map +0 -1
  100. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-gQIK6PIx.mjs +0 -706
  101. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-gQIK6PIx.mjs.map +0 -1
  102. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-Bp1JLsj1.mjs +0 -101
  103. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-Bp1JLsj1.mjs.map +0 -1
  104. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-BExtm1JE.mjs.map +0 -1
  105. package/fesm2022/acorex-platform-themes-shared-icon-chooser-view.component-BgEh06Tn.mjs.map +0 -1
  106. package/fesm2022/acorex-platform-themes-shared-settings.provider-CXiRmniv.mjs.map +0 -1
  107. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-AeOQxjbS.mjs.map +0 -1
  108. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-DEVzRd6-.mjs.map +0 -1
  109. package/fesm2022/acorex-platform-widgets-button-widget-designer.component-C2Qn1YAW.mjs.map +0 -1
  110. package/fesm2022/acorex-platform-widgets-checkbox-widget-column.component-CzEFmKWG.mjs +0 -84
  111. package/fesm2022/acorex-platform-widgets-checkbox-widget-column.component-CzEFmKWG.mjs.map +0 -1
  112. package/fesm2022/acorex-platform-widgets-checkbox-widget-designer.component-BXPrXy-h.mjs +0 -55
  113. package/fesm2022/acorex-platform-widgets-checkbox-widget-designer.component-BXPrXy-h.mjs.map +0 -1
  114. package/fesm2022/acorex-platform-widgets-checkbox-widget-view.component-KYCQ2qTJ.mjs +0 -92
  115. package/fesm2022/acorex-platform-widgets-checkbox-widget-view.component-KYCQ2qTJ.mjs.map +0 -1
  116. package/fesm2022/acorex-platform-widgets-color-box-widget-designer.component-BVZ7lWm9.mjs +0 -55
  117. package/fesm2022/acorex-platform-widgets-color-box-widget-designer.component-BVZ7lWm9.mjs.map +0 -1
  118. package/fesm2022/acorex-platform-widgets-extra-properties-schema-widget-edit.component-D9mf08rU.mjs.map +0 -1
  119. package/fesm2022/acorex-platform-widgets-extra-properties-schema-widget-view.component-D6GQ-eyr.mjs.map +0 -1
  120. package/fesm2022/acorex-platform-widgets-extra-properties-values-widget-edit.component-DVbIdVZ6.mjs.map +0 -1
  121. package/fesm2022/acorex-platform-widgets-extra-properties-values-widget-view.component-D-aM64Hu.mjs.map +0 -1
  122. package/fesm2022/acorex-platform-widgets-extra-properties-widget-edit.component-em2-aU8E.mjs.map +0 -1
  123. package/fesm2022/acorex-platform-widgets-extra-properties-widget-view.component-BeuIofdr.mjs.map +0 -1
  124. package/fesm2022/acorex-platform-widgets-file-list-popup.component-rW2RD35f.mjs.map +0 -1
  125. package/fesm2022/acorex-platform-widgets-page-widget-designer.component-DNvnQ4Mc.mjs.map +0 -1
  126. package/fesm2022/acorex-platform-widgets-rich-text-popup.component-Cydlpsat.mjs +0 -40
  127. package/fesm2022/acorex-platform-widgets-rich-text-popup.component-Cydlpsat.mjs.map +0 -1
  128. package/fesm2022/acorex-platform-widgets-tabular-data-edit-popup.component-CPVRbE8B.mjs.map +0 -1
  129. package/fesm2022/acorex-platform-widgets-tabular-data-view-popup.component-Dmg5DdX8.mjs.map +0 -1
  130. package/fesm2022/acorex-platform-widgets-text-block-widget-designer.component-yADN3Xji.mjs.map +0 -1
  131. package/fesm2022/acorex-platform-widgets.mjs.map +0 -1
  132. package/widgets/README.md +0 -4
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, inject, Injectable, Injector, makeEnvironmentProviders, NgModule, ErrorHandler, Input, Directive, EventEmitter, Output, Component, ViewEncapsulation, Inject, signal, model, linkedSignal, afterNextRender } from '@angular/core';
2
+ import { InjectionToken, inject, Injectable, Injector, makeEnvironmentProviders, NgModule, ErrorHandler, EventEmitter, Input, Output, Directive, Component, ViewEncapsulation, Inject, signal, model, linkedSignal, afterNextRender } from '@angular/core';
3
3
  import { kebabCase, merge, sortBy, cloneDeep, get, omit } from 'lodash-es';
4
4
  import { Router, ROUTES, RouterModule } from '@angular/router';
5
5
  import { AXPSessionService, AXPSessionStatus } from '@acorex/platform/auth';
@@ -7,7 +7,7 @@ import { Subject, distinctUntilChanged, merge as merge$1 } from 'rxjs';
7
7
  import * as i1$1 from '@acorex/platform/core';
8
8
  import { AXPPlatformScope, AXPBroadcastEventService, objectKeyValueTransforms, AXPComponentLogoConfig, AXPImageUrlLogoConfig, AXPSystemActionType, AXPAppStartUpProvider, AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER } from '@acorex/platform/core';
9
9
  import { AXTranslationService } from '@acorex/core/translation';
10
- import { AXPWidgetsCatalog } from '@acorex/platform/layout/builder';
10
+ import { AXPWidgetsCatalog } from '@acorex/platform/layout/widget-core';
11
11
  import { AXPopupModule, AXPopupService } from '@acorex/components/popup';
12
12
  import { AXToastService, AXToastModule } from '@acorex/components/toast';
13
13
  import { AXDateTimeModule } from '@acorex/core/date-time';
@@ -20,8 +20,8 @@ import { AXImageModule } from '@acorex/components/image';
20
20
  import { AXPlatform } from '@acorex/core/platform';
21
21
  import * as i1 from '@angular/common';
22
22
  import { CommonModule } from '@angular/common';
23
- import { signalStore, withState, withMethods, patchState, withHooks } from '@ngrx/signals';
24
23
  import { AXPCommandExecutor } from '@acorex/platform/runtime';
24
+ import { signalStore, withState, withMethods, patchState, withHooks } from '@ngrx/signals';
25
25
  import { AXFormatService } from '@acorex/core/format';
26
26
  import { AXDialogService } from '@acorex/components/dialog';
27
27
  import * as i5 from '@acorex/components/button';
@@ -60,10 +60,10 @@ class AXPAppVersionService {
60
60
  async getAppVersion() {
61
61
  return this.provider.provider();
62
62
  }
63
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPAppVersionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
64
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPAppVersionService, providedIn: 'root' }); }
63
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPAppVersionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
64
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPAppVersionService, providedIn: 'root' }); }
65
65
  }
66
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPAppVersionService, decorators: [{
66
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPAppVersionService, decorators: [{
67
67
  type: Injectable,
68
68
  args: [{
69
69
  providedIn: 'root',
@@ -126,7 +126,7 @@ function createAllQueryView(params = {
126
126
  conditions: [],
127
127
  }) {
128
128
  params = Object.assign({ columns: [], sorts: [], conditions: [] }, params);
129
- return createQueryView('all', 't("allItem", { scope: "common" })', true, {
129
+ return createQueryView('all', '@general:terms.interface.selection.all-items', true, {
130
130
  columns: params.columns ?? [],
131
131
  conditions: params.conditions ?? [],
132
132
  sorts: params.sorts ?? [],
@@ -438,10 +438,10 @@ class AXPSettingDefinitionProviderService {
438
438
  sections: []
439
439
  };
440
440
  }
441
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPSettingDefinitionProviderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
442
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPSettingDefinitionProviderService, providedIn: 'root' }); }
441
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPSettingDefinitionProviderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
442
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPSettingDefinitionProviderService, providedIn: 'root' }); }
443
443
  }
444
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPSettingDefinitionProviderService, decorators: [{
444
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPSettingDefinitionProviderService, decorators: [{
445
445
  type: Injectable,
446
446
  args: [{ providedIn: 'root' }]
447
447
  }] });
@@ -471,10 +471,10 @@ class AXPSettingDefaultValuesAggregatorService {
471
471
  }
472
472
  return merged;
473
473
  }
474
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPSettingDefaultValuesAggregatorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
475
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPSettingDefaultValuesAggregatorService, providedIn: 'root' }); }
474
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPSettingDefaultValuesAggregatorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
475
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPSettingDefaultValuesAggregatorService, providedIn: 'root' }); }
476
476
  }
477
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPSettingDefaultValuesAggregatorService, decorators: [{
477
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPSettingDefaultValuesAggregatorService, decorators: [{
478
478
  type: Injectable,
479
479
  args: [{ providedIn: 'root' }]
480
480
  }] });
@@ -676,10 +676,10 @@ class AXPSettingService {
676
676
  this.onChanged.next(event);
677
677
  this.eventService.publish('AXPSettingChangedEvent', event);
678
678
  }
679
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPSettingService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
680
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPSettingService, providedIn: 'root' }); }
679
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPSettingService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
680
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPSettingService, providedIn: 'root' }); }
681
681
  }
682
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPSettingService, decorators: [{
682
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPSettingService, decorators: [{
683
683
  type: Injectable,
684
684
  args: [{
685
685
  providedIn: 'root',
@@ -861,10 +861,10 @@ class AXPHomePageService {
861
861
  router.navigate([current.path]);
862
862
  }, 100);
863
863
  }
864
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPHomePageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
865
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPHomePageService, providedIn: 'root' }); }
864
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPHomePageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
865
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPHomePageService, providedIn: 'root' }); }
866
866
  }
867
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPHomePageService, decorators: [{
867
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPHomePageService, decorators: [{
868
868
  type: Injectable,
869
869
  args: [{
870
870
  providedIn: 'root',
@@ -893,7 +893,7 @@ class AXPHomePageSettingProvider {
893
893
  this.defaultHomePageKey = inject(AXP_HOME_PAGE_DEFAULT_KEY, { optional: true }) ?? 'home';
894
894
  }
895
895
  async provide(context) {
896
- const trans = async (key) => await this.translateService.translateAsync(`settings.${key}`, { scope: 'general' });
896
+ const trans = async (key) => await this.translateService.translateAsync(`@general:settings.${key}`);
897
897
  const list = await this.homePageService.getRegisteredList().map((c) => ({ id: c.key, title: c.title }));
898
898
  if (list.length === 0) {
899
899
  return;
@@ -926,17 +926,17 @@ class AXPHomePageSettingProvider {
926
926
  // End the 'General Settings' group
927
927
  .endGroup();
928
928
  }
929
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPHomePageSettingProvider, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
930
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPHomePageSettingProvider }); }
929
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPHomePageSettingProvider, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
930
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPHomePageSettingProvider }); }
931
931
  }
932
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPHomePageSettingProvider, decorators: [{
932
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPHomePageSettingProvider, decorators: [{
933
933
  type: Injectable
934
934
  }], ctorParameters: () => [{ type: i0.Injector }] });
935
935
 
936
936
  class AXPHomePageModule {
937
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPHomePageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
938
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.1.8", ngImport: i0, type: AXPHomePageModule }); }
939
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPHomePageModule, providers: [
937
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPHomePageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
938
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.4", ngImport: i0, type: AXPHomePageModule }); }
939
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPHomePageModule, providers: [
940
940
  {
941
941
  provide: AXP_SETTING_DEFINITION_PROVIDER,
942
942
  useClass: AXPHomePageSettingProvider,
@@ -944,7 +944,7 @@ class AXPHomePageModule {
944
944
  },
945
945
  ] }); }
946
946
  }
947
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPHomePageModule, decorators: [{
947
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPHomePageModule, decorators: [{
948
948
  type: NgModule,
949
949
  args: [{
950
950
  imports: [],
@@ -967,10 +967,10 @@ class AXPCustomOperatorServiceImpl extends AXPCustomOperatorService {
967
967
  getCustomOperators() {
968
968
  return {};
969
969
  }
970
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPCustomOperatorServiceImpl, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
971
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPCustomOperatorServiceImpl }); }
970
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPCustomOperatorServiceImpl, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
971
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPCustomOperatorServiceImpl }); }
972
972
  }
973
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPCustomOperatorServiceImpl, decorators: [{
973
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPCustomOperatorServiceImpl, decorators: [{
974
974
  type: Injectable
975
975
  }] });
976
976
 
@@ -1015,10 +1015,10 @@ class AXPFilterOperatorMiddlewareServiceImpl extends AXPFilterOperatorMiddleware
1015
1015
  return acc;
1016
1016
  }, {});
1017
1017
  }
1018
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPFilterOperatorMiddlewareServiceImpl, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
1019
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPFilterOperatorMiddlewareServiceImpl }); }
1018
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPFilterOperatorMiddlewareServiceImpl, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
1019
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPFilterOperatorMiddlewareServiceImpl }); }
1020
1020
  }
1021
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPFilterOperatorMiddlewareServiceImpl, decorators: [{
1021
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPFilterOperatorMiddlewareServiceImpl, decorators: [{
1022
1022
  type: Injectable
1023
1023
  }] });
1024
1024
 
@@ -1039,10 +1039,10 @@ class AXPErrorHandlerRegistryService {
1039
1039
  get handlers() {
1040
1040
  return this.errorHandlers;
1041
1041
  }
1042
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPErrorHandlerRegistryService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
1043
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPErrorHandlerRegistryService, providedIn: 'root' }); }
1042
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPErrorHandlerRegistryService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
1043
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPErrorHandlerRegistryService, providedIn: 'root' }); }
1044
1044
  }
1045
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPErrorHandlerRegistryService, decorators: [{
1045
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPErrorHandlerRegistryService, decorators: [{
1046
1046
  type: Injectable,
1047
1047
  args: [{
1048
1048
  providedIn: 'root'
@@ -1073,74 +1073,84 @@ class AXPGlobalErrorHandler extends ErrorHandler {
1073
1073
  }
1074
1074
  handleErrorRecursively(0, error);
1075
1075
  }
1076
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPGlobalErrorHandler, deps: [{ token: i0.Injector }, { token: AXPErrorHandlerRegistryService }], target: i0.ɵɵFactoryTarget.Injectable }); }
1077
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPGlobalErrorHandler, providedIn: 'root' }); }
1076
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPGlobalErrorHandler, deps: [{ token: i0.Injector }, { token: AXPErrorHandlerRegistryService }], target: i0.ɵɵFactoryTarget.Injectable }); }
1077
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPGlobalErrorHandler, providedIn: 'root' }); }
1078
1078
  }
1079
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPGlobalErrorHandler, decorators: [{
1079
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPGlobalErrorHandler, decorators: [{
1080
1080
  type: Injectable,
1081
1081
  args: [{ providedIn: 'root' }]
1082
1082
  }], ctorParameters: () => [{ type: i0.Injector }, { type: AXPErrorHandlerRegistryService }] });
1083
1083
 
1084
- // src/app/directives/grid-layout.directive.ts
1085
- class AXPGridLayoutDirective {
1086
- constructor(el, renderer) {
1087
- this.el = el;
1088
- this.renderer = renderer;
1084
+ const AXP_GLOBAL_VARIABLE_DEFINITION_PROVIDER = new InjectionToken('AXP_GLOBAL_VARIABLE_DEFINITION_PROVIDER', {
1085
+ factory: () => [],
1086
+ });
1087
+
1088
+ //#region ---- Imports ----
1089
+ //#endregion
1090
+ class AXPGlobalVariableDefinitionService {
1091
+ constructor() {
1092
+ //#region ---- Providers & Caches ----
1093
+ this.definitionProviders = inject(AXP_GLOBAL_VARIABLE_DEFINITION_PROVIDER, { optional: true }) || [];
1094
+ /** Cache for definitions by name. */
1095
+ this.definitionsByName = new Map();
1089
1096
  }
1090
- ngOnChanges(changes) {
1091
- if (changes['options']) {
1092
- this.applyTailwindClasses();
1097
+ //#endregion
1098
+ //#region ---- Public API ----
1099
+ /**
1100
+ * Returns a report definition by its id.
1101
+ * First checks the cache, then queries all providers if not found.
1102
+ * @param name The global variable name.
1103
+ * @returns The global variable definition if found, undefined otherwise.
1104
+ */
1105
+ async getByName(name) {
1106
+ // Check cache first
1107
+ if (this.definitionsByName.has(name)) {
1108
+ return this.definitionsByName.get(name);
1093
1109
  }
1110
+ // Not in cache, query providers (each provider is itself a global variable definition)
1111
+ const resolvedProviders = await Promise.all(this.definitionProviders);
1112
+ const match = resolvedProviders.find(def => def?.name === name);
1113
+ if (match) {
1114
+ this.definitionsByName.set(name, match);
1115
+ return match;
1116
+ }
1117
+ return undefined;
1094
1118
  }
1095
- applyTailwindClasses() {
1096
- if (this.options?.positions == null)
1097
- return;
1098
- // Clear existing grid classes
1099
- this.clearClasses();
1100
- // Apply new grid classes based on the input options
1101
- this.setClasses(this.options.positions?.default, '');
1102
- this.setClasses(this.options.positions?.md, 'md:');
1103
- this.setClasses(this.options.positions?.lg, 'lg:');
1104
- this.setClasses(this.options.positions?.xl, 'xl:');
1105
- this.setClasses(this.options.positions?.xxl, '2xl:');
1106
- }
1107
- setClasses(positions, prefix) {
1108
- if (positions == null)
1109
- return;
1110
- const colStart = positions.colStart ? `${prefix}ax-col-start-${positions.colStart}` : '';
1111
- const colEnd = positions.colEnd ? `${prefix}ax-col-end-${positions.colEnd}` : '';
1112
- const colSpan = positions.colSpan ? `${prefix}ax-col-span-${positions.colSpan}` : '';
1113
- const rowStart = positions.rowStart ? `${prefix}ax-row-start-${positions.rowStart}` : '';
1114
- const rowEnd = positions.rowEnd ? `${prefix}ax-row-end-${positions.rowEnd}` : '';
1115
- const rowSpan = positions.rowSpan ? `${prefix}ax-row-span-${positions.rowSpan}` : '';
1116
- const order = positions.order ? `${prefix}ax-order-${positions.order}` : ''; // Handling order
1117
- [colStart, colEnd, colSpan, rowStart, rowEnd, rowSpan, order].forEach(cls => {
1118
- if (cls) {
1119
- this.renderer.addClass(this.el.nativeElement, cls);
1120
- }
1121
- });
1119
+ async execute(name) {
1120
+ const definition = await this.getByName(name);
1121
+ if (definition) {
1122
+ return await definition.execute();
1123
+ }
1124
+ return undefined;
1122
1125
  }
1123
- clearClasses() {
1124
- const currentClasses = this.el.nativeElement.className.split(' ');
1125
- currentClasses.forEach((className) => {
1126
- if (className.startsWith('ax-col-') || className.startsWith('ax-row-') || className.startsWith('ax-order-')) {
1127
- this.renderer.removeClass(this.el.nativeElement, className);
1128
- }
1129
- });
1126
+ //#endregion
1127
+ //#region ---- Cache Management ----
1128
+ /** Clears the definitions by name cache. */
1129
+ clearDefinitionsCache() {
1130
+ this.definitionsByName.clear();
1130
1131
  }
1131
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPGridLayoutDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
1132
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.1.8", type: AXPGridLayoutDirective, isStandalone: true, selector: "[gridLayout]", inputs: { options: ["gridLayout", "options"] }, usesOnChanges: true, ngImport: i0 }); }
1132
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPGlobalVariableDefinitionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1133
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPGlobalVariableDefinitionService, providedIn: 'root' }); }
1133
1134
  }
1134
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPGridLayoutDirective, decorators: [{
1135
- type: Directive,
1135
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPGlobalVariableDefinitionService, decorators: [{
1136
+ type: Injectable,
1136
1137
  args: [{
1137
- selector: '[gridLayout]',
1138
- standalone: true,
1138
+ providedIn: 'root',
1139
1139
  }]
1140
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { options: [{
1141
- type: Input,
1142
- args: ['gridLayout']
1143
- }] } });
1140
+ }] });
1141
+
1142
+ class AXPGlobalVariableEvaluatorScopeProvider {
1143
+ constructor() {
1144
+ this.globalVariableService = inject(AXPGlobalVariableDefinitionService);
1145
+ }
1146
+ async provide(context) {
1147
+ context.addScope('variables', {
1148
+ execute: async (name) => {
1149
+ return await this.globalVariableService.execute(name);
1150
+ }
1151
+ });
1152
+ }
1153
+ }
1144
1154
 
1145
1155
  class AXPStickyDirective {
1146
1156
  get isSticky() {
@@ -1162,9 +1172,7 @@ class AXPStickyDirective {
1162
1172
  this._isSticky = false;
1163
1173
  this.onParentScroll = () => {
1164
1174
  this.zone.runOutsideAngular(() => {
1165
- const scrollTop = this.parentElement === window
1166
- ? window.scrollY
1167
- : this.parentElement.scrollTop;
1175
+ const scrollTop = this.parentElement === window ? window.scrollY : this.parentElement.scrollTop;
1168
1176
  const shouldStick = scrollTop + this.stickyOffset >= this.topOffset;
1169
1177
  if (shouldStick !== this.isSticky) {
1170
1178
  this.zone.run(() => {
@@ -1194,12 +1202,9 @@ class AXPStickyDirective {
1194
1202
  this.parentElement = this.stickyParent;
1195
1203
  }
1196
1204
  else {
1197
- this.parentElement =
1198
- document.querySelector(this.stickyParent) || window;
1205
+ this.parentElement = document.querySelector(this.stickyParent) || window;
1199
1206
  }
1200
- this.targetElement =
1201
- document.querySelector(this.stickyTarget) ||
1202
- this.element.nativeElement;
1207
+ this.targetElement = document.querySelector(this.stickyTarget) || this.element.nativeElement;
1203
1208
  this.updateTopOffset();
1204
1209
  this.parentElement.addEventListener('scroll', this.onParentScroll);
1205
1210
  }
@@ -1227,10 +1232,10 @@ class AXPStickyDirective {
1227
1232
  this.mutationObserver.disconnect();
1228
1233
  }
1229
1234
  }
1230
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPStickyDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive }); }
1231
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.1.8", type: AXPStickyDirective, isStandalone: true, selector: "[axpSticky]", inputs: { stickyClass: ["axpSticky", "stickyClass"], stickyOffset: "stickyOffset", stickyParent: "stickyParent", stickyTarget: "stickyTarget" }, outputs: { isStickyChange: "isStickyChange" }, exportAs: ["axpSticky"], ngImport: i0 }); }
1235
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPStickyDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive }); }
1236
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.4", type: AXPStickyDirective, isStandalone: true, selector: "[axpSticky]", inputs: { stickyClass: ["axpSticky", "stickyClass"], stickyOffset: "stickyOffset", stickyParent: "stickyParent", stickyTarget: "stickyTarget" }, outputs: { isStickyChange: "isStickyChange" }, exportAs: ["axpSticky"], ngImport: i0 }); }
1232
1237
  }
1233
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPStickyDirective, decorators: [{
1238
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPStickyDirective, decorators: [{
1234
1239
  type: Directive,
1235
1240
  args: [{
1236
1241
  selector: '[axpSticky]',
@@ -1281,26 +1286,365 @@ class AXPLogoComponent {
1281
1286
  this.source = this.platform.isDark() ? this.source.dark : this.source.light;
1282
1287
  }
1283
1288
  }
1284
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPLogoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1285
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.8", type: AXPLogoComponent, isStandalone: true, selector: "axp-logo", inputs: { source: "source" }, host: { classAttribute: "ax-flex ax-justify-center" }, usesOnChanges: true, ngImport: i0, template: "@switch (logoType) { @case ('url') {\n<ax-image [width]=\"source.width\" [height]=\"source.height\" [src]=\"source.url\"></ax-image>\n} @case ('component') {\n<ng-container *ngComponentOutlet=\"source.component\"></ng-container>\n} }\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletEnvironmentInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"], exportAs: ["ngComponentOutlet"] }, { kind: "ngmodule", type: AXImageModule }, { kind: "component", type: i2.AXImageComponent, selector: "ax-image", inputs: ["width", "height", "overlayMode", "src", "alt", "priority", "lazy"], outputs: ["onLoad", "onError"] }, { kind: "ngmodule", type: AXDecoratorModule }] }); }
1289
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPLogoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1290
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.4", type: AXPLogoComponent, isStandalone: true, selector: "axp-logo", inputs: { source: "source" }, host: { classAttribute: "ax-flex ax-justify-center" }, usesOnChanges: true, ngImport: i0, template: "@switch (logoType) { @case ('url') {\n<ax-image [width]=\"source.width\" [height]=\"source.height\" [src]=\"source.url\"></ax-image>\n} @case ('component') {\n<ng-container *ngComponentOutlet=\"source.component\"></ng-container>\n} }\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletEnvironmentInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"], exportAs: ["ngComponentOutlet"] }, { kind: "ngmodule", type: AXImageModule }, { kind: "component", type: i2.AXImageComponent, selector: "ax-image", inputs: ["width", "height", "overlayMode", "src", "alt", "priority", "lazy"], outputs: ["onLoad", "onError"] }, { kind: "ngmodule", type: AXDecoratorModule }] }); }
1286
1291
  }
1287
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPLogoComponent, decorators: [{
1292
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPLogoComponent, decorators: [{
1288
1293
  type: Component,
1289
1294
  args: [{ selector: 'axp-logo', imports: [CommonModule, AXImageModule, AXDecoratorModule], host: { class: 'ax-flex ax-justify-center' }, template: "@switch (logoType) { @case ('url') {\n<ax-image [width]=\"source.width\" [height]=\"source.height\" [src]=\"source.url\"></ax-image>\n} @case ('component') {\n<ng-container *ngComponentOutlet=\"source.component\"></ng-container>\n} }\n" }]
1290
1295
  }], propDecorators: { source: [{
1291
1296
  type: Input
1292
1297
  }] } });
1293
1298
 
1299
+ //#region ---- Menu Context Builder ----
1300
+ /**
1301
+ * Creates a rich context for menu manipulation
1302
+ * Similar to entity modifier context pattern
1303
+ */
1304
+ function createMenuContext(items) {
1305
+ const context = {
1306
+ get items() {
1307
+ return items;
1308
+ },
1309
+ find(nameOrPattern) {
1310
+ if (typeof nameOrPattern === 'string') {
1311
+ return context.findByName(nameOrPattern);
1312
+ }
1313
+ const found = context.findByPattern(nameOrPattern);
1314
+ return found.length > 0 ? found[0] : createEmptyFinder();
1315
+ },
1316
+ findByName(name) {
1317
+ return createMenuItemFinder(items, name);
1318
+ },
1319
+ findByPattern(pattern) {
1320
+ const regex = typeof pattern === 'string' ? wildcardToRegex(pattern) : pattern;
1321
+ const results = [];
1322
+ const searchRecursive = (itemList) => {
1323
+ for (const item of itemList) {
1324
+ if (item.name && regex.test(item.name)) {
1325
+ results.push(createMenuItemFinder(items, item.name));
1326
+ }
1327
+ if (item.children) {
1328
+ searchRecursive(item.children);
1329
+ }
1330
+ }
1331
+ };
1332
+ searchRecursive(items);
1333
+ return results;
1334
+ },
1335
+ add(...newItems) {
1336
+ items.push(...newItems);
1337
+ return context;
1338
+ },
1339
+ remove(predicate) {
1340
+ removeRecursive(items, predicate);
1341
+ return context;
1342
+ },
1343
+ sort() {
1344
+ sortItemsRecursively(items);
1345
+ return context;
1346
+ },
1347
+ toArray() {
1348
+ return items;
1349
+ },
1350
+ };
1351
+ return context;
1352
+ }
1353
+ //#endregion
1354
+ //#region ---- Menu Item Finder Implementation ----
1355
+ /**
1356
+ * Creates a finder for a specific menu item
1357
+ */
1358
+ function createMenuItemFinder(rootItems, targetName) {
1359
+ const findItemWithParent = (items, name, parent = { items: rootItems }) => {
1360
+ for (const item of items) {
1361
+ if (item.name === name) {
1362
+ return { item, parent };
1363
+ }
1364
+ if (item.children) {
1365
+ const result = findItemWithParent(item.children, name, { items: item.children });
1366
+ if (result.item) {
1367
+ return result;
1368
+ }
1369
+ }
1370
+ }
1371
+ return { item: undefined, parent };
1372
+ };
1373
+ const finder = {
1374
+ get() {
1375
+ return findItemWithParent(rootItems, targetName).item;
1376
+ },
1377
+ exists() {
1378
+ return finder.get() !== undefined;
1379
+ },
1380
+ update(updater) {
1381
+ const { item } = findItemWithParent(rootItems, targetName);
1382
+ if (item) {
1383
+ const updates = typeof updater === 'function' ? updater(item) : updater;
1384
+ Object.assign(item, updates);
1385
+ }
1386
+ return finder;
1387
+ },
1388
+ remove() {
1389
+ const { item, parent } = findItemWithParent(rootItems, targetName);
1390
+ if (item) {
1391
+ const index = parent.items.indexOf(item);
1392
+ if (index !== -1) {
1393
+ parent.items.splice(index, 1);
1394
+ }
1395
+ }
1396
+ return finder;
1397
+ },
1398
+ hide() {
1399
+ // Hide by removing the item from menu
1400
+ return finder.remove();
1401
+ },
1402
+ show() {
1403
+ // Show is a no-op since items are visible by default
1404
+ // To truly implement show, we'd need to track removed items and re-add them
1405
+ console.warn('show() is not fully implemented - items are visible by default');
1406
+ return finder;
1407
+ },
1408
+ setPriority(priority) {
1409
+ return finder.update({ priority });
1410
+ },
1411
+ addChildren(...children) {
1412
+ const { item } = findItemWithParent(rootItems, targetName);
1413
+ if (item) {
1414
+ item.children = item.children || [];
1415
+ item.children.push(...children);
1416
+ }
1417
+ return finder;
1418
+ },
1419
+ removeChildren(predicate) {
1420
+ const { item } = findItemWithParent(rootItems, targetName);
1421
+ if (item && item.children) {
1422
+ item.children = item.children.filter((c) => !predicate(c));
1423
+ }
1424
+ return finder;
1425
+ },
1426
+ moveTo(parentName) {
1427
+ const { item, parent: oldParent } = findItemWithParent(rootItems, targetName);
1428
+ if (!item) {
1429
+ return finder;
1430
+ }
1431
+ // Remove from old parent
1432
+ const oldIndex = oldParent.items.indexOf(item);
1433
+ if (oldIndex !== -1) {
1434
+ oldParent.items.splice(oldIndex, 1);
1435
+ }
1436
+ // Add to new parent
1437
+ if (parentName === null) {
1438
+ // Move to root
1439
+ rootItems.push(item);
1440
+ }
1441
+ else {
1442
+ const { item: newParentItem } = findItemWithParent(rootItems, parentName);
1443
+ if (newParentItem) {
1444
+ newParentItem.children = newParentItem.children || [];
1445
+ newParentItem.children.push(item);
1446
+ }
1447
+ }
1448
+ return finder;
1449
+ },
1450
+ insertBefore(...items) {
1451
+ const { item, parent } = findItemWithParent(rootItems, targetName);
1452
+ if (item) {
1453
+ const index = parent.items.indexOf(item);
1454
+ if (index !== -1) {
1455
+ parent.items.splice(index, 0, ...items);
1456
+ }
1457
+ }
1458
+ return finder;
1459
+ },
1460
+ insertAfter(...items) {
1461
+ const { item, parent } = findItemWithParent(rootItems, targetName);
1462
+ if (item) {
1463
+ const index = parent.items.indexOf(item);
1464
+ if (index !== -1) {
1465
+ parent.items.splice(index + 1, 0, ...items);
1466
+ }
1467
+ }
1468
+ return finder;
1469
+ },
1470
+ };
1471
+ return finder;
1472
+ }
1473
+ /**
1474
+ * Creates an empty finder for items not found
1475
+ */
1476
+ function createEmptyFinder() {
1477
+ return {
1478
+ get: () => undefined,
1479
+ exists: () => false,
1480
+ update: () => createEmptyFinder(),
1481
+ remove: () => createEmptyFinder(),
1482
+ hide: () => createEmptyFinder(),
1483
+ show: () => createEmptyFinder(),
1484
+ setPriority: () => createEmptyFinder(),
1485
+ addChildren: () => createEmptyFinder(),
1486
+ removeChildren: () => createEmptyFinder(),
1487
+ moveTo: () => createEmptyFinder(),
1488
+ insertBefore: () => createEmptyFinder(),
1489
+ insertAfter: () => createEmptyFinder(),
1490
+ };
1491
+ }
1492
+ //#endregion
1493
+ //#region ---- Helper Functions ----
1494
+ /**
1495
+ * Converts wildcard pattern to regex
1496
+ */
1497
+ function wildcardToRegex(pattern) {
1498
+ const escaped = pattern.replace(/[.+?^${}()|\[\]\\]/g, '\\$&');
1499
+ const regexStr = `^${escaped.replace(/\*/g, '.*')}$`;
1500
+ return new RegExp(regexStr);
1501
+ }
1502
+ /**
1503
+ * Recursively removes items matching predicate
1504
+ */
1505
+ function removeRecursive(items, predicate) {
1506
+ for (let i = items.length - 1; i >= 0; i--) {
1507
+ const item = items[i];
1508
+ if (predicate(item)) {
1509
+ items.splice(i, 1);
1510
+ }
1511
+ else if (item.children) {
1512
+ removeRecursive(item.children, predicate);
1513
+ }
1514
+ }
1515
+ }
1516
+ /**
1517
+ * Recursively sorts items by priority
1518
+ */
1519
+ function sortItemsRecursively(items) {
1520
+ items.sort((a, b) => (a.priority ?? 0) - (b.priority ?? 0));
1521
+ items.forEach((item) => {
1522
+ if (item.children && item.children.length > 0) {
1523
+ sortItemsRecursively(item.children);
1524
+ }
1525
+ });
1526
+ }
1527
+ //#endregion
1528
+
1529
+ /**
1530
+ * Injection token for menu middlewares (multi-provider)
1531
+ */
1532
+ const AXP_MENU_MIDDLEWARE = new InjectionToken('AXP_MENU_MIDDLEWARE');
1533
+ //#endregion
1534
+
1535
+ //#region ---- Menu Middleware Registry ----
1536
+ /**
1537
+ * Central service for managing menu middlewares with priority-based ordering
1538
+ * Similar to token registry pattern used in identifier-management
1539
+ */
1540
+ class AXPMenuMiddlewareRegistry {
1541
+ constructor() {
1542
+ //#region ---- Fields ----
1543
+ /**
1544
+ * Manually registered middlewares
1545
+ */
1546
+ this.manualMiddlewares = new Map();
1547
+ /**
1548
+ * Provider-based middlewares (multi-provider injection)
1549
+ */
1550
+ this.providerMiddlewares = inject(AXP_MENU_MIDDLEWARE, { optional: true }) ?? [];
1551
+ }
1552
+ //#endregion
1553
+ //#region ---- Registration Methods ----
1554
+ /**
1555
+ * Manually register a middleware
1556
+ * @param middleware - The middleware to register
1557
+ */
1558
+ register(middleware) {
1559
+ const name = middleware.name || `middleware_${Date.now()}_${Math.random()}`;
1560
+ const existing = this.manualMiddlewares.get(name);
1561
+ if (!existing || (middleware.priority ?? 0) > (existing.priority ?? 0)) {
1562
+ this.manualMiddlewares.set(name, middleware);
1563
+ }
1564
+ }
1565
+ /**
1566
+ * Unregister a middleware by name
1567
+ * @param name - The name of the middleware to remove
1568
+ */
1569
+ unregister(name) {
1570
+ this.manualMiddlewares.delete(name);
1571
+ }
1572
+ /**
1573
+ * Get a specific middleware by name
1574
+ * @param name - The middleware name
1575
+ */
1576
+ get(name) {
1577
+ // Provider-provided middlewares take precedence
1578
+ const fromProvider = this.providerMiddlewares
1579
+ .filter((m) => m.name === name)
1580
+ .sort((a, b) => (b.priority ?? 0) - (a.priority ?? 0))[0];
1581
+ if (fromProvider) {
1582
+ return fromProvider;
1583
+ }
1584
+ return this.manualMiddlewares.get(name);
1585
+ }
1586
+ /**
1587
+ * Get all middlewares sorted by priority (highest first)
1588
+ * Combines provider-based and manually registered middlewares
1589
+ */
1590
+ list() {
1591
+ const map = new Map();
1592
+ // Helper to add middleware, respecting priority
1593
+ const addMiddleware = (m) => {
1594
+ const name = m.name || `anonymous_${Date.now()}`;
1595
+ const existing = map.get(name);
1596
+ if (!existing || (m.priority ?? 0) > (existing.priority ?? 0)) {
1597
+ map.set(name, m);
1598
+ }
1599
+ };
1600
+ // Add provider middlewares first (higher precedence)
1601
+ this.providerMiddlewares.forEach(addMiddleware);
1602
+ // Add manual middlewares
1603
+ Array.from(this.manualMiddlewares.values()).forEach(addMiddleware);
1604
+ // Return sorted by priority (highest first)
1605
+ return Array.from(map.values()).sort((a, b) => (b.priority ?? 0) - (a.priority ?? 0));
1606
+ }
1607
+ /**
1608
+ * Check if a middleware exists
1609
+ * @param name - The middleware name
1610
+ */
1611
+ exists(name) {
1612
+ return this.get(name) !== undefined;
1613
+ }
1614
+ /**
1615
+ * Clear all manually registered middlewares
1616
+ * Provider-based middlewares are not affected
1617
+ */
1618
+ clear() {
1619
+ this.manualMiddlewares.clear();
1620
+ }
1621
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPMenuMiddlewareRegistry, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1622
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPMenuMiddlewareRegistry, providedIn: 'root' }); }
1623
+ }
1624
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPMenuMiddlewareRegistry, decorators: [{
1625
+ type: Injectable,
1626
+ args: [{ providedIn: 'root' }]
1627
+ }] });
1628
+
1294
1629
  const AXP_MENU_PROVIDER = new InjectionToken('AXP_MENU_PROVIDER');
1295
1630
  class AXPMenuProviderService {
1296
1631
  constructor() {
1632
+ //#region ---- Dependencies ----
1297
1633
  this.providers = inject(AXP_MENU_PROVIDER, { optional: true });
1634
+ this.middlewareRegistry = inject(AXPMenuMiddlewareRegistry);
1635
+ //#endregion
1636
+ //#region ---- State ----
1298
1637
  this.cache = null;
1299
1638
  this.pendingInserts = [];
1300
1639
  this.pendingRemovals = [];
1301
1640
  this.pendingUpdates = [];
1302
1641
  this.pendingAdditions = [];
1303
1642
  }
1643
+ //#endregion
1644
+ //#region ---- Public API ----
1645
+ /**
1646
+ * Get menu items with middlewares applied (for end-user display)
1647
+ */
1304
1648
  async items() {
1305
1649
  // Return cached items if available
1306
1650
  if (this.cache) {
@@ -1317,12 +1661,65 @@ class AXPMenuProviderService {
1317
1661
  this.applyPendingOperations(items);
1318
1662
  // Sort items by priority
1319
1663
  items.sort((a, b) => (a.priority ?? 0) - (b.priority ?? 0));
1664
+ // Apply middlewares using registry (sorted by priority)
1665
+ await this.applyMiddlewares(items);
1320
1666
  // ADD level property to items
1321
1667
  setMenuItemMeta(items);
1322
1668
  // Cache the computed items
1323
1669
  this.cache = items;
1324
1670
  return items;
1325
1671
  }
1672
+ /**
1673
+ * Get raw menu items WITHOUT middleware applied (for management/editing)
1674
+ * Used by menu management pages to show original items before customization
1675
+ */
1676
+ async rawItems() {
1677
+ const items = [];
1678
+ const context = this.createMenuProviderContext(items);
1679
+ if (Array.isArray(this.providers)) {
1680
+ for (const provider of this.providers) {
1681
+ await provider.provide(context);
1682
+ }
1683
+ }
1684
+ // Apply pending operations
1685
+ this.applyPendingOperations(items);
1686
+ // Sort items by priority
1687
+ items.sort((a, b) => (a.priority ?? 0) - (b.priority ?? 0));
1688
+ // ADD level property to items (but NO middleware)
1689
+ setMenuItemMeta(items);
1690
+ return items;
1691
+ }
1692
+ /**
1693
+ * Clear the cache to force reload of menu items
1694
+ */
1695
+ clearCache() {
1696
+ this.cache = null;
1697
+ this.pendingInserts = [];
1698
+ this.pendingRemovals = [];
1699
+ this.pendingUpdates = [];
1700
+ this.pendingAdditions = [];
1701
+ }
1702
+ //#endregion
1703
+ //#region ---- Private Methods ----
1704
+ /**
1705
+ * Apply middlewares in priority order using the enhanced context API
1706
+ */
1707
+ async applyMiddlewares(items) {
1708
+ const middlewares = this.middlewareRegistry.list();
1709
+ for (const middleware of middlewares) {
1710
+ try {
1711
+ const context = createMenuContext(items);
1712
+ await middleware.process(context);
1713
+ // The context mutates the items array, so no need to reassign
1714
+ }
1715
+ catch (error) {
1716
+ console.error(`Error in menu middleware ${middleware.name || 'anonymous'}:`, error);
1717
+ }
1718
+ }
1719
+ }
1720
+ /**
1721
+ * Create provider context for menu providers
1722
+ */
1326
1723
  createMenuProviderContext(items) {
1327
1724
  return {
1328
1725
  addItems: (newItems) => {
@@ -1419,18 +1816,10 @@ class AXPMenuProviderService {
1419
1816
  }
1420
1817
  return { foundItem: null, parentItems: items };
1421
1818
  }
1422
- // Method to clear the cache, if needed (e.g., when providers change)
1423
- clearCache() {
1424
- this.cache = null;
1425
- this.pendingInserts = [];
1426
- this.pendingRemovals = [];
1427
- this.pendingUpdates = [];
1428
- this.pendingAdditions = [];
1429
- }
1430
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPMenuProviderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1431
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPMenuProviderService, providedIn: 'root' }); }
1819
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPMenuProviderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1820
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPMenuProviderService, providedIn: 'root' }); }
1432
1821
  }
1433
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPMenuProviderService, decorators: [{
1822
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPMenuProviderService, decorators: [{
1434
1823
  type: Injectable,
1435
1824
  args: [{ providedIn: 'root' }]
1436
1825
  }] });
@@ -1450,6 +1839,57 @@ function setMenuItemMeta(items, parentIndex = '', depth = 0) {
1450
1839
  });
1451
1840
  }
1452
1841
 
1842
+ //#region ---- Menu Middleware Provider Helper ----
1843
+ /**
1844
+ * Helper function to provide menu middlewares with proper DI setup
1845
+ * Similar to provideCommandMiddleware pattern
1846
+ *
1847
+ * @example
1848
+ * ```typescript
1849
+ * // In app.config.ts or module providers
1850
+ * export const appConfig: ApplicationConfig = {
1851
+ * providers: [
1852
+ * provideMenuMiddleware([
1853
+ * customizationMiddleware,
1854
+ * securityMiddleware,
1855
+ * loggingMiddleware
1856
+ * ])
1857
+ * ]
1858
+ * };
1859
+ * ```
1860
+ */
1861
+ function provideMenuMiddleware(middlewares) {
1862
+ return makeEnvironmentProviders([
1863
+ ...middlewares.map((middleware) => ({
1864
+ provide: AXP_MENU_MIDDLEWARE,
1865
+ useValue: middleware,
1866
+ multi: true,
1867
+ })),
1868
+ ]);
1869
+ }
1870
+ /**
1871
+ * Helper to create a class-based middleware with priority
1872
+ *
1873
+ * @example
1874
+ * ```typescript
1875
+ * const myMiddleware = createMenuMiddleware({
1876
+ * name: 'my-middleware',
1877
+ * priority: 100,
1878
+ * process: async (context) => {
1879
+ * context.find('dashboard').setPriority(1);
1880
+ * }
1881
+ * });
1882
+ * ```
1883
+ */
1884
+ function createMenuMiddleware(config) {
1885
+ return {
1886
+ name: config.name,
1887
+ priority: config.priority ?? 0,
1888
+ process: config.process,
1889
+ };
1890
+ }
1891
+ //#endregion
1892
+
1453
1893
  const AXPMenuService = signalStore({ providedIn: 'root' },
1454
1894
  // Initial State
1455
1895
  withState((router = inject(Router)) => {
@@ -1468,7 +1908,7 @@ withMethods((store, router = inject(Router), workflow = inject(AXPWorkflowServic
1468
1908
  patchState(store, { items: items });
1469
1909
  },
1470
1910
  selectMenuItemByRoute(path) {
1471
- const pathWithoutQuery = path.split('?')[0];
1911
+ const currentRawPath = path;
1472
1912
  const findItem = (items) => {
1473
1913
  for (const item of items) {
1474
1914
  // Recursively search children first
@@ -1479,8 +1919,8 @@ withMethods((store, router = inject(Router), workflow = inject(AXPWorkflowServic
1479
1919
  }
1480
1920
  }
1481
1921
  if (item.path) {
1482
- // Check if the item path matches the current path
1483
- const matchResult = pathsMatch(item.path, pathWithoutQuery, ['list', 'view', 'edit', 'create']);
1922
+ // Check if the item path matches the current path (including query param subset if provided on item)
1923
+ const matchResult = pathsMatch(item.path, currentRawPath, ['list', 'view', 'edit', 'create']);
1484
1924
  if (matchResult.isMatch) {
1485
1925
  return { item, isPartialMatch: matchResult.isPartial };
1486
1926
  }
@@ -1489,8 +1929,13 @@ withMethods((store, router = inject(Router), workflow = inject(AXPWorkflowServic
1489
1929
  return { item: null, isPartialMatch: false };
1490
1930
  };
1491
1931
  const pathsMatch = (itemPath, currentPath, trailingSegmentsToIgnore = []) => {
1492
- const itemSegments = itemPath.split('/').filter((segment) => segment.length > 0);
1493
- const pathSegments = currentPath.split('/').filter((segment) => segment.length > 0);
1932
+ // Split base and query/hash
1933
+ const itemNoHash = itemPath.split('#')[0];
1934
+ const currentNoHash = currentPath.split('#')[0];
1935
+ const [itemBase, itemQueryString = ''] = itemNoHash.split('?');
1936
+ const [currentBase, currentQueryString = ''] = currentNoHash.split('?');
1937
+ const itemSegments = itemBase.split('/').filter((segment) => segment.length > 0);
1938
+ const pathSegments = currentBase.split('/').filter((segment) => segment.length > 0);
1494
1939
  const menuLength = itemSegments.length;
1495
1940
  const pathLength = pathSegments.length;
1496
1941
  // Identify the effective base length for the menuPath
@@ -1516,8 +1961,24 @@ withMethods((store, router = inject(Router), workflow = inject(AXPWorkflowServic
1516
1961
  const isPartialMatch = effectiveMenuLength < pathLength;
1517
1962
  // Exact match: all segments match completely
1518
1963
  const isExactMatch = effectiveMenuLength === pathLength;
1964
+ // Query params subset match: if item defines any query params, require them to match
1965
+ const itemParams = new URLSearchParams(itemQueryString);
1966
+ const currentParams = new URLSearchParams(currentQueryString);
1967
+ let queryMatches = true;
1968
+ const itemParamPairs = [];
1969
+ itemParams.forEach((value, key) => {
1970
+ itemParamPairs.push([key, value]);
1971
+ });
1972
+ if (itemParamPairs.length > 0) {
1973
+ for (const [k, v] of itemParamPairs) {
1974
+ if (currentParams.get(k) !== v) {
1975
+ queryMatches = false;
1976
+ break;
1977
+ }
1978
+ }
1979
+ }
1519
1980
  return {
1520
- isMatch: isExactMatch || isPartialMatch,
1981
+ isMatch: (isExactMatch || isPartialMatch) && queryMatches,
1521
1982
  isPartial: isPartialMatch && !isExactMatch,
1522
1983
  };
1523
1984
  };
@@ -1639,12 +2100,12 @@ class AXPMenuSearchProvider {
1639
2100
  }
1640
2101
 
1641
2102
  class AXPFooterTextSlotComponent {
1642
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPFooterTextSlotComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1643
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.8", type: AXPFooterTextSlotComponent, isStandalone: true, selector: "ng-component", inputs: { text: "text" }, ngImport: i0, template: `
2103
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPFooterTextSlotComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2104
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.4", type: AXPFooterTextSlotComponent, isStandalone: true, selector: "ng-component", inputs: { text: "text" }, ngImport: i0, template: `
1644
2105
  <small class="ax-text-sm" [innerHTML]="text"></small>
1645
2106
  `, isInline: true }); }
1646
2107
  }
1647
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPFooterTextSlotComponent, decorators: [{
2108
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPFooterTextSlotComponent, decorators: [{
1648
2109
  type: Component,
1649
2110
  args: [{
1650
2111
  template: `
@@ -1661,8 +2122,8 @@ class AXPNavBarSlotComponent {
1661
2122
  // if (action)
1662
2123
  // this.store.dispatch(action)
1663
2124
  }
1664
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPNavBarSlotComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1665
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.8", type: AXPNavBarSlotComponent, isStandalone: true, selector: "ng-component", inputs: { items: "items" }, ngImport: i0, template: `
2125
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPNavBarSlotComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2126
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.4", type: AXPNavBarSlotComponent, isStandalone: true, selector: "ng-component", inputs: { items: "items" }, ngImport: i0, template: `
1666
2127
  <div class="ax-flex ax-items-center ax-justify-between ax-gap-5">
1667
2128
  @for (link of items; track link) {
1668
2129
  <a (click)="handleCommand(link.command)" >{{ link.text }}</a>
@@ -1670,7 +2131,7 @@ class AXPNavBarSlotComponent {
1670
2131
  </div>
1671
2132
  `, isInline: true, encapsulation: i0.ViewEncapsulation.None }); }
1672
2133
  }
1673
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPNavBarSlotComponent, decorators: [{
2134
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPNavBarSlotComponent, decorators: [{
1674
2135
  type: Component,
1675
2136
  args: [{
1676
2137
  template: `
@@ -1801,10 +2262,10 @@ class AXPSearchDefinitionProviderService {
1801
2262
  }
1802
2263
  return definition;
1803
2264
  }
1804
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPSearchDefinitionProviderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1805
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPSearchDefinitionProviderService, providedIn: 'root' }); }
2265
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPSearchDefinitionProviderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2266
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPSearchDefinitionProviderService, providedIn: 'root' }); }
1806
2267
  }
1807
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPSearchDefinitionProviderService, decorators: [{
2268
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPSearchDefinitionProviderService, decorators: [{
1808
2269
  type: Injectable,
1809
2270
  args: [{ providedIn: 'root' }]
1810
2271
  }] });
@@ -1888,14 +2349,19 @@ class AXPSearchService {
1888
2349
  groupedData.sort((a, b) => a.order - b.order);
1889
2350
  return groupedData;
1890
2351
  }
1891
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPSearchService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1892
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPSearchService, providedIn: 'root' }); }
2352
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPSearchService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2353
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPSearchService, providedIn: 'root' }); }
1893
2354
  }
1894
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPSearchService, decorators: [{
2355
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPSearchService, decorators: [{
1895
2356
  type: Injectable,
1896
2357
  args: [{ providedIn: 'root' }]
1897
2358
  }] });
1898
2359
 
2360
+ var AXPCommonSettings;
2361
+ (function (AXPCommonSettings) {
2362
+ AXPCommonSettings["EnableOperationToasts"] = "general:notifications:enable-operation-toasts";
2363
+ })(AXPCommonSettings || (AXPCommonSettings = {}));
2364
+
1899
2365
  //TODO Loading, Redirect, Drawer, Show toast
1900
2366
  const AXPRedirectEvent = createWorkFlowEvent('Redirect Event Fired');
1901
2367
  const AXPRefreshEvent = createWorkFlowEvent('Refresh Event Fired');
@@ -1918,10 +2384,10 @@ class AXPWorkflowNavigateAction extends AXPWorkflowAction {
1918
2384
  this.router.navigate([payload.commands], payload.extras);
1919
2385
  }
1920
2386
  }
1921
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPWorkflowNavigateAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
1922
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPWorkflowNavigateAction }); }
2387
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPWorkflowNavigateAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
2388
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPWorkflowNavigateAction }); }
1923
2389
  }
1924
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPWorkflowNavigateAction, decorators: [{
2390
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPWorkflowNavigateAction, decorators: [{
1925
2391
  type: Injectable
1926
2392
  }] });
1927
2393
  class AXPDialogConfirmAction extends AXPWorkflowAction {
@@ -1932,14 +2398,15 @@ class AXPDialogConfirmAction extends AXPWorkflowAction {
1932
2398
  this.defaultAction = 'cancel';
1933
2399
  }
1934
2400
  async execute(context) {
2401
+ console.log('AXPDialogConfirmAction', this.title, this.message, this.type);
1935
2402
  context.setOutput('result', false);
1936
2403
  const dialogResult = await this.dialogService.confirm(await this.translationService.translateAsync(this.title), await this.translationService.translateAsync(this.message), (await this.translationService.translateAsync(this.type)), 'horizontal', false, 'cancel');
1937
2404
  context.setOutput('result', dialogResult.result);
1938
2405
  }
1939
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPDialogConfirmAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
1940
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPDialogConfirmAction }); }
2406
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPDialogConfirmAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
2407
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPDialogConfirmAction }); }
1941
2408
  }
1942
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPDialogConfirmAction, decorators: [{
2409
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPDialogConfirmAction, decorators: [{
1943
2410
  type: Injectable
1944
2411
  }] });
1945
2412
  class AXPToastAction extends AXPWorkflowAction {
@@ -1947,11 +2414,10 @@ class AXPToastAction extends AXPWorkflowAction {
1947
2414
  super(...arguments);
1948
2415
  this.toastService = inject(AXToastService);
1949
2416
  this.translationService = inject(AXTranslationService);
2417
+ this.settingService = inject(AXPSettingService);
1950
2418
  }
1951
2419
  async execute(context) {
1952
- const options = context.getVariable('options');
1953
- const process = options?.['process'];
1954
- const showResult = process?.showResult ?? true;
2420
+ const showResult = await this.settingService.get(AXPCommonSettings.EnableOperationToasts);
1955
2421
  if (showResult) {
1956
2422
  this.toastService.show({
1957
2423
  color: this.color,
@@ -1963,20 +2429,20 @@ class AXPToastAction extends AXPWorkflowAction {
1963
2429
  });
1964
2430
  }
1965
2431
  }
1966
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPToastAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
1967
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPToastAction }); }
2432
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPToastAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
2433
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPToastAction }); }
1968
2434
  }
1969
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPToastAction, decorators: [{
2435
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPToastAction, decorators: [{
1970
2436
  type: Injectable
1971
2437
  }] });
1972
2438
  class AXPReloadAction extends AXPWorkflowAction {
1973
2439
  async execute(context) {
1974
2440
  this.dispatch(AXPReloadEvent({ entity: context.getVariable('entity'), meta: context.getVariable('meta') }));
1975
2441
  }
1976
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPReloadAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
1977
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPReloadAction }); }
2442
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPReloadAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
2443
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPReloadAction }); }
1978
2444
  }
1979
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPReloadAction, decorators: [{
2445
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPReloadAction, decorators: [{
1980
2446
  type: Injectable
1981
2447
  }] });
1982
2448
 
@@ -2016,10 +2482,10 @@ class AXPWorkflowRouterNavigateAction extends AXPWorkflowAction {
2016
2482
  return params;
2017
2483
  }, {});
2018
2484
  }
2019
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPWorkflowRouterNavigateAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
2020
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPWorkflowRouterNavigateAction }); }
2485
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPWorkflowRouterNavigateAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
2486
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPWorkflowRouterNavigateAction }); }
2021
2487
  }
2022
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPWorkflowRouterNavigateAction, decorators: [{
2488
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPWorkflowRouterNavigateAction, decorators: [{
2023
2489
  type: Injectable
2024
2490
  }] });
2025
2491
  const AXPNavigateWorkflow = {
@@ -2044,84 +2510,13 @@ class AXMWorkflowErrorHandler {
2044
2510
  next(error);
2045
2511
  }
2046
2512
  }
2047
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXMWorkflowErrorHandler, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2048
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXMWorkflowErrorHandler }); }
2513
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXMWorkflowErrorHandler, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2514
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXMWorkflowErrorHandler }); }
2049
2515
  }
2050
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXMWorkflowErrorHandler, decorators: [{
2516
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXMWorkflowErrorHandler, decorators: [{
2051
2517
  type: Injectable
2052
2518
  }] });
2053
2519
 
2054
- const AXP_GLOBAL_VARIABLE_DEFINITION_PROVIDER = new InjectionToken('AXP_GLOBAL_VARIABLE_DEFINITION_PROVIDER', {
2055
- factory: () => [],
2056
- });
2057
-
2058
- //#region ---- Imports ----
2059
- //#endregion
2060
- class AXPGlobalVariableDefinitionService {
2061
- constructor() {
2062
- //#region ---- Providers & Caches ----
2063
- this.definitionProviders = inject(AXP_GLOBAL_VARIABLE_DEFINITION_PROVIDER, { optional: true }) || [];
2064
- /** Cache for definitions by name. */
2065
- this.definitionsByName = new Map();
2066
- }
2067
- //#endregion
2068
- //#region ---- Public API ----
2069
- /**
2070
- * Returns a report definition by its id.
2071
- * First checks the cache, then queries all providers if not found.
2072
- * @param name The global variable name.
2073
- * @returns The global variable definition if found, undefined otherwise.
2074
- */
2075
- async getByName(name) {
2076
- // Check cache first
2077
- if (this.definitionsByName.has(name)) {
2078
- return this.definitionsByName.get(name);
2079
- }
2080
- // Not in cache, query providers (each provider is itself a global variable definition)
2081
- const resolvedProviders = await Promise.all(this.definitionProviders);
2082
- const match = resolvedProviders.find(def => def?.name === name);
2083
- if (match) {
2084
- this.definitionsByName.set(name, match);
2085
- return match;
2086
- }
2087
- return undefined;
2088
- }
2089
- async execute(name) {
2090
- const definition = await this.getByName(name);
2091
- if (definition) {
2092
- return await definition.execute();
2093
- }
2094
- return undefined;
2095
- }
2096
- //#endregion
2097
- //#region ---- Cache Management ----
2098
- /** Clears the definitions by name cache. */
2099
- clearDefinitionsCache() {
2100
- this.definitionsByName.clear();
2101
- }
2102
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPGlobalVariableDefinitionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2103
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPGlobalVariableDefinitionService, providedIn: 'root' }); }
2104
- }
2105
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPGlobalVariableDefinitionService, decorators: [{
2106
- type: Injectable,
2107
- args: [{
2108
- providedIn: 'root',
2109
- }]
2110
- }] });
2111
-
2112
- class AXPGlobalVariableEvaluatorScopeProvider {
2113
- constructor() {
2114
- this.globalVariableService = inject(AXPGlobalVariableDefinitionService);
2115
- }
2116
- async provide(context) {
2117
- context.addScope('variables', {
2118
- execute: async (name) => {
2119
- return await this.globalVariableService.execute(name);
2120
- }
2121
- });
2122
- }
2123
- }
2124
-
2125
2520
  class AXPCommonModule {
2126
2521
  static forRoot(configs) {
2127
2522
  return {
@@ -2171,11 +2566,11 @@ class AXPCommonModule {
2171
2566
  },
2172
2567
  });
2173
2568
  }
2174
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPCommonModule, deps: [{ token: 'AXPCommonModuleFactory' }, { token: i1$1.AXPAppStartUpService }, { token: AXPSettingService }], target: i0.ɵɵFactoryTarget.NgModule }); }
2175
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.1.8", ngImport: i0, type: AXPCommonModule, imports: [i3.AXPWorkflowModule, AXPopupModule,
2569
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPCommonModule, deps: [{ token: 'AXPCommonModuleFactory' }, { token: i1$1.AXPAppStartUpService }, { token: AXPSettingService }], target: i0.ɵɵFactoryTarget.NgModule }); }
2570
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.4", ngImport: i0, type: AXPCommonModule, imports: [i3.AXPWorkflowModule, AXPopupModule,
2176
2571
  AXDateTimeModule,
2177
2572
  AXToastModule], exports: [RouterModule] }); }
2178
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPCommonModule, providers: [
2573
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPCommonModule, providers: [
2179
2574
  AXPAppStartUpProvider,
2180
2575
  {
2181
2576
  provide: ErrorHandler,
@@ -2204,12 +2599,21 @@ class AXPCommonModule {
2204
2599
  useClass: AXPGlobalVariableEvaluatorScopeProvider,
2205
2600
  multi: true,
2206
2601
  },
2602
+ {
2603
+ provide: AXP_SETTING_DEFINITION_PROVIDER,
2604
+ useFactory: async () => {
2605
+ const injector = inject(Injector);
2606
+ const provider = (await import('./acorex-platform-common-common-settings.provider-9OHien_H.mjs')).AXPCommonSettingProvider;
2607
+ return new provider(injector);
2608
+ },
2609
+ multi: true,
2610
+ },
2207
2611
  ], imports: [AXPWorkflowModule.forChild({
2208
2612
  actions: {
2209
2613
  'navigate-router': AXPWorkflowRouterNavigateAction,
2210
2614
  'show-prompt-dialog': AXPDialogConfirmAction,
2211
2615
  'show-toast': AXPToastAction,
2212
- 'reload': AXPReloadAction,
2616
+ reload: AXPReloadAction,
2213
2617
  },
2214
2618
  workflows: {
2215
2619
  navigate: AXPNavigateWorkflow,
@@ -2219,7 +2623,7 @@ class AXPCommonModule {
2219
2623
  AXDateTimeModule,
2220
2624
  AXToastModule, RouterModule] }); }
2221
2625
  }
2222
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPCommonModule, decorators: [{
2626
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPCommonModule, decorators: [{
2223
2627
  type: NgModule,
2224
2628
  args: [{
2225
2629
  imports: [
@@ -2228,7 +2632,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImpor
2228
2632
  'navigate-router': AXPWorkflowRouterNavigateAction,
2229
2633
  'show-prompt-dialog': AXPDialogConfirmAction,
2230
2634
  'show-toast': AXPToastAction,
2231
- 'reload': AXPReloadAction,
2635
+ reload: AXPReloadAction,
2232
2636
  },
2233
2637
  workflows: {
2234
2638
  navigate: AXPNavigateWorkflow,
@@ -2268,6 +2672,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImpor
2268
2672
  useClass: AXPGlobalVariableEvaluatorScopeProvider,
2269
2673
  multi: true,
2270
2674
  },
2675
+ {
2676
+ provide: AXP_SETTING_DEFINITION_PROVIDER,
2677
+ useFactory: async () => {
2678
+ const injector = inject(Injector);
2679
+ const provider = (await import('./acorex-platform-common-common-settings.provider-9OHien_H.mjs')).AXPCommonSettingProvider;
2680
+ return new provider(injector);
2681
+ },
2682
+ multi: true,
2683
+ },
2271
2684
  ],
2272
2685
  }]
2273
2686
  }], ctorParameters: () => [{ type: undefined, decorators: [{
@@ -2296,10 +2709,10 @@ function configPlatform(config = AXPPlatformDefaultConfigs) {
2296
2709
  const AXP_ROOT_CONFIG_TOKEN = new InjectionToken('AXP_ROOT_CONFIG_TOKEN');
2297
2710
 
2298
2711
  class AXPFileStorageService {
2299
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPFileStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2300
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPFileStorageService }); }
2712
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPFileStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2713
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPFileStorageService }); }
2301
2714
  }
2302
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPFileStorageService, decorators: [{
2715
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPFileStorageService, decorators: [{
2303
2716
  type: Injectable
2304
2717
  }] });
2305
2718
 
@@ -2329,19 +2742,19 @@ class AXPFileTypeProviderService {
2329
2742
  async get(name) {
2330
2743
  return (await this.items()).find((c) => c.name == name);
2331
2744
  }
2332
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPFileTypeProviderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2333
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPFileTypeProviderService, providedIn: 'root' }); }
2745
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPFileTypeProviderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2746
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPFileTypeProviderService, providedIn: 'root' }); }
2334
2747
  }
2335
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPFileTypeProviderService, decorators: [{
2748
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPFileTypeProviderService, decorators: [{
2336
2749
  type: Injectable,
2337
2750
  args: [{ providedIn: 'root' }]
2338
2751
  }] });
2339
2752
 
2340
2753
  class AXPLockService {
2341
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPLockService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2342
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPLockService }); }
2754
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPLockService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2755
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPLockService }); }
2343
2756
  }
2344
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPLockService, decorators: [{
2757
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPLockService, decorators: [{
2345
2758
  type: Injectable
2346
2759
  }] });
2347
2760
 
@@ -2358,10 +2771,10 @@ class AXPClipBoardService {
2358
2771
  navigator.clipboard.writeText(value);
2359
2772
  this.toast.success(`${title} copied!`);
2360
2773
  }
2361
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPClipBoardService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2362
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPClipBoardService, providedIn: 'root' }); }
2774
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPClipBoardService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2775
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPClipBoardService, providedIn: 'root' }); }
2363
2776
  }
2364
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPClipBoardService, decorators: [{
2777
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPClipBoardService, decorators: [{
2365
2778
  type: Injectable,
2366
2779
  args: [{
2367
2780
  providedIn: 'root',
@@ -2378,7 +2791,7 @@ class AXMOrgChartPrintPage extends AXBasePageComponent {
2378
2791
  this.width = model(...(ngDevMode ? [undefined, { debugName: "width" }] : []));
2379
2792
  this.height = model(...(ngDevMode ? [undefined, { debugName: "height" }] : []));
2380
2793
  this.quality = model(...(ngDevMode ? [undefined, { debugName: "quality" }] : []));
2381
- this.qualityComputed = linkedSignal(() => (this.data.quality ?? 1) * 100);
2794
+ this.qualityComputed = linkedSignal(() => (this.data.quality ?? 1) * 100, ...(ngDevMode ? [{ debugName: "qualityComputed" }] : []));
2382
2795
  this.scale = model(...(ngDevMode ? [undefined, { debugName: "scale" }] : []));
2383
2796
  this.#init = afterNextRender(() => {
2384
2797
  this.bgcolor.set(this.data.bgcolor);
@@ -2416,8 +2829,8 @@ class AXMOrgChartPrintPage extends AXBasePageComponent {
2416
2829
  isCanceled,
2417
2830
  });
2418
2831
  }
2419
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXMOrgChartPrintPage, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
2420
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.1.8", type: AXMOrgChartPrintPage, isStandalone: true, selector: "ng-component", inputs: { bgcolor: { classPropertyName: "bgcolor", publicName: "bgcolor", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, quality: { classPropertyName: "quality", publicName: "quality", isSignal: true, isRequired: false, transformFunction: null }, scale: { classPropertyName: "scale", publicName: "scale", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { bgcolor: "bgcolorChange", width: "widthChange", height: "heightChange", quality: "qualityChange", scale: "scaleChange" }, usesInheritance: true, ngImport: i0, template: ` <div class="ax-grid ax-grid-cols-[auto_18rem] ax-gap-4 ax-justify-center ax-p-4 ax-items-center">
2832
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXMOrgChartPrintPage, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
2833
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.4", type: AXMOrgChartPrintPage, isStandalone: true, selector: "ng-component", inputs: { bgcolor: { classPropertyName: "bgcolor", publicName: "bgcolor", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, quality: { classPropertyName: "quality", publicName: "quality", isSignal: true, isRequired: false, transformFunction: null }, scale: { classPropertyName: "scale", publicName: "scale", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { bgcolor: "bgcolorChange", width: "widthChange", height: "heightChange", quality: "qualityChange", scale: "scaleChange" }, usesInheritance: true, ngImport: i0, template: ` <div class="ax-grid ax-grid-cols-[auto_18rem] ax-gap-4 ax-justify-center ax-p-4 ax-items-center">
2421
2834
  <ax-label>Resolution (px)</ax-label>
2422
2835
  <div class="ax-flex ax-gap-2 ax-items-center">
2423
2836
  <ax-number-box
@@ -2468,7 +2881,7 @@ class AXMOrgChartPrintPage extends AXBasePageComponent {
2468
2881
  </ax-suffix>
2469
2882
  </ax-footer>`, isInline: true, dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AXCheckBoxModule }, { kind: "ngmodule", type: AXNumberBoxModule }, { kind: "component", type: i2$1.AXNumberBoxComponent, selector: "ax-number-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "type", "changeOnScroll", "allDigits", "thousandsSeparator", "padDecimalZeros", "step", "decimals", "decimalStep", "showSpinButtons", "minValue", "maxValue", "class"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: AXTextBoxModule }, { kind: "ngmodule", type: AXLabelModule }, { kind: "component", type: i3$1.AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i4.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i4.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i5.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXColorBoxModule }, { kind: "component", type: i6.AXColorBoxComponent, selector: "ax-color-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "showBadge", "showValue", "showClearButton", "showIcon"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onOpened", "onClosed"] }] }); }
2470
2883
  }
2471
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXMOrgChartPrintPage, decorators: [{
2884
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXMOrgChartPrintPage, decorators: [{
2472
2885
  type: Component,
2473
2886
  args: [{
2474
2887
  template: ` <div class="ax-grid ax-grid-cols-[auto_18rem] ax-gap-4 ax-justify-center ax-p-4 ax-items-center">
@@ -2582,10 +2995,10 @@ class AXPExportService {
2582
2995
  document.body.removeChild(link);
2583
2996
  URL.revokeObjectURL(link.href);
2584
2997
  }
2585
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPExportService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2586
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPExportService, providedIn: 'root' }); }
2998
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPExportService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2999
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPExportService, providedIn: 'root' }); }
2587
3000
  }
2588
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPExportService, decorators: [{
3001
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPExportService, decorators: [{
2589
3002
  type: Injectable,
2590
3003
  args: [{
2591
3004
  providedIn: 'root',
@@ -2615,9 +3028,22 @@ function AXPCleanNestedFilters(filters) {
2615
3028
  .filter(Boolean);
2616
3029
  }
2617
3030
 
3031
+ //#region ---- Versioning Types ----
3032
+ var AXVChangeType;
3033
+ (function (AXVChangeType) {
3034
+ AXVChangeType["Create"] = "Create";
3035
+ AXVChangeType["Update"] = "Update";
3036
+ AXVChangeType["Delete"] = "Delete";
3037
+ })(AXVChangeType || (AXVChangeType = {}));
3038
+ //#endregion
3039
+ //#region ---- Service Contract ----
3040
+ class AXPVersioningService {
3041
+ }
3042
+ //#endregion
3043
+
2618
3044
  /**
2619
3045
  * Generated bundle index. Do not edit.
2620
3046
  */
2621
3047
 
2622
- export { ALL_DEFAULT_OPERATORS, AXMWorkflowErrorHandler, AXPAppVersionService, AXPCleanNestedFilters, AXPClipBoardService, AXPCommonModule, AXPCustomOperatorService, AXPCustomOperatorServiceImpl, AXPDataProvider, AXPDialogConfirmAction, AXPEntityCommandScope, AXPEntityQueryType, AXPErrorHandlerRegistryService, AXPExportService, AXPFileStorageService, AXPFileStorageStatus, AXPFileTypeProviderService, AXPFilterOperatorMiddlewareService, AXPFilterOperatorMiddlewareServiceImpl, AXPFooterTextSlotComponent, AXPGlobalErrorHandler, AXPGlobalVariableDefinitionService, AXPGlobalVariableEvaluatorScopeProvider, AXPGridLayoutDirective, AXPHomePageModule, AXPHomePageService, AXPLockService, AXPLogoComponent, AXPMenuProviderService, AXPMenuSearchDefinitionProvider, AXPMenuSearchProvider, AXPMenuService, AXPNavBarSlotComponent, AXPNavigateWorkflow, AXPPlatformDefaultConfigs, AXPRedirectEvent, AXPRefreshEvent, AXPRelationshipCardinality, AXPRelationshipKind, AXPReloadAction, AXPReloadEvent, AXPSearchCommandProvider, AXPSearchDefinitionActionBuilder, AXPSearchDefinitionBuilder, AXPSearchDefinitionProviderContext, AXPSearchDefinitionProviderService, AXPSearchService, AXPSettingDefaultValuesAggregatorService, AXPSettingDefinitionGroupBuilder, AXPSettingDefinitionProviderContext, AXPSettingDefinitionProviderService, AXPSettingDefinitionSectionBuilder, AXPSettingService, AXPStickyDirective, AXPToastAction, AXPWorkflowNavigateAction, AXPWorkflowRouterNavigateAction, AXP_APP_VERSION_PROVIDER, AXP_FILE_TYPE_INFO_PROVIDER, AXP_GLOBAL_VARIABLE_DEFINITION_PROVIDER, AXP_HOME_PAGES, AXP_HOME_PAGE_DEFAULT_KEY, AXP_MENU_PROVIDER, AXP_PLATFORM_CONFIG_TOKEN, AXP_ROOT_CONFIG_TOKEN, AXP_SEARCH_DEFINITION_PROVIDER, AXP_SEARCH_PROVIDER, AXP_SETTING_DEFAULT_VALUES_PROVIDERS, AXP_SETTING_DEFINITION_PROVIDER, AXP_SETTING_VALUE_PROVIDER, BETWEEN_OPER, BOOLEAN_OPERATORS, CONTAINS_OPER, DATE_OPERATORS, ENDS_WITH_OPER, ENVIRONMENT, EQ_OPER, GTE_OPER, GT_OPER, IN_OPER, IS_EMPTY_OPER, IS_NOT_EMPTY_OPER, LTE_OPER, LT_OPER, NOT_CONTAINS_OPER, NOT_EQ_OPER, NUMBER_OPERATORS, STARTS_WITH_OPER, STRING_OPERATORS, configPlatform, createAllQueryView, createQueryView, getEntityInfo, provideDynamicHomePage };
3048
+ export { ALL_DEFAULT_OPERATORS, AXMWorkflowErrorHandler, AXPAppVersionService, AXPCleanNestedFilters, AXPClipBoardService, AXPCommonModule, AXPCommonSettings, AXPCustomOperatorService, AXPCustomOperatorServiceImpl, AXPDataProvider, AXPDialogConfirmAction, AXPEntityCommandScope, AXPEntityQueryType, AXPErrorHandlerRegistryService, AXPExportService, AXPFileStorageService, AXPFileStorageStatus, AXPFileTypeProviderService, AXPFilterOperatorMiddlewareService, AXPFilterOperatorMiddlewareServiceImpl, AXPFooterTextSlotComponent, AXPGlobalErrorHandler, AXPGlobalVariableDefinitionService, AXPGlobalVariableEvaluatorScopeProvider, AXPHomePageModule, AXPHomePageService, AXPLockService, AXPLogoComponent, AXPMenuMiddlewareRegistry, AXPMenuProviderService, AXPMenuSearchDefinitionProvider, AXPMenuSearchProvider, AXPMenuService, AXPNavBarSlotComponent, AXPNavigateWorkflow, AXPPlatformDefaultConfigs, AXPRedirectEvent, AXPRefreshEvent, AXPRelationshipCardinality, AXPRelationshipKind, AXPReloadAction, AXPReloadEvent, AXPSearchCommandProvider, AXPSearchDefinitionActionBuilder, AXPSearchDefinitionBuilder, AXPSearchDefinitionProviderContext, AXPSearchDefinitionProviderService, AXPSearchService, AXPSettingDefaultValuesAggregatorService, AXPSettingDefinitionGroupBuilder, AXPSettingDefinitionProviderContext, AXPSettingDefinitionProviderService, AXPSettingDefinitionSectionBuilder, AXPSettingService, AXPStickyDirective, AXPToastAction, AXPVersioningService, AXPWorkflowNavigateAction, AXPWorkflowRouterNavigateAction, AXP_APP_VERSION_PROVIDER, AXP_FILE_TYPE_INFO_PROVIDER, AXP_GLOBAL_VARIABLE_DEFINITION_PROVIDER, AXP_HOME_PAGES, AXP_HOME_PAGE_DEFAULT_KEY, AXP_MENU_MIDDLEWARE, AXP_MENU_PROVIDER, AXP_PLATFORM_CONFIG_TOKEN, AXP_ROOT_CONFIG_TOKEN, AXP_SEARCH_DEFINITION_PROVIDER, AXP_SEARCH_PROVIDER, AXP_SETTING_DEFAULT_VALUES_PROVIDERS, AXP_SETTING_DEFINITION_PROVIDER, AXP_SETTING_VALUE_PROVIDER, AXVChangeType, BETWEEN_OPER, BOOLEAN_OPERATORS, CONTAINS_OPER, DATE_OPERATORS, ENDS_WITH_OPER, ENVIRONMENT, EQ_OPER, GTE_OPER, GT_OPER, IN_OPER, IS_EMPTY_OPER, IS_NOT_EMPTY_OPER, LTE_OPER, LT_OPER, NOT_CONTAINS_OPER, NOT_EQ_OPER, NUMBER_OPERATORS, STARTS_WITH_OPER, STRING_OPERATORS, configPlatform, createAllQueryView, createMenuContext, createMenuMiddleware, createQueryView, getEntityInfo, provideDynamicHomePage, provideMenuMiddleware };
2623
3049
  //# sourceMappingURL=acorex-platform-common.mjs.map