@acorex/platform 21.0.0-next.85 → 21.0.0-next.89
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/acorex-platform-auth.mjs +9 -3
- package/fesm2022/acorex-platform-auth.mjs.map +1 -1
- package/fesm2022/{acorex-platform-common-common-settings.provider-Ytey9uhY.mjs → acorex-platform-common-common-settings.provider-DilV4dql.mjs} +16 -3
- package/fesm2022/acorex-platform-common-common-settings.provider-DilV4dql.mjs.map +1 -0
- package/fesm2022/acorex-platform-common.mjs +3426 -2488
- package/fesm2022/acorex-platform-common.mjs.map +1 -1
- package/fesm2022/acorex-platform-contracts.mjs +1160 -9
- package/fesm2022/acorex-platform-contracts.mjs.map +1 -1
- package/fesm2022/acorex-platform-core.mjs +826 -152
- package/fesm2022/acorex-platform-core.mjs.map +1 -1
- package/fesm2022/acorex-platform-domain-contracts.mjs +58 -0
- package/fesm2022/acorex-platform-domain-contracts.mjs.map +1 -0
- package/fesm2022/acorex-platform-domain.mjs +2 -50
- package/fesm2022/acorex-platform-domain.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-builder.mjs +98 -189
- package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
- package/fesm2022/{acorex-platform-layout-components-binding-expression-editor-popup.component-CXEdvDTf.mjs → acorex-platform-layout-components-binding-expression-editor-popup.component-RttFwaw9.mjs} +17 -4
- package/fesm2022/acorex-platform-layout-components-binding-expression-editor-popup.component-RttFwaw9.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-components.mjs +181 -46
- package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-designer.mjs +7 -6
- package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-entity-attachments-page.component-CwG6n_Yb.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-entity-contracts.mjs +1208 -0
- package/fesm2022/acorex-platform-layout-entity-contracts.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-entity-file-list-popup.component--IeMZLIr.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-entity.mjs +1080 -889
- package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-views.mjs +1150 -247
- package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-widget-core.mjs +388 -207
- package/fesm2022/acorex-platform-layout-widget-core.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-CFyfix31.mjs +513 -0
- package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-CFyfix31.mjs.map +1 -0
- package/fesm2022/{acorex-platform-layout-widgets-tabular-data-edit-popup.component-DjpZU6gz.mjs → acorex-platform-layout-widgets-tabular-data-edit-popup.component-CZc2zFlg.mjs} +4 -4
- package/fesm2022/acorex-platform-layout-widgets-tabular-data-edit-popup.component-CZc2zFlg.mjs.map +1 -0
- package/fesm2022/{acorex-platform-layout-widgets-tabular-data-view-popup.component-gX-3Kx9I.mjs → acorex-platform-layout-widgets-tabular-data-view-popup.component-XWRUVoL4.mjs} +2 -2
- package/fesm2022/{acorex-platform-layout-widgets-tabular-data-view-popup.component-gX-3Kx9I.mjs.map → acorex-platform-layout-widgets-tabular-data-view-popup.component-XWRUVoL4.mjs.map} +1 -1
- package/fesm2022/acorex-platform-layout-widgets.mjs +1541 -394
- package/fesm2022/acorex-platform-layout-widgets.mjs.map +1 -1
- package/fesm2022/acorex-platform-runtime.mjs.map +1 -1
- package/fesm2022/{acorex-platform-themes-default-entity-master-single-view.component-Br9p5aXT.mjs → acorex-platform-themes-default-entity-master-single-view.component-DrUwqKKA.mjs} +2 -3
- package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-DrUwqKKA.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default.mjs +956 -115
- package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
- package/fesm2022/{acorex-platform-themes-shared-settings.provider-BjuzSe0T.mjs → acorex-platform-themes-shared-settings.provider-UyKdkeyk.mjs} +50 -3
- package/fesm2022/acorex-platform-themes-shared-settings.provider-UyKdkeyk.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-shared.mjs +104 -24
- package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
- package/fesm2022/acorex-platform-workflow.mjs +6 -8
- package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
- package/package.json +9 -5
- package/types/acorex-platform-auth.d.ts +3 -1
- package/types/acorex-platform-common.d.ts +655 -1268
- package/types/acorex-platform-contracts.d.ts +1791 -260
- package/types/acorex-platform-core.d.ts +2302 -2800
- package/types/acorex-platform-domain-contracts.d.ts +416 -0
- package/types/acorex-platform-domain.d.ts +4 -415
- package/types/acorex-platform-layout-builder.d.ts +11 -20
- package/types/acorex-platform-layout-components.d.ts +29 -5
- package/types/acorex-platform-layout-designer.d.ts +2 -1
- package/types/acorex-platform-layout-entity-contracts.d.ts +889 -0
- package/types/acorex-platform-layout-entity.d.ts +143 -275
- package/types/acorex-platform-layout-views.d.ts +147 -31
- package/types/acorex-platform-layout-widget-core.d.ts +74 -14
- package/types/acorex-platform-layout-widgets.d.ts +136 -38
- package/types/acorex-platform-runtime.d.ts +1 -1
- package/types/acorex-platform-themes-default.d.ts +227 -73
- package/types/acorex-platform-themes-shared.d.ts +4 -0
- package/types/acorex-platform-workflow.d.ts +5 -18
- package/fesm2022/acorex-platform-common-common-settings.provider-Ytey9uhY.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-components-binding-expression-editor-popup.component-CXEdvDTf.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-J0zcGKBX.mjs +0 -116
- package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-J0zcGKBX.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-tabular-data-edit-popup.component-DjpZU6gz.mjs.map +0 -1
- package/fesm2022/acorex-platform-native.mjs +0 -155
- package/fesm2022/acorex-platform-native.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-Br9p5aXT.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-settings.provider-BjuzSe0T.mjs.map +0 -1
- package/native/README.md +0 -4
- package/types/acorex-platform-native.d.ts +0 -28
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { InjectionToken, Type, EnvironmentProviders } from '@angular/core';
|
|
3
|
-
import {
|
|
3
|
+
import { AXPInterfaceDefinition, AXPPluginDefinition, AXPValidationRuleDefinition, AXPRelationDefinition, AXPMenuDefinitionRecord, AXPPermissionGroupDefinitionRecord, AXPCommandRegistryRecord, AXPQueryRegistryRecord, AXPWidgetCatalogRecord, AXPDomainAction, AXPAggregateDefinition, AXPModuleDefinition, AXPInterfaceDefinitionValue, AXPPropertyFeatures, AXPPropertyDefinition, AXPEntityPropertyFeatures, AXPEntityPropertyDefinition, AXPEntityType, AXPEntityDefinition, AXPRelationshipCardinality, AXPRelationshipKind } from '@acorex/platform/domain-contracts';
|
|
4
4
|
import * as i1 from '@acorex/platform/runtime';
|
|
5
|
+
import { AXPValidationRules, AXPMetaData, AXPDataType, AXPOptionsData } from '@acorex/platform/contracts';
|
|
5
6
|
|
|
6
7
|
/**
|
|
7
8
|
* Token for entity CRUD setup. Consumed by AXPDomainModule.
|
|
@@ -10,350 +11,6 @@ import * as i1 from '@acorex/platform/runtime';
|
|
|
10
11
|
*/
|
|
11
12
|
declare const AXP_ENTITY_CRUD_SETUP: InjectionToken<void>;
|
|
12
13
|
|
|
13
|
-
declare enum AXPDomainActionSide {
|
|
14
|
-
Client = "client",
|
|
15
|
-
Server = "server",
|
|
16
|
-
Both = "both"
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Interface for defining actions
|
|
20
|
-
*/
|
|
21
|
-
interface AXPDomainAction {
|
|
22
|
-
event: string;
|
|
23
|
-
side: 'client' | 'server' | 'both';
|
|
24
|
-
condition?: AXPExpression;
|
|
25
|
-
expression: AXPExpression;
|
|
26
|
-
}
|
|
27
|
-
declare enum AXPEntityCommandScope {
|
|
28
|
-
TypeLevel = "typeLevel",
|
|
29
|
-
Selected = "selected",
|
|
30
|
-
Individual = "individual",
|
|
31
|
-
Section = "section"
|
|
32
|
-
}
|
|
33
|
-
interface AXPDomainRealtedModuleEntity {
|
|
34
|
-
moduleId?: string;
|
|
35
|
-
module?: {
|
|
36
|
-
id?: string;
|
|
37
|
-
name?: string;
|
|
38
|
-
title?: string;
|
|
39
|
-
};
|
|
40
|
-
entityId?: string;
|
|
41
|
-
entity?: {
|
|
42
|
-
id?: string;
|
|
43
|
-
name?: string;
|
|
44
|
-
title?: string;
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
/**
|
|
49
|
-
* Where the validation rule runs: client-side only, server-side only, or both.
|
|
50
|
-
*/
|
|
51
|
-
type AXPValidationRunAt = 'client' | 'server' | 'both';
|
|
52
|
-
/**
|
|
53
|
-
* Validation rule definition (catalog model): metadata for available validation rules.
|
|
54
|
-
* Used in UI to list validation rules: name (rule key), title, description, and runAt.
|
|
55
|
-
* The actual rule usage on properties uses AXPValidationRule from @acorex/platform/core.
|
|
56
|
-
*/
|
|
57
|
-
interface AXPValidationRuleDefinition extends AXPDomainRealtedModuleEntity {
|
|
58
|
-
rule: string;
|
|
59
|
-
title: string;
|
|
60
|
-
description?: string;
|
|
61
|
-
icon?: string;
|
|
62
|
-
/** Where the validation runs: client-side, server-side, or both. Default: 'client' */
|
|
63
|
-
runAt?: AXPValidationRunAt;
|
|
64
|
-
message?: string;
|
|
65
|
-
options?: AXPPropertyDefinition[];
|
|
66
|
-
}
|
|
67
|
-
interface AXPValidationRuleValue {
|
|
68
|
-
rule: string;
|
|
69
|
-
title?: string;
|
|
70
|
-
message?: string;
|
|
71
|
-
options?: AXPMetaData;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
interface AXPPropertyFeatures {
|
|
75
|
-
searchable?: {
|
|
76
|
-
enabled: boolean;
|
|
77
|
-
fullText: boolean;
|
|
78
|
-
};
|
|
79
|
-
filterable?: {
|
|
80
|
-
enabled: boolean;
|
|
81
|
-
inline: boolean;
|
|
82
|
-
};
|
|
83
|
-
sortable?: {
|
|
84
|
-
enabled: boolean;
|
|
85
|
-
};
|
|
86
|
-
auditable?: {
|
|
87
|
-
enabled: boolean;
|
|
88
|
-
};
|
|
89
|
-
}
|
|
90
|
-
interface AXPPropertyDefinition {
|
|
91
|
-
name: string;
|
|
92
|
-
title: string;
|
|
93
|
-
description?: string;
|
|
94
|
-
icon?: string;
|
|
95
|
-
defaultValue?: unknown;
|
|
96
|
-
disabled?: boolean;
|
|
97
|
-
dataType?: AXPDataType;
|
|
98
|
-
interface: AXPInterfaceDefinitionValue;
|
|
99
|
-
validations?: AXPValidationRuleValue[];
|
|
100
|
-
features?: AXPPropertyFeatures;
|
|
101
|
-
metadata?: AXPMetaData;
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
/** Widget category for interface grouping (e.g. Editors, Layout, Action). */
|
|
105
|
-
interface AXPInterfaceCategory {
|
|
106
|
-
name: string;
|
|
107
|
-
title: string;
|
|
108
|
-
order?: number;
|
|
109
|
-
}
|
|
110
|
-
/** Widget interface definition stored in DB (display metadata + option definitions). Values are stored in schema. */
|
|
111
|
-
interface AXPInterfaceDefinition {
|
|
112
|
-
name: string;
|
|
113
|
-
title?: string;
|
|
114
|
-
description?: string;
|
|
115
|
-
icon?: string;
|
|
116
|
-
dataType?: AXPDataType;
|
|
117
|
-
/** Widget categories (e.g. Editors, Layout). */
|
|
118
|
-
categories?: AXPInterfaceCategory | AXPInterfaceCategory[];
|
|
119
|
-
/** Widget groups (e.g. form-element, entity-widget). */
|
|
120
|
-
groups?: string[];
|
|
121
|
-
/** Widget type: editor, view, filter, container, action, etc. */
|
|
122
|
-
type?: string;
|
|
123
|
-
/** Default filter widget name when used as filter (e.g. string-filter, number-filter). */
|
|
124
|
-
defaultFilterWidgetName?: string;
|
|
125
|
-
optionDefinitions?: AXPPropertyDefinition[];
|
|
126
|
-
}
|
|
127
|
-
interface AXPInterfaceDefinitionValue {
|
|
128
|
-
name: string;
|
|
129
|
-
title: string;
|
|
130
|
-
options?: AXPOptionsData;
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
/**
|
|
134
|
-
* Plugin definition (catalog model): metadata for available plugins.
|
|
135
|
-
* Used in UI to list plugins: name, title, optional icon, description, and options schema.
|
|
136
|
-
*/
|
|
137
|
-
interface AXPPluginDefinition extends AXPDomainRealtedModuleEntity {
|
|
138
|
-
name: string;
|
|
139
|
-
title: string;
|
|
140
|
-
description?: string;
|
|
141
|
-
icon?: string;
|
|
142
|
-
options?: AXPPropertyDefinition[];
|
|
143
|
-
}
|
|
144
|
-
/**
|
|
145
|
-
* Plugin value in entity: name + optional options (key-value).
|
|
146
|
-
* Fills the definition when used on an entity.
|
|
147
|
-
*/
|
|
148
|
-
interface AXPPluginDefinitionValue {
|
|
149
|
-
name: string;
|
|
150
|
-
options?: AXPMetaData;
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
declare enum AXPRelationshipKind {
|
|
154
|
-
Association = 0,
|
|
155
|
-
Composition = 1,
|
|
156
|
-
Aggregation = 2
|
|
157
|
-
}
|
|
158
|
-
declare enum AXPRelationshipCardinality {
|
|
159
|
-
OneToOne = 0,
|
|
160
|
-
OneToMany = 1,
|
|
161
|
-
ManyToMany = 2
|
|
162
|
-
}
|
|
163
|
-
/**
|
|
164
|
-
* Standalone relation definition with full source and target.
|
|
165
|
-
* Relations live in their own collection, independent of aggregates.
|
|
166
|
-
*/
|
|
167
|
-
interface AXPRelationDefinition {
|
|
168
|
-
id?: string;
|
|
169
|
-
type: AXPRelationshipCardinality;
|
|
170
|
-
kind: AXPRelationshipKind;
|
|
171
|
-
source: {
|
|
172
|
-
aggregate: string;
|
|
173
|
-
entity: string;
|
|
174
|
-
key: string;
|
|
175
|
-
};
|
|
176
|
-
target: {
|
|
177
|
-
aggregate: string;
|
|
178
|
-
entity: string;
|
|
179
|
-
key: string;
|
|
180
|
-
};
|
|
181
|
-
isRequired: boolean;
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
/**
|
|
185
|
-
* Discriminated JSON for `AXPMenuDefinitionRecord.command`.
|
|
186
|
-
* Modal navigation is omitted (Angular `Type` is not JSON-serializable).
|
|
187
|
-
*/
|
|
188
|
-
type AXPMenuDefinitionStoredCommand = {
|
|
189
|
-
kind: 'navigate';
|
|
190
|
-
navigateType: 'router';
|
|
191
|
-
path: string;
|
|
192
|
-
extras?: Record<string, unknown>;
|
|
193
|
-
} | {
|
|
194
|
-
kind: 'execute';
|
|
195
|
-
name: string;
|
|
196
|
-
options?: Record<string, unknown>;
|
|
197
|
-
};
|
|
198
|
-
/**
|
|
199
|
-
* Optional reference to an entity list route: resolved at runtime via `AXPEntityService.createPath`.
|
|
200
|
-
*/
|
|
201
|
-
interface AXPMenuDefinitionEntityListRef {
|
|
202
|
-
module: string;
|
|
203
|
-
entity: string;
|
|
204
|
-
}
|
|
205
|
-
/**
|
|
206
|
-
* Serializable menu definition for definition stores (Dexie/Firestore in mock today).
|
|
207
|
-
* Mirrors persisted shape for `AXPEntityDefinitionCrudService` menu APIs — not identical to shell `AXPMenuItem`.
|
|
208
|
-
*/
|
|
209
|
-
interface AXPMenuDefinitionRecord {
|
|
210
|
-
/** Same as `AXPMenuItem.name` (unique key). */
|
|
211
|
-
name: string;
|
|
212
|
-
text: string;
|
|
213
|
-
description?: string;
|
|
214
|
-
icon?: string;
|
|
215
|
-
priority?: number;
|
|
216
|
-
type?: 'menu' | 'group' | 'break';
|
|
217
|
-
/**
|
|
218
|
-
* Parent menu `name` for `context.find(attachParentName).addItems(...)`.
|
|
219
|
-
* Empty omits attachment (provider may add to root — see implementation).
|
|
220
|
-
*/
|
|
221
|
-
attachParentName?: string;
|
|
222
|
-
/** Literal router path; if both this and `entityListRef` are set, implementations may prefer this. */
|
|
223
|
-
path?: string;
|
|
224
|
-
entityListRef?: AXPMenuDefinitionEntityListRef;
|
|
225
|
-
policyFeatures?: string[];
|
|
226
|
-
policyPermissions?: string[];
|
|
227
|
-
badgeKey?: string;
|
|
228
|
-
command?: AXPMenuDefinitionStoredCommand;
|
|
229
|
-
/**
|
|
230
|
-
* Optional module classification (references `PlatformManagement.ModuleDefinitions` when using the category plugin).
|
|
231
|
-
*/
|
|
232
|
-
categoryIds?: string[];
|
|
233
|
-
/** Denormalized labels for list/display (mirrors product category pattern). */
|
|
234
|
-
categories?: Array<{
|
|
235
|
-
id: string;
|
|
236
|
-
title?: string;
|
|
237
|
-
}>;
|
|
238
|
-
meta?: Record<string, unknown>;
|
|
239
|
-
}
|
|
240
|
-
|
|
241
|
-
/**
|
|
242
|
-
* One level of child permissions under a root permission (fluent `addChild` only).
|
|
243
|
-
* Nested `children` under leaves are not part of the storage contract.
|
|
244
|
-
*/
|
|
245
|
-
interface AXPPermissionLeafRecord {
|
|
246
|
-
name: string;
|
|
247
|
-
title: string;
|
|
248
|
-
description?: string;
|
|
249
|
-
requiredFeatures?: string[];
|
|
250
|
-
}
|
|
251
|
-
/**
|
|
252
|
-
* Root permission row: one `addPermission` … `endPermission` chain, with optional sibling `addChild` entries.
|
|
253
|
-
*/
|
|
254
|
-
interface AXPPermissionDefinitionRecord {
|
|
255
|
-
name: string;
|
|
256
|
-
title: string;
|
|
257
|
-
description?: string;
|
|
258
|
-
requiredFeatures?: string[];
|
|
259
|
-
/** At most one level — matches `AXPPermissionDefinitionProviderContext` fluent API. */
|
|
260
|
-
children?: AXPPermissionLeafRecord[];
|
|
261
|
-
}
|
|
262
|
-
/**
|
|
263
|
-
* Serializable permission group for definition stores (Dexie/Firestore).
|
|
264
|
-
* Aligns with `AXPPermissionGroupDefinition` / fluent providers; one row per group.
|
|
265
|
-
*/
|
|
266
|
-
interface AXPPermissionGroupDefinitionRecord {
|
|
267
|
-
name: string;
|
|
268
|
-
title: string;
|
|
269
|
-
description?: string;
|
|
270
|
-
permissions: AXPPermissionDefinitionRecord[];
|
|
271
|
-
/**
|
|
272
|
-
* Optional module classification (references `PlatformManagement.ModuleDefinitions` when using the category plugin).
|
|
273
|
-
*/
|
|
274
|
-
categoryIds?: string[];
|
|
275
|
-
/** Denormalized labels for list/display (mirrors product category pattern). */
|
|
276
|
-
categories?: Array<{
|
|
277
|
-
id: string;
|
|
278
|
-
title?: string;
|
|
279
|
-
}>;
|
|
280
|
-
}
|
|
281
|
-
|
|
282
|
-
/** Surfaces where a command may be exposed (tooling / automation). Build-time: optional on `defineCommand`. */
|
|
283
|
-
type AXPCommandCapability = 'ai' | 'workflow';
|
|
284
|
-
/**
|
|
285
|
-
* Persisted command registry row (e.g. Dexie/Firestore via AXPEntityDefinitionCrudService).
|
|
286
|
-
* `name` is the runtime command key; `active` is the toggle stored for mock/admin UIs.
|
|
287
|
-
*/
|
|
288
|
-
interface AXPCommandRegistryRecord {
|
|
289
|
-
name: string;
|
|
290
|
-
active: boolean;
|
|
291
|
-
/** Human / AI-oriented description of what the command does. */
|
|
292
|
-
description?: string;
|
|
293
|
-
/** Input parameters as schema rows (same shape as interface `optionDefinitions`). */
|
|
294
|
-
inputOptionDefinitions?: AXPPropertyDefinition[];
|
|
295
|
-
/** Output shape as schema rows (same shape as interface `optionDefinitions`). */
|
|
296
|
-
outputOptionDefinitions?: AXPPropertyDefinition[];
|
|
297
|
-
/** Display title from build-time command metadata (`*.definition.ts`). */
|
|
298
|
-
catalogTitle?: string;
|
|
299
|
-
/** Where the command runs (metadata). */
|
|
300
|
-
executionMode?: 'frontend' | 'backend' | 'both';
|
|
301
|
-
/** Pretty-printed JSON of the outcomes definition from metadata (readonly display). */
|
|
302
|
-
outcomesDefinitionJson?: string;
|
|
303
|
-
/** Pretty-printed JSON of AI hints from metadata (readonly display). */
|
|
304
|
-
aiMetadataJson?: string;
|
|
305
|
-
/**
|
|
306
|
-
* Optional capability flags (from build-time `capabilities` on command metadata).
|
|
307
|
-
* Omitted or empty means no declared surface; consumers may still apply legacy rules (e.g. AI `ai-tool` tag).
|
|
308
|
-
*/
|
|
309
|
-
capabilities?: AXPCommandCapability[];
|
|
310
|
-
/** Optional grouping from build-time command metadata (`categories` on `defineCommand`). */
|
|
311
|
-
categories?: AXPDefinitionCategory[];
|
|
312
|
-
}
|
|
313
|
-
|
|
314
|
-
/**
|
|
315
|
-
* Persisted query registry row (e.g. Dexie/Firestore via AXPEntityDefinitionCrudService).
|
|
316
|
-
* `name` is the runtime query key; `active` is the toggle stored for mock/admin UIs.
|
|
317
|
-
* Queries expose `fetch(input)` only — no command outcomes.
|
|
318
|
-
*/
|
|
319
|
-
interface AXPQueryRegistryRecord {
|
|
320
|
-
name: string;
|
|
321
|
-
active: boolean;
|
|
322
|
-
/** Human / AI-oriented description of what the query returns. */
|
|
323
|
-
description?: string;
|
|
324
|
-
/** Input parameters (filter / criteria) as property definition rows. */
|
|
325
|
-
inputOptionDefinitions?: AXPPropertyDefinition[];
|
|
326
|
-
/** Result shape as property definition rows (documentation / tooling). */
|
|
327
|
-
outputOptionDefinitions?: AXPPropertyDefinition[];
|
|
328
|
-
/** Display title from build-time query metadata (`*.query.definition.ts`). */
|
|
329
|
-
catalogTitle?: string;
|
|
330
|
-
/** Where the query runs (metadata). */
|
|
331
|
-
executionMode?: 'frontend' | 'backend' | 'both';
|
|
332
|
-
/** Pretty-printed JSON of AI hints from metadata (readonly display). */
|
|
333
|
-
aiMetadataJson?: string;
|
|
334
|
-
/**
|
|
335
|
-
* Optional capability flags (from build-time `capabilities` on query metadata).
|
|
336
|
-
* Omitted or empty means no declared surface; consumers may still apply legacy rules (e.g. AI `ai-tool` tag).
|
|
337
|
-
*/
|
|
338
|
-
capabilities?: AXPCommandCapability[];
|
|
339
|
-
/** Optional grouping from build-time query metadata (`categories` on `defineQuery`). */
|
|
340
|
-
categories?: AXPDefinitionCategory[];
|
|
341
|
-
}
|
|
342
|
-
|
|
343
|
-
/**
|
|
344
|
-
* Persisted layout-widget catalog row (Dexie/Firestore via AXPEntityDefinitionCrudService).
|
|
345
|
-
* `name` is the widget registry name from build-time `defineWidget` metadata; `metadataJson` holds the full payload.
|
|
346
|
-
*/
|
|
347
|
-
interface AXPWidgetCatalogRecord {
|
|
348
|
-
name: string;
|
|
349
|
-
active: boolean;
|
|
350
|
-
description?: string;
|
|
351
|
-
/** Localized / catalog title from metadata `title`. */
|
|
352
|
-
catalogTitle?: string;
|
|
353
|
-
/** Pretty-printed JSON of full widget metadata (`defineWidget` sidecar). */
|
|
354
|
-
metadataJson?: string;
|
|
355
|
-
}
|
|
356
|
-
|
|
357
14
|
/**
|
|
358
15
|
* Service interface for CRUD operations on entity and related definition records stored in Dexie/Firestore.
|
|
359
16
|
* Provided by connectivity mock when using Dexie or Firestore as entity definition source.
|
|
@@ -489,74 +146,6 @@ declare class AXPDomainModule {
|
|
|
489
146
|
static ɵinj: i0.ɵɵInjectorDeclaration<AXPDomainModule>;
|
|
490
147
|
}
|
|
491
148
|
|
|
492
|
-
declare enum AXPEntityType {
|
|
493
|
-
Entity = 0,
|
|
494
|
-
AggregateRoot = 1,
|
|
495
|
-
ValueObject = 2
|
|
496
|
-
}
|
|
497
|
-
interface AXPEntityDefinition {
|
|
498
|
-
name: string;
|
|
499
|
-
title: string;
|
|
500
|
-
fields: AXPEntityPropertyDefinition[];
|
|
501
|
-
type: AXPEntityType;
|
|
502
|
-
/** Entity plugins (e.g. common.history, common.lock). Name + optional options only. */
|
|
503
|
-
plugins?: AXPPluginDefinitionValue[];
|
|
504
|
-
/** Property groups for layout */
|
|
505
|
-
groups?: Array<{
|
|
506
|
-
id: string;
|
|
507
|
-
title: string;
|
|
508
|
-
}>;
|
|
509
|
-
/** List/table columns */
|
|
510
|
-
columns?: Array<{
|
|
511
|
-
name: string;
|
|
512
|
-
}>;
|
|
513
|
-
/** Display formats */
|
|
514
|
-
formats?: {
|
|
515
|
-
individual?: string;
|
|
516
|
-
plural?: string;
|
|
517
|
-
};
|
|
518
|
-
/** Layout interfaces (master create/update/single/list). Pass-through for converter. */
|
|
519
|
-
interfaces?: Record<string, unknown>;
|
|
520
|
-
/** Module name (e.g. ContentManagement). Derived from path or explicit. */
|
|
521
|
-
module?: string;
|
|
522
|
-
/** Entity icon. */
|
|
523
|
-
icon?: string;
|
|
524
|
-
}
|
|
525
|
-
interface AXPEntityPropertyFeatures {
|
|
526
|
-
nullable: boolean;
|
|
527
|
-
readOnly: boolean;
|
|
528
|
-
}
|
|
529
|
-
/**
|
|
530
|
-
* Entity field: flattened embedded property definition (interface, validations, features) plus entity-only metadata.
|
|
531
|
-
* Top-level name/title are the entity property name/title.
|
|
532
|
-
*/
|
|
533
|
-
interface AXPEntityPropertyDefinition extends AXPPropertyDefinition {
|
|
534
|
-
actions?: AXPDomainAction[];
|
|
535
|
-
/** Nullable/readOnly for entity binding; distinct from property.features (searchable, filterable, etc.). */
|
|
536
|
-
fieldFeatures?: AXPEntityPropertyFeatures;
|
|
537
|
-
}
|
|
538
|
-
|
|
539
|
-
type AXPAggregateEntityList = {
|
|
540
|
-
[key: string]: () => Promise<AXPEntityDefinition>;
|
|
541
|
-
};
|
|
542
|
-
/**
|
|
543
|
-
* Aggregate definition. Relations are stored in a separate collection (like MySQL join table).
|
|
544
|
-
* Join when needed via relations collection.
|
|
545
|
-
*/
|
|
546
|
-
interface AXPAggregateDefinition {
|
|
547
|
-
name: string;
|
|
548
|
-
title: string;
|
|
549
|
-
entities: AXPEntityDefinition[] | AXPAggregateEntityList | Record<string, string>;
|
|
550
|
-
validations: AXPValidationRules;
|
|
551
|
-
actions: AXPDomainAction[];
|
|
552
|
-
}
|
|
553
|
-
|
|
554
|
-
interface AXPModuleDefinition {
|
|
555
|
-
name: string;
|
|
556
|
-
title: string;
|
|
557
|
-
aggregates: AXPAggregateDefinition[];
|
|
558
|
-
}
|
|
559
|
-
|
|
560
149
|
/**
|
|
561
150
|
* Simple runtime model for aggregate definitions with parent references and navigation helpers.
|
|
562
151
|
* Relations are stored in a separate collection; join when needed.
|
|
@@ -2375,5 +1964,5 @@ declare function provideDomainMiddleware(config: {
|
|
|
2375
1964
|
entities?: AXPDomainMiddleware[];
|
|
2376
1965
|
}): EnvironmentProviders;
|
|
2377
1966
|
|
|
2378
|
-
export { AXPAggregateModel,
|
|
2379
|
-
export type {
|
|
1967
|
+
export { AXPAggregateModel, AXPDomainMiddlewareContext, AXPDomainModule, AXPDomainRegistry, AXPDomainService, AXPEntityFieldModel, AXPEntityModel, AXPModuleHelper, AXPModuleModel, AXPPropertyMiddlewareContext, AXPPropertyModel, AXPPropertyRegistry, AXPPropertyService, AXPRelationModel, AXP_AGGREGATE_MIDDLEWARE_SETUP, AXP_ENTITY_CRUD_SETUP, AXP_ENTITY_DEFINITION_CRUD_SERVICE, AXP_ENTITY_MIDDLEWARE_SETUP, AXP_MODULE_MIDDLEWARE_SETUP, AXP_PROPERTY_EXTENSION, AXP_PROPERTY_LOADER_SETUP, AXP_PROPERTY_MIDDLEWARE_SETUP, AXP_PROPERTY_SETUP, provideAggregateMiddleware, provideDomainLoader, provideDomainLoaders, provideDomainMiddleware, provideEntityMiddleware, provideModuleMiddleware, providePropertiesFromFactory, provideProperty, providePropertyLoaders, providePropertyMiddleware, providePropertySetups, toPropertyDefinition };
|
|
1968
|
+
export type { AXPDomainDefinition, AXPDomainLoader, AXPDomainLoaderConfig, AXPDomainMiddleware, AXPDomainPathInfo, AXPEntityDefinitionCrudService, AXPPropertyEntry, AXPPropertyLoader, AXPPropertyLoaderConfig, AXPPropertyMiddleware, AXPPropertyMiddlewareEntry, AXPPropertyRegistrationOptions, AXPRegisteredProperty };
|
|
@@ -7,22 +7,12 @@ import { AXPWidgetNode, AXPWidgetRenderMode, AXPWidgetContainerComponent, AXPWid
|
|
|
7
7
|
import { AXDataSource, AXComponentClosing } from '@acorex/cdk/common';
|
|
8
8
|
import { AXPopupSizeType } from '@acorex/components/popup';
|
|
9
9
|
import { AXStepWizardLook } from '@acorex/components/step-wizard';
|
|
10
|
-
import {
|
|
10
|
+
import { AXPMultiLanguageString, AXPMetaData, AXPGridLayoutOptions, AXPExpression, AXPValidationRules, AXPOptionsData, AXPExecuteCommandResult } from '@acorex/platform/contracts';
|
|
11
|
+
import { AXPActionMenuItem, AXPDialogActionOptions, AXPContextChangeEvent } from '@acorex/platform/core';
|
|
12
|
+
export { AXPDialogActionOptions, AXPDialogActionShortcut, DEFAULT_CANCEL_DIALOG_ACTION_SHORTCUTS, DEFAULT_SUBMIT_DIALOG_ACTION_SHORTCUTS } from '@acorex/platform/core';
|
|
11
13
|
import { AXBasePageComponent } from '@acorex/components/page';
|
|
12
14
|
import { AXPCommand } from '@acorex/platform/runtime';
|
|
13
15
|
|
|
14
|
-
/** Resolved chord string used by dialog footer shortcut matching. */
|
|
15
|
-
type AXPDialogActionShortcut = AXPKeyboardShortcutChord;
|
|
16
|
-
declare const DEFAULT_CANCEL_DIALOG_ACTION_SHORTCUTS: readonly AXPDialogActionShortcut[];
|
|
17
|
-
declare const DEFAULT_SUBMIT_DIALOG_ACTION_SHORTCUTS: readonly AXPDialogActionShortcut[];
|
|
18
|
-
interface AXPDialogActionOptions {
|
|
19
|
-
/**
|
|
20
|
-
* Additional keyboard shortcuts for this action (e.g. `'ctrl+s'` or `{ keys: 'ctrl+s' }`).
|
|
21
|
-
* Merged with built-in defaults for `cancel` / `submit`. Pass `[]` to disable all shortcuts.
|
|
22
|
-
*/
|
|
23
|
-
shortcuts?: AXPKeyboardShortcut[];
|
|
24
|
-
}
|
|
25
|
-
|
|
26
16
|
/**
|
|
27
17
|
* Extended widget node properties (excluding type, path, name, options, children)
|
|
28
18
|
* These properties can be passed as a third parameter to customWidget method
|
|
@@ -740,7 +730,7 @@ declare class AXPLayoutRendererComponent implements OnInit {
|
|
|
740
730
|
* Prefer explicit {@link AXPWidgetNode.mode} on the root node (e.g. dialog flex `mode('view')`)
|
|
741
731
|
* so nested widgets resolve view vs edit correctly; fall back to the layout `mode` input.
|
|
742
732
|
*/
|
|
743
|
-
protected effectiveRenderMode: _angular_core.Signal<"
|
|
733
|
+
protected effectiveRenderMode: _angular_core.Signal<"view" | "edit" | "column" | "designer" | "print" | "filter">;
|
|
744
734
|
/**
|
|
745
735
|
* Convert layout data to widget tree when inputs change
|
|
746
736
|
*/
|
|
@@ -948,6 +938,7 @@ declare class AXPDialogRendererComponent extends AXBasePageComponent implements
|
|
|
948
938
|
private readonly translationService;
|
|
949
939
|
private readonly document;
|
|
950
940
|
private readonly host;
|
|
941
|
+
private readonly shortcutRegistry;
|
|
951
942
|
private dialogResult?;
|
|
952
943
|
/** Ensures `show()` resolves once when the dialog closes (footer action or header close). */
|
|
953
944
|
private callbackInvoked;
|
|
@@ -968,11 +959,11 @@ declare class AXPDialogRendererComponent extends AXBasePageComponent implements
|
|
|
968
959
|
* Correlate layout context snapshots for distributed hooks (`layout-builder.dialog.context-changed`).
|
|
969
960
|
*/
|
|
970
961
|
private readonly contextChangedHooksSessionKey;
|
|
971
|
-
/**
|
|
972
|
-
* Capture-phase footer shortcuts — runs before widget editors (select, date, text) that stop keydown bubbling.
|
|
973
|
-
*/
|
|
974
|
-
private readonly onDialogShortcutCapture;
|
|
975
962
|
ngOnInit(): void;
|
|
963
|
+
private refreshDialogKeyboardShortcuts;
|
|
964
|
+
private isDialogShortcutRegistrationActive;
|
|
965
|
+
private buildDialogFooterShortcutBindings;
|
|
966
|
+
private isDialogFooterShortcutActive;
|
|
976
967
|
/**
|
|
977
968
|
* Popup shell hook — handles header **X** and **Esc** (when `closeButton` is enabled).
|
|
978
969
|
* This is the only place that prompts for unsaved changes.
|
|
@@ -1063,5 +1054,5 @@ declare class AXPPreviewWidgetFieldCommand implements AXPCommand<AXPPreviewWidge
|
|
|
1063
1054
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPPreviewWidgetFieldCommand>;
|
|
1064
1055
|
}
|
|
1065
1056
|
|
|
1066
|
-
export { AXPDialogRendererComponent, AXPLayoutBuilderService, AXPLayoutConversionService, AXPLayoutRendererComponent, AXPPreviewWidgetFieldCommand, AXP_LAYOUT_BUILDER_DIALOG_BEFORE_OPEN_HOOK_KEY, AXP_LAYOUT_BUILDER_DIALOG_CONFIG_HOOK_KEY, AXP_LAYOUT_BUILDER_DIALOG_CONTEXT_CHANGED_HOOK_KEY,
|
|
1067
|
-
export type { AXPDialogActionMenuItem,
|
|
1057
|
+
export { AXPDialogRendererComponent, AXPLayoutBuilderService, AXPLayoutConversionService, AXPLayoutRendererComponent, AXPPreviewWidgetFieldCommand, AXP_LAYOUT_BUILDER_DIALOG_BEFORE_OPEN_HOOK_KEY, AXP_LAYOUT_BUILDER_DIALOG_CONFIG_HOOK_KEY, AXP_LAYOUT_BUILDER_DIALOG_CONTEXT_CHANGED_HOOK_KEY, LayoutBuilderModule, createDismissedDialogRef };
|
|
1058
|
+
export type { AXPDialogActionMenuItem, AXPDialogCloseConfirmationOptions, AXPDialogContainerOptions, AXPDialogRef, AXPDynamicFormDefinition, AXPDynamicFormDirection, AXPDynamicFormFieldDefinition, AXPDynamicFormGroupDefinition, AXPDynamicFormLook, AXPDynamicFormMode, AXPFieldsetContainerOptions, AXPFlexContainerOptions, AXPFormFieldHintDisplayMode, AXPFormFieldOptions, AXPGridContainerOptions, AXPLayoutBuilderDialogBeforeOpenPayload, AXPLayoutBuilderDialogConfig, AXPLayoutBuilderDialogContextChangedPayload, AXPListWidgetColumn, AXPListWidgetOptions, AXPListWidgetRowCommand, AXPPageContainerOptions, AXPPanelContainerOptions, AXPPreviewWidgetFieldCommandInput, AXPStepDefinition, AXPStepWizardContainerOptions, AXPStepWizardDefinition, AXPStepWizardGuardPayload, AXPStepWizardStatus, AXPTabsetContainerOptions, AXPWidgetConfiguration, AXPWidgetNodeExtendedProperties, AXPWizardActionDefinition, AXPWizardActions, ColorBoxOptions, DateTimeBoxOptions, DialogBuilderState, DialogRendererConfig, DialogRendererResult, FormFieldBuilderState, IActionBuilder, IBaseContainerBuilder, IChildContainerBuilder, IDialogBuilder, IFieldsetContainerBuilder, IFlexContainerBuilder, IFormFieldBuilder, IGridContainerBuilder, ILayoutBuilder, ILayoutContainerBuilder, IListWidgetBuilder, IPageContainerBuilder, IPanelContainerBuilder, IStepBuilder, IStepWizardBuilder, ITabsetContainerBuilder, IWidgetBuilder, IWidgetContainerBuilder, InheritanceContext, InheritedProperties, LargeTextBoxOptions, LayoutBuilderState, LayoutWidgetOptions, LookupBoxOptions, NumberBoxOptions, PasswordBoxOptions, RichTextOptions, SelectBoxOptions, SelectionListOptions, TextBoxOptions, ToggleSwitchOptions, ValueWidgetOptions, WidgetBuilderState };
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
2
|
import { Signal, InjectionToken, InputSignal, TemplateRef, ElementRef, OnDestroy, OnInit, QueryList, Type, EventEmitter, WritableSignal } from '@angular/core';
|
|
3
|
-
import {
|
|
3
|
+
import { AXPSystemActionType, AXPCategoryEntity, AXPColumnQuery, AXPFilterClause, AXPFilterDefinition, AXPFilterQuery, AXPMultiLanguageString, AXPExecuteCommand, AXPExecuteCommandResult, AXPSortDefinition, AXPSortQuery, AXPMetaData, AXPViewQuery } from '@acorex/platform/contracts';
|
|
4
|
+
import { AXPActivityLog, AXPContextData, AXPContextChangeEvent, AXPActionMenuItem, containsHtmlMarkup } from '@acorex/platform/core';
|
|
4
5
|
import { AXHtmlEvent, AXValueChangedEvent, AXClickEvent, AXDataSource, AXDataSourceFilterOption, AXDataSourceOperator, AXFilterLogic, AXEvent, AXRange } from '@acorex/cdk/common';
|
|
5
6
|
import * as _ngrx_signals from '@ngrx/signals';
|
|
6
7
|
import * as _acorex_platform_themes_shared from '@acorex/platform/themes/shared';
|
|
@@ -15,7 +16,6 @@ import { AXBasePageComponent } from '@acorex/components/page';
|
|
|
15
16
|
import { AXDropListDroppedEvent } from '@acorex/cdk/drag-drop';
|
|
16
17
|
import { AXTagBoxComponent } from '@acorex/components/tag-box';
|
|
17
18
|
import { AXCalendarService } from '@acorex/core/date-time';
|
|
18
|
-
import * as _acorex_core_translation from '@acorex/core/translation';
|
|
19
19
|
import { AXTranslationService } from '@acorex/core/translation';
|
|
20
20
|
import { AXFormComponent } from '@acorex/components/form';
|
|
21
21
|
import { AXSelectBoxComponent } from '@acorex/components/select-box';
|
|
@@ -166,6 +166,7 @@ declare class AXPTaskBadgeDirective {
|
|
|
166
166
|
isSystemMode: _angular_core.Signal<boolean>;
|
|
167
167
|
isSideMenuOpen: _angular_core.Signal<boolean>;
|
|
168
168
|
isOverlayLoading: _angular_core.Signal<boolean>;
|
|
169
|
+
overlayTaskCount: _angular_core.Signal<number>;
|
|
169
170
|
isNavigationLoading: _angular_core.Signal<boolean>;
|
|
170
171
|
isMenuHorizontal: _angular_core.Signal<boolean>;
|
|
171
172
|
effectiveMenuVerticalMode: _angular_core.Signal<_acorex_platform_themes_shared.AXPMenuVerticalMode>;
|
|
@@ -179,6 +180,7 @@ declare class AXPTaskBadgeDirective {
|
|
|
179
180
|
toggleSideMenu: () => void;
|
|
180
181
|
setNavigationLoading: (value: boolean, delay?: number) => void;
|
|
181
182
|
setOverlayLoading: (value: boolean, delay?: number) => void;
|
|
183
|
+
clearOverlayLoading: () => void;
|
|
182
184
|
loadSettings: () => Promise<void>;
|
|
183
185
|
} & _ngrx_signals.StateSource<{
|
|
184
186
|
currentMode: _acorex_platform_themes_shared.AXPThemeMode;
|
|
@@ -368,6 +370,9 @@ declare class AXPCategoryTreeComponent {
|
|
|
368
370
|
protected treeItems: _angular_core.WritableSignal<AXPCategoryTreeNode[]>;
|
|
369
371
|
protected emptyStateTitle: _angular_core.Signal<string>;
|
|
370
372
|
protected emptyStateDescription: _angular_core.Signal<string>;
|
|
373
|
+
protected emptyStateTitleParams: _angular_core.Signal<{
|
|
374
|
+
term: string;
|
|
375
|
+
}>;
|
|
371
376
|
ngOnInit(): Promise<void>;
|
|
372
377
|
loadRootNodes(): Promise<void>;
|
|
373
378
|
loadChildNodes(parentId: string): Promise<void>;
|
|
@@ -978,6 +983,17 @@ declare class AXPQueryFiltersComponent {
|
|
|
978
983
|
onEnterKeyPressed(e: Event): void;
|
|
979
984
|
handleTagClick(item: any): void;
|
|
980
985
|
handleRemoveTag(e: Event, index: number): void;
|
|
986
|
+
/**
|
|
987
|
+
* Maps filter definition to the storage query field.
|
|
988
|
+
* Inline `contains` filters on lookup/select use `inlineQueryField` (display text path).
|
|
989
|
+
*/
|
|
990
|
+
private resolveFilterQueryField;
|
|
991
|
+
/**
|
|
992
|
+
* Flat context key for widget binding (avoids lodash nested paths when `field` contains dots).
|
|
993
|
+
*/
|
|
994
|
+
protected resolveFilterContextField(filter: Pick<AXPFilterDefinition, 'field'> & {
|
|
995
|
+
contextField?: string;
|
|
996
|
+
}): string;
|
|
981
997
|
handleSelectFilters(e: AXValueChangedEvent): void;
|
|
982
998
|
handleAddAllInlineFilters(): void;
|
|
983
999
|
protected getActiveOperator(filter: AXPFilterDefinition | null): string | undefined;
|
|
@@ -1062,6 +1078,7 @@ declare class AXPImageEditorPopupComponent extends AXBasePageComponent {
|
|
|
1062
1078
|
protected context: _angular_core.WritableSignal<{
|
|
1063
1079
|
image: Blob | null;
|
|
1064
1080
|
}>;
|
|
1081
|
+
constructor();
|
|
1065
1082
|
ngOnInit(): Promise<void>;
|
|
1066
1083
|
handleValueChanged(e: any): void;
|
|
1067
1084
|
handleSave(): void;
|
|
@@ -1154,7 +1171,7 @@ declare class AXPItemConfiguratorComponent {
|
|
|
1154
1171
|
protected resolvedPropertyDefinitions: _angular_core.Signal<AXPWidgetProperty[]>;
|
|
1155
1172
|
protected currentItemConfig: _angular_core.Signal<{
|
|
1156
1173
|
title: string;
|
|
1157
|
-
description:
|
|
1174
|
+
description: AXPMultiLanguageString | undefined;
|
|
1158
1175
|
icon: string | undefined;
|
|
1159
1176
|
hasProperties: boolean;
|
|
1160
1177
|
} | null>;
|
|
@@ -1999,6 +2016,8 @@ declare class AXPPropertyViewerPopupComponent extends AXBasePageComponent {
|
|
|
1999
2016
|
* Return a value (not `undefined`) to use as the `close()` payload; otherwise `{ values, mode }` is used.
|
|
2000
2017
|
*/
|
|
2001
2018
|
onApply?: (result: AXPPropertyViewerResult) => void | Promise<unknown>;
|
|
2019
|
+
/** Optional hook from `data.onChange`; fires on each user edit while the dialog is open. */
|
|
2020
|
+
onChange?: (event: AXPPropertyViewerChangedEvent) => void;
|
|
2002
2021
|
protected readonly propertyViewer: _angular_core.Signal<AXPPropertyViewerComponent | undefined>;
|
|
2003
2022
|
protected readonly currentValues: _angular_core.WritableSignal<Record<string, unknown>>;
|
|
2004
2023
|
protected readonly isApplying: _angular_core.WritableSignal<boolean>;
|
|
@@ -2027,6 +2046,8 @@ interface IAXPPropertyViewerDialogBuilder<T = unknown> {
|
|
|
2027
2046
|
* Return a value to resolve `show()`; omit return (or return void) to resolve with `{ values, mode }`.
|
|
2028
2047
|
*/
|
|
2029
2048
|
onAction(handler: (dialogRef: AXPPropertyViewerActionRef) => T | Promise<T> | void | Promise<void>): IAXPPropertyViewerDialogBuilder<T>;
|
|
2049
|
+
/** Fires on each property edit while the dialog is open (not on init). */
|
|
2050
|
+
onChange(handler: (event: AXPPropertyViewerChangedEvent) => void): IAXPPropertyViewerDialogBuilder<T>;
|
|
2030
2051
|
show(): Promise<T | AXPPropertyViewerResult | null>;
|
|
2031
2052
|
}
|
|
2032
2053
|
interface AXPPropertyViewerConfig {
|
|
@@ -2791,9 +2812,11 @@ declare class AXPStateMessageComponent {
|
|
|
2791
2812
|
icon: _angular_core.InputSignal<string>;
|
|
2792
2813
|
title: _angular_core.InputSignal<string>;
|
|
2793
2814
|
description: _angular_core.InputSignal<string>;
|
|
2815
|
+
titleParams: _angular_core.InputSignal<Record<string, unknown>>;
|
|
2816
|
+
descriptionParams: _angular_core.InputSignal<Record<string, unknown>>;
|
|
2794
2817
|
look: _angular_core.InputSignal<"default" | "compact" | "minimal">;
|
|
2795
2818
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPStateMessageComponent, never>;
|
|
2796
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPStateMessageComponent, "axp-state-message", never, { "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "look": { "alias": "look"; "required": false; "isSignal": true; }; }, {}, never, ["[slot=actions]"], true, never>;
|
|
2819
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPStateMessageComponent, "axp-state-message", never, { "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "titleParams": { "alias": "titleParams"; "required": false; "isSignal": true; }; "descriptionParams": { "alias": "descriptionParams"; "required": false; "isSignal": true; }; "look": { "alias": "look"; "required": false; "isSignal": true; }; }, {}, never, ["[slot=actions]"], true, never>;
|
|
2797
2820
|
}
|
|
2798
2821
|
|
|
2799
2822
|
declare class AXPStopwatchComponent implements OnDestroy {
|
|
@@ -3112,7 +3135,7 @@ declare class AXPWidgetFieldConfiguratorComponent {
|
|
|
3112
3135
|
widget: _angular_core.ModelSignal<AXPWidgetNode>;
|
|
3113
3136
|
label: _angular_core.InputSignal<string>;
|
|
3114
3137
|
fieldName: _angular_core.InputSignal<string>;
|
|
3115
|
-
fieldTitle: _angular_core.InputSignal<
|
|
3138
|
+
fieldTitle: _angular_core.InputSignal<AXPMultiLanguageString>;
|
|
3116
3139
|
readonly: _angular_core.InputSignal<boolean>;
|
|
3117
3140
|
private readonly widgetRegistry;
|
|
3118
3141
|
private readonly translation;
|
|
@@ -3225,6 +3248,7 @@ declare class AXPWidgetPropertyViewerPopupComponent extends AXBasePageComponent
|
|
|
3225
3248
|
widget: _angular_core.InputSignal<AXPWidgetNode>;
|
|
3226
3249
|
mode: _angular_core.InputSignal<"simple" | "advanced">;
|
|
3227
3250
|
protected currentValues: _angular_core.WritableSignal<any>;
|
|
3251
|
+
constructor();
|
|
3228
3252
|
protected handlePropertyChanged(event: {
|
|
3229
3253
|
values: any;
|
|
3230
3254
|
mode: 'init' | 'update';
|
|
@@ -3,12 +3,13 @@ import * as _angular_core from '@angular/core';
|
|
|
3
3
|
import { EventEmitter, OnChanges, OnDestroy, WritableSignal, NgZone, ComponentRef, SimpleChanges } from '@angular/core';
|
|
4
4
|
import { AXBasePageComponent } from '@acorex/components/page';
|
|
5
5
|
import { AXTabStripChangedEvent } from '@acorex/components/tabs';
|
|
6
|
-
import { AXPMultiLanguageString, AXPDefinitionCategory
|
|
6
|
+
import { AXPMultiLanguageString, AXPDefinitionCategory } from '@acorex/platform/contracts';
|
|
7
7
|
import { AXPWidgetItemData, AXPWidgetItemClickEvent } from '@acorex/platform/layout/components';
|
|
8
8
|
import * as _acorex_platform_layout_widget_core from '@acorex/platform/layout/widget-core';
|
|
9
9
|
import { AXPWidgetConfig, AXPWidgetGroupEnum, AXPWidgetNode, AXPBaseWidgetComponent, AXPWidgetRegistryService, AXPLayoutBaseWidgetComponent } from '@acorex/platform/layout/widget-core';
|
|
10
10
|
import { AXMenuItem } from '@acorex/components/menu';
|
|
11
11
|
import { Subject } from 'rxjs';
|
|
12
|
+
import { AXPBroadcastEventService, AXPContextChangeEvent } from '@acorex/platform/core';
|
|
12
13
|
import { AXUnsubscriber } from '@acorex/core/utils';
|
|
13
14
|
import { AXPClipBoardService, AXPSettingsService } from '@acorex/platform/common';
|
|
14
15
|
|