@acorex/platform 20.3.0-next.0 → 20.3.0-next.10
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 +8 -9
- package/core/index.d.ts +597 -46
- package/fesm2022/acorex-platform-auth.mjs +19 -19
- package/fesm2022/acorex-platform-auth.mjs.map +1 -1
- package/fesm2022/acorex-platform-common.mjs +111 -163
- package/fesm2022/acorex-platform-common.mjs.map +1 -1
- package/fesm2022/acorex-platform-core.mjs +759 -113
- package/fesm2022/acorex-platform-core.mjs.map +1 -1
- package/fesm2022/acorex-platform-domain.mjs +16 -16
- package/fesm2022/acorex-platform-domain.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-builder.mjs +518 -95
- package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-components.mjs +1997 -215
- package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-designer.mjs +86 -79
- package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-entity-create-entity.command-764ie8R8.mjs +52 -0
- package/fesm2022/acorex-platform-layout-entity-create-entity.command-764ie8R8.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-entity.mjs +1650 -916
- package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-views.mjs +37 -29
- package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
- package/fesm2022/acorex-platform-native.mjs +7 -7
- package/fesm2022/acorex-platform-native.mjs.map +1 -1
- package/fesm2022/acorex-platform-runtime.mjs +40 -40
- package/fesm2022/acorex-platform-runtime.mjs.map +1 -1
- package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-I7Eq8Nti.mjs → acorex-platform-themes-default-entity-master-create-view.component-Ct-ri59W.mjs} +5 -5
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-Ct-ri59W.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-default-entity-master-list-view.component-D3VUh8K8.mjs → acorex-platform-themes-default-entity-master-list-view.component-7BB4LdjK.mjs} +30 -31
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-7BB4LdjK.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-BDJR088o.mjs +101 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-BDJR088o.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-default-entity-master-single-view.component-BMkhNfF4.mjs → acorex-platform-themes-default-entity-master-single-view.component-BExtm1JE.mjs} +7 -7
- package/fesm2022/{acorex-platform-themes-default-entity-master-single-view.component-BMkhNfF4.mjs.map → acorex-platform-themes-default-entity-master-single-view.component-BExtm1JE.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-themes-default-error-401.component-D4glpFvU.mjs → acorex-platform-themes-default-error-401.component-DrO1PEOH.mjs} +4 -4
- package/fesm2022/{acorex-platform-themes-default-error-401.component-D4glpFvU.mjs.map → acorex-platform-themes-default-error-401.component-DrO1PEOH.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-themes-default-error-404.component-BvGeDMjo.mjs → acorex-platform-themes-default-error-404.component-DqVq0oHX.mjs} +4 -4
- package/fesm2022/{acorex-platform-themes-default-error-404.component-BvGeDMjo.mjs.map → acorex-platform-themes-default-error-404.component-DqVq0oHX.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-themes-default-error-offline.component-BINy-Zo3.mjs → acorex-platform-themes-default-error-offline.component-Bt2PTL7_.mjs} +4 -4
- package/fesm2022/{acorex-platform-themes-default-error-offline.component-BINy-Zo3.mjs.map → acorex-platform-themes-default-error-offline.component-Bt2PTL7_.mjs.map} +1 -1
- package/fesm2022/acorex-platform-themes-default.mjs +40 -40
- package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
- package/fesm2022/{acorex-platform-themes-shared-icon-chooser-view.component-C833prGO.mjs → acorex-platform-themes-shared-icon-chooser-view.component-BgEh06Tn.mjs} +24 -14
- package/fesm2022/acorex-platform-themes-shared-icon-chooser-view.component-BgEh06Tn.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-shared-settings.provider-CXiRmniv.mjs → acorex-platform-themes-shared-settings.provider-CLUKU4y0.mjs} +2 -2
- package/fesm2022/acorex-platform-themes-shared-settings.provider-CLUKU4y0.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-shared-theme-color-chooser-column.component-DjKLg513.mjs → acorex-platform-themes-shared-theme-color-chooser-column.component-AeOQxjbS.mjs} +23 -8
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-AeOQxjbS.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-shared-theme-color-chooser-view.component-DE0wO98F.mjs → acorex-platform-themes-shared-theme-color-chooser-view.component-DEVzRd6-.mjs} +23 -8
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-DEVzRd6-.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-shared.mjs +241 -74
- package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
- package/fesm2022/{acorex-platform-widgets-button-widget-designer.component-BJtkWusr.mjs → acorex-platform-widgets-button-widget-designer.component-DSaD9Fwc.mjs} +5 -5
- package/fesm2022/acorex-platform-widgets-button-widget-designer.component-DSaD9Fwc.mjs.map +1 -0
- package/fesm2022/{acorex-platform-widgets-extra-properties-schema-widget-edit.component-B3SJUnGQ.mjs → acorex-platform-widgets-extra-properties-schema-widget-edit.component-D9mf08rU.mjs} +4 -4
- package/fesm2022/{acorex-platform-widgets-extra-properties-schema-widget-edit.component-B3SJUnGQ.mjs.map → acorex-platform-widgets-extra-properties-schema-widget-edit.component-D9mf08rU.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-widgets-extra-properties-schema-widget-view.component-BLR0JkRt.mjs → acorex-platform-widgets-extra-properties-schema-widget-view.component-D6GQ-eyr.mjs} +4 -4
- package/fesm2022/{acorex-platform-widgets-extra-properties-schema-widget-view.component-BLR0JkRt.mjs.map → acorex-platform-widgets-extra-properties-schema-widget-view.component-D6GQ-eyr.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-widgets-extra-properties-values-widget-edit.component-hzR2FgOm.mjs → acorex-platform-widgets-extra-properties-values-widget-edit.component-DVbIdVZ6.mjs} +4 -4
- package/fesm2022/{acorex-platform-widgets-extra-properties-values-widget-edit.component-hzR2FgOm.mjs.map → acorex-platform-widgets-extra-properties-values-widget-edit.component-DVbIdVZ6.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-widgets-extra-properties-values-widget-view.component-IDm6Clua.mjs → acorex-platform-widgets-extra-properties-values-widget-view.component-D-aM64Hu.mjs} +4 -4
- package/fesm2022/{acorex-platform-widgets-extra-properties-values-widget-view.component-IDm6Clua.mjs.map → acorex-platform-widgets-extra-properties-values-widget-view.component-D-aM64Hu.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-widgets-extra-properties-widget-edit.component-BRO9tYDa.mjs → acorex-platform-widgets-extra-properties-widget-edit.component-em2-aU8E.mjs} +4 -4
- package/fesm2022/{acorex-platform-widgets-extra-properties-widget-edit.component-BRO9tYDa.mjs.map → acorex-platform-widgets-extra-properties-widget-edit.component-em2-aU8E.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-widgets-extra-properties-widget-view.component-CkpLimyW.mjs → acorex-platform-widgets-extra-properties-widget-view.component-BeuIofdr.mjs} +4 -4
- package/fesm2022/{acorex-platform-widgets-extra-properties-widget-view.component-CkpLimyW.mjs.map → acorex-platform-widgets-extra-properties-widget-view.component-BeuIofdr.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-widgets-file-list-popup.component-BafU5Lfl.mjs → acorex-platform-widgets-file-list-popup.component-Cmtq2bBV.mjs} +5 -5
- package/fesm2022/acorex-platform-widgets-file-list-popup.component-Cmtq2bBV.mjs.map +1 -0
- package/fesm2022/{acorex-platform-widgets-page-widget-designer.component-Cw9WcZze.mjs → acorex-platform-widgets-page-widget-designer.component-B-ZEi2yd.mjs} +6 -6
- package/fesm2022/acorex-platform-widgets-page-widget-designer.component-B-ZEi2yd.mjs.map +1 -0
- package/fesm2022/{acorex-platform-widgets-tabular-data-edit-popup.component-BDQIfr0g.mjs → acorex-platform-widgets-tabular-data-edit-popup.component-CMqq_iOj.mjs} +11 -11
- package/fesm2022/acorex-platform-widgets-tabular-data-edit-popup.component-CMqq_iOj.mjs.map +1 -0
- package/fesm2022/{acorex-platform-widgets-tabular-data-view-popup.component-CmPqtt0G.mjs → acorex-platform-widgets-tabular-data-view-popup.component-CRpjdiNz.mjs} +6 -5
- package/fesm2022/acorex-platform-widgets-tabular-data-view-popup.component-CRpjdiNz.mjs.map +1 -0
- package/fesm2022/{acorex-platform-widgets-text-block-widget-designer.component-DaR4Nkv4.mjs → acorex-platform-widgets-text-block-widget-designer.component-DeSmBqMa.mjs} +5 -6
- package/fesm2022/acorex-platform-widgets-text-block-widget-designer.component-DeSmBqMa.mjs.map +1 -0
- package/fesm2022/acorex-platform-widgets.mjs +9725 -8964
- package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
- package/fesm2022/acorex-platform-workflow.mjs +25 -25
- package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
- package/layout/builder/index.d.ts +69 -21
- package/layout/components/index.d.ts +816 -58
- package/layout/designer/index.d.ts +4 -2
- package/layout/entity/index.d.ts +437 -231
- package/package.json +8 -8
- package/widgets/index.d.ts +1806 -732
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-I7Eq8Nti.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-D3VUh8K8.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-16sdMBvH.mjs +0 -101
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-16sdMBvH.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-icon-chooser-view.component-C833prGO.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-settings.provider-CXiRmniv.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-DjKLg513.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-DE0wO98F.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-button-widget-designer.component-BJtkWusr.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-checkbox-widget-column.component-DeKpl0uK.mjs +0 -84
- package/fesm2022/acorex-platform-widgets-checkbox-widget-column.component-DeKpl0uK.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-checkbox-widget-designer.component-Cv7dEMCm.mjs +0 -55
- package/fesm2022/acorex-platform-widgets-checkbox-widget-designer.component-Cv7dEMCm.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-checkbox-widget-view.component-C6-QPsnb.mjs +0 -76
- package/fesm2022/acorex-platform-widgets-checkbox-widget-view.component-C6-QPsnb.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-color-box-widget-designer.component-CohkI1w1.mjs +0 -55
- package/fesm2022/acorex-platform-widgets-color-box-widget-designer.component-CohkI1w1.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-file-list-popup.component-BafU5Lfl.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-file-rename-popup.component-DA_CgIvm.mjs +0 -211
- package/fesm2022/acorex-platform-widgets-file-rename-popup.component-DA_CgIvm.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-page-widget-designer.component-Cw9WcZze.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-rich-text-popup.component-CM_v-cL4.mjs +0 -40
- package/fesm2022/acorex-platform-widgets-rich-text-popup.component-CM_v-cL4.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-tabular-data-edit-popup.component-BDQIfr0g.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-tabular-data-view-popup.component-CmPqtt0G.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-text-block-widget-designer.component-DaR4Nkv4.mjs.map +0 -1
package/layout/entity/index.d.ts
CHANGED
|
@@ -1,18 +1,121 @@
|
|
|
1
|
+
import { AXPCommand, AXPQuery } from '@acorex/platform/runtime';
|
|
1
2
|
import * as _angular_core from '@angular/core';
|
|
2
|
-
import { InjectionToken, Injector, Type } from '@angular/core';
|
|
3
|
+
import { ElementRef, InjectionToken, Injector, Type } from '@angular/core';
|
|
4
|
+
import { AXPopoverComponent } from '@acorex/components/popover';
|
|
5
|
+
import { AXPMetaData, AXPBreadcrumbItem, AXPFilterQuery, AXPFilterDefinition, AXPExecuteCommand, AXPUserReference, AXPQueryRequest, AXPPagedListResult, AXPCategoryEntity as AXPCategoryEntity$1, AXPAppStartUpService, AXPMiddlewareErrorResponse } from '@acorex/platform/core';
|
|
6
|
+
import * as i3 from '@acorex/platform/layout/builder';
|
|
7
|
+
import { AXPWidgetNode, AXPWidgetColumnNode, AXPLayoutBuilderService } from '@acorex/platform/layout/builder';
|
|
3
8
|
import { AXStyleColorType, AXDataSource, AXDataSourceFilterOption } from '@acorex/cdk/common';
|
|
4
9
|
import * as _acorex_platform_common from '@acorex/platform/common';
|
|
5
10
|
import { AXPEntityCommandScope, AXPEntity, AXPEntityAction, AXPEntityProperty, AXPEntityTableColumn, AXPRelatedEntity, AXPEntitySectionView, AXPGridLayoutOptions, AXPEntityPropertyCreateView, AXPEntityPropertyLayoutConfig, AXPQueryView, AXPEntityPropertyView, AXPCategoryEntity, AXPEntityPropertyGroup, AXPEntityMasterCreateLayoutView, AXPEntityMasterUpdateLayoutView, AXPEntityMasterSingleLayoutView, AXPEntityMasterListView, AXPEntityDetailListView, AXPQueryFilter } from '@acorex/platform/common';
|
|
6
|
-
import { AXPMetaData, AXPBreadcrumbItem, AXPFilterQuery, AXPFilterDefinition, AXPExecuteCommand, AXPQueryRequest, AXPPagedListResult, AXPAppStartUpService } from '@acorex/platform/core';
|
|
7
|
-
import * as i3 from '@acorex/platform/layout/builder';
|
|
8
|
-
import { AXPWidgetColumnNode, AXPWidgetNode, AXPLayoutBuilderService } from '@acorex/platform/layout/builder';
|
|
9
11
|
import * as i1 from '@angular/router';
|
|
10
12
|
import { ResolveFn } from '@angular/router';
|
|
11
13
|
import * as rxjs from 'rxjs';
|
|
12
14
|
import { Subject } from 'rxjs';
|
|
13
15
|
import * as i2 from '@acorex/platform/workflow';
|
|
14
16
|
import { AXPWorkflowAction, AXPWorkflowContext, AXPWorkflow } from '@acorex/platform/workflow';
|
|
15
|
-
import {
|
|
17
|
+
import { AXPopupSizeType } from '@acorex/components/popup';
|
|
18
|
+
import { IActionBuilder, IFieldBuilder, AXPDialogRef } from '@acorex/platform/layout/components';
|
|
19
|
+
|
|
20
|
+
interface AXPOpenEntityDetailsCommandInput {
|
|
21
|
+
entity: string;
|
|
22
|
+
data: {
|
|
23
|
+
id: string;
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
interface AXPOpenEntityDetailsCommandResult {
|
|
27
|
+
success: boolean;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Generic command to open entity details view
|
|
31
|
+
* Can be used by any entity to navigate to its detail page
|
|
32
|
+
*/
|
|
33
|
+
declare class AXPOpenEntityDetailsCommand implements AXPCommand<AXPOpenEntityDetailsCommandInput, AXPOpenEntityDetailsCommandResult> {
|
|
34
|
+
private readonly router;
|
|
35
|
+
private readonly sessionService;
|
|
36
|
+
/**
|
|
37
|
+
* Execute the command to navigate to entity details
|
|
38
|
+
* @param input - Command input containing entity and data information
|
|
39
|
+
*/
|
|
40
|
+
execute(input: AXPOpenEntityDetailsCommandInput): Promise<AXPOpenEntityDetailsCommandResult>;
|
|
41
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPOpenEntityDetailsCommand, never>;
|
|
42
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPOpenEntityDetailsCommand>;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
declare class AXPEntityDetailPopoverComponent {
|
|
46
|
+
private readonly commandService;
|
|
47
|
+
private readonly queryService;
|
|
48
|
+
entity: _angular_core.InputSignal<string>;
|
|
49
|
+
entityId: _angular_core.InputSignal<string | number>;
|
|
50
|
+
textField: _angular_core.InputSignal<string>;
|
|
51
|
+
valueField: _angular_core.InputSignal<string>;
|
|
52
|
+
item: _angular_core.InputSignal<AXPMetaData | undefined>;
|
|
53
|
+
protected detailPopover: _angular_core.Signal<AXPopoverComponent | undefined>;
|
|
54
|
+
protected entityDetails: _angular_core.WritableSignal<any>;
|
|
55
|
+
protected isLoadingDetails: _angular_core.WritableSignal<boolean>;
|
|
56
|
+
protected isDetailPopoverOpen: _angular_core.WritableSignal<boolean>;
|
|
57
|
+
/**
|
|
58
|
+
* Show the entity detail popover
|
|
59
|
+
*/
|
|
60
|
+
show(target: ElementRef | HTMLElement): Promise<void>;
|
|
61
|
+
/**
|
|
62
|
+
* Hide the entity detail popover
|
|
63
|
+
*/
|
|
64
|
+
hide(): void;
|
|
65
|
+
protected onDetailPopoverOpenChange(event: any): void;
|
|
66
|
+
protected navigateToDetails(): Promise<void>;
|
|
67
|
+
/**
|
|
68
|
+
* Returns true if a value is meaningful for display (non-empty/non-null).
|
|
69
|
+
*/
|
|
70
|
+
private hasMeaningfulValue;
|
|
71
|
+
/**
|
|
72
|
+
* Calculates an importance score for a property based on its widget type,
|
|
73
|
+
* whether it currently has a meaningful value, and metadata like title.
|
|
74
|
+
*/
|
|
75
|
+
private getPropertyImportanceScore;
|
|
76
|
+
/**
|
|
77
|
+
* Calculates a name-based importance score to prioritize common key fields
|
|
78
|
+
* like title, description, status, and important dates.
|
|
79
|
+
* Name priority MUST come before widget-type priority.
|
|
80
|
+
*/
|
|
81
|
+
private getNameImportanceScore;
|
|
82
|
+
protected getEntityPropertiesWithWidgets(): Array<{
|
|
83
|
+
name: string;
|
|
84
|
+
title: string;
|
|
85
|
+
node: AXPWidgetNode;
|
|
86
|
+
}>;
|
|
87
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityDetailPopoverComponent, never>;
|
|
88
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPEntityDetailPopoverComponent, "axp-entity-detail-popover", never, { "entity": { "alias": "entity"; "required": true; "isSignal": true; }; "entityId": { "alias": "entityId"; "required": true; "isSignal": true; }; "textField": { "alias": "textField"; "required": false; "isSignal": true; }; "valueField": { "alias": "valueField"; "required": false; "isSignal": true; }; "item": { "alias": "item"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
interface AXPEntityDetailPopoverOptions {
|
|
92
|
+
entity: string;
|
|
93
|
+
id: string | number;
|
|
94
|
+
item: AXPMetaData;
|
|
95
|
+
textField?: string;
|
|
96
|
+
valueField?: string;
|
|
97
|
+
}
|
|
98
|
+
declare class AXPEntityDetailPopoverService {
|
|
99
|
+
private readonly applicationRef;
|
|
100
|
+
private readonly environmentInjector;
|
|
101
|
+
private activePopoverRef;
|
|
102
|
+
/**
|
|
103
|
+
* Show entity detail popover
|
|
104
|
+
* @param target - The target element to position the popover
|
|
105
|
+
* @param options - Configuration options for the popover
|
|
106
|
+
*/
|
|
107
|
+
show(target: ElementRef | HTMLElement, options: AXPEntityDetailPopoverOptions): Promise<void>;
|
|
108
|
+
/**
|
|
109
|
+
* Hide the active popover
|
|
110
|
+
*/
|
|
111
|
+
hide(): void;
|
|
112
|
+
/**
|
|
113
|
+
* Check if a popover is currently active
|
|
114
|
+
*/
|
|
115
|
+
get isActive(): boolean;
|
|
116
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityDetailPopoverService, never>;
|
|
117
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPEntityDetailPopoverService>;
|
|
118
|
+
}
|
|
16
119
|
|
|
17
120
|
interface AXPDataSeeder {
|
|
18
121
|
seed(): Promise<void>;
|
|
@@ -101,6 +204,24 @@ declare class AXPEntityDetailListViewModel {
|
|
|
101
204
|
getSecondaryActions(): Promise<AXPEntityCommandTriggerViewModel[]>;
|
|
102
205
|
}
|
|
103
206
|
|
|
207
|
+
/**
|
|
208
|
+
* Entity Event Dispatcher - A wrapper for entity-specific events
|
|
209
|
+
* Handles pattern-based dispatching for entity operations with wildcard support
|
|
210
|
+
*/
|
|
211
|
+
declare class AXPEntityEventDispatcherService {
|
|
212
|
+
private readonly eventService;
|
|
213
|
+
dispatchEntityEvent(operation: 'inserted' | 'updated' | 'deleted', entityName: string, data: any): Promise<void>;
|
|
214
|
+
private getAllMatchingEventKeys;
|
|
215
|
+
private findMatchingWildcardKeys;
|
|
216
|
+
private matchesEntityPattern;
|
|
217
|
+
private generateEventKeys;
|
|
218
|
+
dispatchInserted(entityName: string, data: any): Promise<void>;
|
|
219
|
+
dispatchUpdated(entityName: string, data: any): Promise<void>;
|
|
220
|
+
dispatchDeleted(entityName: string, data: any): Promise<void>;
|
|
221
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityEventDispatcherService, never>;
|
|
222
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPEntityEventDispatcherService>;
|
|
223
|
+
}
|
|
224
|
+
|
|
104
225
|
declare class AXPEntityCreateViewSectionViewModel {
|
|
105
226
|
private entity;
|
|
106
227
|
private section;
|
|
@@ -230,6 +351,7 @@ declare class AXPEntityMasterListViewModel {
|
|
|
230
351
|
resetColumns(): void;
|
|
231
352
|
onColumnsChanged(columns: AXPEntityListViewColumnViewModel[]): Promise<void>;
|
|
232
353
|
applyViewColumns(): void;
|
|
354
|
+
onColumnsOrderChanged(event: any): void;
|
|
233
355
|
sortableFields: () => {
|
|
234
356
|
name: string;
|
|
235
357
|
title: string;
|
|
@@ -330,6 +452,17 @@ declare class AXPEntityDetailViewModelFactory {
|
|
|
330
452
|
}
|
|
331
453
|
declare const AXPEntityDetailViewModelResolver: ResolveFn<Promise<AXPEntityMasterSingleViewModel>>;
|
|
332
454
|
|
|
455
|
+
declare class AXPEntityUpdateViewSectionViewModel {
|
|
456
|
+
private entity;
|
|
457
|
+
private section;
|
|
458
|
+
constructor(entity: AXPEntity, section: AXPEntitySectionView);
|
|
459
|
+
group: _acorex_platform_common.AXPEntityPropertyGroup;
|
|
460
|
+
name: _angular_core.WritableSignal<string>;
|
|
461
|
+
title: _angular_core.Signal<string>;
|
|
462
|
+
description: _angular_core.Signal<string | null | undefined>;
|
|
463
|
+
layout: _angular_core.Signal<AXPGridLayoutOptions>;
|
|
464
|
+
elements: _angular_core.Signal<AXPEntityMasterUpdateElementViewModel[]>;
|
|
465
|
+
}
|
|
333
466
|
declare class AXPEntityMasterUpdateElementViewModel {
|
|
334
467
|
private entity;
|
|
335
468
|
private property;
|
|
@@ -358,6 +491,7 @@ declare class AXPEntityMasterUpdateViewModel {
|
|
|
358
491
|
isInProgress: _angular_core.WritableSignal<boolean>;
|
|
359
492
|
context: _angular_core.WritableSignal<any>;
|
|
360
493
|
elements: _angular_core.Signal<AXPEntityMasterUpdateElementViewModel[]>;
|
|
494
|
+
sections: _angular_core.Signal<AXPEntityUpdateViewSectionViewModel[]>;
|
|
361
495
|
save(): Promise<any>;
|
|
362
496
|
reset(): void;
|
|
363
497
|
}
|
|
@@ -384,10 +518,6 @@ interface AXPEntityModifierContext {
|
|
|
384
518
|
get(): string;
|
|
385
519
|
set(newName: string): AXPEntityModifierContext;
|
|
386
520
|
};
|
|
387
|
-
source: {
|
|
388
|
-
get(): string;
|
|
389
|
-
set(newSource: string): AXPEntityModifierContext;
|
|
390
|
-
};
|
|
391
521
|
parentKey: {
|
|
392
522
|
get(): string | undefined;
|
|
393
523
|
set(newKey: string | undefined): AXPEntityModifierContext;
|
|
@@ -509,14 +639,101 @@ declare function createModifierContext(entity: AXPEntity): AXPEntityModifierCont
|
|
|
509
639
|
|
|
510
640
|
declare const AXP_ENTITY_MODIFIER: InjectionToken<AXPEntityModifierProvider[]>;
|
|
511
641
|
|
|
642
|
+
interface AXPEntityPreloadEntity {
|
|
643
|
+
module: string;
|
|
644
|
+
entity: string;
|
|
645
|
+
}
|
|
646
|
+
interface AXPEntityDefinitionPreloader {
|
|
647
|
+
preload(): AXPEntityPreloadEntity[];
|
|
648
|
+
}
|
|
649
|
+
declare class AXPEntityDefinitionRegistryService {
|
|
650
|
+
private providers;
|
|
651
|
+
private resolver;
|
|
652
|
+
private middleware;
|
|
653
|
+
private onChanged;
|
|
654
|
+
get onChanged$(): rxjs.Observable<{
|
|
655
|
+
name: string;
|
|
656
|
+
}>;
|
|
657
|
+
preload(): Promise<void>;
|
|
658
|
+
private entities;
|
|
659
|
+
private entityResolver;
|
|
660
|
+
/**
|
|
661
|
+
* Force re-load and re-process entity definitions, then re-register them.
|
|
662
|
+
* Overloads:
|
|
663
|
+
* - refresh(): refresh all registered entities
|
|
664
|
+
* - refresh(fullName: string): refresh by fully-qualified name `<module>.<entity>`
|
|
665
|
+
* - refresh(moduleName: string, entityName: string): refresh by parts
|
|
666
|
+
*/
|
|
667
|
+
refresh(): Promise<void>;
|
|
668
|
+
refresh(fullName: string): Promise<void>;
|
|
669
|
+
refresh(moduleName: string, entityName: string): Promise<void>;
|
|
670
|
+
/** Executes the actual refresh for a single entity */
|
|
671
|
+
private refreshOne;
|
|
672
|
+
/**
|
|
673
|
+
* Registers a new entity configuration. Entities are identified uniquely by a combination
|
|
674
|
+
* of their module and name.
|
|
675
|
+
*
|
|
676
|
+
* @param config The configuration object of the entity to be registered.
|
|
677
|
+
*/
|
|
678
|
+
register(config: AXPEntity): void;
|
|
679
|
+
/**
|
|
680
|
+
* Returns an array of all registered entity configurations.
|
|
681
|
+
*
|
|
682
|
+
* @returns An array of AXPEntity objects.
|
|
683
|
+
*/
|
|
684
|
+
getAll(): AXPEntity[];
|
|
685
|
+
/**
|
|
686
|
+
* Resolves an entity configuration based on module and entity name. If the configuration
|
|
687
|
+
* is not already registered, attempts to load it dynamically. Throws an error if the
|
|
688
|
+
* entity cannot be found or loaded.
|
|
689
|
+
*
|
|
690
|
+
* @param moduleName The module name of the entity.
|
|
691
|
+
* @param entityName The name of the entity.
|
|
692
|
+
* @returns A promise resolving to the entity configuration.
|
|
693
|
+
* @throws Error if the entity configuration cannot be resolved.
|
|
694
|
+
*/
|
|
695
|
+
resolve(moduleName: string, entityName: string): Promise<AXPEntity>;
|
|
696
|
+
/**
|
|
697
|
+
* Creates a unique key for an entity based on its module and name.
|
|
698
|
+
*
|
|
699
|
+
* @param moduleName The module name of the entity.
|
|
700
|
+
* @param entityName The name of the entity.
|
|
701
|
+
* @returns The unique key for the entity.
|
|
702
|
+
*/
|
|
703
|
+
private createEntityKey;
|
|
704
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityDefinitionRegistryService, never>;
|
|
705
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPEntityDefinitionRegistryService>;
|
|
706
|
+
}
|
|
707
|
+
|
|
512
708
|
interface AXPAuditable {
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
709
|
+
created?: {
|
|
710
|
+
at?: Date;
|
|
711
|
+
by?: AXPUserReference;
|
|
712
|
+
};
|
|
713
|
+
updated?: {
|
|
714
|
+
at?: Date;
|
|
715
|
+
by?: AXPUserReference;
|
|
716
|
+
};
|
|
717
|
+
deleted?: {
|
|
718
|
+
at?: Date;
|
|
719
|
+
by?: AXPUserReference;
|
|
720
|
+
};
|
|
517
721
|
}
|
|
518
|
-
interface
|
|
722
|
+
interface AXPRecordControl {
|
|
723
|
+
isReadOnly?: boolean;
|
|
724
|
+
isHidden?: boolean;
|
|
725
|
+
isSystem?: boolean;
|
|
726
|
+
isImmutable?: boolean;
|
|
727
|
+
}
|
|
728
|
+
interface AXPRecordOwnership {
|
|
729
|
+
tenantId?: string;
|
|
730
|
+
ownerId?: string;
|
|
731
|
+
}
|
|
732
|
+
interface AXPEntityModel<Id> {
|
|
519
733
|
id: Id;
|
|
734
|
+
auditInfo?: AXPAuditable;
|
|
735
|
+
stateInfo?: AXPRecordControl;
|
|
736
|
+
ownershipInfo?: AXPRecordOwnership;
|
|
520
737
|
}
|
|
521
738
|
interface AXPEntityCreateDto {
|
|
522
739
|
}
|
|
@@ -531,31 +748,6 @@ interface AXPEntityDetailDto<Id> extends AXPEntityOutputDto<Id> {
|
|
|
531
748
|
interface AXPEntityListItemDto<Id> extends AXPEntityOutputDto<Id> {
|
|
532
749
|
}
|
|
533
750
|
|
|
534
|
-
type AXPEntityOp = 'initial' | 'create' | 'update' | 'delete' | 'getOne' | 'getAll' | 'query';
|
|
535
|
-
interface AXPEntityStorageContext<TKey = any, TDetailDto extends AXPEntityDetailDto<TKey> = any, TListItemDto extends AXPEntityListItemDto<TKey> = any, TCreateDto extends AXPEntityCreateDto = any, TUpdateDto extends AXPEntityUpdateDto<TKey> = any> {
|
|
536
|
-
op: AXPEntityOp;
|
|
537
|
-
entityName: string;
|
|
538
|
-
id?: TKey;
|
|
539
|
-
data?: TCreateDto | Omit<Partial<TUpdateDto>, 'id'>;
|
|
540
|
-
request?: AXPQueryRequest;
|
|
541
|
-
previous?: TDetailDto;
|
|
542
|
-
result?: any;
|
|
543
|
-
locals: Map<string, unknown>;
|
|
544
|
-
backend: {
|
|
545
|
-
getOneRaw: (entityName: string, id: TKey) => Promise<TDetailDto>;
|
|
546
|
-
insertOneRaw: (entityName: string, entity: TCreateDto) => Promise<TKey>;
|
|
547
|
-
};
|
|
548
|
-
}
|
|
549
|
-
interface AXPEntityStorageMiddleware<TKey = any, TDetailDto extends AXPEntityDetailDto<TKey> = any, TListItemDto extends AXPEntityListItemDto<TKey> = any, TCreateDto extends AXPEntityCreateDto = any, TUpdateDto extends AXPEntityUpdateDto<TKey> = any> {
|
|
550
|
-
target?: {
|
|
551
|
-
ops?: AXPEntityOp[];
|
|
552
|
-
entity?: string | RegExp;
|
|
553
|
-
predicate?: (ctx: AXPEntityStorageContext<TKey, TDetailDto, TListItemDto, TCreateDto, TUpdateDto>) => boolean;
|
|
554
|
-
order?: number;
|
|
555
|
-
};
|
|
556
|
-
execute: (ctx: AXPEntityStorageContext<TKey, TDetailDto, TListItemDto, TCreateDto, TUpdateDto>, next: () => Promise<void>) => Promise<void>;
|
|
557
|
-
}
|
|
558
|
-
|
|
559
751
|
declare abstract class AXPEntityStorageService<TKey, TDetailDto extends AXPEntityDetailDto<TKey> = AXPEntityModel<TKey>, TListItemDto extends AXPEntityListItemDto<TKey> = TDetailDto, TCreateDto extends AXPEntityCreateDto = TDetailDto, TUpdateDto extends AXPEntityUpdateDto<TKey> = TDetailDto> {
|
|
560
752
|
abstract get dbName(): string;
|
|
561
753
|
abstract initial(entityName: string, collection: TCreateDto[], options?: {
|
|
@@ -603,6 +795,7 @@ declare class AXMEntityCrudServiceImpl<TKey, TDetailDto extends AXPEntityDetailD
|
|
|
603
795
|
private _storageService;
|
|
604
796
|
private entityRegistery;
|
|
605
797
|
private _entityDataProvider;
|
|
798
|
+
private _entityCategoryDataProvider;
|
|
606
799
|
constructor(entityName: string);
|
|
607
800
|
insertOne(request: TCreateDto): Promise<TKey>;
|
|
608
801
|
getOne(id: TKey): Promise<TDetailDto>;
|
|
@@ -619,119 +812,10 @@ declare class AXMEntityCrudServiceImpl<TKey, TDetailDto extends AXPEntityDetailD
|
|
|
619
812
|
categoryId: TKey;
|
|
620
813
|
categoryKey?: string;
|
|
621
814
|
}): Promise<AXPPagedListResult<TListItemDto>>;
|
|
815
|
+
getCategoriesList(request?: AXPQueryRequest): Promise<AXPPagedListResult<AXPCategoryEntity$1<TKey>>>;
|
|
622
816
|
get storageService(): AXPEntityStorageService<any, any, any, any, any>;
|
|
623
817
|
}
|
|
624
818
|
|
|
625
|
-
declare const AXP_ENTITY_STORAGE_BACKEND: InjectionToken<AXPEntityStorageService<any, any, any, any, any>>;
|
|
626
|
-
declare const AXP_ENTITY_STORAGE_MIDDLEWARE: InjectionToken<AXPEntityStorageMiddleware<any, any, any, any, any>[]>;
|
|
627
|
-
|
|
628
|
-
declare class AXPMiddlewareEntityStorageService<TKey = any, TDetailDto extends AXPEntityDetailDto<TKey> = any, TListItemDto extends AXPEntityListItemDto<TKey> = any, TCreateDto extends AXPEntityCreateDto = any, TUpdateDto extends AXPEntityUpdateDto<TKey> = any> extends AXPEntityStorageService<TKey, TDetailDto, TListItemDto, TCreateDto, TUpdateDto> {
|
|
629
|
-
private readonly backend;
|
|
630
|
-
private readonly allMiddlewares;
|
|
631
|
-
private readonly injector;
|
|
632
|
-
get dbName(): string;
|
|
633
|
-
private filterMiddlewares;
|
|
634
|
-
private compose;
|
|
635
|
-
private run;
|
|
636
|
-
private createCtx;
|
|
637
|
-
initial(entityName: string, collection: TCreateDto[], options?: {
|
|
638
|
-
mergeType?: 'merge' | 'replace';
|
|
639
|
-
uniqueKeys?: string[];
|
|
640
|
-
}): Promise<TCreateDto[]>;
|
|
641
|
-
getOne(entityName: string, id: TKey): Promise<TDetailDto>;
|
|
642
|
-
updateOne(entityName: string, id: TKey, keyValues: Omit<Partial<TUpdateDto>, 'id'>): Promise<TDetailDto>;
|
|
643
|
-
deleteOne(entityName: string, id: TKey): Promise<void>;
|
|
644
|
-
insertOne(entityName: string, entity: TCreateDto): Promise<TKey>;
|
|
645
|
-
getAll(entityName: string): Promise<TListItemDto[]>;
|
|
646
|
-
query(entityName: string, request: AXPQueryRequest): Promise<AXPPagedListResult<TListItemDto>>;
|
|
647
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPMiddlewareEntityStorageService<any, any, any, any, any>, never>;
|
|
648
|
-
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPMiddlewareEntityStorageService<any, any, any, any, any>>;
|
|
649
|
-
}
|
|
650
|
-
|
|
651
|
-
interface AXPEntityPreloadEntity {
|
|
652
|
-
module: string;
|
|
653
|
-
entity: string;
|
|
654
|
-
}
|
|
655
|
-
interface AXPEntityDefinitionPreloader {
|
|
656
|
-
preload(): AXPEntityPreloadEntity[];
|
|
657
|
-
}
|
|
658
|
-
declare class AXPEntityDefinitionRegistryService {
|
|
659
|
-
private providers;
|
|
660
|
-
private resolver;
|
|
661
|
-
private middleware;
|
|
662
|
-
private onChanged;
|
|
663
|
-
get onChanged$(): rxjs.Observable<{
|
|
664
|
-
name: string;
|
|
665
|
-
}>;
|
|
666
|
-
preload(): Promise<void>;
|
|
667
|
-
private entities;
|
|
668
|
-
private entityResolver;
|
|
669
|
-
/**
|
|
670
|
-
* Force re-load and re-process entity definitions, then re-register them.
|
|
671
|
-
* Overloads:
|
|
672
|
-
* - refresh(): refresh all registered entities
|
|
673
|
-
* - refresh(fullName: string): refresh by fully-qualified name `<module>.<entity>`
|
|
674
|
-
* - refresh(moduleName: string, entityName: string): refresh by parts
|
|
675
|
-
*/
|
|
676
|
-
refresh(): Promise<void>;
|
|
677
|
-
refresh(fullName: string): Promise<void>;
|
|
678
|
-
refresh(moduleName: string, entityName: string): Promise<void>;
|
|
679
|
-
/** Executes the actual refresh for a single entity */
|
|
680
|
-
private refreshOne;
|
|
681
|
-
/**
|
|
682
|
-
* Registers a new entity configuration. Entities are identified uniquely by a combination
|
|
683
|
-
* of their module and name.
|
|
684
|
-
*
|
|
685
|
-
* @param config The configuration object of the entity to be registered.
|
|
686
|
-
*/
|
|
687
|
-
register(config: AXPEntity): void;
|
|
688
|
-
/**
|
|
689
|
-
* Returns an array of all registered entity configurations.
|
|
690
|
-
*
|
|
691
|
-
* @returns An array of AXPEntity objects.
|
|
692
|
-
*/
|
|
693
|
-
getAll(): AXPEntity[];
|
|
694
|
-
/**
|
|
695
|
-
* Resolves an entity configuration based on module and entity name. If the configuration
|
|
696
|
-
* is not already registered, attempts to load it dynamically. Throws an error if the
|
|
697
|
-
* entity cannot be found or loaded.
|
|
698
|
-
*
|
|
699
|
-
* @param moduleName The module name of the entity.
|
|
700
|
-
* @param entityName The name of the entity.
|
|
701
|
-
* @returns A promise resolving to the entity configuration.
|
|
702
|
-
* @throws Error if the entity configuration cannot be resolved.
|
|
703
|
-
*/
|
|
704
|
-
resolve(moduleName: string, entityName: string): Promise<AXPEntity>;
|
|
705
|
-
/**
|
|
706
|
-
* Creates a unique key for an entity based on its module and name.
|
|
707
|
-
*
|
|
708
|
-
* @param moduleName The module name of the entity.
|
|
709
|
-
* @param entityName The name of the entity.
|
|
710
|
-
* @returns The unique key for the entity.
|
|
711
|
-
*/
|
|
712
|
-
private createEntityKey;
|
|
713
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityDefinitionRegistryService, never>;
|
|
714
|
-
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPEntityDefinitionRegistryService>;
|
|
715
|
-
}
|
|
716
|
-
|
|
717
|
-
/**
|
|
718
|
-
* Entity Event Dispatcher - A wrapper for entity-specific events
|
|
719
|
-
* Handles pattern-based dispatching for entity operations with wildcard support
|
|
720
|
-
*/
|
|
721
|
-
declare class AXPEntityEventDispatcherService {
|
|
722
|
-
private readonly eventService;
|
|
723
|
-
dispatchEntityEvent(operation: 'inserted' | 'updated' | 'deleted', entityName: string, data: any): Promise<void>;
|
|
724
|
-
private getAllMatchingEventKeys;
|
|
725
|
-
private findMatchingWildcardKeys;
|
|
726
|
-
private matchesEntityPattern;
|
|
727
|
-
private generateEventKeys;
|
|
728
|
-
dispatchInserted(entityName: string, data: any): Promise<void>;
|
|
729
|
-
dispatchUpdated(entityName: string, data: any): Promise<void>;
|
|
730
|
-
dispatchDeleted(entityName: string, data: any): Promise<void>;
|
|
731
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityEventDispatcherService, never>;
|
|
732
|
-
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPEntityEventDispatcherService>;
|
|
733
|
-
}
|
|
734
|
-
|
|
735
819
|
interface AXPEntityConfigs {
|
|
736
820
|
viewers: {
|
|
737
821
|
root: () => Type<any> | Promise<Type<any>>;
|
|
@@ -773,6 +857,208 @@ declare class AXPEntityService {
|
|
|
773
857
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPEntityService>;
|
|
774
858
|
}
|
|
775
859
|
|
|
860
|
+
type AXPEntityOp = 'initial' | 'create' | 'update' | 'delete' | 'getOne' | 'getAll' | 'query';
|
|
861
|
+
interface AXPEntityStorageContext<TKey = any, TDetailDto extends AXPEntityDetailDto<TKey> = any, TListItemDto extends AXPEntityListItemDto<TKey> = any, TCreateDto extends AXPEntityCreateDto = any, TUpdateDto extends AXPEntityUpdateDto<TKey> = any> {
|
|
862
|
+
op: AXPEntityOp;
|
|
863
|
+
entityName: string;
|
|
864
|
+
id?: TKey;
|
|
865
|
+
data?: TCreateDto | Omit<Partial<TUpdateDto>, 'id'>;
|
|
866
|
+
request?: AXPQueryRequest;
|
|
867
|
+
previous?: TDetailDto;
|
|
868
|
+
result?: any;
|
|
869
|
+
locals: Map<string, unknown>;
|
|
870
|
+
backend: {
|
|
871
|
+
getOne: (entityName: string, id: TKey) => Promise<TDetailDto>;
|
|
872
|
+
insertOne: (entityName: string, entity: TCreateDto) => Promise<TKey>;
|
|
873
|
+
query: (entityName: string, request: AXPQueryRequest) => Promise<AXPPagedListResult<TListItemDto>>;
|
|
874
|
+
updateOne: (entityName: string, id: TKey, data: Partial<TUpdateDto>) => Promise<void>;
|
|
875
|
+
};
|
|
876
|
+
}
|
|
877
|
+
interface AXPEntityStorageMiddleware<TKey = any, TDetailDto extends AXPEntityDetailDto<TKey> = any, TListItemDto extends AXPEntityListItemDto<TKey> = any, TCreateDto extends AXPEntityCreateDto = any, TUpdateDto extends AXPEntityUpdateDto<TKey> = any> {
|
|
878
|
+
target?: {
|
|
879
|
+
ops?: AXPEntityOp[];
|
|
880
|
+
entity?: string | RegExp;
|
|
881
|
+
predicate?: (ctx: AXPEntityStorageContext<TKey, TDetailDto, TListItemDto, TCreateDto, TUpdateDto>) => boolean;
|
|
882
|
+
order?: number;
|
|
883
|
+
};
|
|
884
|
+
execute: (ctx: AXPEntityStorageContext<TKey, TDetailDto, TListItemDto, TCreateDto, TUpdateDto>, next: () => Promise<void>) => Promise<void>;
|
|
885
|
+
}
|
|
886
|
+
/**
|
|
887
|
+
* Error type that can be thrown by middlewares to abort the chain with a structured payload.
|
|
888
|
+
*/
|
|
889
|
+
declare class AXPMiddlewareAbortError extends Error {
|
|
890
|
+
readonly message: string;
|
|
891
|
+
readonly options: {
|
|
892
|
+
code?: string;
|
|
893
|
+
status?: number;
|
|
894
|
+
details?: any;
|
|
895
|
+
};
|
|
896
|
+
constructor(message: string, options?: {
|
|
897
|
+
code?: string;
|
|
898
|
+
status?: number;
|
|
899
|
+
details?: any;
|
|
900
|
+
});
|
|
901
|
+
toResponse(): AXPMiddlewareErrorResponse;
|
|
902
|
+
}
|
|
903
|
+
/** Type guard for AXPMiddlewareAbortError */
|
|
904
|
+
declare function isAXPMiddlewareAbortError(error: unknown): error is AXPMiddlewareAbortError;
|
|
905
|
+
|
|
906
|
+
declare const eventDispatchMiddleware: AXPEntityStorageMiddleware;
|
|
907
|
+
|
|
908
|
+
/**
|
|
909
|
+
* Map of column name -> width value
|
|
910
|
+
* Example: { title: '300px', description: '300px' }
|
|
911
|
+
*/
|
|
912
|
+
type ColumnWidthConfig = Record<string, string | number>;
|
|
913
|
+
/**
|
|
914
|
+
* Default widths for common text columns
|
|
915
|
+
*/
|
|
916
|
+
declare const DEFAULT_COLUMN_WIDTHS: ColumnWidthConfig;
|
|
917
|
+
/**
|
|
918
|
+
* Factory to create a column width middleware using provided config map.
|
|
919
|
+
* Sets width for columns defined in the map if not already defined on the column.
|
|
920
|
+
*/
|
|
921
|
+
declare const columnWidthMiddlewareFactory: (widths: ColumnWidthConfig) => AXPEntityModifier;
|
|
922
|
+
/**
|
|
923
|
+
* Helper to create a provider for the column width middleware.
|
|
924
|
+
* By default it applies to all entities using the '*' pattern.
|
|
925
|
+
*/
|
|
926
|
+
declare const createColumnWidthMiddlewareProvider: (widths: ColumnWidthConfig, entityName?: string | RegExp) => AXPEntityModifierProvider;
|
|
927
|
+
/**
|
|
928
|
+
* Default provider registered with the default map.
|
|
929
|
+
*/
|
|
930
|
+
declare const columnWidthMiddlewareProvider: AXPEntityModifierProvider;
|
|
931
|
+
|
|
932
|
+
interface AXPGetEntityDetailsQueryInput {
|
|
933
|
+
entity: string;
|
|
934
|
+
id: string;
|
|
935
|
+
}
|
|
936
|
+
interface AXPGetEntityDetailsQueryResult {
|
|
937
|
+
success: boolean;
|
|
938
|
+
entityDefinition?: AXPEntity;
|
|
939
|
+
entityData?: any;
|
|
940
|
+
error?: string;
|
|
941
|
+
}
|
|
942
|
+
/**
|
|
943
|
+
* Generic query to get entity details including entity definition and entity data
|
|
944
|
+
* Can be used by any entity to retrieve its definition and data by ID
|
|
945
|
+
*/
|
|
946
|
+
declare class AXPGetEntityDetailsQuery implements AXPQuery<AXPGetEntityDetailsQueryInput, AXPGetEntityDetailsQueryResult> {
|
|
947
|
+
private readonly entityDefinitionRegistry;
|
|
948
|
+
private readonly injector;
|
|
949
|
+
/**
|
|
950
|
+
* Execute the query to fetch entity definition and data
|
|
951
|
+
* @param input - Query input containing entity and ID information
|
|
952
|
+
*/
|
|
953
|
+
fetch(input: AXPGetEntityDetailsQueryInput): Promise<AXPGetEntityDetailsQueryResult>;
|
|
954
|
+
/**
|
|
955
|
+
* Get entity data using the entity's CRUD service
|
|
956
|
+
* @param entity - Full entity path (ModuleName.EntityName)
|
|
957
|
+
* @param id - Entity ID
|
|
958
|
+
* @returns Promise resolving to entity data
|
|
959
|
+
*/
|
|
960
|
+
private getEntityData;
|
|
961
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPGetEntityDetailsQuery, never>;
|
|
962
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPGetEntityDetailsQuery>;
|
|
963
|
+
}
|
|
964
|
+
|
|
965
|
+
interface IEntitySelectorStage {
|
|
966
|
+
/** Select target entity using "module.entity" format */
|
|
967
|
+
entity(fullName: string): IInterfaceSelectorStage;
|
|
968
|
+
}
|
|
969
|
+
interface IInterfaceSelectorStage {
|
|
970
|
+
/** Use master.create interface */
|
|
971
|
+
create(): IPropertyFilterStage;
|
|
972
|
+
/** Use master.update interface */
|
|
973
|
+
update(id: string): IPropertyFilterStage;
|
|
974
|
+
}
|
|
975
|
+
interface IPropertyFilterStage {
|
|
976
|
+
/** Only include provided property names (by AXPEntityProperty.name). Mutually exclusive with exclude(). */
|
|
977
|
+
include(...propertyNames: string[]): IPropertyFilterStage;
|
|
978
|
+
/** Exclude provided property names (by AXPEntityProperty.name). Ignored if include() was already set. */
|
|
979
|
+
exclude(...propertyNames: string[]): IPropertyFilterStage;
|
|
980
|
+
/** Optionally override dialog title */
|
|
981
|
+
title(text: string): IPropertyFilterStage;
|
|
982
|
+
/** Provide initial dialog context/model data */
|
|
983
|
+
context(context: any): IPropertyFilterStage;
|
|
984
|
+
/** Override dialog size (e.g., 'sm' | 'md' | 'lg' | 'xl' | 'full') */
|
|
985
|
+
size(size: AXPopupSizeType): IPropertyFilterStage;
|
|
986
|
+
/** Configure footer actions (cancel/submit/custom). If not called, defaults to cancel+submit. */
|
|
987
|
+
actions(delegate: (a: IActionBuilder) => void): IPropertyFilterStage;
|
|
988
|
+
/** Add an extra field into a specific group, using the original field builder API */
|
|
989
|
+
field(groupId: string, path: string, delegate?: (field: IFieldBuilder) => void): IPropertyFilterStage;
|
|
990
|
+
/** Show dialog */
|
|
991
|
+
show(): Promise<AXPDialogRef>;
|
|
992
|
+
}
|
|
993
|
+
declare class AXPEntityDynamicFormDialogService implements IEntitySelectorStage {
|
|
994
|
+
private readonly entityRegistry;
|
|
995
|
+
private readonly formBuilder;
|
|
996
|
+
private readonly layoutTheme;
|
|
997
|
+
entity(fullName: string): IInterfaceSelectorStage;
|
|
998
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityDynamicFormDialogService, never>;
|
|
999
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPEntityDynamicFormDialogService>;
|
|
1000
|
+
}
|
|
1001
|
+
|
|
1002
|
+
declare const AXP_ENTITY_STORAGE_BACKEND: InjectionToken<AXPEntityStorageService<any, any, any, any, any>>;
|
|
1003
|
+
declare const AXP_ENTITY_STORAGE_MIDDLEWARE: InjectionToken<AXPEntityStorageMiddleware<any, any, any, any, any>[]>;
|
|
1004
|
+
|
|
1005
|
+
declare class AXPMiddlewareEntityStorageService<TKey = any, TDetailDto extends AXPEntityDetailDto<TKey> = any, TListItemDto extends AXPEntityListItemDto<TKey> = any, TCreateDto extends AXPEntityCreateDto = any, TUpdateDto extends AXPEntityUpdateDto<TKey> = any> extends AXPEntityStorageService<TKey, TDetailDto, TListItemDto, TCreateDto, TUpdateDto> {
|
|
1006
|
+
private readonly backend;
|
|
1007
|
+
private readonly allMiddlewares;
|
|
1008
|
+
private readonly injector;
|
|
1009
|
+
get dbName(): string;
|
|
1010
|
+
private filterMiddlewares;
|
|
1011
|
+
private compose;
|
|
1012
|
+
private run;
|
|
1013
|
+
private createCtx;
|
|
1014
|
+
initial(entityName: string, collection: TCreateDto[], options?: {
|
|
1015
|
+
mergeType?: 'merge' | 'replace';
|
|
1016
|
+
uniqueKeys?: string[];
|
|
1017
|
+
}): Promise<TCreateDto[]>;
|
|
1018
|
+
getOne(entityName: string, id: TKey): Promise<TDetailDto>;
|
|
1019
|
+
updateOne(entityName: string, id: TKey, keyValues: Omit<Partial<TUpdateDto>, 'id'>): Promise<TDetailDto>;
|
|
1020
|
+
deleteOne(entityName: string, id: TKey): Promise<void>;
|
|
1021
|
+
insertOne(entityName: string, entity: TCreateDto): Promise<TKey>;
|
|
1022
|
+
getAll(entityName: string): Promise<TListItemDto[]>;
|
|
1023
|
+
query(entityName: string, request: AXPQueryRequest): Promise<AXPPagedListResult<TListItemDto>>;
|
|
1024
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPMiddlewareEntityStorageService<any, any, any, any, any>, never>;
|
|
1025
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPMiddlewareEntityStorageService<any, any, any, any, any>>;
|
|
1026
|
+
}
|
|
1027
|
+
|
|
1028
|
+
declare function entityMasterCreateAction(): AXPEntityAction;
|
|
1029
|
+
declare function entityMasterBulkDeleteAction(): AXPEntityAction;
|
|
1030
|
+
declare function entityMasterViewAction(): AXPEntityAction;
|
|
1031
|
+
declare function entityMasterDeleteAction(): AXPEntityAction;
|
|
1032
|
+
declare function entityMasterCrudActions(options?: {
|
|
1033
|
+
create?: boolean;
|
|
1034
|
+
delete?: boolean;
|
|
1035
|
+
view?: boolean;
|
|
1036
|
+
edit?: boolean;
|
|
1037
|
+
}): AXPEntityAction[];
|
|
1038
|
+
declare function entityMasterRecordActions(): AXPEntityAction[];
|
|
1039
|
+
declare function entityDetailsCreateActions(parentId: string): AXPEntityAction;
|
|
1040
|
+
declare function entityDetailsSimpleCondition(fk: string): AXPQueryFilter;
|
|
1041
|
+
declare function entityDetailsReferenceCondition(type: string): AXPQueryFilter[];
|
|
1042
|
+
declare function entityDetailsEditAction(): AXPEntityAction;
|
|
1043
|
+
declare function entityOverrideDetailsViewAction(): AXPEntityAction;
|
|
1044
|
+
declare function entityDetailsCrudActions(parentId: string): AXPEntityAction[];
|
|
1045
|
+
declare function entityDetailsReferenceCreateActions(type: string): AXPEntityAction[];
|
|
1046
|
+
type AXPEntityChangeSet = {
|
|
1047
|
+
[key: string]: {
|
|
1048
|
+
oldValue: any;
|
|
1049
|
+
newValue: any;
|
|
1050
|
+
added?: any[];
|
|
1051
|
+
removed?: any[];
|
|
1052
|
+
};
|
|
1053
|
+
};
|
|
1054
|
+
/**
|
|
1055
|
+
* Computes a diff between two plain objects with array-aware semantics.
|
|
1056
|
+
* - For arrays of objects with an id field, computes added/removed by id.
|
|
1057
|
+
* - For arrays of primitives or objects without id, uses deep equality.
|
|
1058
|
+
* - For scalars/objects, reports oldValue/newValue when changed.
|
|
1059
|
+
*/
|
|
1060
|
+
declare function detectEntityChanges(oldObj: any, newObj: any): AXPEntityChangeSet;
|
|
1061
|
+
|
|
776
1062
|
declare const AXPEntityCreateEvent: {
|
|
777
1063
|
(payload: {
|
|
778
1064
|
entity: string;
|
|
@@ -902,85 +1188,5 @@ declare class AXPShowListViewAction extends AXPWorkflowAction {
|
|
|
902
1188
|
}
|
|
903
1189
|
declare const AXPShowListViewWorkflow: AXPWorkflow;
|
|
904
1190
|
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
data: {
|
|
908
|
-
id: string;
|
|
909
|
-
};
|
|
910
|
-
}
|
|
911
|
-
interface AXPOpenEntityDetailsCommandResult {
|
|
912
|
-
success: boolean;
|
|
913
|
-
}
|
|
914
|
-
/**
|
|
915
|
-
* Generic command to open entity details view
|
|
916
|
-
* Can be used by any entity to navigate to its detail page
|
|
917
|
-
*/
|
|
918
|
-
declare class AXPOpenEntityDetailsCommand implements AXPCommand<AXPOpenEntityDetailsCommandInput, AXPOpenEntityDetailsCommandResult> {
|
|
919
|
-
private readonly navigation;
|
|
920
|
-
private readonly sessionService;
|
|
921
|
-
/**
|
|
922
|
-
* Execute the command to navigate to entity details
|
|
923
|
-
* @param input - Command input containing entity and data information
|
|
924
|
-
*/
|
|
925
|
-
execute(input: AXPOpenEntityDetailsCommandInput): Promise<AXPOpenEntityDetailsCommandResult>;
|
|
926
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPOpenEntityDetailsCommand, never>;
|
|
927
|
-
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPOpenEntityDetailsCommand>;
|
|
928
|
-
}
|
|
929
|
-
|
|
930
|
-
declare function entityMasterCreateAction(): AXPEntityAction;
|
|
931
|
-
declare function entityMasterBulkDeleteAction(): AXPEntityAction;
|
|
932
|
-
declare function entityMasterViewAction(): AXPEntityAction;
|
|
933
|
-
declare function entityMasterDeleteAction(): AXPEntityAction;
|
|
934
|
-
declare function entityMasterCrudActions(): AXPEntityAction[];
|
|
935
|
-
declare function entityMasterRecordActions(): AXPEntityAction[];
|
|
936
|
-
declare function entityDetailsCreateActions(parentId: string): AXPEntityAction;
|
|
937
|
-
declare function entityDetailsSimpleCondition(fk: string): AXPQueryFilter;
|
|
938
|
-
declare function entityDetailsReferenceCondition(type: string): AXPQueryFilter[];
|
|
939
|
-
declare function entityDetailsEditAction(): AXPEntityAction;
|
|
940
|
-
declare function entityOverrideDetailsViewAction(): AXPEntityAction;
|
|
941
|
-
declare function entityDetailsCrudActions(parentId: string): AXPEntityAction[];
|
|
942
|
-
declare function entityDetailsReferenceCreateActions(type: string): AXPEntityAction[];
|
|
943
|
-
type AXPEntityChangeSet = {
|
|
944
|
-
[key: string]: {
|
|
945
|
-
oldValue: any;
|
|
946
|
-
newValue: any;
|
|
947
|
-
added?: any[];
|
|
948
|
-
removed?: any[];
|
|
949
|
-
};
|
|
950
|
-
};
|
|
951
|
-
/**
|
|
952
|
-
* Computes a diff between two plain objects with array-aware semantics.
|
|
953
|
-
* - For arrays of objects with an id field, computes added/removed by id.
|
|
954
|
-
* - For arrays of primitives or objects without id, uses deep equality.
|
|
955
|
-
* - For scalars/objects, reports oldValue/newValue when changed.
|
|
956
|
-
*/
|
|
957
|
-
declare function detectEntityChanges(oldObj: any, newObj: any): AXPEntityChangeSet;
|
|
958
|
-
|
|
959
|
-
declare const eventDispatchMiddleware: AXPEntityStorageMiddleware;
|
|
960
|
-
|
|
961
|
-
/**
|
|
962
|
-
* Map of column name -> width value
|
|
963
|
-
* Example: { title: '300px', description: '300px' }
|
|
964
|
-
*/
|
|
965
|
-
type ColumnWidthConfig = Record<string, string | number>;
|
|
966
|
-
/**
|
|
967
|
-
* Default widths for common text columns
|
|
968
|
-
*/
|
|
969
|
-
declare const DEFAULT_COLUMN_WIDTHS: ColumnWidthConfig;
|
|
970
|
-
/**
|
|
971
|
-
* Factory to create a column width middleware using provided config map.
|
|
972
|
-
* Sets width for columns defined in the map if not already defined on the column.
|
|
973
|
-
*/
|
|
974
|
-
declare const columnWidthMiddlewareFactory: (widths: ColumnWidthConfig) => AXPEntityModifier;
|
|
975
|
-
/**
|
|
976
|
-
* Helper to create a provider for the column width middleware.
|
|
977
|
-
* By default it applies to all entities using the '*' pattern.
|
|
978
|
-
*/
|
|
979
|
-
declare const createColumnWidthMiddlewareProvider: (widths: ColumnWidthConfig, entityName?: string | RegExp) => AXPEntityModifierProvider;
|
|
980
|
-
/**
|
|
981
|
-
* Default provider registered with the default map.
|
|
982
|
-
*/
|
|
983
|
-
declare const columnWidthMiddlewareProvider: AXPEntityModifierProvider;
|
|
984
|
-
|
|
985
|
-
export { AXMEntityCrudService, AXMEntityCrudServiceImpl, AXPCreateEntityWorkflow, AXPDataSeederService, AXPDeleteEntityWorkflow, AXPEntityApplyUpdatesAction, AXPEntityCommandTriggerViewModel, AXPEntityCreateEvent, AXPEntityCreatePopupAction, AXPEntityCreateSubmittedAction, AXPEntityCreateViewElementViewModel, AXPEntityCreateViewModelFactory, AXPEntityCreateViewSectionViewModel, AXPEntityDataProvider, AXPEntityDataProviderImpl, AXPEntityDefinitionRegistryService, AXPEntityDeletedEvent, AXPEntityDetailListViewModel, AXPEntityDetailViewModelFactory, AXPEntityDetailViewModelResolver, AXPEntityEventDispatcherService, AXPEntityListViewColumnViewModel, AXPEntityListViewModelFactory, AXPEntityListViewModelResolver, AXPEntityMasterCreateViewModel, AXPEntityMasterListViewModel, AXPEntityMasterListViewQueryViewModel, AXPEntityMasterSingleElementViewModel, AXPEntityMasterSingleViewGroupViewModel, AXPEntityMasterSingleViewModel, AXPEntityMasterUpdateElementViewModel, AXPEntityMasterUpdateViewModel, AXPEntityMasterUpdateViewModelFactory, AXPEntityMiddleware, AXPEntityModifyConfirmedAction, AXPEntityModifyEvent, AXPEntityModifySectionPopupAction, AXPEntityModule, AXPEntityPerformDeleteAction, AXPEntityResolver, AXPEntityService, AXPEntityStorageService, AXPMiddlewareEntityStorageService, AXPModifyEntitySectionWorkflow, AXPOpenEntityDetailsCommand, AXPQuickEntityModifyPopupAction, AXPQuickModifyEntityWorkflow, AXPShowDetailViewAction, AXPShowDetailsViewWorkflow, AXPShowListViewAction, AXPShowListViewWorkflow, AXP_DATA_SEEDER_TOKEN, AXP_ENTITY_ACTION_PLUGIN, AXP_ENTITY_CONFIG_TOKEN, AXP_ENTITY_DEFINITION_LOADER, AXP_ENTITY_MODIFIER, AXP_ENTITY_STORAGE_BACKEND, AXP_ENTITY_STORAGE_MIDDLEWARE, DEFAULT_COLUMN_WIDTHS, actionExists, columnWidthMiddlewareFactory, columnWidthMiddlewareProvider, createColumnWidthMiddlewareProvider, createModifierContext, detectEntityChanges, ensureListActions, entityDetailsCreateActions, entityDetailsCrudActions, entityDetailsEditAction, entityDetailsReferenceCondition, entityDetailsReferenceCreateActions, entityDetailsSimpleCondition, entityMasterBulkDeleteAction, entityMasterCreateAction, entityMasterCrudActions, entityMasterDeleteAction, entityMasterRecordActions, entityMasterViewAction, entityOverrideDetailsViewAction, eventDispatchMiddleware };
|
|
986
|
-
export type { AXPAuditable, AXPDataSeeder, AXPEntityActionPlugin, AXPEntityChangeSet, AXPEntityConfigs, AXPEntityCreateDto, AXPEntityDefinitionLoader, AXPEntityDefinitionPreloader, AXPEntityDeleteOptions, AXPEntityDetailDto, AXPEntityListItemDto, AXPEntityMasterListViewSortPropViewModel, AXPEntityModel, AXPEntityModifier, AXPEntityModifierContext, AXPEntityModifierProvider, AXPEntityOp, AXPEntityOutputDto, AXPEntityPreloadEntity, AXPEntityStorageContext, AXPEntityStorageMiddleware, AXPEntityUpdateDto, AXPOpenEntityDetailsCommandInput, AXPOpenEntityDetailsCommandResult, ColumnWidthConfig };
|
|
1191
|
+
export { AXMEntityCrudService, AXMEntityCrudServiceImpl, AXPCreateEntityWorkflow, AXPDataSeederService, AXPDeleteEntityWorkflow, AXPEntityApplyUpdatesAction, AXPEntityCommandTriggerViewModel, AXPEntityCreateEvent, AXPEntityCreatePopupAction, AXPEntityCreateSubmittedAction, AXPEntityCreateViewElementViewModel, AXPEntityCreateViewModelFactory, AXPEntityCreateViewSectionViewModel, AXPEntityDataProvider, AXPEntityDataProviderImpl, AXPEntityDefinitionRegistryService, AXPEntityDeletedEvent, AXPEntityDetailListViewModel, AXPEntityDetailPopoverComponent, AXPEntityDetailPopoverService, AXPEntityDetailViewModelFactory, AXPEntityDetailViewModelResolver, AXPEntityDynamicFormDialogService, AXPEntityEventDispatcherService, AXPEntityListViewColumnViewModel, AXPEntityListViewModelFactory, AXPEntityListViewModelResolver, AXPEntityMasterCreateViewModel, AXPEntityMasterListViewModel, AXPEntityMasterListViewQueryViewModel, AXPEntityMasterSingleElementViewModel, AXPEntityMasterSingleViewGroupViewModel, AXPEntityMasterSingleViewModel, AXPEntityMasterUpdateElementViewModel, AXPEntityMasterUpdateViewModel, AXPEntityMasterUpdateViewModelFactory, AXPEntityMiddleware, AXPEntityModifyConfirmedAction, AXPEntityModifyEvent, AXPEntityModifySectionPopupAction, AXPEntityModule, AXPEntityPerformDeleteAction, AXPEntityResolver, AXPEntityService, AXPEntityStorageService, AXPEntityUpdateViewSectionViewModel, AXPGetEntityDetailsQuery, AXPMiddlewareAbortError, AXPMiddlewareEntityStorageService, AXPModifyEntitySectionWorkflow, AXPOpenEntityDetailsCommand, AXPQuickEntityModifyPopupAction, AXPQuickModifyEntityWorkflow, AXPShowDetailViewAction, AXPShowDetailsViewWorkflow, AXPShowListViewAction, AXPShowListViewWorkflow, AXP_DATA_SEEDER_TOKEN, AXP_ENTITY_ACTION_PLUGIN, AXP_ENTITY_CONFIG_TOKEN, AXP_ENTITY_DEFINITION_LOADER, AXP_ENTITY_MODIFIER, AXP_ENTITY_STORAGE_BACKEND, AXP_ENTITY_STORAGE_MIDDLEWARE, DEFAULT_COLUMN_WIDTHS, actionExists, columnWidthMiddlewareFactory, columnWidthMiddlewareProvider, createColumnWidthMiddlewareProvider, createModifierContext, detectEntityChanges, ensureListActions, entityDetailsCreateActions, entityDetailsCrudActions, entityDetailsEditAction, entityDetailsReferenceCondition, entityDetailsReferenceCreateActions, entityDetailsSimpleCondition, entityMasterBulkDeleteAction, entityMasterCreateAction, entityMasterCrudActions, entityMasterDeleteAction, entityMasterRecordActions, entityMasterViewAction, entityOverrideDetailsViewAction, eventDispatchMiddleware, isAXPMiddlewareAbortError };
|
|
1192
|
+
export type { AXPAuditable, AXPDataSeeder, AXPEntityActionPlugin, AXPEntityChangeSet, AXPEntityConfigs, AXPEntityCreateDto, AXPEntityDefinitionLoader, AXPEntityDefinitionPreloader, AXPEntityDeleteOptions, AXPEntityDetailDto, AXPEntityDetailPopoverOptions, AXPEntityListItemDto, AXPEntityMasterListViewSortPropViewModel, AXPEntityModel, AXPEntityModifier, AXPEntityModifierContext, AXPEntityModifierProvider, AXPEntityOp, AXPEntityOutputDto, AXPEntityPreloadEntity, AXPEntityStorageContext, AXPEntityStorageMiddleware, AXPEntityUpdateDto, AXPGetEntityDetailsQueryInput, AXPGetEntityDetailsQueryResult, AXPOpenEntityDetailsCommandInput, AXPOpenEntityDetailsCommandResult, AXPRecordControl, AXPRecordOwnership, ColumnWidthConfig };
|