@acorex/platform 20.3.0-next.14 → 20.3.0-next.16
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 +19 -19
- package/fesm2022/acorex-platform-auth.mjs.map +1 -1
- package/fesm2022/acorex-platform-common.mjs +99 -99
- package/fesm2022/acorex-platform-common.mjs.map +1 -1
- package/fesm2022/acorex-platform-core.mjs +42 -42
- package/fesm2022/acorex-platform-core.mjs.map +1 -1
- package/fesm2022/acorex-platform-domain.mjs +16 -16
- package/fesm2022/acorex-platform-domain.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-builder.mjs +1690 -1030
- package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-components.mjs +2189 -1567
- package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-designer.mjs +73 -73
- package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
- package/fesm2022/{acorex-platform-layout-entity-create-entity.command-CuueLekJ.mjs → acorex-platform-layout-entity-create-entity.command-CFBqiwfy.mjs} +4 -4
- package/fesm2022/{acorex-platform-layout-entity-create-entity.command-CuueLekJ.mjs.map → acorex-platform-layout-entity-create-entity.command-CFBqiwfy.mjs.map} +1 -1
- package/fesm2022/acorex-platform-layout-entity.mjs +160 -161
- package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-views.mjs +15 -15
- package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-widget-core.mjs +163 -74
- package/fesm2022/acorex-platform-layout-widget-core.mjs.map +1 -1
- package/fesm2022/{acorex-platform-layout-widgets-button-widget-designer.component-C82aG5Rf.mjs → acorex-platform-layout-widgets-button-widget-designer.component-BzsfTNs2.mjs} +4 -4
- package/fesm2022/{acorex-platform-layout-widgets-button-widget-designer.component-C82aG5Rf.mjs.map → acorex-platform-layout-widgets-button-widget-designer.component-BzsfTNs2.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-layout-widgets-extra-properties-schema-widget-edit.component-CMmz70I8.mjs → acorex-platform-layout-widgets-extra-properties-schema-widget-edit.component-Dvk76-2W.mjs} +4 -4
- package/fesm2022/{acorex-platform-layout-widgets-extra-properties-schema-widget-edit.component-CMmz70I8.mjs.map → acorex-platform-layout-widgets-extra-properties-schema-widget-edit.component-Dvk76-2W.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-layout-widgets-extra-properties-schema-widget-view.component-DDOyf7NG.mjs → acorex-platform-layout-widgets-extra-properties-schema-widget-view.component-BYLaipWi.mjs} +4 -4
- package/fesm2022/{acorex-platform-layout-widgets-extra-properties-schema-widget-view.component-DDOyf7NG.mjs.map → acorex-platform-layout-widgets-extra-properties-schema-widget-view.component-BYLaipWi.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-layout-widgets-extra-properties-values-widget-edit.component-flsveRJc.mjs → acorex-platform-layout-widgets-extra-properties-values-widget-edit.component-DcSllNik.mjs} +4 -4
- package/fesm2022/{acorex-platform-layout-widgets-extra-properties-values-widget-edit.component-flsveRJc.mjs.map → acorex-platform-layout-widgets-extra-properties-values-widget-edit.component-DcSllNik.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-layout-widgets-extra-properties-values-widget-view.component-CFXLM9Ls.mjs → acorex-platform-layout-widgets-extra-properties-values-widget-view.component-BT-U4BiA.mjs} +4 -4
- package/fesm2022/{acorex-platform-layout-widgets-extra-properties-values-widget-view.component-CFXLM9Ls.mjs.map → acorex-platform-layout-widgets-extra-properties-values-widget-view.component-BT-U4BiA.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-layout-widgets-extra-properties-widget-edit.component-1Wd5IUpo.mjs → acorex-platform-layout-widgets-extra-properties-widget-edit.component-Il7jnRBg.mjs} +4 -4
- package/fesm2022/{acorex-platform-layout-widgets-extra-properties-widget-edit.component-1Wd5IUpo.mjs.map → acorex-platform-layout-widgets-extra-properties-widget-edit.component-Il7jnRBg.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-layout-widgets-extra-properties-widget-view.component-WLyXXg19.mjs → acorex-platform-layout-widgets-extra-properties-widget-view.component-CBEPu7Fl.mjs} +4 -4
- package/fesm2022/{acorex-platform-layout-widgets-extra-properties-widget-view.component-WLyXXg19.mjs.map → acorex-platform-layout-widgets-extra-properties-widget-view.component-CBEPu7Fl.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-layout-widgets-file-list-popup.component-DxTXIO_k.mjs → acorex-platform-layout-widgets-file-list-popup.component-BPzn8lr3.mjs} +5 -5
- package/fesm2022/acorex-platform-layout-widgets-file-list-popup.component-BPzn8lr3.mjs.map +1 -0
- package/fesm2022/{acorex-platform-layout-widgets-page-widget-designer.component-44YSAqDc.mjs → acorex-platform-layout-widgets-page-widget-designer.component-C_JrGoXy.mjs} +4 -4
- package/fesm2022/{acorex-platform-layout-widgets-page-widget-designer.component-44YSAqDc.mjs.map → acorex-platform-layout-widgets-page-widget-designer.component-C_JrGoXy.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-layout-widgets-tabular-data-edit-popup.component-Dat0cqWe.mjs → acorex-platform-layout-widgets-tabular-data-edit-popup.component-C6DaBt_N.mjs} +4 -4
- package/fesm2022/{acorex-platform-layout-widgets-tabular-data-edit-popup.component-Dat0cqWe.mjs.map → acorex-platform-layout-widgets-tabular-data-edit-popup.component-C6DaBt_N.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-layout-widgets-tabular-data-view-popup.component-CtJBzqq_.mjs → acorex-platform-layout-widgets-tabular-data-view-popup.component-Bth3jI9T.mjs} +4 -4
- package/fesm2022/{acorex-platform-layout-widgets-tabular-data-view-popup.component-CtJBzqq_.mjs.map → acorex-platform-layout-widgets-tabular-data-view-popup.component-Bth3jI9T.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-layout-widgets-text-block-widget-designer.component-Djpj1fNO.mjs → acorex-platform-layout-widgets-text-block-widget-designer.component-CUHptbP4.mjs} +4 -4
- package/fesm2022/{acorex-platform-layout-widgets-text-block-widget-designer.component-Djpj1fNO.mjs.map → acorex-platform-layout-widgets-text-block-widget-designer.component-CUHptbP4.mjs.map} +1 -1
- package/fesm2022/acorex-platform-layout-widgets.mjs +697 -664
- package/fesm2022/acorex-platform-layout-widgets.mjs.map +1 -1
- package/fesm2022/acorex-platform-native.mjs +7 -7
- package/fesm2022/acorex-platform-native.mjs.map +1 -1
- package/fesm2022/acorex-platform-runtime.mjs +40 -40
- package/fesm2022/acorex-platform-runtime.mjs.map +1 -1
- package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-oOA674Jd.mjs → acorex-platform-themes-default-entity-master-create-view.component-eGzN6g2Y.mjs} +4 -4
- package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-oOA674Jd.mjs.map → acorex-platform-themes-default-entity-master-create-view.component-eGzN6g2Y.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-themes-default-entity-master-list-view.component-Bk4p9oHD.mjs → acorex-platform-themes-default-entity-master-list-view.component-DjNvH3OA.mjs} +10 -10
- package/fesm2022/{acorex-platform-themes-default-entity-master-list-view.component-Bk4p9oHD.mjs.map → acorex-platform-themes-default-entity-master-list-view.component-DjNvH3OA.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-themes-default-entity-master-modify-view.component-CrDQOCpB.mjs → acorex-platform-themes-default-entity-master-modify-view.component-HJyalvcu.mjs} +4 -4
- package/fesm2022/{acorex-platform-themes-default-entity-master-modify-view.component-CrDQOCpB.mjs.map → acorex-platform-themes-default-entity-master-modify-view.component-HJyalvcu.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-themes-default-entity-master-single-view.component-CT-1gX4H.mjs → acorex-platform-themes-default-entity-master-single-view.component-e7m70Wls.mjs} +7 -7
- package/fesm2022/{acorex-platform-themes-default-entity-master-single-view.component-CT-1gX4H.mjs.map → acorex-platform-themes-default-entity-master-single-view.component-e7m70Wls.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-themes-default-error-401.component-CHJFmJ2W.mjs → acorex-platform-themes-default-error-401.component-CoBaQFTn.mjs} +4 -4
- package/fesm2022/{acorex-platform-themes-default-error-401.component-CHJFmJ2W.mjs.map → acorex-platform-themes-default-error-401.component-CoBaQFTn.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-themes-default-error-404.component-Db8KkVIF.mjs → acorex-platform-themes-default-error-404.component-BLlVOsS2.mjs} +4 -4
- package/fesm2022/{acorex-platform-themes-default-error-404.component-Db8KkVIF.mjs.map → acorex-platform-themes-default-error-404.component-BLlVOsS2.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-themes-default-error-offline.component-DH39Viy-.mjs → acorex-platform-themes-default-error-offline.component-CybYQI9F.mjs} +4 -4
- package/fesm2022/{acorex-platform-themes-default-error-offline.component-DH39Viy-.mjs.map → acorex-platform-themes-default-error-offline.component-CybYQI9F.mjs.map} +1 -1
- package/fesm2022/acorex-platform-themes-default.mjs +39 -39
- package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
- package/fesm2022/{acorex-platform-themes-shared-icon-chooser-view.component-mFBYGE0_.mjs → acorex-platform-themes-shared-icon-chooser-view.component-ReKSoVeN.mjs} +4 -4
- package/fesm2022/{acorex-platform-themes-shared-icon-chooser-view.component-mFBYGE0_.mjs.map → acorex-platform-themes-shared-icon-chooser-view.component-ReKSoVeN.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-themes-shared-theme-color-chooser-column.component-viyyova6.mjs → acorex-platform-themes-shared-theme-color-chooser-column.component-B2HDyY2z.mjs} +4 -4
- package/fesm2022/{acorex-platform-themes-shared-theme-color-chooser-column.component-viyyova6.mjs.map → acorex-platform-themes-shared-theme-color-chooser-column.component-B2HDyY2z.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-themes-shared-theme-color-chooser-view.component-BrUtKTXd.mjs → acorex-platform-themes-shared-theme-color-chooser-view.component-CeZxa49U.mjs} +4 -4
- package/fesm2022/{acorex-platform-themes-shared-theme-color-chooser-view.component-BrUtKTXd.mjs.map → acorex-platform-themes-shared-theme-color-chooser-view.component-CeZxa49U.mjs.map} +1 -1
- package/fesm2022/acorex-platform-themes-shared.mjs +42 -42
- package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
- package/fesm2022/acorex-platform-workflow.mjs +25 -25
- package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
- package/layout/builder/index.d.ts +458 -237
- package/layout/components/index.d.ts +130 -42
- package/layout/widget-core/index.d.ts +8 -1
- package/layout/widgets/index.d.ts +80 -2
- package/package.json +6 -6
- package/fesm2022/acorex-platform-layout-widgets-file-list-popup.component-DxTXIO_k.mjs.map +0 -1
|
@@ -1,13 +1,148 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { OnInit } from '@angular/core';
|
|
2
|
+
import { OnInit, EventEmitter } from '@angular/core';
|
|
3
3
|
import * as i1 from '@angular/common';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
4
|
+
import { AXPWidgetNode, AXPWidgetCoreContextChangeEvent, AXPWidgetContainerComponent, AXPWidgetRenderMode } from '@acorex/platform/layout/widget-core';
|
|
5
|
+
import { AXFormComponent } from '@acorex/components/form';
|
|
6
|
+
import { AXPDynamicFormDefinition, AXPDynamicFormLook, AXPDynamicFormMode, AXPDialogRef } from '@acorex/platform/layout/components';
|
|
7
|
+
import { AXValidationSummary } from '@acorex/core/validation';
|
|
8
|
+
import { AXDataSource } from '@acorex/cdk/common';
|
|
9
|
+
import { AXPopupSizeType } from '@acorex/components/popup';
|
|
10
|
+
import { AXPExpression, AXPGridLayoutOptions, AXPValidationRules, AXPActionMenuItem, AXPOptionsData } from '@acorex/platform/core';
|
|
11
|
+
import { AXBasePageComponent } from '@acorex/components/page';
|
|
6
12
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
13
|
+
declare class AXPLayoutRendererComponent implements OnInit {
|
|
14
|
+
#private;
|
|
15
|
+
private evaluatorService;
|
|
16
|
+
private conversionService;
|
|
17
|
+
/**
|
|
18
|
+
* Tracks the latest scheduled evaluation to ensure last-write-wins for async evaluate
|
|
19
|
+
*/
|
|
20
|
+
private evaluationRunId;
|
|
21
|
+
/**
|
|
22
|
+
* RxJS subjects for context management
|
|
23
|
+
*/
|
|
24
|
+
private contextUpdateSubject;
|
|
25
|
+
private contextChangeSubject;
|
|
26
|
+
/**
|
|
27
|
+
* Cache for expression evaluation results
|
|
28
|
+
*/
|
|
29
|
+
private expressionCache;
|
|
30
|
+
/**
|
|
31
|
+
* Cache for widget tree comparisons
|
|
32
|
+
*/
|
|
33
|
+
private widgetTreeCache;
|
|
34
|
+
/**
|
|
35
|
+
* Last layout hash for change detection
|
|
36
|
+
*/
|
|
37
|
+
private lastLayoutHash;
|
|
38
|
+
/**
|
|
39
|
+
* Form definition containing groups and fields OR widget tree
|
|
40
|
+
*/
|
|
41
|
+
layout: i0.InputSignal<AXPWidgetNode | AXPDynamicFormDefinition>;
|
|
42
|
+
/**
|
|
43
|
+
* Form context/model data
|
|
44
|
+
*/
|
|
45
|
+
context: i0.ModelSignal<any>;
|
|
46
|
+
/**
|
|
47
|
+
* Form appearance and density styling (normal, compact, spacious)
|
|
48
|
+
*/
|
|
49
|
+
look: i0.InputSignal<AXPDynamicFormLook>;
|
|
50
|
+
/**
|
|
51
|
+
* Default form mode. Can be overridden by section/group and field.
|
|
52
|
+
*/
|
|
53
|
+
mode: i0.InputSignal<AXPDynamicFormMode>;
|
|
54
|
+
protected widgetTree: i0.WritableSignal<AXPWidgetNode | null>;
|
|
55
|
+
/**
|
|
56
|
+
* Convert and evaluate data when inputs change (optimized with RxJS)
|
|
57
|
+
*/
|
|
58
|
+
conversionEffect: i0.EffectRef;
|
|
59
|
+
protected expressionEvaluator(expression: any, context: any): Promise<any>;
|
|
60
|
+
/**
|
|
61
|
+
* Emitted when context change is initiated
|
|
62
|
+
*/
|
|
63
|
+
contextInitiated: i0.OutputEmitterRef<any>;
|
|
64
|
+
/**
|
|
65
|
+
* Emitted when form becomes valid/invalid
|
|
66
|
+
*/
|
|
67
|
+
validityChange: i0.OutputEmitterRef<boolean>;
|
|
68
|
+
private form;
|
|
69
|
+
private container;
|
|
70
|
+
/**
|
|
71
|
+
* Internal context signal for reactivity
|
|
72
|
+
*/
|
|
73
|
+
protected internalContext: i0.WritableSignal<any>;
|
|
74
|
+
ngOnInit(): void;
|
|
75
|
+
/**
|
|
76
|
+
* Handle context change events from widget container (optimized with RxJS)
|
|
77
|
+
*/
|
|
78
|
+
protected handleContextChanged(event: AXPWidgetCoreContextChangeEvent): void;
|
|
79
|
+
/**
|
|
80
|
+
* Get the form component instance
|
|
81
|
+
*/
|
|
82
|
+
getForm(): AXFormComponent | undefined;
|
|
83
|
+
/**
|
|
84
|
+
* Get the widget container component instance
|
|
85
|
+
*/
|
|
86
|
+
getContainer(): AXPWidgetContainerComponent | undefined;
|
|
87
|
+
/**
|
|
88
|
+
* Get current form context
|
|
89
|
+
*/
|
|
90
|
+
getContext(): any;
|
|
91
|
+
/**
|
|
92
|
+
* Update form context programmatically
|
|
93
|
+
*/
|
|
94
|
+
updateContext(context: any): void;
|
|
95
|
+
/**
|
|
96
|
+
* Get the current widget tree
|
|
97
|
+
*/
|
|
98
|
+
getWidgetTree(): AXPWidgetNode | null;
|
|
99
|
+
/**
|
|
100
|
+
* Validate the form
|
|
101
|
+
*/
|
|
102
|
+
validate(): Promise<AXValidationSummary>;
|
|
103
|
+
/**
|
|
104
|
+
* Setup RxJS streams for context management
|
|
105
|
+
*/
|
|
106
|
+
private setupContextStreams;
|
|
107
|
+
/**
|
|
108
|
+
* Type guard to check if the input is a form definition
|
|
109
|
+
*/
|
|
110
|
+
private isFormDefinition;
|
|
111
|
+
/**
|
|
112
|
+
* Generate layout hash for change detection (short hash)
|
|
113
|
+
*/
|
|
114
|
+
private generateLayoutHash;
|
|
115
|
+
/**
|
|
116
|
+
* Generate cache key for expression evaluation (short hash)
|
|
117
|
+
*/
|
|
118
|
+
private generateCacheKey;
|
|
119
|
+
/**
|
|
120
|
+
* Generate a simple hash for context change detection
|
|
121
|
+
*/
|
|
122
|
+
private generateContextHash;
|
|
123
|
+
/**
|
|
124
|
+
* Simple hash function for generating short keys
|
|
125
|
+
*/
|
|
126
|
+
private simpleHash;
|
|
127
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPLayoutRendererComponent, never>;
|
|
128
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AXPLayoutRendererComponent, "axp-layout-renderer", never, { "layout": { "alias": "layout"; "required": true; "isSignal": true; }; "context": { "alias": "context"; "required": false; "isSignal": true; }; "look": { "alias": "look"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; }, { "context": "contextChange"; "contextInitiated": "contextInitiated"; "validityChange": "validityChange"; }, never, never, true, never>;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
declare class LayoutBuilderModule {
|
|
132
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<LayoutBuilderModule, never>;
|
|
133
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<LayoutBuilderModule, never, [typeof i1.CommonModule, typeof AXPLayoutRendererComponent], [typeof AXPLayoutRendererComponent]>;
|
|
134
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<LayoutBuilderModule>;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
interface LayoutWidgetOptions {
|
|
138
|
+
name?: string;
|
|
139
|
+
}
|
|
140
|
+
interface ValueWidgetOptions extends LayoutWidgetOptions {
|
|
141
|
+
path: string;
|
|
142
|
+
defaultValue?: any;
|
|
143
|
+
validations?: AXPValidationRules;
|
|
144
|
+
}
|
|
145
|
+
interface TextBoxOptions extends ValueWidgetOptions {
|
|
11
146
|
placeholder?: string;
|
|
12
147
|
maxLength?: number;
|
|
13
148
|
minLength?: number;
|
|
@@ -15,23 +150,24 @@ interface TextBoxOptions {
|
|
|
15
150
|
suffix?: string;
|
|
16
151
|
clearButton?: boolean;
|
|
17
152
|
}
|
|
18
|
-
interface NumberBoxOptions {
|
|
153
|
+
interface NumberBoxOptions extends ValueWidgetOptions {
|
|
19
154
|
min?: number;
|
|
20
155
|
max?: number;
|
|
21
156
|
step?: number;
|
|
22
157
|
placeholder?: string;
|
|
23
158
|
format?: string;
|
|
24
159
|
}
|
|
25
|
-
interface SelectBoxOptions {
|
|
26
|
-
|
|
160
|
+
interface SelectBoxOptions extends ValueWidgetOptions {
|
|
161
|
+
dataSource: any[] | (() => any[]) | (() => Promise<any[]>) | AXDataSource<any>;
|
|
27
162
|
valueField?: string;
|
|
28
163
|
textField?: string;
|
|
29
164
|
placeholder?: string;
|
|
30
165
|
multiple?: boolean;
|
|
31
166
|
searchable?: boolean;
|
|
32
167
|
clearButton?: boolean;
|
|
168
|
+
allowSearch?: boolean;
|
|
33
169
|
}
|
|
34
|
-
interface DateTimeBoxOptions {
|
|
170
|
+
interface DateTimeBoxOptions extends ValueWidgetOptions {
|
|
35
171
|
type?: 'date' | 'time' | 'datetime';
|
|
36
172
|
format?: string;
|
|
37
173
|
min?: Date | string;
|
|
@@ -39,24 +175,24 @@ interface DateTimeBoxOptions {
|
|
|
39
175
|
placeholder?: string;
|
|
40
176
|
clearButton?: boolean;
|
|
41
177
|
}
|
|
42
|
-
interface ToggleSwitchOptions {
|
|
178
|
+
interface ToggleSwitchOptions extends ValueWidgetOptions {
|
|
43
179
|
label?: string;
|
|
44
180
|
trueText?: string;
|
|
45
181
|
falseText?: string;
|
|
46
182
|
}
|
|
47
|
-
interface LargeTextBoxOptions {
|
|
183
|
+
interface LargeTextBoxOptions extends ValueWidgetOptions {
|
|
48
184
|
rows?: number;
|
|
49
185
|
maxLength?: number;
|
|
50
186
|
minLength?: number;
|
|
51
187
|
placeholder?: string;
|
|
52
188
|
resizable?: boolean;
|
|
53
189
|
}
|
|
54
|
-
interface ColorBoxOptions {
|
|
190
|
+
interface ColorBoxOptions extends ValueWidgetOptions {
|
|
55
191
|
format?: 'hex' | 'rgb' | 'hsl';
|
|
56
192
|
showAlpha?: boolean;
|
|
57
193
|
showPalette?: boolean;
|
|
58
194
|
}
|
|
59
|
-
interface AXPFlexContainerOptions {
|
|
195
|
+
interface AXPFlexContainerOptions extends LayoutWidgetOptions {
|
|
60
196
|
flexDirection?: 'row' | 'column' | 'row-reverse' | 'column-reverse';
|
|
61
197
|
flexWrap?: 'nowrap' | 'wrap' | 'wrap-reverse';
|
|
62
198
|
justifyContent?: 'flex-start' | 'flex-end' | 'center' | 'space-between' | 'space-around' | 'space-evenly';
|
|
@@ -84,7 +220,7 @@ interface AXPFlexContainerOptions {
|
|
|
84
220
|
minHeight?: string;
|
|
85
221
|
maxHeight?: string;
|
|
86
222
|
}
|
|
87
|
-
interface AXPGridContainerOptions {
|
|
223
|
+
interface AXPGridContainerOptions extends LayoutWidgetOptions {
|
|
88
224
|
grid?: {
|
|
89
225
|
default?: {
|
|
90
226
|
columns?: number;
|
|
@@ -117,7 +253,7 @@ interface AXPGridContainerOptions {
|
|
|
117
253
|
minHeight?: string;
|
|
118
254
|
maxHeight?: string;
|
|
119
255
|
}
|
|
120
|
-
interface AXPPanelContainerOptions {
|
|
256
|
+
interface AXPPanelContainerOptions extends LayoutWidgetOptions {
|
|
121
257
|
caption?: string;
|
|
122
258
|
icon?: string;
|
|
123
259
|
look?: 'solid' | 'fill' | 'outline' | 'flat' | 'none';
|
|
@@ -125,7 +261,7 @@ interface AXPPanelContainerOptions {
|
|
|
125
261
|
showHeader?: boolean;
|
|
126
262
|
collapsed?: boolean;
|
|
127
263
|
}
|
|
128
|
-
interface AXPPageContainerOptions {
|
|
264
|
+
interface AXPPageContainerOptions extends LayoutWidgetOptions {
|
|
129
265
|
backgroundColor?: string;
|
|
130
266
|
theme?: {
|
|
131
267
|
id: string;
|
|
@@ -134,216 +270,198 @@ interface AXPPageContainerOptions {
|
|
|
134
270
|
hasFooter?: boolean;
|
|
135
271
|
direction?: string;
|
|
136
272
|
}
|
|
137
|
-
interface AXPTabsetContainerOptions {
|
|
273
|
+
interface AXPTabsetContainerOptions extends LayoutWidgetOptions {
|
|
138
274
|
look?: 'with-line' | 'with-line-color' | 'pills' | 'pills-color';
|
|
139
275
|
orientation?: 'vertical' | 'horizontal';
|
|
140
276
|
activeIndex?: number;
|
|
141
277
|
}
|
|
142
|
-
interface
|
|
278
|
+
interface AXPFieldsetContainerOptions extends LayoutWidgetOptions {
|
|
279
|
+
title?: string;
|
|
280
|
+
description?: string;
|
|
281
|
+
icon?: string;
|
|
282
|
+
collapsible?: boolean;
|
|
283
|
+
isOpen?: boolean;
|
|
284
|
+
look?: 'fieldset' | 'card' | 'group';
|
|
285
|
+
disabled?: boolean;
|
|
286
|
+
showHeader?: boolean;
|
|
287
|
+
cols?: number;
|
|
288
|
+
}
|
|
289
|
+
interface AXPFormFieldOptions extends LayoutWidgetOptions {
|
|
290
|
+
label?: string;
|
|
291
|
+
showLabel?: boolean;
|
|
292
|
+
}
|
|
293
|
+
interface AXPDialogContainerOptions extends LayoutWidgetOptions {
|
|
294
|
+
title?: string;
|
|
295
|
+
message?: string;
|
|
296
|
+
size?: AXPopupSizeType;
|
|
297
|
+
closeButton?: boolean;
|
|
298
|
+
context?: any;
|
|
299
|
+
}
|
|
300
|
+
interface RichTextOptions extends ValueWidgetOptions {
|
|
143
301
|
placeholder?: string;
|
|
144
302
|
toolbar?: string[];
|
|
145
303
|
readonly?: boolean;
|
|
146
304
|
}
|
|
147
|
-
interface PasswordBoxOptions {
|
|
305
|
+
interface PasswordBoxOptions extends ValueWidgetOptions {
|
|
148
306
|
placeholder?: string;
|
|
149
307
|
revealToggle?: boolean;
|
|
150
308
|
maxLength?: number;
|
|
151
309
|
}
|
|
152
|
-
interface LookupBoxOptions {
|
|
310
|
+
interface LookupBoxOptions extends ValueWidgetOptions {
|
|
153
311
|
dataSource?: any[] | (() => any[]) | (() => Promise<any[]>);
|
|
154
312
|
valueField?: string;
|
|
155
313
|
textField?: string;
|
|
156
314
|
searchable?: boolean;
|
|
315
|
+
entity?: string;
|
|
316
|
+
look?: string;
|
|
317
|
+
columns?: any[];
|
|
318
|
+
expose?: any[];
|
|
319
|
+
multiple?: boolean;
|
|
320
|
+
allowClear?: boolean;
|
|
157
321
|
}
|
|
158
|
-
interface SelectionListOptions {
|
|
159
|
-
|
|
322
|
+
interface SelectionListOptions extends ValueWidgetOptions {
|
|
323
|
+
dataSource: any[] | (() => any[]) | (() => Promise<any[]>) | AXDataSource<any>;
|
|
160
324
|
valueField?: string;
|
|
161
325
|
textField?: string;
|
|
162
326
|
multiple?: boolean;
|
|
163
327
|
searchable?: boolean;
|
|
328
|
+
placeholder?: string;
|
|
164
329
|
}
|
|
165
|
-
interface
|
|
166
|
-
|
|
167
|
-
|
|
330
|
+
interface AXPListWidgetColumn {
|
|
331
|
+
name: string;
|
|
332
|
+
title?: string;
|
|
333
|
+
visible?: boolean;
|
|
334
|
+
width?: string;
|
|
335
|
+
widget?: {
|
|
336
|
+
type: string;
|
|
337
|
+
path?: string;
|
|
338
|
+
options?: any;
|
|
339
|
+
};
|
|
168
340
|
}
|
|
169
|
-
interface
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
children?: AXPLayoutNodeDefinition[];
|
|
174
|
-
layout?: AXPGridLayoutOptions;
|
|
175
|
-
mode?: AXPLayoutMode;
|
|
176
|
-
order?: number | string;
|
|
177
|
-
visible?: boolean | string;
|
|
341
|
+
interface AXPListWidgetRowCommand {
|
|
342
|
+
title?: string;
|
|
343
|
+
icon?: string;
|
|
344
|
+
color?: string;
|
|
178
345
|
disabled?: boolean | string;
|
|
179
|
-
|
|
346
|
+
hidden?: boolean | string;
|
|
347
|
+
command?: any;
|
|
348
|
+
}
|
|
349
|
+
interface AXPListWidgetOptions extends LayoutWidgetOptions {
|
|
350
|
+
dataSource?: any[] | AXDataSource;
|
|
351
|
+
columns?: AXPListWidgetColumn[];
|
|
352
|
+
onRowClick?: (row: any) => void;
|
|
353
|
+
onRowDoubleClick?: (row: any) => void;
|
|
354
|
+
onSelectionChange?: (selectedRows: any[]) => void;
|
|
355
|
+
onRowCommand?: (command: any, selectedRows: any[]) => void;
|
|
356
|
+
paging?: boolean;
|
|
357
|
+
showHeader?: boolean;
|
|
358
|
+
showFooter?: boolean;
|
|
359
|
+
fixHeader?: boolean;
|
|
360
|
+
fixFooter?: boolean;
|
|
361
|
+
fetchDataMode?: 'auto' | 'manual';
|
|
362
|
+
parentField?: string;
|
|
363
|
+
minHeight?: string | number;
|
|
364
|
+
showIndex?: boolean;
|
|
365
|
+
allowSelection?: boolean;
|
|
366
|
+
primaryCommands?: any[];
|
|
367
|
+
secondaryCommands?: AXPListWidgetRowCommand[];
|
|
368
|
+
loading?: {
|
|
369
|
+
enabled?: boolean;
|
|
370
|
+
animation?: boolean;
|
|
371
|
+
};
|
|
180
372
|
}
|
|
181
|
-
interface
|
|
182
|
-
|
|
183
|
-
mode?: AXPLayoutMode;
|
|
184
|
-
direction?: AXPLayoutDirection;
|
|
185
|
-
look?: AXPLayoutLook;
|
|
186
|
-
layoutConfig?: AXPGridLayoutOptions;
|
|
187
|
-
}
|
|
188
|
-
interface LayoutBuilderState {
|
|
189
|
-
nodes: AXPLayoutNodeDefinition[];
|
|
190
|
-
mode: AXPLayoutMode;
|
|
191
|
-
direction: AXPLayoutDirection;
|
|
192
|
-
look: AXPLayoutLook;
|
|
193
|
-
layoutConfig: AXPGridLayoutOptions;
|
|
194
|
-
}
|
|
195
|
-
interface WidgetBuilderState {
|
|
196
|
-
id?: string;
|
|
197
|
-
name?: string;
|
|
198
|
-
type: 'widget';
|
|
199
|
-
widget?: AXPWidgetConfiguration;
|
|
200
|
-
children?: AXPLayoutNodeDefinition[];
|
|
201
|
-
layout?: AXPGridLayoutOptions;
|
|
202
|
-
mode?: AXPLayoutMode;
|
|
203
|
-
order?: number | string;
|
|
204
|
-
visible?: boolean | string;
|
|
373
|
+
interface InheritanceContext {
|
|
374
|
+
mode?: AXPWidgetRenderMode;
|
|
205
375
|
disabled?: boolean | string;
|
|
206
376
|
readonly?: boolean | string;
|
|
377
|
+
direction?: 'rtl' | 'ltr';
|
|
378
|
+
visible?: boolean | string;
|
|
379
|
+
}
|
|
380
|
+
interface InheritedProperties {
|
|
381
|
+
mode: AXPWidgetRenderMode;
|
|
382
|
+
disabled: boolean | string | undefined;
|
|
383
|
+
readonly: boolean | string | undefined;
|
|
384
|
+
direction: 'rtl' | 'ltr' | undefined;
|
|
385
|
+
visible: boolean | string | undefined;
|
|
386
|
+
}
|
|
387
|
+
interface AXPWidgetConfiguration {
|
|
388
|
+
type: string;
|
|
389
|
+
options?: AXPOptionsData;
|
|
390
|
+
}
|
|
391
|
+
type LayoutBuilderState = AXPWidgetNode;
|
|
392
|
+
type WidgetBuilderState = Omit<AXPWidgetNode, 'children'> & {
|
|
393
|
+
layout?: AXPGridLayoutOptions;
|
|
394
|
+
};
|
|
395
|
+
type FormFieldBuilderState = AXPWidgetNode & {
|
|
396
|
+
layout?: AXPGridLayoutOptions;
|
|
397
|
+
};
|
|
398
|
+
type DialogBuilderState = AXPWidgetNode & {
|
|
399
|
+
layout?: AXPGridLayoutOptions;
|
|
400
|
+
dialogOptions?: AXPDialogContainerOptions;
|
|
401
|
+
actions?: {
|
|
402
|
+
footer?: {
|
|
403
|
+
prefix?: AXPActionMenuItem[];
|
|
404
|
+
suffix?: AXPActionMenuItem[];
|
|
405
|
+
};
|
|
406
|
+
};
|
|
407
|
+
};
|
|
408
|
+
interface IActionBuilder {
|
|
409
|
+
cancel(text?: string): IActionBuilder;
|
|
410
|
+
submit(text?: string): IActionBuilder;
|
|
411
|
+
custom(action: AXPActionMenuItem): IActionBuilder;
|
|
207
412
|
}
|
|
208
413
|
interface ILayoutBuilder {
|
|
209
|
-
widget(name?: string, delegate?: (widget: IWidgetBuilder) => void): ILayoutBuilder;
|
|
210
414
|
grid(delegate: (container: IGridContainerBuilder) => void): ILayoutBuilder;
|
|
211
415
|
flex(delegate: (container: IFlexContainerBuilder) => void): ILayoutBuilder;
|
|
212
416
|
panel(delegate: (container: IPanelContainerBuilder) => void): ILayoutBuilder;
|
|
213
417
|
page(delegate: (container: IPageContainerBuilder) => void): ILayoutBuilder;
|
|
214
418
|
tabset(delegate: (container: ITabsetContainerBuilder) => void): ILayoutBuilder;
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
passwordBox(options?: PasswordBoxOptions): ILayoutBuilder;
|
|
219
|
-
numberBox(options?: NumberBoxOptions): ILayoutBuilder;
|
|
220
|
-
selectBox(options: SelectBoxOptions): ILayoutBuilder;
|
|
221
|
-
lookupBox(options: LookupBoxOptions): ILayoutBuilder;
|
|
222
|
-
selectionList(options: SelectionListOptions): ILayoutBuilder;
|
|
223
|
-
dateTimeBox(options?: DateTimeBoxOptions): ILayoutBuilder;
|
|
224
|
-
toggleSwitch(options?: ToggleSwitchOptions): ILayoutBuilder;
|
|
225
|
-
colorBox(options?: ColorBoxOptions): ILayoutBuilder;
|
|
226
|
-
customWidget(type: string, options?: any): ILayoutBuilder;
|
|
227
|
-
layout(config: Partial<AXPGridLayoutOptions>): ILayoutBuilder;
|
|
228
|
-
mode(mode: AXPLayoutMode): ILayoutBuilder;
|
|
229
|
-
direction(direction: AXPLayoutDirection): ILayoutBuilder;
|
|
230
|
-
look(look: AXPLayoutLook): ILayoutBuilder;
|
|
231
|
-
build(): AXPLayoutDefinition;
|
|
232
|
-
render(): AXPWidgetNode;
|
|
233
|
-
}
|
|
234
|
-
interface LayoutDefinition {
|
|
235
|
-
zones: {
|
|
236
|
-
[zoneId: string]: ZoneConfig;
|
|
237
|
-
};
|
|
238
|
-
styles?: {
|
|
239
|
-
[key: string]: any;
|
|
240
|
-
};
|
|
241
|
-
responsive?: ResponsiveConfig;
|
|
242
|
-
}
|
|
243
|
-
interface ZoneConfig {
|
|
244
|
-
layout?: LayoutTypeConfig;
|
|
245
|
-
styles?: {
|
|
246
|
-
[key: string]: any;
|
|
247
|
-
};
|
|
248
|
-
containers?: {
|
|
249
|
-
[containerId: string]: ContainerConfig;
|
|
250
|
-
};
|
|
251
|
-
order?: number;
|
|
252
|
-
}
|
|
253
|
-
interface ContainerConfig {
|
|
254
|
-
layout?: LayoutTypeConfig;
|
|
255
|
-
styles?: {
|
|
256
|
-
[key: string]: any;
|
|
257
|
-
};
|
|
258
|
-
}
|
|
259
|
-
interface LayoutTypeConfig {
|
|
260
|
-
type?: 'flex' | 'grid' | 'block';
|
|
261
|
-
flexDirection?: 'row' | 'column' | 'row-reverse' | 'column-reverse';
|
|
262
|
-
justifyContent?: 'flex-start' | 'flex-end' | 'center' | 'space-between' | 'space-around' | 'space-evenly';
|
|
263
|
-
alignItems?: 'flex-start' | 'flex-end' | 'center' | 'baseline' | 'stretch';
|
|
264
|
-
gap?: string;
|
|
265
|
-
grid?: {
|
|
266
|
-
columns?: number;
|
|
267
|
-
rows?: number;
|
|
268
|
-
gap?: string;
|
|
269
|
-
};
|
|
270
|
-
}
|
|
271
|
-
interface LayoutNode {
|
|
272
|
-
id: string;
|
|
273
|
-
type: string;
|
|
274
|
-
zone: string;
|
|
275
|
-
container?: string;
|
|
276
|
-
path?: string;
|
|
277
|
-
options?: any;
|
|
278
|
-
formula?: string;
|
|
279
|
-
triggers?: any[];
|
|
280
|
-
defaultValue?: any;
|
|
281
|
-
mode?: AXPLayoutMode;
|
|
282
|
-
layout?: NodeLayoutConfig;
|
|
283
|
-
}
|
|
284
|
-
interface NodeLayoutConfig {
|
|
285
|
-
width?: string;
|
|
286
|
-
height?: string;
|
|
287
|
-
order?: number;
|
|
288
|
-
flex?: string;
|
|
289
|
-
gridArea?: string;
|
|
290
|
-
}
|
|
291
|
-
interface ResponsiveConfig {
|
|
292
|
-
breakpoints?: {
|
|
293
|
-
mobile?: number;
|
|
294
|
-
tablet?: number;
|
|
295
|
-
desktop?: number;
|
|
296
|
-
};
|
|
297
|
-
}
|
|
298
|
-
interface LayoutRenderContext {
|
|
299
|
-
data?: any;
|
|
300
|
-
variables?: {
|
|
301
|
-
[key: string]: any;
|
|
302
|
-
};
|
|
303
|
-
functions?: {
|
|
304
|
-
[key: string]: Function;
|
|
305
|
-
};
|
|
419
|
+
fieldset(delegate: (container: IFieldsetContainerBuilder) => void): ILayoutBuilder;
|
|
420
|
+
dialog(delegate: (container: IDialogBuilder) => void): IDialogBuilder;
|
|
421
|
+
build(): AXPWidgetNode;
|
|
306
422
|
}
|
|
307
423
|
interface IWidgetBuilder {
|
|
308
|
-
|
|
424
|
+
name(name: string): IWidgetBuilder;
|
|
425
|
+
path(path: string): IWidgetBuilder;
|
|
426
|
+
type(type: string): IWidgetBuilder;
|
|
427
|
+
options(options: AXPOptionsData): IWidgetBuilder;
|
|
309
428
|
layout(config: Partial<AXPGridLayoutOptions>): IWidgetBuilder;
|
|
310
429
|
layout(colSpan: number): IWidgetBuilder;
|
|
311
|
-
mode(mode:
|
|
312
|
-
order(value: number | string): IWidgetBuilder;
|
|
430
|
+
mode(mode: AXPWidgetRenderMode): IWidgetBuilder;
|
|
313
431
|
visible(condition: boolean | string): IWidgetBuilder;
|
|
314
432
|
disabled(condition: boolean | string): IWidgetBuilder;
|
|
315
433
|
readonly(condition: boolean | string): IWidgetBuilder;
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
tabset(delegate: (container: ITabsetContainerBuilder) => void): IWidgetBuilder;
|
|
321
|
-
widget(name?: string, delegate?: (widget: IWidgetBuilder) => void): IWidgetBuilder;
|
|
322
|
-
textBox(options?: TextBoxOptions): IWidgetBuilder;
|
|
323
|
-
largeTextBox(options?: LargeTextBoxOptions): IWidgetBuilder;
|
|
324
|
-
richText(options?: RichTextOptions): IWidgetBuilder;
|
|
325
|
-
passwordBox(options?: PasswordBoxOptions): IWidgetBuilder;
|
|
326
|
-
numberBox(options?: NumberBoxOptions): IWidgetBuilder;
|
|
327
|
-
selectBox(options: SelectBoxOptions): IWidgetBuilder;
|
|
328
|
-
lookupBox(options: LookupBoxOptions): IWidgetBuilder;
|
|
329
|
-
selectionList(options: SelectionListOptions): IWidgetBuilder;
|
|
330
|
-
dateTimeBox(options?: DateTimeBoxOptions): IWidgetBuilder;
|
|
331
|
-
toggleSwitch(options?: ToggleSwitchOptions): IWidgetBuilder;
|
|
332
|
-
colorBox(options?: ColorBoxOptions): IWidgetBuilder;
|
|
333
|
-
customWidget<T>(type: string, options?: T): IWidgetBuilder;
|
|
334
|
-
build(): AXPLayoutNodeDefinition;
|
|
434
|
+
direction(direction: 'rtl' | 'ltr'): IWidgetBuilder;
|
|
435
|
+
withInheritanceContext(context: InheritanceContext): IWidgetBuilder;
|
|
436
|
+
getInheritanceContext(): InheritanceContext;
|
|
437
|
+
build(): AXPWidgetNode;
|
|
335
438
|
}
|
|
336
439
|
interface IBaseContainerBuilder<TContainer = any> {
|
|
337
|
-
|
|
440
|
+
name(name: string): TContainer;
|
|
441
|
+
path(path: string): TContainer;
|
|
442
|
+
mode(mode: AXPWidgetRenderMode): TContainer;
|
|
443
|
+
visible(condition: boolean | AXPExpression): TContainer;
|
|
444
|
+
disabled(condition: boolean | AXPExpression): TContainer;
|
|
445
|
+
readonly(condition: boolean | AXPExpression): TContainer;
|
|
446
|
+
direction(direction: 'rtl' | 'ltr'): TContainer;
|
|
447
|
+
withInheritanceContext(context: InheritanceContext): TContainer;
|
|
448
|
+
getInheritanceContext(): InheritanceContext;
|
|
449
|
+
build(): AXPWidgetNode;
|
|
450
|
+
}
|
|
451
|
+
interface ILayoutContainerBuilder<TContainer = any> {
|
|
338
452
|
layout(config: Partial<AXPGridLayoutOptions>): TContainer;
|
|
339
453
|
layout(colSpan: number): TContainer;
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
454
|
+
}
|
|
455
|
+
interface IChildContainerBuilder<TContainer = any> {
|
|
456
|
+
grid(delegate: (container: IGridContainerBuilder) => void): TContainer;
|
|
457
|
+
flex(delegate: (container: IFlexContainerBuilder) => void): TContainer;
|
|
458
|
+
panel(delegate: (container: IPanelContainerBuilder) => void): TContainer;
|
|
459
|
+
page(delegate: (container: IPageContainerBuilder) => void): TContainer;
|
|
460
|
+
tabset(delegate: (container: ITabsetContainerBuilder) => void): TContainer;
|
|
461
|
+
fieldset(delegate: (container: IFieldsetContainerBuilder) => void): TContainer;
|
|
462
|
+
formField(label: string, delegate?: (field: IFormFieldBuilder) => void): TContainer;
|
|
463
|
+
}
|
|
464
|
+
interface IWidgetContainerBuilder<TContainer = any> {
|
|
347
465
|
textBox(options?: TextBoxOptions): TContainer;
|
|
348
466
|
largeTextBox(options?: LargeTextBoxOptions): TContainer;
|
|
349
467
|
richText(options?: RichTextOptions): TContainer;
|
|
@@ -355,13 +473,13 @@ interface IBaseContainerBuilder<TContainer = any> {
|
|
|
355
473
|
dateTimeBox(options?: DateTimeBoxOptions): TContainer;
|
|
356
474
|
toggleSwitch(options?: ToggleSwitchOptions): TContainer;
|
|
357
475
|
colorBox(options?: ColorBoxOptions): TContainer;
|
|
476
|
+
list(delegate: (container: IListWidgetBuilder) => void): TContainer;
|
|
358
477
|
customWidget<T>(type: string, options?: T): TContainer;
|
|
359
|
-
build(): AXPLayoutNodeDefinition;
|
|
360
478
|
}
|
|
361
|
-
interface IFlexContainerBuilder extends IBaseContainerBuilder<IFlexContainerBuilder> {
|
|
479
|
+
interface IFlexContainerBuilder extends IBaseContainerBuilder<IFlexContainerBuilder>, ILayoutContainerBuilder<IFlexContainerBuilder>, IChildContainerBuilder<IFlexContainerBuilder>, IWidgetContainerBuilder<IFlexContainerBuilder> {
|
|
362
480
|
setOptions(options: AXPFlexContainerOptions): IFlexContainerBuilder;
|
|
363
|
-
|
|
364
|
-
|
|
481
|
+
setDirection(direction: 'row' | 'column' | 'row-reverse' | 'column-reverse'): IFlexContainerBuilder;
|
|
482
|
+
setWrap(wrap: 'nowrap' | 'wrap' | 'wrap-reverse'): IFlexContainerBuilder;
|
|
365
483
|
setJustifyContent(justify: 'flex-start' | 'flex-end' | 'center' | 'space-between' | 'space-around' | 'space-evenly'): IFlexContainerBuilder;
|
|
366
484
|
setAlignItems(align: 'flex-start' | 'flex-end' | 'center' | 'baseline' | 'stretch'): IFlexContainerBuilder;
|
|
367
485
|
setGap(gap: string): IFlexContainerBuilder;
|
|
@@ -369,7 +487,7 @@ interface IFlexContainerBuilder extends IBaseContainerBuilder<IFlexContainerBuil
|
|
|
369
487
|
setPadding(padding: string): IFlexContainerBuilder;
|
|
370
488
|
setMargin(margin: string): IFlexContainerBuilder;
|
|
371
489
|
}
|
|
372
|
-
interface IGridContainerBuilder extends IBaseContainerBuilder<IGridContainerBuilder> {
|
|
490
|
+
interface IGridContainerBuilder extends IBaseContainerBuilder<IGridContainerBuilder>, ILayoutContainerBuilder<IGridContainerBuilder>, IChildContainerBuilder<IGridContainerBuilder>, IWidgetContainerBuilder<IGridContainerBuilder> {
|
|
373
491
|
setOptions(options: AXPGridContainerOptions): IGridContainerBuilder;
|
|
374
492
|
setColumns(columns: number): IGridContainerBuilder;
|
|
375
493
|
setRows(rows: number): IGridContainerBuilder;
|
|
@@ -381,7 +499,7 @@ interface IGridContainerBuilder extends IBaseContainerBuilder<IGridContainerBuil
|
|
|
381
499
|
setPadding(padding: string): IGridContainerBuilder;
|
|
382
500
|
setMargin(margin: string): IGridContainerBuilder;
|
|
383
501
|
}
|
|
384
|
-
interface IPanelContainerBuilder extends IBaseContainerBuilder<IPanelContainerBuilder> {
|
|
502
|
+
interface IPanelContainerBuilder extends IBaseContainerBuilder<IPanelContainerBuilder>, ILayoutContainerBuilder<IPanelContainerBuilder>, IChildContainerBuilder<IPanelContainerBuilder>, IWidgetContainerBuilder<IPanelContainerBuilder> {
|
|
385
503
|
setOptions(options: AXPPanelContainerOptions): IPanelContainerBuilder;
|
|
386
504
|
setCaption(caption: string): IPanelContainerBuilder;
|
|
387
505
|
setIcon(icon: string): IPanelContainerBuilder;
|
|
@@ -389,7 +507,7 @@ interface IPanelContainerBuilder extends IBaseContainerBuilder<IPanelContainerBu
|
|
|
389
507
|
setShowHeader(show: boolean): IPanelContainerBuilder;
|
|
390
508
|
setCollapsed(collapsed: boolean): IPanelContainerBuilder;
|
|
391
509
|
}
|
|
392
|
-
interface IPageContainerBuilder extends IBaseContainerBuilder<IPageContainerBuilder> {
|
|
510
|
+
interface IPageContainerBuilder extends IBaseContainerBuilder<IPageContainerBuilder>, ILayoutContainerBuilder<IPageContainerBuilder>, IChildContainerBuilder<IPageContainerBuilder>, IWidgetContainerBuilder<IPageContainerBuilder> {
|
|
393
511
|
setOptions(options: AXPPageContainerOptions): IPageContainerBuilder;
|
|
394
512
|
setBackgroundColor(color: string): IPageContainerBuilder;
|
|
395
513
|
setTheme(theme: {
|
|
@@ -397,89 +515,192 @@ interface IPageContainerBuilder extends IBaseContainerBuilder<IPageContainerBuil
|
|
|
397
515
|
}): IPageContainerBuilder;
|
|
398
516
|
setHasHeader(hasHeader: boolean): IPageContainerBuilder;
|
|
399
517
|
setHasFooter(hasFooter: boolean): IPageContainerBuilder;
|
|
400
|
-
setDirection(direction:
|
|
518
|
+
setDirection(direction: 'rtl' | 'ltr'): IPageContainerBuilder;
|
|
401
519
|
}
|
|
402
|
-
interface ITabsetContainerBuilder extends IBaseContainerBuilder<ITabsetContainerBuilder> {
|
|
520
|
+
interface ITabsetContainerBuilder extends IBaseContainerBuilder<ITabsetContainerBuilder>, ILayoutContainerBuilder<ITabsetContainerBuilder>, IChildContainerBuilder<ITabsetContainerBuilder>, IWidgetContainerBuilder<ITabsetContainerBuilder> {
|
|
403
521
|
setOptions(options: AXPTabsetContainerOptions): ITabsetContainerBuilder;
|
|
404
522
|
setLook(look: 'with-line' | 'with-line-color' | 'pills' | 'pills-color'): ITabsetContainerBuilder;
|
|
405
523
|
setOrientation(orientation: 'vertical' | 'horizontal'): ITabsetContainerBuilder;
|
|
406
524
|
setActiveIndex(index: number): ITabsetContainerBuilder;
|
|
407
525
|
}
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
526
|
+
interface IFormFieldBuilder extends IBaseContainerBuilder<IFormFieldBuilder>, ILayoutContainerBuilder<IFormFieldBuilder> {
|
|
527
|
+
setOptions(options: AXPFormFieldOptions): IFormFieldBuilder;
|
|
528
|
+
setLabel(label: string): IFormFieldBuilder;
|
|
529
|
+
setShowLabel(showLabel: boolean): IFormFieldBuilder;
|
|
530
|
+
textBox(options?: Omit<TextBoxOptions, 'path'>): IFormFieldBuilder;
|
|
531
|
+
largeTextBox(options?: Omit<LargeTextBoxOptions, 'path'>): IFormFieldBuilder;
|
|
532
|
+
richText(options?: Omit<RichTextOptions, 'path'>): IFormFieldBuilder;
|
|
533
|
+
passwordBox(options?: Omit<PasswordBoxOptions, 'path'>): IFormFieldBuilder;
|
|
534
|
+
numberBox(options?: Omit<NumberBoxOptions, 'path'>): IFormFieldBuilder;
|
|
535
|
+
selectBox(options: Omit<SelectBoxOptions, 'path'>): IFormFieldBuilder;
|
|
536
|
+
lookupBox(options: Omit<LookupBoxOptions, 'path'>): IFormFieldBuilder;
|
|
537
|
+
selectionList(options: Omit<SelectionListOptions, 'path'>): IFormFieldBuilder;
|
|
538
|
+
dateTimeBox(options?: Omit<DateTimeBoxOptions, 'path'>): IFormFieldBuilder;
|
|
539
|
+
toggleSwitch(options?: Omit<ToggleSwitchOptions, 'path'>): IFormFieldBuilder;
|
|
540
|
+
colorBox(options?: Omit<ColorBoxOptions, 'path'>): IFormFieldBuilder;
|
|
541
|
+
customWidget<T>(type: string, options?: Omit<T, 'path'>): IFormFieldBuilder;
|
|
542
|
+
}
|
|
543
|
+
interface IFieldsetContainerBuilder extends IBaseContainerBuilder<IFieldsetContainerBuilder>, ILayoutContainerBuilder<IFieldsetContainerBuilder> {
|
|
544
|
+
setOptions(options: AXPFieldsetContainerOptions): IFieldsetContainerBuilder;
|
|
545
|
+
setTitle(title: string): IFieldsetContainerBuilder;
|
|
546
|
+
setDescription(description: string): IFieldsetContainerBuilder;
|
|
547
|
+
setIcon(icon: string): IFieldsetContainerBuilder;
|
|
548
|
+
setCollapsible(collapsible: boolean): IFieldsetContainerBuilder;
|
|
549
|
+
setIsOpen(isOpen: boolean): IFieldsetContainerBuilder;
|
|
550
|
+
setLook(look: 'fieldset' | 'card' | 'group'): IFieldsetContainerBuilder;
|
|
551
|
+
setShowHeader(showHeader: boolean): IFieldsetContainerBuilder;
|
|
552
|
+
setCols(cols: number): IFieldsetContainerBuilder;
|
|
553
|
+
formField(label: string, delegate?: (field: IFormFieldBuilder) => void): IFieldsetContainerBuilder;
|
|
554
|
+
}
|
|
555
|
+
interface IDialogBuilder {
|
|
556
|
+
setOptions(options: AXPDialogContainerOptions): IDialogBuilder;
|
|
557
|
+
setTitle(title: string): IDialogBuilder;
|
|
558
|
+
setMessage(message?: string): IDialogBuilder;
|
|
559
|
+
setSize(size: AXPopupSizeType): IDialogBuilder;
|
|
560
|
+
setCloseButton(closeButton: boolean): IDialogBuilder;
|
|
561
|
+
setContext(context: any): IDialogBuilder;
|
|
562
|
+
content(delegate: (layoutBuilder: IFlexContainerBuilder) => void): IDialogBuilder;
|
|
563
|
+
setActions(delegate?: (actions: IActionBuilder) => void): IDialogBuilder;
|
|
564
|
+
show(): Promise<AXPDialogRef>;
|
|
565
|
+
}
|
|
566
|
+
interface IListWidgetBuilder extends IBaseContainerBuilder<IListWidgetBuilder>, ILayoutContainerBuilder<IListWidgetBuilder>, IChildContainerBuilder<IListWidgetBuilder>, IWidgetContainerBuilder<IListWidgetBuilder> {
|
|
567
|
+
setOptions(options: AXPListWidgetOptions): IListWidgetBuilder;
|
|
568
|
+
setDataSource(dataSource: any[] | AXDataSource): IListWidgetBuilder;
|
|
569
|
+
setColumns(columns: AXPListWidgetColumn[]): IListWidgetBuilder;
|
|
570
|
+
setOnRowClick(handler: (row: any) => void): IListWidgetBuilder;
|
|
571
|
+
setOnRowDoubleClick(handler: (row: any) => void): IListWidgetBuilder;
|
|
572
|
+
setOnSelectionChange(handler: (selectedRows: any[]) => void): IListWidgetBuilder;
|
|
573
|
+
setOnRowCommand(handler: (command: any, selectedRows: any[]) => void): IListWidgetBuilder;
|
|
574
|
+
setPaging(paging: boolean): IListWidgetBuilder;
|
|
575
|
+
setShowHeader(show: boolean): IListWidgetBuilder;
|
|
576
|
+
setShowFooter(show: boolean): IListWidgetBuilder;
|
|
577
|
+
setFixHeader(fix: boolean): IListWidgetBuilder;
|
|
578
|
+
setFixFooter(fix: boolean): IListWidgetBuilder;
|
|
579
|
+
setFetchDataMode(mode: 'auto' | 'manual'): IListWidgetBuilder;
|
|
580
|
+
setParentField(field: string): IListWidgetBuilder;
|
|
581
|
+
setMinHeight(height: string | number): IListWidgetBuilder;
|
|
582
|
+
setShowIndex(show: boolean): IListWidgetBuilder;
|
|
583
|
+
setAllowSelection(allow: boolean): IListWidgetBuilder;
|
|
584
|
+
setPrimaryCommands(commands: any[]): IListWidgetBuilder;
|
|
585
|
+
setSecondaryCommands(commands: AXPListWidgetRowCommand[]): IListWidgetBuilder;
|
|
586
|
+
setLoading(loading: {
|
|
587
|
+
enabled?: boolean;
|
|
588
|
+
animation?: boolean;
|
|
589
|
+
}): IListWidgetBuilder;
|
|
421
590
|
}
|
|
422
591
|
|
|
423
592
|
declare class AXPLayoutBuilderService {
|
|
593
|
+
private popupService;
|
|
424
594
|
/**
|
|
425
595
|
* Create a new layout builder
|
|
426
596
|
*/
|
|
427
597
|
create(): ILayoutBuilder;
|
|
598
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPLayoutBuilderService, never>;
|
|
599
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXPLayoutBuilderService>;
|
|
600
|
+
}
|
|
601
|
+
|
|
602
|
+
declare class AXPLayoutConversionService {
|
|
603
|
+
private widgetTreeCache;
|
|
604
|
+
private formDefinitionCache;
|
|
428
605
|
/**
|
|
429
|
-
* Convert
|
|
430
|
-
*
|
|
606
|
+
* Convert AXPDynamicFormDefinition to AXPWidgetNode tree structure
|
|
607
|
+
* Groups become Fieldset Layouts with Form Field widgets as children
|
|
608
|
+
* Fields become Form Field widgets with Editor widgets as children
|
|
431
609
|
*/
|
|
432
|
-
|
|
433
|
-
layoutDefinition: LayoutDefinition;
|
|
434
|
-
layoutNodes: LayoutNode[];
|
|
435
|
-
};
|
|
610
|
+
convertFormDefinition(formDefinition: AXPDynamicFormDefinition): AXPWidgetNode;
|
|
436
611
|
/**
|
|
437
|
-
* Convert
|
|
612
|
+
* Convert AXPWidgetNode tree back to AXPDynamicFormDefinition
|
|
613
|
+
* Parses Fieldset Layouts back to Groups
|
|
614
|
+
* Parses Form Field widgets back to Fields
|
|
438
615
|
*/
|
|
439
|
-
|
|
616
|
+
convertWidgetTreeToFormDefinition(widgetTree: AXPWidgetNode): AXPDynamicFormDefinition;
|
|
440
617
|
/**
|
|
441
|
-
*
|
|
618
|
+
* Validate that a widget tree represents a valid dynamic form structure
|
|
442
619
|
*/
|
|
443
|
-
|
|
620
|
+
validateFormWidgetTree(widgetTree: AXPWidgetNode): boolean;
|
|
444
621
|
/**
|
|
445
|
-
*
|
|
622
|
+
* Clear all caches
|
|
446
623
|
*/
|
|
447
|
-
|
|
624
|
+
clearCaches(): void;
|
|
448
625
|
/**
|
|
449
|
-
*
|
|
626
|
+
* Get cache statistics
|
|
450
627
|
*/
|
|
451
|
-
|
|
628
|
+
getCacheStats(): {
|
|
629
|
+
widgetTreeCacheSize: number;
|
|
630
|
+
formDefinitionCacheSize: number;
|
|
631
|
+
};
|
|
452
632
|
/**
|
|
453
|
-
*
|
|
633
|
+
* Convert a single group to Fieldset widget structure
|
|
454
634
|
*/
|
|
455
|
-
private
|
|
635
|
+
private createGroupAsFieldsetWidget;
|
|
456
636
|
/**
|
|
457
|
-
*
|
|
637
|
+
* Convert fields to Form Field widgets
|
|
458
638
|
*/
|
|
459
|
-
private
|
|
639
|
+
private createFieldWidgets;
|
|
460
640
|
/**
|
|
461
|
-
*
|
|
641
|
+
* Convert a single field to Form Field widget with editor as child
|
|
462
642
|
*/
|
|
463
|
-
private
|
|
643
|
+
private createFormFieldWidget;
|
|
464
644
|
/**
|
|
465
|
-
*
|
|
645
|
+
* Extract group information from Fieldset Layout widget
|
|
466
646
|
*/
|
|
467
|
-
private
|
|
647
|
+
private extractGroupFromFieldset;
|
|
468
648
|
/**
|
|
469
|
-
*
|
|
649
|
+
* Extract field information from Form Field widget
|
|
470
650
|
*/
|
|
471
|
-
private
|
|
651
|
+
private extractFieldFromFormWidget;
|
|
472
652
|
/**
|
|
473
|
-
*
|
|
653
|
+
* Create cache key for form definition
|
|
474
654
|
*/
|
|
475
|
-
private
|
|
655
|
+
private createFormDefinitionCacheKey;
|
|
476
656
|
/**
|
|
477
|
-
*
|
|
657
|
+
* Create cache key for widget tree
|
|
478
658
|
*/
|
|
479
|
-
private
|
|
480
|
-
|
|
481
|
-
|
|
659
|
+
private createWidgetTreeCacheKey;
|
|
660
|
+
/**
|
|
661
|
+
* Create a simple hash from a string
|
|
662
|
+
*/
|
|
663
|
+
private createSimpleHash;
|
|
664
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPLayoutConversionService, never>;
|
|
665
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXPLayoutConversionService>;
|
|
666
|
+
}
|
|
667
|
+
|
|
668
|
+
interface DialogRendererConfig {
|
|
669
|
+
title: string;
|
|
670
|
+
message?: string;
|
|
671
|
+
context: any;
|
|
672
|
+
definition: AXPWidgetNode;
|
|
673
|
+
actions?: {
|
|
674
|
+
footer?: {
|
|
675
|
+
prefix?: any[];
|
|
676
|
+
suffix?: any[];
|
|
677
|
+
};
|
|
678
|
+
};
|
|
679
|
+
}
|
|
680
|
+
interface DialogRendererResult {
|
|
681
|
+
context: any;
|
|
682
|
+
action?: string;
|
|
683
|
+
}
|
|
684
|
+
declare class AXPDialogRendererComponent extends AXBasePageComponent implements OnInit {
|
|
685
|
+
config: DialogRendererConfig;
|
|
686
|
+
result: EventEmitter<DialogRendererResult>;
|
|
687
|
+
private dialogResult?;
|
|
688
|
+
context: i0.WritableSignal<any>;
|
|
689
|
+
callBack: (dialogRef: AXPDialogRef) => void;
|
|
690
|
+
data: any;
|
|
691
|
+
private isDialogLoading;
|
|
692
|
+
ngOnInit(): void;
|
|
693
|
+
handleContextChanged(event: any): void;
|
|
694
|
+
handleContextInitiated(event: any): void;
|
|
695
|
+
visibleFooterPrefixActions(): any[];
|
|
696
|
+
visibleFooterSuffixActions(): any[];
|
|
697
|
+
isFormLoading(): boolean;
|
|
698
|
+
isSubmitting(): boolean;
|
|
699
|
+
executeAction(action: any): Promise<void>;
|
|
700
|
+
close(result?: DialogRendererResult): void;
|
|
701
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPDialogRendererComponent, never>;
|
|
702
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AXPDialogRendererComponent, "axp-dialog-renderer", never, { "config": { "alias": "config"; "required": false; }; }, { "result": "result"; }, never, never, true, never>;
|
|
482
703
|
}
|
|
483
704
|
|
|
484
|
-
export { AXPLayoutBuilderService, AXPLayoutRendererComponent, LayoutBuilderModule };
|
|
485
|
-
export type {
|
|
705
|
+
export { AXPDialogRendererComponent, AXPLayoutBuilderService, AXPLayoutConversionService, AXPLayoutRendererComponent, LayoutBuilderModule };
|
|
706
|
+
export type { AXPDialogContainerOptions, AXPFieldsetContainerOptions, AXPFlexContainerOptions, AXPFormFieldOptions, AXPGridContainerOptions, AXPListWidgetColumn, AXPListWidgetOptions, AXPListWidgetRowCommand, AXPPageContainerOptions, AXPPanelContainerOptions, AXPTabsetContainerOptions, AXPWidgetConfiguration, ColorBoxOptions, DateTimeBoxOptions, DialogBuilderState, DialogRendererConfig, DialogRendererResult, FormFieldBuilderState, IActionBuilder, IBaseContainerBuilder, IChildContainerBuilder, IDialogBuilder, IFieldsetContainerBuilder, IFlexContainerBuilder, IFormFieldBuilder, IGridContainerBuilder, ILayoutBuilder, ILayoutContainerBuilder, IListWidgetBuilder, IPageContainerBuilder, IPanelContainerBuilder, ITabsetContainerBuilder, IWidgetBuilder, IWidgetContainerBuilder, InheritanceContext, InheritedProperties, LargeTextBoxOptions, LayoutBuilderState, LayoutWidgetOptions, LookupBoxOptions, NumberBoxOptions, PasswordBoxOptions, RichTextOptions, SelectBoxOptions, SelectionListOptions, TextBoxOptions, ToggleSwitchOptions, ValueWidgetOptions, WidgetBuilderState };
|