@acorex/platform 21.0.0-next.5 → 21.0.0-next.51
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 +281 -23
- package/fesm2022/acorex-platform-auth.mjs.map +1 -1
- package/fesm2022/acorex-platform-common-common-settings.provider-Bi1RYif5.mjs +163 -0
- package/fesm2022/acorex-platform-common-common-settings.provider-Bi1RYif5.mjs.map +1 -0
- package/fesm2022/acorex-platform-common.mjs +1047 -263
- package/fesm2022/acorex-platform-common.mjs.map +1 -1
- package/fesm2022/acorex-platform-core.mjs +1138 -510
- 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 +804 -186
- package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-components-binding-expression-editor-popup.component-CXEdvDTf.mjs +121 -0
- package/fesm2022/acorex-platform-layout-components-binding-expression-editor-popup.component-CXEdvDTf.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-components.mjs +6208 -2344
- 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 +18632 -10286
- package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-views.mjs +538 -168
- package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-widget-core.mjs +720 -456
- package/fesm2022/acorex-platform-layout-widget-core.mjs.map +1 -1
- package/fesm2022/{acorex-platform-layout-widgets-button-widget-designer.component-C3VoBb_b.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-CDYAGBku.mjs +103 -0
- package/fesm2022/acorex-platform-layout-widgets-file-list-popup.component-CDYAGBku.mjs.map +1 -0
- package/fesm2022/{acorex-platform-layout-widgets-image-preview.popup-V31OpYah.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-BtZMBxYp.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-Ck7-wpT2.mjs → acorex-platform-layout-widgets-tabular-data-edit-popup.component-DmzNTYiS.mjs} +6 -6
- 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-y8vjUiVs.mjs → acorex-platform-layout-widgets-tabular-data-view-popup.component-BNG_588B.mjs} +5 -5
- 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-Df1BFkSa.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 +8728 -4269
- 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-eMBby9k4.mjs → acorex-platform-themes-default-entity-master-single-view.component-BfCeUU5F.mjs} +19 -26
- 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-cfREo88K.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-CdCV5ZoA.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 +1836 -67
- package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
- package/fesm2022/{acorex-platform-themes-shared-icon-chooser-column.component-C0EpfU2k.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-9W52W6Nu.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 +674 -573
- package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
- package/fesm2022/acorex-platform-workflow.mjs +1715 -535
- package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
- package/fesm2022/acorex-platform.mjs.map +1 -1
- package/package.json +37 -37
- package/{auth/index.d.ts → types/acorex-platform-auth.d.ts} +241 -4
- package/{common/index.d.ts → types/acorex-platform-common.d.ts} +598 -80
- package/{core/index.d.ts → types/acorex-platform-core.d.ts} +595 -132
- 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} +193 -48
- package/types/acorex-platform-layout-components.d.ts +2979 -0
- 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} +1601 -261
- package/{layout/views/index.d.ts → types/acorex-platform-layout-views.d.ts} +116 -55
- package/{layout/widget-core/index.d.ts → types/acorex-platform-layout-widget-core.d.ts} +272 -124
- package/{layout/widgets/index.d.ts → types/acorex-platform-layout-widgets.d.ts} +1055 -157
- 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} +122 -5
- package/{themes/shared/index.d.ts → types/acorex-platform-themes-shared.d.ts} +1 -1
- package/types/acorex-platform-workflow.d.ts +1884 -0
- package/fesm2022/acorex-platform-common-common-settings.provider-zhqNP3xb.mjs +0 -71
- package/fesm2022/acorex-platform-common-common-settings.provider-zhqNP3xb.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-button-widget-designer.component-C3VoBb_b.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-file-list-popup.component-CxrsI6Hn.mjs +0 -135
- package/fesm2022/acorex-platform-layout-widgets-file-list-popup.component-CxrsI6Hn.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-image-preview.popup-V31OpYah.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-page-widget-designer.component-BtZMBxYp.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-tabular-data-edit-popup.component-Ck7-wpT2.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-tabular-data-view-popup.component-y8vjUiVs.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-text-block-widget-designer.component-Df1BFkSa.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-VIGuU5M4.mjs +0 -157
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-VIGuU5M4.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-DyDa_hyd.mjs +0 -1542
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-DyDa_hyd.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-Ua3ZA5hk.mjs +0 -101
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-Ua3ZA5hk.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-eMBby9k4.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-error-401.component-cfREo88K.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-error-404.component-CdCV5ZoA.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-error-offline.component-E7SzBcAt.mjs +0 -19
- package/fesm2022/acorex-platform-themes-default-error-offline.component-E7SzBcAt.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-icon-chooser-column.component-C0EpfU2k.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-icon-chooser-view.component-9W52W6Nu.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-DTnfRy5f.mjs +0 -65
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-DTnfRy5f.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-DY0JtT1v.mjs +0 -64
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-DY0JtT1v.mjs.map +0 -1
- package/layout/components/index.d.ts +0 -1669
- package/runtime/index.d.ts +0 -307
- package/workflow/index.d.ts +0 -1808
- /package/{index.d.ts → types/acorex-platform.d.ts} +0 -0
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { InjectionToken, EnvironmentProviders, Injector, ErrorHandler, ModuleWithProviders, EventEmitter, ElementRef, Renderer2, NgZone, ChangeDetectorRef } from '@angular/core';
|
|
3
|
-
import {
|
|
3
|
+
import { AXDataSourceOperator, AXStyleColorType, AXDataSourceFilterOption } from '@acorex/cdk/common';
|
|
4
4
|
import * as i2 from '@acorex/components/popup';
|
|
5
5
|
import { AXPopupSizeType, AXPopupService } from '@acorex/components/popup';
|
|
6
6
|
import * as i5 from '@acorex/platform/core';
|
|
7
|
-
import { AXPValueTransformerFunctions,
|
|
8
|
-
import { AXPWidgetTypesMap, AXPMetaDataDefinition, AXPWidgetNode } from '@acorex/platform/layout/widget-core';
|
|
7
|
+
import { AXPValueTransformerFunctions, AXPMultiLanguageString, AXPOptionsData, AXPExpression, AXPFilterDefinition, AXPMetaData, AXPSystemActionType, AXPValidationRules, AXPGridLayoutOptions, AXPLogoConfig, AXPFileListItem, AXPDataSourceDefinitionProvider, AXPDataSourceDefinition, AXPNavigateActionCommand, AXPExecuteCommand, AXPApplicationUserReference, AXPEntityReference, AXPPlatformScopeKey, AXPWidgetTriggers, AXPPlatformScope, AXPExpressionEvaluatorScopeProvider, AXPExpressionEvaluatorScopeProviderContext } from '@acorex/platform/core';
|
|
8
|
+
import { AXPWidgetTypesMap, AXPMetaDataDefinition, AXPWidgetNode, AXPWidgetProperty } from '@acorex/platform/layout/widget-core';
|
|
9
9
|
import * as i6 from '@angular/router';
|
|
10
10
|
import { Route, Routes } from '@angular/router';
|
|
11
11
|
import * as i1 from '@acorex/platform/workflow';
|
|
@@ -38,7 +38,6 @@ interface AXEntityPropertyWidget {
|
|
|
38
38
|
type: AXPWidgetTypesMap[keyof AXPWidgetTypesMap] | string;
|
|
39
39
|
path?: string;
|
|
40
40
|
id?: string;
|
|
41
|
-
formula?: string;
|
|
42
41
|
children?: AXEntityPropertyWidget[];
|
|
43
42
|
mode: 'view' | 'edit';
|
|
44
43
|
options?: Record<string, any>;
|
|
@@ -81,6 +80,7 @@ interface AXPEntityPropertyLayoutConfig extends AXPGridLayoutOptions {
|
|
|
81
80
|
visible?: boolean;
|
|
82
81
|
};
|
|
83
82
|
order?: number;
|
|
83
|
+
visible?: boolean | AXPExpression;
|
|
84
84
|
}
|
|
85
85
|
interface AXPEntityPropertyGroup {
|
|
86
86
|
id: string;
|
|
@@ -102,8 +102,6 @@ interface AXPEntityPropertyCreateView extends AXPEntityPropertyView {
|
|
|
102
102
|
}
|
|
103
103
|
interface AXPEntitySectionView {
|
|
104
104
|
id: string;
|
|
105
|
-
icon?: string;
|
|
106
|
-
description?: string;
|
|
107
105
|
order?: number;
|
|
108
106
|
collapsed?: boolean;
|
|
109
107
|
layout?: AXPEntityPropertyLayoutConfig;
|
|
@@ -133,6 +131,10 @@ interface AXPEntityProperty {
|
|
|
133
131
|
inline?: {
|
|
134
132
|
enabled?: boolean;
|
|
135
133
|
};
|
|
134
|
+
preload?: {
|
|
135
|
+
enabled?: boolean;
|
|
136
|
+
required?: boolean;
|
|
137
|
+
};
|
|
136
138
|
};
|
|
137
139
|
sort?: {
|
|
138
140
|
enabled?: boolean;
|
|
@@ -140,6 +142,16 @@ interface AXPEntityProperty {
|
|
|
140
142
|
};
|
|
141
143
|
validations?: AXPValidationRules;
|
|
142
144
|
}
|
|
145
|
+
/** Logical alignment for table column header/cell (respects RTL). */
|
|
146
|
+
type AXPColumnContentAlign = 'start' | 'center' | 'end';
|
|
147
|
+
/**
|
|
148
|
+
* Column alignment: shorthand applies to both header and cell;
|
|
149
|
+
* object form sets each side independently (omitted keys default to start).
|
|
150
|
+
*/
|
|
151
|
+
type AXPColumnAlign = AXPColumnContentAlign | {
|
|
152
|
+
header?: AXPColumnContentAlign;
|
|
153
|
+
cell?: AXPColumnContentAlign;
|
|
154
|
+
};
|
|
143
155
|
interface AXPEntityTableColumn {
|
|
144
156
|
name: string;
|
|
145
157
|
title?: string;
|
|
@@ -153,9 +165,14 @@ interface AXPEntityTableColumn {
|
|
|
153
165
|
dir?: 'asc' | 'desc';
|
|
154
166
|
};
|
|
155
167
|
options?: {
|
|
156
|
-
|
|
168
|
+
/** When string, evaluate against parent detail context (e.g. related list). */
|
|
169
|
+
visible?: boolean | string;
|
|
170
|
+
/** Initial column width (overrides widget column width when set). */
|
|
157
171
|
width?: string;
|
|
172
|
+
/** Optional dataPath override for column binding. */
|
|
158
173
|
dataPath?: string;
|
|
174
|
+
/** Header/cell alignment (shorthand or per-side). */
|
|
175
|
+
align?: AXPColumnAlign;
|
|
159
176
|
[name: string]: any;
|
|
160
177
|
};
|
|
161
178
|
}
|
|
@@ -198,7 +215,7 @@ interface AXPCommandActionDisplay extends Partial<AXPCommandActionLook> {
|
|
|
198
215
|
command: AXPCommandActionCallback;
|
|
199
216
|
title: string;
|
|
200
217
|
type: AXPSystemActionType | string;
|
|
201
|
-
priority: 'primary' | 'secondary';
|
|
218
|
+
priority: 'primary' | 'secondary' | 'none';
|
|
202
219
|
separated?: boolean;
|
|
203
220
|
permissions?: string[];
|
|
204
221
|
hidden?: boolean | string;
|
|
@@ -208,12 +225,31 @@ interface AXPCommandActionDisplay extends Partial<AXPCommandActionLook> {
|
|
|
208
225
|
}
|
|
209
226
|
interface AXPEntityAction extends AXPCommandActionDisplay {
|
|
210
227
|
scope: AXPEntityCommandScope;
|
|
228
|
+
/** Child actions for dropdown submenu */
|
|
229
|
+
items?: AXPEntityAction[];
|
|
211
230
|
}
|
|
212
231
|
interface AXPEntity {
|
|
213
232
|
plugins?: {
|
|
214
233
|
name: string;
|
|
215
234
|
options?: AXPOptionsData;
|
|
216
235
|
}[];
|
|
236
|
+
/**
|
|
237
|
+
* High-level rules: when expression evaluates true, apply actions to the given targets
|
|
238
|
+
* (property/section/action). Reduces repetition of the same condition across many properties.
|
|
239
|
+
* Evaluation context: form data, user, entity; precedence vs property-level visible/readonly
|
|
240
|
+
* must be defined where rules are applied.
|
|
241
|
+
*/
|
|
242
|
+
rules?: Array<{
|
|
243
|
+
name: string;
|
|
244
|
+
expression: AXPExpression;
|
|
245
|
+
actions: Array<{
|
|
246
|
+
target: {
|
|
247
|
+
type: 'property' | 'section' | 'action';
|
|
248
|
+
name: string;
|
|
249
|
+
};
|
|
250
|
+
values: AXPOptionsData;
|
|
251
|
+
}>;
|
|
252
|
+
}>;
|
|
217
253
|
module: string;
|
|
218
254
|
name: string;
|
|
219
255
|
icon?: string;
|
|
@@ -231,6 +267,7 @@ interface AXPEntity {
|
|
|
231
267
|
};
|
|
232
268
|
};
|
|
233
269
|
relatedEntities?: AXPRelatedEntity[];
|
|
270
|
+
pages?: AXPEntityPage[];
|
|
234
271
|
groups?: AXPEntityPropertyGroup[];
|
|
235
272
|
properties: AXPEntityProperty[];
|
|
236
273
|
columns?: AXPEntityTableColumn[];
|
|
@@ -284,15 +321,30 @@ interface AXPRelatedEntity {
|
|
|
284
321
|
entity: string;
|
|
285
322
|
title?: string;
|
|
286
323
|
icon?: string;
|
|
287
|
-
columns?: string[];
|
|
324
|
+
columns?: string[] | AXPEntityTableColumn[];
|
|
325
|
+
properties?: string[];
|
|
326
|
+
excludeProperties?: string[];
|
|
288
327
|
layout?: {
|
|
289
328
|
type: 'tab-detail' | 'tab-list' | 'page-detail' | 'page-list' | 'merge-detail';
|
|
290
329
|
order?: number;
|
|
291
330
|
position?: 'before' | 'after' | 'middle';
|
|
292
331
|
};
|
|
293
332
|
conditions?: AXPQueryFilter[];
|
|
294
|
-
|
|
333
|
+
customFilterDefinitions?: Partial<AXPFilterDefinition>[];
|
|
334
|
+
hidden?: boolean | AXPExpression;
|
|
295
335
|
actions?: AXPEntityAction[];
|
|
336
|
+
/**
|
|
337
|
+
* Controls inclusion on the host entity master **create** / **update** form.
|
|
338
|
+
* Defaults depend on layout:
|
|
339
|
+
* - **merge-detail**: omitted flags behave as **true** (opt-out with `false`).
|
|
340
|
+
* - **tab-list** / **page-list**: omitted flags behave as **false** (opt-in with `true`).
|
|
341
|
+
*/
|
|
342
|
+
appearOn?: {
|
|
343
|
+
/** Include on host create form (see defaults above per layout type). */
|
|
344
|
+
create?: boolean;
|
|
345
|
+
/** Include on host update form (see defaults above per layout type). */
|
|
346
|
+
update?: boolean;
|
|
347
|
+
};
|
|
296
348
|
/**
|
|
297
349
|
* Relationship-level persistence strategy for merge-detail data.
|
|
298
350
|
* Defaults:
|
|
@@ -311,8 +363,54 @@ interface AXPRelatedEntity {
|
|
|
311
363
|
cascade?: {
|
|
312
364
|
delete?: 'none' | 'orphans' | 'all';
|
|
313
365
|
};
|
|
366
|
+
foreignKeyField?: string;
|
|
314
367
|
};
|
|
315
368
|
}
|
|
369
|
+
interface AXPEntityPage {
|
|
370
|
+
/**
|
|
371
|
+
* Key to identify the component in the page component registry
|
|
372
|
+
*/
|
|
373
|
+
componentKey: string;
|
|
374
|
+
/**
|
|
375
|
+
* Property name to render when the page component displays an entity field (e.g. 'questions', 'attachments').
|
|
376
|
+
* Passed to the page component as pageConfig.field.
|
|
377
|
+
*/
|
|
378
|
+
field?: string;
|
|
379
|
+
/**
|
|
380
|
+
* Title of the page (displayed in navigation)
|
|
381
|
+
*/
|
|
382
|
+
title?: AXPMultiLanguageString;
|
|
383
|
+
/**
|
|
384
|
+
* Icon for the page (displayed in navigation)
|
|
385
|
+
*/
|
|
386
|
+
icon?: string;
|
|
387
|
+
/**
|
|
388
|
+
* Description of the page
|
|
389
|
+
*/
|
|
390
|
+
description?: AXPMultiLanguageString;
|
|
391
|
+
/**
|
|
392
|
+
* Layout configuration for page positioning
|
|
393
|
+
*/
|
|
394
|
+
layout?: {
|
|
395
|
+
/**
|
|
396
|
+
* Order of the page (lower numbers appear first)
|
|
397
|
+
*/
|
|
398
|
+
order?: number;
|
|
399
|
+
/**
|
|
400
|
+
* Position relative to the main page
|
|
401
|
+
*/
|
|
402
|
+
position?: 'before' | 'after' | 'middle';
|
|
403
|
+
};
|
|
404
|
+
/**
|
|
405
|
+
* Visibility condition (boolean or expression string)
|
|
406
|
+
*/
|
|
407
|
+
hidden?: boolean | string;
|
|
408
|
+
/**
|
|
409
|
+
* Permissions required to view this page
|
|
410
|
+
*/
|
|
411
|
+
permissions?: string[];
|
|
412
|
+
options?: Record<string, any>;
|
|
413
|
+
}
|
|
316
414
|
interface AXPCategoryEntity {
|
|
317
415
|
entity: string;
|
|
318
416
|
title?: string;
|
|
@@ -329,18 +427,18 @@ interface AXPEntityVersionHistory {
|
|
|
329
427
|
interface AXPAggregate {
|
|
330
428
|
id: string;
|
|
331
429
|
name: string;
|
|
332
|
-
title:
|
|
430
|
+
title: AXPMultiLanguageString;
|
|
333
431
|
entities: AXPEntity[];
|
|
334
432
|
}
|
|
335
433
|
interface AXPModule {
|
|
336
434
|
name: string;
|
|
337
|
-
title:
|
|
435
|
+
title: AXPMultiLanguageString;
|
|
338
436
|
aggregates: AXPAggregate[];
|
|
339
437
|
relationships?: AXPRelationship[];
|
|
340
438
|
}
|
|
341
439
|
interface AXPApplication {
|
|
342
440
|
name: string;
|
|
343
|
-
title:
|
|
441
|
+
title: AXPMultiLanguageString;
|
|
344
442
|
modules: AXPModule[];
|
|
345
443
|
}
|
|
346
444
|
interface AXPEntityMasterLayoutView {
|
|
@@ -348,12 +446,23 @@ interface AXPEntityMasterLayoutView {
|
|
|
348
446
|
sections: AXPEntitySectionView[];
|
|
349
447
|
properties?: AXPEntityPropertyView[];
|
|
350
448
|
}
|
|
449
|
+
/** Quick create config for lookup widgets (+ button) - uses subset of create form */
|
|
450
|
+
interface AXPEntityQuickCreate {
|
|
451
|
+
enabled?: boolean;
|
|
452
|
+
properties?: string[];
|
|
453
|
+
layout?: {
|
|
454
|
+
size?: AXPopupSizeType;
|
|
455
|
+
};
|
|
456
|
+
excludeProperties?: string[];
|
|
457
|
+
}
|
|
351
458
|
interface AXPEntityMasterCreateLayoutView extends AXPEntityMasterLayoutView {
|
|
352
459
|
steps?: {
|
|
353
460
|
id: string;
|
|
354
461
|
title: string;
|
|
355
462
|
description?: string;
|
|
356
463
|
};
|
|
464
|
+
/** Quick create config for lookup widgets - uses subset of create form */
|
|
465
|
+
quickCreate?: AXPEntityQuickCreate;
|
|
357
466
|
}
|
|
358
467
|
interface AXPEntityMasterUpdateLayoutView extends AXPEntityMasterLayoutView {
|
|
359
468
|
}
|
|
@@ -367,6 +476,12 @@ interface AXPEntityMasterListView {
|
|
|
367
476
|
description?: string;
|
|
368
477
|
actions?: AXPEntityAction[];
|
|
369
478
|
views: AXPQueryView[];
|
|
479
|
+
layouts?: {
|
|
480
|
+
table?: {
|
|
481
|
+
columns: AXPEntityTableColumn[];
|
|
482
|
+
};
|
|
483
|
+
card?: {};
|
|
484
|
+
};
|
|
370
485
|
}
|
|
371
486
|
interface AXPEntityDetailListView {
|
|
372
487
|
title?: string;
|
|
@@ -394,6 +509,51 @@ interface AXPQuerySort {
|
|
|
394
509
|
name: string;
|
|
395
510
|
dir: 'asc' | 'desc';
|
|
396
511
|
}
|
|
512
|
+
declare enum AXPEntityType {
|
|
513
|
+
Entity = 0,
|
|
514
|
+
AggregateRoot = 1,
|
|
515
|
+
ValueObject = 2
|
|
516
|
+
}
|
|
517
|
+
interface AXPEntityV2 {
|
|
518
|
+
version: 2;
|
|
519
|
+
module: string;
|
|
520
|
+
aggregate: string;
|
|
521
|
+
name: string;
|
|
522
|
+
type: AXPEntityType;
|
|
523
|
+
icon?: string;
|
|
524
|
+
title: string;
|
|
525
|
+
description?: string;
|
|
526
|
+
plugins?: {
|
|
527
|
+
name: string;
|
|
528
|
+
options?: AXPOptionsData;
|
|
529
|
+
}[];
|
|
530
|
+
pages?: AXPEntityPage[];
|
|
531
|
+
groups?: AXPEntityPropertyGroup[];
|
|
532
|
+
properties: AXPEntityProperty[];
|
|
533
|
+
formats: {
|
|
534
|
+
individual: string;
|
|
535
|
+
plural: string;
|
|
536
|
+
lookup?: string;
|
|
537
|
+
displayName?: string;
|
|
538
|
+
searchResult?: {
|
|
539
|
+
title: string;
|
|
540
|
+
description?: string;
|
|
541
|
+
};
|
|
542
|
+
};
|
|
543
|
+
columns?: AXPEntityTableColumn[];
|
|
544
|
+
validations?: AXPValidationRules;
|
|
545
|
+
interfaces?: {
|
|
546
|
+
master?: {
|
|
547
|
+
single?: AXPEntityMasterSingleLayoutView;
|
|
548
|
+
list?: AXPEntityMasterListView;
|
|
549
|
+
create?: AXPEntityMasterCreateLayoutView;
|
|
550
|
+
update?: AXPEntityMasterUpdateLayoutView;
|
|
551
|
+
};
|
|
552
|
+
detail?: {
|
|
553
|
+
list?: AXPEntityDetailListView;
|
|
554
|
+
};
|
|
555
|
+
};
|
|
556
|
+
}
|
|
397
557
|
|
|
398
558
|
interface AXPFilterOperator {
|
|
399
559
|
name: string;
|
|
@@ -530,7 +690,14 @@ declare function configPlatform(config?: Partial<AXPPlatformConfigs>): AXPPlatfo
|
|
|
530
690
|
|
|
531
691
|
declare enum AXPCommonSettings {
|
|
532
692
|
EnableOperationToasts = "Common:Setting:Notifications.EnableOperationToasts",
|
|
533
|
-
EntityFilterApplyMode = "Common:Setting:Entity.FilterApplyMode"
|
|
693
|
+
EntityFilterApplyMode = "Common:Setting:Entity.FilterApplyMode",
|
|
694
|
+
ShowCategoryColumnsByDefault = "Common:Setting:Entity.ShowCategoryColumnsByDefault",
|
|
695
|
+
ApplyLayoutOrdering = "Common:Setting:Entity.ApplyLayoutOrdering",
|
|
696
|
+
RedirectToDetailsAfterCreate = "Common:Setting:Entity.RedirectToDetailsAfterCreate",
|
|
697
|
+
ShowPageBadge = "Common:Setting:Entity.ShowPageBadge",
|
|
698
|
+
DebugMode = "PlatformDevTools:Setting:Developer.DebugMode",
|
|
699
|
+
ShowRowIndexColumn = "Common:Setting:Entity.ShowRowIndexColumn",
|
|
700
|
+
EntityListPersistenceMode = "Common:Setting:Entity.ListPersistenceMode"
|
|
534
701
|
}
|
|
535
702
|
|
|
536
703
|
declare const AXP_ROOT_CONFIG_TOKEN: InjectionToken<AXPRootConfigs>;
|
|
@@ -669,16 +836,16 @@ interface AXPFileStorageUpdateRequest {
|
|
|
669
836
|
}
|
|
670
837
|
interface AXPFileManyStorageInfo {
|
|
671
838
|
/**
|
|
672
|
-
|
|
673
|
-
|
|
839
|
+
* The unique identifier for the stored file.
|
|
840
|
+
*/
|
|
674
841
|
id?: string;
|
|
675
842
|
/**
|
|
676
843
|
* The unique identifier for the stored file.
|
|
677
844
|
*/
|
|
678
845
|
fileId: string;
|
|
679
846
|
/**
|
|
680
|
-
|
|
681
|
-
|
|
847
|
+
* The unique identifier of referenced entity.
|
|
848
|
+
*/
|
|
682
849
|
refId: string;
|
|
683
850
|
/**
|
|
684
851
|
* The type of the referenced entity.
|
|
@@ -692,6 +859,18 @@ interface AXPFileManyStorageInfo {
|
|
|
692
859
|
* The name of the file.
|
|
693
860
|
*/
|
|
694
861
|
name?: string;
|
|
862
|
+
/**
|
|
863
|
+
* The URL where the file can be accessed.
|
|
864
|
+
*/
|
|
865
|
+
url?: string;
|
|
866
|
+
/**
|
|
867
|
+
* Optional title (e.g. for display in file list).
|
|
868
|
+
*/
|
|
869
|
+
title?: string;
|
|
870
|
+
/**
|
|
871
|
+
* Optional description (e.g. for display in file list).
|
|
872
|
+
*/
|
|
873
|
+
description?: string;
|
|
695
874
|
}
|
|
696
875
|
/**
|
|
697
876
|
* Represents information about a file stored in the AXP file storage system.
|
|
@@ -850,6 +1029,175 @@ declare abstract class AXPFileStorageService {
|
|
|
850
1029
|
static ɵprov: i0.ɵɵInjectableDeclaration<AXPFileStorageService>;
|
|
851
1030
|
}
|
|
852
1031
|
|
|
1032
|
+
/**
|
|
1033
|
+
* Capabilities API provided to file action providers.
|
|
1034
|
+
* These methods allow actions to interact with the file uploader widget.
|
|
1035
|
+
*/
|
|
1036
|
+
interface AXCFileUploaderCapabilities {
|
|
1037
|
+
/**
|
|
1038
|
+
* Get all current files in the uploader.
|
|
1039
|
+
*/
|
|
1040
|
+
getFiles: () => AXPFileListItem[];
|
|
1041
|
+
/**
|
|
1042
|
+
* Replace all files in the uploader.
|
|
1043
|
+
*/
|
|
1044
|
+
setFiles: (files: AXPFileListItem[]) => void;
|
|
1045
|
+
/**
|
|
1046
|
+
* Add new files to the uploader.
|
|
1047
|
+
*/
|
|
1048
|
+
addFiles: (files: AXPFileListItem[]) => void;
|
|
1049
|
+
/**
|
|
1050
|
+
* Update files matching a predicate.
|
|
1051
|
+
*/
|
|
1052
|
+
updateFile: (predicate: (f: AXPFileListItem) => boolean, updater: (f: AXPFileListItem) => AXPFileListItem) => void;
|
|
1053
|
+
/**
|
|
1054
|
+
* Remove a file from the uploader.
|
|
1055
|
+
*/
|
|
1056
|
+
removeFile: (file: AXPFileListItem) => void;
|
|
1057
|
+
/**
|
|
1058
|
+
* Clear all files from the uploader.
|
|
1059
|
+
*/
|
|
1060
|
+
clear: () => void;
|
|
1061
|
+
/**
|
|
1062
|
+
* Get a file by its ID.
|
|
1063
|
+
*/
|
|
1064
|
+
getFileById: (id: string) => AXPFileListItem | undefined;
|
|
1065
|
+
/**
|
|
1066
|
+
* Update a file by its ID.
|
|
1067
|
+
*/
|
|
1068
|
+
updateFileById: (id: string, next: Partial<AXPFileListItem>) => void;
|
|
1069
|
+
}
|
|
1070
|
+
/**
|
|
1071
|
+
* A file uploader action that can be added by providers.
|
|
1072
|
+
*/
|
|
1073
|
+
interface AXCFileUploaderAction {
|
|
1074
|
+
/**
|
|
1075
|
+
* Unique identifier for the action/plugin.
|
|
1076
|
+
*/
|
|
1077
|
+
plugin: string;
|
|
1078
|
+
/**
|
|
1079
|
+
* Whether this action is global (available even if plugin is not explicitly enabled).
|
|
1080
|
+
*/
|
|
1081
|
+
global?: boolean;
|
|
1082
|
+
/**
|
|
1083
|
+
* Display text for the action (optional if textKey is provided).
|
|
1084
|
+
*/
|
|
1085
|
+
text?: string;
|
|
1086
|
+
/**
|
|
1087
|
+
* Translation key for the action text (optional if text is provided).
|
|
1088
|
+
*/
|
|
1089
|
+
textKey?: string;
|
|
1090
|
+
/**
|
|
1091
|
+
* Icon class for the action (e.g., 'fa-light fa-file-arrow-up').
|
|
1092
|
+
*/
|
|
1093
|
+
icon?: string;
|
|
1094
|
+
/**
|
|
1095
|
+
* Action execution handler.
|
|
1096
|
+
* Receives capabilities to interact with the file uploader.
|
|
1097
|
+
* @param capabilities The capabilities API for file operations.
|
|
1098
|
+
*/
|
|
1099
|
+
run: (capabilities: AXCFileUploaderCapabilities) => void | Promise<void>;
|
|
1100
|
+
}
|
|
1101
|
+
/**
|
|
1102
|
+
* Payload passed to file action providers.
|
|
1103
|
+
*/
|
|
1104
|
+
interface AXCFileUploaderActionsPayload {
|
|
1105
|
+
/**
|
|
1106
|
+
* Enabled plugins configuration.
|
|
1107
|
+
*/
|
|
1108
|
+
plugins: {
|
|
1109
|
+
name: string;
|
|
1110
|
+
options?: unknown;
|
|
1111
|
+
}[];
|
|
1112
|
+
/**
|
|
1113
|
+
* List of plugin names to exclude.
|
|
1114
|
+
*/
|
|
1115
|
+
excludePlugins: string[];
|
|
1116
|
+
/**
|
|
1117
|
+
* Capabilities API for interacting with the file uploader.
|
|
1118
|
+
*/
|
|
1119
|
+
capabilities: AXCFileUploaderCapabilities;
|
|
1120
|
+
/**
|
|
1121
|
+
* Current list of actions (providers can add to this array).
|
|
1122
|
+
*/
|
|
1123
|
+
actions: AXCFileUploaderAction[];
|
|
1124
|
+
/**
|
|
1125
|
+
* Widget options (optional, for accessing widget-specific settings).
|
|
1126
|
+
*/
|
|
1127
|
+
options?: {
|
|
1128
|
+
/**
|
|
1129
|
+
* Whether multiple files are allowed.
|
|
1130
|
+
*/
|
|
1131
|
+
multiple?: boolean;
|
|
1132
|
+
/**
|
|
1133
|
+
* Accepted file types (e.g., '.jpg,.png' or 'image/*').
|
|
1134
|
+
*/
|
|
1135
|
+
accept?: string;
|
|
1136
|
+
};
|
|
1137
|
+
}
|
|
1138
|
+
|
|
1139
|
+
/**
|
|
1140
|
+
* Type for file action provider token (supports both direct and async providers).
|
|
1141
|
+
*/
|
|
1142
|
+
type AXPFileActionProviderToken = AXPFileActionProvider | Promise<AXPFileActionProvider>;
|
|
1143
|
+
/**
|
|
1144
|
+
* File action provider interface.
|
|
1145
|
+
* Providers can add actions to the file uploader widget.
|
|
1146
|
+
*/
|
|
1147
|
+
interface AXPFileActionProvider {
|
|
1148
|
+
/**
|
|
1149
|
+
* Unique key identifying this provider.
|
|
1150
|
+
* Should match the webhook key for backward compatibility: 'file-uploader.actions'
|
|
1151
|
+
*/
|
|
1152
|
+
key: string;
|
|
1153
|
+
/**
|
|
1154
|
+
* Execute the provider to add actions.
|
|
1155
|
+
* @param payload The payload containing capabilities and current actions.
|
|
1156
|
+
* @returns The modified payload with new actions added.
|
|
1157
|
+
*/
|
|
1158
|
+
execute(payload: AXCFileUploaderActionsPayload): Promise<AXCFileUploaderActionsPayload> | AXCFileUploaderActionsPayload;
|
|
1159
|
+
/**
|
|
1160
|
+
* Priority for execution order (lower numbers execute first).
|
|
1161
|
+
* Defaults to 0 if not specified.
|
|
1162
|
+
*/
|
|
1163
|
+
priority?: number;
|
|
1164
|
+
}
|
|
1165
|
+
/**
|
|
1166
|
+
* Multi-provider injection token for file action providers.
|
|
1167
|
+
* Modules can provide multiple implementations using this token.
|
|
1168
|
+
*/
|
|
1169
|
+
declare const AXP_FILE_ACTION_PROVIDER: InjectionToken<AXPFileActionProviderToken[]>;
|
|
1170
|
+
|
|
1171
|
+
/**
|
|
1172
|
+
* Service for managing file uploader actions.
|
|
1173
|
+
* Aggregates actions from multiple providers and filters them based on plugin configuration.
|
|
1174
|
+
* Wraps the hook system for backward compatibility.
|
|
1175
|
+
*/
|
|
1176
|
+
declare class AXPFileActionsService {
|
|
1177
|
+
private readonly actionProviders;
|
|
1178
|
+
private readonly hookService;
|
|
1179
|
+
private readonly injector;
|
|
1180
|
+
/**
|
|
1181
|
+
* Get all actions from providers, filtered based on plugin configuration.
|
|
1182
|
+
* Wraps the hook system for backward compatibility.
|
|
1183
|
+
* @param payload Initial payload with capabilities and plugin configuration.
|
|
1184
|
+
* @returns Filtered list of actions.
|
|
1185
|
+
*/
|
|
1186
|
+
getActions(payload: AXCFileUploaderActionsPayload): Promise<AXCFileUploaderAction[]>;
|
|
1187
|
+
/**
|
|
1188
|
+
* Resolve all providers (handle both direct providers and Promise<provider>).
|
|
1189
|
+
*/
|
|
1190
|
+
private resolveProviders;
|
|
1191
|
+
/**
|
|
1192
|
+
* Filter actions based on enabled plugins and exclude list.
|
|
1193
|
+
*/
|
|
1194
|
+
private filterActions;
|
|
1195
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPFileActionsService, never>;
|
|
1196
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXPFileActionsService>;
|
|
1197
|
+
}
|
|
1198
|
+
|
|
1199
|
+
declare const UploadFromComputerActionProvider: AXPFileActionProvider;
|
|
1200
|
+
|
|
853
1201
|
interface AXPFileType {
|
|
854
1202
|
/**
|
|
855
1203
|
* The unique identifier for the file type.
|
|
@@ -929,16 +1277,23 @@ declare class AXPStickyDirective {
|
|
|
929
1277
|
private _isSticky;
|
|
930
1278
|
get isSticky(): boolean;
|
|
931
1279
|
set isSticky(value: boolean);
|
|
932
|
-
private topOffset;
|
|
933
1280
|
private parentElement;
|
|
934
1281
|
private targetElement;
|
|
935
1282
|
private mutationObserver;
|
|
1283
|
+
private readonly onWindowResize;
|
|
936
1284
|
stickyParent: string | HTMLElement;
|
|
937
1285
|
stickyTarget: string;
|
|
938
1286
|
constructor(element: ElementRef<HTMLDivElement>, renderer: Renderer2, zone: NgZone, cdr: ChangeDetectorRef);
|
|
939
1287
|
ngAfterViewInit(): void;
|
|
940
1288
|
private initSticky;
|
|
941
|
-
private
|
|
1289
|
+
private getScrollTop;
|
|
1290
|
+
/**
|
|
1291
|
+
* Toggle stuck styling only while this element is visually pinned (matches `position: sticky; top: 0`).
|
|
1292
|
+
* Scroll-offset thresholds would stay true for every section already passed, so multiple stacked stickies
|
|
1293
|
+
* would all keep `--stuck`; geometry fixes that.
|
|
1294
|
+
*/
|
|
1295
|
+
private computeShouldStick;
|
|
1296
|
+
private applyStickyStateFromScrollPosition;
|
|
942
1297
|
private onParentScroll;
|
|
943
1298
|
private toggleStickyClasses;
|
|
944
1299
|
ngOnDestroy(): void;
|
|
@@ -946,6 +1301,18 @@ declare class AXPStickyDirective {
|
|
|
946
1301
|
static ɵdir: i0.ɵɵDirectiveDeclaration<AXPStickyDirective, "[axpSticky]", ["axpSticky"], { "stickyClass": { "alias": "axpSticky"; "required": false; }; "stickyOffset": { "alias": "stickyOffset"; "required": false; }; "stickyParent": { "alias": "stickyParent"; "required": false; }; "stickyTarget": { "alias": "stickyTarget"; "required": false; }; }, { "isStickyChange": "isStickyChange"; }, never, never, true, never>;
|
|
947
1302
|
}
|
|
948
1303
|
|
|
1304
|
+
/**
|
|
1305
|
+
* Registered menu items (raw tree flattened) for select widgets via dataSource name {@link MENU_ITEMS_DATASOURCE_NAME}.
|
|
1306
|
+
*/
|
|
1307
|
+
declare const MENU_ITEMS_DATASOURCE_NAME = "platform-menu-items";
|
|
1308
|
+
/**
|
|
1309
|
+
* Data source definition for menu items from {@link AXPMenuProviderService#rawItems}.
|
|
1310
|
+
*/
|
|
1311
|
+
declare class AXPMenuItemsDataSourceDefinition implements AXPDataSourceDefinitionProvider {
|
|
1312
|
+
private readonly menuProviderService;
|
|
1313
|
+
items(): Promise<AXPDataSourceDefinition[]>;
|
|
1314
|
+
}
|
|
1315
|
+
|
|
949
1316
|
type AXPMenuInsertion = 'before' | 'after' | 'inside';
|
|
950
1317
|
type AXPMenuType = 'menu' | 'group' | 'break';
|
|
951
1318
|
type AXPMenuItemCommand = AXPNavigateActionCommand<'modal' | 'router'> | AXPExecuteCommand;
|
|
@@ -973,6 +1340,12 @@ interface AXPMenuFinderResult {
|
|
|
973
1340
|
remove(): void;
|
|
974
1341
|
update(updatedItem: Partial<AXPMenuItem>): void;
|
|
975
1342
|
addItems(items: AXPMenuItem[]): void;
|
|
1343
|
+
/**
|
|
1344
|
+
* Moves the item matched by the current `find` target to another place in the tree.
|
|
1345
|
+
* @param destination Name of the target menu item (group or item).
|
|
1346
|
+
* @param position `inside` — child of `destination` (default). `before` / `after` — sibling of `destination` in its parent's list.
|
|
1347
|
+
*/
|
|
1348
|
+
moveTo(destination: string, position?: AXPMenuInsertion): void;
|
|
976
1349
|
}
|
|
977
1350
|
interface AXPMenuProviderContext {
|
|
978
1351
|
addItems(items: AXPMenuItem[]): void;
|
|
@@ -991,6 +1364,7 @@ declare class AXPMenuProviderService {
|
|
|
991
1364
|
private pendingRemovals;
|
|
992
1365
|
private pendingUpdates;
|
|
993
1366
|
private pendingAdditions;
|
|
1367
|
+
private pendingMoves;
|
|
994
1368
|
/**
|
|
995
1369
|
* Observable for menu reload events
|
|
996
1370
|
* Emits when menu cache is cleared and consumers should reload
|
|
@@ -1025,6 +1399,8 @@ declare class AXPMenuProviderService {
|
|
|
1025
1399
|
* Find menu item by name in the items tree (recursive search)
|
|
1026
1400
|
*/
|
|
1027
1401
|
private findItemByName;
|
|
1402
|
+
private applyPendingMove;
|
|
1403
|
+
private itemIsInSubtreeOf;
|
|
1028
1404
|
/**
|
|
1029
1405
|
* Merge new item properties into existing item, handling children merge
|
|
1030
1406
|
*/
|
|
@@ -1328,8 +1704,8 @@ interface AXPSearchResult {
|
|
|
1328
1704
|
id?: string;
|
|
1329
1705
|
group: string;
|
|
1330
1706
|
data?: any;
|
|
1331
|
-
title?: string;
|
|
1332
|
-
description?: string;
|
|
1707
|
+
title?: string | AXPMultiLanguageString;
|
|
1708
|
+
description?: string | AXPMultiLanguageString;
|
|
1333
1709
|
icon?: string;
|
|
1334
1710
|
command: AXPExecuteCommand;
|
|
1335
1711
|
parent?: AXPSearchParentResult;
|
|
@@ -1345,8 +1721,8 @@ interface AXPSearchDisplayResult {
|
|
|
1345
1721
|
definitionName?: string;
|
|
1346
1722
|
definitionTitle?: string;
|
|
1347
1723
|
name: string;
|
|
1348
|
-
title: string;
|
|
1349
|
-
description?: string;
|
|
1724
|
+
title: string | AXPMultiLanguageString;
|
|
1725
|
+
description?: string | AXPMultiLanguageString;
|
|
1350
1726
|
icon: string;
|
|
1351
1727
|
data?: any;
|
|
1352
1728
|
order?: any;
|
|
@@ -1418,6 +1794,7 @@ interface AXPSearchProvider {
|
|
|
1418
1794
|
search(text: string): Promise<AXPSearchResult[]>;
|
|
1419
1795
|
}
|
|
1420
1796
|
declare abstract class AXPSearchCommandProvider {
|
|
1797
|
+
private readonly translationService;
|
|
1421
1798
|
abstract commands: AXPSearchResult[];
|
|
1422
1799
|
search(text: string): Promise<AXPSearchResult[]>;
|
|
1423
1800
|
}
|
|
@@ -1427,11 +1804,39 @@ declare class AXPSearchService {
|
|
|
1427
1804
|
private providers;
|
|
1428
1805
|
private definitionService;
|
|
1429
1806
|
private formatService;
|
|
1807
|
+
private translationService;
|
|
1430
1808
|
search(text: string): Promise<AXPSearchDisplayGroupResult[]>;
|
|
1431
1809
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXPSearchService, never>;
|
|
1432
1810
|
static ɵprov: i0.ɵɵInjectableDeclaration<AXPSearchService>;
|
|
1433
1811
|
}
|
|
1434
1812
|
|
|
1813
|
+
/**
|
|
1814
|
+
* Shared utility for creating Entity:Create command options used in search command providers.
|
|
1815
|
+
* Use with command: { name: 'Entity:Create', options: createEntityCommandOptions(...) }
|
|
1816
|
+
*/
|
|
1817
|
+
declare function createEntityCommandOptions(entityKey: string, entityInfo: {
|
|
1818
|
+
name: string;
|
|
1819
|
+
module: string;
|
|
1820
|
+
title: string;
|
|
1821
|
+
}): Record<string, unknown>;
|
|
1822
|
+
/**
|
|
1823
|
+
* Creates a search command for "Create {Entity}" with consistent i18n pattern.
|
|
1824
|
+
* Use titleKey/descriptionKey from module (e.g. @module:entity.permissions.create.title).
|
|
1825
|
+
* Standard: "Create {Entity}" for title, "Create new {entities}" for description.
|
|
1826
|
+
*/
|
|
1827
|
+
declare function createEntitySearchCommand(config: {
|
|
1828
|
+
id: string;
|
|
1829
|
+
entityKey: string;
|
|
1830
|
+
entityInfo: {
|
|
1831
|
+
name: string;
|
|
1832
|
+
module: string;
|
|
1833
|
+
title: string;
|
|
1834
|
+
};
|
|
1835
|
+
titleKey: string;
|
|
1836
|
+
descriptionKey?: string;
|
|
1837
|
+
icon: string;
|
|
1838
|
+
}): AXPSearchResult;
|
|
1839
|
+
|
|
1435
1840
|
declare class AXPMenuSearchDefinitionProvider implements AXPSearchDefinitionProvider {
|
|
1436
1841
|
provide(context: AXPSearchDefinitionProviderContext): Promise<void>;
|
|
1437
1842
|
}
|
|
@@ -1504,6 +1909,105 @@ declare abstract class AXPLockService {
|
|
|
1504
1909
|
static ɵprov: i0.ɵɵInjectableDeclaration<AXPLockService>;
|
|
1505
1910
|
}
|
|
1506
1911
|
|
|
1912
|
+
/**
|
|
1913
|
+
* Synchronous access to default multi-language behavior for named entity fields and widget
|
|
1914
|
+
* property bindings. Mirrors {@link AXPLayoutOrderingConfigService}: avoids async in entity
|
|
1915
|
+
* modifiers and startup deadlocks.
|
|
1916
|
+
*/
|
|
1917
|
+
declare class AXPDefaultMultiLanguageConfigService {
|
|
1918
|
+
private readonly settingsService;
|
|
1919
|
+
private readonly _applyDefault;
|
|
1920
|
+
private syncScheduled;
|
|
1921
|
+
constructor();
|
|
1922
|
+
getApplyDefaultMultiLanguage(): boolean;
|
|
1923
|
+
private syncFromSettings;
|
|
1924
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPDefaultMultiLanguageConfigService, never>;
|
|
1925
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXPDefaultMultiLanguageConfigService>;
|
|
1926
|
+
}
|
|
1927
|
+
|
|
1928
|
+
/**
|
|
1929
|
+
* Shared multi-language defaults for entity properties and widget property bindings.
|
|
1930
|
+
*
|
|
1931
|
+
* **Circular dependencies:** use only `import type` for `AXPWidgetProperty` and
|
|
1932
|
+
* `AXPEntityProperty` so this module has no runtime imports from widget-core or application
|
|
1933
|
+
* types — `@acorex/platform/layout/widget-core` does not import `@acorex/platform/common`.
|
|
1934
|
+
*/
|
|
1935
|
+
|
|
1936
|
+
/**
|
|
1937
|
+
* Widget types that support the multiLanguage option (text / rich text editors).
|
|
1938
|
+
*/
|
|
1939
|
+
declare const MULTILANGUAGE_CAPABLE_WIDGET_TYPES: Set<string>;
|
|
1940
|
+
/**
|
|
1941
|
+
* Common property names / binding path segments that are usually translatable when the feature is
|
|
1942
|
+
* enabled in settings. Explicit `multiLanguage` on the property still wins.
|
|
1943
|
+
*/
|
|
1944
|
+
declare const DEFAULT_MULTILANGUAGE_FIELD_NAMES: Set<string>;
|
|
1945
|
+
declare function shouldApplyDefaultMultiLanguageToEntityProperty(prop: AXPEntityProperty): boolean;
|
|
1946
|
+
declare function shouldApplyDefaultMultiLanguageToWidgetProperty(prop: AXPWidgetProperty): boolean;
|
|
1947
|
+
/**
|
|
1948
|
+
* Leaf widget nodes in entity `schema.interface` trees (e.g. GridLayout → RichText under `pre` /
|
|
1949
|
+
* `post`) — same path/type rules as {@link shouldApplyDefaultMultiLanguageToWidgetProperty}, without
|
|
1950
|
+
* `schema.dataType` (nodes do not carry entity schema).
|
|
1951
|
+
*/
|
|
1952
|
+
declare function shouldApplyDefaultMultiLanguageToWidgetNode(node: AXPWidgetNode): boolean;
|
|
1953
|
+
/**
|
|
1954
|
+
* When {@link AXPDefaultMultiLanguageConfigService#getApplyDefaultMultiLanguage} is true, sets
|
|
1955
|
+
* `options.multiLanguage` on eligible editor leaves inside an entity property's widget tree
|
|
1956
|
+
* (including nested layouts). Used by entity middleware so object fields (e.g. `pre`, `post`) are
|
|
1957
|
+
* covered, not only top-level string properties.
|
|
1958
|
+
*/
|
|
1959
|
+
declare function withDefaultMultiLanguageOnWidgetNodeTree(root: AXPWidgetNode | undefined | null, applyDefault: boolean): AXPWidgetNode | undefined | null;
|
|
1960
|
+
/**
|
|
1961
|
+
* When {@link AXPDefaultMultiLanguageConfigService#getApplyDefaultMultiLanguage} is true, sets
|
|
1962
|
+
* `schema.interface.options.multiLanguage` for eligible string widget properties (same rules as
|
|
1963
|
+
* entity middleware), unless the property already specifies `multiLanguage`.
|
|
1964
|
+
*/
|
|
1965
|
+
declare function withDefaultMultiLanguageOnWidgetProperty(prop: AXPWidgetProperty, applyDefault: boolean): AXPWidgetProperty;
|
|
1966
|
+
|
|
1967
|
+
declare class AXPSettingDefinitionProviderContext {
|
|
1968
|
+
private rootGroups;
|
|
1969
|
+
private groupMap;
|
|
1970
|
+
addGroup(name: string, title: string, description?: string, icon?: string, pageTitle?: string): AXPSettingDefinitionGroupBuilder;
|
|
1971
|
+
group(name: string): AXPSettingDefinitionGroupBuilder | null;
|
|
1972
|
+
getGroups(): AXPSettingDefinitionGroup[];
|
|
1973
|
+
hasGroup(name: string): boolean;
|
|
1974
|
+
getGroup(name: string): AXPSettingDefinitionGroup | undefined;
|
|
1975
|
+
}
|
|
1976
|
+
declare class AXPSettingDefinitionGroupBuilder {
|
|
1977
|
+
private context;
|
|
1978
|
+
private group;
|
|
1979
|
+
constructor(context: AXPSettingDefinitionProviderContext, group: AXPSettingDefinitionGroup);
|
|
1980
|
+
addSection(name: string, title: string, description?: string): AXPSettingDefinitionSectionBuilder;
|
|
1981
|
+
section(name: string): AXPSettingDefinitionSectionBuilder | null;
|
|
1982
|
+
addGroup(name: string, title: string, description?: string, icon?: string, pageTitle?: string): AXPSettingDefinitionGroupBuilder;
|
|
1983
|
+
endGroup(): AXPSettingDefinitionProviderContext;
|
|
1984
|
+
}
|
|
1985
|
+
declare class AXPSettingDefinitionSectionBuilder {
|
|
1986
|
+
private groupBuilder;
|
|
1987
|
+
private section;
|
|
1988
|
+
constructor(groupBuilder: AXPSettingDefinitionGroupBuilder, section: AXPSettingDefinitionSection);
|
|
1989
|
+
addSetting(setting: {
|
|
1990
|
+
key: string;
|
|
1991
|
+
title: string;
|
|
1992
|
+
scope: AXPPlatformScopeKey;
|
|
1993
|
+
widget: {
|
|
1994
|
+
type: AXPWidgetTypesMap[keyof AXPWidgetTypesMap] | string;
|
|
1995
|
+
options?: AXPOptionsData;
|
|
1996
|
+
triggers?: AXPWidgetTriggers;
|
|
1997
|
+
layout?: AXPGridLayoutOptions;
|
|
1998
|
+
};
|
|
1999
|
+
description?: string;
|
|
2000
|
+
searchTagKeys?: string[];
|
|
2001
|
+
isRequired?: boolean;
|
|
2002
|
+
isInherited?: boolean;
|
|
2003
|
+
isEncrypted?: boolean;
|
|
2004
|
+
defaultValue?: unknown;
|
|
2005
|
+
valueTransforms?: AXPValueTransformerFunctions;
|
|
2006
|
+
validationRules?: AXPValidationRules;
|
|
2007
|
+
}): this;
|
|
2008
|
+
endSection(): AXPSettingDefinitionGroupBuilder;
|
|
2009
|
+
}
|
|
2010
|
+
|
|
1507
2011
|
interface AXPSettingValueProvider {
|
|
1508
2012
|
get scope(): AXPPlatformScope;
|
|
1509
2013
|
load(): Promise<AXPSettingValue[]>;
|
|
@@ -1534,6 +2038,8 @@ interface AXPSettingDefinition {
|
|
|
1534
2038
|
name: string;
|
|
1535
2039
|
title: string;
|
|
1536
2040
|
description?: string;
|
|
2041
|
+
/** Optional i18n keys (e.g. `@scope:key`) whose translated values are included in settings search. */
|
|
2042
|
+
searchTagKeys?: string[];
|
|
1537
2043
|
widget: AXPWidgetNode;
|
|
1538
2044
|
layout?: AXPGridLayoutOptions;
|
|
1539
2045
|
scope: AXPPlatformScopeKey;
|
|
@@ -1545,7 +2051,10 @@ interface AXPSettingDefinition {
|
|
|
1545
2051
|
}
|
|
1546
2052
|
interface AXPSettingDefinitionGroup {
|
|
1547
2053
|
name: string;
|
|
2054
|
+
/** Short label (e.g. sidebar); i18n key when using the translation pipe. */
|
|
1548
2055
|
title: string;
|
|
2056
|
+
/** Optional fuller page heading; i18n key. When omitted, `title` is used for the page header. */
|
|
2057
|
+
pageTitle?: string;
|
|
1549
2058
|
icon?: string;
|
|
1550
2059
|
description?: string;
|
|
1551
2060
|
groups: AXPSettingDefinitionGroup[];
|
|
@@ -1567,49 +2076,6 @@ interface AXPGroupSearchResult {
|
|
|
1567
2076
|
groups: AXPSettingDefinitionGroup[] | null;
|
|
1568
2077
|
}
|
|
1569
2078
|
|
|
1570
|
-
declare class AXPSettingDefinitionProviderContext {
|
|
1571
|
-
private rootGroups;
|
|
1572
|
-
private groupMap;
|
|
1573
|
-
addGroup(name: string, title: string, description?: string, icon?: string): AXPSettingDefinitionGroupBuilder;
|
|
1574
|
-
group(name: string): AXPSettingDefinitionGroupBuilder | null;
|
|
1575
|
-
getGroups(): AXPSettingDefinitionGroup[];
|
|
1576
|
-
hasGroup(name: string): boolean;
|
|
1577
|
-
getGroup(name: string): AXPSettingDefinitionGroup | undefined;
|
|
1578
|
-
}
|
|
1579
|
-
declare class AXPSettingDefinitionGroupBuilder {
|
|
1580
|
-
private context;
|
|
1581
|
-
private group;
|
|
1582
|
-
constructor(context: AXPSettingDefinitionProviderContext, group: AXPSettingDefinitionGroup);
|
|
1583
|
-
addSection(name: string, title: string, description?: string): AXPSettingDefinitionSectionBuilder;
|
|
1584
|
-
section(name: string): AXPSettingDefinitionSectionBuilder | null;
|
|
1585
|
-
addGroup(name: string, title: string, description?: string, icon?: string): AXPSettingDefinitionGroupBuilder;
|
|
1586
|
-
endGroup(): AXPSettingDefinitionProviderContext;
|
|
1587
|
-
}
|
|
1588
|
-
declare class AXPSettingDefinitionSectionBuilder {
|
|
1589
|
-
private groupBuilder;
|
|
1590
|
-
private section;
|
|
1591
|
-
constructor(groupBuilder: AXPSettingDefinitionGroupBuilder, section: AXPSettingDefinitionSection);
|
|
1592
|
-
addSetting(setting: {
|
|
1593
|
-
key: string;
|
|
1594
|
-
title: string;
|
|
1595
|
-
scope: AXPPlatformScopeKey;
|
|
1596
|
-
widget: {
|
|
1597
|
-
type: AXPWidgetTypesMap[keyof AXPWidgetTypesMap] | string;
|
|
1598
|
-
options?: AXPOptionsData;
|
|
1599
|
-
triggers?: AXPWidgetTriggers;
|
|
1600
|
-
layout?: AXPGridLayoutOptions;
|
|
1601
|
-
};
|
|
1602
|
-
description?: string;
|
|
1603
|
-
isRequired?: boolean;
|
|
1604
|
-
isInherited?: boolean;
|
|
1605
|
-
isEncrypted?: boolean;
|
|
1606
|
-
defaultValue?: unknown;
|
|
1607
|
-
valueTransforms?: AXPValueTransformerFunctions;
|
|
1608
|
-
validationRules?: AXPValidationRules;
|
|
1609
|
-
}): this;
|
|
1610
|
-
endSection(): AXPSettingDefinitionGroupBuilder;
|
|
1611
|
-
}
|
|
1612
|
-
|
|
1613
2079
|
interface AXPSettingDefinitionProvider {
|
|
1614
2080
|
provide(context: AXPSettingDefinitionProviderContext): Promise<void>;
|
|
1615
2081
|
}
|
|
@@ -1622,6 +2088,7 @@ declare class AXPSettingDefinitionProviderService {
|
|
|
1622
2088
|
getListAsync(scope: AXPPlatformScopeKey): Promise<AXPSettingDefinitionGroup[]>;
|
|
1623
2089
|
getList(scope: AXPPlatformScopeKey): AXPSettingDefinitionGroup[];
|
|
1624
2090
|
defaultValues(): Promise<Record<string, unknown>>;
|
|
2091
|
+
settingScopeByKey(): Promise<Record<string, AXPPlatformScope>>;
|
|
1625
2092
|
findGroup(scope: AXPPlatformScopeKey, groupName: string): AXPGroupSearchResult;
|
|
1626
2093
|
private searchRecursive;
|
|
1627
2094
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXPSettingDefinitionProviderService, never>;
|
|
@@ -1638,6 +2105,25 @@ declare class AXPSettingDefaultValuesAggregatorService {
|
|
|
1638
2105
|
|
|
1639
2106
|
declare const AXP_SETTING_VALUE_PROVIDER: InjectionToken<AXPSettingValueProvider[]>;
|
|
1640
2107
|
|
|
2108
|
+
/**
|
|
2109
|
+
* Supported primitive coercions for persisted setting values (including `{ value: ... }` wrappers).
|
|
2110
|
+
*/
|
|
2111
|
+
type AXPSettingCoercionKind = 'string' | 'boolean' | 'number' | 'date';
|
|
2112
|
+
/**
|
|
2113
|
+
* If the payload uses the common `{ value: T }` shape from setting widgets, returns the inner value; otherwise returns `raw`.
|
|
2114
|
+
*/
|
|
2115
|
+
declare function peelSettingValueKey(raw: unknown): unknown;
|
|
2116
|
+
/**
|
|
2117
|
+
* Picks a primitive coercion kind from the setting definition default and/or the effective stored value.
|
|
2118
|
+
* Type argument `T` on the settings service `get` method is compile-time only; runtime behavior follows this inference.
|
|
2119
|
+
*/
|
|
2120
|
+
declare function inferSettingCoercionKind(defaultSample: unknown, effective: unknown): AXPSettingCoercionKind | null;
|
|
2121
|
+
declare function coerceAXPSettingRawValueByKind(raw: unknown, kind: AXPSettingCoercionKind): string | boolean | number | Date;
|
|
2122
|
+
declare function coerceAXPSettingRawValue(raw: unknown, kind: 'string'): string;
|
|
2123
|
+
declare function coerceAXPSettingRawValue(raw: unknown, kind: 'boolean'): boolean;
|
|
2124
|
+
declare function coerceAXPSettingRawValue(raw: unknown, kind: 'number'): number;
|
|
2125
|
+
declare function coerceAXPSettingRawValue(raw: unknown, kind: 'date'): Date;
|
|
2126
|
+
|
|
1641
2127
|
interface AXPSettingsServiceInterface {
|
|
1642
2128
|
load(): Promise<AXPSettingValue[]>;
|
|
1643
2129
|
get<T = any>(key: string): Promise<T>;
|
|
@@ -1655,10 +2141,20 @@ declare class AXPSettingsService implements AXPSettingsServiceInterface {
|
|
|
1655
2141
|
constructor();
|
|
1656
2142
|
reload(): Promise<void>;
|
|
1657
2143
|
load(): Promise<AXPSettingValue[]>;
|
|
2144
|
+
/**
|
|
2145
|
+
* Returns the effective setting value. Primitive coercion (string, boolean, number, date) is inferred from the
|
|
2146
|
+
* definition default and/or the stored shape (including `{ value: ... }`). Type argument `T` is compile-time only;
|
|
2147
|
+
* it is not read at runtime—use it to document the expected result (e.g. `get<boolean>(key)`).
|
|
2148
|
+
*/
|
|
1658
2149
|
get<T = any>(key: string): Promise<T>;
|
|
2150
|
+
/**
|
|
2151
|
+
* Effective value (user → tenant → platform) when set; otherwise the definition default. Used for reads and coercion hints.
|
|
2152
|
+
*/
|
|
2153
|
+
private resolveEffectiveAndDefault;
|
|
1659
2154
|
defaultValues(scope: AXPPlatformScope): Promise<Record<string, unknown>>;
|
|
1660
2155
|
scope(scope: AXPPlatformScope): ScopedSettingService;
|
|
1661
2156
|
invokeChangeEvent(event: AXPSettingChangedEvent): void;
|
|
2157
|
+
private seedMissingDefaults;
|
|
1662
2158
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXPSettingsService, never>;
|
|
1663
2159
|
static ɵprov: i0.ɵɵInjectableDeclaration<AXPSettingsService>;
|
|
1664
2160
|
}
|
|
@@ -1676,9 +2172,17 @@ declare class ScopedSettingService {
|
|
|
1676
2172
|
}
|
|
1677
2173
|
|
|
1678
2174
|
/**
|
|
1679
|
-
*
|
|
1680
|
-
*
|
|
1681
|
-
|
|
2175
|
+
* Exposes platform settings in expression strings, e.g.
|
|
2176
|
+
* `{{ settings.get('Common:Setting:Entity.ShowPageBadge') }}`.
|
|
2177
|
+
*/
|
|
2178
|
+
declare class AXPSettingsEvaluatorScopeProvider implements AXPExpressionEvaluatorScopeProvider {
|
|
2179
|
+
private readonly settingsService;
|
|
2180
|
+
provide(context: AXPExpressionEvaluatorScopeProviderContext): Promise<void>;
|
|
2181
|
+
}
|
|
2182
|
+
|
|
2183
|
+
/**
|
|
2184
|
+
* Regional and locale-related setting keys used by platform widgets and components.
|
|
2185
|
+
* Most values use the `LocaleManagement:Setting:Regional.*` prefix; definitions live in the locale-management module where applicable.
|
|
1682
2186
|
*/
|
|
1683
2187
|
declare enum AXPRegionalSetting {
|
|
1684
2188
|
LocaleProfile = "LocaleManagement:Setting:Regional.LocaleProfile",
|
|
@@ -1700,7 +2204,9 @@ declare enum AXPRegionalSetting {
|
|
|
1700
2204
|
WeightUnits = "LocaleManagement:Setting:Regional.WeightUnits",
|
|
1701
2205
|
VolumeUnits = "LocaleManagement:Setting:Regional.VolumeUnits",
|
|
1702
2206
|
SpeedUnits = "LocaleManagement:Setting:Regional.SpeedUnits",
|
|
1703
|
-
AreaUnits = "LocaleManagement:Setting:Regional.AreaUnits"
|
|
2207
|
+
AreaUnits = "LocaleManagement:Setting:Regional.AreaUnits",
|
|
2208
|
+
/** Default multi-language behavior for standard text field names; defined in locale-management `AXMRegionalSettingProvider`. */
|
|
2209
|
+
MultiLanguageSupport = "LocaleManagement:Setting:Regional.MultiLanguageSupport"
|
|
1704
2210
|
}
|
|
1705
2211
|
|
|
1706
2212
|
/**
|
|
@@ -1847,7 +2353,7 @@ declare const AXP_STATUS_PROVIDERS: InjectionToken<AXPStatusProvider[]>;
|
|
|
1847
2353
|
* }
|
|
1848
2354
|
*
|
|
1849
2355
|
* // Later, get the status:
|
|
1850
|
-
* const status = statusService.getStatus('task-management.status');
|
|
2356
|
+
* const status = await statusService.getStatus('task-management.status');
|
|
1851
2357
|
* if (status) {
|
|
1852
2358
|
* console.log('Statuses:', status.statuses);
|
|
1853
2359
|
* console.log('Transitions:', status.transitions);
|
|
@@ -1860,7 +2366,6 @@ declare class AXPStatusDefinitionProviderService {
|
|
|
1860
2366
|
private statusMap;
|
|
1861
2367
|
private initializationPromise;
|
|
1862
2368
|
private isInitialized;
|
|
1863
|
-
constructor();
|
|
1864
2369
|
/**
|
|
1865
2370
|
* Initialize providers (resolve promises if needed)
|
|
1866
2371
|
* Called lazily on first access
|
|
@@ -1869,22 +2374,21 @@ declare class AXPStatusDefinitionProviderService {
|
|
|
1869
2374
|
private _doInitialize;
|
|
1870
2375
|
/**
|
|
1871
2376
|
* Get a status provider by key
|
|
1872
|
-
*
|
|
1873
|
-
* including lazy-loaded providers (promises) which are resolved during initialization.
|
|
2377
|
+
* Ensures initialization is complete before accessing the status map.
|
|
1874
2378
|
*
|
|
1875
2379
|
* @param key - Status key (e.g., 'task-management.status')
|
|
1876
|
-
* @returns
|
|
2380
|
+
* @returns Promise that resolves to status provider with all statuses and transitions, or undefined if not found
|
|
1877
2381
|
*
|
|
1878
2382
|
* @example
|
|
1879
2383
|
* ```typescript
|
|
1880
|
-
* const status = statusService.getStatus('task-management.status');
|
|
2384
|
+
* const status = await statusService.getStatus('task-management.status');
|
|
1881
2385
|
* if (status) {
|
|
1882
2386
|
* console.log('Statuses:', status.statuses);
|
|
1883
2387
|
* console.log('Transitions:', status.transitions);
|
|
1884
2388
|
* }
|
|
1885
2389
|
* ```
|
|
1886
2390
|
*/
|
|
1887
|
-
getStatus(key: string): AXPStatusProvider | undefined
|
|
2391
|
+
getStatus(key: string): Promise<AXPStatusProvider | undefined>;
|
|
1888
2392
|
/**
|
|
1889
2393
|
* Execute a status transition workflow action
|
|
1890
2394
|
* Uses transition.command if provided, otherwise defaults to Entity:UpdateStatus
|
|
@@ -1910,6 +2414,10 @@ declare class AXPStatusDefinitionProviderService {
|
|
|
1910
2414
|
* Checks if the transition exists in the provider's transitions list
|
|
1911
2415
|
*/
|
|
1912
2416
|
private isValidTransition;
|
|
2417
|
+
/**
|
|
2418
|
+
* Best-effort plain string for {@link Error} messages (no i18n lookup).
|
|
2419
|
+
*/
|
|
2420
|
+
private commandMessageTextForError;
|
|
1913
2421
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXPStatusDefinitionProviderService, never>;
|
|
1914
2422
|
static ɵprov: i0.ɵɵInjectableDeclaration<AXPStatusDefinitionProviderService>;
|
|
1915
2423
|
}
|
|
@@ -2313,6 +2821,16 @@ interface AXPCurrency {
|
|
|
2313
2821
|
format: string;
|
|
2314
2822
|
}
|
|
2315
2823
|
|
|
2824
|
+
/**
|
|
2825
|
+
* Narrow API for reading app locale profiles and active languages.
|
|
2826
|
+
* Implemented by locale-management; consumed by platform layout without importing the module (avoids circular deps).
|
|
2827
|
+
*/
|
|
2828
|
+
interface AXPLocaleManagementPort {
|
|
2829
|
+
getLocaleProfiles(): Promise<AXPLocaleProfile[]>;
|
|
2830
|
+
getLanguages(): Promise<AXPLanguage[]>;
|
|
2831
|
+
}
|
|
2832
|
+
declare const AXP_LOCALE_MANAGEMENT_PORT: InjectionToken<AXPLocaleManagementPort>;
|
|
2833
|
+
|
|
2316
2834
|
interface AXPVersionStream {
|
|
2317
2835
|
id: string;
|
|
2318
2836
|
entityType: string;
|
|
@@ -2466,5 +2984,5 @@ declare class AXMWorkflowErrorHandler implements AXPErrorHandler {
|
|
|
2466
2984
|
static ɵprov: i0.ɵɵInjectableDeclaration<AXMWorkflowErrorHandler>;
|
|
2467
2985
|
}
|
|
2468
2986
|
|
|
2469
|
-
export { ALL_DEFAULT_OPERATORS, AXMWorkflowErrorHandler, AXPAppVersionService, AXPCleanNestedFilters, AXPClipBoardService, AXPCommonModule, AXPCommonSettings, AXPCustomOperatorService, AXPCustomOperatorServiceImpl, AXPDataProvider, AXPDebugService, AXPDialogConfirmAction, AXPEntityCommandScope, AXPEntityQueryType, AXPErrorHandlerRegistryService, AXPExportService, AXPFileStorageService, AXPFileStorageStatus, AXPFileTypeProviderService, AXPFilterOperatorMiddlewareService, AXPFilterOperatorMiddlewareServiceImpl, AXPFooterTextSlotComponent, AXPGlobalErrorHandler, AXPHomePageModule, AXPHomePageService, AXPLockService, AXPMenuMiddlewareRegistry, AXPMenuProviderService, AXPMenuSearchDefinitionProvider, AXPMenuSearchProvider, AXPMenuService, AXPMenuVisibilityService, AXPNavBarSlotComponent, AXPNavigateWorkflow, AXPPlatformDefaultConfigs, AXPRedirectEvent, AXPRefreshEvent, AXPRegionalSetting, AXPRelationshipCardinality, AXPRelationshipKind, AXPReloadAction, AXPReloadEvent, AXPSearchCommandProvider, AXPSearchDefinitionActionBuilder, AXPSearchDefinitionBuilder, AXPSearchDefinitionProviderContext, AXPSearchDefinitionProviderService, AXPSearchService, AXPSettingDefaultValuesAggregatorService, AXPSettingDefinitionGroupBuilder, AXPSettingDefinitionProviderContext, AXPSettingDefinitionProviderService, AXPSettingDefinitionSectionBuilder, AXPSettingsService, AXPStatusDefinitionProviderService, AXPStatusProvider, AXPStickyDirective, AXPSystemStatusType, AXPSystemStatuses, AXPToastAction, AXPTokenDefinitionService, AXPTokenEvaluatorScopeProvider, AXPVersioningService, AXPWorkflowNavigateAction, AXPWorkflowRouterNavigateAction, AXP_APP_VERSION_PROVIDER, AXP_FILE_TYPE_INFO_PROVIDER, AXP_HOME_PAGES, AXP_HOME_PAGE_DEFAULT_KEY, AXP_MENU_MIDDLEWARE, AXP_MENU_PROVIDER, AXP_PLATFORM_CONFIG_TOKEN, AXP_ROOT_CONFIG_TOKEN, AXP_SEARCH_DEFINITION_PROVIDER, AXP_SEARCH_PROVIDER, AXP_SETTING_DEFAULT_VALUES_PROVIDERS, AXP_SETTING_DEFINITION_PROVIDER, AXP_SETTING_VALUE_PROVIDER, AXP_STATUS_PROVIDERS, AXP_TOKEN_DEFINITION_PROVIDER, AXVChangeType, BETWEEN_OPER, BOOLEAN_OPERATORS, CONTAINS_OPER, DATE_OPERATORS, ENDS_WITH_OPER, ENVIRONMENT, EQ_OPER, GTE_OPER, GT_OPER, IN_OPER, IS_EMPTY_OPER, IS_NOT_EMPTY_OPER, LTE_OPER, LT_OPER, NOT_CONTAINS_OPER, NOT_EQ_OPER, NUMBER_OPERATORS, STARTS_WITH_OPER, STRING_OPERATORS, configPlatform, createAllQueryView, createMenuContext, createMenuMiddleware, createQueryView, getEntityInfo, getStatusInfo, getSystemStatus, provideDynamicHomePage, provideMenuMiddleware, resolveStatusLook, systemStatusToDefinition };
|
|
2470
|
-
export type { AXEntityPropertyWidget, AXPAggregate, AXPAppVersion, AXPAppVersionProvider, AXPApplication, AXPCategoryEntity, AXPCommandActionCallback, AXPCommandActionDisplay, AXPCommandActionLook, AXPCommandActionPriority, AXPCommandActionType, AXPCommonModuleConfigs, AXPCurrency, AXPDomToImageOptions, AXPEntity, AXPEntityAction, AXPEntityCommand, AXPEntityDetailListView, AXPEntityMasterCreateLayoutView, AXPEntityMasterLayoutView, AXPEntityMasterListView, AXPEntityMasterSingleLayoutView, AXPEntityMasterUpdateLayoutView, AXPEntityProperty, AXPEntityPropertyCreateView, AXPEntityPropertyGroup, AXPEntityPropertyLayoutConfig, AXPEntityPropertyUpdateView, AXPEntityPropertyView, AXPEntityQuery, AXPEntitySectionView, AXPEntityTableColumn, AXPEntityVersionHistory, AXPErrorHandler, AXPFileExtension, AXPFileManyStorageInfo, AXPFileStorageCreateRequest, AXPFileStorageFindRequest, AXPFileStorageInfo, AXPFileStorageUpdateRequest, AXPFileType, AXPFileTypeInfoProvider, AXPFilterOperator, AXPGeoLocation, AXPGroupSearchResult, AXPHomePageDefinition, AXPLanguage, AXPLocaleProfile, AXPLockGetInfoRequest, AXPLockInfo, AXPLockRequest, AXPLockType, AXPMenuFinderResult, AXPMenuInsertion, AXPMenuItem, AXPMenuItemCommand, AXPMenuItemFinder, AXPMenuItemWithParent, AXPMenuMiddleware, AXPMenuMiddlewareContext, AXPMenuMiddlewareProvider, AXPMenuProvider, AXPMenuProviderContext, AXPMenuType, AXPModule, AXPPlatformConfigs, AXPQueryFilter, AXPQuerySort, AXPQueryView, AXPRelatedEntity, AXPRelationship, AXPRootConfigs, AXPSearchAction, AXPSearchDefinition, AXPSearchDefinitionDisplayFormat, AXPSearchDefinitionProvider, AXPSearchDisplayGroupResult, AXPSearchDisplayResult, AXPSearchDisplayResultForSave, AXPSearchParentResult, AXPSearchProvider, AXPSearchResult, AXPSettingChangedEvent, AXPSettingDefaultValuesProvider, AXPSettingDefinition, AXPSettingDefinitionGroup, AXPSettingDefinitionProvider, AXPSettingDefinitionSection, AXPSettingValue, AXPSettingValueProvider, AXPSettingsServiceInterface, AXPStatusDefinition, AXPStatusTransition, AXPTimeZone, AXPTokenDefinition, AXPTokenDefinitionProvider, AXPTokenDefinitionProviderToken, AXPUnLockRequest, AXPVersionChange, AXPVersionEntry, AXPVersionStream, CanonicalChange, CanonicalChangeOp, VersionedFileInfo };
|
|
2987
|
+
export { ALL_DEFAULT_OPERATORS, AXMWorkflowErrorHandler, AXPAppVersionService, AXPCleanNestedFilters, AXPClipBoardService, AXPCommonModule, AXPCommonSettings, AXPCustomOperatorService, AXPCustomOperatorServiceImpl, AXPDataProvider, AXPDebugService, AXPDefaultMultiLanguageConfigService, AXPDialogConfirmAction, AXPEntityCommandScope, AXPEntityQueryType, AXPEntityType, AXPErrorHandlerRegistryService, AXPExportService, AXPFileActionsService, AXPFileStorageService, AXPFileStorageStatus, AXPFileTypeProviderService, AXPFilterOperatorMiddlewareService, AXPFilterOperatorMiddlewareServiceImpl, AXPFooterTextSlotComponent, AXPGlobalErrorHandler, AXPHomePageModule, AXPHomePageService, AXPLockService, AXPMenuItemsDataSourceDefinition, AXPMenuMiddlewareRegistry, AXPMenuProviderService, AXPMenuSearchDefinitionProvider, AXPMenuSearchProvider, AXPMenuService, AXPMenuVisibilityService, AXPNavBarSlotComponent, AXPNavigateWorkflow, AXPPlatformDefaultConfigs, AXPRedirectEvent, AXPRefreshEvent, AXPRegionalSetting, AXPRelationshipCardinality, AXPRelationshipKind, AXPReloadAction, AXPReloadEvent, AXPSearchCommandProvider, AXPSearchDefinitionActionBuilder, AXPSearchDefinitionBuilder, AXPSearchDefinitionProviderContext, AXPSearchDefinitionProviderService, AXPSearchService, AXPSettingDefaultValuesAggregatorService, AXPSettingDefinitionGroupBuilder, AXPSettingDefinitionProviderContext, AXPSettingDefinitionProviderService, AXPSettingDefinitionSectionBuilder, AXPSettingsEvaluatorScopeProvider, AXPSettingsService, AXPStatusDefinitionProviderService, AXPStatusProvider, AXPStickyDirective, AXPSystemStatusType, AXPSystemStatuses, AXPToastAction, AXPTokenDefinitionService, AXPTokenEvaluatorScopeProvider, AXPVersioningService, AXPWorkflowNavigateAction, AXPWorkflowRouterNavigateAction, AXP_APP_VERSION_PROVIDER, AXP_FILE_ACTION_PROVIDER, AXP_FILE_TYPE_INFO_PROVIDER, AXP_HOME_PAGES, AXP_HOME_PAGE_DEFAULT_KEY, AXP_LOCALE_MANAGEMENT_PORT, AXP_MENU_MIDDLEWARE, AXP_MENU_PROVIDER, AXP_PLATFORM_CONFIG_TOKEN, AXP_ROOT_CONFIG_TOKEN, AXP_SEARCH_DEFINITION_PROVIDER, AXP_SEARCH_PROVIDER, AXP_SETTING_DEFAULT_VALUES_PROVIDERS, AXP_SETTING_DEFINITION_PROVIDER, AXP_SETTING_VALUE_PROVIDER, AXP_STATUS_PROVIDERS, AXP_TOKEN_DEFINITION_PROVIDER, AXVChangeType, BETWEEN_OPER, BOOLEAN_OPERATORS, CONTAINS_OPER, DATE_OPERATORS, DEFAULT_MULTILANGUAGE_FIELD_NAMES, ENDS_WITH_OPER, ENVIRONMENT, EQ_OPER, GTE_OPER, GT_OPER, IN_OPER, IS_EMPTY_OPER, IS_NOT_EMPTY_OPER, LTE_OPER, LT_OPER, MENU_ITEMS_DATASOURCE_NAME, MULTILANGUAGE_CAPABLE_WIDGET_TYPES, NOT_CONTAINS_OPER, NOT_EQ_OPER, NUMBER_OPERATORS, STARTS_WITH_OPER, STRING_OPERATORS, UploadFromComputerActionProvider, coerceAXPSettingRawValue, coerceAXPSettingRawValueByKind, configPlatform, createAllQueryView, createEntityCommandOptions, createEntitySearchCommand, createMenuContext, createMenuMiddleware, createQueryView, getEntityInfo, getStatusInfo, getSystemStatus, inferSettingCoercionKind, peelSettingValueKey, provideDynamicHomePage, provideMenuMiddleware, resolveStatusLook, shouldApplyDefaultMultiLanguageToEntityProperty, shouldApplyDefaultMultiLanguageToWidgetNode, shouldApplyDefaultMultiLanguageToWidgetProperty, systemStatusToDefinition, withDefaultMultiLanguageOnWidgetNodeTree, withDefaultMultiLanguageOnWidgetProperty };
|
|
2988
|
+
export type { AXCFileUploaderAction, AXCFileUploaderActionsPayload, AXCFileUploaderCapabilities, AXEntityPropertyWidget, AXPAggregate, AXPAppVersion, AXPAppVersionProvider, AXPApplication, AXPCategoryEntity, AXPColumnAlign, AXPColumnContentAlign, AXPCommandActionCallback, AXPCommandActionDisplay, AXPCommandActionLook, AXPCommandActionPriority, AXPCommandActionType, AXPCommonModuleConfigs, AXPCurrency, AXPDomToImageOptions, AXPEntity, AXPEntityAction, AXPEntityCommand, AXPEntityDetailListView, AXPEntityMasterCreateLayoutView, AXPEntityMasterLayoutView, AXPEntityMasterListView, AXPEntityMasterSingleLayoutView, AXPEntityMasterUpdateLayoutView, AXPEntityPage, AXPEntityProperty, AXPEntityPropertyCreateView, AXPEntityPropertyGroup, AXPEntityPropertyLayoutConfig, AXPEntityPropertyUpdateView, AXPEntityPropertyView, AXPEntityQuery, AXPEntityQuickCreate, AXPEntitySectionView, AXPEntityTableColumn, AXPEntityV2, AXPEntityVersionHistory, AXPErrorHandler, AXPFileActionProvider, AXPFileActionProviderToken, AXPFileExtension, AXPFileManyStorageInfo, AXPFileStorageCreateRequest, AXPFileStorageFindRequest, AXPFileStorageInfo, AXPFileStorageUpdateRequest, AXPFileType, AXPFileTypeInfoProvider, AXPFilterOperator, AXPGeoLocation, AXPGroupSearchResult, AXPHomePageDefinition, AXPLanguage, AXPLocaleManagementPort, AXPLocaleProfile, AXPLockGetInfoRequest, AXPLockInfo, AXPLockRequest, AXPLockType, AXPMenuFinderResult, AXPMenuInsertion, AXPMenuItem, AXPMenuItemCommand, AXPMenuItemFinder, AXPMenuItemWithParent, AXPMenuMiddleware, AXPMenuMiddlewareContext, AXPMenuMiddlewareProvider, AXPMenuProvider, AXPMenuProviderContext, AXPMenuType, AXPModule, AXPPlatformConfigs, AXPQueryFilter, AXPQuerySort, AXPQueryView, AXPRelatedEntity, AXPRelationship, AXPRootConfigs, AXPSearchAction, AXPSearchDefinition, AXPSearchDefinitionDisplayFormat, AXPSearchDefinitionProvider, AXPSearchDisplayGroupResult, AXPSearchDisplayResult, AXPSearchDisplayResultForSave, AXPSearchParentResult, AXPSearchProvider, AXPSearchResult, AXPSettingChangedEvent, AXPSettingCoercionKind, AXPSettingDefaultValuesProvider, AXPSettingDefinition, AXPSettingDefinitionGroup, AXPSettingDefinitionProvider, AXPSettingDefinitionSection, AXPSettingValue, AXPSettingValueProvider, AXPSettingsServiceInterface, AXPStatusDefinition, AXPStatusTransition, AXPTimeZone, AXPTokenDefinition, AXPTokenDefinitionProvider, AXPTokenDefinitionProviderToken, AXPUnLockRequest, AXPVersionChange, AXPVersionEntry, AXPVersionStream, CanonicalChange, CanonicalChangeOp, VersionedFileInfo };
|