@acorex/platform 20.8.9 → 20.8.11
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/fesm2022/acorex-platform-auth.mjs +125 -27
- package/fesm2022/acorex-platform-auth.mjs.map +1 -1
- package/fesm2022/{acorex-platform-common-common-settings.provider-DVvuLUfF.mjs → acorex-platform-common-common-settings.provider-Bi1RYif5.mjs} +30 -32
- package/fesm2022/acorex-platform-common-common-settings.provider-Bi1RYif5.mjs.map +1 -0
- package/fesm2022/acorex-platform-common.mjs +711 -205
- package/fesm2022/acorex-platform-common.mjs.map +1 -1
- package/fesm2022/acorex-platform-core.mjs +420 -127
- package/fesm2022/acorex-platform-core.mjs.map +1 -1
- package/fesm2022/acorex-platform-domain.mjs +557 -826
- package/fesm2022/acorex-platform-domain.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-builder.mjs +634 -114
- package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
- package/fesm2022/{acorex-platform-layout-components-binding-expression-editor-popup.component-CSxCnzwU.mjs → acorex-platform-layout-components-binding-expression-editor-popup.component-CXEdvDTf.mjs} +9 -9
- package/fesm2022/acorex-platform-layout-components-binding-expression-editor-popup.component-CXEdvDTf.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-components.mjs +3365 -880
- package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-designer.mjs +456 -204
- package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-entity.mjs +18667 -14048
- package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-views.mjs +413 -171
- package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-widget-core.mjs +507 -441
- package/fesm2022/acorex-platform-layout-widget-core.mjs.map +1 -1
- package/fesm2022/{acorex-platform-layout-widgets-button-widget-designer.component-CPBzE96V.mjs → acorex-platform-layout-widgets-button-widget-designer.component-Dy7jF-oD.mjs} +10 -10
- package/fesm2022/acorex-platform-layout-widgets-button-widget-designer.component-Dy7jF-oD.mjs.map +1 -0
- package/fesm2022/{acorex-platform-layout-widgets-file-list-popup.component-Dtv6U3df.mjs → acorex-platform-layout-widgets-file-list-popup.component-CDYAGBku.mjs} +21 -76
- package/fesm2022/acorex-platform-layout-widgets-file-list-popup.component-CDYAGBku.mjs.map +1 -0
- package/fesm2022/{acorex-platform-layout-widgets-image-preview.popup-QxJfswhK.mjs → acorex-platform-layout-widgets-image-preview.popup-C_EPAvCU.mjs} +6 -7
- package/fesm2022/acorex-platform-layout-widgets-image-preview.popup-C_EPAvCU.mjs.map +1 -0
- package/fesm2022/{acorex-platform-layout-widgets-page-widget-designer.component-CVdssZBD.mjs → acorex-platform-layout-widgets-page-widget-designer.component-D10yO28c.mjs} +12 -12
- package/fesm2022/acorex-platform-layout-widgets-page-widget-designer.component-D10yO28c.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-BGO75IMz.mjs +116 -0
- package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-BGO75IMz.mjs.map +1 -0
- package/fesm2022/{acorex-platform-layout-widgets-tabular-data-edit-popup.component-DVaZN9QN.mjs → acorex-platform-layout-widgets-tabular-data-edit-popup.component-DmzNTYiS.mjs} +5 -5
- package/fesm2022/acorex-platform-layout-widgets-tabular-data-edit-popup.component-DmzNTYiS.mjs.map +1 -0
- package/fesm2022/{acorex-platform-layout-widgets-tabular-data-view-popup.component-DPGHgXa6.mjs → acorex-platform-layout-widgets-tabular-data-view-popup.component-BNG_588B.mjs} +4 -4
- package/fesm2022/acorex-platform-layout-widgets-tabular-data-view-popup.component-BNG_588B.mjs.map +1 -0
- package/fesm2022/{acorex-platform-layout-widgets-text-block-widget-designer.component-CdiNW691.mjs → acorex-platform-layout-widgets-text-block-widget-designer.component-Vo4fWHtX.mjs} +6 -6
- package/fesm2022/acorex-platform-layout-widgets-text-block-widget-designer.component-Vo4fWHtX.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-widgets.mjs +6578 -4314
- package/fesm2022/acorex-platform-layout-widgets.mjs.map +1 -1
- package/fesm2022/acorex-platform-native.mjs +8 -7
- package/fesm2022/acorex-platform-native.mjs.map +1 -1
- package/fesm2022/acorex-platform-runtime.mjs +391 -166
- package/fesm2022/acorex-platform-runtime.mjs.map +1 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-Cx1lLUaR.mjs +160 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-Cx1lLUaR.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-AOrcgjDF.mjs +120 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-AOrcgjDF.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-default-entity-master-single-view.component-rGsMVAZj.mjs → acorex-platform-themes-default-entity-master-single-view.component-BfCeUU5F.mjs} +16 -23
- package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-BfCeUU5F.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-default-error-401.component-53VB-PS_.mjs → acorex-platform-themes-default-error-401.component-C7EYJzSr.mjs} +4 -4
- package/fesm2022/acorex-platform-themes-default-error-401.component-C7EYJzSr.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-default-error-404.component-DVF9soT5.mjs → acorex-platform-themes-default-error-404.component-7MVLMwIa.mjs} +4 -4
- package/fesm2022/acorex-platform-themes-default-error-404.component-7MVLMwIa.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default-error-offline.component-DR6G8gPC.mjs +19 -0
- package/fesm2022/acorex-platform-themes-default-error-offline.component-DR6G8gPC.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default.mjs +1784 -61
- package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
- package/fesm2022/{acorex-platform-themes-shared-icon-chooser-column.component-TJ9PWHMY.mjs → acorex-platform-themes-shared-icon-chooser-column.component-CqkWJYdv.mjs} +6 -6
- package/fesm2022/acorex-platform-themes-shared-icon-chooser-column.component-CqkWJYdv.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-shared-icon-chooser-view.component-BHcKkIx0.mjs → acorex-platform-themes-shared-icon-chooser-view.component-BOTuLdWN.mjs} +6 -6
- package/fesm2022/acorex-platform-themes-shared-icon-chooser-view.component-BOTuLdWN.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-shared-settings.provider-DSs1o1M6.mjs → acorex-platform-themes-shared-settings.provider-DK6R87Lf.mjs} +24 -25
- package/fesm2022/acorex-platform-themes-shared-settings.provider-DK6R87Lf.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-D566Kdvy.mjs +94 -0
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-D566Kdvy.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-D7-rCGl7.mjs +86 -0
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-D7-rCGl7.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-shared.mjs +408 -305
- package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
- package/fesm2022/acorex-platform-workflow.mjs +359 -100
- package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
- package/fesm2022/acorex-platform.mjs.map +1 -1
- package/package.json +31 -31
- package/{auth/index.d.ts → types/acorex-platform-auth.d.ts} +14 -2
- package/{common/index.d.ts → types/acorex-platform-common.d.ts} +302 -30
- package/{core/index.d.ts → types/acorex-platform-core.d.ts} +188 -44
- package/{domain/index.d.ts → types/acorex-platform-domain.d.ts} +744 -412
- package/{layout/builder/index.d.ts → types/acorex-platform-layout-builder.d.ts} +160 -38
- package/{layout/components/index.d.ts → types/acorex-platform-layout-components.d.ts} +854 -125
- package/{layout/designer/index.d.ts → types/acorex-platform-layout-designer.d.ts} +96 -18
- package/{layout/entity/index.d.ts → types/acorex-platform-layout-entity.d.ts} +848 -63
- package/{layout/views/index.d.ts → types/acorex-platform-layout-views.d.ts} +80 -47
- package/{layout/widget-core/index.d.ts → types/acorex-platform-layout-widget-core.d.ts} +274 -197
- package/{layout/widgets/index.d.ts → types/acorex-platform-layout-widgets.d.ts} +608 -122
- package/{native/index.d.ts → types/acorex-platform-native.d.ts} +0 -7
- package/types/acorex-platform-runtime.d.ts +571 -0
- package/{themes/default/index.d.ts → types/acorex-platform-themes-default.d.ts} +113 -4
- package/{themes/shared/index.d.ts → types/acorex-platform-themes-shared.d.ts} +5 -4
- package/{workflow/index.d.ts → types/acorex-platform-workflow.d.ts} +162 -81
- package/fesm2022/acorex-platform-common-common-settings.provider-DVvuLUfF.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-components-binding-expression-editor-popup.component-CSxCnzwU.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-button-widget-designer.component-CPBzE96V.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-file-list-popup.component-Dtv6U3df.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-image-preview.popup-QxJfswhK.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-page-widget-designer.component-CVdssZBD.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-BCxE0RTB.mjs +0 -111
- package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-BCxE0RTB.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-tabular-data-edit-popup.component-DVaZN9QN.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-tabular-data-view-popup.component-DPGHgXa6.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-text-block-widget-designer.component-CdiNW691.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-D4hU2SCE.mjs +0 -160
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-D4hU2SCE.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-D2CtNrSn.mjs +0 -1716
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-D2CtNrSn.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-BVTklnzs.mjs +0 -120
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-BVTklnzs.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-rGsMVAZj.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-error-401.component-53VB-PS_.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-error-404.component-DVF9soT5.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-error-offline.component-CwNNHzZn.mjs +0 -19
- package/fesm2022/acorex-platform-themes-default-error-offline.component-CwNNHzZn.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-icon-chooser-column.component-TJ9PWHMY.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-icon-chooser-view.component-BHcKkIx0.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-settings.provider-DSs1o1M6.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-BUPs84MI.mjs +0 -65
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-BUPs84MI.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-BotknoHn.mjs +0 -64
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-BotknoHn.mjs.map +0 -1
- package/runtime/index.d.ts +0 -307
- /package/{index.d.ts → types/acorex-platform.d.ts} +0 -0
|
@@ -1,31 +1,33 @@
|
|
|
1
1
|
import * as _acorex_platform_core from '@acorex/platform/core';
|
|
2
|
-
import { AXPExecuteCommandResult, AXPMetaData, AXPDataSourceDefinitionProvider, AXPDataSourceDefinition, AXPGridLayoutOptions, AXPBreadcrumbItem, AXPFilterQuery, AXPFilterDefinition, AXPExecuteCommand,
|
|
2
|
+
import { AXPExecuteCommandResult, AXPMetaData, AXPDataSourceDefinitionProvider, AXPDataSourceDefinition, AXPGridLayoutOptions, AXPBreadcrumbItem, AXPFilterQuery, AXPFilterDefinition, AXPExecuteCommand, AXPQueryRequest, AXPPagedListResult, AXPUserReference, AXPCategoryEntity as AXPCategoryEntity$1, AXPEntityOp, AXPMiddlewareErrorResponse, AXHighlightService, AXPExpression, AXPMultiLanguageString, AXPColumnQuery, AXPSortDefinition, AXPDeviceService, AXPBroadcastEventService, AXPActionMenuItem, AXPContextChangeEvent } from '@acorex/platform/core';
|
|
3
3
|
import { AXPCommand, AXPQueryExecutor, AXPCommandService, AXPQuery } from '@acorex/platform/runtime';
|
|
4
4
|
import * as _angular_core from '@angular/core';
|
|
5
|
-
import { ElementRef, InjectionToken, Injector, Type, OnInit, ChangeDetectorRef, OnDestroy } from '@angular/core';
|
|
5
|
+
import { ElementRef, InjectionToken, Injector, Type, EnvironmentProviders, OnInit, ChangeDetectorRef, OnDestroy } from '@angular/core';
|
|
6
6
|
import { AXPopoverComponent } from '@acorex/components/popover';
|
|
7
7
|
import * as i3 from '@acorex/platform/layout/widget-core';
|
|
8
8
|
import { AXPWidgetNode, AXPWidgetColumnNode, AXPWidgetCoreService, AXPColumnWidgetComponent, AXPValueWidgetComponent, AXPWidgetConfig, AXPWidgetRendererDirective } from '@acorex/platform/layout/widget-core';
|
|
9
|
-
import { AXPPreloadFiltersApplyEvent, AXPColumnItemListItem, AXPCategoryTreeDataSource } from '@acorex/platform/layout/components';
|
|
9
|
+
import { AXPPreloadFiltersApplyEvent, AXPColumnItemListItem, AXPDataSelectorAllowCreate, AXPCategoryTreeDataSource } from '@acorex/platform/layout/components';
|
|
10
10
|
import { AXPPageLayoutBaseComponent } from '@acorex/platform/layout/views';
|
|
11
|
-
import { AXStyleColorType, AXDataSource, AXDataSourceFilterOption, AXValueChangedEvent, AXClickEvent, AXFocusEvent, AXHtmlEvent } from '@acorex/cdk/common';
|
|
11
|
+
import { AXStyleColorType, AXDataSource, AXDataSourceFilterOption, AXDataSourceSortOption, AXValueChangedEvent, AXClickEvent, AXFocusEvent, AXHtmlEvent } from '@acorex/cdk/common';
|
|
12
12
|
import * as _acorex_platform_common from '@acorex/platform/common';
|
|
13
|
-
import { AXPEntityCommandScope, AXPEntity, AXPEntityAction, AXPEntityProperty, AXPEntityTableColumn, AXPRelatedEntity, AXPEntitySectionView, AXPEntityPropertyCreateView, AXPEntityPropertyLayoutConfig, AXPQueryView, AXPEntityPropertyView, AXPCategoryEntity, AXPEntityPropertyGroup, AXPEntityMasterCreateLayoutView, AXPEntityMasterUpdateLayoutView, AXPEntityMasterSingleLayoutView, AXPEntityMasterListView, AXPEntityDetailListView, AXPQueryFilter } from '@acorex/platform/common';
|
|
13
|
+
import { AXPEntityCommandScope, AXPEntity, AXPEntityAction, AXPEntityProperty, AXPEntityTableColumn, AXPRelatedEntity, AXPEntitySectionView, AXPEntityPropertyCreateView, AXPEntityPropertyLayoutConfig, AXPQueryView, AXPEntityPropertyView, AXPCategoryEntity, AXPEntityPropertyGroup, AXPEntityMasterCreateLayoutView, AXPEntityMasterUpdateLayoutView, AXPEntityMasterSingleLayoutView, AXPEntityMasterListView, AXPEntityDetailListView, AXPEntityPage, AXPQueryFilter } from '@acorex/platform/common';
|
|
14
14
|
import * as i1 from '@angular/router';
|
|
15
15
|
import { ResolveFn } from '@angular/router';
|
|
16
16
|
import * as rxjs from 'rxjs';
|
|
17
17
|
import { Subject } from 'rxjs';
|
|
18
|
+
export { AXPEntityDefinitionCrudService, AXP_ENTITY_DEFINITION_CRUD_SERVICE } from '@acorex/platform/domain';
|
|
18
19
|
import * as i2 from '@acorex/platform/workflow';
|
|
19
20
|
import { AXPWorkflowService, AXPWorkflow, AXPWorkflowAction, AXPWorkflowContext } from '@acorex/platform/workflow';
|
|
21
|
+
import * as i4 from '@acorex/platform/layout/builder';
|
|
22
|
+
import { IActionBuilder, AXPDialogRef, IFormFieldBuilder } from '@acorex/platform/layout/builder';
|
|
20
23
|
import { AXPSessionService } from '@acorex/platform/auth';
|
|
21
24
|
import { AXTreeViewNode, AXTreeViewComponent, AXTreeViewNodeSelectEvent } from '@acorex/components/tree-view';
|
|
22
|
-
import { AXTranslationService } from '@acorex/core/translation';
|
|
23
25
|
import { AXPopupSizeType, AXPopupService } from '@acorex/components/popup';
|
|
24
|
-
import { IActionBuilder, AXPDialogRef, IFormFieldBuilder } from '@acorex/platform/layout/builder';
|
|
25
26
|
import { AXBasePageComponent } from '@acorex/components/page';
|
|
26
27
|
import { AXFormatService } from '@acorex/core/format';
|
|
27
28
|
import { AXTagBoxComponent } from '@acorex/components/tag-box';
|
|
28
|
-
import
|
|
29
|
+
import * as _acorex_core_translation from '@acorex/core/translation';
|
|
30
|
+
import { AXPProviderSelectWidgetEditBase, AXPDataListWidgetComponentOptions } from '@acorex/platform/layout/widgets';
|
|
29
31
|
|
|
30
32
|
declare class AXPCreateEntityCommand implements AXPCommand<any, any> {
|
|
31
33
|
private entityForm;
|
|
@@ -40,6 +42,70 @@ declare class AXPCreateEntityCommand implements AXPCommand<any, any> {
|
|
|
40
42
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPCreateEntityCommand>;
|
|
41
43
|
}
|
|
42
44
|
|
|
45
|
+
/**
|
|
46
|
+
* Merged into AI/tool payloads for `Entity:Create` so post-create navigation does not run from agent flows.
|
|
47
|
+
* Applied in the AI module when normalizing tool arguments (not in the generic command executor).
|
|
48
|
+
*/
|
|
49
|
+
declare const axpCreateEntityAiToolInputDefaults: {
|
|
50
|
+
readonly __context__: {
|
|
51
|
+
readonly options: {
|
|
52
|
+
readonly process: {
|
|
53
|
+
readonly redirect: false;
|
|
54
|
+
};
|
|
55
|
+
};
|
|
56
|
+
};
|
|
57
|
+
};
|
|
58
|
+
declare const axpCreateEntityCommandDefinition: {
|
|
59
|
+
key: string;
|
|
60
|
+
title: string;
|
|
61
|
+
description: string;
|
|
62
|
+
executionMode: "frontend";
|
|
63
|
+
inputs: ({
|
|
64
|
+
name: string;
|
|
65
|
+
title: string;
|
|
66
|
+
description: string;
|
|
67
|
+
interface: {
|
|
68
|
+
name: string;
|
|
69
|
+
};
|
|
70
|
+
validations?: undefined;
|
|
71
|
+
} | {
|
|
72
|
+
name: string;
|
|
73
|
+
title: string;
|
|
74
|
+
description: string;
|
|
75
|
+
interface: {
|
|
76
|
+
name: string;
|
|
77
|
+
};
|
|
78
|
+
validations: {
|
|
79
|
+
rule: string;
|
|
80
|
+
}[];
|
|
81
|
+
})[];
|
|
82
|
+
outcomes: {
|
|
83
|
+
mode: "dynamic";
|
|
84
|
+
summary: string;
|
|
85
|
+
derivesFrom: string;
|
|
86
|
+
};
|
|
87
|
+
capabilities: "ai"[];
|
|
88
|
+
ai: {
|
|
89
|
+
shortDescription: string;
|
|
90
|
+
usage: {
|
|
91
|
+
whenToUse: string[];
|
|
92
|
+
avoidWhen: string[];
|
|
93
|
+
followUpTools: string[];
|
|
94
|
+
};
|
|
95
|
+
tags: string[];
|
|
96
|
+
toolInputDefaults: {
|
|
97
|
+
__context__: {
|
|
98
|
+
readonly options: {
|
|
99
|
+
readonly process: {
|
|
100
|
+
readonly redirect: false;
|
|
101
|
+
};
|
|
102
|
+
};
|
|
103
|
+
};
|
|
104
|
+
};
|
|
105
|
+
};
|
|
106
|
+
categories: _acorex_platform_core.AXPDefinitionCategory[];
|
|
107
|
+
};
|
|
108
|
+
|
|
43
109
|
declare class AXPUpdateEntityCommand implements AXPCommand<any, any> {
|
|
44
110
|
private readonly entityForm;
|
|
45
111
|
private readonly settingsService;
|
|
@@ -96,6 +162,15 @@ declare class AXPEntityDetailPopoverComponent {
|
|
|
96
162
|
protected entityDetails: _angular_core.WritableSignal<any>;
|
|
97
163
|
protected isLoadingDetails: _angular_core.WritableSignal<boolean>;
|
|
98
164
|
protected isDetailPopoverOpen: _angular_core.WritableSignal<boolean>;
|
|
165
|
+
/**
|
|
166
|
+
* Stable list of property widgets for the template. Must be a signal (computed), not a method:
|
|
167
|
+
* calling a method from the template rebuilds nodes every CD cycle and can make the widget renderer loop.
|
|
168
|
+
*/
|
|
169
|
+
protected readonly entityPropertiesWithWidgets: _angular_core.Signal<{
|
|
170
|
+
name: string;
|
|
171
|
+
title: string;
|
|
172
|
+
node: AXPWidgetNode;
|
|
173
|
+
}[]>;
|
|
99
174
|
/**
|
|
100
175
|
* Show the entity detail popover
|
|
101
176
|
*/
|
|
@@ -121,11 +196,12 @@ declare class AXPEntityDetailPopoverComponent {
|
|
|
121
196
|
* Name priority MUST come before widget-type priority.
|
|
122
197
|
*/
|
|
123
198
|
private getNameImportanceScore;
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
199
|
+
private buildEntityPropertiesWithWidgets;
|
|
200
|
+
/**
|
|
201
|
+
* Resolves the data path for a property. For lookups with expose, returns the expanded path
|
|
202
|
+
* when data has it (e.g. personTitle). Otherwise returns property name (e.g. personTitleId).
|
|
203
|
+
*/
|
|
204
|
+
private resolveDataPath;
|
|
129
205
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityDetailPopoverComponent, never>;
|
|
130
206
|
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; }; "breadcrumb": { "alias": "breadcrumb"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
131
207
|
}
|
|
@@ -200,7 +276,7 @@ declare class AXPEntitiesListDataSourceDefinition implements AXPDataSourceDefini
|
|
|
200
276
|
}
|
|
201
277
|
|
|
202
278
|
declare class AXPEntityCommandTriggerViewModel {
|
|
203
|
-
priority: 'primary' | 'secondary';
|
|
279
|
+
priority: 'primary' | 'secondary' | 'none';
|
|
204
280
|
order: number;
|
|
205
281
|
color: AXStyleColorType;
|
|
206
282
|
icon: string;
|
|
@@ -214,7 +290,9 @@ declare class AXPEntityCommandTriggerViewModel {
|
|
|
214
290
|
options: any;
|
|
215
291
|
metadata?: AXPMetaData;
|
|
216
292
|
default?: boolean;
|
|
217
|
-
|
|
293
|
+
items?: AXPEntityCommandTriggerViewModel[];
|
|
294
|
+
isChild?: boolean;
|
|
295
|
+
constructor(entity: AXPEntity, action: AXPEntityAction, isChild?: boolean);
|
|
218
296
|
}
|
|
219
297
|
declare class AXPEntityListViewColumnViewModel {
|
|
220
298
|
readonly property: AXPEntityProperty;
|
|
@@ -524,6 +602,8 @@ declare class AXPEntityMasterListViewModel {
|
|
|
524
602
|
hasInlineFilters: _angular_core.Signal<boolean>;
|
|
525
603
|
beardcrumbs: _angular_core.Signal<AXPBreadcrumbItem[]>;
|
|
526
604
|
private allActions;
|
|
605
|
+
/** Flattened actions including children for execute lookup */
|
|
606
|
+
private flattenedActions;
|
|
527
607
|
getPrimaryActions(): Promise<AXPEntityCommandTriggerViewModel[]>;
|
|
528
608
|
getSecondaryActions(): Promise<AXPEntityCommandTriggerViewModel[]>;
|
|
529
609
|
selectedScopeActionsCount: _angular_core.Signal<number>;
|
|
@@ -577,6 +657,11 @@ declare class AXPEntityMasterListViewModel {
|
|
|
577
657
|
* pre-fills categoryIds and categories for the create form.
|
|
578
658
|
*/
|
|
579
659
|
private mergeDefaultCategoryForCreate;
|
|
660
|
+
/**
|
|
661
|
+
* Seeds create payloads with fixed list-view conditions (e.g. scope=T on the tenant dashboards view)
|
|
662
|
+
* so new rows match the view context and downstream queries (such as home dashboard) can find them.
|
|
663
|
+
*/
|
|
664
|
+
private mergeViewConditionsForCreate;
|
|
580
665
|
private evaluateExpressions;
|
|
581
666
|
execute(command: AXPExecuteCommand): Promise<void>;
|
|
582
667
|
destroy(): void;
|
|
@@ -717,6 +802,23 @@ declare class AXPEntityMasterUpdateViewModelFactory {
|
|
|
717
802
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPEntityMasterUpdateViewModelFactory>;
|
|
718
803
|
}
|
|
719
804
|
|
|
805
|
+
type AXPCollectEntityQuickSearchPathsResolver = (moduleName: string, entityName: string) => Promise<AXPEntity | null>;
|
|
806
|
+
/**
|
|
807
|
+
* Lodash-get paths for quick search from a single entity definition: string-like property names
|
|
808
|
+
* plus lookup `expose[].target` paths (e.g. `brand.title`).
|
|
809
|
+
*/
|
|
810
|
+
declare function collectQuickSearchPathsFromSingleEntityDefinition(entity: AXPEntity | null | undefined): string[];
|
|
811
|
+
/**
|
|
812
|
+
* Adds dotted paths from master columns (`name` or `options.dataPath`), e.g. `person.fullName`, `jobDefinition.title`.
|
|
813
|
+
*/
|
|
814
|
+
declare function collectNestedFieldPathsFromEntityColumns(entity: AXPEntity | null | undefined): string[];
|
|
815
|
+
/**
|
|
816
|
+
* Collects lodash-get field paths used for mock/API quick search (`contains` / OR filters):
|
|
817
|
+
* host properties and lookup expose targets, dotted column paths, and merge-detail related entities
|
|
818
|
+
* prefixed with the related entity merge `persistence.dataPath` (e.g. `person.firstName`).
|
|
819
|
+
*/
|
|
820
|
+
declare function collectEntityQuickSearchFieldPaths(entity: AXPEntity | null | undefined, resolveRelatedDefinition: AXPCollectEntityQuickSearchPathsResolver): Promise<string[]>;
|
|
821
|
+
|
|
720
822
|
declare class AXPEntityPreloadFiltersViewModel {
|
|
721
823
|
private injector;
|
|
722
824
|
private config;
|
|
@@ -923,6 +1025,7 @@ interface AXPEntityDefinitionPreloader {
|
|
|
923
1025
|
}
|
|
924
1026
|
declare class AXPEntityDefinitionRegistryService {
|
|
925
1027
|
private middleware;
|
|
1028
|
+
private columnEnrichment;
|
|
926
1029
|
private onChanged;
|
|
927
1030
|
get onChanged$(): rxjs.Observable<{
|
|
928
1031
|
name: string;
|
|
@@ -984,28 +1087,142 @@ declare class AXPEntityDefinitionRegistryService {
|
|
|
984
1087
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPEntityDefinitionRegistryService>;
|
|
985
1088
|
}
|
|
986
1089
|
|
|
1090
|
+
type AXPEntityAggregateReducerType = 'count' | 'sum' | 'min' | 'max' | 'avg';
|
|
1091
|
+
interface AXPEntityAggregateMeasure {
|
|
1092
|
+
reducer: AXPEntityAggregateReducerType;
|
|
1093
|
+
/** Required for sum, min, max, and avg. Ignored for count (rows per group). */
|
|
1094
|
+
field?: string;
|
|
1095
|
+
/** Result column name; defaults are derived from the reducer and field. */
|
|
1096
|
+
alias?: string;
|
|
1097
|
+
}
|
|
1098
|
+
/**
|
|
1099
|
+
* Aggregate stored rows after the same filter/sort pipeline as {@link AXPQueryRequest}.
|
|
1100
|
+
* Group keys use dotted field paths (same as lodash-style getters).
|
|
1101
|
+
*/
|
|
1102
|
+
interface AXPEntityAggregateRequest extends Pick<AXPQueryRequest, 'filter' | 'sort'> {
|
|
1103
|
+
groupBy: string[];
|
|
1104
|
+
measures: AXPEntityAggregateMeasure[];
|
|
1105
|
+
}
|
|
1106
|
+
interface AXPEntityAggregateResult {
|
|
1107
|
+
rows: Record<string, unknown>[];
|
|
1108
|
+
}
|
|
1109
|
+
interface AXPEntityQueryAllOptions {
|
|
1110
|
+
/**
|
|
1111
|
+
* Page size for backends that read page-by-page (HTTP API).
|
|
1112
|
+
* In-memory backends load the filtered set once and ignore this.
|
|
1113
|
+
*/
|
|
1114
|
+
pageSize?: number;
|
|
1115
|
+
/** Maximum rows to return or scan (safety cap). */
|
|
1116
|
+
maxRows?: number;
|
|
1117
|
+
}
|
|
1118
|
+
interface AXPEntityQueryAllResult<T> {
|
|
1119
|
+
items: T[];
|
|
1120
|
+
/** Row count matching filter/sort before applying maxRows. */
|
|
1121
|
+
total: number;
|
|
1122
|
+
/** True when maxRows prevented returning every matching row. */
|
|
1123
|
+
truncated: boolean;
|
|
1124
|
+
}
|
|
1125
|
+
interface AXPEntityAggregateOptions {
|
|
1126
|
+
/** Maximum rows to load for aggregation when the backend pages remotely (default 50_000). */
|
|
1127
|
+
maxRows?: number;
|
|
1128
|
+
/** Page size for remote paging during aggregate (default 500). */
|
|
1129
|
+
pageSize?: number;
|
|
1130
|
+
}
|
|
1131
|
+
|
|
1132
|
+
/**
|
|
1133
|
+
* Pure aggregation over already-filtered plain rows (e.g. outputs of {@link filterSortEntityRows}).
|
|
1134
|
+
*/
|
|
1135
|
+
declare function computeEntityAggregates<T extends Record<string, unknown>>(rows: T[], request: AXPEntityAggregateRequest): Record<string, unknown>[];
|
|
1136
|
+
|
|
1137
|
+
interface RunEntityQueryAdapters<T = unknown> {
|
|
1138
|
+
getRawAll(entityName: string): Promise<T[]>;
|
|
1139
|
+
getDirectChildCount(categoryId: string, entityName: string): Promise<number>;
|
|
1140
|
+
getAllChildCategoryIds(categoryId: string, entityName: string): Promise<string[]>;
|
|
1141
|
+
}
|
|
1142
|
+
/**
|
|
1143
|
+
* Check if the entity is a category entity (ends with 'Category').
|
|
1144
|
+
*/
|
|
1145
|
+
declare function isCategoryEntity(entityName: string): boolean;
|
|
1146
|
+
/**
|
|
1147
|
+
* Check if the filter is a category filter (contains operator on categoryIds field).
|
|
1148
|
+
* Handles both simple filters and compound filters.
|
|
1149
|
+
*/
|
|
1150
|
+
declare function isCategoryFilter(filter: any): boolean;
|
|
1151
|
+
/**
|
|
1152
|
+
* Loads raw rows for an entity and applies the same sorting and filtering as {@link runEntityQuery},
|
|
1153
|
+
* without pagination.
|
|
1154
|
+
*/
|
|
1155
|
+
declare function filterSortEntityRows<T = unknown>(entityName: string, request: Pick<AXPQueryRequest, 'filter' | 'sort'>, adapters: RunEntityQueryAdapters<T>): Promise<T[]>;
|
|
1156
|
+
/**
|
|
1157
|
+
* Shared entity query logic: sort, filter (including recursive category filter), childrenCount, pagination.
|
|
1158
|
+
*/
|
|
1159
|
+
declare function runEntityQuery<T = unknown>(entityName: string, request: AXPQueryRequest, adapters: RunEntityQueryAdapters<T>): Promise<AXPPagedListResult<T>>;
|
|
1160
|
+
|
|
1161
|
+
/**
|
|
1162
|
+
* One audit point in time for a record lifecycle event.
|
|
1163
|
+
*
|
|
1164
|
+
* Used inside {@link AXPRecordAuditInfo} (`created`, `updated`, `deleted`).
|
|
1165
|
+
* Backends and mock middleware typically set `at` and `by`; `reason` and `source`
|
|
1166
|
+
* (for example `api`, `system`, `import`) are optional diagnostic fields.
|
|
1167
|
+
*/
|
|
987
1168
|
interface AXPAuditEvent {
|
|
988
1169
|
at?: Date;
|
|
989
1170
|
by?: AXPUserReference;
|
|
1171
|
+
/** Optional business or technical reason for the event. */
|
|
990
1172
|
reason?: string;
|
|
1173
|
+
/** Optional origin of the change (for example `api`, `system`, `import`). */
|
|
991
1174
|
source?: string;
|
|
992
1175
|
}
|
|
1176
|
+
/**
|
|
1177
|
+
* Aggregated audit trail for a persisted row.
|
|
1178
|
+
*
|
|
1179
|
+
* Filled by APIs or connectivity mock middleware when creating, updating, or
|
|
1180
|
+
* soft-deleting records. UI surfaces may show these via the history plugin or
|
|
1181
|
+
* custom columns. Version snapshot pipelines often **omit** this object from
|
|
1182
|
+
* stored snapshots while still applying it to live payloads.
|
|
1183
|
+
*
|
|
1184
|
+
* @remarks Fields are optional today; callers should tolerate partial data.
|
|
1185
|
+
*/
|
|
993
1186
|
interface AXPRecordAuditInfo {
|
|
994
1187
|
created?: AXPAuditEvent;
|
|
995
1188
|
updated?: AXPAuditEvent;
|
|
996
1189
|
deleted?: AXPAuditEvent;
|
|
997
1190
|
}
|
|
1191
|
+
/**
|
|
1192
|
+
* Cross-cutting flags that are not part of the domain schema but affect how a
|
|
1193
|
+
* row is shown or edited (visibility, built-in/system rows, immutability).
|
|
1194
|
+
*
|
|
1195
|
+
* Module entity models sometimes expose only this slice (for example
|
|
1196
|
+
* `stateInfo` on business units) when the rest of the row uses a bespoke shape.
|
|
1197
|
+
*
|
|
1198
|
+
* @remarks Entity list/detail flows should honor these flags where applicable.
|
|
1199
|
+
*/
|
|
998
1200
|
interface AXPRecordStateInfo {
|
|
999
1201
|
isHidden?: boolean;
|
|
1000
1202
|
isSystem?: boolean;
|
|
1001
1203
|
isImmutable?: boolean;
|
|
1204
|
+
/** @deprecated Prefer explicit domain modeling over this flag. */
|
|
1002
1205
|
isDistributed?: boolean;
|
|
1003
1206
|
}
|
|
1207
|
+
/**
|
|
1208
|
+
* Tenancy and actor scope for a row in a multi-tenant application.
|
|
1209
|
+
*
|
|
1210
|
+
* Used to associate a record with a tenant, application instance, or owning
|
|
1211
|
+
* user when the API returns ownership metadata alongside domain fields.
|
|
1212
|
+
*/
|
|
1004
1213
|
interface AXPRecordOwnershipInfo {
|
|
1005
1214
|
tenantId?: string;
|
|
1006
1215
|
applicationId?: string;
|
|
1007
1216
|
userId?: string;
|
|
1008
1217
|
}
|
|
1218
|
+
/**
|
|
1219
|
+
* Base shape for **entity row** TypeScript models across modules: a stable
|
|
1220
|
+
* identifier plus optional platform metadata.
|
|
1221
|
+
*
|
|
1222
|
+
* Module-specific interfaces extend this with domain properties
|
|
1223
|
+
* (`extends AXPEntityModel<string>` / `AXPEntityModel<Id>`) while reusing
|
|
1224
|
+
* `auditInfo`, `stateInfo`, and `ownershipInfo` when the backend sends them.
|
|
1225
|
+
*/
|
|
1009
1226
|
interface AXPEntityModel<Id> {
|
|
1010
1227
|
id: Id;
|
|
1011
1228
|
auditInfo?: AXPRecordAuditInfo;
|
|
@@ -1037,6 +1254,14 @@ declare abstract class AXPEntityStorageService<TKey, TDetailDto extends AXPEntit
|
|
|
1037
1254
|
abstract insertOne(entityName: string, entity: TCreateDto): Promise<TKey>;
|
|
1038
1255
|
abstract getAll(entityName: string): Promise<TListItemDto[]>;
|
|
1039
1256
|
abstract query(entityName: string, request: AXPQueryRequest): Promise<AXPPagedListResult<TListItemDto>>;
|
|
1257
|
+
abstract count(entityName: string, request: Pick<AXPQueryRequest, 'filter' | 'sort'>): Promise<number>;
|
|
1258
|
+
abstract queryAll(entityName: string, request: Pick<AXPQueryRequest, 'filter' | 'sort'>, options?: AXPEntityQueryAllOptions): Promise<AXPEntityQueryAllResult<TListItemDto>>;
|
|
1259
|
+
abstract getMany(entityName: string, ids: TKey[]): Promise<(TListItemDto | null)[]>;
|
|
1260
|
+
abstract exists(entityName: string, id: TKey): Promise<boolean>;
|
|
1261
|
+
abstract upsertOne(entityName: string, entity: TCreateDto, options?: {
|
|
1262
|
+
merge?: boolean;
|
|
1263
|
+
}): Promise<TKey>;
|
|
1264
|
+
abstract aggregate(entityName: string, request: AXPEntityAggregateRequest, options?: AXPEntityAggregateOptions): Promise<AXPEntityAggregateResult>;
|
|
1040
1265
|
}
|
|
1041
1266
|
declare abstract class AXPEntityDataProvider<TKey, TDetailDto extends AXPEntityDetailDto<TKey> = AXPEntityModel<TKey>, TListItemDto extends AXPEntityListItemDto<TKey> = TDetailDto, TCreateDto extends AXPEntityCreateDto = TDetailDto, TUpdateDto extends AXPEntityUpdateDto<TKey> = TDetailDto> {
|
|
1042
1267
|
abstract get entityName(): string;
|
|
@@ -1047,6 +1272,14 @@ declare abstract class AXPEntityDataProvider<TKey, TDetailDto extends AXPEntityD
|
|
|
1047
1272
|
abstract deleteOne(id: TKey): Promise<void>;
|
|
1048
1273
|
abstract insertOne(entity: TCreateDto): Promise<TKey>;
|
|
1049
1274
|
abstract query(request: AXPQueryRequest): Promise<AXPPagedListResult<TListItemDto>>;
|
|
1275
|
+
abstract count(request: Pick<AXPQueryRequest, 'filter' | 'sort'>): Promise<number>;
|
|
1276
|
+
abstract queryAll(request: Pick<AXPQueryRequest, 'filter' | 'sort'>, options?: AXPEntityQueryAllOptions): Promise<AXPEntityQueryAllResult<TListItemDto>>;
|
|
1277
|
+
abstract getMany(ids: TKey[]): Promise<(TListItemDto | null)[]>;
|
|
1278
|
+
abstract exists(id: TKey): Promise<boolean>;
|
|
1279
|
+
abstract upsertOne(entity: TCreateDto, options?: {
|
|
1280
|
+
merge?: boolean;
|
|
1281
|
+
}): Promise<TKey>;
|
|
1282
|
+
abstract aggregate(request: AXPEntityAggregateRequest, options?: AXPEntityAggregateOptions): Promise<AXPEntityAggregateResult>;
|
|
1050
1283
|
}
|
|
1051
1284
|
declare class AXPEntityDataProviderImpl<TKey, TDetailDto extends AXPEntityDetailDto<TKey> = AXPEntityModel<TKey>, TListItemDto extends AXPEntityListItemDto<TKey> = TDetailDto, TCreateDto extends AXPEntityCreateDto = TDetailDto, TUpdateDto extends AXPEntityUpdateDto<TKey> = TDetailDto> implements AXPEntityDataProvider<TKey, TDetailDto, TListItemDto, TCreateDto, TUpdateDto> {
|
|
1052
1285
|
private storageService;
|
|
@@ -1059,6 +1292,14 @@ declare class AXPEntityDataProviderImpl<TKey, TDetailDto extends AXPEntityDetail
|
|
|
1059
1292
|
updateOne(id: TKey, keyValues: Omit<Partial<TUpdateDto>, 'id'>): Promise<TDetailDto>;
|
|
1060
1293
|
deleteOne(id: TKey): Promise<void>;
|
|
1061
1294
|
insertOne(entity: TCreateDto): Promise<TKey>;
|
|
1295
|
+
count(request: Pick<AXPQueryRequest, 'filter' | 'sort'>): Promise<number>;
|
|
1296
|
+
queryAll(request: Pick<AXPQueryRequest, 'filter' | 'sort'>, options?: AXPEntityQueryAllOptions): Promise<AXPEntityQueryAllResult<TListItemDto>>;
|
|
1297
|
+
getMany(ids: TKey[]): Promise<(TListItemDto | null)[]>;
|
|
1298
|
+
exists(id: TKey): Promise<boolean>;
|
|
1299
|
+
upsertOne(entity: TCreateDto, options?: {
|
|
1300
|
+
merge?: boolean;
|
|
1301
|
+
}): Promise<TKey>;
|
|
1302
|
+
aggregate(request: AXPEntityAggregateRequest, options?: AXPEntityAggregateOptions): Promise<AXPEntityAggregateResult>;
|
|
1062
1303
|
}
|
|
1063
1304
|
declare abstract class AXMEntityCrudService<TKey, TDetailDto extends AXPEntityDetailDto<TKey> = AXPEntityModel<TKey>, TListItemDto extends AXPEntityListItemDto<TKey> = TDetailDto, TCreateDto extends AXPEntityCreateDto = TDetailDto, TUpdateDto extends AXPEntityUpdateDto<TKey> = TDetailDto> {
|
|
1064
1305
|
abstract insertOne(request: TCreateDto): Promise<TKey>;
|
|
@@ -1091,6 +1332,14 @@ declare class AXMEntityCrudServiceImpl<TKey, TDetailDto extends AXPEntityDetailD
|
|
|
1091
1332
|
}): Promise<AXPPagedListResult<TListItemDto>>;
|
|
1092
1333
|
getCategoriesList(request?: AXPQueryRequest): Promise<AXPPagedListResult<AXPCategoryEntity$1<TKey>>>;
|
|
1093
1334
|
get storageService(): AXPEntityStorageService<any, any, any, any, any>;
|
|
1335
|
+
count(request: Pick<AXPQueryRequest, 'filter' | 'sort'>): Promise<number>;
|
|
1336
|
+
queryAll(request: Pick<AXPQueryRequest, 'filter' | 'sort'>, options?: AXPEntityQueryAllOptions): Promise<AXPEntityQueryAllResult<TListItemDto>>;
|
|
1337
|
+
getMany(ids: TKey[]): Promise<(TListItemDto | null)[]>;
|
|
1338
|
+
exists(id: TKey): Promise<boolean>;
|
|
1339
|
+
upsertOne(entity: TCreateDto, options?: {
|
|
1340
|
+
merge?: boolean;
|
|
1341
|
+
}): Promise<TKey>;
|
|
1342
|
+
aggregate(request: AXPEntityAggregateRequest, options?: AXPEntityAggregateOptions): Promise<AXPEntityAggregateResult>;
|
|
1094
1343
|
custom<Req, Res>(request: Req): Promise<void>;
|
|
1095
1344
|
}
|
|
1096
1345
|
|
|
@@ -1136,9 +1385,59 @@ declare class AXPEntityResolver {
|
|
|
1136
1385
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPEntityResolver>;
|
|
1137
1386
|
}
|
|
1138
1387
|
|
|
1388
|
+
/**
|
|
1389
|
+
* Built-in entity detail tabs from plugins. Sidebar order (after related page-list / page-detail
|
|
1390
|
+
* tabs): meta-data-builder → attachments → documents → comments → history.
|
|
1391
|
+
*/
|
|
1392
|
+
type EntityDetailPluginPageSlot = 'meta-data-builder' | 'attachments' | 'documents' | 'comments' | 'history';
|
|
1393
|
+
/** Identifies an `entity.pages` entry when skipping its order during recomputation. */
|
|
1394
|
+
interface SkipEntityComponentPageRef {
|
|
1395
|
+
componentKey: string;
|
|
1396
|
+
/** When set, only the page with this `field` is skipped (e.g. attachments / meta-data per field). */
|
|
1397
|
+
field?: string;
|
|
1398
|
+
}
|
|
1399
|
+
interface ResolveEntityPluginDetailPageOrderOptions {
|
|
1400
|
+
/** Component key of the page being added or updated (used to count sibling tabs in the same slot). */
|
|
1401
|
+
componentKey: string;
|
|
1402
|
+
/**
|
|
1403
|
+
* Ignore this page when counting siblings / recomputing (the page currently being updated).
|
|
1404
|
+
*/
|
|
1405
|
+
skipPage?: SkipEntityComponentPageRef;
|
|
1406
|
+
/**
|
|
1407
|
+
* Field name for multi-page slots (`attachments`, `meta-data-builder`). Omit for single-tab slots.
|
|
1408
|
+
*/
|
|
1409
|
+
field?: string;
|
|
1410
|
+
/** Gap between auto-assigned related tab orders. Default: 10. */
|
|
1411
|
+
relatedOrderStep?: number;
|
|
1412
|
+
/** Minimum start of the plugin zone (after related tabs). Default: 100_000. */
|
|
1413
|
+
pluginZoneFloor?: number;
|
|
1414
|
+
}
|
|
1415
|
+
/**
|
|
1416
|
+
* Resolves `layout.order` for a built-in plugin detail tab (`entity.pages`).
|
|
1417
|
+
*
|
|
1418
|
+
* 1. Assigns finite `layout.order` values to related `page-list` / `page-detail` rows that omit
|
|
1419
|
+
* `order` (the composer otherwise treats them as +Infinity).
|
|
1420
|
+
* 2. Places plugin tabs in a fixed relative order: meta-data-builder → attachments → documents →
|
|
1421
|
+
* comments → history, after all related tabs.
|
|
1422
|
+
*/
|
|
1423
|
+
declare function resolveEntityPluginDetailPageOrder(input: {
|
|
1424
|
+
relatedEntities?: AXPRelatedEntity[];
|
|
1425
|
+
pages?: Array<AXPEntityPage & {
|
|
1426
|
+
field?: string;
|
|
1427
|
+
}>;
|
|
1428
|
+
}, slot: EntityDetailPluginPageSlot, options: ResolveEntityPluginDetailPageOrderOptions): number;
|
|
1429
|
+
|
|
1430
|
+
/**
|
|
1431
|
+
* Sort key for entries in `interfaces.master.{create|update|single}.properties`.
|
|
1432
|
+
* Uses `layout.order` when set and finite; otherwise the property index in that list.
|
|
1433
|
+
*/
|
|
1434
|
+
declare function getMasterInterfacePropertySortKey(interfaceRow: {
|
|
1435
|
+
layout?: AXPEntityPropertyLayoutConfig | undefined;
|
|
1436
|
+
} | undefined, indexInMasterInterfaceList: number): number;
|
|
1437
|
+
|
|
1139
1438
|
declare class AXPEntityModule {
|
|
1140
1439
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityModule, never>;
|
|
1141
|
-
static ɵmod: _angular_core.ɵɵNgModuleDeclaration<AXPEntityModule, never, [typeof i1.RouterModule, typeof i2.AXPWorkflowModule, typeof i3.AXPWidgetCoreModule], never>;
|
|
1440
|
+
static ɵmod: _angular_core.ɵɵNgModuleDeclaration<AXPEntityModule, never, [typeof i1.RouterModule, typeof i2.AXPWorkflowModule, typeof i3.AXPWidgetCoreModule, typeof i4.LayoutBuilderModule], never>;
|
|
1142
1441
|
static ɵinj: _angular_core.ɵɵInjectorDeclaration<AXPEntityModule>;
|
|
1143
1442
|
}
|
|
1144
1443
|
|
|
@@ -1262,7 +1561,16 @@ interface AXPEntityStorageContext<TKey = any, TDetailDto extends AXPEntityDetail
|
|
|
1262
1561
|
getOne: (entityName: string, id: TKey) => Promise<TDetailDto>;
|
|
1263
1562
|
insertOne: (entityName: string, entity: TCreateDto) => Promise<TKey>;
|
|
1264
1563
|
query: (entityName: string, request: AXPQueryRequest) => Promise<AXPPagedListResult<TListItemDto>>;
|
|
1265
|
-
updateOne: (entityName: string, id: TKey, data: Partial<TUpdateDto>) => Promise<
|
|
1564
|
+
updateOne: (entityName: string, id: TKey, data: Partial<TUpdateDto>) => Promise<TDetailDto>;
|
|
1565
|
+
deleteOne: (entityName: string, id: TKey) => Promise<void>;
|
|
1566
|
+
count: (entityName: string, request: Pick<AXPQueryRequest, 'filter' | 'sort'>) => Promise<number>;
|
|
1567
|
+
queryAll: (entityName: string, request: Pick<AXPQueryRequest, 'filter' | 'sort'>, options?: AXPEntityQueryAllOptions) => Promise<AXPEntityQueryAllResult<TListItemDto>>;
|
|
1568
|
+
getMany: (entityName: string, ids: TKey[]) => Promise<(TListItemDto | null)[]>;
|
|
1569
|
+
exists: (entityName: string, id: TKey) => Promise<boolean>;
|
|
1570
|
+
upsertOne: (entityName: string, entity: TCreateDto, options?: {
|
|
1571
|
+
merge?: boolean;
|
|
1572
|
+
}) => Promise<TKey>;
|
|
1573
|
+
aggregate: (entityName: string, request: AXPEntityAggregateRequest, options?: AXPEntityAggregateOptions) => Promise<AXPEntityAggregateResult>;
|
|
1266
1574
|
};
|
|
1267
1575
|
}
|
|
1268
1576
|
interface AXPEntityStorageMiddleware<TKey = any, TDetailDto extends AXPEntityDetailDto<TKey> = any, TListItemDto extends AXPEntityListItemDto<TKey> = any, TCreateDto extends AXPEntityCreateDto = any, TUpdateDto extends AXPEntityUpdateDto<TKey> = any> {
|
|
@@ -1308,41 +1616,57 @@ declare const columnWidthMiddleware: AXPEntityModifier;
|
|
|
1308
1616
|
declare const columnWidthMiddlewareProvider: AXPEntityModifierProvider;
|
|
1309
1617
|
|
|
1310
1618
|
/**
|
|
1311
|
-
*
|
|
1619
|
+
* Default order for common list view columns.
|
|
1620
|
+
* Lower numbers appear first. Columns not in this map get order 500 (middle).
|
|
1621
|
+
* Use high numbers (990+) for columns that should appear at the end.
|
|
1312
1622
|
*/
|
|
1623
|
+
declare const DEFAULT_COLUMN_ORDER: Record<string, number>;
|
|
1624
|
+
/**
|
|
1625
|
+
* Entity modifier that sorts list view columns by default order.
|
|
1626
|
+
* Similar to layout-ordering for sections/properties, but for list columns.
|
|
1627
|
+
*/
|
|
1628
|
+
declare const columnOrderingMiddleware: AXPEntityModifier;
|
|
1629
|
+
/**
|
|
1630
|
+
* Factory to create a column ordering middleware with custom order config
|
|
1631
|
+
*/
|
|
1632
|
+
declare const createColumnOrderingMiddlewareProvider: (columnOrder?: Record<string, number>, entityName?: string | RegExp) => AXPEntityModifierProvider;
|
|
1633
|
+
/**
|
|
1634
|
+
* Default provider that applies column ordering to all entities
|
|
1635
|
+
*/
|
|
1636
|
+
declare const columnOrderingMiddlewareProvider: AXPEntityModifierProvider;
|
|
1637
|
+
|
|
1638
|
+
/**
|
|
1639
|
+
* Default colSpans for two properties in one section (`md` / `lg`).
|
|
1640
|
+
* Missing `positions[*].colSpan` are filled only; entities keep full control.
|
|
1641
|
+
*/
|
|
1642
|
+
interface PairSpanRule {
|
|
1643
|
+
first: string;
|
|
1644
|
+
second: string;
|
|
1645
|
+
/** Col span applied to {@link first} */
|
|
1646
|
+
firstSpan: number;
|
|
1647
|
+
/** Col span applied to {@link second} */
|
|
1648
|
+
secondSpan: number;
|
|
1649
|
+
breakpoints?: readonly ('sm' | 'md' | 'lg')[];
|
|
1650
|
+
}
|
|
1313
1651
|
interface SectionOrderConfig {
|
|
1314
|
-
/**
|
|
1315
|
-
* Default order for common sections
|
|
1316
|
-
* Lower numbers appear first
|
|
1317
|
-
*/
|
|
1318
1652
|
sections: Record<string, number>;
|
|
1653
|
+
properties: Record<string, number>;
|
|
1319
1654
|
/**
|
|
1320
|
-
*
|
|
1321
|
-
*
|
|
1655
|
+
* Defaults for pairing two columns (e.g. code + title). Replace or extend defaults.
|
|
1656
|
+
* - `undefined`: use {@link DEFAULT_PAIR_SPAN_RULES}
|
|
1657
|
+
* - `false`: do not apply any pair spans
|
|
1658
|
+
* - `[...]` + spread `DEFAULT_PAIR_SPAN_RULES` when you want to append custom pairs
|
|
1322
1659
|
*/
|
|
1323
|
-
|
|
1660
|
+
pairSpanRules?: PairSpanRule[] | false;
|
|
1324
1661
|
}
|
|
1325
1662
|
/**
|
|
1326
|
-
* Default
|
|
1663
|
+
* Default shipped rules: narrow identifier + wider title on `md` / `lg`.
|
|
1327
1664
|
*/
|
|
1665
|
+
declare const DEFAULT_PAIR_SPAN_RULES: readonly PairSpanRule[];
|
|
1328
1666
|
declare const DEFAULT_SECTION_ORDER: Record<string, number>;
|
|
1329
|
-
/**
|
|
1330
|
-
* Default order for common properties
|
|
1331
|
-
* Format: 'sectionId.propertyName' for section-specific or 'propertyName' for any section
|
|
1332
|
-
*/
|
|
1333
1667
|
declare const DEFAULT_PROPERTY_ORDER: Record<string, number>;
|
|
1334
|
-
/**
|
|
1335
|
-
* Factory to create a layout ordering middleware
|
|
1336
|
-
*/
|
|
1337
1668
|
declare const layoutOrderingMiddlewareFactory: (config: SectionOrderConfig) => AXPEntityModifier;
|
|
1338
|
-
/**
|
|
1339
|
-
* Helper to create a provider for the layout ordering middleware
|
|
1340
|
-
* By default it applies to all entities using the '*' pattern
|
|
1341
|
-
*/
|
|
1342
1669
|
declare const createLayoutOrderingMiddlewareProvider: (config?: Partial<SectionOrderConfig>, entityName?: string | RegExp) => AXPEntityModifierProvider;
|
|
1343
|
-
/**
|
|
1344
|
-
* Default provider registered with the default configuration
|
|
1345
|
-
*/
|
|
1346
1670
|
declare const layoutOrderingMiddlewareProvider: AXPEntityModifierProvider;
|
|
1347
1671
|
|
|
1348
1672
|
/**
|
|
@@ -1361,6 +1685,28 @@ declare class AXPLayoutOrderingConfigService {
|
|
|
1361
1685
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPLayoutOrderingConfigService>;
|
|
1362
1686
|
}
|
|
1363
1687
|
|
|
1688
|
+
/**
|
|
1689
|
+
* Ensures all entities have a searchResult.description.
|
|
1690
|
+
* Uses @{i18nScope}:module.title when missing (guaranteed to exist in i18n).
|
|
1691
|
+
*/
|
|
1692
|
+
declare const searchResultDescriptionMiddleware: AXPEntityModifier;
|
|
1693
|
+
declare const searchResultDescriptionMiddlewareProvider: AXPEntityModifierProvider;
|
|
1694
|
+
|
|
1695
|
+
/**
|
|
1696
|
+
* When enabled in regional settings ({@link AXPRegionalSetting.MultiLanguageSupport}), walks each
|
|
1697
|
+
* property's `schema.interface` widget tree and sets `options.multiLanguage` on matching text-like
|
|
1698
|
+
* editors (including nested GridLayout leaves such as `pre.content` / `post.summaryContent`), unless
|
|
1699
|
+
* the node already specifies `multiLanguage` (including explicit false to opt out).
|
|
1700
|
+
*/
|
|
1701
|
+
declare const defaultMultiLanguageMiddleware: AXPEntityModifier;
|
|
1702
|
+
declare const defaultMultiLanguageMiddlewareProvider: AXPEntityModifierProvider;
|
|
1703
|
+
|
|
1704
|
+
/**
|
|
1705
|
+
* Registers entity CRUD commands and queries for the given entity keys.
|
|
1706
|
+
* Use in app/module providers; consumes AXPEntityService from this package.
|
|
1707
|
+
*/
|
|
1708
|
+
declare function provideEntity(entityKeys: string[]): EnvironmentProviders;
|
|
1709
|
+
|
|
1364
1710
|
interface AXPGetEntityDetailsQueryInput {
|
|
1365
1711
|
entity: string;
|
|
1366
1712
|
id: string;
|
|
@@ -1394,9 +1740,14 @@ declare class AXPGetEntityDetailsQuery implements AXPQuery<AXPGetEntityDetailsQu
|
|
|
1394
1740
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPGetEntityDetailsQuery>;
|
|
1395
1741
|
}
|
|
1396
1742
|
|
|
1743
|
+
/**
|
|
1744
|
+
* i18n key for the synthetic root node ("all categories"). Resolve in templates with the translate pipe.
|
|
1745
|
+
*/
|
|
1746
|
+
declare const AXP_CATEGORY_TREE_ROOT_TITLE_I18N_KEY = "@general:terms.interface.selection.all-items";
|
|
1397
1747
|
interface CategoryQueryEvent {
|
|
1398
1748
|
skip: number;
|
|
1399
1749
|
take: number;
|
|
1750
|
+
sort?: AXDataSourceSortOption[];
|
|
1400
1751
|
filter?: {
|
|
1401
1752
|
field?: string;
|
|
1402
1753
|
value?: unknown;
|
|
@@ -1426,7 +1777,14 @@ interface CategoryTreeNodeData {
|
|
|
1426
1777
|
}
|
|
1427
1778
|
declare class AXPCategoryTreeService {
|
|
1428
1779
|
protected readonly entityResolver: AXPEntityDefinitionRegistryService;
|
|
1429
|
-
|
|
1780
|
+
private readonly translation;
|
|
1781
|
+
/** Sort field for list queries (backend); matches configured category display field. */
|
|
1782
|
+
private getAlphabeticalSortOptions;
|
|
1783
|
+
/**
|
|
1784
|
+
* Sort tree nodes by resolved display title (locale-aware).
|
|
1785
|
+
* Ensures correct order for multi-language titles when storage order differs from UI order.
|
|
1786
|
+
*/
|
|
1787
|
+
private sortTreeNodesByDisplayTitle;
|
|
1430
1788
|
/**
|
|
1431
1789
|
* Initialize category tree data source
|
|
1432
1790
|
*/
|
|
@@ -1464,6 +1822,48 @@ declare class AXPCategoryTreeService {
|
|
|
1464
1822
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPCategoryTreeService>;
|
|
1465
1823
|
}
|
|
1466
1824
|
|
|
1825
|
+
declare class AXPRelatedColumnEnrichmentService {
|
|
1826
|
+
private readonly metadataResolver;
|
|
1827
|
+
/**
|
|
1828
|
+
* Enriches entity columns with:
|
|
1829
|
+
* 1. dataPath for FK columns (e.g. fromPersonId) derived from lookup property schema
|
|
1830
|
+
* 2. title and showAs from related entity properties for dotted paths (e.g. person.firstName)
|
|
1831
|
+
*/
|
|
1832
|
+
enrich(entity: AXPEntity): Promise<AXPEntity>;
|
|
1833
|
+
/**
|
|
1834
|
+
* Derives dataPath for FK columns from lookup property schema.
|
|
1835
|
+
* Uses expose.target where source matches textField (default 'title').
|
|
1836
|
+
*/
|
|
1837
|
+
private deriveDataPathForFkColumn;
|
|
1838
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPRelatedColumnEnrichmentService, never>;
|
|
1839
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPRelatedColumnEnrichmentService>;
|
|
1840
|
+
}
|
|
1841
|
+
|
|
1842
|
+
interface AXPRelatedColumnMetadata {
|
|
1843
|
+
title?: string;
|
|
1844
|
+
showAs?: AXPEntityTableColumn['showAs'];
|
|
1845
|
+
}
|
|
1846
|
+
declare class AXPRelatedColumnMetadataResolver {
|
|
1847
|
+
private readonly entityLoader;
|
|
1848
|
+
/**
|
|
1849
|
+
* Resolves title and showAs for a column that references a related entity property via dotted path.
|
|
1850
|
+
* Uses relatedEntities when available; falls back to lookup expose when not.
|
|
1851
|
+
*/
|
|
1852
|
+
resolve(entity: AXPEntity, columnName: string): Promise<AXPRelatedColumnMetadata | null>;
|
|
1853
|
+
/**
|
|
1854
|
+
* Finds a lookup property whose expose target matches the dotted path.
|
|
1855
|
+
* Returns the lookup's entity string (e.g. 'PersonCore.Person') or null.
|
|
1856
|
+
*/
|
|
1857
|
+
private findLookupEntityByExposeTarget;
|
|
1858
|
+
/**
|
|
1859
|
+
* Derives showAs from source property schema.
|
|
1860
|
+
* Passes through the full interface (type, options, children) for column display.
|
|
1861
|
+
*/
|
|
1862
|
+
private deriveShowAs;
|
|
1863
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPRelatedColumnMetadataResolver, never>;
|
|
1864
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPRelatedColumnMetadataResolver>;
|
|
1865
|
+
}
|
|
1866
|
+
|
|
1467
1867
|
interface IEntitySelectorStage {
|
|
1468
1868
|
/** Select target entity using "module.entity" format */
|
|
1469
1869
|
entity(fullName: string): IInterfaceSelectorStage;
|
|
@@ -1481,6 +1881,8 @@ interface IPropertyFilterStage {
|
|
|
1481
1881
|
include(...propertyNames: string[]): IPropertyFilterStage;
|
|
1482
1882
|
/** Exclude provided property names (by AXPEntityProperty.name). Ignored if include() was already set. */
|
|
1483
1883
|
exclude(...propertyNames: string[]): IPropertyFilterStage;
|
|
1884
|
+
/** Mark provided property names as readonly. Overrides property schema for display. */
|
|
1885
|
+
readonlyProperties(...propertyNames: string[]): IPropertyFilterStage;
|
|
1484
1886
|
/** Optionally override dialog title */
|
|
1485
1887
|
title(text: string): IPropertyFilterStage;
|
|
1486
1888
|
/** Provide initial dialog context/model data */
|
|
@@ -1509,6 +1911,7 @@ declare class AXPEntityFormBuilderService implements IEntitySelectorStage {
|
|
|
1509
1911
|
private readonly entityRegistry;
|
|
1510
1912
|
private readonly layoutBuilder;
|
|
1511
1913
|
private readonly deviceService;
|
|
1914
|
+
private readonly expressionEvaluator;
|
|
1512
1915
|
entity(fullName: string): IInterfaceSelectorStage;
|
|
1513
1916
|
/**
|
|
1514
1917
|
* Fetches a record by ID for the specified entity.
|
|
@@ -1552,6 +1955,14 @@ declare class AXPMiddlewareEntityStorageService<TKey = any, TDetailDto extends A
|
|
|
1552
1955
|
insertOne(entityName: string, entity: TCreateDto): Promise<TKey>;
|
|
1553
1956
|
getAll(entityName: string): Promise<TListItemDto[]>;
|
|
1554
1957
|
query(entityName: string, request: AXPQueryRequest): Promise<AXPPagedListResult<TListItemDto>>;
|
|
1958
|
+
count(entityName: string, request: Pick<AXPQueryRequest, 'filter' | 'sort'>): Promise<number>;
|
|
1959
|
+
queryAll(entityName: string, request: Pick<AXPQueryRequest, 'filter' | 'sort'>, options?: AXPEntityQueryAllOptions): Promise<AXPEntityQueryAllResult<TListItemDto>>;
|
|
1960
|
+
getMany(entityName: string, ids: TKey[]): Promise<(TListItemDto | null)[]>;
|
|
1961
|
+
exists(entityName: string, id: TKey): Promise<boolean>;
|
|
1962
|
+
upsertOne(entityName: string, entity: TCreateDto, options?: {
|
|
1963
|
+
merge?: boolean;
|
|
1964
|
+
}): Promise<TKey>;
|
|
1965
|
+
aggregate(entityName: string, request: AXPEntityAggregateRequest, options?: AXPEntityAggregateOptions): Promise<AXPEntityAggregateResult>;
|
|
1555
1966
|
private runWithDedup;
|
|
1556
1967
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPMiddlewareEntityStorageService<any, any, any, any, any>, never>;
|
|
1557
1968
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPMiddlewareEntityStorageService<any, any, any, any, any>>;
|
|
@@ -1570,12 +1981,23 @@ declare function entityMasterCrudActions(options?: {
|
|
|
1570
1981
|
}): AXPEntityAction[];
|
|
1571
1982
|
declare function entityMasterRecordActions(): AXPEntityAction[];
|
|
1572
1983
|
declare function entityDetailsCreateActions(parentId: string): AXPEntityAction;
|
|
1984
|
+
/**
|
|
1985
|
+
* Type-level Create with empty `process.data`; the FK is supplied from `relatedEntity.persistence.foreignKeyField`
|
|
1986
|
+
* when the related list is built (see `mergeForeignKeyFieldIntoCreateActions`).
|
|
1987
|
+
*/
|
|
1988
|
+
declare function entityDetailsCreateActionsDeferredParent(): AXPEntityAction;
|
|
1989
|
+
/**
|
|
1990
|
+
* Ensures each type-level `Entity:Create` action includes `process.data[foreignKeyField]` bound to the parent row id.
|
|
1991
|
+
*/
|
|
1992
|
+
declare function mergeForeignKeyFieldIntoCreateActions(foreignKeyField: string | undefined, actions: AXPEntityAction[] | undefined): AXPEntityAction[];
|
|
1993
|
+
/** Property names hidden on nested Create from a related list (`excludeProperties` plus `foreignKeyField` when set). */
|
|
1994
|
+
declare function collectNestedCreateHiddenProperties(relatedEntity: AXPRelatedEntity): string[] | undefined;
|
|
1573
1995
|
declare function entityDetailsSimpleCondition(fk: string): AXPQueryFilter;
|
|
1574
1996
|
declare function entityDetailsReferenceCondition(type: string): AXPQueryFilter[];
|
|
1575
1997
|
declare function entityDetailsEditAction(): AXPEntityAction;
|
|
1576
1998
|
declare function entityDetailsNewEditAction(): AXPEntityAction;
|
|
1577
1999
|
declare function entityOverrideDetailsViewAction(): AXPEntityAction;
|
|
1578
|
-
declare function entityDetailsCrudActions(parentId
|
|
2000
|
+
declare function entityDetailsCrudActions(parentId?: string, options?: {
|
|
1579
2001
|
create?: boolean;
|
|
1580
2002
|
delete?: boolean;
|
|
1581
2003
|
view?: boolean;
|
|
@@ -1600,6 +2022,8 @@ declare function detectEntityChanges(oldObj: any, newObj: any): AXPEntityChangeS
|
|
|
1600
2022
|
|
|
1601
2023
|
declare class AXPEntityCategoryTreeSelectorComponent extends AXBasePageComponent implements OnInit {
|
|
1602
2024
|
protected readonly categoryTreeService: AXPCategoryTreeService;
|
|
2025
|
+
/** i18n key for the synthetic "all items" root row; resolved in the template with the translate pipe. */
|
|
2026
|
+
protected readonly categoryTreeRootTitleI18nKey = "@general:terms.interface.selection.all-items";
|
|
1603
2027
|
private readonly translationService;
|
|
1604
2028
|
protected readonly highlightService: AXHighlightService;
|
|
1605
2029
|
private readonly changeDetectorRef;
|
|
@@ -1939,14 +2363,14 @@ declare class AXPEntityCategoryWidgetEditComponent extends AXPValueWidgetCompone
|
|
|
1939
2363
|
private singleOrMultiple;
|
|
1940
2364
|
protected getItemLabel(item: any): string;
|
|
1941
2365
|
/**
|
|
1942
|
-
* Get item path as array for breadcrumb component
|
|
2366
|
+
* Get item path as array for breadcrumb component (raw MLS or string per segment).
|
|
1943
2367
|
*/
|
|
1944
|
-
protected getItemPath(item: any):
|
|
2368
|
+
protected getItemPath(item: any): AXPMultiLanguageString[];
|
|
1945
2369
|
/**
|
|
1946
2370
|
* Join path array with separator.
|
|
1947
2371
|
* Override this method to customize the separator (e.g., " > ", " -> ", " / ")
|
|
1948
2372
|
*/
|
|
1949
|
-
protected joinPath(path:
|
|
2373
|
+
protected joinPath(path: unknown[]): string;
|
|
1950
2374
|
protected getItemId(item: any): string;
|
|
1951
2375
|
/**
|
|
1952
2376
|
* Calculate the full path from root to the item.
|
|
@@ -1958,7 +2382,6 @@ declare class AXPEntityCategoryWidgetEditComponent extends AXPValueWidgetCompone
|
|
|
1958
2382
|
}
|
|
1959
2383
|
|
|
1960
2384
|
declare class AXPEntityCategoryWidgetViewComponent extends AXPValueWidgetComponent<any> {
|
|
1961
|
-
protected readonly formatService: AXFormatService;
|
|
1962
2385
|
protected readonly entityResolver: AXPEntityDefinitionRegistryService;
|
|
1963
2386
|
protected entity: _angular_core.Signal<string>;
|
|
1964
2387
|
protected multiple: _angular_core.Signal<boolean>;
|
|
@@ -1970,12 +2393,11 @@ declare class AXPEntityCategoryWidgetViewComponent extends AXPValueWidgetCompone
|
|
|
1970
2393
|
private entityDef;
|
|
1971
2394
|
protected displayItems: _angular_core.WritableSignal<{
|
|
1972
2395
|
id: string;
|
|
1973
|
-
|
|
2396
|
+
titleRaw: AXPMultiLanguageString | null | undefined;
|
|
1974
2397
|
}[]>;
|
|
1975
2398
|
private efEntity;
|
|
1976
2399
|
private efDisplay;
|
|
1977
2400
|
private extractItem;
|
|
1978
|
-
private getDisplayText;
|
|
1979
2401
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityCategoryWidgetViewComponent, never>;
|
|
1980
2402
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPEntityCategoryWidgetViewComponent, "axp-entity-category-widget-view", never, {}, {}, never, never, true, never>;
|
|
1981
2403
|
}
|
|
@@ -1983,7 +2405,9 @@ declare class AXPEntityCategoryWidgetViewComponent extends AXPValueWidgetCompone
|
|
|
1983
2405
|
declare const AXPEntityCategoryWidget: AXPWidgetConfig;
|
|
1984
2406
|
|
|
1985
2407
|
declare class AXPTruncatedBreadcrumbComponent implements OnDestroy {
|
|
1986
|
-
|
|
2408
|
+
private readonly mlsResolver;
|
|
2409
|
+
/** Plain string or locale map per segment; truncation uses resolved text (see {@link resolvedSectionTexts}). */
|
|
2410
|
+
sections: _angular_core.InputSignal<readonly (_acorex_core_translation.AXMultiLanguageString | null | undefined)[]>;
|
|
1987
2411
|
characterLimit: _angular_core.InputSignal<number | "auto">;
|
|
1988
2412
|
sectionLimit: _angular_core.InputSignal<number | "auto">;
|
|
1989
2413
|
separatorIcon: _angular_core.InputSignal<string>;
|
|
@@ -1993,6 +2417,8 @@ declare class AXPTruncatedBreadcrumbComponent implements OnDestroy {
|
|
|
1993
2417
|
protected isExpanded: _angular_core.WritableSignal<boolean>;
|
|
1994
2418
|
private containerWidth;
|
|
1995
2419
|
private resizeObserver;
|
|
2420
|
+
/** Resolved display strings for length / ellipsis (same rules as the pipe). */
|
|
2421
|
+
protected resolvedSectionTexts: _angular_core.Signal<string[]>;
|
|
1996
2422
|
protected effectiveCharacterLimit: _angular_core.Signal<number>;
|
|
1997
2423
|
protected effectiveSectionLimit: _angular_core.Signal<number>;
|
|
1998
2424
|
protected hasTruncatedText: _angular_core.Signal<boolean>;
|
|
@@ -2024,6 +2450,45 @@ declare class AXPTruncatedBreadcrumbComponent implements OnDestroy {
|
|
|
2024
2450
|
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>;
|
|
2025
2451
|
}
|
|
2026
2452
|
|
|
2453
|
+
declare const AXPEntityDefinitionProviderWidget: AXPWidgetConfig;
|
|
2454
|
+
declare module '@acorex/platform/layout/widget-core' {
|
|
2455
|
+
interface AXPWidgetTypesMap {
|
|
2456
|
+
entityDefinitionProvider: 'entity-definition-provider-editor';
|
|
2457
|
+
}
|
|
2458
|
+
}
|
|
2459
|
+
|
|
2460
|
+
declare class AXPEntityDefinitionProviderWidgetEditComponent extends AXPProviderSelectWidgetEditBase {
|
|
2461
|
+
private readonly entityRegistry;
|
|
2462
|
+
/**
|
|
2463
|
+
* Last applied module filter (from context) to avoid redundant reloads.
|
|
2464
|
+
*/
|
|
2465
|
+
private readonly lastModuleFilterKey;
|
|
2466
|
+
/**
|
|
2467
|
+
* Reloads entity options when `filterModuleField` changes in form context (not only via `widget.refresh()`).
|
|
2468
|
+
*/
|
|
2469
|
+
private readonly reloadWhenModuleContextChanges;
|
|
2470
|
+
/**
|
|
2471
|
+
* Options:
|
|
2472
|
+
* - `filterModuleField`: sibling context field name (e.g. `entityListModule`); when set, only entities in that module are listed.
|
|
2473
|
+
* - `valueFormat`: `fullKey` (`module.name`, default) or `entityName` (short name only, for menus that store `entityListRef.entity`).
|
|
2474
|
+
*/
|
|
2475
|
+
protected loadDataSourceRows(): Promise<Array<{
|
|
2476
|
+
value: string;
|
|
2477
|
+
title: string;
|
|
2478
|
+
}>>;
|
|
2479
|
+
refresh(): void;
|
|
2480
|
+
/**
|
|
2481
|
+
* Reads sibling field from context store data (same shape as `lodash/get` paths).
|
|
2482
|
+
*/
|
|
2483
|
+
private readModuleFromContext;
|
|
2484
|
+
/**
|
|
2485
|
+
* Resolves a sibling field path relative to the current widget's parent path.
|
|
2486
|
+
*/
|
|
2487
|
+
private resolveSiblingContextPath;
|
|
2488
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityDefinitionProviderWidgetEditComponent, never>;
|
|
2489
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPEntityDefinitionProviderWidgetEditComponent, "axp-entity-definition-provider-widget-edit", never, {}, {}, never, never, true, never>;
|
|
2490
|
+
}
|
|
2491
|
+
|
|
2027
2492
|
declare class AXPEntityListTableService {
|
|
2028
2493
|
private readonly workflow;
|
|
2029
2494
|
private readonly commandService;
|
|
@@ -2064,6 +2529,11 @@ declare class AXPEntityListTableService {
|
|
|
2064
2529
|
* Handle execution of a row command (shared by double-click and command handlers)
|
|
2065
2530
|
*/
|
|
2066
2531
|
private handleRowCommand;
|
|
2532
|
+
/**
|
|
2533
|
+
* When a related entity list declares `excludeProperties`, row commands bypass the details page
|
|
2534
|
+
* `execute()` merge — apply the same exclusions for embedded create/update commands.
|
|
2535
|
+
*/
|
|
2536
|
+
private mergeRelatedListFormOptions;
|
|
2067
2537
|
/**
|
|
2068
2538
|
* Create default events
|
|
2069
2539
|
*/
|
|
@@ -2102,11 +2572,13 @@ declare class AXPEntityListToolbarService {
|
|
|
2102
2572
|
*/
|
|
2103
2573
|
private createFilterDefinitions;
|
|
2104
2574
|
/**
|
|
2105
|
-
* Create Column Definitions for Toolbar
|
|
2575
|
+
* Create Column Definitions for Toolbar.
|
|
2576
|
+
* Includes both entity.properties and enriched columns (e.g. person.firstName with showAs).
|
|
2106
2577
|
*/
|
|
2107
2578
|
private createColumnDefinitions;
|
|
2108
2579
|
/**
|
|
2109
|
-
* Create Sort Definitions for Toolbar
|
|
2580
|
+
* Create Sort Definitions for Toolbar.
|
|
2581
|
+
* Includes entity.properties with sort enabled, plus enriched columns (dotted paths).
|
|
2110
2582
|
*/
|
|
2111
2583
|
private createSortDefinitions;
|
|
2112
2584
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityListToolbarService, never>;
|
|
@@ -2123,6 +2595,7 @@ declare class AXPEntityListWidgetViewComponent extends AXPValueWidgetComponent {
|
|
|
2123
2595
|
protected commandService: AXPCommandService;
|
|
2124
2596
|
protected eventService: AXPBroadcastEventService;
|
|
2125
2597
|
private readonly expressionEvaluator;
|
|
2598
|
+
private readonly route;
|
|
2126
2599
|
protected isMounted: _angular_core.WritableSignal<boolean>;
|
|
2127
2600
|
readonly entity: _angular_core.WritableSignal<AXPEntity | null>;
|
|
2128
2601
|
protected listNode: _angular_core.WritableSignal<AXPWidgetNode | null>;
|
|
@@ -2149,7 +2622,46 @@ declare class AXPEntityListWidgetViewComponent extends AXPValueWidgetComponent {
|
|
|
2149
2622
|
protected handleActionClick(item: AXPActionMenuItem): void;
|
|
2150
2623
|
protected handleSecondaryActionClick(item: AXPActionMenuItem): void;
|
|
2151
2624
|
protected execute(commandName: string, _data: unknown): Promise<void>;
|
|
2625
|
+
/**
|
|
2626
|
+
* Resolves toolbar commands including nested dropdown (`items`) actions.
|
|
2627
|
+
*/
|
|
2628
|
+
private findToolbarAction;
|
|
2152
2629
|
private evaluateToolbarExpressions;
|
|
2630
|
+
/**
|
|
2631
|
+
* Parses the `filters` query param (same shape as standalone entity list routes).
|
|
2632
|
+
*/
|
|
2633
|
+
private parseFiltersFromRoute;
|
|
2634
|
+
/**
|
|
2635
|
+
* Route `filters` apply only when the active details `page` matches this list's entity
|
|
2636
|
+
* (e.g. WorkOrder filters must not affect FailureRegister on the same asset layout).
|
|
2637
|
+
*/
|
|
2638
|
+
private shouldApplyRouteFilters;
|
|
2639
|
+
/**
|
|
2640
|
+
* Merges route filters into related-entity toolbar filters (route wins per field).
|
|
2641
|
+
*/
|
|
2642
|
+
private mergeToolbarFilters;
|
|
2643
|
+
private getMergedToolbarFilters;
|
|
2644
|
+
/**
|
|
2645
|
+
* Applies merged route + parent-scope filters to the widget value and data source.
|
|
2646
|
+
*/
|
|
2647
|
+
private applyMergedRouteFiltersToList;
|
|
2648
|
+
/**
|
|
2649
|
+
* Re-evaluates related-entity list filters from the live dialog form context (e.g. after create saves the main row id).
|
|
2650
|
+
*/
|
|
2651
|
+
private applyRelatedFiltersFromContext;
|
|
2652
|
+
/**
|
|
2653
|
+
* Pushes current toolbar filters to the embedded list data source when both exist.
|
|
2654
|
+
* Returns false while data-list is still mounting (see deferred listNode.set in ngOnInit).
|
|
2655
|
+
*/
|
|
2656
|
+
private pushToolbarFiltersToDataSource;
|
|
2657
|
+
/**
|
|
2658
|
+
* Writes toolbar filters from specs and pushes them onto the data source so refresh/reload keeps the parent scope.
|
|
2659
|
+
*/
|
|
2660
|
+
private applyRelatedFiltersFromContextAndDatasource;
|
|
2661
|
+
/**
|
|
2662
|
+
* Refreshes the embedded data list (toolbar / workflow). In wizard mode, `refresh` is patched to re-apply scoped filters first.
|
|
2663
|
+
*/
|
|
2664
|
+
private refreshGridWithParentScopedFilters;
|
|
2153
2665
|
protected queries: undefined;
|
|
2154
2666
|
/**
|
|
2155
2667
|
* Validates that all required dependencies are available
|
|
@@ -2203,7 +2715,7 @@ declare class AXPLookupWidgetViewComponent extends AXPValueWidgetComponent<any>
|
|
|
2203
2715
|
private efEntity;
|
|
2204
2716
|
private efDisplay;
|
|
2205
2717
|
private extractItem;
|
|
2206
|
-
private
|
|
2718
|
+
private getDisplayRaw;
|
|
2207
2719
|
private get __class();
|
|
2208
2720
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPLookupWidgetViewComponent, never>;
|
|
2209
2721
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPLookupWidgetViewComponent, "axp-lookup-widget-view", never, {}, {}, never, never, true, never>;
|
|
@@ -2220,7 +2732,7 @@ interface AXPEntityDataSelectorOptions {
|
|
|
2220
2732
|
name: string;
|
|
2221
2733
|
dir: 'asc' | 'desc';
|
|
2222
2734
|
}[];
|
|
2223
|
-
allowCreate?:
|
|
2735
|
+
allowCreate?: AXPDataSelectorAllowCreate;
|
|
2224
2736
|
searchFields?: string[];
|
|
2225
2737
|
initialSearchTerm?: string;
|
|
2226
2738
|
selectedItemIds?: string[] | number[];
|
|
@@ -2241,10 +2753,21 @@ declare class AXPEntityDataSelectorService {
|
|
|
2241
2753
|
private readonly filterOperatorMiddleware;
|
|
2242
2754
|
private readonly widgetResolver;
|
|
2243
2755
|
private readonly entityResolver;
|
|
2756
|
+
private readonly commandService;
|
|
2244
2757
|
/**
|
|
2245
2758
|
* Open entity data selector popup
|
|
2246
2759
|
*/
|
|
2247
2760
|
open(options: AXPEntityDataSelectorOptions): Promise<AXPEntityDataSelectorResult | null>;
|
|
2761
|
+
/**
|
|
2762
|
+
* Execute Entity:Create and return created item.
|
|
2763
|
+
* Used by lookup widget and data selector for inline create.
|
|
2764
|
+
*/
|
|
2765
|
+
executeEntityCreate(entity: AXPEntity, mode: 'full' | 'quick'): Promise<any | null>;
|
|
2766
|
+
/**
|
|
2767
|
+
* Normalize item's phones/emails for expose/display.
|
|
2768
|
+
* Call this when receiving items from any source (create, API, selector).
|
|
2769
|
+
*/
|
|
2770
|
+
normalizeItemContactArrays(item: any): any;
|
|
2248
2771
|
/**
|
|
2249
2772
|
* Create data selector configuration from entity options
|
|
2250
2773
|
*/
|
|
@@ -2262,9 +2785,19 @@ declare class AXPEntityDataSelectorService {
|
|
|
2262
2785
|
*/
|
|
2263
2786
|
private getSearchFields;
|
|
2264
2787
|
/**
|
|
2265
|
-
*
|
|
2788
|
+
* Get allowCreate mode from entity
|
|
2789
|
+
*/
|
|
2790
|
+
private getAllowCreate;
|
|
2791
|
+
/**
|
|
2792
|
+
* Execute Entity:Create and return created item
|
|
2793
|
+
*/
|
|
2794
|
+
private executeCreate;
|
|
2795
|
+
/**
|
|
2796
|
+
* Normalize phones/emails from repeater form to plain arrays of { value: string }.
|
|
2797
|
+
* Repeater/ContactBox can return nested structure: { value: { label: "", value: "101010" } }
|
|
2798
|
+
* Contact widget expects: { value: "101010", label?: string }
|
|
2266
2799
|
*/
|
|
2267
|
-
private
|
|
2800
|
+
private normalizeContactArrays;
|
|
2268
2801
|
/**
|
|
2269
2802
|
* Create category tree data source from category entity key
|
|
2270
2803
|
*/
|
|
@@ -2288,6 +2821,37 @@ declare abstract class LookupWidgetLookBase {
|
|
|
2288
2821
|
}
|
|
2289
2822
|
|
|
2290
2823
|
type AXPLookupWidgetLookType = 'select' | 'lookup';
|
|
2824
|
+
/**
|
|
2825
|
+
* How the lookup column resolves related items for display in entity lists.
|
|
2826
|
+
* - `hydrated`: titles (and optional ids) are already on the row; inline preview + overflow popover use row data only.
|
|
2827
|
+
* - `idsWithCount`: ids and optional count live on the row; the cell shows a count summary and loads titles via entity `byKey` when the popover opens.
|
|
2828
|
+
* - `countOnly`: only a count is on the row; the popover loads ids/titles via a registered `AXPQuery` when opened.
|
|
2829
|
+
*/
|
|
2830
|
+
type AXPLookupColumnResolveStrategy = 'hydrated' | 'idsWithCount' | 'countOnly';
|
|
2831
|
+
/**
|
|
2832
|
+
* Column list only: controls how the lookup column loads and displays related items in grids.
|
|
2833
|
+
* Omitted or empty strategy defaults to `hydrated` at runtime.
|
|
2834
|
+
*/
|
|
2835
|
+
interface AXPLookupColumnResolveOptions {
|
|
2836
|
+
/** Default `hydrated` when omitted. */
|
|
2837
|
+
strategy?: AXPLookupColumnResolveStrategy;
|
|
2838
|
+
/** Lodash-style path on `rowData` for the displayed count (e.g. `rolesCount`). */
|
|
2839
|
+
countFieldPath?: string;
|
|
2840
|
+
/** Lodash-style path on `rowData` for the related id list (`idsWithCount`). If omitted, the column `rawValue` is used. */
|
|
2841
|
+
idsPath?: string;
|
|
2842
|
+
/** Registered query key for `AXPQueryExecutor.fetch` when using `countOnly`. */
|
|
2843
|
+
queryKey?: string;
|
|
2844
|
+
/**
|
|
2845
|
+
* Maps query input property names to lodash-style paths on `rowData` (e.g. `{ "userId": "id" }`).
|
|
2846
|
+
* May be a JSON string when set from the layout designer text field.
|
|
2847
|
+
*/
|
|
2848
|
+
queryParams?: Record<string, string> | string;
|
|
2849
|
+
/**
|
|
2850
|
+
* Dot path into the named query result for the items array. Defaults to `items` when the result is an object.
|
|
2851
|
+
* If the query returns an array directly, leave unset and handle at runtime.
|
|
2852
|
+
*/
|
|
2853
|
+
queryResultItemsPath?: string;
|
|
2854
|
+
}
|
|
2291
2855
|
interface AXPLookupWidgetOptions {
|
|
2292
2856
|
disabled?: boolean | AXPExpression;
|
|
2293
2857
|
readonly?: boolean | AXPExpression;
|
|
@@ -2296,6 +2860,8 @@ interface AXPLookupWidgetOptions {
|
|
|
2296
2860
|
look?: AXPLookupWidgetLookType;
|
|
2297
2861
|
allowClear?: boolean;
|
|
2298
2862
|
displayFormat?: string;
|
|
2863
|
+
/** Column list: lazy resolve and summary behavior. */
|
|
2864
|
+
columnResolve?: AXPLookupColumnResolveOptions;
|
|
2299
2865
|
}
|
|
2300
2866
|
|
|
2301
2867
|
declare class AXPLookupWidgetEditComponent extends AXPValueWidgetComponent<any> {
|
|
@@ -2304,6 +2870,7 @@ declare class AXPLookupWidgetEditComponent extends AXPValueWidgetComponent<any>
|
|
|
2304
2870
|
protected readonly entityResolver: AXPEntityDefinitionRegistryService;
|
|
2305
2871
|
protected readonly entityService: AXPEntityService;
|
|
2306
2872
|
protected readonly entityDataSelectorService: AXPEntityDataSelectorService;
|
|
2873
|
+
private readonly mlsResolver;
|
|
2307
2874
|
protected componentLook: _angular_core.Signal<LookupWidgetLookBase | undefined>;
|
|
2308
2875
|
protected expose: _angular_core.Signal<string | any[] | undefined>;
|
|
2309
2876
|
protected entity: _angular_core.Signal<string>;
|
|
@@ -2312,11 +2879,13 @@ declare class AXPLookupWidgetEditComponent extends AXPValueWidgetComponent<any>
|
|
|
2312
2879
|
protected textField: _angular_core.Signal<string>;
|
|
2313
2880
|
protected hasClearButton: _angular_core.Signal<boolean>;
|
|
2314
2881
|
protected customFilter: _angular_core.Signal<AXDataSourceFilterOption>;
|
|
2882
|
+
protected placeholder: _angular_core.Signal<string>;
|
|
2315
2883
|
protected filterMode: _angular_core.Signal<boolean>;
|
|
2316
2884
|
protected multiple: _angular_core.Signal<boolean>;
|
|
2317
2885
|
protected look: _angular_core.Signal<AXPLookupWidgetLookType>;
|
|
2318
2886
|
protected defaultTextField: _angular_core.Signal<string>;
|
|
2319
2887
|
protected displayField: _angular_core.Signal<string>;
|
|
2888
|
+
protected allowCreate: _angular_core.Signal<"none" | "full" | "quick">;
|
|
2320
2889
|
protected valueField: _angular_core.Signal<string>;
|
|
2321
2890
|
protected displayFormat: _angular_core.Signal<string | undefined>;
|
|
2322
2891
|
protected conditions?: AXPQueryFilter[];
|
|
@@ -2330,10 +2899,15 @@ declare class AXPLookupWidgetEditComponent extends AXPValueWidgetComponent<any>
|
|
|
2330
2899
|
private hasValue;
|
|
2331
2900
|
private findByValue;
|
|
2332
2901
|
protected handleComponentValueChanged(items: any[] | null): void;
|
|
2902
|
+
protected handleCreateClick(_e: AXClickEvent): Promise<void>;
|
|
2903
|
+
private executeCreate;
|
|
2333
2904
|
protected setLoading: (loading: boolean) => void;
|
|
2334
2905
|
protected setItems: (items: any[]) => void;
|
|
2335
2906
|
/**
|
|
2336
|
-
*
|
|
2907
|
+
* Writes expose targets into context using per-path updates.
|
|
2908
|
+
* Avoids `contextService.patch()` with nested objects: patch shallow-merges top-level keys only,
|
|
2909
|
+
* so e.g. `{ person: { educationLevel: { id, title } } }` would replace the entire `person`
|
|
2910
|
+
* object and drop sibling fields like `person.educationLevelId`, causing a value/effect loop.
|
|
2337
2911
|
*/
|
|
2338
2912
|
private expoesItems;
|
|
2339
2913
|
outputs(): (string | {
|
|
@@ -2349,8 +2923,12 @@ declare class AXPLookupWidgetEditComponent extends AXPValueWidgetComponent<any>
|
|
|
2349
2923
|
|
|
2350
2924
|
declare class AXPLookupWidgetColumnComponent extends AXPColumnWidgetComponent<any> {
|
|
2351
2925
|
private readonly entityDetailPopoverService;
|
|
2926
|
+
private readonly translation;
|
|
2352
2927
|
private readonly formatService;
|
|
2928
|
+
private readonly entityService;
|
|
2929
|
+
private readonly queryExecutor;
|
|
2353
2930
|
protected moreButton: _angular_core.Signal<ElementRef<any> | undefined>;
|
|
2931
|
+
protected lazyTrigger: _angular_core.Signal<ElementRef<any> | undefined>;
|
|
2354
2932
|
protected morePopover: _angular_core.Signal<AXPopoverComponent | undefined>;
|
|
2355
2933
|
protected host: ElementRef<any>;
|
|
2356
2934
|
protected valueField: string;
|
|
@@ -2360,21 +2938,51 @@ declare class AXPLookupWidgetColumnComponent extends AXPColumnWidgetComponent<an
|
|
|
2360
2938
|
protected maxVisible: number;
|
|
2361
2939
|
protected displayFormat: _angular_core.Signal<string | undefined>;
|
|
2362
2940
|
protected displayField: _angular_core.Signal<string>;
|
|
2941
|
+
protected columnResolve: _angular_core.Signal<AXPLookupColumnResolveOptions | undefined>;
|
|
2942
|
+
protected resolveStrategy: _angular_core.Signal<AXPLookupColumnResolveStrategy>;
|
|
2943
|
+
protected isHydratedStrategy: _angular_core.Signal<boolean>;
|
|
2363
2944
|
protected isMorePopoverOpen: _angular_core.WritableSignal<boolean>;
|
|
2364
2945
|
protected selectedItemIndex: _angular_core.WritableSignal<number>;
|
|
2946
|
+
protected resolvedPopoverItems: _angular_core.WritableSignal<any[]>;
|
|
2947
|
+
protected resolveStatus: _angular_core.WritableSignal<"error" | "idle" | "loading" | "ready">;
|
|
2948
|
+
protected resolveError: _angular_core.WritableSignal<string | null>;
|
|
2949
|
+
protected summaryLabel: _angular_core.WritableSignal<string>;
|
|
2950
|
+
protected popoverHeader: _angular_core.WritableSignal<string>;
|
|
2365
2951
|
protected displayItems: _angular_core.Signal<any[]>;
|
|
2366
2952
|
protected allItems: _angular_core.Signal<any[]>;
|
|
2367
2953
|
protected visibleItems: _angular_core.Signal<any[]>;
|
|
2368
2954
|
protected hasMoreItems: _angular_core.Signal<boolean>;
|
|
2369
|
-
protected
|
|
2955
|
+
protected idsFromRow: _angular_core.Signal<any[]>;
|
|
2956
|
+
protected displayCount: _angular_core.Signal<number>;
|
|
2957
|
+
protected popoverListItems: _angular_core.Signal<any[]>;
|
|
2958
|
+
/** Avoid resetting lazy cache on every CD when `rowData` is a new object reference for the same row. */
|
|
2959
|
+
private previousLazyRowId;
|
|
2960
|
+
constructor();
|
|
2370
2961
|
protected showMoreItems(): void;
|
|
2371
|
-
protected
|
|
2962
|
+
protected openLazyPopover(): void;
|
|
2963
|
+
protected onPopoverOpenChange(event: unknown): void;
|
|
2372
2964
|
protected showItemDetail(item: any, index: number): Promise<void>;
|
|
2373
2965
|
protected handleItemClick(index: number): void;
|
|
2374
|
-
|
|
2966
|
+
protected handleResolvedItemClick(index: number): void;
|
|
2967
|
+
protected handlePopoverItemClick(index: number): void;
|
|
2968
|
+
protected getDisplayRaw(item: any): string;
|
|
2969
|
+
private refreshSummaryLabel;
|
|
2970
|
+
private refreshPopoverHeader;
|
|
2971
|
+
private resetLazyState;
|
|
2972
|
+
private openPopoverFromRef;
|
|
2375
2973
|
private closeMorePopover;
|
|
2974
|
+
private ensureLazyItemsLoaded;
|
|
2975
|
+
/**
|
|
2976
|
+
* ax-popover may emit a boolean, CustomEvent with detail, or a DOM Event depending on version.
|
|
2977
|
+
*/
|
|
2978
|
+
private coercePopoverOpenEvent;
|
|
2979
|
+
private loadByIds;
|
|
2980
|
+
private loadByNamedQuery;
|
|
2981
|
+
private buildNamedQueryInput;
|
|
2982
|
+
private parseQueryParamsMap;
|
|
2983
|
+
private extractItemsFromQueryResult;
|
|
2376
2984
|
private extractItem;
|
|
2377
|
-
|
|
2985
|
+
private resolveDisplayValue;
|
|
2378
2986
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPLookupWidgetColumnComponent, never>;
|
|
2379
2987
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPLookupWidgetColumnComponent, "ng-component", never, { "rawValue": { "alias": "rawValue"; "required": false; }; "rowData": { "alias": "rowData"; "required": false; }; }, {}, never, never, true, never>;
|
|
2380
2988
|
}
|
|
@@ -2706,6 +3314,174 @@ declare class AXPMultiSourceSelectorWidgetColumnComponent extends AXPColumnWidge
|
|
|
2706
3314
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPMultiSourceSelectorWidgetColumnComponent, "axp-multi-source-selector-widget-column", never, { "rawValue": { "alias": "rawValue"; "required": false; }; "rowData": { "alias": "rowData"; "required": false; }; }, {}, never, never, true, never>;
|
|
2707
3315
|
}
|
|
2708
3316
|
|
|
3317
|
+
declare class AXPSelectorStructureWidgetColumnComponent extends AXPValueWidgetComponent {
|
|
3318
|
+
protected identityField: _angular_core.Signal<string>;
|
|
3319
|
+
protected textField: _angular_core.Signal<string>;
|
|
3320
|
+
protected valueField: _angular_core.Signal<string>;
|
|
3321
|
+
protected previewIcon: _angular_core.Signal<string>;
|
|
3322
|
+
protected cellText: _angular_core.Signal<string>;
|
|
3323
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPSelectorStructureWidgetColumnComponent, never>;
|
|
3324
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPSelectorStructureWidgetColumnComponent, "axp-selector-structure-widget-column", never, {}, {}, never, never, true, never>;
|
|
3325
|
+
}
|
|
3326
|
+
|
|
3327
|
+
type AXPSelectorStructureSelectorMode = 'select' | 'lookup';
|
|
3328
|
+
type AXPSelectorStructureStructureMode = 'schema' | 'freeform';
|
|
3329
|
+
type AXPSelectorStructureIdentityDisplay = 'readonly' | 'hidden';
|
|
3330
|
+
/** UI layout: standard = global multi-select + collapse rows; compactPanel = per-row select (address-style). */
|
|
3331
|
+
type AXPSelectorStructurePresentationMode = 'standard' | 'compactPanel';
|
|
3332
|
+
interface AXPSelectorStructureFieldDef {
|
|
3333
|
+
name: string;
|
|
3334
|
+
title: string;
|
|
3335
|
+
widgetType: string;
|
|
3336
|
+
options?: Record<string, unknown>;
|
|
3337
|
+
}
|
|
3338
|
+
declare const AXPSelectorStructureWidget: AXPWidgetConfig;
|
|
3339
|
+
interface AXPSelectorStructureWidgetDesignerOptions {
|
|
3340
|
+
selectorMode?: AXPSelectorStructureSelectorMode;
|
|
3341
|
+
structureMode?: AXPSelectorStructureStructureMode;
|
|
3342
|
+
presentation?: AXPSelectorStructurePresentationMode;
|
|
3343
|
+
previewIcon?: string;
|
|
3344
|
+
placeholder?: string;
|
|
3345
|
+
contextSiblingPath?: string;
|
|
3346
|
+
identityField?: string;
|
|
3347
|
+
identityDisplay?: AXPSelectorStructureIdentityDisplay;
|
|
3348
|
+
valueField?: string;
|
|
3349
|
+
textField?: string;
|
|
3350
|
+
dataSource?: unknown;
|
|
3351
|
+
multiple?: boolean;
|
|
3352
|
+
lookup?: {
|
|
3353
|
+
entity?: string;
|
|
3354
|
+
look?: 'select' | 'lookup';
|
|
3355
|
+
filter?: unknown;
|
|
3356
|
+
hasClearButton?: boolean;
|
|
3357
|
+
};
|
|
3358
|
+
structureFields?: AXPSelectorStructureFieldDef[];
|
|
3359
|
+
freeformPath?: string;
|
|
3360
|
+
}
|
|
3361
|
+
interface AXPSelectorStructureWidgetViewOptions extends AXPSelectorStructureWidgetDesignerOptions {
|
|
3362
|
+
}
|
|
3363
|
+
interface AXPSelectorStructureWidgetEditOptions extends AXPSelectorStructureWidgetDesignerOptions {
|
|
3364
|
+
}
|
|
3365
|
+
interface AXPSelectorStructureWidgetColumnOptions {
|
|
3366
|
+
identityField?: string;
|
|
3367
|
+
textField?: string;
|
|
3368
|
+
previewIcon?: string;
|
|
3369
|
+
}
|
|
3370
|
+
interface AXPSelectorStructureWidgetPrintOptions {
|
|
3371
|
+
}
|
|
3372
|
+
interface AXPSelectorStructureWidgetOptions {
|
|
3373
|
+
designer: AXPSelectorStructureWidgetDesignerOptions;
|
|
3374
|
+
view: AXPSelectorStructureWidgetViewOptions;
|
|
3375
|
+
edit: AXPSelectorStructureWidgetEditOptions;
|
|
3376
|
+
print: AXPSelectorStructureWidgetPrintOptions;
|
|
3377
|
+
column: AXPSelectorStructureWidgetColumnOptions;
|
|
3378
|
+
}
|
|
3379
|
+
|
|
3380
|
+
declare class AXPSelectorStructureWidgetEditComponent extends AXPValueWidgetComponent {
|
|
3381
|
+
#private;
|
|
3382
|
+
private readonly entityRegistry;
|
|
3383
|
+
protected selectorMode: _angular_core.Signal<"select" | "lookup">;
|
|
3384
|
+
protected structureMode: _angular_core.Signal<"schema" | "freeform">;
|
|
3385
|
+
protected contextSiblingPath: _angular_core.Signal<string>;
|
|
3386
|
+
protected identityField: _angular_core.Signal<string>;
|
|
3387
|
+
protected identityDisplay: _angular_core.Signal<"readonly" | "hidden">;
|
|
3388
|
+
protected valueField: _angular_core.Signal<string>;
|
|
3389
|
+
protected textField: _angular_core.Signal<string>;
|
|
3390
|
+
protected multiple: _angular_core.Signal<boolean>;
|
|
3391
|
+
protected freeformPath: _angular_core.Signal<string>;
|
|
3392
|
+
protected lookupEntityKey: _angular_core.Signal<string | undefined>;
|
|
3393
|
+
protected lookupHasClearButton: _angular_core.Signal<boolean>;
|
|
3394
|
+
protected lookupCustomFilter: _angular_core.Signal<AXDataSourceFilterOption | undefined>;
|
|
3395
|
+
protected disabled: _angular_core.Signal<boolean>;
|
|
3396
|
+
protected presentationMode: _angular_core.Signal<"standard" | "compactPanel">;
|
|
3397
|
+
/** Compact panel (address-style) applies only to sibling select mode; lookup falls back to standard layout. */
|
|
3398
|
+
protected useCompactLayout: _angular_core.Signal<boolean>;
|
|
3399
|
+
protected previewIcon: _angular_core.Signal<string>;
|
|
3400
|
+
protected placeholder: _angular_core.Signal<string>;
|
|
3401
|
+
protected compactSelectPlaceholder: _angular_core.Signal<string>;
|
|
3402
|
+
protected addCompactItemLabel: _angular_core.Signal<string>;
|
|
3403
|
+
protected clearRowTitle: _angular_core.Signal<string>;
|
|
3404
|
+
protected removeRowTitle: _angular_core.Signal<string>;
|
|
3405
|
+
protected resolvedSiblingPath(): string;
|
|
3406
|
+
/**
|
|
3407
|
+
* Items shown in the selector: sibling context array when path is set, otherwise optional static `dataSource` array.
|
|
3408
|
+
*/
|
|
3409
|
+
protected contextItems: _angular_core.Signal<unknown[]>;
|
|
3410
|
+
protected contextSelectDataSource: _angular_core.Signal<AXDataSource<unknown>>;
|
|
3411
|
+
protected selectedSourceItems: _angular_core.WritableSignal<unknown[]>;
|
|
3412
|
+
protected compactRowDataSources: _angular_core.Signal<AXDataSource<unknown>[]>;
|
|
3413
|
+
protected compactRowSelectedItems: _angular_core.Signal<unknown[][]>;
|
|
3414
|
+
protected lookupEntityDef: _angular_core.WritableSignal<AXPEntity | null>;
|
|
3415
|
+
protected defaultLookupSorts: _angular_core.Signal<AXDataSourceSortOption[]>;
|
|
3416
|
+
protected lookupDataSource: _angular_core.Signal<AXDataSource<unknown> | null>;
|
|
3417
|
+
protected lookupTextField: _angular_core.Signal<string>;
|
|
3418
|
+
protected lookupSelectedItems: _angular_core.WritableSignal<unknown[]>;
|
|
3419
|
+
protected rows: _angular_core.Signal<Record<string, unknown>[]>;
|
|
3420
|
+
protected structureFields: _angular_core.Signal<AXPSelectorStructureFieldDef[]>;
|
|
3421
|
+
protected structureFieldNodes: _angular_core.Signal<{
|
|
3422
|
+
name: string;
|
|
3423
|
+
title: string;
|
|
3424
|
+
node: AXPWidgetNode;
|
|
3425
|
+
}[]>;
|
|
3426
|
+
protected identityLabel: _angular_core.Signal<string>;
|
|
3427
|
+
protected identityNode: _angular_core.Signal<AXPWidgetNode | null>;
|
|
3428
|
+
protected freeformHeading: _angular_core.Signal<string>;
|
|
3429
|
+
protected keyPlaceholder: _angular_core.Signal<string>;
|
|
3430
|
+
protected valuePlaceholder: _angular_core.Signal<string>;
|
|
3431
|
+
protected addPairLabel: _angular_core.Signal<string>;
|
|
3432
|
+
protected removePairTitle: _angular_core.Signal<string>;
|
|
3433
|
+
protected disabledHint: _angular_core.Signal<string>;
|
|
3434
|
+
protected trackRow(row: Record<string, unknown>): unknown;
|
|
3435
|
+
protected rowCaption(row: Record<string, unknown>): string;
|
|
3436
|
+
protected isDraftRow(row: Record<string, unknown>): boolean;
|
|
3437
|
+
protected isRowSelectLocked(row: Record<string, unknown>): boolean;
|
|
3438
|
+
/**
|
|
3439
|
+
* Items available for row `index`: all source items minus keys already chosen on other committed rows;
|
|
3440
|
+
* always includes the current row's selected item so the select can display it.
|
|
3441
|
+
*/
|
|
3442
|
+
protected exclusiveItemsForRow(index: number): unknown[];
|
|
3443
|
+
private newRowUid;
|
|
3444
|
+
protected handleCompactSelectChange(index: number, e: AXValueChangedEvent): void;
|
|
3445
|
+
protected applyCompactRowFromItem(index: number, rawItem: unknown | undefined): void;
|
|
3446
|
+
protected clearCompactRow(index: number): void;
|
|
3447
|
+
protected removeCompactRow(index: number): void;
|
|
3448
|
+
protected addCompactRow(): void;
|
|
3449
|
+
protected handleSelectValueChange(e: AXValueChangedEvent): void;
|
|
3450
|
+
protected handleLookupValueChange(e: AXValueChangedEvent): void;
|
|
3451
|
+
protected applyRowsFromSourceItems(items: unknown[]): void;
|
|
3452
|
+
protected handleSchemaContextChange(rowKey: unknown, e: AXPContextChangeEvent): void;
|
|
3453
|
+
protected freeformEntries(row: Record<string, unknown>): {
|
|
3454
|
+
key: string;
|
|
3455
|
+
value: string;
|
|
3456
|
+
index: number;
|
|
3457
|
+
}[];
|
|
3458
|
+
private serializeFreeformValue;
|
|
3459
|
+
protected onFreeformKeyInput(row: Record<string, unknown>, entry: {
|
|
3460
|
+
key: string;
|
|
3461
|
+
value: string;
|
|
3462
|
+
index: number;
|
|
3463
|
+
}, nextKey: string): void;
|
|
3464
|
+
protected patchFreeformValue(row: Record<string, unknown>, key: string, raw: string): void;
|
|
3465
|
+
protected removeFreeformKey(row: Record<string, unknown>, key: string): void;
|
|
3466
|
+
protected addFreeformPair(row: Record<string, unknown>): void;
|
|
3467
|
+
private renameFreeformKey;
|
|
3468
|
+
private patchFreeformMap;
|
|
3469
|
+
private tryParseFreeformString;
|
|
3470
|
+
private mergeListFilter;
|
|
3471
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPSelectorStructureWidgetEditComponent, never>;
|
|
3472
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPSelectorStructureWidgetEditComponent, "axp-selector-structure-widget-edit", never, {}, {}, never, never, true, never>;
|
|
3473
|
+
}
|
|
3474
|
+
|
|
3475
|
+
declare class AXPSelectorStructureWidgetViewComponent extends AXPValueWidgetComponent {
|
|
3476
|
+
protected identityField: _angular_core.Signal<string>;
|
|
3477
|
+
protected textField: _angular_core.Signal<string>;
|
|
3478
|
+
protected valueField: _angular_core.Signal<string>;
|
|
3479
|
+
protected previewIcon: _angular_core.Signal<string>;
|
|
3480
|
+
protected summaries: _angular_core.Signal<string[]>;
|
|
3481
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPSelectorStructureWidgetViewComponent, never>;
|
|
3482
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPSelectorStructureWidgetViewComponent, "axp-selector-structure-widget-view", never, {}, {}, never, never, true, never>;
|
|
3483
|
+
}
|
|
3484
|
+
|
|
2709
3485
|
declare const AXPEntityCreateEvent: {
|
|
2710
3486
|
(payload: {
|
|
2711
3487
|
entity: string;
|
|
@@ -2827,14 +3603,23 @@ declare class AXPShowDetailViewAction extends AXPWorkflowAction {
|
|
|
2827
3603
|
}
|
|
2828
3604
|
declare const AXPShowDetailsViewWorkflow: AXPWorkflow;
|
|
2829
3605
|
|
|
3606
|
+
/** Optional list filters passed into `show-list-view` (e.g. from `Entity:List` with `conditions`). */
|
|
3607
|
+
interface AXPShowListViewCondition {
|
|
3608
|
+
name?: string;
|
|
3609
|
+
field?: string;
|
|
3610
|
+
operator?: {
|
|
3611
|
+
type: string;
|
|
3612
|
+
};
|
|
3613
|
+
value?: unknown;
|
|
3614
|
+
}
|
|
2830
3615
|
declare class AXPShowListViewAction extends AXPWorkflowAction {
|
|
2831
3616
|
private navigation;
|
|
2832
3617
|
private sessionService;
|
|
2833
|
-
execute(context
|
|
3618
|
+
execute(context: AXPWorkflowContext): Promise<void>;
|
|
2834
3619
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPShowListViewAction, never>;
|
|
2835
3620
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPShowListViewAction>;
|
|
2836
3621
|
}
|
|
2837
3622
|
declare const AXPShowListViewWorkflow: AXPWorkflow;
|
|
2838
3623
|
|
|
2839
|
-
export { AXMEntityCrudService, AXMEntityCrudServiceImpl, AXPCategoryTreeService, AXPCreateEntityCommand, AXPCreateEntityWorkflow, AXPDataSeederService, AXPDeleteEntityWorkflow, AXPEntitiesListDataSourceDefinition, 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, AXPEntityListPersistenceModeDefault, AXPEntityListTableService, AXPEntityListToolbarService, AXPEntityListViewColumnViewModel, AXPEntityListViewModelFactory, AXPEntityListViewModelResolver, AXPEntityListWidget, AXPEntityListWidgetViewComponent, AXPEntityMasterCreateViewModel, AXPEntityMasterListViewModel, AXPEntityMasterListViewQueryViewModel, AXPEntityMasterSingleElementViewModel, AXPEntityMasterSingleViewGroupViewModel, AXPEntityMasterSingleViewModel, AXPEntityMasterUpdateElementViewModel, AXPEntityMasterUpdateViewModel, AXPEntityMasterUpdateViewModelFactory, AXPEntityMiddleware, AXPEntityModifyConfirmedAction, AXPEntityModifyEvent, AXPEntityModifySectionPopupAction, AXPEntityModule, AXPEntityPerformDeleteAction, AXPEntityPreloadFiltersContainerComponent, AXPEntityPreloadFiltersViewModel, AXPEntityPreloadFiltersViewModelResolver, AXPEntityResolver, AXPEntityService, AXPEntityStorageService, AXPEntityUpdateViewSectionViewModel, AXPGetEntityDetailsQuery, AXPLayoutOrderingConfigService, AXPLookupWidget, AXPLookupWidgetColumnComponent, AXPLookupWidgetEditComponent, AXPLookupWidgetViewComponent, AXPMiddlewareAbortError, AXPMiddlewareEntityStorageService, AXPModifyEntitySectionWorkflow, AXPMultiSourceDefinitionProviderContext, AXPMultiSourceDefinitionProviderService, AXPMultiSourceFederatedSearchService, AXPMultiSourceSelectorComponent, AXPMultiSourceSelectorService, AXPMultiSourceSelectorWidget, AXPMultiSourceSelectorWidgetColumnComponent, AXPMultiSourceSelectorWidgetEditComponent, AXPMultiSourceSelectorWidgetViewComponent, AXPMultiSourceType, AXPOpenEntityDetailsCommand, AXPQuickEntityModifyPopupAction, AXPQuickModifyEntityWorkflow, AXPShowDetailViewAction, AXPShowDetailsViewWorkflow, AXPShowListViewAction, AXPShowListViewWorkflow, AXPTruncatedBreadcrumbComponent, AXPUpdateEntityCommand, AXPViewEntityDetailsCommand, 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, AXP_MULTI_SOURCE_DEFINITION_PROVIDER, DEFAULT_PROPERTY_ORDER, DEFAULT_SECTION_ORDER, ENTITY_LIST_ROUTE_CONTEXT_SESSION_KEY, EntityBuilder, EntityDataAccessor, actionExists, applyDataSourcePagingWithoutLoad, canPersistEntityListState, cloneLayoutArrays, columnWidthMiddleware, columnWidthMiddlewareProvider, createLayoutOrderingMiddlewareProvider, createModifierContext, detectEntityChanges, ensureLayoutPropertyView, ensureLayoutSection, ensureListActions, entityDetailsCreateActions, entityDetailsCrudActions, entityDetailsEditAction, entityDetailsNewEditAction, entityDetailsReferenceCondition, entityDetailsReferenceCreateActions, entityDetailsSimpleCondition, entityMasterBulkDeleteAction, entityMasterCreateAction, entityMasterCrudActions, entityMasterDeleteAction, entityMasterEditAction, entityMasterRecordActions, entityMasterViewAction, entityOverrideDetailsViewAction, eventDispatchMiddleware, findEntityListRowDataInTree, getDataSourcePageIndex, getEntityListRowId, isAXPMiddlewareAbortError, layoutOrderingMiddlewareFactory, layoutOrderingMiddlewareProvider, normalizeEntityListPersistenceMode, normalizeListPaging, restoreEntityListExpandedRows, shouldLoadEntityListStateFromStorage, shouldResetEntityListStateOnRouteEntry };
|
|
2840
|
-
export type { AXPAuditEvent, AXPDataSeeder, AXPEntityActionPlugin, AXPEntityCategoryWidgetOptions, AXPEntityChangeSet, AXPEntityConfigs, AXPEntityCreateDto, AXPEntityDataSelectorOptions, AXPEntityDataSelectorResult, AXPEntityDefinitionLoader, AXPEntityDefinitionPreloader, AXPEntityDeleteOptions, AXPEntityDetailDto, AXPEntityDetailPopoverOptions, AXPEntityLayoutLike, AXPEntityLayoutPropertyLike, AXPEntityLayoutSectionLike, AXPEntityListEntry, AXPEntityListExpandRowRef, AXPEntityListInput, AXPEntityListItemDto, AXPEntityListPagingState, AXPEntityListPersistenceMode, AXPEntityListToolbarConvertOptions, AXPEntityMasterListViewSortPropViewModel, AXPEntityModel, AXPEntityModifier, AXPEntityModifierContext, AXPEntityModifierProvider, AXPEntityOutputDto, AXPEntityPreloadEntity, AXPEntityStorageContext, AXPEntityStorageMiddleware, AXPEntityUpdateDto, AXPGetEntityDetailsQueryInput, AXPGetEntityDetailsQueryResult, AXPLookupWidgetLookType, AXPLookupWidgetOptions, AXPMultiSourceDefinition, AXPMultiSourceDefinitionProvider, AXPMultiSourceItem, AXPMultiSourceRef, AXPMultiSourceSearchResult, AXPMultiSourceSearchResultItem, AXPMultiSourceSelectorOpenConfig, AXPMultiSourceSelectorResult, AXPMultiSourceSelectorWidgetOptions, AXPMultiSourceValue, AXPOpenEntityDetailsCommandInput, AXPRecordAuditInfo, AXPRecordOwnershipInfo, AXPRecordStateInfo, CategoryQueryEvent, CategoryQueryFunction, CategoryQueryResult, CategoryTreeConfig, CategoryTreeNodeData, SectionOrderConfig };
|
|
3624
|
+
export { AXMEntityCrudService, AXMEntityCrudServiceImpl, AXPCategoryTreeService, AXPCreateEntityCommand, AXPCreateEntityWorkflow, AXPDataSeederService, AXPDeleteEntityWorkflow, AXPEntitiesListDataSourceDefinition, AXPEntityApplyUpdatesAction, AXPEntityCategoryTreeSelectorComponent, AXPEntityCategoryWidget, AXPEntityCategoryWidgetColumnComponent, AXPEntityCategoryWidgetEditComponent, AXPEntityCategoryWidgetViewComponent, AXPEntityCommandTriggerViewModel, AXPEntityCreateEvent, AXPEntityCreatePopupAction, AXPEntityCreateSubmittedAction, AXPEntityCreateViewElementViewModel, AXPEntityCreateViewModelFactory, AXPEntityCreateViewSectionViewModel, AXPEntityDataProvider, AXPEntityDataProviderImpl, AXPEntityDataSelectorService, AXPEntityDefinitionProviderWidget, AXPEntityDefinitionProviderWidgetEditComponent, AXPEntityDefinitionRegistryService, AXPEntityDeletedEvent, AXPEntityDetailListViewModel, AXPEntityDetailPopoverComponent, AXPEntityDetailPopoverService, AXPEntityDetailViewModelFactory, AXPEntityDetailViewModelResolver, AXPEntityEventDispatcherService, AXPEntityEventsKeys, AXPEntityFormBuilderService, AXPEntityListPersistenceModeDefault, AXPEntityListTableService, AXPEntityListToolbarService, AXPEntityListViewColumnViewModel, AXPEntityListViewModelFactory, AXPEntityListViewModelResolver, AXPEntityListWidget, AXPEntityListWidgetViewComponent, AXPEntityMasterCreateViewModel, AXPEntityMasterListViewModel, AXPEntityMasterListViewQueryViewModel, AXPEntityMasterSingleElementViewModel, AXPEntityMasterSingleViewGroupViewModel, AXPEntityMasterSingleViewModel, AXPEntityMasterUpdateElementViewModel, AXPEntityMasterUpdateViewModel, AXPEntityMasterUpdateViewModelFactory, AXPEntityMiddleware, AXPEntityModifyConfirmedAction, AXPEntityModifyEvent, AXPEntityModifySectionPopupAction, AXPEntityModule, AXPEntityPerformDeleteAction, AXPEntityPreloadFiltersContainerComponent, AXPEntityPreloadFiltersViewModel, AXPEntityPreloadFiltersViewModelResolver, AXPEntityResolver, AXPEntityService, AXPEntityStorageService, AXPEntityUpdateViewSectionViewModel, AXPGetEntityDetailsQuery, AXPLayoutOrderingConfigService, AXPLookupWidget, AXPLookupWidgetColumnComponent, AXPLookupWidgetEditComponent, AXPLookupWidgetViewComponent, AXPMiddlewareAbortError, AXPMiddlewareEntityStorageService, AXPModifyEntitySectionWorkflow, AXPMultiSourceDefinitionProviderContext, AXPMultiSourceDefinitionProviderService, AXPMultiSourceFederatedSearchService, AXPMultiSourceSelectorComponent, AXPMultiSourceSelectorService, AXPMultiSourceSelectorWidget, AXPMultiSourceSelectorWidgetColumnComponent, AXPMultiSourceSelectorWidgetEditComponent, AXPMultiSourceSelectorWidgetViewComponent, AXPMultiSourceType, AXPOpenEntityDetailsCommand, AXPQuickEntityModifyPopupAction, AXPQuickModifyEntityWorkflow, AXPRelatedColumnEnrichmentService, AXPRelatedColumnMetadataResolver, AXPSelectorStructureWidget, AXPSelectorStructureWidgetColumnComponent, AXPSelectorStructureWidgetEditComponent, AXPSelectorStructureWidgetViewComponent, AXPShowDetailViewAction, AXPShowDetailsViewWorkflow, AXPShowListViewAction, AXPShowListViewWorkflow, AXPTruncatedBreadcrumbComponent, AXPUpdateEntityCommand, AXPViewEntityDetailsCommand, AXP_CATEGORY_TREE_ROOT_TITLE_I18N_KEY, 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, AXP_MULTI_SOURCE_DEFINITION_PROVIDER, DEFAULT_COLUMN_ORDER, DEFAULT_PAIR_SPAN_RULES, DEFAULT_PROPERTY_ORDER, DEFAULT_SECTION_ORDER, ENTITY_LIST_ROUTE_CONTEXT_SESSION_KEY, EntityBuilder, EntityDataAccessor, actionExists, applyDataSourcePagingWithoutLoad, axpCreateEntityAiToolInputDefaults, axpCreateEntityCommandDefinition, canPersistEntityListState, cloneLayoutArrays, collectEntityQuickSearchFieldPaths, collectNestedCreateHiddenProperties, collectNestedFieldPathsFromEntityColumns, collectQuickSearchPathsFromSingleEntityDefinition, columnOrderingMiddleware, columnOrderingMiddlewareProvider, columnWidthMiddleware, columnWidthMiddlewareProvider, computeEntityAggregates, createColumnOrderingMiddlewareProvider, createLayoutOrderingMiddlewareProvider, createModifierContext, defaultMultiLanguageMiddleware, defaultMultiLanguageMiddlewareProvider, detectEntityChanges, ensureLayoutPropertyView, ensureLayoutSection, ensureListActions, entityDetailsCreateActions, entityDetailsCreateActionsDeferredParent, entityDetailsCrudActions, entityDetailsEditAction, entityDetailsNewEditAction, entityDetailsReferenceCondition, entityDetailsReferenceCreateActions, entityDetailsSimpleCondition, entityMasterBulkDeleteAction, entityMasterCreateAction, entityMasterCrudActions, entityMasterDeleteAction, entityMasterEditAction, entityMasterRecordActions, entityMasterViewAction, entityOverrideDetailsViewAction, eventDispatchMiddleware, filterSortEntityRows, findEntityListRowDataInTree, getDataSourcePageIndex, getEntityListRowId, getMasterInterfacePropertySortKey, isAXPMiddlewareAbortError, isCategoryEntity, isCategoryFilter, layoutOrderingMiddlewareFactory, layoutOrderingMiddlewareProvider, mergeForeignKeyFieldIntoCreateActions, normalizeEntityListPersistenceMode, normalizeListPaging, provideEntity, resolveEntityPluginDetailPageOrder, restoreEntityListExpandedRows, runEntityQuery, searchResultDescriptionMiddleware, searchResultDescriptionMiddlewareProvider, shouldLoadEntityListStateFromStorage, shouldResetEntityListStateOnRouteEntry };
|
|
3625
|
+
export type { AXPAuditEvent, AXPCollectEntityQuickSearchPathsResolver, AXPDataSeeder, AXPEntityActionPlugin, AXPEntityAggregateMeasure, AXPEntityAggregateOptions, AXPEntityAggregateReducerType, AXPEntityAggregateRequest, AXPEntityAggregateResult, AXPEntityCategoryWidgetOptions, AXPEntityChangeSet, AXPEntityConfigs, AXPEntityCreateDto, AXPEntityDataSelectorOptions, AXPEntityDataSelectorResult, AXPEntityDefinitionLoader, AXPEntityDefinitionPreloader, AXPEntityDeleteOptions, AXPEntityDetailDto, AXPEntityDetailPopoverOptions, AXPEntityLayoutLike, AXPEntityLayoutPropertyLike, AXPEntityLayoutSectionLike, AXPEntityListEntry, AXPEntityListExpandRowRef, AXPEntityListInput, AXPEntityListItemDto, AXPEntityListPagingState, AXPEntityListPersistenceMode, AXPEntityListToolbarConvertOptions, AXPEntityMasterListViewSortPropViewModel, AXPEntityModel, AXPEntityModifier, AXPEntityModifierContext, AXPEntityModifierProvider, AXPEntityOutputDto, AXPEntityPreloadEntity, AXPEntityQueryAllOptions, AXPEntityQueryAllResult, AXPEntityStorageContext, AXPEntityStorageMiddleware, AXPEntityUpdateDto, AXPGetEntityDetailsQueryInput, AXPGetEntityDetailsQueryResult, AXPLookupColumnResolveOptions, AXPLookupColumnResolveStrategy, AXPLookupWidgetLookType, AXPLookupWidgetOptions, AXPMultiSourceDefinition, AXPMultiSourceDefinitionProvider, AXPMultiSourceItem, AXPMultiSourceRef, AXPMultiSourceSearchResult, AXPMultiSourceSearchResultItem, AXPMultiSourceSelectorOpenConfig, AXPMultiSourceSelectorResult, AXPMultiSourceSelectorWidgetOptions, AXPMultiSourceValue, AXPOpenEntityDetailsCommandInput, AXPRecordAuditInfo, AXPRecordOwnershipInfo, AXPRecordStateInfo, AXPRelatedColumnMetadata, AXPSelectorStructureFieldDef, AXPSelectorStructureIdentityDisplay, AXPSelectorStructurePresentationMode, AXPSelectorStructureSelectorMode, AXPSelectorStructureStructureMode, AXPSelectorStructureWidgetColumnOptions, AXPSelectorStructureWidgetDesignerOptions, AXPSelectorStructureWidgetEditOptions, AXPSelectorStructureWidgetOptions, AXPSelectorStructureWidgetPrintOptions, AXPSelectorStructureWidgetViewOptions, AXPShowListViewCondition, CategoryQueryEvent, CategoryQueryFunction, CategoryQueryResult, CategoryTreeConfig, CategoryTreeNodeData, EntityDetailPluginPageSlot, PairSpanRule, ResolveEntityPluginDetailPageOrderOptions, RunEntityQueryAdapters, SectionOrderConfig, SkipEntityComponentPageRef };
|