@acorex/platform 21.0.0-next.5 → 21.0.0-next.51
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/acorex-platform-auth.mjs +281 -23
- package/fesm2022/acorex-platform-auth.mjs.map +1 -1
- package/fesm2022/acorex-platform-common-common-settings.provider-Bi1RYif5.mjs +163 -0
- package/fesm2022/acorex-platform-common-common-settings.provider-Bi1RYif5.mjs.map +1 -0
- package/fesm2022/acorex-platform-common.mjs +1047 -263
- package/fesm2022/acorex-platform-common.mjs.map +1 -1
- package/fesm2022/acorex-platform-core.mjs +1138 -510
- package/fesm2022/acorex-platform-core.mjs.map +1 -1
- package/fesm2022/acorex-platform-domain.mjs +557 -826
- package/fesm2022/acorex-platform-domain.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-builder.mjs +804 -186
- package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-components-binding-expression-editor-popup.component-CXEdvDTf.mjs +121 -0
- package/fesm2022/acorex-platform-layout-components-binding-expression-editor-popup.component-CXEdvDTf.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-components.mjs +6208 -2344
- package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-designer.mjs +456 -204
- package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-entity.mjs +18632 -10286
- package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-views.mjs +538 -168
- package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-widget-core.mjs +720 -456
- package/fesm2022/acorex-platform-layout-widget-core.mjs.map +1 -1
- package/fesm2022/{acorex-platform-layout-widgets-button-widget-designer.component-C3VoBb_b.mjs → acorex-platform-layout-widgets-button-widget-designer.component-Dy7jF-oD.mjs} +10 -10
- package/fesm2022/acorex-platform-layout-widgets-button-widget-designer.component-Dy7jF-oD.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-widgets-file-list-popup.component-CDYAGBku.mjs +103 -0
- package/fesm2022/acorex-platform-layout-widgets-file-list-popup.component-CDYAGBku.mjs.map +1 -0
- package/fesm2022/{acorex-platform-layout-widgets-image-preview.popup-V31OpYah.mjs → acorex-platform-layout-widgets-image-preview.popup-C_EPAvCU.mjs} +6 -7
- package/fesm2022/acorex-platform-layout-widgets-image-preview.popup-C_EPAvCU.mjs.map +1 -0
- package/fesm2022/{acorex-platform-layout-widgets-page-widget-designer.component-BtZMBxYp.mjs → acorex-platform-layout-widgets-page-widget-designer.component-D10yO28c.mjs} +12 -12
- package/fesm2022/acorex-platform-layout-widgets-page-widget-designer.component-D10yO28c.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-BGO75IMz.mjs +116 -0
- package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-BGO75IMz.mjs.map +1 -0
- package/fesm2022/{acorex-platform-layout-widgets-tabular-data-edit-popup.component-Ck7-wpT2.mjs → acorex-platform-layout-widgets-tabular-data-edit-popup.component-DmzNTYiS.mjs} +6 -6
- package/fesm2022/acorex-platform-layout-widgets-tabular-data-edit-popup.component-DmzNTYiS.mjs.map +1 -0
- package/fesm2022/{acorex-platform-layout-widgets-tabular-data-view-popup.component-y8vjUiVs.mjs → acorex-platform-layout-widgets-tabular-data-view-popup.component-BNG_588B.mjs} +5 -5
- package/fesm2022/acorex-platform-layout-widgets-tabular-data-view-popup.component-BNG_588B.mjs.map +1 -0
- package/fesm2022/{acorex-platform-layout-widgets-text-block-widget-designer.component-Df1BFkSa.mjs → acorex-platform-layout-widgets-text-block-widget-designer.component-Vo4fWHtX.mjs} +6 -6
- package/fesm2022/acorex-platform-layout-widgets-text-block-widget-designer.component-Vo4fWHtX.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-widgets.mjs +8728 -4269
- package/fesm2022/acorex-platform-layout-widgets.mjs.map +1 -1
- package/fesm2022/acorex-platform-native.mjs +8 -7
- package/fesm2022/acorex-platform-native.mjs.map +1 -1
- package/fesm2022/acorex-platform-runtime.mjs +391 -166
- package/fesm2022/acorex-platform-runtime.mjs.map +1 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-Cx1lLUaR.mjs +160 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-Cx1lLUaR.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-AOrcgjDF.mjs +120 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-AOrcgjDF.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-default-entity-master-single-view.component-eMBby9k4.mjs → acorex-platform-themes-default-entity-master-single-view.component-BfCeUU5F.mjs} +19 -26
- package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-BfCeUU5F.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-default-error-401.component-cfREo88K.mjs → acorex-platform-themes-default-error-401.component-C7EYJzSr.mjs} +4 -4
- package/fesm2022/acorex-platform-themes-default-error-401.component-C7EYJzSr.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-default-error-404.component-CdCV5ZoA.mjs → acorex-platform-themes-default-error-404.component-7MVLMwIa.mjs} +4 -4
- package/fesm2022/acorex-platform-themes-default-error-404.component-7MVLMwIa.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default-error-offline.component-DR6G8gPC.mjs +19 -0
- package/fesm2022/acorex-platform-themes-default-error-offline.component-DR6G8gPC.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default.mjs +1836 -67
- package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
- package/fesm2022/{acorex-platform-themes-shared-icon-chooser-column.component-C0EpfU2k.mjs → acorex-platform-themes-shared-icon-chooser-column.component-CqkWJYdv.mjs} +6 -6
- package/fesm2022/acorex-platform-themes-shared-icon-chooser-column.component-CqkWJYdv.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-shared-icon-chooser-view.component-9W52W6Nu.mjs → acorex-platform-themes-shared-icon-chooser-view.component-BOTuLdWN.mjs} +6 -6
- package/fesm2022/acorex-platform-themes-shared-icon-chooser-view.component-BOTuLdWN.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-shared-settings.provider-DSs1o1M6.mjs → acorex-platform-themes-shared-settings.provider-DK6R87Lf.mjs} +24 -25
- package/fesm2022/acorex-platform-themes-shared-settings.provider-DK6R87Lf.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-D566Kdvy.mjs +94 -0
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-D566Kdvy.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-D7-rCGl7.mjs +86 -0
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-D7-rCGl7.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-shared.mjs +674 -573
- package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
- package/fesm2022/acorex-platform-workflow.mjs +1715 -535
- package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
- package/fesm2022/acorex-platform.mjs.map +1 -1
- package/package.json +37 -37
- package/{auth/index.d.ts → types/acorex-platform-auth.d.ts} +241 -4
- package/{common/index.d.ts → types/acorex-platform-common.d.ts} +598 -80
- package/{core/index.d.ts → types/acorex-platform-core.d.ts} +595 -132
- package/{domain/index.d.ts → types/acorex-platform-domain.d.ts} +744 -412
- package/{layout/builder/index.d.ts → types/acorex-platform-layout-builder.d.ts} +193 -48
- package/types/acorex-platform-layout-components.d.ts +2979 -0
- package/{layout/designer/index.d.ts → types/acorex-platform-layout-designer.d.ts} +96 -18
- package/{layout/entity/index.d.ts → types/acorex-platform-layout-entity.d.ts} +1601 -261
- package/{layout/views/index.d.ts → types/acorex-platform-layout-views.d.ts} +116 -55
- package/{layout/widget-core/index.d.ts → types/acorex-platform-layout-widget-core.d.ts} +272 -124
- package/{layout/widgets/index.d.ts → types/acorex-platform-layout-widgets.d.ts} +1055 -157
- package/{native/index.d.ts → types/acorex-platform-native.d.ts} +0 -7
- package/types/acorex-platform-runtime.d.ts +571 -0
- package/{themes/default/index.d.ts → types/acorex-platform-themes-default.d.ts} +122 -5
- package/{themes/shared/index.d.ts → types/acorex-platform-themes-shared.d.ts} +1 -1
- package/types/acorex-platform-workflow.d.ts +1884 -0
- package/fesm2022/acorex-platform-common-common-settings.provider-zhqNP3xb.mjs +0 -71
- package/fesm2022/acorex-platform-common-common-settings.provider-zhqNP3xb.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-button-widget-designer.component-C3VoBb_b.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-file-list-popup.component-CxrsI6Hn.mjs +0 -135
- package/fesm2022/acorex-platform-layout-widgets-file-list-popup.component-CxrsI6Hn.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-image-preview.popup-V31OpYah.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-page-widget-designer.component-BtZMBxYp.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-tabular-data-edit-popup.component-Ck7-wpT2.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-tabular-data-view-popup.component-y8vjUiVs.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-text-block-widget-designer.component-Df1BFkSa.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-VIGuU5M4.mjs +0 -157
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-VIGuU5M4.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-DyDa_hyd.mjs +0 -1542
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-DyDa_hyd.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-Ua3ZA5hk.mjs +0 -101
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-Ua3ZA5hk.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-eMBby9k4.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-error-401.component-cfREo88K.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-error-404.component-CdCV5ZoA.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-error-offline.component-E7SzBcAt.mjs +0 -19
- package/fesm2022/acorex-platform-themes-default-error-offline.component-E7SzBcAt.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-icon-chooser-column.component-C0EpfU2k.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-icon-chooser-view.component-9W52W6Nu.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-settings.provider-DSs1o1M6.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-DTnfRy5f.mjs +0 -65
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-DTnfRy5f.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-DY0JtT1v.mjs +0 -64
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-DY0JtT1v.mjs.map +0 -1
- package/layout/components/index.d.ts +0 -1669
- package/runtime/index.d.ts +0 -307
- package/workflow/index.d.ts +0 -1808
- /package/{index.d.ts → types/acorex-platform.d.ts} +0 -0
|
@@ -3,13 +3,19 @@ import { OnInit, EventEmitter } from '@angular/core';
|
|
|
3
3
|
import * as i1 from '@angular/common';
|
|
4
4
|
import { AXFormComponent } from '@acorex/components/form';
|
|
5
5
|
import { AXValidationSummary } from '@acorex/core/validation';
|
|
6
|
-
import { AXPWidgetNode, AXPWidgetRenderMode,
|
|
6
|
+
import { AXPWidgetNode, AXPWidgetRenderMode, AXPWidgetContainerComponent, AXPWidgetCoreElementAction } from '@acorex/platform/layout/widget-core';
|
|
7
7
|
import { AXDataSource } from '@acorex/cdk/common';
|
|
8
8
|
import { AXPopupSizeType } from '@acorex/components/popup';
|
|
9
9
|
import { AXStepWizardLook } from '@acorex/components/step-wizard';
|
|
10
|
-
import { AXPGridLayoutOptions, AXPExpression, AXPValidationRules, AXPOptionsData,
|
|
10
|
+
import { AXPMetaData, AXPGridLayoutOptions, AXPActionMenuItem, AXPMultiLanguageString, AXPExpression, AXPValidationRules, AXPOptionsData, AXPContextChangeEvent, AXPExecuteCommandResult } from '@acorex/platform/core';
|
|
11
11
|
import { AXBasePageComponent } from '@acorex/components/page';
|
|
12
|
+
import { AXPCommand } from '@acorex/platform/runtime';
|
|
12
13
|
|
|
14
|
+
/**
|
|
15
|
+
* Extended widget node properties (excluding type, path, name, options, children)
|
|
16
|
+
* These properties can be passed as a third parameter to customWidget method
|
|
17
|
+
*/
|
|
18
|
+
type AXPWidgetNodeExtendedProperties = Omit<AXPWidgetNode, 'type' | 'path' | 'name' | 'options'>;
|
|
13
19
|
/**
|
|
14
20
|
* Form appearance and density styling (using fieldset widget look)
|
|
15
21
|
*/
|
|
@@ -24,9 +30,9 @@ type AXPDynamicFormMode = 'view' | 'edit';
|
|
|
24
30
|
type AXPDynamicFormDirection = 'vertical' | 'horizontal' | 'grid';
|
|
25
31
|
interface AXPDynamicFormFieldDefinition {
|
|
26
32
|
path: string;
|
|
27
|
-
title?:
|
|
33
|
+
title?: AXPMultiLanguageString;
|
|
28
34
|
badge?: string;
|
|
29
|
-
description?:
|
|
35
|
+
description?: AXPMultiLanguageString;
|
|
30
36
|
widget: AXPWidgetNode;
|
|
31
37
|
/**
|
|
32
38
|
* Optional per-field rendering mode. Takes precedence over section and form modes.
|
|
@@ -36,8 +42,8 @@ interface AXPDynamicFormFieldDefinition {
|
|
|
36
42
|
}
|
|
37
43
|
interface AXPDynamicFormGroupDefinition {
|
|
38
44
|
name: string;
|
|
39
|
-
title?:
|
|
40
|
-
description?:
|
|
45
|
+
title?: AXPMultiLanguageString;
|
|
46
|
+
description?: AXPMultiLanguageString;
|
|
41
47
|
parameters: AXPDynamicFormFieldDefinition[];
|
|
42
48
|
/**
|
|
43
49
|
* Optional per-section rendering mode. Takes precedence over form mode and is overridden by field mode.
|
|
@@ -59,7 +65,7 @@ interface AXPDialogRef {
|
|
|
59
65
|
/**
|
|
60
66
|
* Manually close the dialog (optional - dialog closes automatically after user interaction)
|
|
61
67
|
*/
|
|
62
|
-
close(): void;
|
|
68
|
+
close(result?: any): void;
|
|
63
69
|
/**
|
|
64
70
|
* Get the form data from the dialog
|
|
65
71
|
*/
|
|
@@ -72,6 +78,17 @@ interface AXPDialogRef {
|
|
|
72
78
|
* Set the loading state of the dialog
|
|
73
79
|
*/
|
|
74
80
|
setLoading(loading: boolean): void;
|
|
81
|
+
/**
|
|
82
|
+
* Deep-merge partial values into the dialog layout context (e.g. after create returns an id).
|
|
83
|
+
*/
|
|
84
|
+
patchContext?(partial: Record<string, unknown>): void;
|
|
85
|
+
/**
|
|
86
|
+
* Invoke a registered widget's public `api()` method (e.g. step-wizard `next`).
|
|
87
|
+
*/
|
|
88
|
+
invokeWidget?(widgetName: string, method: string, options?: {
|
|
89
|
+
setLoading?: (loading: boolean) => void;
|
|
90
|
+
close?: (result?: any) => void;
|
|
91
|
+
}): Promise<void>;
|
|
75
92
|
}
|
|
76
93
|
interface LayoutWidgetOptions {
|
|
77
94
|
name?: string;
|
|
@@ -82,7 +99,7 @@ interface ValueWidgetOptions extends LayoutWidgetOptions {
|
|
|
82
99
|
validations?: AXPValidationRules;
|
|
83
100
|
}
|
|
84
101
|
interface TextBoxOptions extends ValueWidgetOptions {
|
|
85
|
-
placeholder?:
|
|
102
|
+
placeholder?: AXPMultiLanguageString;
|
|
86
103
|
maxLength?: number;
|
|
87
104
|
minLength?: number;
|
|
88
105
|
prefix?: string;
|
|
@@ -93,14 +110,14 @@ interface NumberBoxOptions extends ValueWidgetOptions {
|
|
|
93
110
|
min?: number;
|
|
94
111
|
max?: number;
|
|
95
112
|
step?: number;
|
|
96
|
-
placeholder?:
|
|
113
|
+
placeholder?: AXPMultiLanguageString;
|
|
97
114
|
format?: string;
|
|
98
115
|
}
|
|
99
116
|
interface SelectBoxOptions extends ValueWidgetOptions {
|
|
100
117
|
dataSource: any[] | (() => any[]) | (() => Promise<any[]>) | AXDataSource<any>;
|
|
101
118
|
valueField?: string;
|
|
102
119
|
textField?: string;
|
|
103
|
-
placeholder?:
|
|
120
|
+
placeholder?: AXPMultiLanguageString;
|
|
104
121
|
multiple?: boolean;
|
|
105
122
|
searchable?: boolean;
|
|
106
123
|
clearButton?: boolean;
|
|
@@ -111,7 +128,7 @@ interface DateTimeBoxOptions extends ValueWidgetOptions {
|
|
|
111
128
|
format?: string;
|
|
112
129
|
min?: Date | string;
|
|
113
130
|
max?: Date | string;
|
|
114
|
-
placeholder?:
|
|
131
|
+
placeholder?: AXPMultiLanguageString;
|
|
115
132
|
clearButton?: boolean;
|
|
116
133
|
}
|
|
117
134
|
interface ToggleSwitchOptions extends ValueWidgetOptions {
|
|
@@ -123,7 +140,7 @@ interface LargeTextBoxOptions extends ValueWidgetOptions {
|
|
|
123
140
|
rows?: number;
|
|
124
141
|
maxLength?: number;
|
|
125
142
|
minLength?: number;
|
|
126
|
-
placeholder?:
|
|
143
|
+
placeholder?: AXPMultiLanguageString;
|
|
127
144
|
resizable?: boolean;
|
|
128
145
|
}
|
|
129
146
|
interface ColorBoxOptions extends ValueWidgetOptions {
|
|
@@ -222,12 +239,18 @@ interface AXPFieldsetContainerOptions extends LayoutWidgetOptions {
|
|
|
222
239
|
isOpen?: boolean;
|
|
223
240
|
look?: 'fieldset' | 'card' | 'group' | 'container';
|
|
224
241
|
disabled?: boolean;
|
|
242
|
+
showTitle?: boolean;
|
|
225
243
|
showHeader?: boolean;
|
|
226
244
|
cols?: number;
|
|
227
245
|
}
|
|
246
|
+
/** How optional `hint` text is rendered in `form-field` layout widgets. */
|
|
247
|
+
type AXPFormFieldHintDisplayMode = 'icon' | 'note';
|
|
228
248
|
interface AXPFormFieldOptions extends LayoutWidgetOptions {
|
|
229
249
|
label?: string;
|
|
230
250
|
showLabel?: boolean;
|
|
251
|
+
/** Translated/helper copy; pairing with {@link hintDisplayMode}. */
|
|
252
|
+
hint?: AXPMultiLanguageString;
|
|
253
|
+
hintDisplayMode?: AXPFormFieldHintDisplayMode;
|
|
231
254
|
}
|
|
232
255
|
interface AXPDialogContainerOptions extends LayoutWidgetOptions {
|
|
233
256
|
title?: string;
|
|
@@ -235,14 +258,35 @@ interface AXPDialogContainerOptions extends LayoutWidgetOptions {
|
|
|
235
258
|
size?: AXPopupSizeType;
|
|
236
259
|
closeButton?: boolean;
|
|
237
260
|
context?: any;
|
|
261
|
+
metadata?: AXPMetaData;
|
|
262
|
+
/**
|
|
263
|
+
* When set, invoked on footer action with {@link AXPDialogRef}.
|
|
264
|
+
* Set via {@link IDialogBuilder.onAction}.
|
|
265
|
+
*/
|
|
266
|
+
onAction?: (dialogRef: AXPDialogRef) => unknown | Promise<unknown>;
|
|
267
|
+
}
|
|
268
|
+
/**
|
|
269
|
+
* Popup payload for `AXPDialogRendererComponent` (`data.config`) and the `layout-builder.dialog.config` hook.
|
|
270
|
+
*/
|
|
271
|
+
interface AXPLayoutBuilderDialogConfig {
|
|
272
|
+
title: string;
|
|
273
|
+
context: Record<string, unknown>;
|
|
274
|
+
definition: AXPWidgetNode;
|
|
275
|
+
metadata?: AXPMetaData;
|
|
276
|
+
actions: NonNullable<DialogBuilderState['actions']>;
|
|
277
|
+
onAction?: (dialogRef: AXPDialogRef) => unknown | Promise<unknown>;
|
|
238
278
|
}
|
|
239
279
|
interface RichTextOptions extends ValueWidgetOptions {
|
|
240
|
-
placeholder?:
|
|
280
|
+
placeholder?: AXPMultiLanguageString;
|
|
241
281
|
toolbar?: string[];
|
|
242
282
|
readonly?: boolean;
|
|
283
|
+
/** Max height (px) for scrollable full preview when `showFullContent` is true. */
|
|
284
|
+
height?: number;
|
|
285
|
+
/** When true, view mode renders full HTML in a scrollable area instead of a truncated snippet. */
|
|
286
|
+
showFullContent?: boolean;
|
|
243
287
|
}
|
|
244
288
|
interface PasswordBoxOptions extends ValueWidgetOptions {
|
|
245
|
-
placeholder?:
|
|
289
|
+
placeholder?: AXPMultiLanguageString;
|
|
246
290
|
revealToggle?: boolean;
|
|
247
291
|
maxLength?: number;
|
|
248
292
|
}
|
|
@@ -264,7 +308,7 @@ interface SelectionListOptions extends ValueWidgetOptions {
|
|
|
264
308
|
textField?: string;
|
|
265
309
|
multiple?: boolean;
|
|
266
310
|
searchable?: boolean;
|
|
267
|
-
placeholder?:
|
|
311
|
+
placeholder?: AXPMultiLanguageString;
|
|
268
312
|
}
|
|
269
313
|
interface AXPListWidgetColumn {
|
|
270
314
|
name: string;
|
|
@@ -384,7 +428,7 @@ interface AXPWidgetConfiguration {
|
|
|
384
428
|
options?: AXPOptionsData;
|
|
385
429
|
}
|
|
386
430
|
type LayoutBuilderState = AXPWidgetNode;
|
|
387
|
-
type WidgetBuilderState =
|
|
431
|
+
type WidgetBuilderState = AXPWidgetNode & {
|
|
388
432
|
layout?: AXPGridLayoutOptions;
|
|
389
433
|
};
|
|
390
434
|
type FormFieldBuilderState = AXPWidgetNode & {
|
|
@@ -403,7 +447,9 @@ type DialogBuilderState = AXPWidgetNode & {
|
|
|
403
447
|
interface IActionBuilder {
|
|
404
448
|
cancel(text?: string): IActionBuilder;
|
|
405
449
|
submit(text?: string): IActionBuilder;
|
|
406
|
-
custom(action: AXPActionMenuItem
|
|
450
|
+
custom(action: AXPActionMenuItem & {
|
|
451
|
+
position?: 'prefix' | 'suffix';
|
|
452
|
+
}): IActionBuilder;
|
|
407
453
|
}
|
|
408
454
|
interface ILayoutBuilder {
|
|
409
455
|
grid(delegate: (container: IGridContainerBuilder) => void): ILayoutBuilder;
|
|
@@ -412,9 +458,14 @@ interface ILayoutBuilder {
|
|
|
412
458
|
page(delegate: (container: IPageContainerBuilder) => void): ILayoutBuilder;
|
|
413
459
|
tabset(delegate: (container: ITabsetContainerBuilder) => void): ILayoutBuilder;
|
|
414
460
|
fieldset(delegate: (container: IFieldsetContainerBuilder) => void): ILayoutBuilder;
|
|
415
|
-
dialog(delegate: (container: IDialogBuilder) => void): IDialogBuilder
|
|
461
|
+
dialog<T = AXPDialogRef>(delegate: (container: IDialogBuilder<T>) => void): IDialogBuilder<T>;
|
|
416
462
|
stepWizard(delegate: (wizard: IStepWizardBuilder) => void): ILayoutBuilder;
|
|
417
463
|
build(): AXPWidgetNode;
|
|
464
|
+
toJson(options?: {
|
|
465
|
+
removeMeta?: boolean;
|
|
466
|
+
removeFunctions?: boolean;
|
|
467
|
+
pretty?: boolean;
|
|
468
|
+
}): string;
|
|
418
469
|
}
|
|
419
470
|
interface IWidgetBuilder {
|
|
420
471
|
name(name: string): IWidgetBuilder;
|
|
@@ -498,6 +549,8 @@ interface IGridContainerBuilder extends IBaseContainerBuilder<IGridContainerBuil
|
|
|
498
549
|
setBackgroundColor(color: string): IGridContainerBuilder;
|
|
499
550
|
setPadding(padding: string): IGridContainerBuilder;
|
|
500
551
|
setMargin(margin: string): IGridContainerBuilder;
|
|
552
|
+
/** Add a grid-item-layout child with optional placement; delegate builds the fieldset content. */
|
|
553
|
+
item(layoutOptions: Partial<AXPGridLayoutOptions> | null | undefined, delegate: (container: IFieldsetContainerBuilder) => void): IGridContainerBuilder;
|
|
501
554
|
}
|
|
502
555
|
interface IPanelContainerBuilder extends IBaseContainerBuilder<IPanelContainerBuilder>, ILayoutContainerBuilder<IPanelContainerBuilder>, IChildContainerBuilder<IPanelContainerBuilder>, IWidgetContainerBuilder<IPanelContainerBuilder> {
|
|
503
556
|
setOptions(options: AXPPanelContainerOptions): IPanelContainerBuilder;
|
|
@@ -540,6 +593,7 @@ interface IFormFieldBuilder extends IBaseContainerBuilder<IFormFieldBuilder>, IL
|
|
|
540
593
|
toggleSwitch(options?: Omit<ToggleSwitchOptions, 'path'>): IFormFieldBuilder;
|
|
541
594
|
colorBox(options?: Omit<ColorBoxOptions, 'path'>): IFormFieldBuilder;
|
|
542
595
|
customWidget<T>(type: string, options?: Omit<T, 'path'>): IFormFieldBuilder;
|
|
596
|
+
customWidget<T>(type: string, options?: Omit<T, 'path'> & Partial<AXPWidgetNodeExtendedProperties>): IFormFieldBuilder;
|
|
543
597
|
}
|
|
544
598
|
interface IFieldsetContainerBuilder extends IBaseContainerBuilder<IFieldsetContainerBuilder>, ILayoutContainerBuilder<IFieldsetContainerBuilder> {
|
|
545
599
|
setOptions(options: AXPFieldsetContainerOptions): IFieldsetContainerBuilder;
|
|
@@ -553,19 +607,26 @@ interface IFieldsetContainerBuilder extends IBaseContainerBuilder<IFieldsetConta
|
|
|
553
607
|
setCols(cols: number): IFieldsetContainerBuilder;
|
|
554
608
|
formField(label: string, delegate?: (field: IFormFieldBuilder) => void): IFieldsetContainerBuilder;
|
|
555
609
|
}
|
|
556
|
-
interface IDialogBuilder {
|
|
610
|
+
interface IDialogBuilder<T = AXPDialogRef> {
|
|
557
611
|
}
|
|
558
|
-
interface IDialogBuilder {
|
|
559
|
-
setOptions(options: AXPDialogContainerOptions): IDialogBuilder
|
|
560
|
-
setTitle(title: string): IDialogBuilder
|
|
561
|
-
setMessage(message?: string): IDialogBuilder
|
|
562
|
-
setSize(size: AXPopupSizeType): IDialogBuilder
|
|
563
|
-
setCloseButton(closeButton: boolean): IDialogBuilder
|
|
564
|
-
setContext(context: any): IDialogBuilder
|
|
565
|
-
content(delegate: (layoutBuilder: IFlexContainerBuilder) => void): IDialogBuilder
|
|
566
|
-
setActions(delegate?: (actions: IActionBuilder) => void): IDialogBuilder
|
|
567
|
-
|
|
568
|
-
|
|
612
|
+
interface IDialogBuilder<T = AXPDialogRef> {
|
|
613
|
+
setOptions(options: AXPDialogContainerOptions): IDialogBuilder<T>;
|
|
614
|
+
setTitle(title: string): IDialogBuilder<T>;
|
|
615
|
+
setMessage(message?: string): IDialogBuilder<T>;
|
|
616
|
+
setSize(size: AXPopupSizeType): IDialogBuilder<T>;
|
|
617
|
+
setCloseButton(closeButton: boolean): IDialogBuilder<T>;
|
|
618
|
+
setContext(context: any): IDialogBuilder<T>;
|
|
619
|
+
content(delegate: (layoutBuilder: IFlexContainerBuilder) => void): IDialogBuilder<T>;
|
|
620
|
+
setActions(delegate?: (actions: IActionBuilder) => void): IDialogBuilder<T>;
|
|
621
|
+
/**
|
|
622
|
+
* Handler invoked when user clicks an action. Receives AXPDialogRef (context, action, setLoading, close).
|
|
623
|
+
* If handler throws, dialog stays open for retry.
|
|
624
|
+
* If handler returns, dialog closes and show() resolves with the return value.
|
|
625
|
+
*/
|
|
626
|
+
onAction(handler: (dialogRef: AXPDialogRef) => T | Promise<T>): IDialogBuilder<T>;
|
|
627
|
+
addCustomAction(action: AXPActionMenuItem): IDialogBuilder<T>;
|
|
628
|
+
build(): AXPWidgetNode;
|
|
629
|
+
show(): Promise<T>;
|
|
569
630
|
}
|
|
570
631
|
interface IListWidgetBuilder extends IBaseContainerBuilder<IListWidgetBuilder>, ILayoutContainerBuilder<IListWidgetBuilder>, IChildContainerBuilder<IListWidgetBuilder>, IWidgetContainerBuilder<IListWidgetBuilder> {
|
|
571
632
|
setOptions(options: AXPListWidgetOptions): IListWidgetBuilder;
|
|
@@ -641,6 +702,11 @@ declare class AXPLayoutRendererComponent implements OnInit {
|
|
|
641
702
|
*/
|
|
642
703
|
mode: _angular_core.InputSignal<AXPDynamicFormMode>;
|
|
643
704
|
protected widgetTree: _angular_core.WritableSignal<AXPWidgetNode | null>;
|
|
705
|
+
/**
|
|
706
|
+
* Prefer explicit {@link AXPWidgetNode.mode} on the root node (e.g. dialog flex `mode('view')`)
|
|
707
|
+
* so nested widgets resolve view vs edit correctly; fall back to the layout `mode` input.
|
|
708
|
+
*/
|
|
709
|
+
protected effectiveRenderMode: _angular_core.Signal<"view" | "edit" | "column" | "designer" | "print" | "filter">;
|
|
644
710
|
/**
|
|
645
711
|
* Convert layout data to widget tree when inputs change
|
|
646
712
|
*/
|
|
@@ -667,7 +733,7 @@ declare class AXPLayoutRendererComponent implements OnInit {
|
|
|
667
733
|
/**
|
|
668
734
|
* Handle context change events from widget container (optimized with RxJS)
|
|
669
735
|
*/
|
|
670
|
-
protected handleContextChanged(event:
|
|
736
|
+
protected handleContextChanged(event: AXPContextChangeEvent): void;
|
|
671
737
|
/**
|
|
672
738
|
* Get the form component instance
|
|
673
739
|
*/
|
|
@@ -722,8 +788,40 @@ declare class LayoutBuilderModule {
|
|
|
722
788
|
static ɵinj: _angular_core.ɵɵInjectorDeclaration<LayoutBuilderModule>;
|
|
723
789
|
}
|
|
724
790
|
|
|
791
|
+
/**
|
|
792
|
+
* Runs after dialog options and context are prepared and **before** footer customization and popup open.
|
|
793
|
+
* Listeners may mutate {@link AXPLayoutBuilderDialogBeforeOpenPayload.context} by reference.
|
|
794
|
+
*/
|
|
795
|
+
declare const AXP_LAYOUT_BUILDER_DIALOG_BEFORE_OPEN_HOOK_KEY = "layout-builder.dialog.before-open";
|
|
796
|
+
interface AXPLayoutBuilderDialogBeforeOpenPayload {
|
|
797
|
+
context: Record<string, unknown>;
|
|
798
|
+
dialogOptions: AXPDialogContainerOptions;
|
|
799
|
+
}
|
|
800
|
+
/**
|
|
801
|
+
* Runs after builder-defined footer actions exist and **before** the dialog opens.
|
|
802
|
+
* Listeners receive the live `actions.footer.prefix` / `suffix` arrays (same references as the dialog)
|
|
803
|
+
* so they may push, splice, filter, or replace items. They may also mutate {@link AXPLayoutBuilderDialogFooterPayload.context} by reference.
|
|
804
|
+
*/
|
|
805
|
+
declare const AXP_LAYOUT_BUILDER_DIALOG_CONFIG_HOOK_KEY = "layout-builder.dialog.config";
|
|
806
|
+
/**
|
|
807
|
+
* Runs whenever the dialog layout builder context changes (debounced upstream), **after** the popup is visible.
|
|
808
|
+
* Use for side effects that depend on live context (for example values updated by widgets after render).
|
|
809
|
+
* Payload mirrors `AXPDialogRendererComponent` semantics: {@link AXPLayoutBuilderDialogContextChangedPayload.getContext},
|
|
810
|
+
* {@link AXPLayoutBuilderDialogContextChangedPayload.patchContext}, and optional loading state.
|
|
811
|
+
*/
|
|
812
|
+
declare const AXP_LAYOUT_BUILDER_DIALOG_CONTEXT_CHANGED_HOOK_KEY = "layout-builder.dialog.context-changed";
|
|
813
|
+
interface AXPLayoutBuilderDialogContextChangedPayload {
|
|
814
|
+
/** Stable id for this dialog instance; lets listeners correlate repeated emissions or async follow-up work. */
|
|
815
|
+
sessionKey: string;
|
|
816
|
+
getContext: () => Record<string, unknown>;
|
|
817
|
+
metadata: Record<string, unknown> | undefined;
|
|
818
|
+
patchContext: (partial: Record<string, unknown>) => void;
|
|
819
|
+
setLoading: (loading: boolean) => void;
|
|
820
|
+
}
|
|
821
|
+
|
|
725
822
|
declare class AXPLayoutBuilderService {
|
|
726
823
|
private popupService;
|
|
824
|
+
private readonly hookService;
|
|
727
825
|
/**
|
|
728
826
|
* Create a new layout builder
|
|
729
827
|
*/
|
|
@@ -798,18 +896,7 @@ declare class AXPLayoutConversionService {
|
|
|
798
896
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPLayoutConversionService>;
|
|
799
897
|
}
|
|
800
898
|
|
|
801
|
-
|
|
802
|
-
title: string;
|
|
803
|
-
message?: string;
|
|
804
|
-
context: any;
|
|
805
|
-
definition: AXPWidgetNode;
|
|
806
|
-
actions?: {
|
|
807
|
-
footer?: {
|
|
808
|
-
prefix?: any[];
|
|
809
|
-
suffix?: any[];
|
|
810
|
-
};
|
|
811
|
-
};
|
|
812
|
-
}
|
|
899
|
+
type DialogRendererConfig = AXPLayoutBuilderDialogConfig;
|
|
813
900
|
interface DialogRendererResult {
|
|
814
901
|
context: any;
|
|
815
902
|
action?: string;
|
|
@@ -820,35 +907,93 @@ declare class AXPDialogRendererComponent extends AXBasePageComponent implements
|
|
|
820
907
|
result: EventEmitter<DialogRendererResult>;
|
|
821
908
|
private widgetCoreService;
|
|
822
909
|
private expressionEvaluator;
|
|
910
|
+
private readonly commandService;
|
|
911
|
+
private readonly hookService;
|
|
823
912
|
private dialogResult?;
|
|
824
913
|
context: _angular_core.WritableSignal<any>;
|
|
825
|
-
callBack: (
|
|
914
|
+
callBack: (result: unknown) => void;
|
|
826
915
|
data: any;
|
|
827
916
|
private isDialogLoading;
|
|
828
917
|
footerPrefix: _angular_core.WritableSignal<AXPWidgetCoreElementAction[]>;
|
|
829
918
|
footerSuffix: _angular_core.WritableSignal<AXPWidgetCoreElementAction[]>;
|
|
919
|
+
/**
|
|
920
|
+
* Correlate layout context snapshots for distributed hooks (`layout-builder.dialog.context-changed`).
|
|
921
|
+
*/
|
|
922
|
+
private readonly contextChangedHooksSessionKey;
|
|
830
923
|
ngOnInit(): void;
|
|
831
924
|
private layoutRenderer;
|
|
832
925
|
private debounceTimer?;
|
|
833
926
|
handleContextChanged(event: any): void;
|
|
834
927
|
handleContextInitiated(event: any): void;
|
|
928
|
+
private invokeLayoutContextChangedHooks;
|
|
835
929
|
footerPrefixActions(): AXPWidgetCoreElementAction[];
|
|
836
930
|
footerSuffixActions(): AXPWidgetCoreElementAction[];
|
|
837
931
|
isFormLoading(): boolean;
|
|
838
932
|
isSubmitting(): boolean;
|
|
839
933
|
executeAction(action: AXPWidgetCoreElementAction): Promise<void>;
|
|
934
|
+
/** Whether the layout form should be validated before running this footer command. */
|
|
935
|
+
private shouldValidateBeforeAction;
|
|
936
|
+
/** True when a footer handler or command result asks to leave the dialog open (`keepDialogOpen` on the result or `result.data`). */
|
|
937
|
+
private shouldKeepDialogOpenAfterCommandResult;
|
|
938
|
+
private createDialogRef;
|
|
939
|
+
private closeWithOptionalSkipValidate;
|
|
940
|
+
/** Resolves footer/widget action command to a string (e.g. `cancel`, `submit`, `widget:...`). */
|
|
941
|
+
private resolveActionCommandName;
|
|
840
942
|
private parseWidgetCommand;
|
|
841
|
-
private
|
|
943
|
+
private invokeWidget;
|
|
842
944
|
close(result?: DialogRendererResult): Promise<void>;
|
|
843
945
|
private aggregateAndEvaluateActions;
|
|
844
946
|
private collectWidgetActions;
|
|
845
947
|
private collectDialogActionsFromConfig;
|
|
846
948
|
private evaluatePredicates;
|
|
847
949
|
private evalBool;
|
|
950
|
+
/** Resolves footer action title when it contains {{ ... }} (e.g. wizard labels from dialog context). */
|
|
951
|
+
private evalActionTitle;
|
|
848
952
|
private resolveApi;
|
|
849
953
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPDialogRendererComponent, never>;
|
|
850
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPDialogRendererComponent, "axp-dialog-renderer", never, {
|
|
954
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPDialogRendererComponent, "axp-dialog-renderer", never, {}, { "result": "result"; }, never, never, true, never>;
|
|
955
|
+
}
|
|
956
|
+
|
|
957
|
+
/** Registration key for {@link AXPPreviewWidgetFieldCommand}; lives alone so `LayoutBuilderModule` can reference it without static-importing the command implementation. */
|
|
958
|
+
declare const AXP_PREVIEW_WIDGET_FIELD_COMMAND_KEY = "Widget:Preview";
|
|
959
|
+
|
|
960
|
+
/** See `AXP_PREVIEW_WIDGET_FIELD_COMMAND_KEY` in `preview-widget-field.command.key.ts`. */
|
|
961
|
+
interface AXPPreviewWidgetFieldCommandInput {
|
|
962
|
+
/** Widget node to render (same shape as `widget-field-configurator` model). */
|
|
963
|
+
widget?: AXPWidgetNode;
|
|
964
|
+
/**
|
|
965
|
+
* Alternate property name for the widget node (matches metadata definition `interface` field).
|
|
966
|
+
*/
|
|
967
|
+
interface?: AXPWidgetNode | string;
|
|
968
|
+
fieldName?: string;
|
|
969
|
+
fieldTitle?: AXPMultiLanguageString;
|
|
970
|
+
name?: string;
|
|
971
|
+
title?: AXPMultiLanguageString;
|
|
972
|
+
}
|
|
973
|
+
type AXPPreviewWidgetFieldInvocation = AXPPreviewWidgetFieldCommandInput & {
|
|
974
|
+
__context__?: {
|
|
975
|
+
data?: Record<string, unknown>;
|
|
976
|
+
options?: Record<string, unknown>;
|
|
977
|
+
};
|
|
978
|
+
};
|
|
979
|
+
/**
|
|
980
|
+
* Opens a dialog that previews a widget configuration (same behavior as the preview button on
|
|
981
|
+
* `axp-widget-field-configurator`). Invoked from that component and from entity list actions.
|
|
982
|
+
*/
|
|
983
|
+
declare class AXPPreviewWidgetFieldCommand implements AXPCommand<AXPPreviewWidgetFieldCommandInput, void> {
|
|
984
|
+
private readonly formBuilderService;
|
|
985
|
+
private readonly widgetRegistry;
|
|
986
|
+
private readonly translationService;
|
|
987
|
+
private readonly crudService;
|
|
988
|
+
execute(input: AXPPreviewWidgetFieldInvocation): Promise<AXPExecuteCommandResult<void>>;
|
|
989
|
+
private mergeInvocation;
|
|
990
|
+
private normalizeWidget;
|
|
991
|
+
private resolveFieldTitleLabel;
|
|
992
|
+
private isCancelDialogOutcome;
|
|
993
|
+
private resolveWidgetDisplayTitle;
|
|
994
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPPreviewWidgetFieldCommand, never>;
|
|
995
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPPreviewWidgetFieldCommand>;
|
|
851
996
|
}
|
|
852
997
|
|
|
853
|
-
export { AXPDialogRendererComponent, AXPLayoutBuilderService, AXPLayoutConversionService, AXPLayoutRendererComponent, LayoutBuilderModule };
|
|
854
|
-
export type { AXPDialogContainerOptions, AXPDialogRef, AXPDynamicFormDefinition, AXPDynamicFormDirection, AXPDynamicFormFieldDefinition, AXPDynamicFormGroupDefinition, AXPDynamicFormLook, AXPDynamicFormMode, AXPFieldsetContainerOptions, AXPFlexContainerOptions, AXPFormFieldOptions, AXPGridContainerOptions, AXPListWidgetColumn, AXPListWidgetOptions, AXPListWidgetRowCommand, AXPPageContainerOptions, AXPPanelContainerOptions, AXPStepDefinition, AXPStepWizardContainerOptions, AXPStepWizardDefinition, AXPStepWizardGuardPayload, AXPStepWizardStatus, AXPTabsetContainerOptions, AXPWidgetConfiguration, 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 };
|
|
998
|
+
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, AXP_PREVIEW_WIDGET_FIELD_COMMAND_KEY, LayoutBuilderModule };
|
|
999
|
+
export type { 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 };
|