@acorex/platform 0.0.0-ACOREX
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/README.md +7 -0
- package/auth/README.md +3 -0
- package/common/README.md +3 -0
- package/core/README.md +4 -0
- package/fesm2022/acorex-platform-auth.mjs +1362 -0
- package/fesm2022/acorex-platform-auth.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-common-settings.provider-G9XcXXOG.mjs +127 -0
- package/fesm2022/acorex-platform-common-common-settings.provider-G9XcXXOG.mjs.map +1 -0
- package/fesm2022/acorex-platform-common.mjs +4601 -0
- package/fesm2022/acorex-platform-common.mjs.map +1 -0
- package/fesm2022/acorex-platform-core.mjs +4374 -0
- package/fesm2022/acorex-platform-core.mjs.map +1 -0
- package/fesm2022/acorex-platform-domain.mjs +3234 -0
- package/fesm2022/acorex-platform-domain.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-builder.mjs +2847 -0
- package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -0
- 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 +8583 -0
- package/fesm2022/acorex-platform-layout-components.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-designer.mjs +2474 -0
- package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-entity.mjs +19150 -0
- package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-views.mjs +1468 -0
- package/fesm2022/acorex-platform-layout-views.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-widget-core.mjs +2950 -0
- package/fesm2022/acorex-platform-layout-widget-core.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-widgets-button-widget-designer.component-Dy7jF-oD.mjs +72 -0
- 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-9uCkMxcc.mjs +158 -0
- package/fesm2022/acorex-platform-layout-widgets-file-list-popup.component-9uCkMxcc.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-widgets-image-preview.popup-C_EPAvCU.mjs +29 -0
- 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-D10yO28c.mjs +172 -0
- 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-BGQqY5Mw.mjs +111 -0
- package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-BGQqY5Mw.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-widgets-tabular-data-edit-popup.component-DmzNTYiS.mjs +274 -0
- 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-BNG_588B.mjs +64 -0
- 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-Vo4fWHtX.mjs +34 -0
- package/fesm2022/acorex-platform-layout-widgets-text-block-widget-designer.component-Vo4fWHtX.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-widgets.mjs +29791 -0
- package/fesm2022/acorex-platform-layout-widgets.mjs.map +1 -0
- package/fesm2022/acorex-platform-native.mjs +155 -0
- package/fesm2022/acorex-platform-native.mjs.map +1 -0
- package/fesm2022/acorex-platform-runtime-catalog-command-definition.mjs +20 -0
- package/fesm2022/acorex-platform-runtime-catalog-command-definition.mjs.map +1 -0
- package/fesm2022/acorex-platform-runtime-catalog-query-definition.mjs +20 -0
- package/fesm2022/acorex-platform-runtime-catalog-query-definition.mjs.map +1 -0
- package/fesm2022/acorex-platform-runtime.mjs +899 -0
- package/fesm2022/acorex-platform-runtime.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-Cvvr4HnL.mjs +160 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-Cvvr4HnL.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-TYoLN1Jq.mjs +120 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-TYoLN1Jq.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-C2z5Lq9y.mjs +237 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-C2z5Lq9y.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default-error-401.component-C7EYJzSr.mjs +31 -0
- package/fesm2022/acorex-platform-themes-default-error-401.component-C7EYJzSr.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default-error-404.component-7MVLMwIa.mjs +25 -0
- 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 +2589 -0
- package/fesm2022/acorex-platform-themes-default.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-shared-icon-chooser-column.component-CqkWJYdv.mjs +55 -0
- 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-BOTuLdWN.mjs +57 -0
- 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 +168 -0
- package/fesm2022/acorex-platform-themes-shared-settings.provider-DSs1o1M6.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-CHfrTtol.mjs +65 -0
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-CHfrTtol.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-BSmvnUVq.mjs +64 -0
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-BSmvnUVq.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-shared.mjs +2125 -0
- package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -0
- package/fesm2022/acorex-platform-workflow.mjs +2501 -0
- package/fesm2022/acorex-platform-workflow.mjs.map +1 -0
- package/fesm2022/acorex-platform.mjs +6 -0
- package/fesm2022/acorex-platform.mjs.map +1 -0
- package/layout/builder/README.md +1578 -0
- package/layout/components/README.md +3 -0
- package/layout/designer/README.md +4 -0
- package/layout/entity/README.md +4 -0
- package/layout/views/README.md +3 -0
- package/layout/widget-core/README.md +4 -0
- package/layout/widgets/README.md +3 -0
- package/native/README.md +4 -0
- package/package.json +103 -0
- package/runtime/README.md +3 -0
- package/themes/default/README.md +3 -0
- package/themes/shared/README.md +3 -0
- package/types/acorex-platform-auth.d.ts +680 -0
- package/types/acorex-platform-common.d.ts +2926 -0
- package/types/acorex-platform-core.d.ts +2896 -0
- package/types/acorex-platform-domain.d.ts +2353 -0
- package/types/acorex-platform-layout-builder.d.ts +926 -0
- package/types/acorex-platform-layout-components.d.ts +2903 -0
- package/types/acorex-platform-layout-designer.d.ts +422 -0
- package/types/acorex-platform-layout-entity.d.ts +3189 -0
- package/types/acorex-platform-layout-views.d.ts +667 -0
- package/types/acorex-platform-layout-widget-core.d.ts +1086 -0
- package/types/acorex-platform-layout-widgets.d.ts +5478 -0
- package/types/acorex-platform-native.d.ts +28 -0
- package/types/acorex-platform-runtime-catalog-command-definition.d.ts +137 -0
- package/types/acorex-platform-runtime-catalog-query-definition.d.ts +125 -0
- package/types/acorex-platform-runtime.d.ts +470 -0
- package/types/acorex-platform-themes-default.d.ts +573 -0
- package/types/acorex-platform-themes-shared.d.ts +170 -0
- package/types/acorex-platform-workflow.d.ts +1806 -0
- package/types/acorex-platform.d.ts +2 -0
- package/workflow/README.md +4 -0
|
@@ -0,0 +1,2926 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { InjectionToken, EnvironmentProviders, Injector, ErrorHandler, ModuleWithProviders, EventEmitter, ElementRef, Renderer2, NgZone, ChangeDetectorRef } from '@angular/core';
|
|
3
|
+
import { AXDataSourceOperator, AXStyleColorType, AXDataSourceFilterOption } from '@acorex/cdk/common';
|
|
4
|
+
import * as i2 from '@acorex/components/popup';
|
|
5
|
+
import { AXPopupSizeType, AXPopupService } from '@acorex/components/popup';
|
|
6
|
+
import * as i5 from '@acorex/platform/core';
|
|
7
|
+
import { AXPValueTransformerFunctions, AXPOptionsData, AXPExpression, AXPFilterDefinition, AXPMetaData, AXPSystemActionType, AXPValidationRules, AXPGridLayoutOptions, AXPLogoConfig, AXPFileListItem, AXPDataSourceDefinitionProvider, AXPDataSourceDefinition, AXPNavigateActionCommand, AXPExecuteCommand, AXPApplicationUserReference, AXPEntityReference, AXPPlatformScopeKey, AXPPlatformScope, AXPWidgetTriggers, AXPExpressionEvaluatorScopeProvider, AXPExpressionEvaluatorScopeProviderContext } from '@acorex/platform/core';
|
|
8
|
+
import { AXPWidgetTypesMap, AXPMetaDataDefinition, AXPWidgetNode, AXPWidgetProperty } from '@acorex/platform/layout/widget-core';
|
|
9
|
+
import * as i6 from '@angular/router';
|
|
10
|
+
import { Route, Routes } from '@angular/router';
|
|
11
|
+
import * as i1 from '@acorex/platform/workflow';
|
|
12
|
+
import { AXPWorkflowAction, AXPWorkflowContext, AXPWorkflow } from '@acorex/platform/workflow';
|
|
13
|
+
import * as i3 from '@acorex/core/date-time';
|
|
14
|
+
import * as i4 from '@acorex/components/toast';
|
|
15
|
+
import * as rxjs from 'rxjs';
|
|
16
|
+
import { Subject } from 'rxjs';
|
|
17
|
+
import * as _ngrx_signals from '@ngrx/signals';
|
|
18
|
+
import { AXTranslationService } from '@acorex/core/translation';
|
|
19
|
+
import { AXLocaleProfile } from '@acorex/core/locale';
|
|
20
|
+
|
|
21
|
+
interface AXPAppVersion {
|
|
22
|
+
version: string;
|
|
23
|
+
build: number;
|
|
24
|
+
date: Date;
|
|
25
|
+
}
|
|
26
|
+
interface AXPAppVersionProvider {
|
|
27
|
+
provider(): Promise<AXPAppVersion>;
|
|
28
|
+
}
|
|
29
|
+
declare const AXP_APP_VERSION_PROVIDER: InjectionToken<AXPAppVersionProvider>;
|
|
30
|
+
declare class AXPAppVersionService {
|
|
31
|
+
private provider;
|
|
32
|
+
getAppVersion(): Promise<AXPAppVersion>;
|
|
33
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPAppVersionService, never>;
|
|
34
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXPAppVersionService>;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
interface AXEntityPropertyWidget {
|
|
38
|
+
type: AXPWidgetTypesMap[keyof AXPWidgetTypesMap] | string;
|
|
39
|
+
path?: string;
|
|
40
|
+
id?: string;
|
|
41
|
+
children?: AXEntityPropertyWidget[];
|
|
42
|
+
mode: 'view' | 'edit';
|
|
43
|
+
options?: Record<string, any>;
|
|
44
|
+
triggers?: {
|
|
45
|
+
event: string;
|
|
46
|
+
action: string;
|
|
47
|
+
disabled?: boolean;
|
|
48
|
+
}[];
|
|
49
|
+
valueTransforms?: AXPValueTransformerFunctions;
|
|
50
|
+
}
|
|
51
|
+
declare enum AXPRelationshipKind {
|
|
52
|
+
Association = 0,
|
|
53
|
+
Composition = 1,
|
|
54
|
+
Aggregation = 2
|
|
55
|
+
}
|
|
56
|
+
declare enum AXPRelationshipCardinality {
|
|
57
|
+
OneToOne = 0,
|
|
58
|
+
OneToMany = 1,
|
|
59
|
+
ManyToMany = 2
|
|
60
|
+
}
|
|
61
|
+
interface AXPRelationship {
|
|
62
|
+
id: string;
|
|
63
|
+
from: string;
|
|
64
|
+
to: string;
|
|
65
|
+
kind: AXPRelationshipKind;
|
|
66
|
+
cardinality: AXPRelationshipCardinality;
|
|
67
|
+
}
|
|
68
|
+
declare enum AXPEntityCommandScope {
|
|
69
|
+
TypeLevel = "typeLevel",
|
|
70
|
+
Selected = "selected",
|
|
71
|
+
Individual = "individual",
|
|
72
|
+
Section = "section"
|
|
73
|
+
}
|
|
74
|
+
declare enum AXPEntityQueryType {
|
|
75
|
+
Single = "single",
|
|
76
|
+
List = "list"
|
|
77
|
+
}
|
|
78
|
+
interface AXPEntityPropertyLayoutConfig extends AXPGridLayoutOptions {
|
|
79
|
+
label?: {
|
|
80
|
+
visible?: boolean;
|
|
81
|
+
};
|
|
82
|
+
order?: number;
|
|
83
|
+
}
|
|
84
|
+
interface AXPEntityPropertyGroup {
|
|
85
|
+
id: string;
|
|
86
|
+
title: string;
|
|
87
|
+
description?: string;
|
|
88
|
+
permissions?: string[];
|
|
89
|
+
icon?: string;
|
|
90
|
+
}
|
|
91
|
+
interface AXPEntityPropertyView {
|
|
92
|
+
name: string;
|
|
93
|
+
dataPath?: string;
|
|
94
|
+
permissions?: string[];
|
|
95
|
+
layout?: AXPEntityPropertyLayoutConfig;
|
|
96
|
+
}
|
|
97
|
+
interface AXPEntityPropertyUpdateView extends AXPEntityPropertyView {
|
|
98
|
+
}
|
|
99
|
+
interface AXPEntityPropertyCreateView extends AXPEntityPropertyView {
|
|
100
|
+
defaultValue?: any;
|
|
101
|
+
}
|
|
102
|
+
interface AXPEntitySectionView {
|
|
103
|
+
id: string;
|
|
104
|
+
order?: number;
|
|
105
|
+
collapsed?: boolean;
|
|
106
|
+
layout?: AXPEntityPropertyLayoutConfig;
|
|
107
|
+
}
|
|
108
|
+
interface AXPEntityProperty {
|
|
109
|
+
name: string;
|
|
110
|
+
title: string;
|
|
111
|
+
description?: string;
|
|
112
|
+
groupId?: string;
|
|
113
|
+
schema: {
|
|
114
|
+
dataType: string;
|
|
115
|
+
nullable?: boolean;
|
|
116
|
+
readonly?: boolean | string;
|
|
117
|
+
visible?: boolean | string;
|
|
118
|
+
defaultValue?: any | string | ((context: any | null) => any);
|
|
119
|
+
unique?: {
|
|
120
|
+
enabled: boolean;
|
|
121
|
+
};
|
|
122
|
+
interface?: Partial<AXEntityPropertyWidget>;
|
|
123
|
+
};
|
|
124
|
+
options?: {
|
|
125
|
+
filter?: {
|
|
126
|
+
advance?: {
|
|
127
|
+
enabled?: boolean;
|
|
128
|
+
widgetType?: AXPWidgetTypesMap[keyof AXPWidgetTypesMap];
|
|
129
|
+
};
|
|
130
|
+
inline?: {
|
|
131
|
+
enabled?: boolean;
|
|
132
|
+
};
|
|
133
|
+
preload?: {
|
|
134
|
+
enabled?: boolean;
|
|
135
|
+
required?: boolean;
|
|
136
|
+
};
|
|
137
|
+
};
|
|
138
|
+
sort?: {
|
|
139
|
+
enabled?: boolean;
|
|
140
|
+
};
|
|
141
|
+
};
|
|
142
|
+
validations?: AXPValidationRules;
|
|
143
|
+
}
|
|
144
|
+
interface AXPEntityTableColumn {
|
|
145
|
+
name: string;
|
|
146
|
+
title?: string;
|
|
147
|
+
hidden?: boolean;
|
|
148
|
+
showAs?: {
|
|
149
|
+
type: AXPWidgetTypesMap[keyof AXPWidgetTypesMap] | string;
|
|
150
|
+
options?: Record<string, any>;
|
|
151
|
+
};
|
|
152
|
+
sort?: {
|
|
153
|
+
enabled?: boolean;
|
|
154
|
+
dir?: 'asc' | 'desc';
|
|
155
|
+
};
|
|
156
|
+
options?: {
|
|
157
|
+
/** When string, evaluate against parent detail context (e.g. related list). */
|
|
158
|
+
visible?: boolean | string;
|
|
159
|
+
width?: string;
|
|
160
|
+
dataPath?: string;
|
|
161
|
+
[name: string]: any;
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
interface AXPEntityCommand {
|
|
165
|
+
execute: string | Function;
|
|
166
|
+
permissions?: string[];
|
|
167
|
+
}
|
|
168
|
+
interface AXPEntityQuery {
|
|
169
|
+
execute: string | Function;
|
|
170
|
+
type: AXPEntityQueryType;
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
type AXPCommandActionType = AXPSystemActionType;
|
|
174
|
+
interface AXPCommandActionLook {
|
|
175
|
+
color: AXStyleColorType;
|
|
176
|
+
icon: string;
|
|
177
|
+
}
|
|
178
|
+
type AXPCommandActionPriority = 'primary' | 'secondary';
|
|
179
|
+
type AXPCommandActionCallback = string | {
|
|
180
|
+
name: string;
|
|
181
|
+
options?: {
|
|
182
|
+
decoration?: {
|
|
183
|
+
header?: {
|
|
184
|
+
title?: string;
|
|
185
|
+
};
|
|
186
|
+
};
|
|
187
|
+
process?: {
|
|
188
|
+
data?: any;
|
|
189
|
+
[name: string]: any;
|
|
190
|
+
};
|
|
191
|
+
layout?: {
|
|
192
|
+
size?: AXPopupSizeType;
|
|
193
|
+
};
|
|
194
|
+
[name: string]: any;
|
|
195
|
+
};
|
|
196
|
+
metadata?: AXPMetaData;
|
|
197
|
+
};
|
|
198
|
+
interface AXPCommandActionDisplay extends Partial<AXPCommandActionLook> {
|
|
199
|
+
name?: string;
|
|
200
|
+
command: AXPCommandActionCallback;
|
|
201
|
+
title: string;
|
|
202
|
+
type: AXPSystemActionType | string;
|
|
203
|
+
priority: 'primary' | 'secondary';
|
|
204
|
+
separated?: boolean;
|
|
205
|
+
permissions?: string[];
|
|
206
|
+
hidden?: boolean | string;
|
|
207
|
+
disabled?: boolean | string;
|
|
208
|
+
default?: boolean;
|
|
209
|
+
order?: number;
|
|
210
|
+
}
|
|
211
|
+
interface AXPEntityAction extends AXPCommandActionDisplay {
|
|
212
|
+
scope: AXPEntityCommandScope;
|
|
213
|
+
/** Child actions for dropdown submenu */
|
|
214
|
+
items?: AXPEntityAction[];
|
|
215
|
+
}
|
|
216
|
+
interface AXPEntity {
|
|
217
|
+
plugins?: {
|
|
218
|
+
name: string;
|
|
219
|
+
options?: AXPOptionsData;
|
|
220
|
+
}[];
|
|
221
|
+
/**
|
|
222
|
+
* High-level rules: when expression evaluates true, apply actions to the given targets
|
|
223
|
+
* (property/section/action). Reduces repetition of the same condition across many properties.
|
|
224
|
+
* Evaluation context: form data, user, entity; precedence vs property-level visible/readonly
|
|
225
|
+
* must be defined where rules are applied.
|
|
226
|
+
*/
|
|
227
|
+
rules?: Array<{
|
|
228
|
+
name: string;
|
|
229
|
+
expression: AXPExpression;
|
|
230
|
+
actions: Array<{
|
|
231
|
+
target: {
|
|
232
|
+
type: 'property' | 'section' | 'action';
|
|
233
|
+
name: string;
|
|
234
|
+
};
|
|
235
|
+
values: AXPOptionsData;
|
|
236
|
+
}>;
|
|
237
|
+
}>;
|
|
238
|
+
module: string;
|
|
239
|
+
name: string;
|
|
240
|
+
icon?: string;
|
|
241
|
+
parentKey?: string;
|
|
242
|
+
category?: AXPCategoryEntity;
|
|
243
|
+
title: string;
|
|
244
|
+
formats: {
|
|
245
|
+
individual: string;
|
|
246
|
+
plural: string;
|
|
247
|
+
lookup?: string;
|
|
248
|
+
displayName?: string;
|
|
249
|
+
searchResult?: {
|
|
250
|
+
title: string;
|
|
251
|
+
description?: string;
|
|
252
|
+
};
|
|
253
|
+
};
|
|
254
|
+
relatedEntities?: AXPRelatedEntity[];
|
|
255
|
+
pages?: AXPEntityPage[];
|
|
256
|
+
groups?: AXPEntityPropertyGroup[];
|
|
257
|
+
properties: AXPEntityProperty[];
|
|
258
|
+
columns?: AXPEntityTableColumn[];
|
|
259
|
+
commands?: {
|
|
260
|
+
create?: AXPEntityCommand | undefined;
|
|
261
|
+
update?: AXPEntityCommand | undefined;
|
|
262
|
+
delete?: AXPEntityCommand | undefined;
|
|
263
|
+
[name: string]: AXPEntityCommand | undefined;
|
|
264
|
+
};
|
|
265
|
+
queries?: {
|
|
266
|
+
byKey?: AXPEntityQuery;
|
|
267
|
+
list?: AXPEntityQuery;
|
|
268
|
+
lookup?: AXPEntityQuery;
|
|
269
|
+
history?: AXPEntityQuery;
|
|
270
|
+
comments?: AXPEntityQuery;
|
|
271
|
+
[name: string]: AXPEntityQuery | undefined;
|
|
272
|
+
};
|
|
273
|
+
validations?: AXPValidationRules;
|
|
274
|
+
interfaces?: {
|
|
275
|
+
master?: {
|
|
276
|
+
single?: AXPEntityMasterSingleLayoutView;
|
|
277
|
+
list?: AXPEntityMasterListView;
|
|
278
|
+
create?: AXPEntityMasterCreateLayoutView;
|
|
279
|
+
update?: AXPEntityMasterUpdateLayoutView;
|
|
280
|
+
};
|
|
281
|
+
detail?: {
|
|
282
|
+
list?: AXPEntityDetailListView;
|
|
283
|
+
};
|
|
284
|
+
};
|
|
285
|
+
}
|
|
286
|
+
declare function getEntityInfo(entity: AXPEntity): {
|
|
287
|
+
source: string;
|
|
288
|
+
module: {
|
|
289
|
+
route: string;
|
|
290
|
+
};
|
|
291
|
+
entity: {
|
|
292
|
+
route: string;
|
|
293
|
+
};
|
|
294
|
+
};
|
|
295
|
+
declare function createQueryView(name: string, title: string, fixed: boolean, params?: {
|
|
296
|
+
columns?: string[];
|
|
297
|
+
conditions?: any[];
|
|
298
|
+
sorts?: AXPQuerySort[];
|
|
299
|
+
}): AXPQueryView;
|
|
300
|
+
declare function createAllQueryView(params?: {
|
|
301
|
+
columns?: string[];
|
|
302
|
+
conditions?: AXPQueryFilter[];
|
|
303
|
+
sorts?: AXPQuerySort[];
|
|
304
|
+
} | undefined): AXPQueryView;
|
|
305
|
+
interface AXPRelatedEntity {
|
|
306
|
+
entity: string;
|
|
307
|
+
title?: string;
|
|
308
|
+
icon?: string;
|
|
309
|
+
/**
|
|
310
|
+
* Either a list of property names, or full table column metadata (`AXPEntityTableColumn`).
|
|
311
|
+
* For table columns, use `options.visible` as boolean or expression string (evaluated on parent detail).
|
|
312
|
+
*/
|
|
313
|
+
columns?: string[] | AXPEntityTableColumn[];
|
|
314
|
+
properties?: string[];
|
|
315
|
+
/** Exclude these properties from the related entity (for merge-detail) */
|
|
316
|
+
excludeProperties?: string[];
|
|
317
|
+
layout?: {
|
|
318
|
+
type: 'tab-detail' | 'tab-list' | 'page-detail' | 'page-list' | 'merge-detail';
|
|
319
|
+
order?: number;
|
|
320
|
+
position?: 'before' | 'after' | 'middle';
|
|
321
|
+
};
|
|
322
|
+
conditions?: AXPQueryFilter[];
|
|
323
|
+
/**
|
|
324
|
+
* Optional toolbar filter definitions merged when the related list is built.
|
|
325
|
+
* Entries matching an existing property `field` override/extend that filter definition.
|
|
326
|
+
*/
|
|
327
|
+
customFilterDefinitions?: Partial<AXPFilterDefinition>[];
|
|
328
|
+
hidden?: boolean | string;
|
|
329
|
+
actions?: AXPEntityAction[];
|
|
330
|
+
/**
|
|
331
|
+
* Relationship-level persistence strategy for merge-detail data.
|
|
332
|
+
* Defaults:
|
|
333
|
+
* - strategy: 'embedded'
|
|
334
|
+
* - idField: last segment of dataPath + 'Id' (or 'relatedId' when dataPath is missing)
|
|
335
|
+
* - map: undefined (pass-through)
|
|
336
|
+
* - hydrate: 'eager' (applies to getOne only in mock)
|
|
337
|
+
* - cascade.delete: 'none'
|
|
338
|
+
*/
|
|
339
|
+
persistence?: {
|
|
340
|
+
strategy?: 'embedded' | 'referenced';
|
|
341
|
+
idField?: string;
|
|
342
|
+
dataPath?: string;
|
|
343
|
+
map?: Record<string, string>;
|
|
344
|
+
hydrate?: 'eager' | 'lazy';
|
|
345
|
+
cascade?: {
|
|
346
|
+
delete?: 'none' | 'orphans' | 'all';
|
|
347
|
+
};
|
|
348
|
+
};
|
|
349
|
+
}
|
|
350
|
+
interface AXPEntityPage {
|
|
351
|
+
/**
|
|
352
|
+
* Key to identify the component in the page component registry
|
|
353
|
+
*/
|
|
354
|
+
componentKey: string;
|
|
355
|
+
/**
|
|
356
|
+
* Property name to render when the page component displays an entity field (e.g. 'questions', 'attachments').
|
|
357
|
+
* Passed to the page component as pageConfig.field.
|
|
358
|
+
*/
|
|
359
|
+
field?: string;
|
|
360
|
+
/**
|
|
361
|
+
* Title of the page (displayed in navigation)
|
|
362
|
+
*/
|
|
363
|
+
title?: string;
|
|
364
|
+
/**
|
|
365
|
+
* Icon for the page (displayed in navigation)
|
|
366
|
+
*/
|
|
367
|
+
icon?: string;
|
|
368
|
+
/**
|
|
369
|
+
* Description of the page
|
|
370
|
+
*/
|
|
371
|
+
description?: string;
|
|
372
|
+
/**
|
|
373
|
+
* Layout configuration for page positioning
|
|
374
|
+
*/
|
|
375
|
+
layout?: {
|
|
376
|
+
/**
|
|
377
|
+
* Order of the page (lower numbers appear first)
|
|
378
|
+
*/
|
|
379
|
+
order?: number;
|
|
380
|
+
/**
|
|
381
|
+
* Position relative to the main page
|
|
382
|
+
*/
|
|
383
|
+
position?: 'before' | 'after' | 'middle';
|
|
384
|
+
};
|
|
385
|
+
/**
|
|
386
|
+
* Visibility condition (boolean or expression string)
|
|
387
|
+
*/
|
|
388
|
+
hidden?: boolean | string;
|
|
389
|
+
/**
|
|
390
|
+
* Permissions required to view this page
|
|
391
|
+
*/
|
|
392
|
+
permissions?: string[];
|
|
393
|
+
options?: Record<string, any>;
|
|
394
|
+
}
|
|
395
|
+
interface AXPCategoryEntity {
|
|
396
|
+
entity: string;
|
|
397
|
+
title?: string;
|
|
398
|
+
textField?: string;
|
|
399
|
+
valueField?: string;
|
|
400
|
+
conditions?: AXPQueryFilter[];
|
|
401
|
+
applyConditions?: AXPQueryFilter[];
|
|
402
|
+
}
|
|
403
|
+
interface AXPEntityVersionHistory {
|
|
404
|
+
enabled?: boolean;
|
|
405
|
+
showInList?: boolean;
|
|
406
|
+
showInDetail?: boolean;
|
|
407
|
+
}
|
|
408
|
+
interface AXPAggregate {
|
|
409
|
+
id: string;
|
|
410
|
+
name: string;
|
|
411
|
+
title: string;
|
|
412
|
+
entities: AXPEntity[];
|
|
413
|
+
}
|
|
414
|
+
interface AXPModule {
|
|
415
|
+
name: string;
|
|
416
|
+
title: string;
|
|
417
|
+
aggregates: AXPAggregate[];
|
|
418
|
+
relationships?: AXPRelationship[];
|
|
419
|
+
}
|
|
420
|
+
interface AXPApplication {
|
|
421
|
+
name: string;
|
|
422
|
+
title: string;
|
|
423
|
+
modules: AXPModule[];
|
|
424
|
+
}
|
|
425
|
+
interface AXPEntityMasterLayoutView {
|
|
426
|
+
title?: string;
|
|
427
|
+
sections: AXPEntitySectionView[];
|
|
428
|
+
properties?: AXPEntityPropertyView[];
|
|
429
|
+
}
|
|
430
|
+
/** Quick create config for lookup widgets (+ button) - uses subset of create form */
|
|
431
|
+
interface AXPEntityQuickCreate {
|
|
432
|
+
enabled?: boolean;
|
|
433
|
+
properties?: string[];
|
|
434
|
+
layout?: {
|
|
435
|
+
size?: AXPopupSizeType;
|
|
436
|
+
};
|
|
437
|
+
excludeProperties?: string[];
|
|
438
|
+
}
|
|
439
|
+
interface AXPEntityMasterCreateLayoutView extends AXPEntityMasterLayoutView {
|
|
440
|
+
steps?: {
|
|
441
|
+
id: string;
|
|
442
|
+
title: string;
|
|
443
|
+
description?: string;
|
|
444
|
+
};
|
|
445
|
+
/** Quick create config for lookup widgets - uses subset of create form */
|
|
446
|
+
quickCreate?: AXPEntityQuickCreate;
|
|
447
|
+
}
|
|
448
|
+
interface AXPEntityMasterUpdateLayoutView extends AXPEntityMasterLayoutView {
|
|
449
|
+
}
|
|
450
|
+
interface AXPEntityMasterSingleLayoutView extends AXPEntityMasterLayoutView {
|
|
451
|
+
title: string;
|
|
452
|
+
description?: string;
|
|
453
|
+
actions?: AXPEntityAction[];
|
|
454
|
+
}
|
|
455
|
+
interface AXPEntityMasterListView {
|
|
456
|
+
title?: string;
|
|
457
|
+
description?: string;
|
|
458
|
+
actions?: AXPEntityAction[];
|
|
459
|
+
views: AXPQueryView[];
|
|
460
|
+
layouts?: {
|
|
461
|
+
table?: {
|
|
462
|
+
columns: AXPEntityTableColumn[];
|
|
463
|
+
};
|
|
464
|
+
card?: {};
|
|
465
|
+
};
|
|
466
|
+
}
|
|
467
|
+
interface AXPEntityDetailListView {
|
|
468
|
+
title?: string;
|
|
469
|
+
description?: string;
|
|
470
|
+
columns: AXPEntityTableColumn[];
|
|
471
|
+
actions?: AXPEntityAction[];
|
|
472
|
+
}
|
|
473
|
+
interface AXPQueryView {
|
|
474
|
+
name: string;
|
|
475
|
+
fixed: boolean;
|
|
476
|
+
title: string;
|
|
477
|
+
columns: string[];
|
|
478
|
+
conditions: AXPQueryFilter[];
|
|
479
|
+
sorts: AXPQuerySort[];
|
|
480
|
+
indexCol?: boolean;
|
|
481
|
+
pageSize?: number;
|
|
482
|
+
visible?: boolean;
|
|
483
|
+
}
|
|
484
|
+
interface AXPQueryFilter {
|
|
485
|
+
name: string;
|
|
486
|
+
operator: AXDataSourceOperator;
|
|
487
|
+
value: any;
|
|
488
|
+
}
|
|
489
|
+
interface AXPQuerySort {
|
|
490
|
+
name: string;
|
|
491
|
+
dir: 'asc' | 'desc';
|
|
492
|
+
}
|
|
493
|
+
declare enum AXPEntityType {
|
|
494
|
+
Entity = 0,
|
|
495
|
+
AggregateRoot = 1,
|
|
496
|
+
ValueObject = 2
|
|
497
|
+
}
|
|
498
|
+
interface AXPEntityV2 {
|
|
499
|
+
version: 2;
|
|
500
|
+
module: string;
|
|
501
|
+
aggregate: string;
|
|
502
|
+
name: string;
|
|
503
|
+
type: AXPEntityType;
|
|
504
|
+
icon?: string;
|
|
505
|
+
title: string;
|
|
506
|
+
description?: string;
|
|
507
|
+
plugins?: {
|
|
508
|
+
name: string;
|
|
509
|
+
options?: AXPOptionsData;
|
|
510
|
+
}[];
|
|
511
|
+
pages?: AXPEntityPage[];
|
|
512
|
+
groups?: AXPEntityPropertyGroup[];
|
|
513
|
+
properties: AXPEntityProperty[];
|
|
514
|
+
formats: {
|
|
515
|
+
individual: string;
|
|
516
|
+
plural: string;
|
|
517
|
+
lookup?: string;
|
|
518
|
+
displayName?: string;
|
|
519
|
+
searchResult?: {
|
|
520
|
+
title: string;
|
|
521
|
+
description?: string;
|
|
522
|
+
};
|
|
523
|
+
};
|
|
524
|
+
columns?: AXPEntityTableColumn[];
|
|
525
|
+
validations?: AXPValidationRules;
|
|
526
|
+
interfaces?: {
|
|
527
|
+
master?: {
|
|
528
|
+
single?: AXPEntityMasterSingleLayoutView;
|
|
529
|
+
list?: AXPEntityMasterListView;
|
|
530
|
+
create?: AXPEntityMasterCreateLayoutView;
|
|
531
|
+
update?: AXPEntityMasterUpdateLayoutView;
|
|
532
|
+
};
|
|
533
|
+
detail?: {
|
|
534
|
+
list?: AXPEntityDetailListView;
|
|
535
|
+
};
|
|
536
|
+
};
|
|
537
|
+
}
|
|
538
|
+
|
|
539
|
+
interface AXPFilterOperator {
|
|
540
|
+
name: string;
|
|
541
|
+
title: string;
|
|
542
|
+
hasValue: boolean;
|
|
543
|
+
}
|
|
544
|
+
declare const EQ_OPER: AXPFilterOperator;
|
|
545
|
+
declare const NOT_EQ_OPER: AXPFilterOperator;
|
|
546
|
+
declare const GT_OPER: AXPFilterOperator;
|
|
547
|
+
declare const LT_OPER: AXPFilterOperator;
|
|
548
|
+
declare const GTE_OPER: AXPFilterOperator;
|
|
549
|
+
declare const LTE_OPER: AXPFilterOperator;
|
|
550
|
+
declare const CONTAINS_OPER: AXPFilterOperator;
|
|
551
|
+
declare const NOT_CONTAINS_OPER: AXPFilterOperator;
|
|
552
|
+
declare const IN_OPER: AXPFilterOperator;
|
|
553
|
+
declare const STARTS_WITH_OPER: AXPFilterOperator;
|
|
554
|
+
declare const ENDS_WITH_OPER: AXPFilterOperator;
|
|
555
|
+
declare const IS_EMPTY_OPER: AXPFilterOperator;
|
|
556
|
+
declare const IS_NOT_EMPTY_OPER: AXPFilterOperator;
|
|
557
|
+
declare const BETWEEN_OPER: AXPFilterOperator;
|
|
558
|
+
declare const STRING_OPERATORS: AXPFilterOperator[];
|
|
559
|
+
declare const NUMBER_OPERATORS: AXPFilterOperator[];
|
|
560
|
+
declare const BOOLEAN_OPERATORS: AXPFilterOperator[];
|
|
561
|
+
declare const DATE_OPERATORS: AXPFilterOperator[];
|
|
562
|
+
declare const ALL_DEFAULT_OPERATORS: AXPFilterOperator[];
|
|
563
|
+
|
|
564
|
+
interface AXPHomePageDefinition {
|
|
565
|
+
key: string;
|
|
566
|
+
title: string;
|
|
567
|
+
route: Route;
|
|
568
|
+
}
|
|
569
|
+
declare const AXP_HOME_PAGES: InjectionToken<AXPHomePageDefinition[]>;
|
|
570
|
+
declare const AXP_HOME_PAGE_DEFAULT_KEY: InjectionToken<string>;
|
|
571
|
+
|
|
572
|
+
declare function provideDynamicHomePage(): EnvironmentProviders;
|
|
573
|
+
|
|
574
|
+
declare class AXPHomePageService {
|
|
575
|
+
private defaultHomePageKey;
|
|
576
|
+
private userHomePageKey;
|
|
577
|
+
private candidates;
|
|
578
|
+
private settingsService;
|
|
579
|
+
private sessionService;
|
|
580
|
+
private injector;
|
|
581
|
+
private originalConfig;
|
|
582
|
+
private loginPath;
|
|
583
|
+
private get flatCandidates();
|
|
584
|
+
constructor();
|
|
585
|
+
private init;
|
|
586
|
+
load(): Promise<void>;
|
|
587
|
+
getRegisteredList(): AXPHomePageDefinition[];
|
|
588
|
+
getRegisteredRoutes(): Routes;
|
|
589
|
+
getCurrent(): {
|
|
590
|
+
path: string;
|
|
591
|
+
title: string;
|
|
592
|
+
};
|
|
593
|
+
private findPath;
|
|
594
|
+
private buildFullPaths;
|
|
595
|
+
private refreshRoutes;
|
|
596
|
+
private applyMergedConfig;
|
|
597
|
+
navigateTo(): Promise<void>;
|
|
598
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPHomePageService, never>;
|
|
599
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXPHomePageService>;
|
|
600
|
+
}
|
|
601
|
+
|
|
602
|
+
declare class AXPHomePageModule {
|
|
603
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPHomePageModule, never>;
|
|
604
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<AXPHomePageModule, never, never, never>;
|
|
605
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<AXPHomePageModule>;
|
|
606
|
+
}
|
|
607
|
+
|
|
608
|
+
interface AXPErrorHandler {
|
|
609
|
+
handleError(error: Error, next: (error: Error) => void): void;
|
|
610
|
+
}
|
|
611
|
+
|
|
612
|
+
declare class AXPErrorHandlerRegistryService {
|
|
613
|
+
private injector;
|
|
614
|
+
private errorHandlers;
|
|
615
|
+
constructor(injector: Injector);
|
|
616
|
+
register(...plugins: (new () => AXPErrorHandler)[]): void;
|
|
617
|
+
get handlers(): AXPErrorHandler[];
|
|
618
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPErrorHandlerRegistryService, never>;
|
|
619
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXPErrorHandlerRegistryService>;
|
|
620
|
+
}
|
|
621
|
+
|
|
622
|
+
declare class AXPGlobalErrorHandler extends ErrorHandler {
|
|
623
|
+
private injector;
|
|
624
|
+
private registry;
|
|
625
|
+
constructor(injector: Injector, registry: AXPErrorHandlerRegistryService);
|
|
626
|
+
handleError(error: Error): void;
|
|
627
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPGlobalErrorHandler, never>;
|
|
628
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXPGlobalErrorHandler>;
|
|
629
|
+
}
|
|
630
|
+
|
|
631
|
+
interface AXPCommonModuleConfigs {
|
|
632
|
+
errorHandlers: (new () => AXPErrorHandler)[];
|
|
633
|
+
}
|
|
634
|
+
declare class AXPCommonModule {
|
|
635
|
+
static forRoot(configs?: AXPCommonModuleConfigs): ModuleWithProviders<AXPCommonModule>;
|
|
636
|
+
static forChild(configs?: AXPCommonModuleConfigs): ModuleWithProviders<AXPCommonModule>;
|
|
637
|
+
/**
|
|
638
|
+
* @ignore
|
|
639
|
+
*/
|
|
640
|
+
constructor(instances: any[]);
|
|
641
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPCommonModule, never>;
|
|
642
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<AXPCommonModule, never, [typeof i1.AXPWorkflowModule, typeof i2.AXPopupModule, typeof i3.AXDateTimeModule, typeof i4.AXToastModule, typeof i5.AXPModuleManifestModule], [typeof i6.RouterModule]>;
|
|
643
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<AXPCommonModule>;
|
|
644
|
+
}
|
|
645
|
+
|
|
646
|
+
declare const ENVIRONMENT: InjectionToken<any>;
|
|
647
|
+
declare const AXP_PLATFORM_CONFIG_TOKEN: InjectionToken<AXPPlatformConfigs>;
|
|
648
|
+
interface AXPPlatformConfigs {
|
|
649
|
+
title?: string;
|
|
650
|
+
copyright?: string;
|
|
651
|
+
logo?: {
|
|
652
|
+
icon: {
|
|
653
|
+
light: AXPLogoConfig;
|
|
654
|
+
dark: AXPLogoConfig;
|
|
655
|
+
};
|
|
656
|
+
text: {
|
|
657
|
+
light: AXPLogoConfig;
|
|
658
|
+
dark: AXPLogoConfig;
|
|
659
|
+
};
|
|
660
|
+
full: {
|
|
661
|
+
light: AXPLogoConfig;
|
|
662
|
+
dark: AXPLogoConfig;
|
|
663
|
+
};
|
|
664
|
+
};
|
|
665
|
+
network?: {
|
|
666
|
+
timeOut?: number;
|
|
667
|
+
};
|
|
668
|
+
}
|
|
669
|
+
declare const AXPPlatformDefaultConfigs: AXPPlatformConfigs;
|
|
670
|
+
declare function configPlatform(config?: Partial<AXPPlatformConfigs>): AXPPlatformConfigs;
|
|
671
|
+
|
|
672
|
+
declare enum AXPCommonSettings {
|
|
673
|
+
EnableOperationToasts = "Common:Setting:Notifications.EnableOperationToasts",
|
|
674
|
+
EntityFilterApplyMode = "Common:Setting:Entity.FilterApplyMode",
|
|
675
|
+
ShowCategoryColumnsByDefault = "Common:Setting:Entity.ShowCategoryColumnsByDefault",
|
|
676
|
+
ApplyLayoutOrdering = "Common:Setting:Entity.ApplyLayoutOrdering",
|
|
677
|
+
RedirectToDetailsAfterCreate = "Common:Setting:Entity.RedirectToDetailsAfterCreate",
|
|
678
|
+
ShowPageBadge = "Common:Setting:Entity.ShowPageBadge",
|
|
679
|
+
DebugMode = "PlatformDevTools:Setting:Developer.DebugMode"
|
|
680
|
+
}
|
|
681
|
+
|
|
682
|
+
declare const AXP_ROOT_CONFIG_TOKEN: InjectionToken<AXPRootConfigs>;
|
|
683
|
+
interface AXPRootConfigs {
|
|
684
|
+
baseUrl: string;
|
|
685
|
+
}
|
|
686
|
+
|
|
687
|
+
declare abstract class AXPDataProvider {
|
|
688
|
+
abstract insertOne(entity: any, entityItem: any): Promise<any>;
|
|
689
|
+
abstract insertMany(entity: any, entityList: any): Promise<any>;
|
|
690
|
+
abstract getOne(entity: any, id: string): Promise<any>;
|
|
691
|
+
abstract getMany(entity: any, params?: any): Promise<any>;
|
|
692
|
+
abstract updateOne(entity: any, id?: string, data?: {
|
|
693
|
+
[key: string]: any;
|
|
694
|
+
}): Promise<any>;
|
|
695
|
+
abstract deleteOne(entity: any, id: string): Promise<any>;
|
|
696
|
+
abstract getFirst(entity: any): Promise<any>;
|
|
697
|
+
abstract uploadFile(file: File, title: string, customUrl?: string): Promise<string>;
|
|
698
|
+
abstract updateFile(id: string, file: File, title: string, customUrl?: string): Promise<string>;
|
|
699
|
+
abstract uploadMultipleFiles(files: File[], title: string): Promise<string[]>;
|
|
700
|
+
abstract viewFile(id: string, name: string): Promise<Blob>;
|
|
701
|
+
abstract downloadFile(id: string, name: string): Promise<Blob>;
|
|
702
|
+
}
|
|
703
|
+
|
|
704
|
+
declare abstract class AXPFilterOperatorMiddlewareService {
|
|
705
|
+
/**
|
|
706
|
+
* Middleware to transform selected filters into corresponding operators.
|
|
707
|
+
* @param filters Array of selected filters (e.g., user input).
|
|
708
|
+
* @param customOperators Optional custom operators map to override default operators.
|
|
709
|
+
* @returns Transformed filters based on custom or default operators.
|
|
710
|
+
*/
|
|
711
|
+
abstract transformFilters(filters: AXDataSourceFilterOption[]): AXDataSourceFilterOption[];
|
|
712
|
+
/**
|
|
713
|
+
* Helper method to transform a single filter. This handles recursion for nested filters.
|
|
714
|
+
* @param filter A single filter object.
|
|
715
|
+
* @returns Transformed filter.
|
|
716
|
+
*/
|
|
717
|
+
abstract transformFilter(filters: AXDataSourceFilterOption): AXDataSourceFilterOption;
|
|
718
|
+
abstract getOperator(key: string): AXDataSourceOperator;
|
|
719
|
+
}
|
|
720
|
+
declare class AXPFilterOperatorMiddlewareServiceImpl extends AXPFilterOperatorMiddlewareService {
|
|
721
|
+
private customOperatorService;
|
|
722
|
+
private operators;
|
|
723
|
+
transformFilters(filters: AXDataSourceFilterOption[]): AXDataSourceFilterOption[];
|
|
724
|
+
transformFilter(filter: AXDataSourceFilterOption): AXDataSourceFilterOption;
|
|
725
|
+
getOperator(key: string): AXDataSourceOperator;
|
|
726
|
+
private getDefaultOperators;
|
|
727
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPFilterOperatorMiddlewareServiceImpl, never>;
|
|
728
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXPFilterOperatorMiddlewareServiceImpl>;
|
|
729
|
+
}
|
|
730
|
+
|
|
731
|
+
declare abstract class AXPCustomOperatorService {
|
|
732
|
+
abstract getCustomOperators(): {
|
|
733
|
+
[key: string]: AXDataSourceOperator;
|
|
734
|
+
};
|
|
735
|
+
}
|
|
736
|
+
declare class AXPCustomOperatorServiceImpl extends AXPCustomOperatorService {
|
|
737
|
+
getCustomOperators(): {
|
|
738
|
+
[key: string]: AXDataSourceOperator;
|
|
739
|
+
};
|
|
740
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPCustomOperatorServiceImpl, never>;
|
|
741
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXPCustomOperatorServiceImpl>;
|
|
742
|
+
}
|
|
743
|
+
|
|
744
|
+
declare enum AXPFileStorageStatus {
|
|
745
|
+
Temporary = "temporary",// File is not yet associated with a parent entity
|
|
746
|
+
Committed = "committed",// File is fully associated and in use
|
|
747
|
+
PendingDeletion = "pendingDeletion",// File is marked for deletion but not yet removed
|
|
748
|
+
Archived = "archived",// File is archived and no longer actively used
|
|
749
|
+
Error = "error"
|
|
750
|
+
}
|
|
751
|
+
/**
|
|
752
|
+
* Interface representing a file storage request in the Acorex platform.
|
|
753
|
+
*/
|
|
754
|
+
interface AXPFileStorageCreateRequest {
|
|
755
|
+
/**
|
|
756
|
+
* The file to be stored.
|
|
757
|
+
*/
|
|
758
|
+
file: File;
|
|
759
|
+
/**
|
|
760
|
+
* The name of the file.
|
|
761
|
+
*/
|
|
762
|
+
name?: string;
|
|
763
|
+
/**
|
|
764
|
+
* The unique identifier of referenced entity.
|
|
765
|
+
*/
|
|
766
|
+
refId: string;
|
|
767
|
+
/**
|
|
768
|
+
* The type of the referenced entity.
|
|
769
|
+
*/
|
|
770
|
+
refType: string;
|
|
771
|
+
/**
|
|
772
|
+
* The category of the file. profile-picture, company-logo, policy, document, etc.
|
|
773
|
+
*/
|
|
774
|
+
category: string;
|
|
775
|
+
/**
|
|
776
|
+
* The folder path where the file should be stored.
|
|
777
|
+
* If null, the service will resolve the path based on metadata, user, tenant, or default rules.
|
|
778
|
+
*/
|
|
779
|
+
path?: string;
|
|
780
|
+
/**
|
|
781
|
+
* Metadata associated with the file.
|
|
782
|
+
*/
|
|
783
|
+
metadata?: AXPMetaData;
|
|
784
|
+
/**
|
|
785
|
+
* Indicates whether the file is primary or not.
|
|
786
|
+
*/
|
|
787
|
+
isPrimary?: boolean;
|
|
788
|
+
/**
|
|
789
|
+
* Indicates the status of the file.
|
|
790
|
+
*/
|
|
791
|
+
status?: AXPFileStorageStatus;
|
|
792
|
+
}
|
|
793
|
+
interface AXPFileStorageUpdateRequest {
|
|
794
|
+
/**
|
|
795
|
+
* The unique identifier for the stored file.
|
|
796
|
+
*/
|
|
797
|
+
fileId: string;
|
|
798
|
+
/**
|
|
799
|
+
* The folder path where the file should be stored.
|
|
800
|
+
* If null, the service will resolve the path based on metadata, user, tenant, or default rules.
|
|
801
|
+
*/
|
|
802
|
+
path?: string;
|
|
803
|
+
/**
|
|
804
|
+
* The name of the file.
|
|
805
|
+
*/
|
|
806
|
+
name?: string;
|
|
807
|
+
/**
|
|
808
|
+
* Metadata associated with the file.
|
|
809
|
+
*/
|
|
810
|
+
metadata: AXPMetaData;
|
|
811
|
+
/**
|
|
812
|
+
* Indicates whether the file is primary or not.
|
|
813
|
+
*/
|
|
814
|
+
isPrimary?: boolean;
|
|
815
|
+
}
|
|
816
|
+
interface AXPFileManyStorageInfo {
|
|
817
|
+
/**
|
|
818
|
+
* The unique identifier for the stored file.
|
|
819
|
+
*/
|
|
820
|
+
id?: string;
|
|
821
|
+
/**
|
|
822
|
+
* The unique identifier for the stored file.
|
|
823
|
+
*/
|
|
824
|
+
fileId: string;
|
|
825
|
+
/**
|
|
826
|
+
* The unique identifier of referenced entity.
|
|
827
|
+
*/
|
|
828
|
+
refId: string;
|
|
829
|
+
/**
|
|
830
|
+
* The type of the referenced entity.
|
|
831
|
+
*/
|
|
832
|
+
refType: string;
|
|
833
|
+
/**
|
|
834
|
+
* The size of the file in bytes.
|
|
835
|
+
*/
|
|
836
|
+
size: number;
|
|
837
|
+
/**
|
|
838
|
+
* The name of the file.
|
|
839
|
+
*/
|
|
840
|
+
name?: string;
|
|
841
|
+
/**
|
|
842
|
+
* The URL where the file can be accessed.
|
|
843
|
+
*/
|
|
844
|
+
url?: string;
|
|
845
|
+
/**
|
|
846
|
+
* Optional title (e.g. for display in file list).
|
|
847
|
+
*/
|
|
848
|
+
title?: string;
|
|
849
|
+
/**
|
|
850
|
+
* Optional description (e.g. for display in file list).
|
|
851
|
+
*/
|
|
852
|
+
description?: string;
|
|
853
|
+
}
|
|
854
|
+
/**
|
|
855
|
+
* Represents information about a file stored in the AXP file storage system.
|
|
856
|
+
*/
|
|
857
|
+
interface AXPFileStorageInfo {
|
|
858
|
+
/**
|
|
859
|
+
* The unique identifier for the stored file.
|
|
860
|
+
*/
|
|
861
|
+
id?: string;
|
|
862
|
+
/**
|
|
863
|
+
* The unique identifier for the stored file.
|
|
864
|
+
*/
|
|
865
|
+
fileId: string;
|
|
866
|
+
/**
|
|
867
|
+
* The unique identifier of referenced entity.
|
|
868
|
+
*/
|
|
869
|
+
refId: string;
|
|
870
|
+
/**
|
|
871
|
+
* The type of the referenced entity.
|
|
872
|
+
*/
|
|
873
|
+
refType: string;
|
|
874
|
+
/**
|
|
875
|
+
* The category of the file. profile-picture, company-logo, policy, document, etc.
|
|
876
|
+
*/
|
|
877
|
+
category: string;
|
|
878
|
+
/**
|
|
879
|
+
* The URL where the file can be accessed.
|
|
880
|
+
*/
|
|
881
|
+
url?: string;
|
|
882
|
+
/**
|
|
883
|
+
* The size of the file in bytes.
|
|
884
|
+
*/
|
|
885
|
+
size: number;
|
|
886
|
+
/**
|
|
887
|
+
* The name of the file.
|
|
888
|
+
*/
|
|
889
|
+
name?: string;
|
|
890
|
+
/**
|
|
891
|
+
* The MIME type of the file.
|
|
892
|
+
*/
|
|
893
|
+
mimeType: string;
|
|
894
|
+
/**
|
|
895
|
+
* The date and time when the file was uploaded.
|
|
896
|
+
*/
|
|
897
|
+
uploadedAt: Date;
|
|
898
|
+
/**
|
|
899
|
+
* Indicates whether the file is public or private.
|
|
900
|
+
*/
|
|
901
|
+
isPublic: boolean;
|
|
902
|
+
/**
|
|
903
|
+
* Indicates whether the file is primary or not.
|
|
904
|
+
*/
|
|
905
|
+
isPrimary?: boolean;
|
|
906
|
+
status: AXPFileStorageStatus;
|
|
907
|
+
binary: File;
|
|
908
|
+
}
|
|
909
|
+
interface AXPFileStorageInfo {
|
|
910
|
+
/**
|
|
911
|
+
* The unique identifier for the stored file.
|
|
912
|
+
*/
|
|
913
|
+
id?: string;
|
|
914
|
+
/**
|
|
915
|
+
* The unique identifier for the stored file.
|
|
916
|
+
*/
|
|
917
|
+
fileId: string;
|
|
918
|
+
/**
|
|
919
|
+
* The unique identifier of referenced entity.
|
|
920
|
+
*/
|
|
921
|
+
refId: string;
|
|
922
|
+
/**
|
|
923
|
+
* The type of the referenced entity.
|
|
924
|
+
*/
|
|
925
|
+
refType: string;
|
|
926
|
+
/**
|
|
927
|
+
* The category of the file. profile-picture, company-logo, policy, document, etc.
|
|
928
|
+
*/
|
|
929
|
+
category: string;
|
|
930
|
+
/**
|
|
931
|
+
* The URL where the file can be accessed.
|
|
932
|
+
*/
|
|
933
|
+
url?: string;
|
|
934
|
+
/**
|
|
935
|
+
* The size of the file in bytes.
|
|
936
|
+
*/
|
|
937
|
+
size: number;
|
|
938
|
+
/**
|
|
939
|
+
* The name of the file.
|
|
940
|
+
*/
|
|
941
|
+
name?: string;
|
|
942
|
+
/**
|
|
943
|
+
* The MIME type of the file.
|
|
944
|
+
*/
|
|
945
|
+
mimeType: string;
|
|
946
|
+
/**
|
|
947
|
+
* The date and time when the file was uploaded.
|
|
948
|
+
*/
|
|
949
|
+
uploadedAt: Date;
|
|
950
|
+
/**
|
|
951
|
+
* Indicates whether the file is public or private.
|
|
952
|
+
*/
|
|
953
|
+
isPublic: boolean;
|
|
954
|
+
/**
|
|
955
|
+
* Indicates whether the file is primary or not.
|
|
956
|
+
*/
|
|
957
|
+
isPrimary?: boolean;
|
|
958
|
+
status: AXPFileStorageStatus;
|
|
959
|
+
binary: File;
|
|
960
|
+
}
|
|
961
|
+
/**
|
|
962
|
+
* Represents information about a file stored in the AXP file storage system.
|
|
963
|
+
*/
|
|
964
|
+
interface AXPFileStorageFindRequest {
|
|
965
|
+
/**
|
|
966
|
+
* The unique identifier of referenced entity.
|
|
967
|
+
*/
|
|
968
|
+
refId?: string;
|
|
969
|
+
/**
|
|
970
|
+
* The type of the referenced entity.
|
|
971
|
+
*/
|
|
972
|
+
refType?: string;
|
|
973
|
+
/**
|
|
974
|
+
* The category of the file. profile-picture, company-logo, policy, document, etc.
|
|
975
|
+
*/
|
|
976
|
+
category?: string;
|
|
977
|
+
/**
|
|
978
|
+
* The MIME type of the file.
|
|
979
|
+
*/
|
|
980
|
+
mimeType?: string;
|
|
981
|
+
/**
|
|
982
|
+
* Indicates whether the file is public or private.
|
|
983
|
+
*/
|
|
984
|
+
isPublic?: boolean;
|
|
985
|
+
/**
|
|
986
|
+
* Indicates whether the file is primary or not.
|
|
987
|
+
*/
|
|
988
|
+
isPrimary?: boolean;
|
|
989
|
+
/**
|
|
990
|
+
* The date and time range when the file was uploaded.
|
|
991
|
+
*/
|
|
992
|
+
uploadedAtRange?: {
|
|
993
|
+
from: Date;
|
|
994
|
+
to: Date;
|
|
995
|
+
};
|
|
996
|
+
}
|
|
997
|
+
|
|
998
|
+
declare abstract class AXPFileStorageService {
|
|
999
|
+
abstract save(request: AXPFileStorageCreateRequest): Promise<AXPFileStorageInfo>;
|
|
1000
|
+
abstract update(request: AXPFileStorageUpdateRequest): Promise<AXPFileStorageInfo>;
|
|
1001
|
+
abstract find(request: AXPFileStorageFindRequest): Promise<AXPFileStorageInfo[]>;
|
|
1002
|
+
abstract findMany(ids: string[]): Promise<AXPFileManyStorageInfo[]>;
|
|
1003
|
+
abstract getInfo(fileId: string): Promise<AXPFileStorageInfo>;
|
|
1004
|
+
abstract remove(fileId: string): Promise<void>;
|
|
1005
|
+
abstract commit(fileId: string): Promise<void>;
|
|
1006
|
+
abstract markForDeletion(fileId: string): Promise<void>;
|
|
1007
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPFileStorageService, never>;
|
|
1008
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXPFileStorageService>;
|
|
1009
|
+
}
|
|
1010
|
+
|
|
1011
|
+
/**
|
|
1012
|
+
* Capabilities API provided to file action providers.
|
|
1013
|
+
* These methods allow actions to interact with the file uploader widget.
|
|
1014
|
+
*/
|
|
1015
|
+
interface AXCFileUploaderCapabilities {
|
|
1016
|
+
/**
|
|
1017
|
+
* Get all current files in the uploader.
|
|
1018
|
+
*/
|
|
1019
|
+
getFiles: () => AXPFileListItem[];
|
|
1020
|
+
/**
|
|
1021
|
+
* Replace all files in the uploader.
|
|
1022
|
+
*/
|
|
1023
|
+
setFiles: (files: AXPFileListItem[]) => void;
|
|
1024
|
+
/**
|
|
1025
|
+
* Add new files to the uploader.
|
|
1026
|
+
*/
|
|
1027
|
+
addFiles: (files: AXPFileListItem[]) => void;
|
|
1028
|
+
/**
|
|
1029
|
+
* Update files matching a predicate.
|
|
1030
|
+
*/
|
|
1031
|
+
updateFile: (predicate: (f: AXPFileListItem) => boolean, updater: (f: AXPFileListItem) => AXPFileListItem) => void;
|
|
1032
|
+
/**
|
|
1033
|
+
* Remove a file from the uploader.
|
|
1034
|
+
*/
|
|
1035
|
+
removeFile: (file: AXPFileListItem) => void;
|
|
1036
|
+
/**
|
|
1037
|
+
* Clear all files from the uploader.
|
|
1038
|
+
*/
|
|
1039
|
+
clear: () => void;
|
|
1040
|
+
/**
|
|
1041
|
+
* Get a file by its ID.
|
|
1042
|
+
*/
|
|
1043
|
+
getFileById: (id: string) => AXPFileListItem | undefined;
|
|
1044
|
+
/**
|
|
1045
|
+
* Update a file by its ID.
|
|
1046
|
+
*/
|
|
1047
|
+
updateFileById: (id: string, next: Partial<AXPFileListItem>) => void;
|
|
1048
|
+
}
|
|
1049
|
+
/**
|
|
1050
|
+
* A file uploader action that can be added by providers.
|
|
1051
|
+
*/
|
|
1052
|
+
interface AXCFileUploaderAction {
|
|
1053
|
+
/**
|
|
1054
|
+
* Unique identifier for the action/plugin.
|
|
1055
|
+
*/
|
|
1056
|
+
plugin: string;
|
|
1057
|
+
/**
|
|
1058
|
+
* Whether this action is global (available even if plugin is not explicitly enabled).
|
|
1059
|
+
*/
|
|
1060
|
+
global?: boolean;
|
|
1061
|
+
/**
|
|
1062
|
+
* Display text for the action (optional if textKey is provided).
|
|
1063
|
+
*/
|
|
1064
|
+
text?: string;
|
|
1065
|
+
/**
|
|
1066
|
+
* Translation key for the action text (optional if text is provided).
|
|
1067
|
+
*/
|
|
1068
|
+
textKey?: string;
|
|
1069
|
+
/**
|
|
1070
|
+
* Icon class for the action (e.g., 'fa-light fa-file-arrow-up').
|
|
1071
|
+
*/
|
|
1072
|
+
icon?: string;
|
|
1073
|
+
/**
|
|
1074
|
+
* Action execution handler.
|
|
1075
|
+
* Receives capabilities to interact with the file uploader.
|
|
1076
|
+
* @param capabilities The capabilities API for file operations.
|
|
1077
|
+
*/
|
|
1078
|
+
run: (capabilities: AXCFileUploaderCapabilities) => void | Promise<void>;
|
|
1079
|
+
}
|
|
1080
|
+
/**
|
|
1081
|
+
* Payload passed to file action providers.
|
|
1082
|
+
*/
|
|
1083
|
+
interface AXCFileUploaderActionsPayload {
|
|
1084
|
+
/**
|
|
1085
|
+
* Enabled plugins configuration.
|
|
1086
|
+
*/
|
|
1087
|
+
plugins: {
|
|
1088
|
+
name: string;
|
|
1089
|
+
options?: unknown;
|
|
1090
|
+
}[];
|
|
1091
|
+
/**
|
|
1092
|
+
* List of plugin names to exclude.
|
|
1093
|
+
*/
|
|
1094
|
+
excludePlugins: string[];
|
|
1095
|
+
/**
|
|
1096
|
+
* Capabilities API for interacting with the file uploader.
|
|
1097
|
+
*/
|
|
1098
|
+
capabilities: AXCFileUploaderCapabilities;
|
|
1099
|
+
/**
|
|
1100
|
+
* Current list of actions (providers can add to this array).
|
|
1101
|
+
*/
|
|
1102
|
+
actions: AXCFileUploaderAction[];
|
|
1103
|
+
/**
|
|
1104
|
+
* Widget options (optional, for accessing widget-specific settings).
|
|
1105
|
+
*/
|
|
1106
|
+
options?: {
|
|
1107
|
+
/**
|
|
1108
|
+
* Whether multiple files are allowed.
|
|
1109
|
+
*/
|
|
1110
|
+
multiple?: boolean;
|
|
1111
|
+
/**
|
|
1112
|
+
* Accepted file types (e.g., '.jpg,.png' or 'image/*').
|
|
1113
|
+
*/
|
|
1114
|
+
accept?: string;
|
|
1115
|
+
};
|
|
1116
|
+
}
|
|
1117
|
+
|
|
1118
|
+
/**
|
|
1119
|
+
* Type for file action provider token (supports both direct and async providers).
|
|
1120
|
+
*/
|
|
1121
|
+
type AXPFileActionProviderToken = AXPFileActionProvider | Promise<AXPFileActionProvider>;
|
|
1122
|
+
/**
|
|
1123
|
+
* File action provider interface.
|
|
1124
|
+
* Providers can add actions to the file uploader widget.
|
|
1125
|
+
*/
|
|
1126
|
+
interface AXPFileActionProvider {
|
|
1127
|
+
/**
|
|
1128
|
+
* Unique key identifying this provider.
|
|
1129
|
+
* Should match the webhook key for backward compatibility: 'file-uploader.actions'
|
|
1130
|
+
*/
|
|
1131
|
+
key: string;
|
|
1132
|
+
/**
|
|
1133
|
+
* Execute the provider to add actions.
|
|
1134
|
+
* @param payload The payload containing capabilities and current actions.
|
|
1135
|
+
* @returns The modified payload with new actions added.
|
|
1136
|
+
*/
|
|
1137
|
+
execute(payload: AXCFileUploaderActionsPayload): Promise<AXCFileUploaderActionsPayload> | AXCFileUploaderActionsPayload;
|
|
1138
|
+
/**
|
|
1139
|
+
* Priority for execution order (lower numbers execute first).
|
|
1140
|
+
* Defaults to 0 if not specified.
|
|
1141
|
+
*/
|
|
1142
|
+
priority?: number;
|
|
1143
|
+
}
|
|
1144
|
+
/**
|
|
1145
|
+
* Multi-provider injection token for file action providers.
|
|
1146
|
+
* Modules can provide multiple implementations using this token.
|
|
1147
|
+
*/
|
|
1148
|
+
declare const AXP_FILE_ACTION_PROVIDER: InjectionToken<AXPFileActionProviderToken[]>;
|
|
1149
|
+
|
|
1150
|
+
/**
|
|
1151
|
+
* Service for managing file uploader actions.
|
|
1152
|
+
* Aggregates actions from multiple providers and filters them based on plugin configuration.
|
|
1153
|
+
* Wraps the hook system for backward compatibility.
|
|
1154
|
+
*/
|
|
1155
|
+
declare class AXPFileActionsService {
|
|
1156
|
+
private readonly actionProviders;
|
|
1157
|
+
private readonly hookService;
|
|
1158
|
+
private readonly injector;
|
|
1159
|
+
/**
|
|
1160
|
+
* Get all actions from providers, filtered based on plugin configuration.
|
|
1161
|
+
* Wraps the hook system for backward compatibility.
|
|
1162
|
+
* @param payload Initial payload with capabilities and plugin configuration.
|
|
1163
|
+
* @returns Filtered list of actions.
|
|
1164
|
+
*/
|
|
1165
|
+
getActions(payload: AXCFileUploaderActionsPayload): Promise<AXCFileUploaderAction[]>;
|
|
1166
|
+
/**
|
|
1167
|
+
* Resolve all providers (handle both direct providers and Promise<provider>).
|
|
1168
|
+
*/
|
|
1169
|
+
private resolveProviders;
|
|
1170
|
+
/**
|
|
1171
|
+
* Filter actions based on enabled plugins and exclude list.
|
|
1172
|
+
*/
|
|
1173
|
+
private filterActions;
|
|
1174
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPFileActionsService, never>;
|
|
1175
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXPFileActionsService>;
|
|
1176
|
+
}
|
|
1177
|
+
|
|
1178
|
+
declare const UploadFromComputerActionProvider: AXPFileActionProvider;
|
|
1179
|
+
|
|
1180
|
+
interface AXPFileType {
|
|
1181
|
+
/**
|
|
1182
|
+
* The unique identifier for the file type.
|
|
1183
|
+
*/
|
|
1184
|
+
/**
|
|
1185
|
+
* The name unique of the file type.
|
|
1186
|
+
*/
|
|
1187
|
+
name: string;
|
|
1188
|
+
/**
|
|
1189
|
+
* The title of the file type.
|
|
1190
|
+
*/
|
|
1191
|
+
title: string;
|
|
1192
|
+
/**
|
|
1193
|
+
* The description of the file type.
|
|
1194
|
+
*/
|
|
1195
|
+
description?: string;
|
|
1196
|
+
extensions: AXPFileExtension[];
|
|
1197
|
+
/**
|
|
1198
|
+
* The icon of the file type.
|
|
1199
|
+
*/
|
|
1200
|
+
icon?: string;
|
|
1201
|
+
/**
|
|
1202
|
+
* The metadata associated with the file type.
|
|
1203
|
+
*/
|
|
1204
|
+
meta?: AXPMetaDataDefinition[];
|
|
1205
|
+
}
|
|
1206
|
+
interface AXPFileExtension {
|
|
1207
|
+
/**
|
|
1208
|
+
* The unique identifier for the file extension.
|
|
1209
|
+
*/
|
|
1210
|
+
/**
|
|
1211
|
+
* The name unique of the file extension.
|
|
1212
|
+
*/
|
|
1213
|
+
name: string;
|
|
1214
|
+
/**
|
|
1215
|
+
* The title of the file extension.
|
|
1216
|
+
*/
|
|
1217
|
+
title: string;
|
|
1218
|
+
/**
|
|
1219
|
+
* The description of the file extension.
|
|
1220
|
+
*/
|
|
1221
|
+
description?: string;
|
|
1222
|
+
/**
|
|
1223
|
+
* The icon of the file type.
|
|
1224
|
+
*/
|
|
1225
|
+
icon?: string;
|
|
1226
|
+
/**
|
|
1227
|
+
* The color of the file type.
|
|
1228
|
+
*/
|
|
1229
|
+
color?: string;
|
|
1230
|
+
/**
|
|
1231
|
+
* The metadata associated with the file extension.
|
|
1232
|
+
*/
|
|
1233
|
+
meta?: AXPMetaDataDefinition[];
|
|
1234
|
+
}
|
|
1235
|
+
|
|
1236
|
+
interface AXPFileTypeInfoProvider {
|
|
1237
|
+
items(): Promise<AXPFileType[]>;
|
|
1238
|
+
}
|
|
1239
|
+
declare const AXP_FILE_TYPE_INFO_PROVIDER: InjectionToken<AXPFileTypeInfoProvider[]>;
|
|
1240
|
+
declare class AXPFileTypeProviderService implements AXPFileTypeInfoProvider {
|
|
1241
|
+
private providers;
|
|
1242
|
+
items(): Promise<AXPFileType[]>;
|
|
1243
|
+
get(name: string): Promise<AXPFileType | undefined>;
|
|
1244
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPFileTypeProviderService, never>;
|
|
1245
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXPFileTypeProviderService>;
|
|
1246
|
+
}
|
|
1247
|
+
|
|
1248
|
+
declare class AXPStickyDirective {
|
|
1249
|
+
private element;
|
|
1250
|
+
private renderer;
|
|
1251
|
+
private zone;
|
|
1252
|
+
private cdr;
|
|
1253
|
+
stickyClass: string;
|
|
1254
|
+
stickyOffset: number;
|
|
1255
|
+
isStickyChange: EventEmitter<boolean>;
|
|
1256
|
+
private _isSticky;
|
|
1257
|
+
get isSticky(): boolean;
|
|
1258
|
+
set isSticky(value: boolean);
|
|
1259
|
+
private parentElement;
|
|
1260
|
+
private targetElement;
|
|
1261
|
+
private mutationObserver;
|
|
1262
|
+
private readonly onWindowResize;
|
|
1263
|
+
stickyParent: string | HTMLElement;
|
|
1264
|
+
stickyTarget: string;
|
|
1265
|
+
constructor(element: ElementRef<HTMLDivElement>, renderer: Renderer2, zone: NgZone, cdr: ChangeDetectorRef);
|
|
1266
|
+
ngAfterViewInit(): void;
|
|
1267
|
+
private initSticky;
|
|
1268
|
+
private getScrollTop;
|
|
1269
|
+
/**
|
|
1270
|
+
* Toggle stuck styling only while this element is visually pinned (matches `position: sticky; top: 0`).
|
|
1271
|
+
* Scroll-offset thresholds would stay true for every section already passed, so multiple stacked stickies
|
|
1272
|
+
* would all keep `--stuck`; geometry fixes that.
|
|
1273
|
+
*/
|
|
1274
|
+
private computeShouldStick;
|
|
1275
|
+
private applyStickyStateFromScrollPosition;
|
|
1276
|
+
private onParentScroll;
|
|
1277
|
+
private toggleStickyClasses;
|
|
1278
|
+
ngOnDestroy(): void;
|
|
1279
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPStickyDirective, never>;
|
|
1280
|
+
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>;
|
|
1281
|
+
}
|
|
1282
|
+
|
|
1283
|
+
/**
|
|
1284
|
+
* Registered menu items (raw tree flattened) for select widgets via dataSource name {@link MENU_ITEMS_DATASOURCE_NAME}.
|
|
1285
|
+
*/
|
|
1286
|
+
declare const MENU_ITEMS_DATASOURCE_NAME = "platform-menu-items";
|
|
1287
|
+
/**
|
|
1288
|
+
* Data source definition for menu items from {@link AXPMenuProviderService#rawItems}.
|
|
1289
|
+
*/
|
|
1290
|
+
declare class AXPMenuItemsDataSourceDefinition implements AXPDataSourceDefinitionProvider {
|
|
1291
|
+
private readonly menuProviderService;
|
|
1292
|
+
items(): Promise<AXPDataSourceDefinition[]>;
|
|
1293
|
+
}
|
|
1294
|
+
|
|
1295
|
+
type AXPMenuInsertion = 'before' | 'after' | 'inside';
|
|
1296
|
+
type AXPMenuType = 'menu' | 'group' | 'break';
|
|
1297
|
+
type AXPMenuItemCommand = AXPNavigateActionCommand<'modal' | 'router'> | AXPExecuteCommand;
|
|
1298
|
+
interface AXPMenuItem {
|
|
1299
|
+
text: string;
|
|
1300
|
+
type?: AXPMenuType;
|
|
1301
|
+
name?: string;
|
|
1302
|
+
description?: string;
|
|
1303
|
+
icon?: string;
|
|
1304
|
+
priority?: number;
|
|
1305
|
+
children?: AXPMenuItem[];
|
|
1306
|
+
path?: string;
|
|
1307
|
+
command?: AXPMenuItemCommand | undefined;
|
|
1308
|
+
badgeKey?: string;
|
|
1309
|
+
data?: any;
|
|
1310
|
+
meta?: AXPMetaData;
|
|
1311
|
+
policy?: {
|
|
1312
|
+
permissions?: string[];
|
|
1313
|
+
features?: string[];
|
|
1314
|
+
};
|
|
1315
|
+
}
|
|
1316
|
+
interface AXPMenuFinderResult {
|
|
1317
|
+
readonly exists: boolean;
|
|
1318
|
+
insert(items: AXPMenuItem[], position: AXPMenuInsertion): void;
|
|
1319
|
+
remove(): void;
|
|
1320
|
+
update(updatedItem: Partial<AXPMenuItem>): void;
|
|
1321
|
+
addItems(items: AXPMenuItem[]): void;
|
|
1322
|
+
/**
|
|
1323
|
+
* Moves the item matched by the current `find` target to another place in the tree.
|
|
1324
|
+
* @param destination Name of the target menu item (group or item).
|
|
1325
|
+
* @param position `inside` — child of `destination` (default). `before` / `after` — sibling of `destination` in its parent's list.
|
|
1326
|
+
*/
|
|
1327
|
+
moveTo(destination: string, position?: AXPMenuInsertion): void;
|
|
1328
|
+
}
|
|
1329
|
+
interface AXPMenuProviderContext {
|
|
1330
|
+
addItems(items: AXPMenuItem[]): void;
|
|
1331
|
+
find(target: string): AXPMenuFinderResult;
|
|
1332
|
+
}
|
|
1333
|
+
|
|
1334
|
+
interface AXPMenuProvider {
|
|
1335
|
+
provide(context: AXPMenuProviderContext): Promise<void>;
|
|
1336
|
+
}
|
|
1337
|
+
declare const AXP_MENU_PROVIDER: InjectionToken<AXPMenuProvider[]>;
|
|
1338
|
+
declare class AXPMenuProviderService {
|
|
1339
|
+
private providers;
|
|
1340
|
+
private middlewareRegistry;
|
|
1341
|
+
private cache;
|
|
1342
|
+
private pendingInserts;
|
|
1343
|
+
private pendingRemovals;
|
|
1344
|
+
private pendingUpdates;
|
|
1345
|
+
private pendingAdditions;
|
|
1346
|
+
private pendingMoves;
|
|
1347
|
+
/**
|
|
1348
|
+
* Observable for menu reload events
|
|
1349
|
+
* Emits when menu cache is cleared and consumers should reload
|
|
1350
|
+
*/
|
|
1351
|
+
private menuReloadSubject;
|
|
1352
|
+
readonly menuReload$: rxjs.Observable<void>;
|
|
1353
|
+
/**
|
|
1354
|
+
* Get menu items with middlewares applied (for end-user display)
|
|
1355
|
+
*/
|
|
1356
|
+
items(): Promise<AXPMenuItem[]>;
|
|
1357
|
+
/**
|
|
1358
|
+
* Get raw menu items WITHOUT middleware applied (for management/editing)
|
|
1359
|
+
* Used by menu management pages to show original items before customization
|
|
1360
|
+
*/
|
|
1361
|
+
rawItems(): Promise<AXPMenuItem[]>;
|
|
1362
|
+
/**
|
|
1363
|
+
* Clear the cache to force reload of menu items
|
|
1364
|
+
* Notifies all subscribers to reload their menu data
|
|
1365
|
+
*/
|
|
1366
|
+
clearCache(): void;
|
|
1367
|
+
/**
|
|
1368
|
+
* Apply middlewares in priority order using the enhanced context API
|
|
1369
|
+
*/
|
|
1370
|
+
private applyMiddlewares;
|
|
1371
|
+
/**
|
|
1372
|
+
* Create provider context for menu providers
|
|
1373
|
+
*/
|
|
1374
|
+
private createMenuProviderContext;
|
|
1375
|
+
private applyPendingOperations;
|
|
1376
|
+
private findItemWithParent;
|
|
1377
|
+
/**
|
|
1378
|
+
* Find menu item by name in the items tree (recursive search)
|
|
1379
|
+
*/
|
|
1380
|
+
private findItemByName;
|
|
1381
|
+
private applyPendingMove;
|
|
1382
|
+
private itemIsInSubtreeOf;
|
|
1383
|
+
/**
|
|
1384
|
+
* Merge new item properties into existing item, handling children merge
|
|
1385
|
+
*/
|
|
1386
|
+
private mergeMenuItem;
|
|
1387
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPMenuProviderService, never>;
|
|
1388
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXPMenuProviderService>;
|
|
1389
|
+
}
|
|
1390
|
+
|
|
1391
|
+
/**
|
|
1392
|
+
* Rich context API for manipulating menu items within middleware
|
|
1393
|
+
* Provides helper methods to find, update, remove, and add menu items easily
|
|
1394
|
+
*/
|
|
1395
|
+
interface AXPMenuMiddlewareContext {
|
|
1396
|
+
/**
|
|
1397
|
+
* Get all menu items
|
|
1398
|
+
*/
|
|
1399
|
+
readonly items: AXPMenuItem[];
|
|
1400
|
+
/**
|
|
1401
|
+
* Find menu item(s) by name or pattern
|
|
1402
|
+
*/
|
|
1403
|
+
find(nameOrPattern: string | RegExp): AXPMenuItemFinder;
|
|
1404
|
+
/**
|
|
1405
|
+
* Find menu item by name (exact match)
|
|
1406
|
+
*/
|
|
1407
|
+
findByName(name: string): AXPMenuItemFinder;
|
|
1408
|
+
/**
|
|
1409
|
+
* Find menu items by pattern (regex or wildcard)
|
|
1410
|
+
*/
|
|
1411
|
+
findByPattern(pattern: string | RegExp): AXPMenuItemFinder[];
|
|
1412
|
+
/**
|
|
1413
|
+
* Add new menu items to root level
|
|
1414
|
+
*/
|
|
1415
|
+
add(...items: AXPMenuItem[]): AXPMenuMiddlewareContext;
|
|
1416
|
+
/**
|
|
1417
|
+
* Remove menu items by predicate
|
|
1418
|
+
*/
|
|
1419
|
+
remove(predicate: (item: AXPMenuItem) => boolean): AXPMenuMiddlewareContext;
|
|
1420
|
+
/**
|
|
1421
|
+
* Sort all menu items recursively by priority
|
|
1422
|
+
*/
|
|
1423
|
+
sort(): AXPMenuMiddlewareContext;
|
|
1424
|
+
/**
|
|
1425
|
+
* Get the final menu items array
|
|
1426
|
+
*/
|
|
1427
|
+
toArray(): AXPMenuItem[];
|
|
1428
|
+
}
|
|
1429
|
+
/**
|
|
1430
|
+
* Helper for finding and manipulating a specific menu item
|
|
1431
|
+
*/
|
|
1432
|
+
interface AXPMenuItemFinder {
|
|
1433
|
+
/**
|
|
1434
|
+
* Get the found menu item (or undefined)
|
|
1435
|
+
*/
|
|
1436
|
+
get(): AXPMenuItem | undefined;
|
|
1437
|
+
/**
|
|
1438
|
+
* Check if menu item exists
|
|
1439
|
+
*/
|
|
1440
|
+
exists(): boolean;
|
|
1441
|
+
/**
|
|
1442
|
+
* Update menu item properties
|
|
1443
|
+
*/
|
|
1444
|
+
update(updater: Partial<AXPMenuItem> | ((item: AXPMenuItem) => Partial<AXPMenuItem>)): AXPMenuItemFinder;
|
|
1445
|
+
/**
|
|
1446
|
+
* Remove the menu item
|
|
1447
|
+
*/
|
|
1448
|
+
remove(): AXPMenuItemFinder;
|
|
1449
|
+
/**
|
|
1450
|
+
* Hide the menu item (removes it from the menu)
|
|
1451
|
+
*/
|
|
1452
|
+
hide(): AXPMenuItemFinder;
|
|
1453
|
+
/**
|
|
1454
|
+
* Show the menu item (currently a no-op as items are visible by default)
|
|
1455
|
+
* Note: To truly implement show, we'd need to track removed items
|
|
1456
|
+
*/
|
|
1457
|
+
show(): AXPMenuItemFinder;
|
|
1458
|
+
/**
|
|
1459
|
+
* Set priority
|
|
1460
|
+
*/
|
|
1461
|
+
setPriority(priority: number): AXPMenuItemFinder;
|
|
1462
|
+
/**
|
|
1463
|
+
* Add children to this menu item
|
|
1464
|
+
*/
|
|
1465
|
+
addChildren(...children: AXPMenuItem[]): AXPMenuItemFinder;
|
|
1466
|
+
/**
|
|
1467
|
+
* Remove children by predicate
|
|
1468
|
+
*/
|
|
1469
|
+
removeChildren(predicate: (child: AXPMenuItem) => boolean): AXPMenuItemFinder;
|
|
1470
|
+
/**
|
|
1471
|
+
* Move menu item to a different parent
|
|
1472
|
+
*/
|
|
1473
|
+
moveTo(parentName: string | null | undefined): AXPMenuItemFinder;
|
|
1474
|
+
/**
|
|
1475
|
+
* Insert menu items before this item
|
|
1476
|
+
*/
|
|
1477
|
+
insertBefore(...items: AXPMenuItem[]): AXPMenuItemFinder;
|
|
1478
|
+
/**
|
|
1479
|
+
* Insert menu items after this item
|
|
1480
|
+
*/
|
|
1481
|
+
insertAfter(...items: AXPMenuItem[]): AXPMenuItemFinder;
|
|
1482
|
+
}
|
|
1483
|
+
/**
|
|
1484
|
+
* Middleware that processes menu items after all providers have executed
|
|
1485
|
+
* Middlewares are executed in order based on their priority (higher priority = earlier execution)
|
|
1486
|
+
*/
|
|
1487
|
+
interface AXPMenuMiddleware {
|
|
1488
|
+
/**
|
|
1489
|
+
* Optional priority for execution order (higher = earlier)
|
|
1490
|
+
* Default: 0
|
|
1491
|
+
*/
|
|
1492
|
+
readonly priority?: number;
|
|
1493
|
+
/**
|
|
1494
|
+
* Optional name for debugging and identification
|
|
1495
|
+
*/
|
|
1496
|
+
readonly name?: string;
|
|
1497
|
+
/**
|
|
1498
|
+
* Process menu items using the rich context API
|
|
1499
|
+
* @param context - The menu middleware context with helper methods
|
|
1500
|
+
* @returns Processed context or void (context is mutable)
|
|
1501
|
+
*/
|
|
1502
|
+
process(context: AXPMenuMiddlewareContext): Promise<void | AXPMenuMiddlewareContext>;
|
|
1503
|
+
}
|
|
1504
|
+
/**
|
|
1505
|
+
* Provider definition for registering middleware via multi-provider
|
|
1506
|
+
*/
|
|
1507
|
+
interface AXPMenuMiddlewareProvider {
|
|
1508
|
+
/**
|
|
1509
|
+
* The middleware instance
|
|
1510
|
+
*/
|
|
1511
|
+
middleware: AXPMenuMiddleware;
|
|
1512
|
+
/**
|
|
1513
|
+
* Optional priority override
|
|
1514
|
+
*/
|
|
1515
|
+
priority?: number;
|
|
1516
|
+
}
|
|
1517
|
+
/**
|
|
1518
|
+
* Injection token for menu middlewares (multi-provider)
|
|
1519
|
+
*/
|
|
1520
|
+
declare const AXP_MENU_MIDDLEWARE: InjectionToken<AXPMenuMiddleware[]>;
|
|
1521
|
+
|
|
1522
|
+
/**
|
|
1523
|
+
* Creates a rich context for menu manipulation
|
|
1524
|
+
* Similar to entity modifier context pattern
|
|
1525
|
+
*/
|
|
1526
|
+
declare function createMenuContext(items: AXPMenuItem[]): AXPMenuMiddlewareContext;
|
|
1527
|
+
|
|
1528
|
+
/**
|
|
1529
|
+
* Central service for managing menu middlewares with priority-based ordering
|
|
1530
|
+
* Similar to token registry pattern used in identifier-management
|
|
1531
|
+
*/
|
|
1532
|
+
declare class AXPMenuMiddlewareRegistry {
|
|
1533
|
+
/**
|
|
1534
|
+
* Manually registered middlewares
|
|
1535
|
+
*/
|
|
1536
|
+
private readonly manualMiddlewares;
|
|
1537
|
+
/**
|
|
1538
|
+
* Provider-based middlewares (multi-provider injection)
|
|
1539
|
+
*/
|
|
1540
|
+
private readonly providerMiddlewares;
|
|
1541
|
+
/**
|
|
1542
|
+
* Manually register a middleware
|
|
1543
|
+
* @param middleware - The middleware to register
|
|
1544
|
+
*/
|
|
1545
|
+
register(middleware: AXPMenuMiddleware): void;
|
|
1546
|
+
/**
|
|
1547
|
+
* Unregister a middleware by name
|
|
1548
|
+
* @param name - The name of the middleware to remove
|
|
1549
|
+
*/
|
|
1550
|
+
unregister(name: string): void;
|
|
1551
|
+
/**
|
|
1552
|
+
* Get a specific middleware by name
|
|
1553
|
+
* @param name - The middleware name
|
|
1554
|
+
*/
|
|
1555
|
+
get(name: string): AXPMenuMiddleware | undefined;
|
|
1556
|
+
/**
|
|
1557
|
+
* Get all middlewares sorted by priority (highest first)
|
|
1558
|
+
* Combines provider-based and manually registered middlewares
|
|
1559
|
+
*/
|
|
1560
|
+
list(): AXPMenuMiddleware[];
|
|
1561
|
+
/**
|
|
1562
|
+
* Check if a middleware exists
|
|
1563
|
+
* @param name - The middleware name
|
|
1564
|
+
*/
|
|
1565
|
+
exists(name: string): boolean;
|
|
1566
|
+
/**
|
|
1567
|
+
* Clear all manually registered middlewares
|
|
1568
|
+
* Provider-based middlewares are not affected
|
|
1569
|
+
*/
|
|
1570
|
+
clear(): void;
|
|
1571
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPMenuMiddlewareRegistry, never>;
|
|
1572
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXPMenuMiddlewareRegistry>;
|
|
1573
|
+
}
|
|
1574
|
+
|
|
1575
|
+
/**
|
|
1576
|
+
* Helper function to provide menu middlewares with proper DI setup
|
|
1577
|
+
* Similar to provideCommandMiddleware pattern
|
|
1578
|
+
*
|
|
1579
|
+
* @example
|
|
1580
|
+
* ```typescript
|
|
1581
|
+
* // In app.config.ts or module providers
|
|
1582
|
+
* export const appConfig: ApplicationConfig = {
|
|
1583
|
+
* providers: [
|
|
1584
|
+
* provideMenuMiddleware([
|
|
1585
|
+
* customizationMiddleware,
|
|
1586
|
+
* securityMiddleware,
|
|
1587
|
+
* loggingMiddleware
|
|
1588
|
+
* ])
|
|
1589
|
+
* ]
|
|
1590
|
+
* };
|
|
1591
|
+
* ```
|
|
1592
|
+
*/
|
|
1593
|
+
declare function provideMenuMiddleware(middlewares: AXPMenuMiddleware[]): EnvironmentProviders;
|
|
1594
|
+
/**
|
|
1595
|
+
* Helper to create a class-based middleware with priority
|
|
1596
|
+
*
|
|
1597
|
+
* @example
|
|
1598
|
+
* ```typescript
|
|
1599
|
+
* const myMiddleware = createMenuMiddleware({
|
|
1600
|
+
* name: 'my-middleware',
|
|
1601
|
+
* priority: 100,
|
|
1602
|
+
* process: async (context) => {
|
|
1603
|
+
* context.find('dashboard').setPriority(1);
|
|
1604
|
+
* }
|
|
1605
|
+
* });
|
|
1606
|
+
* ```
|
|
1607
|
+
*/
|
|
1608
|
+
declare function createMenuMiddleware(config: {
|
|
1609
|
+
name: string;
|
|
1610
|
+
priority?: number;
|
|
1611
|
+
process: (context: AXPMenuMiddlewareContext) => Promise<void>;
|
|
1612
|
+
}): AXPMenuMiddleware;
|
|
1613
|
+
|
|
1614
|
+
declare const AXPMenuService: i0.Type<{
|
|
1615
|
+
items: i0.Signal<AXPMenuItem[]>;
|
|
1616
|
+
selectedMenuItem: _ngrx_signals.DeepSignal<{
|
|
1617
|
+
item: AXPMenuItem | null;
|
|
1618
|
+
isFullMatch: boolean;
|
|
1619
|
+
}>;
|
|
1620
|
+
setMenuItems: (items: AXPMenuItem[]) => void;
|
|
1621
|
+
selectMenuItemByRoute: (path: string) => void;
|
|
1622
|
+
executeCommand: (item: AXPMenuItem) => void;
|
|
1623
|
+
isItemOpen: (item: AXPMenuItem) => boolean;
|
|
1624
|
+
} & _ngrx_signals.StateSource<{
|
|
1625
|
+
items: AXPMenuItem[];
|
|
1626
|
+
selectedMenuItem: {
|
|
1627
|
+
item: AXPMenuItem | null;
|
|
1628
|
+
isFullMatch: boolean;
|
|
1629
|
+
};
|
|
1630
|
+
}>>;
|
|
1631
|
+
|
|
1632
|
+
/**
|
|
1633
|
+
* Service for checking menu item visibility based on permissions, features, and children.
|
|
1634
|
+
* This service helps filter out empty menu items that have no visible children.
|
|
1635
|
+
*/
|
|
1636
|
+
declare class AXPMenuVisibilityService {
|
|
1637
|
+
private sessionService;
|
|
1638
|
+
/**
|
|
1639
|
+
* Checks if a menu item should be visible based on permissions and features.
|
|
1640
|
+
*/
|
|
1641
|
+
isItemVisible(item: AXPMenuItem): boolean;
|
|
1642
|
+
/**
|
|
1643
|
+
* Recursively checks if a menu item has any visible children.
|
|
1644
|
+
* @param item The menu item to check
|
|
1645
|
+
* @param getRouterLink Optional function to check if an item has a router link
|
|
1646
|
+
*/
|
|
1647
|
+
hasVisibleChildren(item: AXPMenuItem, getRouterLink?: (item: AXPMenuItem) => unknown): boolean;
|
|
1648
|
+
/**
|
|
1649
|
+
* Determines if a menu item should be rendered.
|
|
1650
|
+
* A menu item should be rendered if:
|
|
1651
|
+
* 1. It has a routerLink, OR
|
|
1652
|
+
* 2. It has visible children, OR
|
|
1653
|
+
* 3. It has a command (for non-router navigation)
|
|
1654
|
+
*
|
|
1655
|
+
* @param item The menu item to check
|
|
1656
|
+
* @param getRouterLink Optional function to check if an item has a router link
|
|
1657
|
+
*/
|
|
1658
|
+
shouldRenderMenuItem(item: AXPMenuItem, getRouterLink?: (item: AXPMenuItem) => unknown): boolean;
|
|
1659
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPMenuVisibilityService, never>;
|
|
1660
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXPMenuVisibilityService>;
|
|
1661
|
+
}
|
|
1662
|
+
|
|
1663
|
+
interface AXPSearchDefinitionDisplayFormat {
|
|
1664
|
+
title?: string;
|
|
1665
|
+
description?: string;
|
|
1666
|
+
icon?: string;
|
|
1667
|
+
id?: string;
|
|
1668
|
+
}
|
|
1669
|
+
interface AXPSearchDefinition {
|
|
1670
|
+
name: string;
|
|
1671
|
+
title: string;
|
|
1672
|
+
group: string;
|
|
1673
|
+
icon: string;
|
|
1674
|
+
order: number;
|
|
1675
|
+
format: AXPSearchDefinitionDisplayFormat;
|
|
1676
|
+
actions: AXPSearchAction[];
|
|
1677
|
+
}
|
|
1678
|
+
interface AXPSearchParentResult {
|
|
1679
|
+
title: string;
|
|
1680
|
+
data?: any;
|
|
1681
|
+
}
|
|
1682
|
+
interface AXPSearchResult {
|
|
1683
|
+
id?: string;
|
|
1684
|
+
group: string;
|
|
1685
|
+
data?: any;
|
|
1686
|
+
title?: string;
|
|
1687
|
+
description?: string;
|
|
1688
|
+
icon?: string;
|
|
1689
|
+
command: AXPExecuteCommand;
|
|
1690
|
+
parent?: AXPSearchParentResult;
|
|
1691
|
+
}
|
|
1692
|
+
interface AXPSearchDisplayGroupResult {
|
|
1693
|
+
name: string;
|
|
1694
|
+
title: string;
|
|
1695
|
+
order: number;
|
|
1696
|
+
children: AXPSearchDisplayResult[];
|
|
1697
|
+
}
|
|
1698
|
+
interface AXPSearchDisplayResult {
|
|
1699
|
+
id: string;
|
|
1700
|
+
definitionName?: string;
|
|
1701
|
+
definitionTitle?: string;
|
|
1702
|
+
name: string;
|
|
1703
|
+
title: string;
|
|
1704
|
+
description?: string;
|
|
1705
|
+
icon: string;
|
|
1706
|
+
data?: any;
|
|
1707
|
+
order?: any;
|
|
1708
|
+
command: AXPExecuteCommand;
|
|
1709
|
+
parent?: AXPSearchParentResult;
|
|
1710
|
+
actions: AXPSearchAction[];
|
|
1711
|
+
}
|
|
1712
|
+
interface AXPSearchDisplayResultForSave {
|
|
1713
|
+
id: string;
|
|
1714
|
+
name: string;
|
|
1715
|
+
title: string;
|
|
1716
|
+
description?: string;
|
|
1717
|
+
icon: string;
|
|
1718
|
+
command: AXPExecuteCommand;
|
|
1719
|
+
parent?: {
|
|
1720
|
+
title: string;
|
|
1721
|
+
description?: string;
|
|
1722
|
+
};
|
|
1723
|
+
}
|
|
1724
|
+
interface AXPSearchAction extends Partial<AXPCommandActionLook> {
|
|
1725
|
+
name: string;
|
|
1726
|
+
type: AXPSystemActionType | string;
|
|
1727
|
+
priority: AXPCommandActionPriority;
|
|
1728
|
+
separated?: boolean;
|
|
1729
|
+
}
|
|
1730
|
+
|
|
1731
|
+
declare class AXPSearchDefinitionProviderContext {
|
|
1732
|
+
private definitions;
|
|
1733
|
+
private definitionMap;
|
|
1734
|
+
addDefinition(name: string, title: string, group: string, icon: string, order: number, options?: {
|
|
1735
|
+
format?: AXPSearchDefinitionDisplayFormat;
|
|
1736
|
+
actions?: AXPSearchAction[];
|
|
1737
|
+
}): AXPSearchDefinitionBuilder;
|
|
1738
|
+
getDefinitions(): AXPSearchDefinition[];
|
|
1739
|
+
hasEntity(name: string): boolean;
|
|
1740
|
+
getDefinition(name: string): AXPSearchDefinition | undefined;
|
|
1741
|
+
}
|
|
1742
|
+
declare class AXPSearchDefinitionBuilder {
|
|
1743
|
+
private context;
|
|
1744
|
+
private definition;
|
|
1745
|
+
constructor(context: AXPSearchDefinitionProviderContext, definition: AXPSearchDefinition);
|
|
1746
|
+
addAction(name: string): AXPSearchDefinitionActionBuilder;
|
|
1747
|
+
action(name: string): AXPSearchDefinitionActionBuilder | null;
|
|
1748
|
+
endEntity(): AXPSearchDefinitionProviderContext;
|
|
1749
|
+
}
|
|
1750
|
+
declare class AXPSearchDefinitionActionBuilder {
|
|
1751
|
+
private entityBuilder;
|
|
1752
|
+
constructor(entityBuilder: AXPSearchDefinitionBuilder);
|
|
1753
|
+
endAction(): AXPSearchDefinitionBuilder;
|
|
1754
|
+
}
|
|
1755
|
+
|
|
1756
|
+
interface AXPSearchDefinitionProvider {
|
|
1757
|
+
provide(context: AXPSearchDefinitionProviderContext): Promise<void>;
|
|
1758
|
+
}
|
|
1759
|
+
declare const AXP_SEARCH_DEFINITION_PROVIDER: InjectionToken<AXPSearchDefinitionProvider[]>;
|
|
1760
|
+
declare class AXPSearchDefinitionProviderService {
|
|
1761
|
+
private providers;
|
|
1762
|
+
private cache;
|
|
1763
|
+
private load;
|
|
1764
|
+
getListAsync(): Promise<AXPSearchDefinition[]>;
|
|
1765
|
+
getList(): AXPSearchDefinition[];
|
|
1766
|
+
findDefinition(definitionName: string): AXPSearchDefinition;
|
|
1767
|
+
findDefinitionByGroup(definitionGroup: string): AXPSearchDefinition;
|
|
1768
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPSearchDefinitionProviderService, never>;
|
|
1769
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXPSearchDefinitionProviderService>;
|
|
1770
|
+
}
|
|
1771
|
+
|
|
1772
|
+
interface AXPSearchProvider {
|
|
1773
|
+
search(text: string): Promise<AXPSearchResult[]>;
|
|
1774
|
+
}
|
|
1775
|
+
declare abstract class AXPSearchCommandProvider {
|
|
1776
|
+
abstract commands: AXPSearchResult[];
|
|
1777
|
+
search(text: string): Promise<AXPSearchResult[]>;
|
|
1778
|
+
}
|
|
1779
|
+
|
|
1780
|
+
declare const AXP_SEARCH_PROVIDER: InjectionToken<AXPSearchProvider[]>;
|
|
1781
|
+
declare class AXPSearchService {
|
|
1782
|
+
private providers;
|
|
1783
|
+
private definitionService;
|
|
1784
|
+
private formatService;
|
|
1785
|
+
private translationService;
|
|
1786
|
+
search(text: string): Promise<AXPSearchDisplayGroupResult[]>;
|
|
1787
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPSearchService, never>;
|
|
1788
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXPSearchService>;
|
|
1789
|
+
}
|
|
1790
|
+
|
|
1791
|
+
/**
|
|
1792
|
+
* Shared utility for creating Entity:Create command options used in search command providers.
|
|
1793
|
+
* Use with command: { name: 'Entity:Create', options: createEntityCommandOptions(...) }
|
|
1794
|
+
*/
|
|
1795
|
+
declare function createEntityCommandOptions(entityKey: string, entityInfo: {
|
|
1796
|
+
name: string;
|
|
1797
|
+
module: string;
|
|
1798
|
+
title: string;
|
|
1799
|
+
}): Record<string, unknown>;
|
|
1800
|
+
/**
|
|
1801
|
+
* Creates a search command for "Create {Entity}" with consistent i18n pattern.
|
|
1802
|
+
* Use titleKey/descriptionKey from module (e.g. @module:entity.permissions.create.title).
|
|
1803
|
+
* Standard: "Create {Entity}" for title, "Create new {entities}" for description.
|
|
1804
|
+
*/
|
|
1805
|
+
declare function createEntitySearchCommand(config: {
|
|
1806
|
+
id: string;
|
|
1807
|
+
entityKey: string;
|
|
1808
|
+
entityInfo: {
|
|
1809
|
+
name: string;
|
|
1810
|
+
module: string;
|
|
1811
|
+
title: string;
|
|
1812
|
+
};
|
|
1813
|
+
titleKey: string;
|
|
1814
|
+
descriptionKey?: string;
|
|
1815
|
+
icon: string;
|
|
1816
|
+
}): AXPSearchResult;
|
|
1817
|
+
|
|
1818
|
+
declare class AXPMenuSearchDefinitionProvider implements AXPSearchDefinitionProvider {
|
|
1819
|
+
provide(context: AXPSearchDefinitionProviderContext): Promise<void>;
|
|
1820
|
+
}
|
|
1821
|
+
|
|
1822
|
+
interface AXPMenuItemWithParent extends AXPMenuItem {
|
|
1823
|
+
parent?: AXPMenuItem;
|
|
1824
|
+
}
|
|
1825
|
+
declare class AXPMenuSearchProvider implements AXPSearchProvider {
|
|
1826
|
+
menuService: AXPMenuProviderService;
|
|
1827
|
+
translateService: AXTranslationService;
|
|
1828
|
+
search(text: string): Promise<AXPSearchResult[]>;
|
|
1829
|
+
/**
|
|
1830
|
+
* Recursively searches AXPMenuItem and its children for a matching text.
|
|
1831
|
+
*
|
|
1832
|
+
* @param menuItems - The array of AXPMenuItem to search in.
|
|
1833
|
+
* @param searchText - The text to search for (case-insensitive).
|
|
1834
|
+
* @returns An array of AXPMenuItem that match the search text.
|
|
1835
|
+
*/
|
|
1836
|
+
private searchMenuItems;
|
|
1837
|
+
}
|
|
1838
|
+
|
|
1839
|
+
declare class AXPFooterTextSlotComponent {
|
|
1840
|
+
text: string;
|
|
1841
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPFooterTextSlotComponent, never>;
|
|
1842
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AXPFooterTextSlotComponent, "ng-component", never, { "text": { "alias": "text"; "required": false; }; }, {}, never, never, true, never>;
|
|
1843
|
+
}
|
|
1844
|
+
|
|
1845
|
+
declare class AXPNavBarSlotComponent {
|
|
1846
|
+
items: AXPMenuItem[];
|
|
1847
|
+
protected handleCommand(action?: AXPMenuItemCommand): void;
|
|
1848
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPNavBarSlotComponent, never>;
|
|
1849
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AXPNavBarSlotComponent, "ng-component", never, { "items": { "alias": "items"; "required": false; }; }, {}, never, never, true, never>;
|
|
1850
|
+
}
|
|
1851
|
+
|
|
1852
|
+
interface AXPLockRequest {
|
|
1853
|
+
refId: string;
|
|
1854
|
+
refType: string;
|
|
1855
|
+
type: AXPLockType;
|
|
1856
|
+
date: string;
|
|
1857
|
+
expireAt?: Date;
|
|
1858
|
+
lockedBy: AXPEntityReference;
|
|
1859
|
+
}
|
|
1860
|
+
interface AXPUnLockRequest {
|
|
1861
|
+
refId: string;
|
|
1862
|
+
refType: string;
|
|
1863
|
+
type: AXPLockType;
|
|
1864
|
+
}
|
|
1865
|
+
interface AXPLockGetInfoRequest {
|
|
1866
|
+
refId: string;
|
|
1867
|
+
refType: string;
|
|
1868
|
+
type?: AXPLockType;
|
|
1869
|
+
}
|
|
1870
|
+
type AXPLockType = 'admin' | 'user';
|
|
1871
|
+
interface AXPLockInfo {
|
|
1872
|
+
id: string;
|
|
1873
|
+
refId: string;
|
|
1874
|
+
refType: string;
|
|
1875
|
+
type: AXPLockType;
|
|
1876
|
+
date: string;
|
|
1877
|
+
expireAt?: Date;
|
|
1878
|
+
lockedBy: AXPApplicationUserReference;
|
|
1879
|
+
}
|
|
1880
|
+
|
|
1881
|
+
declare abstract class AXPLockService {
|
|
1882
|
+
abstract lock(request: AXPLockRequest): Promise<AXPLockInfo>;
|
|
1883
|
+
abstract unlock(request: AXPUnLockRequest): Promise<void>;
|
|
1884
|
+
abstract check(request: AXPLockGetInfoRequest): Promise<boolean>;
|
|
1885
|
+
abstract getInfo(request: AXPLockGetInfoRequest): Promise<AXPLockInfo>;
|
|
1886
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPLockService, never>;
|
|
1887
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXPLockService>;
|
|
1888
|
+
}
|
|
1889
|
+
|
|
1890
|
+
/**
|
|
1891
|
+
* Synchronous access to default multi-language behavior for named entity fields and widget
|
|
1892
|
+
* property bindings. Mirrors {@link AXPLayoutOrderingConfigService}: avoids async in entity
|
|
1893
|
+
* modifiers and startup deadlocks.
|
|
1894
|
+
*/
|
|
1895
|
+
declare class AXPDefaultMultiLanguageConfigService {
|
|
1896
|
+
private readonly settingsService;
|
|
1897
|
+
private readonly _applyDefault;
|
|
1898
|
+
private syncScheduled;
|
|
1899
|
+
constructor();
|
|
1900
|
+
getApplyDefaultMultiLanguage(): boolean;
|
|
1901
|
+
private syncFromSettings;
|
|
1902
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPDefaultMultiLanguageConfigService, never>;
|
|
1903
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXPDefaultMultiLanguageConfigService>;
|
|
1904
|
+
}
|
|
1905
|
+
|
|
1906
|
+
/**
|
|
1907
|
+
* Shared multi-language defaults for entity properties and widget property bindings.
|
|
1908
|
+
*
|
|
1909
|
+
* **Circular dependencies:** use only `import type` for `AXPWidgetProperty` and
|
|
1910
|
+
* `AXPEntityProperty` so this module has no runtime imports from widget-core or application
|
|
1911
|
+
* types — `@acorex/platform/layout/widget-core` does not import `@acorex/platform/common`.
|
|
1912
|
+
*/
|
|
1913
|
+
|
|
1914
|
+
/**
|
|
1915
|
+
* Widget types that support the multiLanguage option (text / rich text editors).
|
|
1916
|
+
*/
|
|
1917
|
+
declare const MULTILANGUAGE_CAPABLE_WIDGET_TYPES: Set<string>;
|
|
1918
|
+
/**
|
|
1919
|
+
* Common property names / binding path segments that are usually translatable when the feature is
|
|
1920
|
+
* enabled in settings. Explicit `multiLanguage` on the property still wins.
|
|
1921
|
+
*/
|
|
1922
|
+
declare const DEFAULT_MULTILANGUAGE_FIELD_NAMES: Set<string>;
|
|
1923
|
+
declare function shouldApplyDefaultMultiLanguageToEntityProperty(prop: AXPEntityProperty): boolean;
|
|
1924
|
+
declare function shouldApplyDefaultMultiLanguageToWidgetProperty(prop: AXPWidgetProperty): boolean;
|
|
1925
|
+
/**
|
|
1926
|
+
* Leaf widget nodes in entity `schema.interface` trees (e.g. GridLayout → RichText under `pre` /
|
|
1927
|
+
* `post`) — same path/type rules as {@link shouldApplyDefaultMultiLanguageToWidgetProperty}, without
|
|
1928
|
+
* `schema.dataType` (nodes do not carry entity schema).
|
|
1929
|
+
*/
|
|
1930
|
+
declare function shouldApplyDefaultMultiLanguageToWidgetNode(node: AXPWidgetNode): boolean;
|
|
1931
|
+
/**
|
|
1932
|
+
* When {@link AXPDefaultMultiLanguageConfigService#getApplyDefaultMultiLanguage} is true, sets
|
|
1933
|
+
* `options.multiLanguage` on eligible editor leaves inside an entity property's widget tree
|
|
1934
|
+
* (including nested layouts). Used by entity middleware so object fields (e.g. `pre`, `post`) are
|
|
1935
|
+
* covered, not only top-level string properties.
|
|
1936
|
+
*/
|
|
1937
|
+
declare function withDefaultMultiLanguageOnWidgetNodeTree(root: AXPWidgetNode | undefined | null, applyDefault: boolean): AXPWidgetNode | undefined | null;
|
|
1938
|
+
/**
|
|
1939
|
+
* When {@link AXPDefaultMultiLanguageConfigService#getApplyDefaultMultiLanguage} is true, sets
|
|
1940
|
+
* `schema.interface.options.multiLanguage` for eligible string widget properties (same rules as
|
|
1941
|
+
* entity middleware), unless the property already specifies `multiLanguage`.
|
|
1942
|
+
*/
|
|
1943
|
+
declare function withDefaultMultiLanguageOnWidgetProperty(prop: AXPWidgetProperty, applyDefault: boolean): AXPWidgetProperty;
|
|
1944
|
+
|
|
1945
|
+
interface AXPSettingValueProvider {
|
|
1946
|
+
get scope(): AXPPlatformScope;
|
|
1947
|
+
load(): Promise<AXPSettingValue[]>;
|
|
1948
|
+
set(key: string, value: any): Promise<void>;
|
|
1949
|
+
set(values: Record<string, any>): Promise<void>;
|
|
1950
|
+
}
|
|
1951
|
+
/**
|
|
1952
|
+
* Provider interface for supplying default setting values from higher layers (e.g., app, mocks, API).
|
|
1953
|
+
* Providers are merged by ascending priority; later providers override earlier values on key conflicts.
|
|
1954
|
+
*/
|
|
1955
|
+
interface AXPSettingDefaultValuesProvider {
|
|
1956
|
+
/** Merge order; lower numbers are applied first. Default is 0. */
|
|
1957
|
+
priority?: number;
|
|
1958
|
+
/** Returns a flat map of setting key to default value. */
|
|
1959
|
+
provide(): Promise<Record<string, unknown>>;
|
|
1960
|
+
}
|
|
1961
|
+
interface AXPSettingValue {
|
|
1962
|
+
key: string;
|
|
1963
|
+
value: any;
|
|
1964
|
+
}
|
|
1965
|
+
interface AXPSettingChangedEvent {
|
|
1966
|
+
scope: AXPPlatformScope;
|
|
1967
|
+
keys: string[];
|
|
1968
|
+
values: Record<string, any>;
|
|
1969
|
+
entries: AXPSettingValue[];
|
|
1970
|
+
}
|
|
1971
|
+
interface AXPSettingDefinition {
|
|
1972
|
+
name: string;
|
|
1973
|
+
title: string;
|
|
1974
|
+
description?: string;
|
|
1975
|
+
widget: AXPWidgetNode;
|
|
1976
|
+
layout?: AXPGridLayoutOptions;
|
|
1977
|
+
scope: AXPPlatformScopeKey;
|
|
1978
|
+
isRequired?: boolean;
|
|
1979
|
+
isInherited?: boolean;
|
|
1980
|
+
isEncrypted?: boolean;
|
|
1981
|
+
defaultValue?: unknown;
|
|
1982
|
+
value?: unknown;
|
|
1983
|
+
}
|
|
1984
|
+
interface AXPSettingDefinitionGroup {
|
|
1985
|
+
name: string;
|
|
1986
|
+
title: string;
|
|
1987
|
+
icon?: string;
|
|
1988
|
+
description?: string;
|
|
1989
|
+
groups: AXPSettingDefinitionGroup[];
|
|
1990
|
+
sections: AXPSettingDefinitionSection[];
|
|
1991
|
+
}
|
|
1992
|
+
interface AXPSettingDefinitionSection {
|
|
1993
|
+
name: string;
|
|
1994
|
+
title: string;
|
|
1995
|
+
description?: string;
|
|
1996
|
+
settings: AXPSettingDefinition[];
|
|
1997
|
+
}
|
|
1998
|
+
interface AXPGroupSearchResult {
|
|
1999
|
+
breadcrumb: {
|
|
2000
|
+
name: string;
|
|
2001
|
+
title: string;
|
|
2002
|
+
description?: string;
|
|
2003
|
+
}[];
|
|
2004
|
+
sections: AXPSettingDefinitionSection[] | null;
|
|
2005
|
+
groups: AXPSettingDefinitionGroup[] | null;
|
|
2006
|
+
}
|
|
2007
|
+
|
|
2008
|
+
declare class AXPSettingDefinitionProviderContext {
|
|
2009
|
+
private rootGroups;
|
|
2010
|
+
private groupMap;
|
|
2011
|
+
addGroup(name: string, title: string, description?: string, icon?: string): AXPSettingDefinitionGroupBuilder;
|
|
2012
|
+
group(name: string): AXPSettingDefinitionGroupBuilder | null;
|
|
2013
|
+
getGroups(): AXPSettingDefinitionGroup[];
|
|
2014
|
+
hasGroup(name: string): boolean;
|
|
2015
|
+
getGroup(name: string): AXPSettingDefinitionGroup | undefined;
|
|
2016
|
+
}
|
|
2017
|
+
declare class AXPSettingDefinitionGroupBuilder {
|
|
2018
|
+
private context;
|
|
2019
|
+
private group;
|
|
2020
|
+
constructor(context: AXPSettingDefinitionProviderContext, group: AXPSettingDefinitionGroup);
|
|
2021
|
+
addSection(name: string, title: string, description?: string): AXPSettingDefinitionSectionBuilder;
|
|
2022
|
+
section(name: string): AXPSettingDefinitionSectionBuilder | null;
|
|
2023
|
+
addGroup(name: string, title: string, description?: string, icon?: string): AXPSettingDefinitionGroupBuilder;
|
|
2024
|
+
endGroup(): AXPSettingDefinitionProviderContext;
|
|
2025
|
+
}
|
|
2026
|
+
declare class AXPSettingDefinitionSectionBuilder {
|
|
2027
|
+
private groupBuilder;
|
|
2028
|
+
private section;
|
|
2029
|
+
constructor(groupBuilder: AXPSettingDefinitionGroupBuilder, section: AXPSettingDefinitionSection);
|
|
2030
|
+
addSetting(setting: {
|
|
2031
|
+
key: string;
|
|
2032
|
+
title: string;
|
|
2033
|
+
scope: AXPPlatformScopeKey;
|
|
2034
|
+
widget: {
|
|
2035
|
+
type: AXPWidgetTypesMap[keyof AXPWidgetTypesMap] | string;
|
|
2036
|
+
options?: AXPOptionsData;
|
|
2037
|
+
triggers?: AXPWidgetTriggers;
|
|
2038
|
+
layout?: AXPGridLayoutOptions;
|
|
2039
|
+
};
|
|
2040
|
+
description?: string;
|
|
2041
|
+
isRequired?: boolean;
|
|
2042
|
+
isInherited?: boolean;
|
|
2043
|
+
isEncrypted?: boolean;
|
|
2044
|
+
defaultValue?: unknown;
|
|
2045
|
+
valueTransforms?: AXPValueTransformerFunctions;
|
|
2046
|
+
validationRules?: AXPValidationRules;
|
|
2047
|
+
}): this;
|
|
2048
|
+
endSection(): AXPSettingDefinitionGroupBuilder;
|
|
2049
|
+
}
|
|
2050
|
+
|
|
2051
|
+
interface AXPSettingDefinitionProvider {
|
|
2052
|
+
provide(context: AXPSettingDefinitionProviderContext): Promise<void>;
|
|
2053
|
+
}
|
|
2054
|
+
declare const AXP_SETTING_DEFINITION_PROVIDER: InjectionToken<AXPSettingDefinitionProvider[]>;
|
|
2055
|
+
declare class AXPSettingDefinitionProviderService {
|
|
2056
|
+
private providers;
|
|
2057
|
+
private cache;
|
|
2058
|
+
private load;
|
|
2059
|
+
reload(): Promise<void>;
|
|
2060
|
+
getListAsync(scope: AXPPlatformScopeKey): Promise<AXPSettingDefinitionGroup[]>;
|
|
2061
|
+
getList(scope: AXPPlatformScopeKey): AXPSettingDefinitionGroup[];
|
|
2062
|
+
defaultValues(): Promise<Record<string, unknown>>;
|
|
2063
|
+
findGroup(scope: AXPPlatformScopeKey, groupName: string): AXPGroupSearchResult;
|
|
2064
|
+
private searchRecursive;
|
|
2065
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPSettingDefinitionProviderService, never>;
|
|
2066
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXPSettingDefinitionProviderService>;
|
|
2067
|
+
}
|
|
2068
|
+
declare const AXP_SETTING_DEFAULT_VALUES_PROVIDERS: InjectionToken<AXPSettingDefaultValuesProvider[]>;
|
|
2069
|
+
declare class AXPSettingDefaultValuesAggregatorService {
|
|
2070
|
+
private readonly definitionService;
|
|
2071
|
+
private readonly providers;
|
|
2072
|
+
getDefaults(): Promise<Record<string, unknown>>;
|
|
2073
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPSettingDefaultValuesAggregatorService, never>;
|
|
2074
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXPSettingDefaultValuesAggregatorService>;
|
|
2075
|
+
}
|
|
2076
|
+
|
|
2077
|
+
declare const AXP_SETTING_VALUE_PROVIDER: InjectionToken<AXPSettingValueProvider[]>;
|
|
2078
|
+
|
|
2079
|
+
interface AXPSettingsServiceInterface {
|
|
2080
|
+
load(): Promise<AXPSettingValue[]>;
|
|
2081
|
+
get<T = any>(key: string): Promise<T>;
|
|
2082
|
+
defaultValues(scope: AXPPlatformScope): Promise<Record<string, unknown>>;
|
|
2083
|
+
scope(scope: AXPPlatformScope): ScopedSettingService;
|
|
2084
|
+
}
|
|
2085
|
+
declare class AXPSettingsService implements AXPSettingsServiceInterface {
|
|
2086
|
+
private readonly providers;
|
|
2087
|
+
private readonly injector;
|
|
2088
|
+
private readonly eventService;
|
|
2089
|
+
private readonly sessionService;
|
|
2090
|
+
private readonly scopedSettingsCache;
|
|
2091
|
+
readonly onChanged: Subject<AXPSettingChangedEvent>;
|
|
2092
|
+
readonly onLoaded: Subject<void>;
|
|
2093
|
+
constructor();
|
|
2094
|
+
reload(): Promise<void>;
|
|
2095
|
+
load(): Promise<AXPSettingValue[]>;
|
|
2096
|
+
get<T = any>(key: string): Promise<T>;
|
|
2097
|
+
defaultValues(scope: AXPPlatformScope): Promise<Record<string, unknown>>;
|
|
2098
|
+
scope(scope: AXPPlatformScope): ScopedSettingService;
|
|
2099
|
+
invokeChangeEvent(event: AXPSettingChangedEvent): void;
|
|
2100
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPSettingsService, never>;
|
|
2101
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXPSettingsService>;
|
|
2102
|
+
}
|
|
2103
|
+
declare class ScopedSettingService {
|
|
2104
|
+
private parent;
|
|
2105
|
+
private provider;
|
|
2106
|
+
private scopeCache;
|
|
2107
|
+
constructor(parent: AXPSettingsService, provider: AXPSettingValueProvider, scopeCache: Map<string, any>);
|
|
2108
|
+
get<T = any>(key: string): Promise<T>;
|
|
2109
|
+
all(): Promise<any>;
|
|
2110
|
+
defaultValues(): Promise<Record<string, unknown>>;
|
|
2111
|
+
set<T = any>(key: string, value: T): Promise<void>;
|
|
2112
|
+
set<T = any>(values: Record<string, T>): Promise<void>;
|
|
2113
|
+
update<T = any>(key: string, updateFn: (currentValue: T) => T): Promise<void>;
|
|
2114
|
+
}
|
|
2115
|
+
|
|
2116
|
+
/**
|
|
2117
|
+
* Exposes platform settings in expression strings, e.g.
|
|
2118
|
+
* `{{ settings.get('Common:Setting:Entity.ShowPageBadge') }}`.
|
|
2119
|
+
*/
|
|
2120
|
+
declare class AXPSettingsEvaluatorScopeProvider implements AXPExpressionEvaluatorScopeProvider {
|
|
2121
|
+
private readonly settingsService;
|
|
2122
|
+
provide(context: AXPExpressionEvaluatorScopeProviderContext): Promise<void>;
|
|
2123
|
+
}
|
|
2124
|
+
|
|
2125
|
+
/**
|
|
2126
|
+
* Regional and locale-related setting keys used by platform widgets and components.
|
|
2127
|
+
* Most values use the `LocaleManagement:Setting:Regional.*` prefix; definitions live in the locale-management module where applicable.
|
|
2128
|
+
*/
|
|
2129
|
+
declare enum AXPRegionalSetting {
|
|
2130
|
+
LocaleProfile = "LocaleManagement:Setting:Regional.LocaleProfile",
|
|
2131
|
+
TimeZone = "LocaleManagement:Setting:Regional.TimeZone",
|
|
2132
|
+
Language = "LocaleManagement:Setting:Regional.Language",
|
|
2133
|
+
Country = "LocaleManagement:Setting:Regional.Country",
|
|
2134
|
+
Calendar = "LocaleManagement:Setting:Regional.Calendar",
|
|
2135
|
+
FirstDayOfWeek = "LocaleManagement:Setting:Regional.FirstDayOfWeek",
|
|
2136
|
+
WeekendDays = "LocaleManagement:Setting:Regional.WeekendDays",
|
|
2137
|
+
ShortDate = "LocaleManagement:Setting:Regional.ShortDate",
|
|
2138
|
+
MediumDate = "LocaleManagement:Setting:Regional.MediumDate",
|
|
2139
|
+
LongDate = "LocaleManagement:Setting:Regional.LongDate",
|
|
2140
|
+
ShortTime = "LocaleManagement:Setting:Regional.ShortTime",
|
|
2141
|
+
MediumTime = "LocaleManagement:Setting:Regional.MediumTime",
|
|
2142
|
+
LongTime = "LocaleManagement:Setting:Regional.LongTime",
|
|
2143
|
+
MeasurementUnits = "LocaleManagement:Setting:Regional.MeasurementUnits",
|
|
2144
|
+
TemperatureUnits = "LocaleManagement:Setting:Regional.TemperatureUnits",
|
|
2145
|
+
DistanceUnits = "LocaleManagement:Setting:Regional.DistanceUnits",
|
|
2146
|
+
WeightUnits = "LocaleManagement:Setting:Regional.WeightUnits",
|
|
2147
|
+
VolumeUnits = "LocaleManagement:Setting:Regional.VolumeUnits",
|
|
2148
|
+
SpeedUnits = "LocaleManagement:Setting:Regional.SpeedUnits",
|
|
2149
|
+
AreaUnits = "LocaleManagement:Setting:Regional.AreaUnits",
|
|
2150
|
+
/** Default multi-language behavior for standard text field names; defined in locale-management `AXMRegionalSettingProvider`. */
|
|
2151
|
+
MultiLanguageSupport = "LocaleManagement:Setting:Regional.MultiLanguageSupport"
|
|
2152
|
+
}
|
|
2153
|
+
|
|
2154
|
+
/**
|
|
2155
|
+
* Status Definition Types
|
|
2156
|
+
* Defines the structure for status definitions and their transitions
|
|
2157
|
+
*/
|
|
2158
|
+
/**
|
|
2159
|
+
* Status definition with metadata
|
|
2160
|
+
*/
|
|
2161
|
+
interface AXPStatusDefinition {
|
|
2162
|
+
/**
|
|
2163
|
+
* Unique identifier for the status
|
|
2164
|
+
*/
|
|
2165
|
+
name: string;
|
|
2166
|
+
/**
|
|
2167
|
+
* Display title for the status
|
|
2168
|
+
*/
|
|
2169
|
+
title: string;
|
|
2170
|
+
/**
|
|
2171
|
+
* Color code or semantic color name for the status
|
|
2172
|
+
*/
|
|
2173
|
+
color: string;
|
|
2174
|
+
/**
|
|
2175
|
+
* Optional icon class (e.g., 'fa-light fa-check')
|
|
2176
|
+
*/
|
|
2177
|
+
icon?: string;
|
|
2178
|
+
/**
|
|
2179
|
+
* Optional description
|
|
2180
|
+
*/
|
|
2181
|
+
description?: string;
|
|
2182
|
+
/**
|
|
2183
|
+
* Optional order for sorting
|
|
2184
|
+
*/
|
|
2185
|
+
order?: number;
|
|
2186
|
+
/**
|
|
2187
|
+
* Whether this is a final status (end state)
|
|
2188
|
+
*/
|
|
2189
|
+
isFinal?: boolean;
|
|
2190
|
+
/**
|
|
2191
|
+
* Whether this is an initial status (starting state)
|
|
2192
|
+
*/
|
|
2193
|
+
isInitial?: boolean;
|
|
2194
|
+
/**
|
|
2195
|
+
* Whether list views should be automatically generated for this status
|
|
2196
|
+
*/
|
|
2197
|
+
generateView?: boolean;
|
|
2198
|
+
}
|
|
2199
|
+
/**
|
|
2200
|
+
* Status transition definition
|
|
2201
|
+
*/
|
|
2202
|
+
interface AXPStatusTransition {
|
|
2203
|
+
/**
|
|
2204
|
+
* Source status name
|
|
2205
|
+
*/
|
|
2206
|
+
from: string;
|
|
2207
|
+
/**
|
|
2208
|
+
* Target status name
|
|
2209
|
+
*/
|
|
2210
|
+
to: string;
|
|
2211
|
+
/**
|
|
2212
|
+
* Optional condition expression to evaluate before allowing transition
|
|
2213
|
+
* Uses expression evaluator syntax (e.g., "{{user.isAdmin}}", "{{item.priority > 5}}")
|
|
2214
|
+
*/
|
|
2215
|
+
condition?: string;
|
|
2216
|
+
/**
|
|
2217
|
+
* Optional display title for the transition
|
|
2218
|
+
*/
|
|
2219
|
+
title?: string;
|
|
2220
|
+
/**
|
|
2221
|
+
* Optional description
|
|
2222
|
+
*/
|
|
2223
|
+
description?: string;
|
|
2224
|
+
/**
|
|
2225
|
+
* Optional command descriptor to execute for this transition
|
|
2226
|
+
* If not provided, defaults to Entity:UpdateStatus with entity, id, and status
|
|
2227
|
+
*/
|
|
2228
|
+
command?: {
|
|
2229
|
+
name: string;
|
|
2230
|
+
options?: Record<string, unknown>;
|
|
2231
|
+
};
|
|
2232
|
+
/**
|
|
2233
|
+
* Whether this transition is automatic (no user action required)
|
|
2234
|
+
*/
|
|
2235
|
+
isAutomatic?: boolean;
|
|
2236
|
+
/**
|
|
2237
|
+
* Whether this transition requires approval
|
|
2238
|
+
*/
|
|
2239
|
+
requiresApproval?: boolean;
|
|
2240
|
+
}
|
|
2241
|
+
/**
|
|
2242
|
+
* Abstract class for status providers
|
|
2243
|
+
* Similar to AXPTaskBadgeProvider pattern
|
|
2244
|
+
*/
|
|
2245
|
+
declare abstract class AXPStatusProvider {
|
|
2246
|
+
/**
|
|
2247
|
+
* Unique key for the status (e.g., 'task-management.status')
|
|
2248
|
+
*/
|
|
2249
|
+
abstract readonly key: string;
|
|
2250
|
+
/**
|
|
2251
|
+
* List of available status definitions
|
|
2252
|
+
*/
|
|
2253
|
+
abstract readonly statuses: AXPStatusDefinition[];
|
|
2254
|
+
/**
|
|
2255
|
+
* List of allowed transitions between statuses
|
|
2256
|
+
*/
|
|
2257
|
+
abstract readonly transitions: AXPStatusTransition[];
|
|
2258
|
+
/**
|
|
2259
|
+
* Optional default status name
|
|
2260
|
+
*/
|
|
2261
|
+
abstract readonly defaultStatus?: string;
|
|
2262
|
+
}
|
|
2263
|
+
|
|
2264
|
+
/**
|
|
2265
|
+
* Injection token for status providers
|
|
2266
|
+
* Use with multi: true to register multiple providers
|
|
2267
|
+
*/
|
|
2268
|
+
declare const AXP_STATUS_PROVIDERS: InjectionToken<AXPStatusProvider[]>;
|
|
2269
|
+
/**
|
|
2270
|
+
* Service for managing status definitions from multiple providers
|
|
2271
|
+
* Similar to AXPTaskBadgeService pattern - no cache, direct access
|
|
2272
|
+
*
|
|
2273
|
+
* @example
|
|
2274
|
+
* ```typescript
|
|
2275
|
+
* // In a module providers array:
|
|
2276
|
+
* {
|
|
2277
|
+
* provide: AXP_STATUS_PROVIDERS,
|
|
2278
|
+
* useClass: TaskStatusProvider,
|
|
2279
|
+
* multi: true,
|
|
2280
|
+
* }
|
|
2281
|
+
*
|
|
2282
|
+
* // Example provider implementation:
|
|
2283
|
+
* export class TaskStatusProvider extends AXPStatusProvider {
|
|
2284
|
+
* readonly key = 'task-management.status';
|
|
2285
|
+
* readonly statuses = [
|
|
2286
|
+
* { name: 'todo', title: 'To Do', color: '#6b7280', icon: 'fa-light fa-circle', isInitial: true },
|
|
2287
|
+
* { name: 'in-progress', title: 'In Progress', color: '#3b82f6', icon: 'fa-light fa-play' },
|
|
2288
|
+
* { name: 'done', title: 'Done', color: '#10b981', icon: 'fa-light fa-check-circle', isFinal: true },
|
|
2289
|
+
* ];
|
|
2290
|
+
* readonly transitions = [
|
|
2291
|
+
* { from: 'todo', to: 'in-progress', title: 'Start', condition: '{{user.canEdit}}' },
|
|
2292
|
+
* { from: 'in-progress', to: 'done', title: 'Complete' },
|
|
2293
|
+
* ];
|
|
2294
|
+
* readonly defaultStatus = 'todo';
|
|
2295
|
+
* }
|
|
2296
|
+
*
|
|
2297
|
+
* // Later, get the status:
|
|
2298
|
+
* const status = await statusService.getStatus('task-management.status');
|
|
2299
|
+
* if (status) {
|
|
2300
|
+
* console.log('Statuses:', status.statuses);
|
|
2301
|
+
* console.log('Transitions:', status.transitions);
|
|
2302
|
+
* }
|
|
2303
|
+
* ```
|
|
2304
|
+
*/
|
|
2305
|
+
declare class AXPStatusDefinitionProviderService {
|
|
2306
|
+
private providers;
|
|
2307
|
+
private commandService;
|
|
2308
|
+
private statusMap;
|
|
2309
|
+
private initializationPromise;
|
|
2310
|
+
private isInitialized;
|
|
2311
|
+
/**
|
|
2312
|
+
* Initialize providers (resolve promises if needed)
|
|
2313
|
+
* Called lazily on first access
|
|
2314
|
+
*/
|
|
2315
|
+
private initialize;
|
|
2316
|
+
private _doInitialize;
|
|
2317
|
+
/**
|
|
2318
|
+
* Get a status provider by key
|
|
2319
|
+
* Ensures initialization is complete before accessing the status map.
|
|
2320
|
+
*
|
|
2321
|
+
* @param key - Status key (e.g., 'task-management.status')
|
|
2322
|
+
* @returns Promise that resolves to status provider with all statuses and transitions, or undefined if not found
|
|
2323
|
+
*
|
|
2324
|
+
* @example
|
|
2325
|
+
* ```typescript
|
|
2326
|
+
* const status = await statusService.getStatus('task-management.status');
|
|
2327
|
+
* if (status) {
|
|
2328
|
+
* console.log('Statuses:', status.statuses);
|
|
2329
|
+
* console.log('Transitions:', status.transitions);
|
|
2330
|
+
* }
|
|
2331
|
+
* ```
|
|
2332
|
+
*/
|
|
2333
|
+
getStatus(key: string): Promise<AXPStatusProvider | undefined>;
|
|
2334
|
+
/**
|
|
2335
|
+
* Execute a status transition workflow action
|
|
2336
|
+
* Uses transition.command if provided, otherwise defaults to Entity:UpdateStatus
|
|
2337
|
+
* Validates the transition is allowed before executing
|
|
2338
|
+
*
|
|
2339
|
+
* @param definitionKey - Status definition key
|
|
2340
|
+
* @param transition - The transition to execute
|
|
2341
|
+
* @param context - Context data for the command (must include entity name and id/ids)
|
|
2342
|
+
* @returns Promise that resolves when the command execution completes
|
|
2343
|
+
*
|
|
2344
|
+
* @example
|
|
2345
|
+
* ```typescript
|
|
2346
|
+
* await statusService.executeTransition(
|
|
2347
|
+
* 'task-management.status',
|
|
2348
|
+
* { from: 'todo', to: 'in-progress' },
|
|
2349
|
+
* { entity: 'TaskManagement.Task', id: '123', ...entityData }
|
|
2350
|
+
* );
|
|
2351
|
+
* ```
|
|
2352
|
+
*/
|
|
2353
|
+
executeTransition(definitionKey: string, transition: AXPStatusTransition, context: Record<string, any>): Promise<void>;
|
|
2354
|
+
/**
|
|
2355
|
+
* Validate if a transition is allowed
|
|
2356
|
+
* Checks if the transition exists in the provider's transitions list
|
|
2357
|
+
*/
|
|
2358
|
+
private isValidTransition;
|
|
2359
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPStatusDefinitionProviderService, never>;
|
|
2360
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXPStatusDefinitionProviderService>;
|
|
2361
|
+
}
|
|
2362
|
+
|
|
2363
|
+
/**
|
|
2364
|
+
* Standard system status types
|
|
2365
|
+
* These are the predefined status values used across the platform
|
|
2366
|
+
*/
|
|
2367
|
+
declare enum AXPSystemStatusType {
|
|
2368
|
+
Todo = "todo",
|
|
2369
|
+
InProgress = "in-progress",
|
|
2370
|
+
InReview = "in-review",
|
|
2371
|
+
Open = "open",
|
|
2372
|
+
Closed = "closed",
|
|
2373
|
+
Blocked = "blocked",
|
|
2374
|
+
Done = "done",
|
|
2375
|
+
Cancelled = "cancelled",
|
|
2376
|
+
Draft = "draft",
|
|
2377
|
+
PendingReview = "pending-review",
|
|
2378
|
+
Approved = "approved",
|
|
2379
|
+
Published = "published",
|
|
2380
|
+
Archived = "archived",
|
|
2381
|
+
Rejected = "rejected",
|
|
2382
|
+
Active = "active",
|
|
2383
|
+
Inactive = "inactive",
|
|
2384
|
+
Pending = "pending",
|
|
2385
|
+
Completed = "completed",
|
|
2386
|
+
Suspended = "suspended",
|
|
2387
|
+
Failed = "failed",
|
|
2388
|
+
Review = "review",
|
|
2389
|
+
Expired = "expired"
|
|
2390
|
+
}
|
|
2391
|
+
/**
|
|
2392
|
+
* Standard system status definitions
|
|
2393
|
+
* Provides consistent status definitions across the platform
|
|
2394
|
+
* Uses AXPStatusDefinition interface from status-definition.types.ts
|
|
2395
|
+
*/
|
|
2396
|
+
declare const AXPSystemStatuses: Readonly<{
|
|
2397
|
+
readonly Open: {
|
|
2398
|
+
readonly name: AXPSystemStatusType.Open;
|
|
2399
|
+
readonly title: string;
|
|
2400
|
+
readonly icon: "fa-light fa-circle";
|
|
2401
|
+
readonly color: "secondary";
|
|
2402
|
+
readonly description: string;
|
|
2403
|
+
readonly order: 1;
|
|
2404
|
+
readonly isInitial: true;
|
|
2405
|
+
readonly isFinal: false;
|
|
2406
|
+
};
|
|
2407
|
+
readonly Closed: {
|
|
2408
|
+
readonly name: AXPSystemStatusType.Closed;
|
|
2409
|
+
readonly title: string;
|
|
2410
|
+
readonly icon: "fa-light fa-circle";
|
|
2411
|
+
readonly color: "danger";
|
|
2412
|
+
readonly description: string;
|
|
2413
|
+
readonly order: 2;
|
|
2414
|
+
readonly isInitial: false;
|
|
2415
|
+
readonly isFinal: true;
|
|
2416
|
+
};
|
|
2417
|
+
readonly Todo: {
|
|
2418
|
+
readonly name: AXPSystemStatusType.Todo;
|
|
2419
|
+
readonly title: string;
|
|
2420
|
+
readonly icon: "fa-light fa-circle";
|
|
2421
|
+
readonly color: "secondary";
|
|
2422
|
+
readonly description: string;
|
|
2423
|
+
readonly order: 1;
|
|
2424
|
+
readonly isInitial: true;
|
|
2425
|
+
readonly isFinal: false;
|
|
2426
|
+
};
|
|
2427
|
+
readonly InProgress: {
|
|
2428
|
+
readonly name: AXPSystemStatusType.InProgress;
|
|
2429
|
+
readonly title: string;
|
|
2430
|
+
readonly icon: "fa-light fa-play";
|
|
2431
|
+
readonly color: "info";
|
|
2432
|
+
readonly description: string;
|
|
2433
|
+
readonly order: 2;
|
|
2434
|
+
readonly isInitial: false;
|
|
2435
|
+
readonly isFinal: false;
|
|
2436
|
+
};
|
|
2437
|
+
readonly InReview: {
|
|
2438
|
+
readonly name: AXPSystemStatusType.InReview;
|
|
2439
|
+
readonly title: string;
|
|
2440
|
+
readonly icon: "fa-light fa-eye";
|
|
2441
|
+
readonly color: "info";
|
|
2442
|
+
readonly description: string;
|
|
2443
|
+
readonly order: 3;
|
|
2444
|
+
readonly isInitial: false;
|
|
2445
|
+
readonly isFinal: false;
|
|
2446
|
+
};
|
|
2447
|
+
readonly Blocked: {
|
|
2448
|
+
readonly name: AXPSystemStatusType.Blocked;
|
|
2449
|
+
readonly title: string;
|
|
2450
|
+
readonly icon: "fa-light fa-ban";
|
|
2451
|
+
readonly color: "danger";
|
|
2452
|
+
readonly description: string;
|
|
2453
|
+
readonly order: 4;
|
|
2454
|
+
readonly isInitial: false;
|
|
2455
|
+
readonly isFinal: false;
|
|
2456
|
+
};
|
|
2457
|
+
readonly Done: {
|
|
2458
|
+
readonly name: AXPSystemStatusType.Done;
|
|
2459
|
+
readonly title: string;
|
|
2460
|
+
readonly icon: "fa-light fa-check-circle";
|
|
2461
|
+
readonly color: "success";
|
|
2462
|
+
readonly description: string;
|
|
2463
|
+
readonly order: 5;
|
|
2464
|
+
readonly isInitial: false;
|
|
2465
|
+
readonly isFinal: true;
|
|
2466
|
+
};
|
|
2467
|
+
readonly Cancelled: {
|
|
2468
|
+
readonly name: AXPSystemStatusType.Cancelled;
|
|
2469
|
+
readonly title: string;
|
|
2470
|
+
readonly icon: "fa-light fa-times-circle";
|
|
2471
|
+
readonly color: "neutral";
|
|
2472
|
+
readonly description: string;
|
|
2473
|
+
readonly order: 6;
|
|
2474
|
+
readonly isInitial: false;
|
|
2475
|
+
readonly isFinal: true;
|
|
2476
|
+
};
|
|
2477
|
+
readonly Draft: {
|
|
2478
|
+
readonly name: AXPSystemStatusType.Draft;
|
|
2479
|
+
readonly title: string;
|
|
2480
|
+
readonly icon: "fa-light fa-file-pen";
|
|
2481
|
+
readonly color: "neutral";
|
|
2482
|
+
readonly description: string;
|
|
2483
|
+
readonly order: 1;
|
|
2484
|
+
readonly isInitial: true;
|
|
2485
|
+
readonly isFinal: false;
|
|
2486
|
+
};
|
|
2487
|
+
readonly PendingReview: {
|
|
2488
|
+
readonly name: AXPSystemStatusType.PendingReview;
|
|
2489
|
+
readonly title: string;
|
|
2490
|
+
readonly icon: "fa-light fa-clock";
|
|
2491
|
+
readonly color: "warning";
|
|
2492
|
+
readonly description: string;
|
|
2493
|
+
readonly order: 2;
|
|
2494
|
+
readonly isInitial: false;
|
|
2495
|
+
readonly isFinal: false;
|
|
2496
|
+
};
|
|
2497
|
+
readonly Approved: {
|
|
2498
|
+
readonly name: AXPSystemStatusType.Approved;
|
|
2499
|
+
readonly title: string;
|
|
2500
|
+
readonly icon: "fa-light fa-check-circle";
|
|
2501
|
+
readonly color: "success";
|
|
2502
|
+
readonly description: string;
|
|
2503
|
+
readonly order: 3;
|
|
2504
|
+
readonly isInitial: false;
|
|
2505
|
+
readonly isFinal: false;
|
|
2506
|
+
};
|
|
2507
|
+
readonly Published: {
|
|
2508
|
+
readonly name: AXPSystemStatusType.Published;
|
|
2509
|
+
readonly title: string;
|
|
2510
|
+
readonly icon: "fa-light fa-globe";
|
|
2511
|
+
readonly color: "primary";
|
|
2512
|
+
readonly description: string;
|
|
2513
|
+
readonly order: 4;
|
|
2514
|
+
readonly isInitial: false;
|
|
2515
|
+
readonly isFinal: false;
|
|
2516
|
+
};
|
|
2517
|
+
readonly Archived: {
|
|
2518
|
+
readonly name: AXPSystemStatusType.Archived;
|
|
2519
|
+
readonly title: string;
|
|
2520
|
+
readonly icon: "fa-light fa-archive";
|
|
2521
|
+
readonly color: "danger";
|
|
2522
|
+
readonly description: string;
|
|
2523
|
+
readonly order: 5;
|
|
2524
|
+
readonly isInitial: false;
|
|
2525
|
+
readonly isFinal: true;
|
|
2526
|
+
};
|
|
2527
|
+
readonly Rejected: {
|
|
2528
|
+
readonly name: AXPSystemStatusType.Rejected;
|
|
2529
|
+
readonly title: string;
|
|
2530
|
+
readonly icon: "fa-light fa-times-circle";
|
|
2531
|
+
readonly color: "danger";
|
|
2532
|
+
readonly description: string;
|
|
2533
|
+
readonly order: 6;
|
|
2534
|
+
readonly isInitial: false;
|
|
2535
|
+
readonly isFinal: true;
|
|
2536
|
+
};
|
|
2537
|
+
readonly Active: {
|
|
2538
|
+
readonly name: AXPSystemStatusType.Active;
|
|
2539
|
+
readonly title: string;
|
|
2540
|
+
readonly icon: "fa-light fa-check-circle";
|
|
2541
|
+
readonly color: "success";
|
|
2542
|
+
readonly description: string;
|
|
2543
|
+
readonly order: 1;
|
|
2544
|
+
readonly isInitial: false;
|
|
2545
|
+
readonly isFinal: false;
|
|
2546
|
+
};
|
|
2547
|
+
readonly Inactive: {
|
|
2548
|
+
readonly name: AXPSystemStatusType.Inactive;
|
|
2549
|
+
readonly title: string;
|
|
2550
|
+
readonly icon: "fa-light fa-circle";
|
|
2551
|
+
readonly color: "secondary";
|
|
2552
|
+
readonly description: string;
|
|
2553
|
+
readonly order: 2;
|
|
2554
|
+
readonly isInitial: false;
|
|
2555
|
+
readonly isFinal: false;
|
|
2556
|
+
};
|
|
2557
|
+
readonly Pending: {
|
|
2558
|
+
readonly name: AXPSystemStatusType.Pending;
|
|
2559
|
+
readonly title: string;
|
|
2560
|
+
readonly icon: "fa-light fa-clock";
|
|
2561
|
+
readonly color: "warning";
|
|
2562
|
+
readonly description: string;
|
|
2563
|
+
readonly order: 1;
|
|
2564
|
+
readonly isInitial: true;
|
|
2565
|
+
readonly isFinal: false;
|
|
2566
|
+
};
|
|
2567
|
+
readonly Completed: {
|
|
2568
|
+
readonly name: AXPSystemStatusType.Completed;
|
|
2569
|
+
readonly title: string;
|
|
2570
|
+
readonly icon: "fa-light fa-check-circle";
|
|
2571
|
+
readonly color: "success";
|
|
2572
|
+
readonly description: string;
|
|
2573
|
+
readonly order: 10;
|
|
2574
|
+
readonly isInitial: false;
|
|
2575
|
+
readonly isFinal: true;
|
|
2576
|
+
};
|
|
2577
|
+
readonly Suspended: {
|
|
2578
|
+
readonly name: AXPSystemStatusType.Suspended;
|
|
2579
|
+
readonly title: string;
|
|
2580
|
+
readonly icon: "fa-light fa-pause-circle";
|
|
2581
|
+
readonly color: "neutral";
|
|
2582
|
+
readonly description: string;
|
|
2583
|
+
readonly order: 5;
|
|
2584
|
+
readonly isInitial: false;
|
|
2585
|
+
readonly isFinal: false;
|
|
2586
|
+
};
|
|
2587
|
+
readonly Failed: {
|
|
2588
|
+
readonly name: AXPSystemStatusType.Failed;
|
|
2589
|
+
readonly title: string;
|
|
2590
|
+
readonly icon: "fa-light fa-xmark-circle";
|
|
2591
|
+
readonly color: "danger";
|
|
2592
|
+
readonly description: string;
|
|
2593
|
+
readonly order: 10;
|
|
2594
|
+
readonly isInitial: false;
|
|
2595
|
+
readonly isFinal: true;
|
|
2596
|
+
};
|
|
2597
|
+
readonly Review: {
|
|
2598
|
+
readonly name: AXPSystemStatusType.Review;
|
|
2599
|
+
readonly title: string;
|
|
2600
|
+
readonly icon: "fa-light fa-eye";
|
|
2601
|
+
readonly color: "info";
|
|
2602
|
+
readonly description: string;
|
|
2603
|
+
readonly order: 3;
|
|
2604
|
+
};
|
|
2605
|
+
readonly Expired: {
|
|
2606
|
+
readonly name: AXPSystemStatusType.Expired;
|
|
2607
|
+
readonly title: string;
|
|
2608
|
+
readonly icon: "fa-light fa-clock";
|
|
2609
|
+
readonly color: "danger";
|
|
2610
|
+
readonly description: string;
|
|
2611
|
+
readonly order: 10;
|
|
2612
|
+
readonly isInitial: false;
|
|
2613
|
+
readonly isFinal: true;
|
|
2614
|
+
};
|
|
2615
|
+
}>;
|
|
2616
|
+
/**
|
|
2617
|
+
* Get system status definition by type
|
|
2618
|
+
* @param type - Status type
|
|
2619
|
+
* @returns System status definition or undefined
|
|
2620
|
+
*/
|
|
2621
|
+
declare function getSystemStatus(type: AXPSystemStatusType): AXPStatusDefinition;
|
|
2622
|
+
/**
|
|
2623
|
+
* Resolves the visual appearance (color and icon) for status
|
|
2624
|
+
* using the system statuses from the core module.
|
|
2625
|
+
* @param statusType - Status type string
|
|
2626
|
+
* @returns Color and icon for the status
|
|
2627
|
+
*/
|
|
2628
|
+
declare function resolveStatusLook(statusType: string): {
|
|
2629
|
+
color: AXStyleColorType;
|
|
2630
|
+
icon: string;
|
|
2631
|
+
};
|
|
2632
|
+
/**
|
|
2633
|
+
* Resolves the complete status information (title, description, icon, color) for a status
|
|
2634
|
+
* using the system statuses from the core module.
|
|
2635
|
+
* @param statusType - Status type string
|
|
2636
|
+
* @returns Complete status information as AXPStatusDefinition
|
|
2637
|
+
*/
|
|
2638
|
+
declare function getStatusInfo(statusType: string): AXPStatusDefinition;
|
|
2639
|
+
/**
|
|
2640
|
+
* Get system status definition directly (no conversion needed since it's already AXPStatusDefinition)
|
|
2641
|
+
* @param statusType - Status type
|
|
2642
|
+
* @param overrides - Optional overrides for the status definition
|
|
2643
|
+
* @returns AXPStatusDefinition
|
|
2644
|
+
*/
|
|
2645
|
+
declare function systemStatusToDefinition(statusType: AXPSystemStatusType, overrides?: Partial<AXPStatusDefinition>): AXPStatusDefinition;
|
|
2646
|
+
|
|
2647
|
+
interface AXPTokenDefinition {
|
|
2648
|
+
name: string;
|
|
2649
|
+
execute: () => Promise<any> | any;
|
|
2650
|
+
}
|
|
2651
|
+
|
|
2652
|
+
type AXPTokenDefinitionProviderToken = AXPTokenDefinitionProvider | Promise<AXPTokenDefinitionProvider>;
|
|
2653
|
+
declare const AXP_TOKEN_DEFINITION_PROVIDER: InjectionToken<AXPTokenDefinitionProviderToken[]>;
|
|
2654
|
+
interface AXPTokenDefinitionProvider<T = any> {
|
|
2655
|
+
name: string;
|
|
2656
|
+
title: string;
|
|
2657
|
+
description?: string;
|
|
2658
|
+
execute(): Promise<T> | T;
|
|
2659
|
+
}
|
|
2660
|
+
|
|
2661
|
+
declare class AXPTokenDefinitionService {
|
|
2662
|
+
private readonly definitionProviders;
|
|
2663
|
+
/** Cache for definitions by name. */
|
|
2664
|
+
private definitionsByName;
|
|
2665
|
+
/**
|
|
2666
|
+
* Returns a token definition by its name.
|
|
2667
|
+
* First checks the cache, then queries all providers if not found.
|
|
2668
|
+
* @param name The token name.
|
|
2669
|
+
* @returns The token definition if found, undefined otherwise.
|
|
2670
|
+
*/
|
|
2671
|
+
getDefinition(name: string): Promise<AXPTokenDefinition | undefined>;
|
|
2672
|
+
/**
|
|
2673
|
+
* Gets the resolved value of a token by its name.
|
|
2674
|
+
* @param name The token name.
|
|
2675
|
+
* @returns The resolved token value, or undefined if the token is not found.
|
|
2676
|
+
*/
|
|
2677
|
+
getValue(name: string): Promise<any>;
|
|
2678
|
+
/** Clears the definitions by name cache. */
|
|
2679
|
+
clearDefinitionsCache(): void;
|
|
2680
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPTokenDefinitionService, never>;
|
|
2681
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXPTokenDefinitionService>;
|
|
2682
|
+
}
|
|
2683
|
+
|
|
2684
|
+
declare class AXPTokenEvaluatorScopeProvider implements AXPExpressionEvaluatorScopeProvider {
|
|
2685
|
+
protected tokenService: AXPTokenDefinitionService;
|
|
2686
|
+
provide(context: AXPExpressionEvaluatorScopeProviderContext): Promise<void>;
|
|
2687
|
+
}
|
|
2688
|
+
|
|
2689
|
+
declare class AXPClipBoardService {
|
|
2690
|
+
private toast;
|
|
2691
|
+
copy(title: string, value: string): void;
|
|
2692
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPClipBoardService, never>;
|
|
2693
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXPClipBoardService>;
|
|
2694
|
+
}
|
|
2695
|
+
|
|
2696
|
+
/**
|
|
2697
|
+
* Service for debugging user access information.
|
|
2698
|
+
* Displays loaded modules, features, and permissions for the current user.
|
|
2699
|
+
*/
|
|
2700
|
+
declare class AXPDebugService {
|
|
2701
|
+
private readonly sessionService;
|
|
2702
|
+
private readonly manifestRegistry;
|
|
2703
|
+
/**
|
|
2704
|
+
* Display all loaded modules, features, and permissions for the current user.
|
|
2705
|
+
*/
|
|
2706
|
+
displayUserAccessInfo(): Promise<void>;
|
|
2707
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPDebugService, never>;
|
|
2708
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXPDebugService>;
|
|
2709
|
+
}
|
|
2710
|
+
|
|
2711
|
+
declare class AXPExportService {
|
|
2712
|
+
popupService: AXPopupService;
|
|
2713
|
+
generateBlobFromElement(element: HTMLElement, blobOptions?: AXPDomToImageOptions): Promise<Blob>;
|
|
2714
|
+
download(blob: Blob, filename: string): void;
|
|
2715
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPExportService, never>;
|
|
2716
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXPExportService>;
|
|
2717
|
+
}
|
|
2718
|
+
interface AXPDomToImageOptions {
|
|
2719
|
+
popup?: true;
|
|
2720
|
+
filter?: (node: Node) => boolean;
|
|
2721
|
+
bgcolor?: string;
|
|
2722
|
+
width?: number;
|
|
2723
|
+
height?: number;
|
|
2724
|
+
style?: {};
|
|
2725
|
+
quality?: number;
|
|
2726
|
+
imagePlaceholder?: string;
|
|
2727
|
+
cacheBust?: boolean;
|
|
2728
|
+
scale?: number;
|
|
2729
|
+
}
|
|
2730
|
+
|
|
2731
|
+
declare function AXPCleanNestedFilters(filters: AXDataSourceFilterOption[]): AXDataSourceFilterOption[];
|
|
2732
|
+
|
|
2733
|
+
interface AXPLocaleProfile extends AXLocaleProfile {
|
|
2734
|
+
code: string;
|
|
2735
|
+
title: string;
|
|
2736
|
+
nativeTitle: string;
|
|
2737
|
+
}
|
|
2738
|
+
interface AXPLanguage {
|
|
2739
|
+
code: string;
|
|
2740
|
+
title: string;
|
|
2741
|
+
}
|
|
2742
|
+
interface AXPGeoLocation {
|
|
2743
|
+
id: string;
|
|
2744
|
+
code: string;
|
|
2745
|
+
title: string;
|
|
2746
|
+
timezone?: string;
|
|
2747
|
+
}
|
|
2748
|
+
interface AXPTimeZone {
|
|
2749
|
+
code: string;
|
|
2750
|
+
title: string;
|
|
2751
|
+
offset: number;
|
|
2752
|
+
iana: string;
|
|
2753
|
+
abbr: string;
|
|
2754
|
+
}
|
|
2755
|
+
interface AXPCurrency {
|
|
2756
|
+
code: string;
|
|
2757
|
+
title: string;
|
|
2758
|
+
symbol: string;
|
|
2759
|
+
format: string;
|
|
2760
|
+
}
|
|
2761
|
+
|
|
2762
|
+
/**
|
|
2763
|
+
* Narrow API for reading app locale profiles and active languages.
|
|
2764
|
+
* Implemented by locale-management; consumed by platform layout without importing the module (avoids circular deps).
|
|
2765
|
+
*/
|
|
2766
|
+
interface AXPLocaleManagementPort {
|
|
2767
|
+
getLocaleProfiles(): Promise<AXPLocaleProfile[]>;
|
|
2768
|
+
getLanguages(): Promise<AXPLanguage[]>;
|
|
2769
|
+
}
|
|
2770
|
+
declare const AXP_LOCALE_MANAGEMENT_PORT: InjectionToken<AXPLocaleManagementPort>;
|
|
2771
|
+
|
|
2772
|
+
interface AXPVersionStream {
|
|
2773
|
+
id: string;
|
|
2774
|
+
entityType: string;
|
|
2775
|
+
entityId: string;
|
|
2776
|
+
createdAt: string;
|
|
2777
|
+
}
|
|
2778
|
+
declare enum AXVChangeType {
|
|
2779
|
+
Create = "Create",
|
|
2780
|
+
Update = "Update",
|
|
2781
|
+
Delete = "Delete"
|
|
2782
|
+
}
|
|
2783
|
+
type CanonicalChangeOp = 'add' | 'remove' | 'replace' | 'rename' | 'metadata';
|
|
2784
|
+
interface CanonicalChange {
|
|
2785
|
+
path: string;
|
|
2786
|
+
op: CanonicalChangeOp;
|
|
2787
|
+
oldValue?: unknown;
|
|
2788
|
+
newValue?: unknown;
|
|
2789
|
+
meta?: Record<string, unknown>;
|
|
2790
|
+
}
|
|
2791
|
+
interface AXPVersionEntry {
|
|
2792
|
+
id: string;
|
|
2793
|
+
streamId: string;
|
|
2794
|
+
versionNumber: number;
|
|
2795
|
+
changeType: AXVChangeType;
|
|
2796
|
+
changedBy: string;
|
|
2797
|
+
changedAt: string;
|
|
2798
|
+
snapshotJson: unknown;
|
|
2799
|
+
patchFromPrevJson: CanonicalChange[];
|
|
2800
|
+
summary?: string;
|
|
2801
|
+
metadataJson?: unknown;
|
|
2802
|
+
}
|
|
2803
|
+
interface AXPVersionChange {
|
|
2804
|
+
id?: number;
|
|
2805
|
+
versionEntryId: string;
|
|
2806
|
+
path: string;
|
|
2807
|
+
op: CanonicalChangeOp;
|
|
2808
|
+
oldValue?: unknown;
|
|
2809
|
+
newValue?: unknown;
|
|
2810
|
+
}
|
|
2811
|
+
interface VersionedFileInfo {
|
|
2812
|
+
id: string;
|
|
2813
|
+
name: string;
|
|
2814
|
+
size: number;
|
|
2815
|
+
mime: string;
|
|
2816
|
+
hash: string;
|
|
2817
|
+
url?: string;
|
|
2818
|
+
thumbUrl?: string;
|
|
2819
|
+
}
|
|
2820
|
+
declare abstract class AXPVersioningService {
|
|
2821
|
+
abstract getStreamIdIfExists(entityType: string, entityId: string): Promise<string | null>;
|
|
2822
|
+
abstract listEntries(streamId: string, options?: {
|
|
2823
|
+
limit?: number;
|
|
2824
|
+
offset?: number;
|
|
2825
|
+
}): Promise<AXPVersionEntry[]>;
|
|
2826
|
+
abstract getUiFriendlyDiff(streamId: string, v1: number, v2: number): Promise<Array<{
|
|
2827
|
+
badge: string;
|
|
2828
|
+
path: string;
|
|
2829
|
+
summary: string;
|
|
2830
|
+
oldValue?: unknown;
|
|
2831
|
+
newValue?: unknown;
|
|
2832
|
+
}>>;
|
|
2833
|
+
}
|
|
2834
|
+
|
|
2835
|
+
declare const AXPRedirectEvent: {
|
|
2836
|
+
(payload: {
|
|
2837
|
+
url: string;
|
|
2838
|
+
}): {
|
|
2839
|
+
type: string;
|
|
2840
|
+
payload: {
|
|
2841
|
+
url: string;
|
|
2842
|
+
};
|
|
2843
|
+
};
|
|
2844
|
+
type: string;
|
|
2845
|
+
};
|
|
2846
|
+
declare const AXPRefreshEvent: {
|
|
2847
|
+
(payload: {
|
|
2848
|
+
entity: string;
|
|
2849
|
+
meta?: any;
|
|
2850
|
+
}): {
|
|
2851
|
+
type: string;
|
|
2852
|
+
payload: {
|
|
2853
|
+
entity: string;
|
|
2854
|
+
meta?: any;
|
|
2855
|
+
};
|
|
2856
|
+
};
|
|
2857
|
+
type: string;
|
|
2858
|
+
};
|
|
2859
|
+
declare const AXPReloadEvent: {
|
|
2860
|
+
(payload: {
|
|
2861
|
+
entity: string;
|
|
2862
|
+
meta?: any;
|
|
2863
|
+
}): {
|
|
2864
|
+
type: string;
|
|
2865
|
+
payload: {
|
|
2866
|
+
entity: string;
|
|
2867
|
+
meta?: any;
|
|
2868
|
+
};
|
|
2869
|
+
};
|
|
2870
|
+
type: string;
|
|
2871
|
+
};
|
|
2872
|
+
declare class AXPWorkflowNavigateAction extends AXPWorkflowAction {
|
|
2873
|
+
private router;
|
|
2874
|
+
execute(context: AXPWorkflowContext): Promise<void>;
|
|
2875
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPWorkflowNavigateAction, never>;
|
|
2876
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXPWorkflowNavigateAction>;
|
|
2877
|
+
}
|
|
2878
|
+
declare class AXPDialogConfirmAction extends AXPWorkflowAction {
|
|
2879
|
+
private dialogService;
|
|
2880
|
+
private translationService;
|
|
2881
|
+
title: string;
|
|
2882
|
+
message: string;
|
|
2883
|
+
type: AXStyleColorType;
|
|
2884
|
+
defaultAction: string;
|
|
2885
|
+
execute(context: AXPWorkflowContext): Promise<void>;
|
|
2886
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPDialogConfirmAction, never>;
|
|
2887
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXPDialogConfirmAction>;
|
|
2888
|
+
}
|
|
2889
|
+
declare class AXPToastAction extends AXPWorkflowAction {
|
|
2890
|
+
private toastService;
|
|
2891
|
+
private translationService;
|
|
2892
|
+
private settingsService;
|
|
2893
|
+
color: AXStyleColorType;
|
|
2894
|
+
title: string;
|
|
2895
|
+
content: string;
|
|
2896
|
+
execute(context: AXPWorkflowContext): Promise<void>;
|
|
2897
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPToastAction, never>;
|
|
2898
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXPToastAction>;
|
|
2899
|
+
}
|
|
2900
|
+
declare class AXPReloadAction extends AXPWorkflowAction {
|
|
2901
|
+
execute(context: AXPWorkflowContext): Promise<void>;
|
|
2902
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPReloadAction, never>;
|
|
2903
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXPReloadAction>;
|
|
2904
|
+
}
|
|
2905
|
+
|
|
2906
|
+
declare class AXPWorkflowRouterNavigateAction extends AXPWorkflowAction {
|
|
2907
|
+
private router;
|
|
2908
|
+
execute(context: AXPWorkflowContext): Promise<void>;
|
|
2909
|
+
/**
|
|
2910
|
+
* Parses query parameters from a query string into an object.
|
|
2911
|
+
*/
|
|
2912
|
+
private parseQueryParams;
|
|
2913
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPWorkflowRouterNavigateAction, never>;
|
|
2914
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXPWorkflowRouterNavigateAction>;
|
|
2915
|
+
}
|
|
2916
|
+
declare const AXPNavigateWorkflow: AXPWorkflow;
|
|
2917
|
+
|
|
2918
|
+
declare class AXMWorkflowErrorHandler implements AXPErrorHandler {
|
|
2919
|
+
private dialog;
|
|
2920
|
+
handleError(error: any, next: (error: any) => void): void;
|
|
2921
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXMWorkflowErrorHandler, never>;
|
|
2922
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXMWorkflowErrorHandler>;
|
|
2923
|
+
}
|
|
2924
|
+
|
|
2925
|
+
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, configPlatform, createAllQueryView, createEntityCommandOptions, createEntitySearchCommand, createMenuContext, createMenuMiddleware, createQueryView, getEntityInfo, getStatusInfo, getSystemStatus, provideDynamicHomePage, provideMenuMiddleware, resolveStatusLook, shouldApplyDefaultMultiLanguageToEntityProperty, shouldApplyDefaultMultiLanguageToWidgetNode, shouldApplyDefaultMultiLanguageToWidgetProperty, systemStatusToDefinition, withDefaultMultiLanguageOnWidgetNodeTree, withDefaultMultiLanguageOnWidgetProperty };
|
|
2926
|
+
export type { AXCFileUploaderAction, AXCFileUploaderActionsPayload, AXCFileUploaderCapabilities, AXEntityPropertyWidget, AXPAggregate, AXPAppVersion, AXPAppVersionProvider, AXPApplication, AXPCategoryEntity, 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, AXPSettingDefaultValuesProvider, AXPSettingDefinition, AXPSettingDefinitionGroup, AXPSettingDefinitionProvider, AXPSettingDefinitionSection, AXPSettingValue, AXPSettingValueProvider, AXPSettingsServiceInterface, AXPStatusDefinition, AXPStatusTransition, AXPTimeZone, AXPTokenDefinition, AXPTokenDefinitionProvider, AXPTokenDefinitionProviderToken, AXPUnLockRequest, AXPVersionChange, AXPVersionEntry, AXPVersionStream, CanonicalChange, CanonicalChangeOp, VersionedFileInfo };
|