@acorex/platform 20.6.0-next.8 → 20.6.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 (62) hide show
  1. package/common/index.d.ts +9 -2
  2. package/core/index.d.ts +209 -55
  3. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  4. package/fesm2022/acorex-platform-core.mjs +225 -24
  5. package/fesm2022/acorex-platform-core.mjs.map +1 -1
  6. package/fesm2022/acorex-platform-domain.mjs +49 -4
  7. package/fesm2022/acorex-platform-domain.mjs.map +1 -1
  8. package/fesm2022/acorex-platform-layout-builder.mjs +39 -118
  9. package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
  10. package/fesm2022/acorex-platform-layout-components.mjs +1011 -257
  11. package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
  12. package/fesm2022/acorex-platform-layout-designer.mjs +2 -2
  13. package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
  14. package/fesm2022/acorex-platform-layout-entity.mjs +9318 -4439
  15. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  16. package/fesm2022/acorex-platform-layout-views.mjs +30 -24
  17. package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
  18. package/fesm2022/acorex-platform-layout-widget-core.mjs +4 -8
  19. package/fesm2022/acorex-platform-layout-widget-core.mjs.map +1 -1
  20. package/fesm2022/acorex-platform-layout-widgets-image-preview.popup-V31OpYah.mjs +30 -0
  21. package/fesm2022/acorex-platform-layout-widgets-image-preview.popup-V31OpYah.mjs.map +1 -0
  22. package/fesm2022/{acorex-platform-layout-widgets-tabular-data-edit-popup.component-C1l2KSDa.mjs → acorex-platform-layout-widgets-tabular-data-edit-popup.component-m8rHZP8L.mjs} +2 -2
  23. package/fesm2022/acorex-platform-layout-widgets-tabular-data-edit-popup.component-m8rHZP8L.mjs.map +1 -0
  24. package/fesm2022/{acorex-platform-layout-widgets-tabular-data-view-popup.component-D-31ej0C.mjs → acorex-platform-layout-widgets-tabular-data-view-popup.component-y8vjUiVs.mjs} +2 -2
  25. package/fesm2022/acorex-platform-layout-widgets-tabular-data-view-popup.component-y8vjUiVs.mjs.map +1 -0
  26. package/fesm2022/acorex-platform-layout-widgets.mjs +2194 -1242
  27. package/fesm2022/acorex-platform-layout-widgets.mjs.map +1 -1
  28. package/fesm2022/acorex-platform-runtime.mjs +79 -3
  29. package/fesm2022/acorex-platform-runtime.mjs.map +1 -1
  30. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-mARj77Mr.mjs +136 -0
  31. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-mARj77Mr.mjs.map +1 -0
  32. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-Cym8pq0v.mjs +1543 -0
  33. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-Cym8pq0v.mjs.map +1 -0
  34. package/fesm2022/acorex-platform-themes-default.mjs +124 -21
  35. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
  36. package/fesm2022/acorex-platform-themes-shared-icon-chooser-column.component-C0EpfU2k.mjs +55 -0
  37. package/fesm2022/acorex-platform-themes-shared-icon-chooser-column.component-C0EpfU2k.mjs.map +1 -0
  38. package/fesm2022/acorex-platform-themes-shared.mjs +15 -110
  39. package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
  40. package/fesm2022/acorex-platform-workflow.mjs +658 -45
  41. package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
  42. package/layout/builder/index.d.ts +6 -33
  43. package/layout/components/index.d.ts +301 -60
  44. package/layout/designer/index.d.ts +1 -1
  45. package/layout/entity/index.d.ts +650 -86
  46. package/layout/views/index.d.ts +5 -58
  47. package/layout/widget-core/index.d.ts +24 -26
  48. package/layout/widgets/README.md +0 -1
  49. package/layout/widgets/index.d.ts +139 -84
  50. package/package.json +9 -9
  51. package/runtime/index.d.ts +36 -8
  52. package/themes/default/index.d.ts +29 -73
  53. package/themes/shared/index.d.ts +1 -39
  54. package/workflow/index.d.ts +401 -90
  55. package/fesm2022/acorex-platform-layout-entity-create-entity.command-DGeylNSY.mjs +0 -52
  56. package/fesm2022/acorex-platform-layout-entity-create-entity.command-DGeylNSY.mjs.map +0 -1
  57. package/fesm2022/acorex-platform-layout-widgets-tabular-data-edit-popup.component-C1l2KSDa.mjs.map +0 -1
  58. package/fesm2022/acorex-platform-layout-widgets-tabular-data-view-popup.component-D-31ej0C.mjs.map +0 -1
  59. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-WbPPqDON.mjs +0 -115
  60. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-WbPPqDON.mjs.map +0 -1
  61. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-CD7rJIMh.mjs +0 -803
  62. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-CD7rJIMh.mjs.map +0 -1
@@ -1,11 +1,11 @@
1
- import { AXPCommand, AXPQuery } from '@acorex/platform/runtime';
1
+ import { AXPExecuteCommandResult, AXPMetaData, AXPGridLayoutOptions, AXPBreadcrumbItem, AXPFilterQuery, AXPFilterDefinition, AXPExecuteCommand, AXPUserReference, AXPQueryRequest, AXPPagedListResult, AXPCategoryEntity as AXPCategoryEntity$1, AXPAppStartUpService, AXPMiddlewareErrorResponse, AXHighlightService, AXPExpression, AXPColumnQuery, AXPSortDefinition, AXPDeviceService, AXPBroadcastEventService, AXPActionMenuItem } from '@acorex/platform/core';
2
+ import { AXPCommand, AXPQuery, AXPCommandService } from '@acorex/platform/runtime';
2
3
  import * as _angular_core from '@angular/core';
3
- import { ElementRef, InjectionToken, Injector, Type } from '@angular/core';
4
+ import { ElementRef, InjectionToken, Injector, Type, OnInit, ChangeDetectorRef, OnDestroy } from '@angular/core';
4
5
  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
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';
7
+ import { AXPWidgetNode, AXPWidgetColumnNode, AXPWidgetCoreService, AXPColumnWidgetComponent, AXPValueWidgetComponent, AXPWidgetConfig, AXPWidgetRendererDirective, AXPLayoutBaseWidgetComponent } from '@acorex/platform/layout/widget-core';
8
+ import { AXStyleColorType, AXDataSource, AXDataSourceFilterOption, AXValueChangedEvent, AXClickEvent, AXFocusEvent, AXHtmlEvent } from '@acorex/cdk/common';
9
9
  import * as _acorex_platform_common from '@acorex/platform/common';
10
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';
11
11
  import * as i1 from '@angular/router';
@@ -14,38 +14,70 @@ import * as rxjs from 'rxjs';
14
14
  import { Subject } from 'rxjs';
15
15
  import * as i2 from '@acorex/platform/workflow';
16
16
  import { AXPWorkflowService, AXPWorkflowAction, AXPWorkflowContext, AXPWorkflow } from '@acorex/platform/workflow';
17
+ import { AXTreeViewNode, AXTreeViewComponent, AXTreeViewNodeToggleEvent, AXTreeViewNodeSelectEvent, AXTreeViewSelectionChangeEvent } from '@acorex/components/tree-view';
18
+ import { AXTranslationService } from '@acorex/core/translation';
17
19
  import { AXPopupSizeType, AXPopupService } from '@acorex/components/popup';
18
20
  import { IActionBuilder, IFormFieldBuilder, AXPDialogRef } from '@acorex/platform/layout/builder';
19
- import { AXPDataListWidgetComponentOptions } 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';
21
+ import { AXBasePageComponent } from '@acorex/components/page';
22
22
  import { AXFormatService } from '@acorex/core/format';
23
- import { AXSelectBoxComponent } from '@acorex/components/select-box';
24
23
  import { AXTagBoxComponent } from '@acorex/components/tag-box';
24
+ import { AXPDataListWidgetComponentOptions } from '@acorex/platform/layout/widgets';
25
+ import { AXSelectBoxComponent } from '@acorex/components/select-box';
25
26
  import { AXTextBoxComponent } from '@acorex/components/text-box';
26
27
  import { AXPWidgetPropertiesChangedEvent } from '@acorex/platform/layout/components';
27
28
 
29
+ declare class AXPCreateEntityCommand implements AXPCommand<any, any> {
30
+ private entityForm;
31
+ private settingsService;
32
+ private entityService;
33
+ private toastService;
34
+ private translationService;
35
+ private eventService;
36
+ protected context: {};
37
+ execute(input: any): Promise<AXPExecuteCommandResult<any>>;
38
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPCreateEntityCommand, never>;
39
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPCreateEntityCommand>;
40
+ }
41
+
42
+ declare class AXPUpdateEntityCommand implements AXPCommand<any, any> {
43
+ private readonly entityForm;
44
+ private readonly settingsService;
45
+ private readonly entityService;
46
+ private readonly toastService;
47
+ private readonly translationService;
48
+ private readonly eventService;
49
+ execute(input: any): Promise<AXPExecuteCommandResult<any>>;
50
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPUpdateEntityCommand, never>;
51
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPUpdateEntityCommand>;
52
+ }
53
+
54
+ declare class AXPViewEntityDetailsCommand implements AXPCommand<any, any> {
55
+ private readonly entityForm;
56
+ private readonly entityService;
57
+ private readonly translationService;
58
+ execute(input: any): Promise<AXPExecuteCommandResult<any>>;
59
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPViewEntityDetailsCommand, never>;
60
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPViewEntityDetailsCommand>;
61
+ }
62
+
28
63
  interface AXPOpenEntityDetailsCommandInput {
29
64
  entity: string;
30
65
  data: {
31
66
  id: string;
32
67
  };
33
68
  }
34
- interface AXPOpenEntityDetailsCommandResult {
35
- success: boolean;
36
- }
37
69
  /**
38
70
  * Generic command to open entity details view
39
71
  * Can be used by any entity to navigate to its detail page
40
72
  */
41
- declare class AXPOpenEntityDetailsCommand implements AXPCommand<AXPOpenEntityDetailsCommandInput, AXPOpenEntityDetailsCommandResult> {
73
+ declare class AXPOpenEntityDetailsCommand implements AXPCommand<AXPOpenEntityDetailsCommandInput, AXPExecuteCommandResult> {
42
74
  private readonly router;
43
75
  private readonly sessionService;
44
76
  /**
45
77
  * Execute the command to navigate to entity details
46
78
  * @param input - Command input containing entity and data information
47
79
  */
48
- execute(input: AXPOpenEntityDetailsCommandInput): Promise<AXPOpenEntityDetailsCommandResult>;
80
+ execute(input: AXPOpenEntityDetailsCommandInput): Promise<AXPExecuteCommandResult>;
49
81
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPOpenEntityDetailsCommand, never>;
50
82
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPOpenEntityDetailsCommand>;
51
83
  }
@@ -138,6 +170,7 @@ declare class AXPDataSeederService {
138
170
 
139
171
  declare class AXPEntityCommandTriggerViewModel {
140
172
  priority: 'primary' | 'secondary';
173
+ order: number;
141
174
  color: AXStyleColorType;
142
175
  icon: string;
143
176
  title: string;
@@ -212,6 +245,11 @@ declare class AXPEntityDetailListViewModel {
212
245
  getSecondaryActions(): Promise<AXPEntityCommandTriggerViewModel[]>;
213
246
  }
214
247
 
248
+ declare const AXPEntityEventsKeys: {
249
+ REFRESH_LAYOUT: string;
250
+ REFRESH_DATA: string;
251
+ };
252
+
215
253
  /**
216
254
  * Entity Event Dispatcher - A wrapper for entity-specific events
217
255
  * Handles pattern-based dispatching for entity operations with wildcard support
@@ -251,6 +289,7 @@ declare class AXPEntityCreateViewElementViewModel {
251
289
  title: _angular_core.WritableSignal<string>;
252
290
  description: _angular_core.WritableSignal<string | undefined>;
253
291
  editable: _angular_core.Signal<boolean>;
292
+ isVisible: _angular_core.Signal<string | boolean>;
254
293
  isRequired: _angular_core.Signal<boolean>;
255
294
  layout: _angular_core.Signal<AXPEntityPropertyLayoutConfig>;
256
295
  node: _angular_core.Signal<AXPWidgetNode>;
@@ -621,6 +660,27 @@ interface AXPEntityModifierProvider {
621
660
 
622
661
  declare function ensureListActions(ctx: AXPEntityModifierContext): void;
623
662
  declare function actionExists(actions: any[] | undefined, commandName: string, name?: string): boolean;
663
+ interface AXPEntityLayoutSectionLike {
664
+ id: string;
665
+ }
666
+ interface AXPEntityLayoutPropertyLike {
667
+ name: string;
668
+ }
669
+ interface AXPEntityLayoutLike<TSection extends AXPEntityLayoutSectionLike = AXPEntityLayoutSectionLike, TProperty extends AXPEntityLayoutPropertyLike = AXPEntityLayoutPropertyLike> {
670
+ sections: TSection[];
671
+ properties?: TProperty[];
672
+ }
673
+ /**
674
+ * Clones `sections` and `properties` arrays to prevent accidental cross-interface mutations.
675
+ * Many entity definitions reuse the same array instances across create/update/single interfaces.
676
+ */
677
+ declare function cloneLayoutArrays<TLayout extends AXPEntityLayoutLike>(layout: TLayout): TLayout & {
678
+ properties: NonNullable<TLayout['properties']>;
679
+ };
680
+ declare function ensureLayoutSection<TLayout extends AXPEntityLayoutLike>(layout: TLayout, section: TLayout['sections'][number]): void;
681
+ declare function ensureLayoutPropertyView<TLayout extends AXPEntityLayoutLike>(layout: TLayout & {
682
+ properties: NonNullable<TLayout['properties']>;
683
+ }, prop: NonNullable<TLayout['properties']>[number]): void;
624
684
 
625
685
  interface AXPEntityActionPlugin {
626
686
  name: string;
@@ -939,6 +999,44 @@ declare const createColumnWidthMiddlewareProvider: (widths: ColumnWidthConfig, e
939
999
  */
940
1000
  declare const columnWidthMiddlewareProvider: AXPEntityModifierProvider;
941
1001
 
1002
+ /**
1003
+ * Configuration for section ordering
1004
+ */
1005
+ interface SectionOrderConfig {
1006
+ /**
1007
+ * Default order for common sections
1008
+ * Lower numbers appear first
1009
+ */
1010
+ sections: Record<string, number>;
1011
+ /**
1012
+ * Default order for properties within sections
1013
+ * Key format: 'sectionId.propertyName' or just 'propertyName' for any section
1014
+ */
1015
+ properties: Record<string, number>;
1016
+ }
1017
+ /**
1018
+ * Default order for common sections
1019
+ */
1020
+ declare const DEFAULT_SECTION_ORDER: Record<string, number>;
1021
+ /**
1022
+ * Default order for common properties
1023
+ * Format: 'sectionId.propertyName' for section-specific or 'propertyName' for any section
1024
+ */
1025
+ declare const DEFAULT_PROPERTY_ORDER: Record<string, number>;
1026
+ /**
1027
+ * Factory to create a layout ordering middleware
1028
+ */
1029
+ declare const layoutOrderingMiddlewareFactory: (config: SectionOrderConfig) => AXPEntityModifier;
1030
+ /**
1031
+ * Helper to create a provider for the layout ordering middleware
1032
+ * By default it applies to all entities using the '*' pattern
1033
+ */
1034
+ declare const createLayoutOrderingMiddlewareProvider: (config?: Partial<SectionOrderConfig>, entityName?: string | RegExp) => AXPEntityModifierProvider;
1035
+ /**
1036
+ * Default provider registered with the default configuration
1037
+ */
1038
+ declare const layoutOrderingMiddlewareProvider: AXPEntityModifierProvider;
1039
+
942
1040
  interface AXPGetEntityDetailsQueryInput {
943
1041
  entity: string;
944
1042
  id: string;
@@ -972,15 +1070,82 @@ declare class AXPGetEntityDetailsQuery implements AXPQuery<AXPGetEntityDetailsQu
972
1070
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPGetEntityDetailsQuery>;
973
1071
  }
974
1072
 
1073
+ interface CategoryQueryEvent {
1074
+ skip: number;
1075
+ take: number;
1076
+ filter?: {
1077
+ field?: string;
1078
+ value?: unknown;
1079
+ operator?: {
1080
+ type: string;
1081
+ };
1082
+ filters?: unknown[];
1083
+ logic?: string;
1084
+ };
1085
+ }
1086
+ interface CategoryQueryResult {
1087
+ items: Record<string, unknown>[];
1088
+ total?: number;
1089
+ totalCount?: number;
1090
+ }
1091
+ type CategoryQueryFunction = (event: CategoryQueryEvent) => Promise<CategoryQueryResult>;
1092
+ interface CategoryTreeConfig {
1093
+ entityKey: string;
1094
+ textField?: string;
1095
+ valueField?: string;
1096
+ parentKey?: string;
1097
+ }
1098
+ interface CategoryTreeNodeData {
1099
+ categoryEntityDef: AXPEntity | null;
1100
+ categoryEntityQueryFunc: CategoryQueryFunction | null;
1101
+ basicQueryEvent: CategoryQueryEvent;
1102
+ }
1103
+ declare class AXPCategoryTreeService {
1104
+ protected readonly entityResolver: AXPEntityResolver;
1105
+ protected readonly translate: AXTranslationService;
1106
+ /**
1107
+ * Initialize category tree data source
1108
+ */
1109
+ initializeCategoryTree(config: CategoryTreeConfig): Promise<CategoryTreeNodeData | null>;
1110
+ /**
1111
+ * Create root node with children from items
1112
+ */
1113
+ createRootNode(items: Record<string, unknown>[], config: CategoryTreeConfig): Promise<AXTreeViewNode>;
1114
+ /**
1115
+ * Convert entity item to AXTreeViewNode format
1116
+ */
1117
+ convertToTreeNode(item: Record<string, unknown>, config: CategoryTreeConfig): AXTreeViewNode;
1118
+ /**
1119
+ * Load root categories
1120
+ */
1121
+ loadRootCategories(treeData: CategoryTreeNodeData, config: CategoryTreeConfig): Promise<Record<string, unknown>[] | null>;
1122
+ /**
1123
+ * Load children for a given node
1124
+ */
1125
+ loadChildren(node: AXTreeViewNode, treeData: CategoryTreeNodeData, config: CategoryTreeConfig): Promise<AXTreeViewNode[]>;
1126
+ /**
1127
+ * Search categories recursively (all levels)
1128
+ */
1129
+ searchCategories(searchValue: string, treeData: CategoryTreeNodeData, config: CategoryTreeConfig): Promise<Record<string, unknown>[] | null>;
1130
+ /**
1131
+ * Update children at a specific node in the tree
1132
+ */
1133
+ updateChildrenAtPath(nodes: AXTreeViewNode[], targetId: string, childNodes: AXTreeViewNode[]): AXTreeViewNode[];
1134
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPCategoryTreeService, never>;
1135
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPCategoryTreeService>;
1136
+ }
1137
+
975
1138
  interface IEntitySelectorStage {
976
1139
  /** Select target entity using "module.entity" format */
977
1140
  entity(fullName: string): IInterfaceSelectorStage;
978
1141
  }
979
1142
  interface IInterfaceSelectorStage {
980
1143
  /** Use master.create interface */
981
- create(): IPropertyFilterStage;
982
- /** Use master.update interface */
983
- update(id: string): IPropertyFilterStage;
1144
+ create(initialData?: any): IPropertyFilterStage;
1145
+ /** Use master.update interface. Accepts id (string) or full record data (object). */
1146
+ update(data: string | Record<string, any>): IPropertyFilterStage;
1147
+ /** Use master.single interface (read-only view). Accepts id (string) or full record data (object). */
1148
+ single(data: string | Record<string, any>): IPropertyFilterStage;
984
1149
  }
985
1150
  interface IPropertyFilterStage {
986
1151
  /** Only include provided property names (by AXPEntityProperty.name). Mutually exclusive with exclude(). */
@@ -1001,13 +1166,13 @@ interface IPropertyFilterStage {
1001
1166
  show(): Promise<AXPDialogRef>;
1002
1167
  mode(mode: 'edit' | 'view'): IPropertyFilterStage;
1003
1168
  }
1004
- declare class AXPEntityDynamicDialogService implements IEntitySelectorStage {
1169
+ declare class AXPEntityFormBuilderService implements IEntitySelectorStage {
1005
1170
  private readonly entityRegistry;
1006
1171
  private readonly layoutBuilder;
1007
- private readonly layoutTheme;
1172
+ private readonly deviceService;
1008
1173
  entity(fullName: string): IInterfaceSelectorStage;
1009
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityDynamicDialogService, never>;
1010
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPEntityDynamicDialogService>;
1174
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityFormBuilderService, never>;
1175
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPEntityFormBuilderService>;
1011
1176
  }
1012
1177
  type CompatFormFieldBuilder = {
1013
1178
  path(path: string): any;
@@ -1058,6 +1223,7 @@ declare function entityDetailsCreateActions(parentId: string): AXPEntityAction;
1058
1223
  declare function entityDetailsSimpleCondition(fk: string): AXPQueryFilter;
1059
1224
  declare function entityDetailsReferenceCondition(type: string): AXPQueryFilter[];
1060
1225
  declare function entityDetailsEditAction(): AXPEntityAction;
1226
+ declare function entityDetailsNewEditAction(): AXPEntityAction;
1061
1227
  declare function entityOverrideDetailsViewAction(): AXPEntityAction;
1062
1228
  declare function entityDetailsCrudActions(parentId: string): AXPEntityAction[];
1063
1229
  declare function entityDetailsReferenceCreateActions(type: string): AXPEntityAction[];
@@ -1077,6 +1243,449 @@ type AXPEntityChangeSet = {
1077
1243
  */
1078
1244
  declare function detectEntityChanges(oldObj: any, newObj: any): AXPEntityChangeSet;
1079
1245
 
1246
+ declare class AXPEntityCategoryTreeSelectorComponent extends AXBasePageComponent implements OnInit {
1247
+ protected readonly categoryTreeService: AXPCategoryTreeService;
1248
+ private readonly translationService;
1249
+ protected readonly highlightService: AXHighlightService;
1250
+ entityKey: _angular_core.WritableSignal<string>;
1251
+ textField: _angular_core.WritableSignal<string>;
1252
+ valueField: _angular_core.WritableSignal<string>;
1253
+ allowMultiple: _angular_core.WritableSignal<boolean>;
1254
+ selectedValues: _angular_core.WritableSignal<string[]>;
1255
+ searchPlaceholder: _angular_core.WritableSignal<string>;
1256
+ excludedNodeId: _angular_core.WritableSignal<string | undefined>;
1257
+ searchWithChildren: _angular_core.WritableSignal<boolean>;
1258
+ protected tree: _angular_core.Signal<AXTreeViewComponent | undefined>;
1259
+ protected loading: _angular_core.WritableSignal<boolean>;
1260
+ protected selectedNodeIds: _angular_core.WritableSignal<string[]>;
1261
+ protected searchValue: _angular_core.WritableSignal<string>;
1262
+ protected searchResultCount: _angular_core.WritableSignal<number>;
1263
+ protected isSearching: _angular_core.WritableSignal<boolean>;
1264
+ protected resultsFoundText: _angular_core.WritableSignal<string>;
1265
+ protected noRecordsTitle: _angular_core.WritableSignal<string>;
1266
+ private currentSearchTerm;
1267
+ private isRefreshing;
1268
+ private isUpdatingSelection;
1269
+ /**
1270
+ * Computed property to check if we should show the "no search results" empty state.
1271
+ * Returns true when search is active, not searching, and no results found.
1272
+ */
1273
+ protected readonly showNoSearchResults: _angular_core.Signal<boolean>;
1274
+ protected treeData: CategoryTreeNodeData | null;
1275
+ private treeConfig;
1276
+ private nodeDataCache;
1277
+ private matchingNodeIds;
1278
+ private relevantNodeIds;
1279
+ private expandedNodesBeforeSearch;
1280
+ private nodesExpandedDuringSearch;
1281
+ private isInitializing;
1282
+ ngOnInit(): void;
1283
+ private initializeTree;
1284
+ /**
1285
+ * Handles search input value changes - Uses server-side search for efficiency and reliability
1286
+ */
1287
+ handleSearchChange(event: AXValueChangedEvent<string>): Promise<void>;
1288
+ /**
1289
+ * Collects all parent IDs for the given search results
1290
+ * Handles both nested 'parent' object and 'parentId' field in search results
1291
+ * Recursively fetches parent nodes to build the full parent chain
1292
+ */
1293
+ private collectParentIds;
1294
+ /**
1295
+ * Collects children IDs for matching search results recursively
1296
+ * Adds all descendants (children, grandchildren, etc.) to relevantNodeIds so they appear in the filtered tree
1297
+ */
1298
+ private collectChildrenIds;
1299
+ /**
1300
+ * Recursively collects all descendant IDs for a given node
1301
+ */
1302
+ private collectChildrenRecursively;
1303
+ /**
1304
+ * Fetches a single item by ID from the server
1305
+ */
1306
+ private fetchItemById;
1307
+ /**
1308
+ * Sorts parent IDs by their depth (root first, leaves last)
1309
+ * Optimized to use cached data and batch fetch missing items
1310
+ */
1311
+ private sortParentsByDepth;
1312
+ /**
1313
+ * Updates translated messages for search results
1314
+ */
1315
+ private updateTranslatedMessages;
1316
+ /**
1317
+ * Resets search state and restores tree to original expanded state
1318
+ */
1319
+ private resetSearch;
1320
+ protected onNodeToggle(event: AXTreeViewNodeToggleEvent): Promise<void>;
1321
+ protected onNodeSelect(event: AXTreeViewNodeSelectEvent): Promise<void>;
1322
+ protected onSelectionChange(event: AXTreeViewSelectionChangeEvent): Promise<void>;
1323
+ /** Datasource callback for tree-view component. */
1324
+ protected datasource: (id?: string) => Promise<AXTreeViewNode[]>;
1325
+ protected onConfirm(): Promise<void>;
1326
+ protected onCancel(): Promise<void>;
1327
+ /**
1328
+ * Checks if a node matches the current search term
1329
+ */
1330
+ protected isMatchingNode(nodeId: string): boolean;
1331
+ /**
1332
+ * Checks if a node is currently selected
1333
+ */
1334
+ protected isNodeSelected(nodeId: string | number | undefined): boolean;
1335
+ /**
1336
+ * Handles checkbox change event to toggle node selection
1337
+ * In multiple mode: recursively selects/deselects children
1338
+ * Parent states are handled automatically by tree component's intermediate-nested behavior
1339
+ */
1340
+ protected handleCheckboxChange(nodeId: string | number | undefined, checked: boolean): Promise<void>;
1341
+ /**
1342
+ * Selects a node and recursively selects all its children
1343
+ */
1344
+ private selectNodeAndChildren;
1345
+ /**
1346
+ * Collects all descendant node IDs recursively
1347
+ */
1348
+ private collectAllDescendants;
1349
+ /**
1350
+ * Deselects a node and recursively deselects all its children
1351
+ */
1352
+ private deselectNodeAndChildren;
1353
+ /**
1354
+ * Recursively deselects all children of a parent node
1355
+ */
1356
+ private loadAndDeselectChildrenRecursively;
1357
+ /**
1358
+ * Updates parent states based on children selection (select/intermediate)
1359
+ * Called after a node is selected/deselected to update parent checkbox states
1360
+ */
1361
+ private updateParentStates;
1362
+ /**
1363
+ * Recursively loads and selects all children of a parent node using the datasource
1364
+ * This method directly calls datasource without expanding/collapsing nodes to avoid UI glitches
1365
+ */
1366
+ private loadAndSelectChildrenRecursively;
1367
+ private updateSelectedNodes;
1368
+ /**
1369
+ * Updates all parent states based on their children's selection
1370
+ * Used during initialization to ensure proper parent states (select/intermediate)
1371
+ */
1372
+ private updateAllParentStates;
1373
+ /**
1374
+ * Expands parents of selected nodes so they're visible when popup opens
1375
+ */
1376
+ private expandParentsOfSelectedNodes;
1377
+ /**
1378
+ * Selects parents whose all children are selected
1379
+ * This ensures that when all children of a parent are selected, the parent also appears selected
1380
+ */
1381
+ private selectParentsWithAllChildrenSelected;
1382
+ /**
1383
+ * Syncs selection state with the tree component
1384
+ * Handles cases where nodes might not be in the tree structure yet
1385
+ */
1386
+ private syncSelectionWithTree;
1387
+ /**
1388
+ * Loads node data for IDs that are selected but not yet in the cache.
1389
+ * This is critical for pre-selected values in collapsed branches.
1390
+ */
1391
+ private loadMissingNodeData;
1392
+ /**
1393
+ * Marks nodes as selected in the tree structure based on selectedNodeIds.
1394
+ * This ensures pre-selected nodes appear selected when the tree is rendered.
1395
+ */
1396
+ private markNodesAsSelected;
1397
+ /**
1398
+ * Marks a single node as selected if it's in the selectedNodeIds list.
1399
+ */
1400
+ private markNodeAsSelectedIfNeeded;
1401
+ /**
1402
+ * Marks a node and its children as disabled if the node ID matches the excluded ID.
1403
+ */
1404
+ private markNodeAsDisabled;
1405
+ /**
1406
+ * Processes root node: marks excluded as disabled, marks selected, and syncs selection with tree component
1407
+ */
1408
+ private processRootNode;
1409
+ /**
1410
+ * Processes child nodes: marks excluded as disabled, marks selected, and syncs selection
1411
+ */
1412
+ private processChildNodes;
1413
+ /**
1414
+ * Caches node data from items array
1415
+ */
1416
+ private cacheNodeData;
1417
+ /**
1418
+ * Caches node data from tree nodes
1419
+ */
1420
+ private cacheNodeDataFromNodes;
1421
+ /**
1422
+ * Calculate the full path from root to the selected node.
1423
+ * Returns an array of strings like ["C", "B"] for node B under parent C.
1424
+ * Uses tree-view's getNodePath() API when available, otherwise falls back to manual calculation.
1425
+ */
1426
+ private calculateNodePath;
1427
+ /**
1428
+ * Manual path calculation fallback
1429
+ */
1430
+ private calculateNodePathManually;
1431
+ /**
1432
+ * Get the display title for a node.
1433
+ */
1434
+ private getNodeTitle;
1435
+ /**
1436
+ * Checks if a node is a leaf node (has no children)
1437
+ */
1438
+ private isLeafNode;
1439
+ /**
1440
+ * Checks if a node has children by querying the data source
1441
+ */
1442
+ private checkIfNodeHasChildren;
1443
+ private getSelectedItems;
1444
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityCategoryTreeSelectorComponent, never>;
1445
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPEntityCategoryTreeSelectorComponent, "axp-entity-category-tree-selector", never, {}, {}, never, never, true, never>;
1446
+ }
1447
+
1448
+ declare class AXPEntityCategoryWidgetColumnComponent extends AXPColumnWidgetComponent<any> {
1449
+ protected readonly entityDetailPopoverService: AXPEntityDetailPopoverService;
1450
+ protected readonly formatService: AXFormatService;
1451
+ protected readonly entityResolver: AXPEntityResolver;
1452
+ private readonly rawValueSignal;
1453
+ set rawValueInput(value: any);
1454
+ protected entity: _angular_core.Signal<string>;
1455
+ protected valueField: _angular_core.Signal<string>;
1456
+ protected textField: _angular_core.Signal<string>;
1457
+ protected columnName: _angular_core.Signal<string>;
1458
+ protected defaultTextField: _angular_core.Signal<string>;
1459
+ protected displayField: _angular_core.Signal<string>;
1460
+ protected host: ElementRef<any>;
1461
+ private entityDef;
1462
+ protected displayItems: _angular_core.WritableSignal<any[]>;
1463
+ protected selectedItemIndex: _angular_core.WritableSignal<number>;
1464
+ private efEntity;
1465
+ private efDisplay;
1466
+ protected visibleItems: _angular_core.Signal<any[]>;
1467
+ protected showItemDetail(item: any, index: number): Promise<void>;
1468
+ protected handleItemClick(index: number): void;
1469
+ protected getItemPath(item: any): string[];
1470
+ protected hasParent(item: any): boolean;
1471
+ protected getItemText(item: any): string;
1472
+ protected getItemId(item: any): string;
1473
+ private extractItemWithPath;
1474
+ /**
1475
+ * Calculate the full path from root to the item.
1476
+ * Returns an array of strings like ["C", "B"] for item B under parent C.
1477
+ */
1478
+ private calculateItemPath;
1479
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityCategoryWidgetColumnComponent, never>;
1480
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPEntityCategoryWidgetColumnComponent, "axp-entity-category-widget-column", never, { "rawValue": { "alias": "rawValue"; "required": false; }; "rowData": { "alias": "rowData"; "required": false; }; "rawValueInput": { "alias": "rawValue"; "required": false; }; }, {}, never, never, true, never>;
1481
+ }
1482
+
1483
+ interface AXPEntityCategoryWidgetOptions {
1484
+ disabled?: boolean | AXPExpression;
1485
+ readonly?: boolean | AXPExpression;
1486
+ placeholder?: string;
1487
+ entity?: string;
1488
+ multiple?: boolean;
1489
+ textField?: string;
1490
+ valueField?: string;
1491
+ parentKey?: string;
1492
+ expose?: Array<{
1493
+ source: string;
1494
+ target: string;
1495
+ }>;
1496
+ allowClear?: boolean;
1497
+ look?: 'select' | 'lookup';
1498
+ maxVisible?: number;
1499
+ characterLimit?: number | 'auto';
1500
+ sectionLimit?: number | 'auto';
1501
+ }
1502
+
1503
+ declare class AXPEntityCategoryWidgetEditComponent extends AXPValueWidgetComponent<any, AXPEntityCategoryWidgetOptions> {
1504
+ #private;
1505
+ protected readonly entityResolver: AXPEntityResolver;
1506
+ protected readonly popupService: AXPopupService;
1507
+ private readonly translateService;
1508
+ protected readonly cdr: ChangeDetectorRef;
1509
+ protected entity: _angular_core.Signal<string>;
1510
+ protected multiple: _angular_core.Signal<boolean>;
1511
+ protected disabled: _angular_core.Signal<boolean>;
1512
+ protected textField: _angular_core.Signal<string>;
1513
+ protected valueField: _angular_core.Signal<string>;
1514
+ protected expose: _angular_core.Signal<{
1515
+ source: string;
1516
+ target: string;
1517
+ }[] | undefined>;
1518
+ protected allowClear: _angular_core.Signal<boolean>;
1519
+ protected characterLimit: _angular_core.Signal<number | "auto">;
1520
+ protected sectionLimit: _angular_core.Signal<number | "auto">;
1521
+ protected defaultTextField: _angular_core.Signal<string>;
1522
+ protected displayField: _angular_core.Signal<string>;
1523
+ protected searchPlaceholderText: _angular_core.WritableSignal<string>;
1524
+ protected selectedItems: _angular_core.WritableSignal<any[]>;
1525
+ protected isLoading: _angular_core.WritableSignal<boolean>;
1526
+ protected isOpen: _angular_core.WritableSignal<boolean>;
1527
+ protected tagBox: _angular_core.Signal<AXTagBoxComponent | undefined>;
1528
+ protected searchTerm: _angular_core.WritableSignal<string | null>;
1529
+ private entityDef;
1530
+ protected handleAddClick(e: AXClickEvent): void;
1531
+ protected handleValueChange(e: AXValueChangedEvent): void;
1532
+ protected handleOnBlur(e: AXFocusEvent): void;
1533
+ protected handleKeyUp(e: AXHtmlEvent): Promise<void>;
1534
+ protected handleClearClick(): void;
1535
+ protected handleRemoveItem(event: Event, index: number): Promise<void>;
1536
+ clearInput(): void;
1537
+ private showTreeSelector;
1538
+ clear(): void;
1539
+ private findByValue;
1540
+ private setItems;
1541
+ private singleOrMultiple;
1542
+ protected getItemLabel(item: any): string;
1543
+ /**
1544
+ * Get item path as array for breadcrumb component
1545
+ */
1546
+ protected getItemPath(item: any): string[];
1547
+ /**
1548
+ * Join path array with separator.
1549
+ * Override this method to customize the separator (e.g., " > ", " -> ", " / ")
1550
+ */
1551
+ protected joinPath(path: string[]): string;
1552
+ protected getItemId(item: any): string;
1553
+ /**
1554
+ * Calculate the full path from root to the item.
1555
+ * Returns an array of strings like ["C", "B"] for item B under parent C.
1556
+ */
1557
+ private calculateItemPath;
1558
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityCategoryWidgetEditComponent, never>;
1559
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPEntityCategoryWidgetEditComponent, "axp-entity-category-widget-edit", never, {}, {}, never, never, true, never>;
1560
+ }
1561
+
1562
+ declare class AXPEntityCategoryWidgetViewComponent extends AXPValueWidgetComponent<any> {
1563
+ protected readonly formatService: AXFormatService;
1564
+ protected readonly entityResolver: AXPEntityResolver;
1565
+ protected entity: _angular_core.Signal<string>;
1566
+ protected multiple: _angular_core.Signal<boolean>;
1567
+ protected valueField: _angular_core.Signal<string>;
1568
+ protected textField: _angular_core.Signal<string>;
1569
+ protected badgeClass: _angular_core.Signal<string>;
1570
+ protected displayField: _angular_core.Signal<string>;
1571
+ protected loading: _angular_core.WritableSignal<boolean>;
1572
+ private entityDef;
1573
+ protected displayItems: _angular_core.WritableSignal<{
1574
+ id: string;
1575
+ text: string;
1576
+ }[]>;
1577
+ private efEntity;
1578
+ private efDisplay;
1579
+ private extractItem;
1580
+ private getDisplayText;
1581
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityCategoryWidgetViewComponent, never>;
1582
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPEntityCategoryWidgetViewComponent, "axp-entity-category-widget-view", never, {}, {}, never, never, true, never>;
1583
+ }
1584
+
1585
+ declare const AXPEntityCategoryWidget: AXPWidgetConfig;
1586
+
1587
+ declare class AXPTruncatedBreadcrumbComponent implements OnDestroy {
1588
+ /**
1589
+ * Array of path sections to display
1590
+ */
1591
+ sections: _angular_core.InputSignal<string[]>;
1592
+ /**
1593
+ * Maximum number of characters per section.
1594
+ * Can be a number or 'auto' to calculate based on available space.
1595
+ */
1596
+ characterLimit: _angular_core.InputSignal<number | "auto">;
1597
+ /**
1598
+ * Maximum number of sections to display before showing ellipsis.
1599
+ * Can be a number or 'auto' to calculate based on available space.
1600
+ */
1601
+ sectionLimit: _angular_core.InputSignal<number | "auto">;
1602
+ /**
1603
+ * Icon class for separator between sections
1604
+ */
1605
+ separatorIcon: _angular_core.InputSignal<string>;
1606
+ /**
1607
+ * Icon class for ellipsis
1608
+ */
1609
+ ellipsisIcon: _angular_core.InputSignal<string>;
1610
+ /**
1611
+ * Icon class for eye icon (collapse button)
1612
+ */
1613
+ eyeIcon: _angular_core.InputSignal<string>;
1614
+ protected container: _angular_core.Signal<ElementRef<HTMLDivElement> | undefined>;
1615
+ protected isExpanded: _angular_core.WritableSignal<boolean>;
1616
+ private containerWidth;
1617
+ private resizeObserver;
1618
+ /**
1619
+ * Effective character limit (calculated if 'auto', otherwise uses input value)
1620
+ */
1621
+ protected effectiveCharacterLimit: _angular_core.Signal<number>;
1622
+ /**
1623
+ * Effective section limit (calculated if 'auto', otherwise uses input value)
1624
+ */
1625
+ protected effectiveSectionLimit: _angular_core.Signal<number>;
1626
+ /**
1627
+ * All sections with truncated text (for collapsed display)
1628
+ */
1629
+ protected allSections: _angular_core.Signal<{
1630
+ text: string;
1631
+ original: string;
1632
+ }[]>;
1633
+ /**
1634
+ * All sections with full text (for expanded display)
1635
+ */
1636
+ protected allSectionsFull: _angular_core.Signal<string[]>;
1637
+ /**
1638
+ * Sections to display (first N sections) when collapsed
1639
+ */
1640
+ protected displayedSections: _angular_core.Signal<{
1641
+ text: string;
1642
+ original: string;
1643
+ }[]>;
1644
+ /**
1645
+ * Last section (always shown if there are hidden sections)
1646
+ */
1647
+ protected lastSection: _angular_core.Signal<{
1648
+ text: string;
1649
+ original: string;
1650
+ }>;
1651
+ /**
1652
+ * Check if there are hidden sections
1653
+ */
1654
+ protected hasHiddenSections: _angular_core.Signal<boolean>;
1655
+ constructor();
1656
+ ngOnDestroy(): void;
1657
+ /**
1658
+ * Handles click on separator icon to expand
1659
+ */
1660
+ protected handleSeparatorClick(event: Event): void;
1661
+ /**
1662
+ * Handles click on ellipsis icon to expand
1663
+ */
1664
+ protected handleEllipsisClick(event: Event): void;
1665
+ /**
1666
+ * Handles click on eye icon to collapse
1667
+ */
1668
+ protected handleCollapseClick(event: Event): void;
1669
+ /**
1670
+ * Initializes ResizeObserver to track container width
1671
+ */
1672
+ private initializeResizeObserver;
1673
+ /**
1674
+ * Calculates automatic character limit based on available space
1675
+ */
1676
+ private calculateAutoCharacterLimit;
1677
+ /**
1678
+ * Calculates automatic section limit based on available space
1679
+ */
1680
+ private calculateAutoSectionLimit;
1681
+ /**
1682
+ * Truncates text to character limit with ellipsis
1683
+ */
1684
+ private truncateText;
1685
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPTruncatedBreadcrumbComponent, never>;
1686
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPTruncatedBreadcrumbComponent, "axp-truncated-breadcrumb", never, { "sections": { "alias": "sections"; "required": false; "isSignal": true; }; "characterLimit": { "alias": "characterLimit"; "required": false; "isSignal": true; }; "sectionLimit": { "alias": "sectionLimit"; "required": false; "isSignal": true; }; "separatorIcon": { "alias": "separatorIcon"; "required": false; "isSignal": true; }; "ellipsisIcon": { "alias": "ellipsisIcon"; "required": false; "isSignal": true; }; "eyeIcon": { "alias": "eyeIcon"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
1687
+ }
1688
+
1080
1689
  declare class AXPEntityListTableService {
1081
1690
  private readonly workflow;
1082
1691
  private readonly expressionEvaluator;
@@ -1149,68 +1758,9 @@ declare class AXPEntityListWidgetViewComponent extends AXPValueWidgetComponent {
1149
1758
  protected workflow: AXPWorkflowService;
1150
1759
  protected entityListTableService: AXPEntityListTableService;
1151
1760
  protected entityListToolbarService: AXPEntityListToolbarService;
1152
- protected layoutThemeService: {
1153
- currentMode: _angular_core.Signal<_acorex_platform_themes_shared.AXPThemeMode>;
1154
- currentPalette: _angular_core.Signal<string>;
1155
- systemThemeMode: _angular_core.Signal<_acorex_platform_themes_shared.AXPThemeMode>;
1156
- font: _ngrx_signals.DeepSignal<{
1157
- family: string;
1158
- size: string;
1159
- }>;
1160
- screenSize: _angular_core.Signal<_acorex_platform_themes_shared.AXPScreenSize>;
1161
- deviceType: _angular_core.Signal<_acorex_platform_themes_shared.AXPDeviceType>;
1162
- isTouchDevice: _angular_core.Signal<boolean>;
1163
- overlayLoading: _angular_core.Signal<boolean>;
1164
- navigationLoading: _angular_core.Signal<boolean>;
1165
- overlayLoadingTaskCount: _angular_core.Signal<number>;
1166
- navigationLoadingTaskCount: _angular_core.Signal<number>;
1167
- sideMenuState: _angular_core.Signal<_acorex_platform_themes_shared.AXPSideMenuState>;
1168
- sideMenuWidth: _angular_core.Signal<number>;
1169
- menuOrientation: _angular_core.Signal<_acorex_platform_themes_shared.AXPMenuOrientation>;
1170
- isPrinting: _angular_core.Signal<boolean>;
1171
- isDarkMode: _angular_core.Signal<boolean>;
1172
- isLightMode: _angular_core.Signal<boolean>;
1173
- isSystemMode: _angular_core.Signal<boolean>;
1174
- isSideMenuOpen: _angular_core.Signal<boolean>;
1175
- isSideMenuOverlay: _angular_core.Signal<boolean>;
1176
- isSmall: _angular_core.Signal<boolean>;
1177
- isMedium: _angular_core.Signal<boolean>;
1178
- isLarge: _angular_core.Signal<boolean>;
1179
- isMobileDevice: _angular_core.Signal<boolean>;
1180
- isTabletDevice: _angular_core.Signal<boolean>;
1181
- isDesktopDevice: _angular_core.Signal<boolean>;
1182
- isTouchScreen: _angular_core.Signal<boolean>;
1183
- isOverlayLoading: _angular_core.Signal<boolean>;
1184
- isNavigationLoading: _angular_core.Signal<boolean>;
1185
- isMenuHorizontal: _angular_core.Signal<boolean>;
1186
- changeThemeMode: (theme: _acorex_platform_themes_shared.AXPThemeMode) => void;
1187
- openSideMenu: () => void;
1188
- closeSideMenu: () => void;
1189
- setSideMenuWidth: (width: number) => void;
1190
- toggleSideMenu: () => void;
1191
- setNavigationLoading: (value: boolean, delay?: number) => void;
1192
- setOverlayLoading: (value: boolean, delay?: number) => void;
1193
- loadSettings: () => Promise<void>;
1194
- } & _ngrx_signals.StateSource<{
1195
- currentMode: _acorex_platform_themes_shared.AXPThemeMode;
1196
- currentPalette: string;
1197
- systemThemeMode: _acorex_platform_themes_shared.AXPThemeMode;
1198
- font: {
1199
- family: string;
1200
- size: string;
1201
- };
1202
- screenSize: _acorex_platform_themes_shared.AXPScreenSize;
1203
- deviceType: _acorex_platform_themes_shared.AXPDeviceType;
1204
- isTouchDevice: boolean;
1205
- overlayLoading: boolean;
1206
- navigationLoading: boolean;
1207
- overlayLoadingTaskCount: number;
1208
- navigationLoadingTaskCount: number;
1209
- sideMenuState: _acorex_platform_themes_shared.AXPSideMenuState;
1210
- sideMenuWidth: number;
1211
- menuOrientation: _acorex_platform_themes_shared.AXPMenuOrientation;
1212
- isPrinting: boolean;
1213
- }>;
1761
+ protected deviceService: AXPDeviceService;
1762
+ protected commandService: AXPCommandService;
1763
+ protected eventService: AXPBroadcastEventService;
1214
1764
  protected isMounted: _angular_core.WritableSignal<boolean>;
1215
1765
  readonly entity: _angular_core.WritableSignal<AXPEntity | null>;
1216
1766
  protected listNode: _angular_core.WritableSignal<AXPWidgetNode | null>;
@@ -1235,6 +1785,7 @@ declare class AXPEntityListWidgetViewComponent extends AXPValueWidgetComponent {
1235
1785
  protected handleActionClick(item: AXPActionMenuItem): void;
1236
1786
  protected handleSecondaryActionClick(item: AXPActionMenuItem): void;
1237
1787
  protected execute(commandName: string, data: any): Promise<void>;
1788
+ protected queries: undefined;
1238
1789
  /**
1239
1790
  * Validates that all required dependencies are available
1240
1791
  */
@@ -1337,6 +1888,7 @@ declare class AXPLookupWidgetViewComponent extends AXPValueWidgetComponent<any>
1337
1888
  protected valueField: _angular_core.Signal<string>;
1338
1889
  protected textField: _angular_core.Signal<string>;
1339
1890
  protected badgeClass: _angular_core.Signal<string>;
1891
+ protected displayFormat: _angular_core.Signal<string | undefined>;
1340
1892
  protected displayField: _angular_core.Signal<string>;
1341
1893
  protected loading: _angular_core.WritableSignal<boolean>;
1342
1894
  private entityDef;
@@ -1344,6 +1896,7 @@ declare class AXPLookupWidgetViewComponent extends AXPValueWidgetComponent<any>
1344
1896
  private efEntity;
1345
1897
  private efDisplay;
1346
1898
  private extractItem;
1899
+ private getDisplayText;
1347
1900
  private get __class();
1348
1901
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPLookupWidgetViewComponent, never>;
1349
1902
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPLookupWidgetViewComponent, "axp-lookup-widget-view", never, {}, {}, never, never, true, never>;
@@ -1362,6 +1915,7 @@ interface AXPEntityDataSelectorOptions {
1362
1915
  }[];
1363
1916
  allowCreate?: boolean;
1364
1917
  searchFields?: string[];
1918
+ initialSearchTerm?: string;
1365
1919
  }
1366
1920
  interface AXPEntityDataSelectorResult {
1367
1921
  items: any[];
@@ -1420,6 +1974,7 @@ interface AXPLookupWidgetOptions {
1420
1974
  expose?: string | string[];
1421
1975
  look?: AXPLookupWidgetLookType;
1422
1976
  allowClear?: boolean;
1977
+ displayFormat?: string;
1423
1978
  }
1424
1979
 
1425
1980
  declare class AXPLookupWidgetEditComponent extends AXPValueWidgetComponent<any> {
@@ -1438,6 +1993,7 @@ declare class AXPLookupWidgetEditComponent extends AXPValueWidgetComponent<any>
1438
1993
  protected disabled: _angular_core.Signal<string>;
1439
1994
  protected columns: _angular_core.Signal<string[]>;
1440
1995
  protected textField: _angular_core.Signal<string>;
1996
+ protected hasClearButton: _angular_core.Signal<boolean>;
1441
1997
  protected customFilter: _angular_core.Signal<AXDataSourceFilterOption>;
1442
1998
  protected multiple: _angular_core.Signal<boolean>;
1443
1999
  protected look: _angular_core.Signal<AXPLookupWidgetLookType>;
@@ -1446,21 +2002,24 @@ declare class AXPLookupWidgetEditComponent extends AXPValueWidgetComponent<any>
1446
2002
  protected displayField: _angular_core.Signal<string>;
1447
2003
  protected selectedItemsText: _angular_core.Signal<string>;
1448
2004
  protected valueField: _angular_core.Signal<string>;
2005
+ protected displayFormat: _angular_core.Signal<string | undefined>;
1449
2006
  protected conditions?: AXPQueryFilter[];
1450
2007
  protected filter: AXDataSourceFilterOption | null;
1451
2008
  private entityDef;
1452
2009
  protected dataSource: _angular_core.Signal<AXDataSource<unknown> | null>;
1453
2010
  protected searchTerm: _angular_core.WritableSignal<string | null>;
2011
+ protected searchPlaceholderText: _angular_core.WritableSignal<string>;
1454
2012
  protected selectedItems: _angular_core.WritableSignal<any[]>;
1455
2013
  textbox: _angular_core.Signal<AXTagBoxComponent | undefined>;
1456
2014
  protected isLoading: _angular_core.WritableSignal<boolean>;
1457
2015
  protected isOpen: _angular_core.WritableSignal<boolean>;
1458
- protected placeholder: _angular_core.Signal<string>;
2016
+ private placeholderUpdateToken;
1459
2017
  private findByValue;
1460
2018
  protected handleOnClick(e: AXClickEvent): void;
1461
2019
  private showSelector;
1462
2020
  protected selectBoxValueChange(e: AXValueChangedEvent): void;
1463
2021
  protected handleValueChange(e: AXValueChangedEvent): void;
2022
+ protected handleSearchInputChange(e: AXValueChangedEvent): void;
1464
2023
  protected handleOnBlur(e: AXFocusEvent): void;
1465
2024
  protected handleKeyUp(e: AXHtmlEvent): Promise<void>;
1466
2025
  private setItems;
@@ -1468,6 +2027,8 @@ declare class AXPLookupWidgetEditComponent extends AXPValueWidgetComponent<any>
1468
2027
  refresh(): void;
1469
2028
  clear(): void;
1470
2029
  clearInput(): void;
2030
+ protected getTagLabel(item: any): string;
2031
+ private updateSearchPlaceholder;
1471
2032
  private searchByValue;
1472
2033
  private mergeFilter;
1473
2034
  private singleOrMultiple;
@@ -1481,6 +2042,7 @@ declare class AXPLookupWidgetEditComponent extends AXPValueWidgetComponent<any>
1481
2042
 
1482
2043
  declare class AXPLookupWidgetColumnComponent extends AXPColumnWidgetComponent<any> {
1483
2044
  private readonly entityDetailPopoverService;
2045
+ private readonly formatService;
1484
2046
  protected moreButton: _angular_core.Signal<ElementRef<any> | undefined>;
1485
2047
  protected morePopover: _angular_core.Signal<AXPopoverComponent | undefined>;
1486
2048
  protected host: ElementRef<any>;
@@ -1489,6 +2051,7 @@ declare class AXPLookupWidgetColumnComponent extends AXPColumnWidgetComponent<an
1489
2051
  protected entity: string;
1490
2052
  protected columnName: string;
1491
2053
  protected maxVisible: number;
2054
+ protected displayFormat: _angular_core.Signal<string | undefined>;
1492
2055
  protected isMorePopoverOpen: _angular_core.WritableSignal<boolean>;
1493
2056
  protected selectedItemIndex: _angular_core.WritableSignal<number>;
1494
2057
  protected displayItems: _angular_core.Signal<any[]>;
@@ -1503,6 +2066,7 @@ declare class AXPLookupWidgetColumnComponent extends AXPColumnWidgetComponent<an
1503
2066
  private openMorePopover;
1504
2067
  private closeMorePopover;
1505
2068
  private extractItem;
2069
+ protected getDisplayText(item: any): string;
1506
2070
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPLookupWidgetColumnComponent, never>;
1507
2071
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPLookupWidgetColumnComponent, "ng-component", never, { "rawValue": { "alias": "rawValue"; "required": false; }; "rowData": { "alias": "rowData"; "required": false; }; }, {}, never, never, true, never>;
1508
2072
  }
@@ -1671,5 +2235,5 @@ declare class AXPShowListViewAction extends AXPWorkflowAction {
1671
2235
  }
1672
2236
  declare const AXPShowListViewWorkflow: AXPWorkflow;
1673
2237
 
1674
- 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, 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 };
1675
- 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 };
2238
+ export { AXMEntityCrudService, AXMEntityCrudServiceImpl, AXPCategoryTreeService, AXPCreateEntityCommand, AXPCreateEntityWorkflow, AXPDataSeederService, AXPDeleteEntityWorkflow, AXPEntityApplyUpdatesAction, AXPEntityCategoryTreeSelectorComponent, AXPEntityCategoryWidget, AXPEntityCategoryWidgetColumnComponent, AXPEntityCategoryWidgetEditComponent, AXPEntityCategoryWidgetViewComponent, AXPEntityCommandTriggerViewModel, AXPEntityCreateEvent, AXPEntityCreatePopupAction, AXPEntityCreateSubmittedAction, AXPEntityCreateViewElementViewModel, AXPEntityCreateViewModelFactory, AXPEntityCreateViewSectionViewModel, AXPEntityDataProvider, AXPEntityDataProviderImpl, AXPEntityDataSelectorService, AXPEntityDefinitionRegistryService, AXPEntityDeletedEvent, AXPEntityDetailListViewModel, AXPEntityDetailPopoverComponent, AXPEntityDetailPopoverService, AXPEntityDetailViewModelFactory, AXPEntityDetailViewModelResolver, AXPEntityEventDispatcherService, AXPEntityEventsKeys, AXPEntityFormBuilderService, 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, AXPTruncatedBreadcrumbComponent, AXPUpdateEntityCommand, AXPViewEntityDetailsCommand, 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, DEFAULT_PROPERTY_ORDER, DEFAULT_SECTION_ORDER, actionExists, cloneLayoutArrays, columnWidthMiddlewareFactory, columnWidthMiddlewareProvider, createColumnWidthMiddlewareProvider, createLayoutOrderingMiddlewareProvider, createModifierContext, detectEntityChanges, ensureLayoutPropertyView, ensureLayoutSection, ensureListActions, entityDetailsCreateActions, entityDetailsCrudActions, entityDetailsEditAction, entityDetailsNewEditAction, entityDetailsReferenceCondition, entityDetailsReferenceCreateActions, entityDetailsSimpleCondition, entityMasterBulkDeleteAction, entityMasterCreateAction, entityMasterCrudActions, entityMasterDeleteAction, entityMasterRecordActions, entityMasterViewAction, entityOverrideDetailsViewAction, eventDispatchMiddleware, isAXPMiddlewareAbortError, layoutOrderingMiddlewareFactory, layoutOrderingMiddlewareProvider };
2239
+ export type { AXPAuditable, AXPDataSeeder, AXPEntityActionPlugin, AXPEntityCategoryWidgetOptions, AXPEntityChangeSet, AXPEntityConfigs, AXPEntityCreateDto, AXPEntityDataSelectorOptions, AXPEntityDataSelectorResult, AXPEntityDefinitionLoader, AXPEntityDefinitionPreloader, AXPEntityDeleteOptions, AXPEntityDetailDto, AXPEntityDetailPopoverOptions, AXPEntityLayoutLike, AXPEntityLayoutPropertyLike, AXPEntityLayoutSectionLike, AXPEntityListItemDto, AXPEntityMasterListViewSortPropViewModel, AXPEntityModel, AXPEntityModifier, AXPEntityModifierContext, AXPEntityModifierProvider, AXPEntityOp, AXPEntityOutputDto, AXPEntityPreloadEntity, AXPEntityStorageContext, AXPEntityStorageMiddleware, AXPEntityUpdateDto, AXPGetEntityDetailsQueryInput, AXPGetEntityDetailsQueryResult, AXPLookupWidgetLookType, AXPLookupWidgetOptions, AXPOpenEntityDetailsCommandInput, AXPRecordControl, AXPRecordOwnership, CategoryQueryEvent, CategoryQueryFunction, CategoryQueryResult, CategoryTreeConfig, CategoryTreeNodeData, ColumnWidthConfig, SectionOrderConfig };