@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,19 +1,128 @@
1
+ import { AXPCommand, AXPQuery } from '@acorex/platform/runtime';
1
2
  import * as _angular_core from '@angular/core';
2
- import { InjectionToken, Injector, Type, ElementRef } from '@angular/core';
3
- import { AXStyleColorType, AXDataSource, AXDataSourceFilterOption } from '@acorex/cdk/common';
3
+ import { ElementRef, InjectionToken, Injector, Type } from '@angular/core';
4
+ import { AXPopoverComponent } from '@acorex/components/popover';
5
+ import { AXPMetaData, AXPGridLayoutOptions, AXPBreadcrumbItem, AXPFilterQuery, AXPFilterDefinition, AXPExecuteCommand, AXPUserReference, AXPQueryRequest, AXPPagedListResult, AXPCategoryEntity as AXPCategoryEntity$1, AXPAppStartUpService, AXPMiddlewareErrorResponse, AXPColumnQuery, AXPSortDefinition, AXPActionMenuItem, AXPExpression } from '@acorex/platform/core';
6
+ import * as i3 from '@acorex/platform/layout/widget-core';
7
+ import { AXPWidgetNode, AXPWidgetColumnNode, AXPWidgetCoreService, AXPValueWidgetComponent, AXPWidgetRendererDirective, AXPWidgetConfig, AXPLayoutBaseWidgetComponent, AXPColumnWidgetComponent } from '@acorex/platform/layout/widget-core';
8
+ import { AXStyleColorType, AXDataSource, AXDataSourceFilterOption, AXClickEvent, AXValueChangedEvent, AXFocusEvent, AXHtmlEvent } from '@acorex/cdk/common';
4
9
  import * as _acorex_platform_common from '@acorex/platform/common';
5
- import { AXPEntityCommandScope, AXPEntity, AXPEntityAction, AXPEntityProperty, AXPEntityTableColumn, AXPRelatedEntity, AXPEntitySectionView, AXPGridLayoutOptions, AXPEntityPropertyCreateView, AXPEntityPropertyLayoutConfig, AXPQueryView, AXPEntityPropertyView, AXPCategoryEntity, AXPEntityPropertyGroup, AXPEntityMasterCreateLayoutView, AXPEntityMasterUpdateLayoutView, AXPEntityMasterSingleLayoutView, AXPEntityMasterListView, AXPEntityDetailListView, AXPQueryFilter } from '@acorex/platform/common';
6
- import { AXPMetaData, AXPBreadcrumbItem, AXPFilterQuery, AXPFilterDefinition, AXPExecuteCommand, AXPQueryRequest, AXPPagedListResult, AXPAppStartUpService } from '@acorex/platform/core';
7
- import * as i3 from '@acorex/platform/layout/builder';
8
- import { AXPWidgetColumnNode, AXPWidgetNode, AXPLayoutBuilderService } from '@acorex/platform/layout/builder';
10
+ import { AXPEntityCommandScope, AXPEntity, AXPEntityAction, AXPEntityProperty, AXPEntityTableColumn, AXPRelatedEntity, AXPEntitySectionView, AXPEntityPropertyCreateView, AXPEntityPropertyLayoutConfig, AXPQueryView, AXPEntityPropertyView, AXPCategoryEntity, AXPEntityPropertyGroup, AXPEntityMasterCreateLayoutView, AXPEntityMasterUpdateLayoutView, AXPEntityMasterSingleLayoutView, AXPEntityMasterListView, AXPEntityDetailListView, AXPQueryFilter } from '@acorex/platform/common';
9
11
  import * as i1 from '@angular/router';
10
12
  import { ResolveFn } from '@angular/router';
11
13
  import * as rxjs from 'rxjs';
12
14
  import { Subject } from 'rxjs';
13
15
  import * as i2 from '@acorex/platform/workflow';
14
- import { AXPWorkflowAction, AXPWorkflowContext, AXPWorkflow } from '@acorex/platform/workflow';
15
- import { AXPCommand, AXPQuery } from '@acorex/platform/runtime';
16
- import { AXPopoverComponent } from '@acorex/components/popover';
16
+ import { AXPWorkflowService, AXPWorkflowAction, AXPWorkflowContext, AXPWorkflow } from '@acorex/platform/workflow';
17
+ import { AXPopupSizeType, AXPopupService } from '@acorex/components/popup';
18
+ import { IActionBuilder, IFormFieldBuilder, AXPDialogRef } from '@acorex/platform/layout/builder';
19
+ import { AXPListWidgetComponentOptions } from '@acorex/platform/layout/widgets';
20
+ import * as _ngrx_signals from '@ngrx/signals';
21
+ import * as _acorex_platform_themes_shared from '@acorex/platform/themes/shared';
22
+ import { AXFormatService } from '@acorex/core/format';
23
+ import { AXTagBoxComponent } from '@acorex/components/tag-box';
24
+ import { AXTextBoxComponent } from '@acorex/components/text-box';
25
+ import { AXPWidgetPropertiesChangedEvent } from '@acorex/platform/layout/components';
26
+
27
+ interface AXPOpenEntityDetailsCommandInput {
28
+ entity: string;
29
+ data: {
30
+ id: string;
31
+ };
32
+ }
33
+ interface AXPOpenEntityDetailsCommandResult {
34
+ success: boolean;
35
+ }
36
+ /**
37
+ * Generic command to open entity details view
38
+ * Can be used by any entity to navigate to its detail page
39
+ */
40
+ declare class AXPOpenEntityDetailsCommand implements AXPCommand<AXPOpenEntityDetailsCommandInput, AXPOpenEntityDetailsCommandResult> {
41
+ private readonly router;
42
+ private readonly sessionService;
43
+ /**
44
+ * Execute the command to navigate to entity details
45
+ * @param input - Command input containing entity and data information
46
+ */
47
+ execute(input: AXPOpenEntityDetailsCommandInput): Promise<AXPOpenEntityDetailsCommandResult>;
48
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPOpenEntityDetailsCommand, never>;
49
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPOpenEntityDetailsCommand>;
50
+ }
51
+
52
+ declare class AXPEntityDetailPopoverComponent {
53
+ private readonly commandService;
54
+ private readonly queryService;
55
+ entity: _angular_core.InputSignal<string>;
56
+ entityId: _angular_core.InputSignal<string | number>;
57
+ textField: _angular_core.InputSignal<string>;
58
+ valueField: _angular_core.InputSignal<string>;
59
+ item: _angular_core.InputSignal<AXPMetaData | undefined>;
60
+ protected detailPopover: _angular_core.Signal<AXPopoverComponent | undefined>;
61
+ protected entityDetails: _angular_core.WritableSignal<any>;
62
+ protected isLoadingDetails: _angular_core.WritableSignal<boolean>;
63
+ protected isDetailPopoverOpen: _angular_core.WritableSignal<boolean>;
64
+ /**
65
+ * Show the entity detail popover
66
+ */
67
+ show(target: ElementRef | HTMLElement): Promise<void>;
68
+ /**
69
+ * Hide the entity detail popover
70
+ */
71
+ hide(): void;
72
+ protected onDetailPopoverOpenChange(event: any): void;
73
+ protected navigateToDetails(): Promise<void>;
74
+ /**
75
+ * Returns true if a value is meaningful for display (non-empty/non-null).
76
+ */
77
+ private hasMeaningfulValue;
78
+ /**
79
+ * Calculates an importance score for a property based on its widget type,
80
+ * whether it currently has a meaningful value, and metadata like title.
81
+ */
82
+ private getPropertyImportanceScore;
83
+ /**
84
+ * Calculates a name-based importance score to prioritize common key fields
85
+ * like title, description, status, and important dates.
86
+ * Name priority MUST come before widget-type priority.
87
+ */
88
+ private getNameImportanceScore;
89
+ protected getEntityPropertiesWithWidgets(): Array<{
90
+ name: string;
91
+ title: string;
92
+ node: AXPWidgetNode;
93
+ }>;
94
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityDetailPopoverComponent, never>;
95
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPEntityDetailPopoverComponent, "axp-entity-detail-popover", never, { "entity": { "alias": "entity"; "required": true; "isSignal": true; }; "entityId": { "alias": "entityId"; "required": true; "isSignal": true; }; "textField": { "alias": "textField"; "required": false; "isSignal": true; }; "valueField": { "alias": "valueField"; "required": false; "isSignal": true; }; "item": { "alias": "item"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
96
+ }
97
+
98
+ interface AXPEntityDetailPopoverOptions {
99
+ entity: string;
100
+ id: string | number;
101
+ item: AXPMetaData;
102
+ textField?: string;
103
+ valueField?: string;
104
+ }
105
+ declare class AXPEntityDetailPopoverService {
106
+ private readonly applicationRef;
107
+ private readonly environmentInjector;
108
+ private activePopoverRef;
109
+ /**
110
+ * Show entity detail popover
111
+ * @param target - The target element to position the popover
112
+ * @param options - Configuration options for the popover
113
+ */
114
+ show(target: ElementRef | HTMLElement, options: AXPEntityDetailPopoverOptions): Promise<void>;
115
+ /**
116
+ * Hide the active popover
117
+ */
118
+ hide(): void;
119
+ /**
120
+ * Check if a popover is currently active
121
+ */
122
+ get isActive(): boolean;
123
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityDetailPopoverService, never>;
124
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPEntityDetailPopoverService>;
125
+ }
17
126
 
18
127
  interface AXPDataSeeder {
19
128
  seed(): Promise<void>;
@@ -102,6 +211,24 @@ declare class AXPEntityDetailListViewModel {
102
211
  getSecondaryActions(): Promise<AXPEntityCommandTriggerViewModel[]>;
103
212
  }
104
213
 
214
+ /**
215
+ * Entity Event Dispatcher - A wrapper for entity-specific events
216
+ * Handles pattern-based dispatching for entity operations with wildcard support
217
+ */
218
+ declare class AXPEntityEventDispatcherService {
219
+ private readonly eventService;
220
+ dispatchEntityEvent(operation: 'inserted' | 'updated' | 'deleted', entityName: string, data: any): Promise<void>;
221
+ private getAllMatchingEventKeys;
222
+ private findMatchingWildcardKeys;
223
+ private matchesEntityPattern;
224
+ private generateEventKeys;
225
+ dispatchInserted(entityName: string, data: any): Promise<void>;
226
+ dispatchUpdated(entityName: string, data: any): Promise<void>;
227
+ dispatchDeleted(entityName: string, data: any): Promise<void>;
228
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityEventDispatcherService, never>;
229
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPEntityEventDispatcherService>;
230
+ }
231
+
105
232
  declare class AXPEntityCreateViewSectionViewModel {
106
233
  private entity;
107
234
  private section;
@@ -135,7 +262,7 @@ declare class AXPEntityMasterCreateViewModel {
135
262
  private entityDef;
136
263
  private workflow;
137
264
  private expressionEvaluator;
138
- builder: AXPLayoutBuilderService;
265
+ builder: AXPWidgetCoreService;
139
266
  constructor(injector: Injector, config: AXPEntity, initialData: any | undefined, commandOptions: any);
140
267
  context: _angular_core.WritableSignal<any>;
141
268
  options: _angular_core.WritableSignal<any>;
@@ -188,6 +315,7 @@ declare class AXPEntityMasterListViewModel {
188
315
  private readonly widgetResolver;
189
316
  private readonly expressionEvaluator;
190
317
  private readonly commandService;
318
+ private readonly eventService;
191
319
  private readonly filterOperatorMiddleware;
192
320
  private settingEntityKey;
193
321
  private readonly destroyed;
@@ -332,6 +460,17 @@ declare class AXPEntityDetailViewModelFactory {
332
460
  }
333
461
  declare const AXPEntityDetailViewModelResolver: ResolveFn<Promise<AXPEntityMasterSingleViewModel>>;
334
462
 
463
+ declare class AXPEntityUpdateViewSectionViewModel {
464
+ private entity;
465
+ private section;
466
+ constructor(entity: AXPEntity, section: AXPEntitySectionView);
467
+ group: _acorex_platform_common.AXPEntityPropertyGroup;
468
+ name: _angular_core.WritableSignal<string>;
469
+ title: _angular_core.Signal<string>;
470
+ description: _angular_core.Signal<string | null | undefined>;
471
+ layout: _angular_core.Signal<AXPGridLayoutOptions>;
472
+ elements: _angular_core.Signal<AXPEntityMasterUpdateElementViewModel[]>;
473
+ }
335
474
  declare class AXPEntityMasterUpdateElementViewModel {
336
475
  private entity;
337
476
  private property;
@@ -355,11 +494,12 @@ declare class AXPEntityMasterUpdateViewModel {
355
494
  private get moduleName();
356
495
  private get entityName();
357
496
  private get entityId();
358
- builder: AXPLayoutBuilderService;
497
+ builder: AXPWidgetCoreService;
359
498
  constructor(injector: Injector, config: AXPEntity, entityData: any, props: string[]);
360
499
  isInProgress: _angular_core.WritableSignal<boolean>;
361
500
  context: _angular_core.WritableSignal<any>;
362
501
  elements: _angular_core.Signal<AXPEntityMasterUpdateElementViewModel[]>;
502
+ sections: _angular_core.Signal<AXPEntityUpdateViewSectionViewModel[]>;
363
503
  save(): Promise<any>;
364
504
  reset(): void;
365
505
  }
@@ -386,10 +526,6 @@ interface AXPEntityModifierContext {
386
526
  get(): string;
387
527
  set(newName: string): AXPEntityModifierContext;
388
528
  };
389
- source: {
390
- get(): string;
391
- set(newSource: string): AXPEntityModifierContext;
392
- };
393
529
  parentKey: {
394
530
  get(): string | undefined;
395
531
  set(newKey: string | undefined): AXPEntityModifierContext;
@@ -511,21 +647,102 @@ declare function createModifierContext(entity: AXPEntity): AXPEntityModifierCont
511
647
 
512
648
  declare const AXP_ENTITY_MODIFIER: InjectionToken<AXPEntityModifierProvider[]>;
513
649
 
650
+ interface AXPEntityPreloadEntity {
651
+ module: string;
652
+ entity: string;
653
+ }
654
+ interface AXPEntityDefinitionPreloader {
655
+ preload(): AXPEntityPreloadEntity[];
656
+ }
657
+ declare class AXPEntityDefinitionRegistryService {
658
+ private providers;
659
+ private resolver;
660
+ private middleware;
661
+ private onChanged;
662
+ get onChanged$(): rxjs.Observable<{
663
+ name: string;
664
+ }>;
665
+ preload(): Promise<void>;
666
+ private entities;
667
+ private entityResolver;
668
+ /**
669
+ * Force re-load and re-process entity definitions, then re-register them.
670
+ * Overloads:
671
+ * - refresh(): refresh all registered entities
672
+ * - refresh(fullName: string): refresh by fully-qualified name `<module>.<entity>`
673
+ * - refresh(moduleName: string, entityName: string): refresh by parts
674
+ */
675
+ refresh(): Promise<void>;
676
+ refresh(fullName: string): Promise<void>;
677
+ refresh(moduleName: string, entityName: string): Promise<void>;
678
+ /** Executes the actual refresh for a single entity */
679
+ private refreshOne;
680
+ /**
681
+ * Registers a new entity configuration. Entities are identified uniquely by a combination
682
+ * of their module and name.
683
+ *
684
+ * @param config The configuration object of the entity to be registered.
685
+ */
686
+ register(config: AXPEntity): void;
687
+ /**
688
+ * Returns an array of all registered entity configurations.
689
+ *
690
+ * @returns An array of AXPEntity objects.
691
+ */
692
+ getAll(): AXPEntity[];
693
+ /**
694
+ * Resolves an entity configuration based on module and entity name. If the configuration
695
+ * is not already registered, attempts to load it dynamically. Throws an error if the
696
+ * entity cannot be found or loaded.
697
+ *
698
+ * @param moduleName The module name of the entity.
699
+ * @param entityName The name of the entity.
700
+ * @returns A promise resolving to the entity configuration.
701
+ * @throws Error if the entity configuration cannot be resolved.
702
+ */
703
+ resolve(moduleName: string, entityName: string): Promise<AXPEntity>;
704
+ /**
705
+ * Creates a unique key for an entity based on its module and name.
706
+ *
707
+ * @param moduleName The module name of the entity.
708
+ * @param entityName The name of the entity.
709
+ * @returns The unique key for the entity.
710
+ */
711
+ private createEntityKey;
712
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityDefinitionRegistryService, never>;
713
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPEntityDefinitionRegistryService>;
714
+ }
715
+
514
716
  interface AXPAuditable {
515
- createdAt?: Date;
516
- updatedAt?: Date;
517
- createdBy?: string;
518
- updatedBy?: string;
717
+ created?: {
718
+ at?: Date;
719
+ by?: AXPUserReference;
720
+ };
721
+ updated?: {
722
+ at?: Date;
723
+ by?: AXPUserReference;
724
+ };
725
+ deleted?: {
726
+ at?: Date;
727
+ by?: AXPUserReference;
728
+ };
519
729
  }
520
730
  interface AXPRecordControl {
521
731
  isReadOnly?: boolean;
522
732
  isHidden?: boolean;
523
733
  isSystem?: boolean;
524
734
  isImmutable?: boolean;
735
+ isDistributed?: boolean;
525
736
  }
526
- interface AXPEntityModel<Id> extends AXPAuditable {
737
+ interface AXPRecordOwnership {
738
+ tenantId?: string;
739
+ ownerId?: string;
740
+ }
741
+ interface AXPEntityModel<Id> {
527
742
  id: Id;
528
- control?: AXPRecordControl;
743
+ auditInfo?: AXPAuditable;
744
+ stateInfo?: AXPRecordControl;
745
+ ownershipInfo?: AXPRecordOwnership;
529
746
  }
530
747
  interface AXPEntityCreateDto {
531
748
  }
@@ -540,31 +757,6 @@ interface AXPEntityDetailDto<Id> extends AXPEntityOutputDto<Id> {
540
757
  interface AXPEntityListItemDto<Id> extends AXPEntityOutputDto<Id> {
541
758
  }
542
759
 
543
- type AXPEntityOp = 'initial' | 'create' | 'update' | 'delete' | 'getOne' | 'getAll' | 'query';
544
- interface AXPEntityStorageContext<TKey = any, TDetailDto extends AXPEntityDetailDto<TKey> = any, TListItemDto extends AXPEntityListItemDto<TKey> = any, TCreateDto extends AXPEntityCreateDto = any, TUpdateDto extends AXPEntityUpdateDto<TKey> = any> {
545
- op: AXPEntityOp;
546
- entityName: string;
547
- id?: TKey;
548
- data?: TCreateDto | Omit<Partial<TUpdateDto>, 'id'>;
549
- request?: AXPQueryRequest;
550
- previous?: TDetailDto;
551
- result?: any;
552
- locals: Map<string, unknown>;
553
- backend: {
554
- getOneRaw: (entityName: string, id: TKey) => Promise<TDetailDto>;
555
- insertOneRaw: (entityName: string, entity: TCreateDto) => Promise<TKey>;
556
- };
557
- }
558
- interface AXPEntityStorageMiddleware<TKey = any, TDetailDto extends AXPEntityDetailDto<TKey> = any, TListItemDto extends AXPEntityListItemDto<TKey> = any, TCreateDto extends AXPEntityCreateDto = any, TUpdateDto extends AXPEntityUpdateDto<TKey> = any> {
559
- target?: {
560
- ops?: AXPEntityOp[];
561
- entity?: string | RegExp;
562
- predicate?: (ctx: AXPEntityStorageContext<TKey, TDetailDto, TListItemDto, TCreateDto, TUpdateDto>) => boolean;
563
- order?: number;
564
- };
565
- execute: (ctx: AXPEntityStorageContext<TKey, TDetailDto, TListItemDto, TCreateDto, TUpdateDto>, next: () => Promise<void>) => Promise<void>;
566
- }
567
-
568
760
  declare abstract class AXPEntityStorageService<TKey, TDetailDto extends AXPEntityDetailDto<TKey> = AXPEntityModel<TKey>, TListItemDto extends AXPEntityListItemDto<TKey> = TDetailDto, TCreateDto extends AXPEntityCreateDto = TDetailDto, TUpdateDto extends AXPEntityUpdateDto<TKey> = TDetailDto> {
569
761
  abstract get dbName(): string;
570
762
  abstract initial(entityName: string, collection: TCreateDto[], options?: {
@@ -612,6 +804,7 @@ declare class AXMEntityCrudServiceImpl<TKey, TDetailDto extends AXPEntityDetailD
612
804
  private _storageService;
613
805
  private entityRegistery;
614
806
  private _entityDataProvider;
807
+ private _entityCategoryDataProvider;
615
808
  constructor(entityName: string);
616
809
  insertOne(request: TCreateDto): Promise<TKey>;
617
810
  getOne(id: TKey): Promise<TDetailDto>;
@@ -628,11 +821,203 @@ declare class AXMEntityCrudServiceImpl<TKey, TDetailDto extends AXPEntityDetailD
628
821
  categoryId: TKey;
629
822
  categoryKey?: string;
630
823
  }): Promise<AXPPagedListResult<TListItemDto>>;
824
+ getCategoriesList(request?: AXPQueryRequest): Promise<AXPPagedListResult<AXPCategoryEntity$1<TKey>>>;
631
825
  get storageService(): AXPEntityStorageService<any, any, any, any, any>;
632
826
  }
633
827
 
634
- declare const AXP_ENTITY_STORAGE_BACKEND: InjectionToken<AXPEntityStorageService<any, any, any, any, any>>;
635
- declare const AXP_ENTITY_STORAGE_MIDDLEWARE: InjectionToken<AXPEntityStorageMiddleware<any, any, any, any, any>[]>;
828
+ interface AXPEntityConfigs {
829
+ viewers: {
830
+ root: () => Type<any> | Promise<Type<any>>;
831
+ detail: {
832
+ list: () => Type<any> | Promise<Type<any>>;
833
+ };
834
+ master: {
835
+ single: () => Type<any> | Promise<Type<any>>;
836
+ details: () => Type<any> | Promise<Type<any>>;
837
+ create: () => Type<any> | Promise<Type<any>>;
838
+ modify: () => Type<any> | Promise<Type<any>>;
839
+ list: () => Type<any> | Promise<Type<any>>;
840
+ };
841
+ };
842
+ }
843
+ declare const AXP_ENTITY_CONFIG_TOKEN: InjectionToken<AXPEntityConfigs>;
844
+ interface AXPEntityDefinitionLoader {
845
+ get(moduleName: string, entityName: string): Promise<AXPEntity | null>;
846
+ }
847
+ declare const AXP_ENTITY_DEFINITION_LOADER: InjectionToken<AXPEntityDefinitionLoader>;
848
+ declare class AXPEntityResolver {
849
+ private providers;
850
+ get(moduleName: string, entityName: string): Promise<AXPEntity | null>;
851
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityResolver, never>;
852
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPEntityResolver>;
853
+ }
854
+
855
+ declare class AXPEntityModule {
856
+ constructor(appInitService: AXPAppStartUpService, injector: Injector);
857
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityModule, never>;
858
+ static ɵmod: _angular_core.ɵɵNgModuleDeclaration<AXPEntityModule, never, [typeof i1.RouterModule, typeof i2.AXPWorkflowModule, typeof i3.AXPWidgetCoreModule], never>;
859
+ static ɵinj: _angular_core.ɵɵInjectorDeclaration<AXPEntityModule>;
860
+ }
861
+
862
+ declare class AXPEntityService {
863
+ private sessionService;
864
+ createPath(module: string, entity: string, path?: string): string;
865
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityService, never>;
866
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPEntityService>;
867
+ }
868
+
869
+ type AXPEntityOp = 'initial' | 'create' | 'update' | 'delete' | 'getOne' | 'getAll' | 'query';
870
+ interface AXPEntityStorageContext<TKey = any, TDetailDto extends AXPEntityDetailDto<TKey> = any, TListItemDto extends AXPEntityListItemDto<TKey> = any, TCreateDto extends AXPEntityCreateDto = any, TUpdateDto extends AXPEntityUpdateDto<TKey> = any> {
871
+ op: AXPEntityOp;
872
+ entityName: string;
873
+ id?: TKey;
874
+ data?: TCreateDto | Omit<Partial<TUpdateDto>, 'id'>;
875
+ request?: AXPQueryRequest;
876
+ previous?: TDetailDto;
877
+ result?: any;
878
+ locals: Map<string, unknown>;
879
+ backend: {
880
+ getOne: (entityName: string, id: TKey) => Promise<TDetailDto>;
881
+ insertOne: (entityName: string, entity: TCreateDto) => Promise<TKey>;
882
+ query: (entityName: string, request: AXPQueryRequest) => Promise<AXPPagedListResult<TListItemDto>>;
883
+ updateOne: (entityName: string, id: TKey, data: Partial<TUpdateDto>) => Promise<void>;
884
+ };
885
+ }
886
+ interface AXPEntityStorageMiddleware<TKey = any, TDetailDto extends AXPEntityDetailDto<TKey> = any, TListItemDto extends AXPEntityListItemDto<TKey> = any, TCreateDto extends AXPEntityCreateDto = any, TUpdateDto extends AXPEntityUpdateDto<TKey> = any> {
887
+ target?: {
888
+ ops?: AXPEntityOp[];
889
+ entity?: string | RegExp;
890
+ predicate?: (ctx: AXPEntityStorageContext<TKey, TDetailDto, TListItemDto, TCreateDto, TUpdateDto>) => boolean;
891
+ order?: number;
892
+ };
893
+ execute: (ctx: AXPEntityStorageContext<TKey, TDetailDto, TListItemDto, TCreateDto, TUpdateDto>, next: () => Promise<void>) => Promise<void>;
894
+ }
895
+ /**
896
+ * Error type that can be thrown by middlewares to abort the chain with a structured payload.
897
+ */
898
+ declare class AXPMiddlewareAbortError extends Error {
899
+ readonly message: string;
900
+ readonly options: {
901
+ code?: string;
902
+ status?: number;
903
+ details?: any;
904
+ };
905
+ constructor(message: string, options?: {
906
+ code?: string;
907
+ status?: number;
908
+ details?: any;
909
+ });
910
+ toResponse(): AXPMiddlewareErrorResponse;
911
+ }
912
+ /** Type guard for AXPMiddlewareAbortError */
913
+ declare function isAXPMiddlewareAbortError(error: unknown): error is AXPMiddlewareAbortError;
914
+
915
+ declare const eventDispatchMiddleware: AXPEntityStorageMiddleware;
916
+
917
+ /**
918
+ * Map of column name -> width value
919
+ * Example: { title: '300px', description: '300px' }
920
+ */
921
+ type ColumnWidthConfig = Record<string, string | number>;
922
+ /**
923
+ * Default widths for common text columns
924
+ */
925
+ declare const DEFAULT_COLUMN_WIDTHS: ColumnWidthConfig;
926
+ /**
927
+ * Factory to create a column width middleware using provided config map.
928
+ * Sets width for columns defined in the map if not already defined on the column.
929
+ */
930
+ declare const columnWidthMiddlewareFactory: (widths: ColumnWidthConfig) => AXPEntityModifier;
931
+ /**
932
+ * Helper to create a provider for the column width middleware.
933
+ * By default it applies to all entities using the '*' pattern.
934
+ */
935
+ declare const createColumnWidthMiddlewareProvider: (widths: ColumnWidthConfig, entityName?: string | RegExp) => AXPEntityModifierProvider;
936
+ /**
937
+ * Default provider registered with the default map.
938
+ */
939
+ declare const columnWidthMiddlewareProvider: AXPEntityModifierProvider;
940
+
941
+ interface AXPGetEntityDetailsQueryInput {
942
+ entity: string;
943
+ id: string;
944
+ }
945
+ interface AXPGetEntityDetailsQueryResult {
946
+ success: boolean;
947
+ entityDefinition?: AXPEntity;
948
+ entityData?: any;
949
+ error?: string;
950
+ }
951
+ /**
952
+ * Generic query to get entity details including entity definition and entity data
953
+ * Can be used by any entity to retrieve its definition and data by ID
954
+ */
955
+ declare class AXPGetEntityDetailsQuery implements AXPQuery<AXPGetEntityDetailsQueryInput, AXPGetEntityDetailsQueryResult> {
956
+ private readonly entityDefinitionRegistry;
957
+ private readonly injector;
958
+ /**
959
+ * Execute the query to fetch entity definition and data
960
+ * @param input - Query input containing entity and ID information
961
+ */
962
+ fetch(input: AXPGetEntityDetailsQueryInput): Promise<AXPGetEntityDetailsQueryResult>;
963
+ /**
964
+ * Get entity data using the entity's CRUD service
965
+ * @param entity - Full entity path (ModuleName.EntityName)
966
+ * @param id - Entity ID
967
+ * @returns Promise resolving to entity data
968
+ */
969
+ private getEntityData;
970
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPGetEntityDetailsQuery, never>;
971
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPGetEntityDetailsQuery>;
972
+ }
973
+
974
+ interface IEntitySelectorStage {
975
+ /** Select target entity using "module.entity" format */
976
+ entity(fullName: string): IInterfaceSelectorStage;
977
+ }
978
+ interface IInterfaceSelectorStage {
979
+ /** Use master.create interface */
980
+ create(): IPropertyFilterStage;
981
+ /** Use master.update interface */
982
+ update(id: string): IPropertyFilterStage;
983
+ }
984
+ interface IPropertyFilterStage {
985
+ /** Only include provided property names (by AXPEntityProperty.name). Mutually exclusive with exclude(). */
986
+ include(...propertyNames: string[]): IPropertyFilterStage;
987
+ /** Exclude provided property names (by AXPEntityProperty.name). Ignored if include() was already set. */
988
+ exclude(...propertyNames: string[]): IPropertyFilterStage;
989
+ /** Optionally override dialog title */
990
+ title(text: string): IPropertyFilterStage;
991
+ /** Provide initial dialog context/model data */
992
+ context(context: any): IPropertyFilterStage;
993
+ /** Override dialog size (e.g., 'sm' | 'md' | 'lg' | 'xl' | 'full') */
994
+ size(size: AXPopupSizeType): IPropertyFilterStage;
995
+ /** Configure footer actions (cancel/submit/custom). If not called, defaults to cancel+submit. */
996
+ actions(delegate: (a: IActionBuilder) => void): IPropertyFilterStage;
997
+ /** Add an extra field into a specific group, using the original field builder API */
998
+ field(groupId: string, path: string, delegate?: (field: CompatFormFieldBuilder) => void): IPropertyFilterStage;
999
+ /** Show dialog */
1000
+ show(): Promise<AXPDialogRef>;
1001
+ mode(mode: 'edit' | 'view'): IPropertyFilterStage;
1002
+ }
1003
+ declare class AXPEntityDynamicDialogService implements IEntitySelectorStage {
1004
+ private readonly entityRegistry;
1005
+ private readonly layoutBuilder;
1006
+ private readonly layoutTheme;
1007
+ entity(fullName: string): IInterfaceSelectorStage;
1008
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityDynamicDialogService, never>;
1009
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPEntityDynamicDialogService>;
1010
+ }
1011
+ type CompatFormFieldBuilder = {
1012
+ path(path: string): any;
1013
+ layout(config: any): any;
1014
+ visible(condition: boolean | string): any;
1015
+ readonly(condition: boolean | string): any;
1016
+ customWidget(type: string, options?: any): any;
1017
+ } & Partial<IFormFieldBuilder>;
1018
+
1019
+ declare const AXP_ENTITY_STORAGE_BACKEND: InjectionToken<AXPEntityStorageService<any, any, any, any, any>>;
1020
+ declare const AXP_ENTITY_STORAGE_MIDDLEWARE: InjectionToken<AXPEntityStorageMiddleware<any, any, any, any, any>[]>;
636
1021
 
637
1022
  declare class AXPMiddlewareEntityStorageService<TKey = any, TDetailDto extends AXPEntityDetailDto<TKey> = any, TListItemDto extends AXPEntityListItemDto<TKey> = any, TCreateDto extends AXPEntityCreateDto = any, TUpdateDto extends AXPEntityUpdateDto<TKey> = any> extends AXPEntityStorageService<TKey, TDetailDto, TListItemDto, TCreateDto, TUpdateDto> {
638
1023
  private readonly backend;
@@ -657,129 +1042,546 @@ declare class AXPMiddlewareEntityStorageService<TKey = any, TDetailDto extends A
657
1042
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPMiddlewareEntityStorageService<any, any, any, any, any>>;
658
1043
  }
659
1044
 
660
- interface AXPEntityPreloadEntity {
661
- module: string;
662
- entity: string;
1045
+ declare function entityMasterCreateAction(): AXPEntityAction;
1046
+ declare function entityMasterBulkDeleteAction(): AXPEntityAction;
1047
+ declare function entityMasterViewAction(): AXPEntityAction;
1048
+ declare function entityMasterDeleteAction(): AXPEntityAction;
1049
+ declare function entityMasterCrudActions(options?: {
1050
+ create?: boolean;
1051
+ delete?: boolean;
1052
+ view?: boolean;
1053
+ edit?: boolean;
1054
+ }): AXPEntityAction[];
1055
+ declare function entityMasterRecordActions(): AXPEntityAction[];
1056
+ declare function entityDetailsCreateActions(parentId: string): AXPEntityAction;
1057
+ declare function entityDetailsSimpleCondition(fk: string): AXPQueryFilter;
1058
+ declare function entityDetailsReferenceCondition(type: string): AXPQueryFilter[];
1059
+ declare function entityDetailsEditAction(): AXPEntityAction;
1060
+ declare function entityOverrideDetailsViewAction(): AXPEntityAction;
1061
+ declare function entityDetailsCrudActions(parentId: string): AXPEntityAction[];
1062
+ declare function entityDetailsReferenceCreateActions(type: string): AXPEntityAction[];
1063
+ type AXPEntityChangeSet = {
1064
+ [key: string]: {
1065
+ oldValue: any;
1066
+ newValue: any;
1067
+ added?: any[];
1068
+ removed?: any[];
1069
+ };
1070
+ };
1071
+ /**
1072
+ * Computes a diff between two plain objects with array-aware semantics.
1073
+ * - For arrays of objects with an id field, computes added/removed by id.
1074
+ * - For arrays of primitives or objects without id, uses deep equality.
1075
+ * - For scalars/objects, reports oldValue/newValue when changed.
1076
+ */
1077
+ declare function detectEntityChanges(oldObj: any, newObj: any): AXPEntityChangeSet;
1078
+
1079
+ declare class AXPEntityListTableService {
1080
+ private readonly workflow;
1081
+ private readonly expressionEvaluator;
1082
+ /**
1083
+ * Convert Entity to List Widget Options
1084
+ */
1085
+ convertEntityToListOptions(entity: AXPEntity, options: any, allActions: AXPEntityCommandTriggerViewModel[]): Promise<AXPListWidgetComponentOptions>;
1086
+ /**
1087
+ * Create DataSource for Entity
1088
+ */
1089
+ private createDataSource;
1090
+ /**
1091
+ * Convert Properties to Columns
1092
+ */
1093
+ private createColumnsFromProperties;
1094
+ /**
1095
+ * Map EntityTableColumn to ListWidgetColumn
1096
+ */
1097
+ private mapEntityColumnToWidgetColumn;
1098
+ /**
1099
+ * Convert Entity Actions to Row Commands
1100
+ */
1101
+ private createRowCommands;
1102
+ /**
1103
+ * Check if entity has Selected Scope Actions
1104
+ */
1105
+ private hasSelectedScopeActions;
1106
+ private evaluateExpressions;
1107
+ /**
1108
+ * Handle execution of a row command (shared by double-click and command handlers)
1109
+ */
1110
+ private handleRowCommand;
1111
+ /**
1112
+ * Create default events
1113
+ */
1114
+ private createDefaultEvents;
1115
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityListTableService, never>;
1116
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPEntityListTableService>;
663
1117
  }
664
- interface AXPEntityDefinitionPreloader {
665
- preload(): AXPEntityPreloadEntity[];
1118
+
1119
+ declare class AXPEntityListToolbarService {
1120
+ private readonly widgetResolver;
1121
+ /**
1122
+ * Convert Entity to Toolbar Options
1123
+ */
1124
+ convertEntityToolbarOptions(entity: AXPEntity, options: any): Promise<{
1125
+ filterDefinitions: AXPFilterDefinition[];
1126
+ columnDefinitions: AXPColumnQuery[];
1127
+ sortDefinitions: AXPSortDefinition[];
1128
+ }>;
1129
+ /**
1130
+ * Create Filter Definitions for Toolbar
1131
+ */
1132
+ private createFilterDefinitions;
1133
+ /**
1134
+ * Create Column Definitions for Toolbar
1135
+ */
1136
+ private createColumnDefinitions;
1137
+ /**
1138
+ * Create Sort Definitions for Toolbar
1139
+ */
1140
+ private createSortDefinitions;
1141
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityListToolbarService, never>;
1142
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPEntityListToolbarService>;
666
1143
  }
667
- declare class AXPEntityDefinitionRegistryService {
668
- private providers;
669
- private resolver;
670
- private middleware;
671
- private onChanged;
672
- get onChanged$(): rxjs.Observable<{
673
- name: string;
1144
+
1145
+ declare class AXPEntityListWidgetViewComponent extends AXPValueWidgetComponent {
1146
+ #private;
1147
+ protected entityService: AXPEntityDefinitionRegistryService;
1148
+ protected workflow: AXPWorkflowService;
1149
+ protected entityListTableService: AXPEntityListTableService;
1150
+ protected entityListToolbarService: AXPEntityListToolbarService;
1151
+ protected layoutThemeService: {
1152
+ currentMode: _angular_core.Signal<_acorex_platform_themes_shared.AXPThemeMode>;
1153
+ currentPalette: _angular_core.Signal<string>;
1154
+ systemThemeMode: _angular_core.Signal<_acorex_platform_themes_shared.AXPThemeMode>;
1155
+ font: _ngrx_signals.DeepSignal<{
1156
+ family: string;
1157
+ size: string;
1158
+ }>;
1159
+ screenSize: _angular_core.Signal<_acorex_platform_themes_shared.AXPScreenSize>;
1160
+ deviceType: _angular_core.Signal<_acorex_platform_themes_shared.AXPDeviceType>;
1161
+ isTouchDevice: _angular_core.Signal<boolean>;
1162
+ overlayLoading: _angular_core.Signal<boolean>;
1163
+ navigationLoading: _angular_core.Signal<boolean>;
1164
+ overlayLoadingTaskCount: _angular_core.Signal<number>;
1165
+ navigationLoadingTaskCount: _angular_core.Signal<number>;
1166
+ sideMenuState: _angular_core.Signal<_acorex_platform_themes_shared.AXPSideMenuState>;
1167
+ sideMenuWidth: _angular_core.Signal<number>;
1168
+ menuOrientation: _angular_core.Signal<_acorex_platform_themes_shared.AXPMenuOrientation>;
1169
+ isPrinting: _angular_core.Signal<boolean>;
1170
+ isDarkMode: _angular_core.Signal<boolean>;
1171
+ isLightMode: _angular_core.Signal<boolean>;
1172
+ isSystemMode: _angular_core.Signal<boolean>;
1173
+ isSideMenuOpen: _angular_core.Signal<boolean>;
1174
+ isSideMenuOverlay: _angular_core.Signal<boolean>;
1175
+ isSmall: _angular_core.Signal<boolean>;
1176
+ isMedium: _angular_core.Signal<boolean>;
1177
+ isLarge: _angular_core.Signal<boolean>;
1178
+ isMobileDevice: _angular_core.Signal<boolean>;
1179
+ isTabletDevice: _angular_core.Signal<boolean>;
1180
+ isDesktopDevice: _angular_core.Signal<boolean>;
1181
+ isTouchScreen: _angular_core.Signal<boolean>;
1182
+ isOverlayLoading: _angular_core.Signal<boolean>;
1183
+ isNavigationLoading: _angular_core.Signal<boolean>;
1184
+ isMenuHorizontal: _angular_core.Signal<boolean>;
1185
+ changeThemeMode: (theme: _acorex_platform_themes_shared.AXPThemeMode) => void;
1186
+ openSideMenu: () => void;
1187
+ closeSideMenu: () => void;
1188
+ setSideMenuWidth: (width: number) => void;
1189
+ toggleSideMenu: () => void;
1190
+ setNavigationLoading: (value: boolean, delay?: number) => void;
1191
+ setOverlayLoading: (value: boolean, delay?: number) => void;
1192
+ loadSettings: () => Promise<void>;
1193
+ } & _ngrx_signals.StateSource<{
1194
+ currentMode: _acorex_platform_themes_shared.AXPThemeMode;
1195
+ currentPalette: string;
1196
+ systemThemeMode: _acorex_platform_themes_shared.AXPThemeMode;
1197
+ font: {
1198
+ family: string;
1199
+ size: string;
1200
+ };
1201
+ screenSize: _acorex_platform_themes_shared.AXPScreenSize;
1202
+ deviceType: _acorex_platform_themes_shared.AXPDeviceType;
1203
+ isTouchDevice: boolean;
1204
+ overlayLoading: boolean;
1205
+ navigationLoading: boolean;
1206
+ overlayLoadingTaskCount: number;
1207
+ navigationLoadingTaskCount: number;
1208
+ sideMenuState: _acorex_platform_themes_shared.AXPSideMenuState;
1209
+ sideMenuWidth: number;
1210
+ menuOrientation: _acorex_platform_themes_shared.AXPMenuOrientation;
1211
+ isPrinting: boolean;
674
1212
  }>;
675
- preload(): Promise<void>;
676
- private entities;
677
- private entityResolver;
1213
+ protected isMounted: _angular_core.WritableSignal<boolean>;
1214
+ readonly entity: _angular_core.WritableSignal<AXPEntity | null>;
1215
+ protected listNode: _angular_core.WritableSignal<AXPWidgetNode | null>;
1216
+ protected list: _angular_core.Signal<AXPWidgetRendererDirective | undefined>;
1217
+ protected allWidgets: _angular_core.Signal<readonly AXPWidgetRendererDirective[]>;
1218
+ protected listWidget: _angular_core.WritableSignal<AXPWidgetRendererDirective | undefined>;
1219
+ protected toolbarWidget: _angular_core.Signal<AXPWidgetRendererDirective | undefined>;
1220
+ protected selectedItems: _angular_core.WritableSignal<any[]>;
1221
+ protected toolbarNode: _angular_core.WritableSignal<AXPWidgetNode | null>;
1222
+ protected destroyed: Subject<void>;
1223
+ protected entitySource: _angular_core.Signal<any>;
1224
+ protected excludeColumns: _angular_core.Signal<string[]>;
1225
+ protected includeColumns: _angular_core.Signal<string[]>;
1226
+ protected externalActions: _angular_core.Signal<AXPEntityAction[]>;
1227
+ protected maxHeight: _angular_core.Signal<string>;
1228
+ protected showEntityActions: _angular_core.Signal<any>;
1229
+ protected showToolbar: _angular_core.Signal<any>;
1230
+ protected allActions: _angular_core.Signal<AXPEntityCommandTriggerViewModel[]>;
1231
+ protected primaryActions: _angular_core.Signal<AXPActionMenuItem[]>;
1232
+ protected secondaryActions: _angular_core.Signal<AXPActionMenuItem[]>;
1233
+ protected handleActionClick(item: AXPActionMenuItem): void;
1234
+ protected handleSecondaryActionClick(item: AXPActionMenuItem): void;
1235
+ protected execute(commandName: string, data: any): Promise<void>;
678
1236
  /**
679
- * Force re-load and re-process entity definitions, then re-register them.
680
- * Overloads:
681
- * - refresh(): refresh all registered entities
682
- * - refresh(fullName: string): refresh by fully-qualified name `<module>.<entity>`
683
- * - refresh(moduleName: string, entityName: string): refresh by parts
1237
+ * Validates that all required dependencies are available
684
1238
  */
685
- refresh(): Promise<void>;
686
- refresh(fullName: string): Promise<void>;
687
- refresh(moduleName: string, entityName: string): Promise<void>;
688
- /** Executes the actual refresh for a single entity */
689
- private refreshOne;
1239
+ private hasRequiredDependencies;
690
1240
  /**
691
- * Registers a new entity configuration. Entities are identified uniquely by a combination
692
- * of their module and name.
693
- *
694
- * @param config The configuration object of the entity to be registered.
1241
+ * Handles all query-related changes (filters, sorts, columns)
695
1242
  */
696
- register(config: AXPEntity): void;
1243
+ private handleQueryChanges;
697
1244
  /**
698
- * Returns an array of all registered entity configurations.
699
- *
700
- * @returns An array of AXPEntity objects.
1245
+ * Analyzes what has changed between current and previous queries
701
1246
  */
702
- getAll(): AXPEntity[];
1247
+ private analyzeChanges;
703
1248
  /**
704
- * Resolves an entity configuration based on module and entity name. If the configuration
705
- * is not already registered, attempts to load it dynamically. Throws an error if the
706
- * entity cannot be found or loaded.
707
- *
708
- * @param moduleName The module name of the entity.
709
- * @param entityName The name of the entity.
710
- * @returns A promise resolving to the entity configuration.
711
- * @throws Error if the entity configuration cannot be resolved.
1249
+ * Applies filter and sort changes to the data source
712
1250
  */
713
- resolve(moduleName: string, entityName: string): Promise<AXPEntity>;
1251
+ private applyDataSourceChanges;
714
1252
  /**
715
- * Creates a unique key for an entity based on its module and name.
716
- *
717
- * @param moduleName The module name of the entity.
718
- * @param entityName The name of the entity.
719
- * @returns The unique key for the entity.
1253
+ * Handles list refresh logic based on changes and mount status
1254
+ */
1255
+ private handleListRefresh;
1256
+ /**
1257
+ * Handles column-related changes
1258
+ * TODO: Implement column change logic
1259
+ */
1260
+ private handleColumnChanges;
1261
+ protected context: {};
1262
+ protected previousQueries: any;
1263
+ ngOnInit(): Promise<void>;
1264
+ ngAfterViewInit(): Promise<void>;
1265
+ ngOnDestroy(): void;
1266
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityListWidgetViewComponent, never>;
1267
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPEntityListWidgetViewComponent, "ng-component", never, {}, {}, never, never, true, never>;
1268
+ }
1269
+
1270
+ declare const AXPEntityListWidget: AXPWidgetConfig;
1271
+
1272
+ declare class AXPEntityReferenceWidgetViewComponent extends AXPLayoutBaseWidgetComponent {
1273
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityReferenceWidgetViewComponent, never>;
1274
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPEntityReferenceWidgetViewComponent, "ng-component", never, {}, {}, never, never, true, never>;
1275
+ }
1276
+
1277
+ declare class AXPEntityReferenceWidgetEditComponent extends AXPLayoutBaseWidgetComponent {
1278
+ #private;
1279
+ protected readonly injector: Injector;
1280
+ protected readonly entityResolver: AXPEntityResolver;
1281
+ protected entity: _angular_core.Signal<string>;
1282
+ protected entityDef: _angular_core.WritableSignal<AXPEntity | null>;
1283
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityReferenceWidgetEditComponent, never>;
1284
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPEntityReferenceWidgetEditComponent, "ng-component", never, {}, {}, never, never, true, never>;
1285
+ }
1286
+
1287
+ declare class AXPEntityReferenceWidgetColumnComponent extends AXPColumnWidgetComponent<any> {
1288
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityReferenceWidgetColumnComponent, never>;
1289
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPEntityReferenceWidgetColumnComponent, "ng-component", never, { "rawValue": { "alias": "rawValue"; "required": false; }; }, {}, never, never, true, never>;
1290
+ }
1291
+
1292
+ declare class AXPEntityReferenceWidgetPrintComponent extends AXPLayoutBaseWidgetComponent {
1293
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityReferenceWidgetPrintComponent, never>;
1294
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPEntityReferenceWidgetPrintComponent, "ng-component", never, {}, {}, never, never, true, never>;
1295
+ }
1296
+
1297
+ declare class AXPEntityReferenceWidgetDesignerComponent extends AXPLayoutBaseWidgetComponent {
1298
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityReferenceWidgetDesignerComponent, never>;
1299
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPEntityReferenceWidgetDesignerComponent, "ng-component", never, {}, {}, never, never, true, never>;
1300
+ }
1301
+
1302
+ declare const AXPEntityReferenceWidget: AXPWidgetConfig;
1303
+
1304
+ declare class AXPLookupFilterWidgetEditComponent extends AXPValueWidgetComponent<any> {
1305
+ #private;
1306
+ protected editorPath: string;
1307
+ protected entity: _angular_core.Signal<string>;
1308
+ protected textField: _angular_core.Signal<string>;
1309
+ protected valueField: _angular_core.Signal<string>;
1310
+ protected customFilter: _angular_core.Signal<AXDataSourceFilterOption>;
1311
+ protected multiple: _angular_core.Signal<boolean>;
1312
+ protected lookupNode: _angular_core.WritableSignal<AXPWidgetNode>;
1313
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPLookupFilterWidgetEditComponent, never>;
1314
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPLookupFilterWidgetEditComponent, "ng-component", never, {}, {}, never, never, true, never>;
1315
+ }
1316
+
1317
+ declare const AXPLookupFilterWidget: AXPWidgetConfig;
1318
+ declare module '@acorex/platform/layout/widget-core' {
1319
+ interface AXPWidgetTypesMap {
1320
+ lookupFilter: 'lookup-filter';
1321
+ }
1322
+ }
1323
+
1324
+ declare class AXPLookupWidgetViewComponent extends AXPValueWidgetComponent<any> {
1325
+ protected readonly formatService: AXFormatService;
1326
+ protected readonly entityResolver: AXPEntityResolver;
1327
+ protected entity: _angular_core.Signal<string>;
1328
+ protected multiple: _angular_core.Signal<boolean>;
1329
+ protected valueField: _angular_core.Signal<string>;
1330
+ protected textField: _angular_core.Signal<string>;
1331
+ protected badgeClass: _angular_core.Signal<string>;
1332
+ protected displayField: _angular_core.Signal<string>;
1333
+ protected loading: _angular_core.WritableSignal<boolean>;
1334
+ private entityDef;
1335
+ protected displayItems: _angular_core.WritableSignal<any[]>;
1336
+ private efEntity;
1337
+ private efDisplay;
1338
+ private extractItem;
1339
+ private get __class();
1340
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPLookupWidgetViewComponent, never>;
1341
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPLookupWidgetViewComponent, "axp-lookup-widget-view", never, {}, {}, never, never, true, never>;
1342
+ }
1343
+
1344
+ type AXPLookupWidgetLookType = 'select' | 'lookup';
1345
+ interface AXPLookupWidgetOptions {
1346
+ disabled?: boolean | AXPExpression;
1347
+ readonly?: boolean | AXPExpression;
1348
+ placeholder?: string;
1349
+ expose?: string | string[];
1350
+ look?: AXPLookupWidgetLookType;
1351
+ allowClear?: boolean;
1352
+ }
1353
+
1354
+ interface AXPEntityDataSelectorOptions {
1355
+ entity: AXPEntity;
1356
+ title: string;
1357
+ allowMultiple?: boolean;
1358
+ filters?: AXDataSourceFilterOption | null;
1359
+ parentFilters?: AXDataSourceFilterOption | null;
1360
+ columns?: string[];
1361
+ sortedFields?: {
1362
+ name: string;
1363
+ dir: 'asc' | 'desc';
1364
+ }[];
1365
+ allowCreate?: boolean;
1366
+ searchFields?: string[];
1367
+ }
1368
+ interface AXPEntityDataSelectorResult {
1369
+ items: any[];
1370
+ }
1371
+ declare class AXPEntityDataSelectorService {
1372
+ private readonly dataSelectorService;
1373
+ private readonly filterOperatorMiddleware;
1374
+ private readonly widgetResolver;
1375
+ /**
1376
+ * Open entity data selector popup
1377
+ */
1378
+ open(options: AXPEntityDataSelectorOptions): Promise<AXPEntityDataSelectorResult | null>;
1379
+ /**
1380
+ * Open entity data selector with category filter
1381
+ */
1382
+ openWithCategoryFilter(options: Omit<AXPEntityDataSelectorOptions, 'allowCreate'>, categoryFilterConfig: {
1383
+ title: string;
1384
+ dataSource: any;
1385
+ filterField: string;
1386
+ filterOperator?: 'equal' | 'contains' | 'in';
1387
+ width?: string;
1388
+ }): Promise<AXPEntityDataSelectorResult | null>;
1389
+ /**
1390
+ * Create data selector configuration from entity options
1391
+ */
1392
+ private createDataSelectorConfig;
1393
+ /**
1394
+ * Create data source from entity definition
1395
+ */
1396
+ private createDataSource;
1397
+ /**
1398
+ * Create columns configuration from entity definition
1399
+ */
1400
+ private createColumns;
1401
+ /**
1402
+ * Get searchable fields from entity properties
1403
+ */
1404
+ private getSearchFields;
1405
+ /**
1406
+ * Check if entity supports create operation
720
1407
  */
721
- private createEntityKey;
722
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityDefinitionRegistryService, never>;
723
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPEntityDefinitionRegistryService>;
1408
+ private canCreate;
1409
+ /**
1410
+ * Merge custom and parent filters into data source query
1411
+ */
1412
+ private mergeFilters;
1413
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityDataSelectorService, never>;
1414
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPEntityDataSelectorService>;
724
1415
  }
725
1416
 
726
- /**
727
- * Entity Event Dispatcher - A wrapper for entity-specific events
728
- * Handles pattern-based dispatching for entity operations with wildcard support
729
- */
730
- declare class AXPEntityEventDispatcherService {
731
- private readonly eventService;
732
- dispatchEntityEvent(operation: 'inserted' | 'updated' | 'deleted', entityName: string, data: any): Promise<void>;
733
- private getAllMatchingEventKeys;
734
- private findMatchingWildcardKeys;
735
- private matchesEntityPattern;
736
- private generateEventKeys;
737
- dispatchInserted(entityName: string, data: any): Promise<void>;
738
- dispatchUpdated(entityName: string, data: any): Promise<void>;
739
- dispatchDeleted(entityName: string, data: any): Promise<void>;
740
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityEventDispatcherService, never>;
741
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPEntityEventDispatcherService>;
1417
+ declare class AXPLookupWidgetEditComponent extends AXPValueWidgetComponent<any> {
1418
+ #private;
1419
+ protected readonly injector: Injector;
1420
+ protected readonly entityResolver: AXPEntityResolver;
1421
+ protected readonly formatService: AXFormatService;
1422
+ protected readonly popupService: AXPopupService;
1423
+ protected readonly entityDataSelectorService: AXPEntityDataSelectorService;
1424
+ private readonly translateService;
1425
+ protected expose: _angular_core.Signal<string | any[] | undefined>;
1426
+ protected entity: _angular_core.Signal<string>;
1427
+ protected disabled: _angular_core.Signal<string>;
1428
+ protected columns: _angular_core.Signal<string[]>;
1429
+ protected textField: _angular_core.Signal<string>;
1430
+ protected customFilter: _angular_core.Signal<AXDataSourceFilterOption>;
1431
+ protected multiple: _angular_core.Signal<boolean>;
1432
+ protected look: _angular_core.Signal<AXPLookupWidgetLookType>;
1433
+ protected allowClear: _angular_core.Signal<boolean>;
1434
+ protected defaultTextField: _angular_core.Signal<string>;
1435
+ protected displayField: _angular_core.Signal<string>;
1436
+ protected selectedItemsText: _angular_core.Signal<string>;
1437
+ protected valueField: _angular_core.Signal<string>;
1438
+ protected conditions?: AXPQueryFilter[];
1439
+ protected filter: AXDataSourceFilterOption | null;
1440
+ private entityDef;
1441
+ protected dataSource: _angular_core.Signal<AXDataSource<unknown> | null>;
1442
+ protected searchTerm: _angular_core.WritableSignal<string | null>;
1443
+ protected selectedItems: _angular_core.WritableSignal<any[]>;
1444
+ textbox: _angular_core.Signal<AXTagBoxComponent | undefined>;
1445
+ protected isLoading: _angular_core.WritableSignal<boolean>;
1446
+ protected isOpen: _angular_core.WritableSignal<boolean>;
1447
+ protected placeholder: _angular_core.Signal<string>;
1448
+ private findByValue;
1449
+ protected handleOnClick(e: AXClickEvent): void;
1450
+ private showSelector;
1451
+ protected selectBoxValueChange(e: AXValueChangedEvent): void;
1452
+ protected handleValueChange(e: AXValueChangedEvent): void;
1453
+ protected handleOnBlur(e: AXFocusEvent): void;
1454
+ protected handleKeyUp(e: AXHtmlEvent): Promise<void>;
1455
+ private setItems;
1456
+ protected handleClearClick(): void;
1457
+ refresh(): void;
1458
+ clear(): void;
1459
+ clearInput(): void;
1460
+ private searchByValue;
1461
+ private mergeFilter;
1462
+ private singleOrMultiple;
1463
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPLookupWidgetEditComponent, never>;
1464
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPLookupWidgetEditComponent, "axp-lookup-widget-edit", never, {}, {}, never, never, true, never>;
742
1465
  }
743
1466
 
744
- interface AXPEntityConfigs {
745
- viewers: {
746
- root: () => Type<any> | Promise<Type<any>>;
747
- detail: {
748
- list: () => Type<any> | Promise<Type<any>>;
749
- };
750
- master: {
751
- single: () => Type<any> | Promise<Type<any>>;
752
- details: () => Type<any> | Promise<Type<any>>;
753
- create: () => Type<any> | Promise<Type<any>>;
754
- modify: () => Type<any> | Promise<Type<any>>;
755
- list: () => Type<any> | Promise<Type<any>>;
756
- };
757
- };
1467
+ declare class AXPLookupWidgetColumnComponent extends AXPColumnWidgetComponent<any> {
1468
+ private readonly entityDetailPopoverService;
1469
+ protected moreButton: _angular_core.Signal<ElementRef<any> | undefined>;
1470
+ protected morePopover: _angular_core.Signal<AXPopoverComponent | undefined>;
1471
+ protected host: ElementRef<any>;
1472
+ protected valueField: string;
1473
+ protected textField: string;
1474
+ protected entity: string;
1475
+ protected columnName: string;
1476
+ protected maxVisible: number;
1477
+ protected isMorePopoverOpen: _angular_core.WritableSignal<boolean>;
1478
+ protected selectedItemIndex: _angular_core.WritableSignal<number>;
1479
+ protected displayItems: _angular_core.Signal<any[]>;
1480
+ protected allItems: _angular_core.Signal<any[]>;
1481
+ protected visibleItems: _angular_core.Signal<any[]>;
1482
+ protected hasMoreItems: _angular_core.Signal<boolean>;
1483
+ protected remainingItemsCount: _angular_core.Signal<number>;
1484
+ protected showMoreItems(): void;
1485
+ protected onMorePopoverOpenChange(event: any): void;
1486
+ protected showItemDetail(item: any, index: number): Promise<void>;
1487
+ protected handleItemClick(index: number): void;
1488
+ private openMorePopover;
1489
+ private closeMorePopover;
1490
+ private extractItem;
1491
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPLookupWidgetColumnComponent, never>;
1492
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPLookupWidgetColumnComponent, "ng-component", never, { "rawValue": { "alias": "rawValue"; "required": false; }; "rowData": { "alias": "rowData"; "required": false; }; }, {}, never, never, true, never>;
758
1493
  }
759
- declare const AXP_ENTITY_CONFIG_TOKEN: InjectionToken<AXPEntityConfigs>;
760
- interface AXPEntityDefinitionLoader {
761
- get(moduleName: string, entityName: string): Promise<AXPEntity | null>;
1494
+
1495
+ declare const AXPLookupWidget: AXPWidgetConfig;
1496
+
1497
+ declare class AXPTagableBoxWidgetColumnComponent extends AXPValueWidgetComponent<any> {
1498
+ protected internalValue: _angular_core.Signal<any>;
1499
+ protected multiple: _angular_core.Signal<boolean>;
1500
+ protected useSelectBox: _angular_core.Signal<boolean>;
1501
+ protected textField: _angular_core.Signal<string>;
1502
+ protected getData: _angular_core.Signal<any[]>;
1503
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPTagableBoxWidgetColumnComponent, never>;
1504
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPTagableBoxWidgetColumnComponent, "ng-component", never, {}, {}, never, never, true, never>;
762
1505
  }
763
- declare const AXP_ENTITY_DEFINITION_LOADER: InjectionToken<AXPEntityDefinitionLoader>;
764
- declare class AXPEntityResolver {
765
- private providers;
766
- get(moduleName: string, entityName: string): Promise<AXPEntity | null>;
767
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityResolver, never>;
768
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPEntityResolver>;
1506
+
1507
+ declare class AXPTagableBoxWidgetEditComponent extends AXPValueWidgetComponent<any> {
1508
+ protected entityResolver: AXPEntityResolver;
1509
+ protected hasClearButton: _angular_core.Signal<boolean>;
1510
+ protected disabled: _angular_core.Signal<boolean>;
1511
+ protected placeholder: _angular_core.Signal<string>;
1512
+ protected moduleName: _angular_core.Signal<string>;
1513
+ protected entityName: _angular_core.Signal<string>;
1514
+ protected allowSearch: _angular_core.Signal<boolean>;
1515
+ protected _dataSource: AXDataSource<any>;
1516
+ protected handleSelectValueChange(e: AXValueChangedEvent): void;
1517
+ protected addItem(): void;
1518
+ private get __class();
1519
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPTagableBoxWidgetEditComponent, never>;
1520
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPTagableBoxWidgetEditComponent, "axp-tagable-box-widget", never, {}, {}, never, never, true, never>;
769
1521
  }
770
1522
 
771
- declare class AXPEntityModule {
772
- constructor(appInitService: AXPAppStartUpService, injector: Injector);
773
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityModule, never>;
774
- static ɵmod: _angular_core.ɵɵNgModuleDeclaration<AXPEntityModule, never, [typeof i1.RouterModule, typeof i2.AXPWorkflowModule, typeof i3.AXPLayoutBuilderModule], never>;
775
- static ɵinj: _angular_core.ɵɵInjectorDeclaration<AXPEntityModule>;
1523
+ declare class AXPTagableBoxWidgetFilterComponent extends AXPValueWidgetComponent<any> {
1524
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPTagableBoxWidgetFilterComponent, never>;
1525
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPTagableBoxWidgetFilterComponent, "ng-component", never, {}, {}, never, never, true, never>;
776
1526
  }
777
1527
 
778
- declare class AXPEntityService {
779
- private sessionService;
780
- createPath(module: string, entity: string, path?: string): string;
781
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityService, never>;
782
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPEntityService>;
1528
+ declare class AXPTagableBoxWidgetPrintComponent extends AXPValueWidgetComponent<any> {
1529
+ protected internalValue: _angular_core.Signal<any>;
1530
+ protected multiple: _angular_core.Signal<boolean>;
1531
+ protected useSelectBox: _angular_core.Signal<boolean>;
1532
+ protected textField: _angular_core.Signal<string>;
1533
+ protected getData: _angular_core.Signal<any[]>;
1534
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPTagableBoxWidgetPrintComponent, never>;
1535
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPTagableBoxWidgetPrintComponent, "ng-component", never, {}, {}, never, never, true, never>;
1536
+ }
1537
+
1538
+ declare class AXPTagableBoxWidgetViewComponent extends AXPValueWidgetComponent<any> {
1539
+ protected internalValue: _angular_core.Signal<any>;
1540
+ protected multiple: _angular_core.Signal<boolean>;
1541
+ protected useSelectBox: _angular_core.Signal<boolean>;
1542
+ protected textField: _angular_core.Signal<string>;
1543
+ protected getData: _angular_core.Signal<any[]>;
1544
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPTagableBoxWidgetViewComponent, never>;
1545
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPTagableBoxWidgetViewComponent, "axp-tagable-box-widget", never, {}, {}, never, never, true, never>;
1546
+ }
1547
+
1548
+ declare const AXPTagableBoxWidget: AXPWidgetConfig;
1549
+ declare module '@acorex/platform/layout/widget-core' {
1550
+ interface AXPWidgetTypesMap {
1551
+ tagable: 'tagable-editor';
1552
+ }
1553
+ }
1554
+
1555
+ declare class AXPWidgetSelectorWidgetEditComponent extends AXPValueWidgetComponent<any> {
1556
+ private popupService;
1557
+ private widgetRegisteryService;
1558
+ textbox: AXTextBoxComponent;
1559
+ protected searchTerm: _angular_core.WritableSignal<string | null>;
1560
+ protected isOpen: _angular_core.WritableSignal<boolean>;
1561
+ protected textField: _angular_core.WritableSignal<string>;
1562
+ protected displayText: _angular_core.Signal<any>;
1563
+ protected selectedWidgetNode: _angular_core.WritableSignal<AXPWidgetNode | null>;
1564
+ protected selectedItem: _angular_core.WritableSignal<any>;
1565
+ protected placeholder: _angular_core.Signal<any>;
1566
+ protected loading: _angular_core.Signal<boolean>;
1567
+ ngAfterViewInit(): void;
1568
+ showSelector(): Promise<void>;
1569
+ protected convertWidgetConfigToNode(config: AXPWidgetConfig): AXPWidgetNode;
1570
+ protected handleChangeWidget(e: AXPWidgetPropertiesChangedEvent): void;
1571
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPWidgetSelectorWidgetEditComponent, never>;
1572
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPWidgetSelectorWidgetEditComponent, "ng-component", never, {}, {}, never, never, true, never>;
1573
+ }
1574
+
1575
+ declare class AXPWidgetSelectorWidgetViewComponent extends AXPValueWidgetComponent<any> {
1576
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPWidgetSelectorWidgetViewComponent, never>;
1577
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPWidgetSelectorWidgetViewComponent, "ng-component", never, {}, {}, never, never, true, never>;
1578
+ }
1579
+
1580
+ declare const AXPWidgetSelectorWidget: AXPWidgetConfig;
1581
+ declare module '@acorex/platform/layout/widget-core' {
1582
+ interface AXPWidgetTypesMap {
1583
+ widgetSelector: 'widget-selector';
1584
+ }
783
1585
  }
784
1586
 
785
1587
  declare const AXPEntityCreateEvent: {
@@ -837,6 +1639,7 @@ declare class AXPEntityPerformDeleteAction extends AXPWorkflowAction {
837
1639
  private dialogService;
838
1640
  private loadingDialog;
839
1641
  private translationService;
1642
+ private settingService;
840
1643
  execute(context: AXPWorkflowContext): Promise<void>;
841
1644
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityPerformDeleteAction, never>;
842
1645
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPEntityPerformDeleteAction>;
@@ -911,193 +1714,5 @@ declare class AXPShowListViewAction extends AXPWorkflowAction {
911
1714
  }
912
1715
  declare const AXPShowListViewWorkflow: AXPWorkflow;
913
1716
 
914
- interface AXPOpenEntityDetailsCommandInput {
915
- entity: string;
916
- data: {
917
- id: string;
918
- };
919
- }
920
- interface AXPOpenEntityDetailsCommandResult {
921
- success: boolean;
922
- }
923
- /**
924
- * Generic command to open entity details view
925
- * Can be used by any entity to navigate to its detail page
926
- */
927
- declare class AXPOpenEntityDetailsCommand implements AXPCommand<AXPOpenEntityDetailsCommandInput, AXPOpenEntityDetailsCommandResult> {
928
- private readonly router;
929
- private readonly sessionService;
930
- /**
931
- * Execute the command to navigate to entity details
932
- * @param input - Command input containing entity and data information
933
- */
934
- execute(input: AXPOpenEntityDetailsCommandInput): Promise<AXPOpenEntityDetailsCommandResult>;
935
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPOpenEntityDetailsCommand, never>;
936
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPOpenEntityDetailsCommand>;
937
- }
938
-
939
- interface AXPGetEntityDetailsQueryInput {
940
- entity: string;
941
- id: string;
942
- }
943
- interface AXPGetEntityDetailsQueryResult {
944
- success: boolean;
945
- entityDefinition?: AXPEntity;
946
- entityData?: any;
947
- error?: string;
948
- }
949
- /**
950
- * Generic query to get entity details including entity definition and entity data
951
- * Can be used by any entity to retrieve its definition and data by ID
952
- */
953
- declare class AXPGetEntityDetailsQuery implements AXPQuery<AXPGetEntityDetailsQueryInput, AXPGetEntityDetailsQueryResult> {
954
- private readonly entityDefinitionRegistry;
955
- private readonly injector;
956
- /**
957
- * Execute the query to fetch entity definition and data
958
- * @param input - Query input containing entity and ID information
959
- */
960
- fetch(input: AXPGetEntityDetailsQueryInput): Promise<AXPGetEntityDetailsQueryResult>;
961
- /**
962
- * Get entity data using the entity's CRUD service
963
- * @param entity - Full entity path (ModuleName.EntityName)
964
- * @param id - Entity ID
965
- * @returns Promise resolving to entity data
966
- */
967
- private getEntityData;
968
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPGetEntityDetailsQuery, never>;
969
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPGetEntityDetailsQuery>;
970
- }
971
-
972
- declare function entityMasterCreateAction(): AXPEntityAction;
973
- declare function entityMasterBulkDeleteAction(): AXPEntityAction;
974
- declare function entityMasterViewAction(): AXPEntityAction;
975
- declare function entityMasterDeleteAction(): AXPEntityAction;
976
- declare function entityMasterCrudActions(): AXPEntityAction[];
977
- declare function entityMasterRecordActions(): AXPEntityAction[];
978
- declare function entityDetailsCreateActions(parentId: string): AXPEntityAction;
979
- declare function entityDetailsSimpleCondition(fk: string): AXPQueryFilter;
980
- declare function entityDetailsReferenceCondition(type: string): AXPQueryFilter[];
981
- declare function entityDetailsEditAction(): AXPEntityAction;
982
- declare function entityOverrideDetailsViewAction(): AXPEntityAction;
983
- declare function entityDetailsCrudActions(parentId: string): AXPEntityAction[];
984
- declare function entityDetailsReferenceCreateActions(type: string): AXPEntityAction[];
985
- type AXPEntityChangeSet = {
986
- [key: string]: {
987
- oldValue: any;
988
- newValue: any;
989
- added?: any[];
990
- removed?: any[];
991
- };
992
- };
993
- /**
994
- * Computes a diff between two plain objects with array-aware semantics.
995
- * - For arrays of objects with an id field, computes added/removed by id.
996
- * - For arrays of primitives or objects without id, uses deep equality.
997
- * - For scalars/objects, reports oldValue/newValue when changed.
998
- */
999
- declare function detectEntityChanges(oldObj: any, newObj: any): AXPEntityChangeSet;
1000
-
1001
- declare const eventDispatchMiddleware: AXPEntityStorageMiddleware;
1002
-
1003
- /**
1004
- * Map of column name -> width value
1005
- * Example: { title: '300px', description: '300px' }
1006
- */
1007
- type ColumnWidthConfig = Record<string, string | number>;
1008
- /**
1009
- * Default widths for common text columns
1010
- */
1011
- declare const DEFAULT_COLUMN_WIDTHS: ColumnWidthConfig;
1012
- /**
1013
- * Factory to create a column width middleware using provided config map.
1014
- * Sets width for columns defined in the map if not already defined on the column.
1015
- */
1016
- declare const columnWidthMiddlewareFactory: (widths: ColumnWidthConfig) => AXPEntityModifier;
1017
- /**
1018
- * Helper to create a provider for the column width middleware.
1019
- * By default it applies to all entities using the '*' pattern.
1020
- */
1021
- declare const createColumnWidthMiddlewareProvider: (widths: ColumnWidthConfig, entityName?: string | RegExp) => AXPEntityModifierProvider;
1022
- /**
1023
- * Default provider registered with the default map.
1024
- */
1025
- declare const columnWidthMiddlewareProvider: AXPEntityModifierProvider;
1026
-
1027
- declare class AXPEntityDetailPopoverComponent {
1028
- private readonly commandService;
1029
- private readonly queryService;
1030
- entity: _angular_core.InputSignal<string>;
1031
- entityId: _angular_core.InputSignal<string | number>;
1032
- textField: _angular_core.InputSignal<string>;
1033
- valueField: _angular_core.InputSignal<string>;
1034
- item: _angular_core.InputSignal<AXPMetaData | undefined>;
1035
- protected detailPopover: _angular_core.Signal<AXPopoverComponent | undefined>;
1036
- protected entityDetails: _angular_core.WritableSignal<any>;
1037
- protected isLoadingDetails: _angular_core.WritableSignal<boolean>;
1038
- protected isDetailPopoverOpen: _angular_core.WritableSignal<boolean>;
1039
- /**
1040
- * Show the entity detail popover
1041
- */
1042
- show(target: ElementRef | HTMLElement): Promise<void>;
1043
- /**
1044
- * Hide the entity detail popover
1045
- */
1046
- hide(): void;
1047
- protected onDetailPopoverOpenChange(event: any): void;
1048
- protected navigateToDetails(): Promise<void>;
1049
- /**
1050
- * Returns true if a value is meaningful for display (non-empty/non-null).
1051
- */
1052
- private hasMeaningfulValue;
1053
- /**
1054
- * Calculates an importance score for a property based on its widget type,
1055
- * whether it currently has a meaningful value, and metadata like title.
1056
- */
1057
- private getPropertyImportanceScore;
1058
- /**
1059
- * Calculates a name-based importance score to prioritize common key fields
1060
- * like title, description, status, and important dates.
1061
- * Name priority MUST come before widget-type priority.
1062
- */
1063
- private getNameImportanceScore;
1064
- protected getEntityPropertiesWithWidgets(): Array<{
1065
- name: string;
1066
- title: string;
1067
- node: AXPWidgetNode;
1068
- }>;
1069
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityDetailPopoverComponent, never>;
1070
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPEntityDetailPopoverComponent, "axp-entity-detail-popover", never, { "entity": { "alias": "entity"; "required": true; "isSignal": true; }; "entityId": { "alias": "entityId"; "required": true; "isSignal": true; }; "textField": { "alias": "textField"; "required": false; "isSignal": true; }; "valueField": { "alias": "valueField"; "required": false; "isSignal": true; }; "item": { "alias": "item"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
1071
- }
1072
-
1073
- interface AXPEntityDetailPopoverOptions {
1074
- entity: string;
1075
- id: string | number;
1076
- item: AXPMetaData;
1077
- textField?: string;
1078
- valueField?: string;
1079
- }
1080
- declare class AXPEntityDetailPopoverService {
1081
- private readonly applicationRef;
1082
- private readonly environmentInjector;
1083
- private activePopoverRef;
1084
- /**
1085
- * Show entity detail popover
1086
- * @param target - The target element to position the popover
1087
- * @param options - Configuration options for the popover
1088
- */
1089
- show(target: ElementRef | HTMLElement, options: AXPEntityDetailPopoverOptions): Promise<void>;
1090
- /**
1091
- * Hide the active popover
1092
- */
1093
- hide(): void;
1094
- /**
1095
- * Check if a popover is currently active
1096
- */
1097
- get isActive(): boolean;
1098
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityDetailPopoverService, never>;
1099
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPEntityDetailPopoverService>;
1100
- }
1101
-
1102
- export { AXMEntityCrudService, AXMEntityCrudServiceImpl, AXPCreateEntityWorkflow, AXPDataSeederService, AXPDeleteEntityWorkflow, AXPEntityApplyUpdatesAction, AXPEntityCommandTriggerViewModel, AXPEntityCreateEvent, AXPEntityCreatePopupAction, AXPEntityCreateSubmittedAction, AXPEntityCreateViewElementViewModel, AXPEntityCreateViewModelFactory, AXPEntityCreateViewSectionViewModel, AXPEntityDataProvider, AXPEntityDataProviderImpl, AXPEntityDefinitionRegistryService, AXPEntityDeletedEvent, AXPEntityDetailListViewModel, AXPEntityDetailPopoverComponent, AXPEntityDetailPopoverService, AXPEntityDetailViewModelFactory, AXPEntityDetailViewModelResolver, AXPEntityEventDispatcherService, AXPEntityListViewColumnViewModel, AXPEntityListViewModelFactory, AXPEntityListViewModelResolver, AXPEntityMasterCreateViewModel, AXPEntityMasterListViewModel, AXPEntityMasterListViewQueryViewModel, AXPEntityMasterSingleElementViewModel, AXPEntityMasterSingleViewGroupViewModel, AXPEntityMasterSingleViewModel, AXPEntityMasterUpdateElementViewModel, AXPEntityMasterUpdateViewModel, AXPEntityMasterUpdateViewModelFactory, AXPEntityMiddleware, AXPEntityModifyConfirmedAction, AXPEntityModifyEvent, AXPEntityModifySectionPopupAction, AXPEntityModule, AXPEntityPerformDeleteAction, AXPEntityResolver, AXPEntityService, AXPEntityStorageService, AXPGetEntityDetailsQuery, AXPMiddlewareEntityStorageService, AXPModifyEntitySectionWorkflow, AXPOpenEntityDetailsCommand, AXPQuickEntityModifyPopupAction, AXPQuickModifyEntityWorkflow, AXPShowDetailViewAction, AXPShowDetailsViewWorkflow, AXPShowListViewAction, AXPShowListViewWorkflow, AXP_DATA_SEEDER_TOKEN, AXP_ENTITY_ACTION_PLUGIN, AXP_ENTITY_CONFIG_TOKEN, AXP_ENTITY_DEFINITION_LOADER, AXP_ENTITY_MODIFIER, AXP_ENTITY_STORAGE_BACKEND, AXP_ENTITY_STORAGE_MIDDLEWARE, DEFAULT_COLUMN_WIDTHS, actionExists, columnWidthMiddlewareFactory, columnWidthMiddlewareProvider, createColumnWidthMiddlewareProvider, createModifierContext, detectEntityChanges, ensureListActions, entityDetailsCreateActions, entityDetailsCrudActions, entityDetailsEditAction, entityDetailsReferenceCondition, entityDetailsReferenceCreateActions, entityDetailsSimpleCondition, entityMasterBulkDeleteAction, entityMasterCreateAction, entityMasterCrudActions, entityMasterDeleteAction, entityMasterRecordActions, entityMasterViewAction, entityOverrideDetailsViewAction, eventDispatchMiddleware };
1103
- export type { AXPAuditable, AXPDataSeeder, AXPEntityActionPlugin, AXPEntityChangeSet, AXPEntityConfigs, AXPEntityCreateDto, AXPEntityDefinitionLoader, AXPEntityDefinitionPreloader, AXPEntityDeleteOptions, AXPEntityDetailDto, AXPEntityDetailPopoverOptions, AXPEntityListItemDto, AXPEntityMasterListViewSortPropViewModel, AXPEntityModel, AXPEntityModifier, AXPEntityModifierContext, AXPEntityModifierProvider, AXPEntityOp, AXPEntityOutputDto, AXPEntityPreloadEntity, AXPEntityStorageContext, AXPEntityStorageMiddleware, AXPEntityUpdateDto, AXPGetEntityDetailsQueryInput, AXPGetEntityDetailsQueryResult, AXPOpenEntityDetailsCommandInput, AXPOpenEntityDetailsCommandResult, AXPRecordControl, ColumnWidthConfig };
1717
+ export { AXMEntityCrudService, AXMEntityCrudServiceImpl, AXPCreateEntityWorkflow, AXPDataSeederService, AXPDeleteEntityWorkflow, AXPEntityApplyUpdatesAction, AXPEntityCommandTriggerViewModel, AXPEntityCreateEvent, AXPEntityCreatePopupAction, AXPEntityCreateSubmittedAction, AXPEntityCreateViewElementViewModel, AXPEntityCreateViewModelFactory, AXPEntityCreateViewSectionViewModel, AXPEntityDataProvider, AXPEntityDataProviderImpl, AXPEntityDataSelectorService, AXPEntityDefinitionRegistryService, AXPEntityDeletedEvent, AXPEntityDetailListViewModel, AXPEntityDetailPopoverComponent, AXPEntityDetailPopoverService, AXPEntityDetailViewModelFactory, AXPEntityDetailViewModelResolver, AXPEntityDynamicDialogService, AXPEntityEventDispatcherService, AXPEntityListTableService, AXPEntityListViewColumnViewModel, AXPEntityListViewModelFactory, AXPEntityListViewModelResolver, AXPEntityListWidget, AXPEntityListWidgetViewComponent, AXPEntityMasterCreateViewModel, AXPEntityMasterListViewModel, AXPEntityMasterListViewQueryViewModel, AXPEntityMasterSingleElementViewModel, AXPEntityMasterSingleViewGroupViewModel, AXPEntityMasterSingleViewModel, AXPEntityMasterUpdateElementViewModel, AXPEntityMasterUpdateViewModel, AXPEntityMasterUpdateViewModelFactory, AXPEntityMiddleware, AXPEntityModifyConfirmedAction, AXPEntityModifyEvent, AXPEntityModifySectionPopupAction, AXPEntityModule, AXPEntityPerformDeleteAction, AXPEntityReferenceWidget, AXPEntityReferenceWidgetColumnComponent, AXPEntityReferenceWidgetDesignerComponent, AXPEntityReferenceWidgetEditComponent, AXPEntityReferenceWidgetPrintComponent, AXPEntityReferenceWidgetViewComponent, AXPEntityResolver, AXPEntityService, AXPEntityStorageService, AXPEntityUpdateViewSectionViewModel, AXPGetEntityDetailsQuery, AXPLookupFilterWidget, AXPLookupFilterWidgetEditComponent, AXPLookupWidget, AXPLookupWidgetColumnComponent, AXPLookupWidgetEditComponent, AXPLookupWidgetViewComponent, AXPMiddlewareAbortError, AXPMiddlewareEntityStorageService, AXPModifyEntitySectionWorkflow, AXPOpenEntityDetailsCommand, AXPQuickEntityModifyPopupAction, AXPQuickModifyEntityWorkflow, AXPShowDetailViewAction, AXPShowDetailsViewWorkflow, AXPShowListViewAction, AXPShowListViewWorkflow, AXPTagableBoxWidget, AXPTagableBoxWidgetColumnComponent, AXPTagableBoxWidgetEditComponent, AXPTagableBoxWidgetFilterComponent, AXPTagableBoxWidgetPrintComponent, AXPTagableBoxWidgetViewComponent, AXPWidgetSelectorWidget, AXPWidgetSelectorWidgetEditComponent, AXPWidgetSelectorWidgetViewComponent, AXP_DATA_SEEDER_TOKEN, AXP_ENTITY_ACTION_PLUGIN, AXP_ENTITY_CONFIG_TOKEN, AXP_ENTITY_DEFINITION_LOADER, AXP_ENTITY_MODIFIER, AXP_ENTITY_STORAGE_BACKEND, AXP_ENTITY_STORAGE_MIDDLEWARE, DEFAULT_COLUMN_WIDTHS, actionExists, columnWidthMiddlewareFactory, columnWidthMiddlewareProvider, createColumnWidthMiddlewareProvider, createModifierContext, detectEntityChanges, ensureListActions, entityDetailsCreateActions, entityDetailsCrudActions, entityDetailsEditAction, entityDetailsReferenceCondition, entityDetailsReferenceCreateActions, entityDetailsSimpleCondition, entityMasterBulkDeleteAction, entityMasterCreateAction, entityMasterCrudActions, entityMasterDeleteAction, entityMasterRecordActions, entityMasterViewAction, entityOverrideDetailsViewAction, eventDispatchMiddleware, isAXPMiddlewareAbortError };
1718
+ export type { AXPAuditable, AXPDataSeeder, AXPEntityActionPlugin, AXPEntityChangeSet, AXPEntityConfigs, AXPEntityCreateDto, AXPEntityDataSelectorOptions, AXPEntityDataSelectorResult, AXPEntityDefinitionLoader, AXPEntityDefinitionPreloader, AXPEntityDeleteOptions, AXPEntityDetailDto, AXPEntityDetailPopoverOptions, AXPEntityListItemDto, AXPEntityMasterListViewSortPropViewModel, AXPEntityModel, AXPEntityModifier, AXPEntityModifierContext, AXPEntityModifierProvider, AXPEntityOp, AXPEntityOutputDto, AXPEntityPreloadEntity, AXPEntityStorageContext, AXPEntityStorageMiddleware, AXPEntityUpdateDto, AXPGetEntityDetailsQueryInput, AXPGetEntityDetailsQueryResult, AXPLookupWidgetLookType, AXPLookupWidgetOptions, AXPOpenEntityDetailsCommandInput, AXPOpenEntityDetailsCommandResult, AXPRecordControl, AXPRecordOwnership, ColumnWidthConfig };