@acorex/platform 20.3.0-next.2 → 20.3.0-next.21

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 +403 -374
  2. package/core/index.d.ts +576 -46
  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.mjs +152 -231
  6. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  7. package/fesm2022/acorex-platform-core.mjs +657 -110
  8. package/fesm2022/acorex-platform-core.mjs.map +1 -1
  9. package/fesm2022/acorex-platform-domain.mjs +16 -16
  10. package/fesm2022/acorex-platform-domain.mjs.map +1 -1
  11. package/fesm2022/acorex-platform-layout-builder.mjs +1946 -1947
  12. package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
  13. package/fesm2022/acorex-platform-layout-components.mjs +2094 -477
  14. package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
  15. package/fesm2022/acorex-platform-layout-designer.mjs +96 -89
  16. package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
  17. package/fesm2022/acorex-platform-layout-entity-create-entity.command-DyXF9zAh.mjs +52 -0
  18. package/fesm2022/acorex-platform-layout-entity-create-entity.command-DyXF9zAh.mjs.map +1 -0
  19. package/fesm2022/acorex-platform-layout-entity.mjs +1763 -1233
  20. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  21. package/fesm2022/acorex-platform-layout-views.mjs +43 -33
  22. package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
  23. package/fesm2022/acorex-platform-layout-widget-core.mjs +2756 -0
  24. package/fesm2022/acorex-platform-layout-widget-core.mjs.map +1 -0
  25. package/fesm2022/{acorex-platform-widgets-button-widget-designer.component-C2Qn1YAW.mjs → acorex-platform-layout-widgets-button-widget-designer.component-C_3IWNkj.mjs} +6 -6
  26. package/fesm2022/acorex-platform-layout-widgets-button-widget-designer.component-C_3IWNkj.mjs.map +1 -0
  27. 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
  28. package/fesm2022/acorex-platform-layout-widgets-extra-properties-schema-widget-edit.component-CJltEgut.mjs.map +1 -0
  29. 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
  30. package/fesm2022/acorex-platform-layout-widgets-extra-properties-schema-widget-view.component-pM-TIuk0.mjs.map +1 -0
  31. 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
  32. package/fesm2022/acorex-platform-layout-widgets-extra-properties-values-widget-edit.component-BqI96-fU.mjs.map +1 -0
  33. 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
  34. package/fesm2022/acorex-platform-layout-widgets-extra-properties-values-widget-view.component-C-AhenaM.mjs.map +1 -0
  35. 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
  36. package/fesm2022/acorex-platform-layout-widgets-extra-properties-widget-edit.component-DCAya5ne.mjs.map +1 -0
  37. 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
  38. package/fesm2022/acorex-platform-layout-widgets-extra-properties-widget-view.component-D-PnBqLb.mjs.map +1 -0
  39. package/fesm2022/{acorex-platform-widgets-file-list-popup.component-rW2RD35f.mjs → acorex-platform-layout-widgets-file-list-popup.component-DuuFHWvB.mjs} +10 -10
  40. package/fesm2022/acorex-platform-layout-widgets-file-list-popup.component-DuuFHWvB.mjs.map +1 -0
  41. package/fesm2022/{acorex-platform-widgets-page-widget-designer.component-DNvnQ4Mc.mjs → acorex-platform-layout-widgets-page-widget-designer.component-Bss0xUcu.mjs} +8 -8
  42. package/fesm2022/acorex-platform-layout-widgets-page-widget-designer.component-Bss0xUcu.mjs.map +1 -0
  43. 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
  44. package/fesm2022/acorex-platform-layout-widgets-tabular-data-edit-popup.component-Cy9mHnNP.mjs.map +1 -0
  45. 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
  46. package/fesm2022/acorex-platform-layout-widgets-tabular-data-view-popup.component-DznLtuer.mjs.map +1 -0
  47. 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
  48. package/fesm2022/acorex-platform-layout-widgets-text-block-widget-designer.component-ndOUSFi9.mjs.map +1 -0
  49. package/fesm2022/{acorex-platform-widgets.mjs → acorex-platform-layout-widgets.mjs} +8836 -8103
  50. package/fesm2022/acorex-platform-layout-widgets.mjs.map +1 -0
  51. package/fesm2022/acorex-platform-native.mjs +7 -7
  52. package/fesm2022/acorex-platform-native.mjs.map +1 -1
  53. package/fesm2022/acorex-platform-runtime.mjs +40 -40
  54. package/fesm2022/acorex-platform-runtime.mjs.map +1 -1
  55. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-Fnj54AxV.mjs +115 -0
  56. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-Fnj54AxV.mjs.map +1 -0
  57. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-C60W6UnN.mjs +753 -0
  58. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-C60W6UnN.mjs.map +1 -0
  59. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-B3NyKGIG.mjs +101 -0
  60. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-B3NyKGIG.mjs.map +1 -0
  61. 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
  62. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-B8gx5cG7.mjs.map +1 -0
  63. package/fesm2022/{acorex-platform-themes-default-error-401.component-DrO1PEOH.mjs → acorex-platform-themes-default-error-401.component-CcvGfdhu.mjs} +4 -4
  64. package/fesm2022/{acorex-platform-themes-default-error-401.component-DrO1PEOH.mjs.map → acorex-platform-themes-default-error-401.component-CcvGfdhu.mjs.map} +1 -1
  65. package/fesm2022/{acorex-platform-themes-default-error-404.component-DqVq0oHX.mjs → acorex-platform-themes-default-error-404.component-4-CaEsnV.mjs} +4 -4
  66. 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
  67. package/fesm2022/{acorex-platform-themes-default-error-offline.component-Bt2PTL7_.mjs → acorex-platform-themes-default-error-offline.component-BNecbFEj.mjs} +4 -4
  68. package/fesm2022/{acorex-platform-themes-default-error-offline.component-Bt2PTL7_.mjs.map → acorex-platform-themes-default-error-offline.component-BNecbFEj.mjs.map} +1 -1
  69. package/fesm2022/acorex-platform-themes-default.mjs +45 -45
  70. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
  71. package/fesm2022/{acorex-platform-themes-shared-icon-chooser-view.component-KpZWpnOJ.mjs → acorex-platform-themes-shared-icon-chooser-view.component-Dc_Txe32.mjs} +25 -15
  72. package/fesm2022/acorex-platform-themes-shared-icon-chooser-view.component-Dc_Txe32.mjs.map +1 -0
  73. package/fesm2022/{acorex-platform-themes-shared-settings.provider-CXiRmniv.mjs → acorex-platform-themes-shared-settings.provider-DY2xFnrv.mjs} +9 -9
  74. package/fesm2022/acorex-platform-themes-shared-settings.provider-DY2xFnrv.mjs.map +1 -0
  75. package/fesm2022/{acorex-platform-themes-shared-theme-color-chooser-column.component-BvOiVCgt.mjs → acorex-platform-themes-shared-theme-color-chooser-column.component-hgWLhhle.mjs} +24 -9
  76. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-hgWLhhle.mjs.map +1 -0
  77. package/fesm2022/{acorex-platform-themes-shared-theme-color-chooser-view.component-BW0rfkjk.mjs → acorex-platform-themes-shared-theme-color-chooser-view.component-CY3JZK_W.mjs} +24 -9
  78. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-CY3JZK_W.mjs.map +1 -0
  79. package/fesm2022/acorex-platform-themes-shared.mjs +264 -86
  80. package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
  81. package/fesm2022/acorex-platform-workflow.mjs +27 -39
  82. package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
  83. package/layout/builder/README.md +1577 -3
  84. package/layout/builder/index.d.ts +735 -814
  85. package/layout/components/index.d.ts +443 -214
  86. package/layout/designer/index.d.ts +8 -6
  87. package/layout/entity/index.d.ts +979 -282
  88. package/layout/views/index.d.ts +13 -13
  89. package/layout/widget-core/README.md +4 -0
  90. package/layout/widget-core/index.d.ts +957 -0
  91. package/layout/widgets/README.md +4 -0
  92. package/{widgets → layout/widgets}/index.d.ts +1908 -770
  93. package/package.json +22 -18
  94. package/themes/shared/index.d.ts +2 -2
  95. package/workflow/index.d.ts +3 -173
  96. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-BXbkGGei.mjs +0 -115
  97. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-BXbkGGei.mjs.map +0 -1
  98. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-X0hLRZhX.mjs +0 -708
  99. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-X0hLRZhX.mjs.map +0 -1
  100. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-Bp1JLsj1.mjs +0 -101
  101. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-Bp1JLsj1.mjs.map +0 -1
  102. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-BExtm1JE.mjs.map +0 -1
  103. package/fesm2022/acorex-platform-themes-shared-icon-chooser-view.component-KpZWpnOJ.mjs.map +0 -1
  104. package/fesm2022/acorex-platform-themes-shared-settings.provider-CXiRmniv.mjs.map +0 -1
  105. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-BvOiVCgt.mjs.map +0 -1
  106. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-BW0rfkjk.mjs.map +0 -1
  107. package/fesm2022/acorex-platform-widgets-button-widget-designer.component-C2Qn1YAW.mjs.map +0 -1
  108. package/fesm2022/acorex-platform-widgets-checkbox-widget-column.component-CzEFmKWG.mjs +0 -84
  109. package/fesm2022/acorex-platform-widgets-checkbox-widget-column.component-CzEFmKWG.mjs.map +0 -1
  110. package/fesm2022/acorex-platform-widgets-checkbox-widget-designer.component-JC_nYunG.mjs +0 -55
  111. package/fesm2022/acorex-platform-widgets-checkbox-widget-designer.component-JC_nYunG.mjs.map +0 -1
  112. package/fesm2022/acorex-platform-widgets-checkbox-widget-view.component-C-4bWr9G.mjs +0 -76
  113. package/fesm2022/acorex-platform-widgets-checkbox-widget-view.component-C-4bWr9G.mjs.map +0 -1
  114. package/fesm2022/acorex-platform-widgets-color-box-widget-designer.component-CxgKO2VI.mjs +0 -55
  115. package/fesm2022/acorex-platform-widgets-color-box-widget-designer.component-CxgKO2VI.mjs.map +0 -1
  116. package/fesm2022/acorex-platform-widgets-extra-properties-schema-widget-edit.component-D9mf08rU.mjs.map +0 -1
  117. package/fesm2022/acorex-platform-widgets-extra-properties-schema-widget-view.component-D6GQ-eyr.mjs.map +0 -1
  118. package/fesm2022/acorex-platform-widgets-extra-properties-values-widget-edit.component-DVbIdVZ6.mjs.map +0 -1
  119. package/fesm2022/acorex-platform-widgets-extra-properties-values-widget-view.component-D-aM64Hu.mjs.map +0 -1
  120. package/fesm2022/acorex-platform-widgets-extra-properties-widget-edit.component-em2-aU8E.mjs.map +0 -1
  121. package/fesm2022/acorex-platform-widgets-extra-properties-widget-view.component-BeuIofdr.mjs.map +0 -1
  122. package/fesm2022/acorex-platform-widgets-file-list-popup.component-rW2RD35f.mjs.map +0 -1
  123. package/fesm2022/acorex-platform-widgets-file-rename-popup.component-DHFMnkls.mjs +0 -211
  124. package/fesm2022/acorex-platform-widgets-file-rename-popup.component-DHFMnkls.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,21 +1,24 @@
1
1
  import * as _angular_core from '@angular/core';
2
2
  import { Signal, InjectionToken, InputSignal, TemplateRef, ElementRef, OnInit, OnDestroy, Type, ViewContainerRef, ModuleWithProviders, WritableSignal, QueryList, EventEmitter } from '@angular/core';
3
3
  import * as _acorex_platform_core from '@acorex/platform/core';
4
- import { AXPActivityLog, AXPSystemActionType, AXPColumnQuery, AXPContextData, AXPOptionsData, AXPActionMenuItem, AXPExecuteCommand, AXPFilterDefinition, AXPFilterQuery, AXPSortDefinition, AXPSortQuery, AXPMetaData, AXPViewQuery } from '@acorex/platform/core';
4
+ import { AXPActivityLog, AXPSystemActionType, AXPCategoryEntity, AXPColumnQuery, AXPContextData, AXPOptionsData, AXPGridLayoutOptions, AXPFilterDefinition, AXPFilterQuery, AXPSortDefinition, AXPSortQuery, AXPMetaData, AXPViewQuery } from '@acorex/platform/core';
5
5
  import { AXPMenuItem } from '@acorex/platform/common';
6
- import { AXValueChangedEvent, AXHtmlEvent, AXEvent } from '@acorex/cdk/common';
6
+ import { AXValueChangedEvent, AXClickEvent, AXDataSource, AXDataSourceFilterOption, AXHtmlEvent, AXEvent } from '@acorex/cdk/common';
7
+ import { AXTreeViewComponent, AXTreeItemClickBaseEvent } from '@acorex/components/tree-view';
8
+ import { AXTranslationService } from '@acorex/core/translation';
7
9
  import { CdkDragDrop } from '@angular/cdk/drag-drop';
8
- import { AXPWidgetNode, AXPLayoutContextChangeEvent, AXPWidgetProperty, AXPWidgetConfig } from '@acorex/platform/layout/builder';
10
+ import { AXPWidgetNode, AXPWidgetCoreContextChangeEvent, AXPWidgetProperty, AXPWidgetConfig } from '@acorex/platform/layout/widget-core';
9
11
  import * as _ngrx_signals from '@ngrx/signals';
10
- import { AXPopupSizeType, AXPopupService } from '@acorex/components/popup';
12
+ import { AXDataTableComponent, AXDataTableRowDbClick, AXDataTableRowClick } from '@acorex/components/data-table';
11
13
  import { AXBasePageComponent } from '@acorex/components/page';
12
- import { AXFormComponent } from '@acorex/components/form';
14
+ import { AXPDynamicFormFieldDefinition, AXPDynamicFormGroupDefinition, AXPDynamicFormDefinition } from '@acorex/platform/layout/builder';
13
15
  import { AXPopoverComponent } from '@acorex/components/popover';
14
16
  import { AXTagBoxComponent } from '@acorex/components/tag-box';
15
17
  import { AXCalendarService } from '@acorex/core/date-time';
16
- import { AXTranslationService } from '@acorex/core/translation';
18
+ import { AXTabStripChangedEvent, AXTabsComponent } from '@acorex/components/tabs';
19
+ import { AXFormComponent } from '@acorex/components/form';
20
+ import { AXPopupSizeType, AXPopupService } from '@acorex/components/popup';
17
21
  import { Observable } from 'rxjs';
18
- import { AXTabsComponent, AXTabStripChangedEvent } from '@acorex/components/tabs';
19
22
 
20
23
  declare class AXPActivityLogComponent {
21
24
  private readonly translateService;
@@ -203,6 +206,85 @@ declare class AXPThemeLayoutContainerComponent {
203
206
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPThemeLayoutContainerComponent, "axp-layout-container", never, {}, {}, never, ["*"], true, never>;
204
207
  }
205
208
 
209
+ interface AXPCategoryTreeNode extends AXPCategoryEntity {
210
+ children?: AXPCategoryTreeNode[];
211
+ expand?: boolean;
212
+ hasChild?: boolean;
213
+ [key: string]: any;
214
+ }
215
+ interface AXPCategoryTreeConfig {
216
+ textField?: string;
217
+ valueField?: string;
218
+ expandedField?: string;
219
+ showCheckbox?: boolean;
220
+ searchable?: boolean;
221
+ searchPlaceholder?: string;
222
+ emptyStateTitle?: string;
223
+ emptyStateDescription?: string;
224
+ emptyStateIcon?: string;
225
+ }
226
+ interface AXPCategoryTreeEvents {
227
+ onNodeClick?: (node: AXPCategoryEntity) => void;
228
+ onNodeSelect?: (node: AXPCategoryEntity) => void;
229
+ onNodeCreate?: (parentNode?: AXPCategoryEntity) => void;
230
+ onNodeUpdate?: (node: AXPCategoryEntity) => void;
231
+ onNodeDelete?: (node: AXPCategoryEntity) => void;
232
+ onSearchChange?: (searchValue: string) => void;
233
+ onCollapseChange?: (node: AXPCategoryEntity) => void;
234
+ }
235
+ interface AXPCategoryTreeActions {
236
+ canCreate?: boolean;
237
+ canUpdate?: boolean;
238
+ canDelete?: boolean;
239
+ canCreateChild?: boolean;
240
+ createLabel?: string;
241
+ updateLabel?: string;
242
+ deleteLabel?: string;
243
+ createChildLabel?: string;
244
+ }
245
+ interface AXPCategoryTreeDataSource {
246
+ loadRootNodes: () => Promise<AXPCategoryEntity[]>;
247
+ loadChildNodes?: (parentId: string) => Promise<AXPCategoryEntity[]>;
248
+ searchNodes?: (searchValue: string) => Promise<AXPCategoryEntity[]>;
249
+ }
250
+
251
+ declare class AXPCategoryTreeComponent {
252
+ protected readonly translationService: AXTranslationService;
253
+ dataSource: _angular_core.InputSignal<AXPCategoryTreeDataSource>;
254
+ config: _angular_core.InputSignal<AXPCategoryTreeConfig>;
255
+ actions: _angular_core.InputSignal<AXPCategoryTreeActions>;
256
+ events: _angular_core.InputSignal<AXPCategoryTreeEvents>;
257
+ nodeClick: _angular_core.OutputEmitterRef<AXPCategoryEntity<string>>;
258
+ nodeSelect: _angular_core.OutputEmitterRef<AXPCategoryEntity<string>>;
259
+ nodeCreate: _angular_core.OutputEmitterRef<AXPCategoryEntity<string> | undefined>;
260
+ nodeUpdate: _angular_core.OutputEmitterRef<AXPCategoryEntity<string>>;
261
+ nodeDelete: _angular_core.OutputEmitterRef<AXPCategoryEntity<string>>;
262
+ searchChange: _angular_core.OutputEmitterRef<string>;
263
+ collapseChange: _angular_core.OutputEmitterRef<AXPCategoryEntity<string>>;
264
+ tree: _angular_core.Signal<AXTreeViewComponent | undefined>;
265
+ isLoading: _angular_core.WritableSignal<boolean>;
266
+ searchValue: _angular_core.WritableSignal<string>;
267
+ protected treeItems: _angular_core.WritableSignal<AXPCategoryTreeNode[]>;
268
+ protected emptyStateTitle: _angular_core.Signal<string>;
269
+ protected emptyStateDescription: _angular_core.Signal<string>;
270
+ ngOnInit(): Promise<void>;
271
+ loadRootNodes(): Promise<void>;
272
+ loadChildNodes(parentId: string): Promise<void>;
273
+ searchNodes(searchValue: string): Promise<void>;
274
+ handleNodeClick(event: AXTreeItemClickBaseEvent): Promise<void>;
275
+ handleCollapseChanged(event: AXTreeItemClickBaseEvent): Promise<void>;
276
+ handleSearchChange(event: AXValueChangedEvent): Promise<void>;
277
+ handleCreateRootClick(event: AXClickEvent): Promise<void>;
278
+ handleCreateChildClick(node: AXPCategoryTreeNode, event: AXClickEvent): Promise<void>;
279
+ handleUpdateNodeClick(node: AXPCategoryTreeNode, event: AXClickEvent): Promise<void>;
280
+ handleDeleteNodeClick(node: AXPCategoryTreeNode, event: AXClickEvent): Promise<void>;
281
+ private convertEntitiesToTreeNodes;
282
+ private updateNodeChildren;
283
+ refreshTree(parentId?: string): Promise<void>;
284
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPCategoryTreeComponent, never>;
285
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPCategoryTreeComponent, "axp-category-tree", never, { "dataSource": { "alias": "dataSource"; "required": true; "isSignal": true; }; "config": { "alias": "config"; "required": false; "isSignal": true; }; "actions": { "alias": "actions"; "required": false; "isSignal": true; }; "events": { "alias": "events"; "required": false; "isSignal": true; }; }, { "nodeClick": "nodeClick"; "nodeSelect": "nodeSelect"; "nodeCreate": "nodeCreate"; "nodeUpdate": "nodeUpdate"; "nodeDelete": "nodeDelete"; "searchChange": "searchChange"; "collapseChange": "collapseChange"; }, never, never, true, never>;
286
+ }
287
+
206
288
  declare class AXPQueryColumnsComponent {
207
289
  columns: _angular_core.ModelSignal<AXPColumnQuery[]>;
208
290
  handleVisibilityChange(e: AXValueChangedEvent<boolean>, name: string): void;
@@ -357,208 +439,276 @@ declare class AXPComponentSlotModule {
357
439
  static ɵinj: _angular_core.ɵɵInjectorDeclaration<AXPComponentSlotModule>;
358
440
  }
359
441
 
360
- /**
361
- * Form appearance and density styling
362
- */
363
- type AXPDynamicFormLook = 'normal' | 'compact' | 'borderless';
364
- /**
365
- * Form layout direction and flow
366
- */
367
- type AXPDynamicFormDirection = 'vertical' | 'horizontal' | 'grid';
368
- interface AXPDynamicFormFieldDefinition {
369
- path: string;
370
- title?: string;
371
- description?: string;
372
- widget: AXPWidgetNode;
373
- }
374
- interface AXPDynamicFormGroupDefinition {
442
+ interface AXPDataSelectorColumn {
375
443
  name: string;
376
- title?: string;
377
- description?: string;
378
- parameters: AXPDynamicFormFieldDefinition[];
379
- }
380
- interface AXPDynamicFormDefinition {
381
- groups: AXPDynamicFormGroupDefinition[];
382
- }
383
- interface AXPDynamicFormLayoutConfig {
384
- positions: {
385
- default: {
386
- colSpan: number;
387
- };
388
- md?: {
389
- colSpan: number;
390
- };
391
- lg?: {
392
- colSpan: number;
393
- };
394
- xl?: {
395
- colSpan: number;
396
- };
397
- xxl?: {
398
- colSpan: number;
399
- };
444
+ title: string;
445
+ visible: boolean;
446
+ widget: {
447
+ type: string;
448
+ options: any;
400
449
  };
401
450
  }
402
-
403
- interface AXPDynamicDialogConfig {
451
+ interface AXPDataSelectorConfig {
404
452
  title: string;
405
- message?: string;
406
- formDefinition: AXPDynamicFormDefinition;
407
- context: any;
408
- layoutConfig?: AXPDynamicFormLayoutConfig;
409
- size?: AXPopupSizeType;
410
- actions?: {
411
- footer?: {
412
- prefix?: AXPActionMenuItem[];
413
- suffix?: AXPActionMenuItem[];
414
- };
453
+ dataSource: AXDataSource<any>;
454
+ columns: AXPDataSelectorColumn[];
455
+ selectionMode: 'single' | 'multiple';
456
+ searchFields?: string[];
457
+ parentField?: string;
458
+ allowCreate?: boolean;
459
+ filters?: AXDataSourceFilterOption;
460
+ categoryFilter?: {
461
+ enabled: boolean;
462
+ title: string;
463
+ dataSource: AXPCategoryTreeDataSource;
464
+ filterField: string;
465
+ filterOperator?: 'equal' | 'contains' | 'in';
466
+ width?: string;
415
467
  };
416
468
  }
417
- interface AXPDynamicDialogResult {
418
- context: any;
419
- action?: string;
420
- }
421
-
422
- declare class AXPDynamicDialogComponent extends AXBasePageComponent {
423
- config: AXPDynamicDialogConfig;
424
- private readonly dynamicForm;
425
- isSubmitting: _angular_core.WritableSignal<boolean>;
426
- private previousContext;
427
- private formData;
428
- /**
429
- * Form context for widget container
430
- */
431
- protected formContext: _angular_core.Signal<Record<string, any>>;
432
- protected defaultLayout: () => {
433
- positions: {
434
- default: {
435
- colSpan: number;
436
- };
437
- md: {
438
- colSpan: number;
439
- };
440
- lg: {
441
- colSpan: number;
442
- };
443
- xl: {
444
- colSpan: number;
445
- };
446
- xxl: {
447
- colSpan: number;
448
- };
449
- };
450
- };
451
- /**
452
- * Footer actions for dynamic button system
453
- */
454
- protected footerPrefixActions: _angular_core.Signal<AXPActionMenuItem[]>;
455
- protected footerSuffixActions: _angular_core.Signal<AXPActionMenuItem[]>;
456
- protected hasFooterActions: _angular_core.Signal<boolean>;
457
- protected hasVisibleFooterPrefixActions: _angular_core.Signal<boolean>;
458
- protected hasVisibleFooterSuffixActions: _angular_core.Signal<boolean>;
459
- ngOnInit(): void;
460
- protected handleContextInitiated(context: any): void;
461
- protected handleContextChanged(context: any): void;
462
- /**
463
- * Execute a dynamic action
464
- */
465
- protected executeAction(action: AXPActionMenuItem): Promise<void>;
469
+ declare class AXPDataSelectorComponent extends AXBasePageComponent {
470
+ protected config: _angular_core.WritableSignal<AXPDataSelectorConfig>;
471
+ protected searchTerm: string;
472
+ protected filter: AXDataSourceFilterOption;
473
+ protected grid: _angular_core.Signal<AXDataTableComponent | undefined>;
474
+ protected initialSelectedItems: any[];
475
+ protected selectedItems: _angular_core.WritableSignal<any[]>;
476
+ protected activeCategoryFilter: _angular_core.WritableSignal<{
477
+ node: AXPCategoryEntity;
478
+ filterValue: any;
479
+ } | null>;
480
+ protected allowSelect: _angular_core.Signal<boolean>;
481
+ protected hasSearch: _angular_core.Signal<boolean | undefined>;
482
+ protected searchPlaceholder: _angular_core.Signal<string>;
483
+ protected categoryTreeConfig: _angular_core.Signal<{
484
+ textField: string;
485
+ valueField: string;
486
+ showCheckbox: boolean;
487
+ searchable: boolean;
488
+ searchPlaceholder: string;
489
+ emptyStateTitle: string;
490
+ emptyStateDescription: string;
491
+ emptyStateIcon: string;
492
+ }>;
493
+ protected categoryTreeActions: _angular_core.Signal<{
494
+ canCreate: boolean;
495
+ canUpdate: boolean;
496
+ canDelete: boolean;
497
+ canCreateChild: boolean;
498
+ }>;
499
+ protected ngOnInit(): void;
500
+ protected ngAfterViewInit(): void;
501
+ protected handleRowDbClick(e: AXDataTableRowDbClick): void;
502
+ protected handleRowClick(e: AXDataTableRowClick): void;
503
+ protected handleSelectedRowsChange(rows: unknown[]): Promise<void>;
504
+ protected handleChangeSearchValue(e: AXValueChangedEvent): void;
505
+ protected handleCreateNewClick(): Promise<void>;
506
+ protected handleCloseClick(): void;
507
+ protected handleSelectClick(): void;
508
+ protected handleExpandRow(row: any): Promise<void>;
509
+ protected handleCategoryFilterClick(node: AXPCategoryEntity): void;
510
+ protected clearCategoryFilter(): void;
511
+ private applySearchFilter;
512
+ private applyFilterAndSort;
513
+ private applyCategoryFilter;
514
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPDataSelectorComponent, never>;
515
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPDataSelectorComponent, "axp-data-selector", never, {}, {}, never, never, true, never>;
516
+ }
517
+
518
+ declare class AXPDataSelectorService {
519
+ private readonly popupService;
520
+ private readonly expressionService;
466
521
  /**
467
- * Execute a command
522
+ * Open data selector popup
468
523
  */
469
- protected executeCommand(command: AXPExecuteCommand): Promise<void>;
524
+ open(config: AXPDataSelectorConfig): Promise<{
525
+ items: any[];
526
+ } | null>;
470
527
  /**
471
- * Check if form is valid
528
+ * Open data selector with category filter
472
529
  */
473
- protected isFormValid(): Promise<boolean>;
474
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPDynamicDialogComponent, never>;
475
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPDynamicDialogComponent, "axp-dynamic-dialog", never, { "config": { "alias": "config"; "required": true; }; }, {}, never, never, true, never>;
530
+ openWithCategoryFilter(config: Omit<AXPDataSelectorConfig, 'categoryFilter'>, categoryFilterConfig: {
531
+ title: string;
532
+ dataSource: AXPCategoryTreeDataSource;
533
+ filterField: string;
534
+ filterOperator?: 'equal' | 'contains' | 'in';
535
+ width?: string;
536
+ }): Promise<{
537
+ items: any[];
538
+ } | null>;
539
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPDataSelectorService, never>;
540
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPDataSelectorService>;
476
541
  }
477
542
 
478
- declare class AXPDynamicDialogService {
479
- private readonly popupService;
480
- /**
481
- * Show a dynamic dialog with the given configuration
482
- * @param config Dialog configuration including fields, validation, and UI options
483
- * @returns Promise resolving to dialog result with form values and cancellation status
484
- */
485
- showDialog(config: AXPDynamicDialogConfig): Promise<AXPDynamicDialogResult>;
486
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPDynamicDialogService, never>;
487
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPDynamicDialogService>;
543
+ interface AXPDynamicFormDesignerField {
544
+ id: string;
545
+ name: string;
546
+ title: string;
547
+ description?: string;
548
+ widget: AXPWidgetNode;
549
+ mode?: 'view' | 'edit';
550
+ layout?: AXPGridLayoutOptions;
551
+ validations?: Array<{
552
+ rule: string;
553
+ options?: Record<string, any>;
554
+ }>;
555
+ }
556
+ interface AXPDynamicFormDesignerGroup {
557
+ id: string;
558
+ name: string;
559
+ title?: string;
560
+ description?: string;
561
+ fields: AXPDynamicFormDesignerField[];
562
+ mode?: 'view' | 'edit';
563
+ layout?: AXPGridLayoutOptions;
564
+ }
565
+ interface AXPDynamicFormDesignerState {
566
+ groups: AXPDynamicFormDesignerGroup[];
567
+ selectedFieldId?: string;
568
+ selectedGroupId?: string;
569
+ mode: 'designer' | 'preview';
570
+ }
571
+ /**
572
+ * Convert designer field to form field definition
573
+ */
574
+ declare function convertDesignerFieldToFormField(field: AXPDynamicFormDesignerField): AXPDynamicFormFieldDefinition;
575
+ /**
576
+ * Convert designer group to form group definition
577
+ */
578
+ declare function convertDesignerGroupToFormGroup(group: AXPDynamicFormDesignerGroup): AXPDynamicFormGroupDefinition;
579
+ /**
580
+ * Convert designer state to form definition
581
+ */
582
+ declare function convertDesignerStateToFormDefinition(state: AXPDynamicFormDesignerState): AXPDynamicFormDefinition;
583
+ interface AXPFormElementWidget {
584
+ name: string;
585
+ title: string;
586
+ icon?: string;
587
+ description?: string;
588
+ type: string;
589
+ properties?: any[];
488
590
  }
489
591
 
490
- declare class AXPDynamicFormComponent implements OnInit {
491
- #private;
592
+ declare class AXPDynamicFormDesignerComponent {
593
+ formDefinition: _angular_core.ModelSignal<AXPDynamicFormDefinition>;
594
+ readonly: _angular_core.InputSignal<boolean>;
595
+ private isInternalUpdate;
596
+ private readonly widgetRegistry;
597
+ private readonly formBuilderService;
598
+ private readonly widgetPropertyViewerService;
599
+ protected selectedFieldId: _angular_core.WritableSignal<string | null>;
600
+ private designerState;
601
+ protected availableWidgets: _angular_core.Signal<AXPFormElementWidget[]>;
602
+ protected widgetOptions: _angular_core.Signal<{
603
+ value: string;
604
+ text: string;
605
+ }[]>;
606
+ protected getAllFields: _angular_core.Signal<AXPDynamicFormDesignerField[]>;
607
+ protected designerGroups: _angular_core.Signal<AXPDynamicFormDesignerGroup[]>;
492
608
  /**
493
- * Form definition containing groups and fields
609
+ * Effect to log form definition changes
494
610
  */
495
- formDefinition: _angular_core.InputSignal<AXPDynamicFormDefinition>;
611
+ private logFormDefinitionChanges;
496
612
  /**
497
- * Form context/model data
613
+ * Effect to sync form definition model to designer state
498
614
  */
499
- context: _angular_core.InputSignal<any>;
615
+ private syncModelToDesigner;
500
616
  /**
501
- * Form appearance and density styling (normal, compact, spacious)
617
+ * Effect to sync designer state changes back to model
502
618
  */
503
- layoutLook: _angular_core.InputSignal<AXPDynamicFormLook>;
619
+ private syncDesignerToModel;
504
620
  /**
505
- * Form layout direction and flow (vertical, horizontal, grid)
621
+ * Get the current form definition (converted from designer state)
506
622
  */
507
- layoutDirection: _angular_core.InputSignal<AXPDynamicFormDirection>;
623
+ getFormDefinition(): AXPDynamicFormDefinition;
508
624
  /**
509
- * Custom layout configuration for form fields
625
+ * Set the form definition (converted to designer state)
510
626
  */
511
- layoutConfig: _angular_core.InputSignal<AXPDynamicFormLayoutConfig>;
627
+ setFormDefinition(definition: AXPDynamicFormDefinition): void;
512
628
  /**
513
- * Emitted when form context changes
629
+ * Add a new field to the form
630
+ * @param field The field to add
514
631
  */
515
- contextChange: _angular_core.OutputEmitterRef<any>;
632
+ addField(field: AXPDynamicFormDesignerField): void;
516
633
  /**
517
- * Emitted when context change is initiated
634
+ * Update an existing field
635
+ * @param fieldId The ID of the field to update
636
+ * @param updates The updates to apply
518
637
  */
519
- contextInitiated: _angular_core.OutputEmitterRef<any>;
638
+ updateField(fieldId: string, updates: Partial<AXPDynamicFormDesignerField>): void;
520
639
  /**
521
- * Emitted when form becomes valid/invalid
640
+ * Remove a field from the form
641
+ * @param fieldId The ID of the field to remove
522
642
  */
523
- validityChange: _angular_core.OutputEmitterRef<boolean>;
524
- private form;
525
- private container;
643
+ removeField(fieldId: string): void;
526
644
  /**
527
- * Internal context signal for reactivity
645
+ * Get all available widget types
528
646
  */
529
- protected internalContext: _angular_core.WritableSignal<any>;
647
+ getAvailableWidgets(): AXPFormElementWidget[];
530
648
  /**
531
- * Computed layout configuration
649
+ * Add a new group to the form
650
+ * @param group The group to add
532
651
  */
533
- protected computedLayout: _angular_core.Signal<AXPDynamicFormLayoutConfig>;
652
+ addGroup(group: AXPDynamicFormDesignerGroup): void;
534
653
  /**
535
- * Host classes based on layout look and direction
654
+ * Remove a group from the form
655
+ * @param groupName The name of the group to remove
536
656
  */
537
- protected hostClasses: _angular_core.Signal<string>;
538
- ngOnInit(): void;
657
+ removeGroup(groupName: string): void;
658
+ /**
659
+ * Reorder groups in the form
660
+ * @param fromIndex Source index
661
+ * @param toIndex Target index
662
+ */
663
+ reorderGroups(fromIndex: number, toIndex: number): void;
539
664
  /**
540
- * Handle context change events from widget container
665
+ * Update an existing group
666
+ * @param groupName The name of the group to update
667
+ * @param updates The updates to apply
541
668
  */
542
- protected handleContextChanged(event: AXPLayoutContextChangeEvent): void;
543
- protected isRequired(param: AXPDynamicFormFieldDefinition): boolean;
669
+ updateGroup(groupName: string, updates: Partial<AXPDynamicFormDesignerGroup>): void;
544
670
  /**
545
- * Get the form component instance
671
+ * Move a field to a different group
672
+ * @param fieldName The name/path of the field to move
673
+ * @param targetGroupName The name of the target group
546
674
  */
547
- getForm(): AXFormComponent | undefined;
675
+ moveFieldToGroup(fieldName: string, targetGroupName: string): void;
676
+ protected handleAddGroupClick(): Promise<void>;
677
+ protected handleAddFieldToGroup(group: AXPDynamicFormDesignerGroup): Promise<void>;
678
+ protected handleFieldEdit(field: AXPDynamicFormDesignerField): Promise<void>;
679
+ protected handleFieldRemove(field: AXPDynamicFormDesignerField): void;
680
+ protected handleGroupEdit(group: AXPDynamicFormDesignerGroup): Promise<void>;
681
+ protected handleGroupLayoutEdit(group: AXPDynamicFormDesignerGroup): Promise<void>;
682
+ protected handleGroupRemove(group: AXPDynamicFormDesignerGroup): void;
548
683
  /**
549
- * Get current form context
684
+ * Handle field layout editing
550
685
  */
551
- getContext(): any;
686
+ protected handleFieldLayoutEdit(field: AXPDynamicFormDesignerField, group: AXPDynamicFormDesignerGroup): Promise<void>;
687
+ protected handleGroupDrop(event: CdkDragDrop<AXPDynamicFormDesignerGroup[]>): void;
688
+ protected handleFieldDrop(event: CdkDragDrop<AXPDynamicFormDesignerField[]>, targetGroupName?: string): void;
689
+ protected handlePreviewClick(): Promise<void>;
690
+ protected deriveKey(input: string): string;
691
+ protected generateId(): string;
692
+ protected getWidgetIcon(widgetName: string): string;
693
+ protected getWidgetTitle(widgetName: string): string;
694
+ protected getWidgetNode(field: AXPDynamicFormDesignerField): AXPWidgetNode;
695
+ protected deriveGroupKey(input: string): string;
696
+ protected getGroupOptions(): Array<{
697
+ value: string;
698
+ text: string;
699
+ }>;
700
+ protected addFieldToGroup(field: AXPDynamicFormDesignerField, groupName: string): void;
701
+ protected getAllGroupDropLists(): string[];
552
702
  /**
553
- * Update form context programmatically
703
+ * Get the grid column count for a group (always 12 columns)
554
704
  */
555
- updateContext(context: any): void;
705
+ protected getGroupColumnCount(): number;
556
706
  /**
557
- * Validate the form
707
+ * Get default field grid layout based on group configuration
558
708
  */
559
- validate(): Promise<boolean>;
560
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPDynamicFormComponent, never>;
561
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPDynamicFormComponent, "axp-dynamic-form", never, { "formDefinition": { "alias": "formDefinition"; "required": true; "isSignal": true; }; "context": { "alias": "context"; "required": true; "isSignal": true; }; "layoutLook": { "alias": "layoutLook"; "required": false; "isSignal": true; }; "layoutDirection": { "alias": "layoutDirection"; "required": false; "isSignal": true; }; "layoutConfig": { "alias": "layoutConfig"; "required": false; "isSignal": true; }; }, { "contextChange": "contextChange"; "contextInitiated": "contextInitiated"; "validityChange": "validityChange"; }, never, never, true, never>;
709
+ protected getFieldGridLayout(group: AXPDynamicFormDesignerGroup, fieldIndex?: number): AXPGridLayoutOptions;
710
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPDynamicFormDesignerComponent, never>;
711
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPDynamicFormDesignerComponent, "axp-dynamic-form-designer", never, { "formDefinition": { "alias": "formDefinition"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; }, { "formDefinition": "formDefinitionChange"; }, never, never, true, never>;
562
712
  }
563
713
 
564
714
  /**
@@ -599,8 +749,8 @@ declare const AXP_EXTRA_PROPERTY_TYPES: InjectionToken<AXPExtraPropertyType[]>;
599
749
 
600
750
  declare class AXPExtraPropertiesComponent {
601
751
  items: _angular_core.InputSignal<AXPExtraPropertyItem[]>;
602
- mode: _angular_core.InputSignal<"edit" | "view">;
603
- protected onContextChanged(event: AXPLayoutContextChangeEvent): void;
752
+ mode: _angular_core.InputSignal<"view" | "edit">;
753
+ protected onContextChanged(event: AXPWidgetCoreContextChangeEvent): void;
604
754
  itemsChange: _angular_core.OutputEmitterRef<AXPExtraPropertyItem[]>;
605
755
  private readonly providedTypes;
606
756
  private readonly translationService;
@@ -640,7 +790,7 @@ declare class AXPExtraPropertiesComponent {
640
790
 
641
791
  declare class AXPExtraPropertiesSchemaComponent {
642
792
  schema: _angular_core.InputSignal<AXPExtraPropertySchemaItem[]>;
643
- mode: _angular_core.InputSignal<"edit" | "view">;
793
+ mode: _angular_core.InputSignal<"view" | "edit">;
644
794
  schemaChange: _angular_core.OutputEmitterRef<AXPExtraPropertySchemaItem[]>;
645
795
  private readonly providedTypes;
646
796
  private readonly translationService;
@@ -671,13 +821,13 @@ declare class AXPExtraPropertiesSchemaComponent {
671
821
  declare class AXPExtraPropertiesValuesComponent {
672
822
  schema: _angular_core.InputSignal<AXPExtraPropertySchemaItem[]>;
673
823
  values: _angular_core.InputSignal<Record<string, any>>;
674
- mode: _angular_core.InputSignal<"edit" | "view">;
824
+ mode: _angular_core.InputSignal<"view" | "edit">;
675
825
  valuesChange: _angular_core.OutputEmitterRef<Record<string, any>>;
676
826
  isRequired: (item: AXPExtraPropertySchemaItem) => any;
677
827
  protected internalContext: _angular_core.WritableSignal<Record<string, any>>;
678
828
  private nodeCache;
679
829
  private lastTypeByKey;
680
- protected onContextChanged(event: AXPLayoutContextChangeEvent): void;
830
+ protected onContextChanged(event: AXPWidgetCoreContextChangeEvent): void;
681
831
  private readonly syncContextFromInputs;
682
832
  private readonly clearOnSchemaTypeChange;
683
833
  protected getNode(item: AXPExtraPropertySchemaItem): AXPWidgetNode;
@@ -712,7 +862,7 @@ declare class AXPQueryFiltersComponent {
712
862
  ngOnInit(): void;
713
863
  handleSelectField(field: AXPFilterDefinition): void;
714
864
  handleFieldKeyDown(e: KeyboardEvent, field: AXPFilterDefinition): void;
715
- onContextChanged(e: AXPLayoutContextChangeEvent): void;
865
+ onContextChanged(e: AXPWidgetCoreContextChangeEvent): void;
716
866
  handleApplyFilter(): void;
717
867
  handleButtonKeyDown(e: Event): void;
718
868
  handleKeyDown(e: AXHtmlEvent<KeyboardEvent>): void;
@@ -727,6 +877,116 @@ declare class AXPQueryFiltersComponent {
727
877
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPQueryFiltersComponent, "axp-query-filters", never, { "filtersDefinitions": { "alias": "filtersDefinitions"; "required": false; "isSignal": true; }; "initialFilters": { "alias": "initialFilters"; "required": false; "isSignal": true; }; }, { "onFiltersChanged": "onFiltersChanged"; }, never, never, true, never>;
728
878
  }
729
879
 
880
+ declare class AXPImageEditorPopupComponent extends AXBasePageComponent {
881
+ private readonly fileStorage;
882
+ image: _angular_core.InputSignal<Blob>;
883
+ showHistory: _angular_core.InputSignal<boolean>;
884
+ look: _angular_core.InputSignal<"solid" | "outline" | "blank">;
885
+ private container;
886
+ private blobUrl;
887
+ protected url: _angular_core.WritableSignal<string | null>;
888
+ protected context: _angular_core.WritableSignal<{
889
+ image: Blob | null;
890
+ }>;
891
+ ngOnInit(): Promise<void>;
892
+ handleValueChanged(e: any): void;
893
+ handleSave(): void;
894
+ handleCancel(): void;
895
+ ngOnDestroy(): void;
896
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPImageEditorPopupComponent, never>;
897
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPImageEditorPopupComponent, "axp-image-editor-popup", never, { "image": { "alias": "image"; "required": true; "isSignal": true; }; "showHistory": { "alias": "showHistory"; "required": false; "isSignal": true; }; "look": { "alias": "look"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
898
+ }
899
+
900
+ interface AXPImageEditorOpenOptions {
901
+ title?: string;
902
+ image: Blob;
903
+ showHistory?: boolean;
904
+ look?: 'solid' | 'outline' | 'blank';
905
+ }
906
+ declare class AXPImageEditorService {
907
+ private readonly popupService;
908
+ private readonly translate;
909
+ open(options?: AXPImageEditorOpenOptions): Promise<Blob | null>;
910
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPImageEditorService, never>;
911
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPImageEditorService>;
912
+ }
913
+
914
+ interface AXPWidgetPropertyTab {
915
+ name: string;
916
+ title: string;
917
+ groups: {
918
+ name: string;
919
+ title: string;
920
+ isCollapsed: boolean;
921
+ props: AXPWidgetProperty[];
922
+ }[];
923
+ }
924
+ interface AXPWidgetPropertiesChangedEvent {
925
+ values: any;
926
+ mode: 'init' | 'update';
927
+ }
928
+ declare class AXPWidgetPropertyViewerComponent {
929
+ widget: _angular_core.InputSignal<AXPWidgetNode>;
930
+ mode: _angular_core.InputSignal<"simple" | "advanced">;
931
+ private widgetRegistryService;
932
+ protected currentTabIndex: WritableSignal<number>;
933
+ protected config: WritableSignal<AXPWidgetConfig<any> | null>;
934
+ protected allPoperties: AXPWidgetProperty[];
935
+ protected tabs: WritableSignal<AXPWidgetPropertyTab[]>;
936
+ protected groups: _angular_core.Signal<{
937
+ name: string;
938
+ title: string;
939
+ isCollapsed: boolean;
940
+ props: AXPWidgetProperty[];
941
+ }[]>;
942
+ protected groupCollapsedStates: Map<string, boolean>;
943
+ onChanged: EventEmitter<AXPWidgetPropertiesChangedEvent>;
944
+ protected context: WritableSignal<any>;
945
+ protected initialContext: any;
946
+ constructor();
947
+ update(values: any): void;
948
+ private fillTabs;
949
+ protected handleContextChange(e: AXPWidgetCoreContextChangeEvent): void;
950
+ protected handleTabChange(event: AXTabStripChangedEvent): void;
951
+ protected handleCollapsedChange(group: string, collapsed: boolean): void;
952
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPWidgetPropertyViewerComponent, never>;
953
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPWidgetPropertyViewerComponent, "axp-widget-property-viewer", never, { "widget": { "alias": "widget"; "required": true; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; }, { "onChanged": "onChanged"; }, never, never, true, never>;
954
+ }
955
+
956
+ declare class AXPWidgetPropertyViewerPopupComponent extends AXBasePageComponent {
957
+ widget: _angular_core.InputSignal<AXPWidgetNode>;
958
+ mode: _angular_core.InputSignal<"simple" | "advanced">;
959
+ protected currentValues: _angular_core.WritableSignal<any>;
960
+ protected handlePropertyChanged(event: {
961
+ values: any;
962
+ mode: 'init' | 'update';
963
+ }): void;
964
+ protected handleCloseClick(): void;
965
+ protected handleApplyClick(): void;
966
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPWidgetPropertyViewerPopupComponent, never>;
967
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPWidgetPropertyViewerPopupComponent, "axp-widget-property-viewer-popup", never, { "widget": { "alias": "widget"; "required": true; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
968
+ }
969
+
970
+ interface AXPWidgetPropertyViewerConfig {
971
+ title: string;
972
+ widget: AXPWidgetNode;
973
+ mode?: 'simple' | 'advanced';
974
+ size?: 'sm' | 'md' | 'lg' | 'full';
975
+ }
976
+ interface AXPWidgetPropertyViewerResult {
977
+ values: any;
978
+ mode: 'init' | 'update';
979
+ }
980
+ declare class AXPWidgetPropertyViewerService {
981
+ private readonly popupService;
982
+ /**
983
+ * Open widget property viewer popup
984
+ */
985
+ open(config: AXPWidgetPropertyViewerConfig): Promise<AXPWidgetPropertyViewerResult | null>;
986
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPWidgetPropertyViewerService, never>;
987
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPWidgetPropertyViewerService>;
988
+ }
989
+
730
990
  declare class AXPQuerySortsComponent {
731
991
  sortDefinitions: _angular_core.ModelSignal<AXPSortDefinition[]>;
732
992
  sortQueries: _angular_core.WritableSignal<AXPSortQuery[]>;
@@ -740,6 +1000,17 @@ declare class AXPQuerySortsComponent {
740
1000
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPQuerySortsComponent, "axp-query-sorts", never, { "sortDefinitions": { "alias": "sortDefinitions"; "required": false; "isSignal": true; }; "initialSortQueries": { "alias": "initialSortQueries"; "required": false; "isSignal": true; }; }, { "sortDefinitions": "sortDefinitionsChange"; "sortQueriesChange": "sortQueriesChange"; }, never, never, true, never>;
741
1001
  }
742
1002
 
1003
+ type StateMode = 'empty' | 'error' | 'loading' | 'warning' | 'info' | 'success';
1004
+ declare class AXPStateMessageComponent {
1005
+ mode: _angular_core.InputSignal<StateMode>;
1006
+ icon: _angular_core.InputSignal<string>;
1007
+ title: _angular_core.InputSignal<string>;
1008
+ description: _angular_core.InputSignal<string>;
1009
+ variant: _angular_core.InputSignal<"default" | "compact" | "minimal">;
1010
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPStateMessageComponent, never>;
1011
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPStateMessageComponent, "axp-state-message", never, { "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; }, {}, never, ["[slot=actions]"], true, never>;
1012
+ }
1013
+
743
1014
  interface AXPTemplateViewerConfig {
744
1015
  template: AXPWidgetNode | string;
745
1016
  title?: string;
@@ -765,7 +1036,7 @@ declare class AXPTemplateViewerComponent extends AXBasePageComponent {
765
1036
  protected readonly currentPage: _angular_core.Signal<AXPWidgetNode>;
766
1037
  protected ngOnInit(): Promise<void>;
767
1038
  private loadTemplate;
768
- protected handleContextChanged(e: AXPLayoutContextChangeEvent): void;
1039
+ protected handleContextChanged(e: AXPWidgetCoreContextChangeEvent): void;
769
1040
  protected handleSubmit(form: AXFormComponent): Promise<void>;
770
1041
  protected handleCancel(): void;
771
1042
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPTemplateViewerComponent, never>;
@@ -956,47 +1227,5 @@ declare class AXPWidgetItemComponent {
956
1227
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPWidgetItemComponent, "axp-widget-item", never, { "widget": { "alias": "widget"; "required": true; "isSignal": true; }; "isSelected": { "alias": "isSelected"; "required": false; "isSignal": true; }; "showPinButton": { "alias": "showPinButton"; "required": false; "isSignal": true; }; "customClasses": { "alias": "customClasses"; "required": false; "isSignal": true; }; }, { "onWidgetClick": "onWidgetClick"; "onPinClick": "onPinClick"; }, never, never, true, never>;
957
1228
  }
958
1229
 
959
- interface AXPWidgetPropertyTab {
960
- name: string;
961
- title: string;
962
- groups: {
963
- name: string;
964
- title: string;
965
- isCollapsed: boolean;
966
- props: AXPWidgetProperty[];
967
- }[];
968
- }
969
- interface AXPWidgetPropertiesChangedEvent {
970
- values: any;
971
- mode: 'init' | 'update';
972
- }
973
- declare class AXPWidgetPropertyViewerComponent {
974
- widget: _angular_core.InputSignal<AXPWidgetNode>;
975
- mode: _angular_core.InputSignal<"simple" | "advanced">;
976
- private widgetRegistryService;
977
- protected currentTabIndex: WritableSignal<number>;
978
- protected config: WritableSignal<AXPWidgetConfig<any> | null>;
979
- protected allPoperties: AXPWidgetProperty[];
980
- protected tabs: WritableSignal<AXPWidgetPropertyTab[]>;
981
- protected groups: _angular_core.Signal<{
982
- name: string;
983
- title: string;
984
- isCollapsed: boolean;
985
- props: AXPWidgetProperty[];
986
- }[]>;
987
- protected groupCollapsedStates: Map<string, boolean>;
988
- onChanged: EventEmitter<AXPWidgetPropertiesChangedEvent>;
989
- protected context: WritableSignal<any>;
990
- protected initialContext: any;
991
- constructor();
992
- update(values: any): void;
993
- private fillTabs;
994
- protected handleContextChange(e: AXPLayoutContextChangeEvent): void;
995
- protected handleTabChange(event: AXTabStripChangedEvent): void;
996
- protected handleCollapsedChange(group: string, collapsed: boolean): void;
997
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPWidgetPropertyViewerComponent, never>;
998
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPWidgetPropertyViewerComponent, "axp-widget-property-viewer", never, { "widget": { "alias": "widget"; "required": true; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; }, { "onChanged": "onChanged"; }, never, never, true, never>;
999
- }
1000
-
1001
- export { AXPActivityLogComponent, AXPCompareViewComponent, AXPComponentSlot, AXPComponentSlotDirective, AXPComponentSlotModule, AXPComponentSlotRegistryService, AXPDynamicDialogComponent, AXPDynamicDialogService, AXPDynamicFormComponent, AXPExtraPropertiesComponent, AXPExtraPropertiesSchemaComponent, AXPExtraPropertiesValuesComponent, AXPMenuBadgeHelper, AXPQueryColumnsComponent, AXPQueryFiltersComponent, AXPQuerySortsComponent, AXPQueryViewsComponent, AXPTaskBadgeDirective, AXPTaskBadgeProvider, AXPTaskBadgeService, AXPTemplateViewerComponent, AXPTemplateViewerService, AXPThemeLayoutActionsComponent, AXPThemeLayoutBlockComponent, AXPThemeLayoutContainerComponent, AXPThemeLayoutEndSideComponent, AXPThemeLayoutFooterComponent, AXPThemeLayoutHeaderComponent, AXPThemeLayoutListComponent, AXPThemeLayoutListItemComponent, AXPThemeLayoutListItemsGroupComponent, AXPThemeLayoutPageHeaderComponent, AXPThemeLayoutPagePrimaryActionsComponent, AXPThemeLayoutPageSecondaryActionsComponent, AXPThemeLayoutSectionComponent, AXPThemeLayoutStartSideComponent, AXPThemeLayoutToolbarComponent, AXPUserAvatarComponent, AXPUserAvatarService, AXPWidgetItemComponent, AXPWidgetPropertyViewerComponent, AXP_EXTRA_PROPERTY_TYPES, AXP_TASK_BADGE_PROVIDERS, AXP_USER_AVATAR_PROVIDER };
1002
- export type { AXPCompareViewField, AXPCompareViewInputs, AXPCompareViewMode, AXPCompareViewObject, AXPComponentSlotConfig, AXPComponentSlotModuleConfigs, AXPDynamicDialogConfig, AXPDynamicDialogResult, AXPDynamicFormDefinition, AXPDynamicFormDirection, AXPDynamicFormFieldDefinition, AXPDynamicFormGroupDefinition, AXPDynamicFormLayoutConfig, AXPDynamicFormLook, AXPExtraPropertyItem, AXPExtraPropertySchemaItem, AXPExtraPropertyType, AXPTemplateViewerConfig, AXPTemplateViewerResult, AXPUserAvatarData, AXPUserAvatarProvider, AXPUserAvatarSize, AXPUserAvatarStatus, AXPWidgetItemClickEvent, AXPWidgetItemData, AXPWidgetPropertiesChangedEvent, AXPWidgetPropertyTab };
1230
+ export { AXPActivityLogComponent, AXPCategoryTreeComponent, AXPCompareViewComponent, AXPComponentSlot, AXPComponentSlotDirective, AXPComponentSlotModule, AXPComponentSlotRegistryService, AXPDataSelectorComponent, AXPDataSelectorService, AXPDynamicFormDesignerComponent, AXPExtraPropertiesComponent, AXPExtraPropertiesSchemaComponent, AXPExtraPropertiesValuesComponent, AXPImageEditorPopupComponent, AXPImageEditorService, AXPMenuBadgeHelper, AXPQueryColumnsComponent, AXPQueryFiltersComponent, AXPQuerySortsComponent, AXPQueryViewsComponent, AXPStateMessageComponent, AXPTaskBadgeDirective, AXPTaskBadgeProvider, AXPTaskBadgeService, AXPTemplateViewerComponent, AXPTemplateViewerService, AXPThemeLayoutActionsComponent, AXPThemeLayoutBlockComponent, AXPThemeLayoutContainerComponent, AXPThemeLayoutEndSideComponent, AXPThemeLayoutFooterComponent, AXPThemeLayoutHeaderComponent, AXPThemeLayoutListComponent, AXPThemeLayoutListItemComponent, AXPThemeLayoutListItemsGroupComponent, AXPThemeLayoutPageHeaderComponent, AXPThemeLayoutPagePrimaryActionsComponent, AXPThemeLayoutPageSecondaryActionsComponent, AXPThemeLayoutSectionComponent, AXPThemeLayoutStartSideComponent, AXPThemeLayoutToolbarComponent, AXPUserAvatarComponent, AXPUserAvatarService, AXPWidgetItemComponent, AXPWidgetPropertyViewerComponent, AXPWidgetPropertyViewerPopupComponent, AXPWidgetPropertyViewerService, AXP_EXTRA_PROPERTY_TYPES, AXP_TASK_BADGE_PROVIDERS, AXP_USER_AVATAR_PROVIDER, convertDesignerFieldToFormField, convertDesignerGroupToFormGroup, convertDesignerStateToFormDefinition };
1231
+ export type { AXPCategoryTreeActions, AXPCategoryTreeConfig, AXPCategoryTreeDataSource, AXPCategoryTreeEvents, AXPCategoryTreeNode, AXPCompareViewField, AXPCompareViewInputs, AXPCompareViewMode, AXPCompareViewObject, AXPComponentSlotConfig, AXPComponentSlotModuleConfigs, AXPDataSelectorColumn, AXPDataSelectorConfig, AXPDynamicFormDesignerField, AXPDynamicFormDesignerGroup, AXPDynamicFormDesignerState, AXPExtraPropertyItem, AXPExtraPropertySchemaItem, AXPExtraPropertyType, AXPFormElementWidget, AXPImageEditorOpenOptions, AXPTemplateViewerConfig, AXPTemplateViewerResult, AXPUserAvatarData, AXPUserAvatarProvider, AXPUserAvatarSize, AXPUserAvatarStatus, AXPWidgetItemClickEvent, AXPWidgetItemData, AXPWidgetPropertiesChangedEvent, AXPWidgetPropertyTab, AXPWidgetPropertyViewerConfig, AXPWidgetPropertyViewerResult, StateMode };