@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.
- package/common/index.d.ts +9 -2
- package/core/index.d.ts +209 -55
- package/fesm2022/acorex-platform-common.mjs.map +1 -1
- package/fesm2022/acorex-platform-core.mjs +225 -24
- package/fesm2022/acorex-platform-core.mjs.map +1 -1
- package/fesm2022/acorex-platform-domain.mjs +49 -4
- package/fesm2022/acorex-platform-domain.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-builder.mjs +39 -118
- package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-components.mjs +1011 -257
- package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-designer.mjs +2 -2
- package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-entity.mjs +9318 -4439
- package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-views.mjs +30 -24
- package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-widget-core.mjs +4 -8
- package/fesm2022/acorex-platform-layout-widget-core.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-widgets-image-preview.popup-V31OpYah.mjs +30 -0
- package/fesm2022/acorex-platform-layout-widgets-image-preview.popup-V31OpYah.mjs.map +1 -0
- 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
- package/fesm2022/acorex-platform-layout-widgets-tabular-data-edit-popup.component-m8rHZP8L.mjs.map +1 -0
- 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
- package/fesm2022/acorex-platform-layout-widgets-tabular-data-view-popup.component-y8vjUiVs.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-widgets.mjs +2194 -1242
- package/fesm2022/acorex-platform-layout-widgets.mjs.map +1 -1
- package/fesm2022/acorex-platform-runtime.mjs +79 -3
- package/fesm2022/acorex-platform-runtime.mjs.map +1 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-mARj77Mr.mjs +136 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-mARj77Mr.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-Cym8pq0v.mjs +1543 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-Cym8pq0v.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default.mjs +124 -21
- package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
- package/fesm2022/acorex-platform-themes-shared-icon-chooser-column.component-C0EpfU2k.mjs +55 -0
- package/fesm2022/acorex-platform-themes-shared-icon-chooser-column.component-C0EpfU2k.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-shared.mjs +15 -110
- package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
- package/fesm2022/acorex-platform-workflow.mjs +658 -45
- package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
- package/layout/builder/index.d.ts +6 -33
- package/layout/components/index.d.ts +301 -60
- package/layout/designer/index.d.ts +1 -1
- package/layout/entity/index.d.ts +650 -86
- package/layout/views/index.d.ts +5 -58
- package/layout/widget-core/index.d.ts +24 -26
- package/layout/widgets/README.md +0 -1
- package/layout/widgets/index.d.ts +139 -84
- package/package.json +9 -9
- package/runtime/index.d.ts +36 -8
- package/themes/default/index.d.ts +29 -73
- package/themes/shared/index.d.ts +1 -39
- package/workflow/index.d.ts +401 -90
- package/fesm2022/acorex-platform-layout-entity-create-entity.command-DGeylNSY.mjs +0 -52
- package/fesm2022/acorex-platform-layout-entity-create-entity.command-DGeylNSY.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-tabular-data-edit-popup.component-C1l2KSDa.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-tabular-data-view-popup.component-D-31ej0C.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-WbPPqDON.mjs +0 -115
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-WbPPqDON.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-CD7rJIMh.mjs +0 -803
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-CD7rJIMh.mjs.map +0 -1
package/layout/entity/index.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import {
|
|
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,
|
|
8
|
-
import { AXStyleColorType, AXDataSource, AXDataSourceFilterOption,
|
|
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 {
|
|
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,
|
|
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<
|
|
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(
|
|
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
|
|
1169
|
+
declare class AXPEntityFormBuilderService implements IEntitySelectorStage {
|
|
1005
1170
|
private readonly entityRegistry;
|
|
1006
1171
|
private readonly layoutBuilder;
|
|
1007
|
-
private readonly
|
|
1172
|
+
private readonly deviceService;
|
|
1008
1173
|
entity(fullName: string): IInterfaceSelectorStage;
|
|
1009
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<
|
|
1010
|
-
static ɵprov: _angular_core.ɵɵInjectableDeclaration<
|
|
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
|
|
1153
|
-
|
|
1154
|
-
|
|
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
|
-
|
|
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,
|
|
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,
|
|
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 };
|