@acorex/platform 20.3.0-next.9 → 20.4.0
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/common/index.d.ts +643 -365
- package/core/index.d.ts +19 -4
- package/fesm2022/acorex-platform-auth.mjs +19 -19
- package/fesm2022/acorex-platform-auth.mjs.map +1 -1
- package/fesm2022/acorex-platform-common-common-settings.provider-9OHien_H.mjs +47 -0
- package/fesm2022/acorex-platform-common-common-settings.provider-9OHien_H.mjs.map +1 -0
- package/fesm2022/acorex-platform-common.mjs +673 -242
- package/fesm2022/acorex-platform-common.mjs.map +1 -1
- package/fesm2022/acorex-platform-core.mjs +58 -46
- 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 +1933 -2330
- package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-components.mjs +1511 -1626
- package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-designer.mjs +82 -82
- package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-entity-create-entity.command-DyXF9zAh.mjs +52 -0
- package/fesm2022/acorex-platform-layout-entity-create-entity.command-DyXF9zAh.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-entity.mjs +1371 -917
- package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-views.mjs +63 -54
- package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-widget-core.mjs +2758 -0
- package/fesm2022/acorex-platform-layout-widget-core.mjs.map +1 -0
- package/fesm2022/{acorex-platform-widgets-button-widget-designer.component-C2Qn1YAW.mjs → acorex-platform-layout-widgets-button-widget-designer.component-C_3IWNkj.mjs} +6 -6
- package/fesm2022/acorex-platform-layout-widgets-button-widget-designer.component-C_3IWNkj.mjs.map +1 -0
- package/fesm2022/{acorex-platform-widgets-extra-properties-schema-widget-edit.component-D9mf08rU.mjs → acorex-platform-layout-widgets-extra-properties-schema-widget-edit.component-CJltEgut.mjs} +5 -5
- package/fesm2022/acorex-platform-layout-widgets-extra-properties-schema-widget-edit.component-CJltEgut.mjs.map +1 -0
- package/fesm2022/{acorex-platform-widgets-extra-properties-schema-widget-view.component-D6GQ-eyr.mjs → acorex-platform-layout-widgets-extra-properties-schema-widget-view.component-pM-TIuk0.mjs} +5 -5
- package/fesm2022/acorex-platform-layout-widgets-extra-properties-schema-widget-view.component-pM-TIuk0.mjs.map +1 -0
- package/fesm2022/{acorex-platform-widgets-extra-properties-values-widget-edit.component-DVbIdVZ6.mjs → acorex-platform-layout-widgets-extra-properties-values-widget-edit.component-BqI96-fU.mjs} +5 -5
- package/fesm2022/acorex-platform-layout-widgets-extra-properties-values-widget-edit.component-BqI96-fU.mjs.map +1 -0
- package/fesm2022/{acorex-platform-widgets-extra-properties-values-widget-view.component-D-aM64Hu.mjs → acorex-platform-layout-widgets-extra-properties-values-widget-view.component-C-AhenaM.mjs} +5 -5
- package/fesm2022/acorex-platform-layout-widgets-extra-properties-values-widget-view.component-C-AhenaM.mjs.map +1 -0
- package/fesm2022/{acorex-platform-widgets-extra-properties-widget-edit.component-em2-aU8E.mjs → acorex-platform-layout-widgets-extra-properties-widget-edit.component-DCAya5ne.mjs} +5 -5
- package/fesm2022/acorex-platform-layout-widgets-extra-properties-widget-edit.component-DCAya5ne.mjs.map +1 -0
- package/fesm2022/{acorex-platform-widgets-extra-properties-widget-view.component-BeuIofdr.mjs → acorex-platform-layout-widgets-extra-properties-widget-view.component-D-PnBqLb.mjs} +5 -5
- package/fesm2022/acorex-platform-layout-widgets-extra-properties-widget-view.component-D-PnBqLb.mjs.map +1 -0
- package/fesm2022/{acorex-platform-widgets-file-list-popup.component-Cmtq2bBV.mjs → acorex-platform-layout-widgets-file-list-popup.component-DuuFHWvB.mjs} +9 -9
- package/fesm2022/acorex-platform-layout-widgets-file-list-popup.component-DuuFHWvB.mjs.map +1 -0
- package/fesm2022/{acorex-platform-widgets-page-widget-designer.component-D8ivmxzT.mjs → acorex-platform-layout-widgets-page-widget-designer.component-Bss0xUcu.mjs} +8 -8
- package/fesm2022/acorex-platform-layout-widgets-page-widget-designer.component-Bss0xUcu.mjs.map +1 -0
- package/fesm2022/{acorex-platform-widgets-tabular-data-edit-popup.component-CMqq_iOj.mjs → acorex-platform-layout-widgets-tabular-data-edit-popup.component-Cy9mHnNP.mjs} +8 -8
- package/fesm2022/acorex-platform-layout-widgets-tabular-data-edit-popup.component-Cy9mHnNP.mjs.map +1 -0
- package/fesm2022/{acorex-platform-widgets-tabular-data-view-popup.component-Dmg5DdX8.mjs → acorex-platform-layout-widgets-tabular-data-view-popup.component-DznLtuer.mjs} +6 -5
- package/fesm2022/acorex-platform-layout-widgets-tabular-data-view-popup.component-DznLtuer.mjs.map +1 -0
- package/fesm2022/{acorex-platform-widgets-text-block-widget-designer.component-yADN3Xji.mjs → acorex-platform-layout-widgets-text-block-widget-designer.component-ndOUSFi9.mjs} +6 -7
- package/fesm2022/acorex-platform-layout-widgets-text-block-widget-designer.component-ndOUSFi9.mjs.map +1 -0
- package/fesm2022/{acorex-platform-widgets.mjs → acorex-platform-layout-widgets.mjs} +4153 -3146
- package/fesm2022/acorex-platform-layout-widgets.mjs.map +1 -0
- 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-B1PT6FtZ.mjs +115 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-B1PT6FtZ.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-default-entity-master-list-view.component-7BB4LdjK.mjs → acorex-platform-themes-default-entity-master-list-view.component-rdKxuMC_.mjs} +69 -33
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-rdKxuMC_.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-4g19A3eI.mjs +101 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-4g19A3eI.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-default-entity-master-single-view.component-BExtm1JE.mjs → acorex-platform-themes-default-entity-master-single-view.component-B8gx5cG7.mjs} +17 -17
- package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-B8gx5cG7.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-default-error-401.component-DrO1PEOH.mjs → acorex-platform-themes-default-error-401.component-CcvGfdhu.mjs} +4 -4
- package/fesm2022/{acorex-platform-themes-default-error-401.component-DrO1PEOH.mjs.map → acorex-platform-themes-default-error-401.component-CcvGfdhu.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-themes-default-error-404.component-DqVq0oHX.mjs → acorex-platform-themes-default-error-404.component-4-CaEsnV.mjs} +4 -4
- package/fesm2022/{acorex-platform-themes-default-error-404.component-DqVq0oHX.mjs.map → acorex-platform-themes-default-error-404.component-4-CaEsnV.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-themes-default-error-offline.component-Bt2PTL7_.mjs → acorex-platform-themes-default-error-offline.component-BNecbFEj.mjs} +4 -4
- package/fesm2022/{acorex-platform-themes-default-error-offline.component-Bt2PTL7_.mjs.map → acorex-platform-themes-default-error-offline.component-BNecbFEj.mjs.map} +1 -1
- package/fesm2022/acorex-platform-themes-default.mjs +117 -51
- package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
- package/fesm2022/{acorex-platform-themes-shared-icon-chooser-view.component-BgEh06Tn.mjs → acorex-platform-themes-shared-icon-chooser-view.component-Dc_Txe32.mjs} +5 -5
- package/fesm2022/acorex-platform-themes-shared-icon-chooser-view.component-Dc_Txe32.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-shared-settings.provider-CLUKU4y0.mjs → acorex-platform-themes-shared-settings.provider-DY2xFnrv.mjs} +8 -8
- package/fesm2022/acorex-platform-themes-shared-settings.provider-DY2xFnrv.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-shared-theme-color-chooser-column.component-AeOQxjbS.mjs → acorex-platform-themes-shared-theme-color-chooser-column.component-hgWLhhle.mjs} +5 -5
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-hgWLhhle.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-shared-theme-color-chooser-view.component-DEVzRd6-.mjs → acorex-platform-themes-shared-theme-color-chooser-view.component-CY3JZK_W.mjs} +5 -5
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-CY3JZK_W.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-shared.mjs +66 -55
- package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
- package/fesm2022/acorex-platform-workflow.mjs +27 -39
- package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
- package/layout/builder/README.md +1577 -3
- package/layout/builder/index.d.ts +735 -868
- package/layout/components/index.d.ts +218 -714
- package/layout/designer/index.d.ts +4 -4
- package/layout/entity/index.d.ts +954 -375
- package/layout/views/index.d.ts +13 -14
- package/layout/widget-core/README.md +4 -0
- package/layout/widget-core/index.d.ts +959 -0
- package/layout/widgets/README.md +4 -0
- package/{widgets → layout/widgets}/index.d.ts +426 -365
- package/package.json +18 -14
- package/themes/shared/index.d.ts +2 -2
- package/workflow/index.d.ts +3 -173
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-Ct-ri59W.mjs +0 -115
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-Ct-ri59W.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-7BB4LdjK.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-BDJR088o.mjs +0 -101
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-BDJR088o.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-BExtm1JE.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-icon-chooser-view.component-BgEh06Tn.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-settings.provider-CLUKU4y0.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-AeOQxjbS.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-DEVzRd6-.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-button-widget-designer.component-C2Qn1YAW.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-checkbox-widget-column.component-CzEFmKWG.mjs +0 -84
- package/fesm2022/acorex-platform-widgets-checkbox-widget-column.component-CzEFmKWG.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-checkbox-widget-designer.component-BXPrXy-h.mjs +0 -55
- package/fesm2022/acorex-platform-widgets-checkbox-widget-designer.component-BXPrXy-h.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-checkbox-widget-view.component-KYCQ2qTJ.mjs +0 -92
- package/fesm2022/acorex-platform-widgets-checkbox-widget-view.component-KYCQ2qTJ.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-color-box-widget-designer.component-BVZ7lWm9.mjs +0 -55
- package/fesm2022/acorex-platform-widgets-color-box-widget-designer.component-BVZ7lWm9.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-extra-properties-schema-widget-edit.component-D9mf08rU.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-extra-properties-schema-widget-view.component-D6GQ-eyr.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-extra-properties-values-widget-edit.component-DVbIdVZ6.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-extra-properties-values-widget-view.component-D-aM64Hu.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-extra-properties-widget-edit.component-em2-aU8E.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-extra-properties-widget-view.component-BeuIofdr.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-file-list-popup.component-Cmtq2bBV.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-page-widget-designer.component-D8ivmxzT.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-rich-text-popup.component-Cydlpsat.mjs +0 -40
- package/fesm2022/acorex-platform-widgets-rich-text-popup.component-Cydlpsat.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-tabular-data-edit-popup.component-CMqq_iOj.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-tabular-data-view-popup.component-Dmg5DdX8.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-text-block-widget-designer.component-yADN3Xji.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets.mjs.map +0 -1
- package/widgets/README.md +0 -4
|
@@ -1,908 +1,775 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
import {
|
|
3
|
-
import * as
|
|
4
|
-
import {
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import
|
|
11
|
-
import { AXTranslationService } from '@acorex/core/translation';
|
|
12
|
-
import { AXUnsubscriber } from '@acorex/core/utils';
|
|
13
|
-
import * as i4 from '@angular/common';
|
|
14
|
-
import * as i5 from '@angular/cdk/portal';
|
|
15
|
-
import * as i6 from '@acorex/components/skeleton';
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { OnInit, EventEmitter } from '@angular/core';
|
|
3
|
+
import * as i1 from '@angular/common';
|
|
4
|
+
import { AXFormComponent } from '@acorex/components/form';
|
|
5
|
+
import { AXValidationSummary } from '@acorex/core/validation';
|
|
6
|
+
import { AXPWidgetNode, AXPWidgetRenderMode, AXPWidgetCoreContextChangeEvent, AXPWidgetContainerComponent } from '@acorex/platform/layout/widget-core';
|
|
7
|
+
import { AXDataSource } from '@acorex/cdk/common';
|
|
8
|
+
import { AXPopupSizeType } from '@acorex/components/popup';
|
|
9
|
+
import { AXPGridLayoutOptions, AXPExpression, AXPValidationRules, AXPActionMenuItem, AXPOptionsData } from '@acorex/platform/core';
|
|
10
|
+
import { AXBasePageComponent } from '@acorex/components/page';
|
|
16
11
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
abstract get id(): string | null;
|
|
40
|
-
abstract get status(): Signal<AXPWidgetStatus>;
|
|
41
|
-
api(): AXPLayoutElementAPI;
|
|
42
|
-
}
|
|
43
|
-
declare class AXPLayoutBuilderService {
|
|
44
|
-
private readonly variables$;
|
|
45
|
-
private readonly functions$;
|
|
46
|
-
readonly onRefresh: Subject<void>;
|
|
47
|
-
private widgets;
|
|
48
|
-
private readonly onWidgetRegistered;
|
|
49
|
-
private readonly status$;
|
|
50
|
-
readonly status: Signal<AXPPageStatus>;
|
|
51
|
-
readonly isBusy: Signal<boolean>;
|
|
52
|
-
get variables(): any;
|
|
53
|
-
get functions(): {
|
|
54
|
-
[key: string]: Function;
|
|
55
|
-
};
|
|
56
|
-
updateStatus(): void;
|
|
57
|
-
private detectStatus;
|
|
58
|
-
refresh(): void;
|
|
59
|
-
setStatus(status: AXPPageStatus): void;
|
|
60
|
-
setVariables(keysValues: any): void;
|
|
61
|
-
setVariables(key: string, value: any): void;
|
|
62
|
-
setFunctions(keysValues: any): void;
|
|
63
|
-
setFunctions(key: string, value: any): void;
|
|
64
|
-
registerWidget(id: string, widget: AXPLayoutElement): void;
|
|
65
|
-
getWidget(id: string): AXPLayoutElement | undefined;
|
|
66
|
-
/**
|
|
67
|
-
* Waits until a widget with the given id is registered, then resolves with it.
|
|
68
|
-
* If the widget is already registered, resolves immediately.
|
|
69
|
-
* Optionally accepts a timeout (in ms) after which it resolves with undefined.
|
|
70
|
-
*/
|
|
71
|
-
waitForWidget(id: string, timeoutMs?: number): Promise<AXPLayoutElement | undefined>;
|
|
72
|
-
ngOnDestroy(): void;
|
|
73
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPLayoutBuilderService, never>;
|
|
74
|
-
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPLayoutBuilderService>;
|
|
12
|
+
/**
|
|
13
|
+
* Form appearance and density styling (using fieldset widget look)
|
|
14
|
+
*/
|
|
15
|
+
type AXPDynamicFormLook = 'fieldset' | 'card' | 'group' | 'container';
|
|
16
|
+
/**
|
|
17
|
+
* Form rendering mode
|
|
18
|
+
*/
|
|
19
|
+
type AXPDynamicFormMode = 'view' | 'edit';
|
|
20
|
+
/**
|
|
21
|
+
* Form layout direction and flow
|
|
22
|
+
*/
|
|
23
|
+
type AXPDynamicFormDirection = 'vertical' | 'horizontal' | 'grid';
|
|
24
|
+
interface AXPDynamicFormFieldDefinition {
|
|
25
|
+
path: string;
|
|
26
|
+
title?: string;
|
|
27
|
+
description?: string;
|
|
28
|
+
widget: AXPWidgetNode;
|
|
29
|
+
/**
|
|
30
|
+
* Optional per-field rendering mode. Takes precedence over section and form modes.
|
|
31
|
+
*/
|
|
32
|
+
mode?: AXPDynamicFormMode;
|
|
33
|
+
layout?: AXPGridLayoutOptions;
|
|
75
34
|
}
|
|
76
|
-
|
|
77
|
-
interface AXPWidgetCategory {
|
|
35
|
+
interface AXPDynamicFormGroupDefinition {
|
|
78
36
|
name: string;
|
|
79
|
-
title
|
|
80
|
-
|
|
37
|
+
title?: string;
|
|
38
|
+
description?: string;
|
|
39
|
+
parameters: AXPDynamicFormFieldDefinition[];
|
|
40
|
+
/**
|
|
41
|
+
* Optional per-section rendering mode. Takes precedence over form mode and is overridden by field mode.
|
|
42
|
+
*/
|
|
43
|
+
mode?: AXPDynamicFormMode;
|
|
81
44
|
}
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
type AXPWidgetGroup = 'form-element' | 'dashboard-widget' | 'form-template' | 'property-editor' | 'meta-data' | 'setting-widget' | 'entity-widget';
|
|
89
|
-
declare enum AXPWidgetGroupEnum {
|
|
90
|
-
FormElement = "form-element",
|
|
91
|
-
DashboardWidget = "dashboard-widget",
|
|
92
|
-
FormTemplate = "form-template",
|
|
93
|
-
PropertyEditor = "property-editor",
|
|
94
|
-
MetaData = "meta-data",
|
|
95
|
-
SettingWidget = "setting-widget",
|
|
96
|
-
EntityWidget = "entity-widget"
|
|
45
|
+
interface AXPDynamicFormDefinition {
|
|
46
|
+
groups: AXPDynamicFormGroupDefinition[];
|
|
47
|
+
/**
|
|
48
|
+
* Optional form-level rendering mode
|
|
49
|
+
*/
|
|
50
|
+
mode?: AXPDynamicFormMode;
|
|
97
51
|
}
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
blockLayout: 'block-layout';
|
|
116
|
-
pageLayout: 'page-layout';
|
|
117
|
-
repeaterLayout: 'repeater-layout';
|
|
118
|
-
textBlockLayout: 'text-block-layout';
|
|
119
|
-
fileUploader: 'file-uploader';
|
|
120
|
-
fileTypeExtension: 'file-type-extension';
|
|
121
|
-
map: 'map';
|
|
122
|
-
imageMarker: 'image-marker';
|
|
123
|
-
image: 'image';
|
|
124
|
-
gallery: 'gallery';
|
|
125
|
-
signature: 'signature';
|
|
126
|
-
buttonAction: 'button-action';
|
|
127
|
-
document: 'document-layout';
|
|
128
|
-
lookup: 'lookup-editor';
|
|
129
|
-
formField: 'form-field';
|
|
130
|
-
advancedGrid: 'advanced-grid-layout';
|
|
131
|
-
advancedGridItem: 'advanced-grid-item-layout';
|
|
132
|
-
grid: 'grid-layout';
|
|
133
|
-
gridItem: 'grid-item-layout';
|
|
134
|
-
qrcode: 'qrcode';
|
|
135
|
-
widgetSelector: 'widget-selector';
|
|
136
|
-
template: 'template';
|
|
137
|
-
templateDesigner: 'template-designer';
|
|
138
|
-
cronJob: 'cron-job';
|
|
139
|
-
spacing: 'spacing';
|
|
140
|
-
border: 'border';
|
|
141
|
-
direction: 'direction';
|
|
142
|
-
flexLayout: 'flex-layout';
|
|
143
|
-
flexItem: 'flex-item-layout';
|
|
144
|
-
tableLayout: 'table-layout';
|
|
145
|
-
tableItem: 'table-item-layout';
|
|
146
|
-
avatar: 'avatar';
|
|
147
|
-
stringFilter: 'string-filter';
|
|
148
|
-
numberFilter: 'number-filter';
|
|
149
|
-
dateTimeFilter: 'datetime-filter';
|
|
150
|
-
booleanFilter: 'boolean-filter';
|
|
151
|
-
lookupFilter: 'lookup-filter';
|
|
152
|
-
flexOptions: 'flex-options';
|
|
153
|
-
flexItemOptions: 'flex-item-options';
|
|
154
|
-
gridOptions: 'grid-options';
|
|
155
|
-
gridItemOptions: 'grid-item-options';
|
|
156
|
-
advancedGridOptions: 'advanced-grid-options';
|
|
157
|
-
selectFilter: 'select-filter';
|
|
158
|
-
requiredValidation: 'required-validation';
|
|
159
|
-
regularExpressionValidation: 'regular-expression-validation';
|
|
160
|
-
minLengthValidation: 'min-length-validation';
|
|
161
|
-
maxLengthValidation: 'max-length-validation';
|
|
162
|
-
lessThanValidation: 'less-than-validation';
|
|
163
|
-
greaterThanValidation: 'greater-than-validation';
|
|
164
|
-
betweenValidation: 'between-validation';
|
|
165
|
-
equalValidation: 'equal-validation';
|
|
166
|
-
callbackValidation: 'callback-validation';
|
|
167
|
-
donutChart: 'donut-chart';
|
|
168
|
-
barChart: 'bar-chart';
|
|
169
|
-
lineChart: 'line-chart';
|
|
170
|
-
gaugeChart: 'gauge-chart';
|
|
171
|
-
stickyNote: 'sticky-note';
|
|
172
|
-
clockCalendar: 'clock-calendar';
|
|
173
|
-
analogClock: 'analog-clock';
|
|
174
|
-
weather: 'weather';
|
|
175
|
-
minimalWeather: 'minimal-weather';
|
|
176
|
-
advancedWeather: 'advanced-weather';
|
|
177
|
-
metaData: 'meta-data-editor';
|
|
178
|
-
tagable: 'tagable-editor';
|
|
179
|
-
templateEditor: 'template-box-editor';
|
|
180
|
-
themePaletteChooser: 'theme-palette-chooser';
|
|
181
|
-
themeModeChooser: 'theme-mode-chooser';
|
|
182
|
-
menuOrientationChooser: 'menu-orientation-chooser';
|
|
183
|
-
fontStyleChooser: 'font-style-chooser';
|
|
184
|
-
fontSizeChooser: 'font-size-chooser';
|
|
185
|
-
iconChooser: 'icon-chooser';
|
|
186
|
-
themeColorChooser: 'theme-color-chooser';
|
|
187
|
-
panel: 'panel';
|
|
188
|
-
notification: 'notification';
|
|
189
|
-
taskBoard: 'task-board';
|
|
190
|
-
comment: 'comment';
|
|
191
|
-
list: 'list';
|
|
192
|
-
listToolbar: 'list-toolbar';
|
|
193
|
-
entityList: 'entity-list';
|
|
194
|
-
documentUploader: 'document-uploader';
|
|
52
|
+
interface AXPDialogRef {
|
|
53
|
+
/**
|
|
54
|
+
* Manually close the dialog (optional - dialog closes automatically after user interaction)
|
|
55
|
+
*/
|
|
56
|
+
close(): void;
|
|
57
|
+
/**
|
|
58
|
+
* Get the form data from the dialog
|
|
59
|
+
*/
|
|
60
|
+
context(): any;
|
|
61
|
+
/**
|
|
62
|
+
* Get the action that was clicked by the user
|
|
63
|
+
*/
|
|
64
|
+
action(): string | undefined;
|
|
65
|
+
/**
|
|
66
|
+
* Set the loading state of the dialog
|
|
67
|
+
*/
|
|
68
|
+
setLoading(loading: boolean): void;
|
|
195
69
|
}
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
name: string;
|
|
199
|
-
title: string;
|
|
200
|
-
order: number;
|
|
70
|
+
interface LayoutWidgetOptions {
|
|
71
|
+
name?: string;
|
|
201
72
|
}
|
|
202
|
-
interface
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
description?: string;
|
|
206
|
-
group: AXPWidgetPropertyGroup;
|
|
207
|
-
order?: number;
|
|
208
|
-
schema: {
|
|
209
|
-
dataType: AXPDataType;
|
|
210
|
-
nullable?: boolean;
|
|
211
|
-
defaultValue?: any | string | ((context: any | null) => any);
|
|
212
|
-
interface: Required<Pick<AXPWidgetNode, 'path'>> & Omit<AXPWidgetNode, 'path'>;
|
|
213
|
-
};
|
|
214
|
-
options?: AXPOptionsData;
|
|
73
|
+
interface ValueWidgetOptions extends LayoutWidgetOptions {
|
|
74
|
+
path: string;
|
|
75
|
+
defaultValue?: any;
|
|
215
76
|
validations?: AXPValidationRules;
|
|
216
|
-
visible: boolean;
|
|
217
77
|
}
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
78
|
+
interface TextBoxOptions extends ValueWidgetOptions {
|
|
79
|
+
placeholder?: string;
|
|
80
|
+
maxLength?: number;
|
|
81
|
+
minLength?: number;
|
|
82
|
+
prefix?: string;
|
|
83
|
+
suffix?: string;
|
|
84
|
+
clearButton?: boolean;
|
|
85
|
+
}
|
|
86
|
+
interface NumberBoxOptions extends ValueWidgetOptions {
|
|
87
|
+
min?: number;
|
|
88
|
+
max?: number;
|
|
89
|
+
step?: number;
|
|
90
|
+
placeholder?: string;
|
|
91
|
+
format?: string;
|
|
92
|
+
}
|
|
93
|
+
interface SelectBoxOptions extends ValueWidgetOptions {
|
|
94
|
+
dataSource: any[] | (() => any[]) | (() => Promise<any[]>) | AXDataSource<any>;
|
|
95
|
+
valueField?: string;
|
|
96
|
+
textField?: string;
|
|
97
|
+
placeholder?: string;
|
|
98
|
+
multiple?: boolean;
|
|
99
|
+
searchable?: boolean;
|
|
100
|
+
clearButton?: boolean;
|
|
101
|
+
allowSearch?: boolean;
|
|
102
|
+
}
|
|
103
|
+
interface DateTimeBoxOptions extends ValueWidgetOptions {
|
|
104
|
+
type?: 'date' | 'time' | 'datetime';
|
|
105
|
+
format?: string;
|
|
106
|
+
min?: Date | string;
|
|
107
|
+
max?: Date | string;
|
|
108
|
+
placeholder?: string;
|
|
109
|
+
clearButton?: boolean;
|
|
110
|
+
}
|
|
111
|
+
interface ToggleSwitchOptions extends ValueWidgetOptions {
|
|
112
|
+
label?: string;
|
|
113
|
+
trueText?: string;
|
|
114
|
+
falseText?: string;
|
|
115
|
+
}
|
|
116
|
+
interface LargeTextBoxOptions extends ValueWidgetOptions {
|
|
117
|
+
rows?: number;
|
|
118
|
+
maxLength?: number;
|
|
119
|
+
minLength?: number;
|
|
120
|
+
placeholder?: string;
|
|
121
|
+
resizable?: boolean;
|
|
122
|
+
}
|
|
123
|
+
interface ColorBoxOptions extends ValueWidgetOptions {
|
|
124
|
+
format?: 'hex' | 'rgb' | 'hsl';
|
|
125
|
+
showAlpha?: boolean;
|
|
126
|
+
showPalette?: boolean;
|
|
127
|
+
}
|
|
128
|
+
interface AXPFlexContainerOptions extends LayoutWidgetOptions {
|
|
129
|
+
flexDirection?: 'row' | 'column' | 'row-reverse' | 'column-reverse';
|
|
130
|
+
flexWrap?: 'nowrap' | 'wrap' | 'wrap-reverse';
|
|
131
|
+
justifyContent?: 'flex-start' | 'flex-end' | 'center' | 'space-between' | 'space-around' | 'space-evenly';
|
|
132
|
+
alignItems?: 'flex-start' | 'flex-end' | 'center' | 'baseline' | 'stretch';
|
|
133
|
+
gap?: string;
|
|
134
|
+
spacing?: {
|
|
135
|
+
padding?: string;
|
|
136
|
+
margin?: string;
|
|
238
137
|
};
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
138
|
+
border?: {
|
|
139
|
+
radius?: string;
|
|
140
|
+
width?: string;
|
|
141
|
+
color?: string;
|
|
142
|
+
style?: string;
|
|
143
|
+
};
|
|
144
|
+
backgroundColor?: string;
|
|
145
|
+
direction?: string;
|
|
146
|
+
overflow?: string;
|
|
147
|
+
overflowX?: string;
|
|
148
|
+
overflowY?: string;
|
|
149
|
+
width?: string;
|
|
150
|
+
minWidth?: string;
|
|
151
|
+
maxWidth?: string;
|
|
152
|
+
height?: string;
|
|
153
|
+
minHeight?: string;
|
|
154
|
+
maxHeight?: string;
|
|
155
|
+
}
|
|
156
|
+
interface AXPGridContainerOptions extends LayoutWidgetOptions {
|
|
157
|
+
grid?: {
|
|
158
|
+
default?: {
|
|
159
|
+
columns?: number;
|
|
160
|
+
rows?: number;
|
|
161
|
+
gap?: string;
|
|
162
|
+
justifyItems?: string;
|
|
163
|
+
alignItems?: string;
|
|
164
|
+
autoFlow?: string;
|
|
165
|
+
};
|
|
166
|
+
};
|
|
167
|
+
spacing?: {
|
|
168
|
+
padding?: string;
|
|
169
|
+
margin?: string;
|
|
170
|
+
};
|
|
171
|
+
border?: {
|
|
172
|
+
radius?: string;
|
|
173
|
+
width?: string;
|
|
174
|
+
color?: string;
|
|
175
|
+
style?: string;
|
|
176
|
+
};
|
|
177
|
+
backgroundColor?: string;
|
|
178
|
+
direction?: string;
|
|
179
|
+
overflow?: string;
|
|
180
|
+
overflowX?: string;
|
|
181
|
+
overflowY?: string;
|
|
182
|
+
width?: string;
|
|
183
|
+
minWidth?: string;
|
|
184
|
+
maxWidth?: string;
|
|
185
|
+
height?: string;
|
|
186
|
+
minHeight?: string;
|
|
187
|
+
maxHeight?: string;
|
|
188
|
+
}
|
|
189
|
+
interface AXPPanelContainerOptions extends LayoutWidgetOptions {
|
|
190
|
+
caption?: string;
|
|
191
|
+
icon?: string;
|
|
192
|
+
look?: 'solid' | 'fill' | 'outline' | 'flat' | 'none';
|
|
193
|
+
disabled?: boolean;
|
|
194
|
+
showHeader?: boolean;
|
|
195
|
+
collapsed?: boolean;
|
|
196
|
+
}
|
|
197
|
+
interface AXPPageContainerOptions extends LayoutWidgetOptions {
|
|
198
|
+
backgroundColor?: string;
|
|
199
|
+
theme?: {
|
|
200
|
+
id: string;
|
|
201
|
+
};
|
|
202
|
+
hasHeader?: boolean;
|
|
203
|
+
hasFooter?: boolean;
|
|
204
|
+
direction?: string;
|
|
205
|
+
}
|
|
206
|
+
interface AXPTabsetContainerOptions extends LayoutWidgetOptions {
|
|
207
|
+
look?: 'with-line' | 'with-line-color' | 'pills' | 'pills-color';
|
|
208
|
+
orientation?: 'vertical' | 'horizontal';
|
|
209
|
+
activeIndex?: number;
|
|
210
|
+
}
|
|
211
|
+
interface AXPFieldsetContainerOptions extends LayoutWidgetOptions {
|
|
212
|
+
title?: string;
|
|
213
|
+
description?: string;
|
|
214
|
+
icon?: string;
|
|
215
|
+
collapsible?: boolean;
|
|
216
|
+
isOpen?: boolean;
|
|
217
|
+
look?: 'fieldset' | 'card' | 'group';
|
|
218
|
+
disabled?: boolean;
|
|
219
|
+
showHeader?: boolean;
|
|
220
|
+
cols?: number;
|
|
221
|
+
}
|
|
222
|
+
interface AXPFormFieldOptions extends LayoutWidgetOptions {
|
|
223
|
+
label?: string;
|
|
224
|
+
showLabel?: boolean;
|
|
225
|
+
}
|
|
226
|
+
interface AXPDialogContainerOptions extends LayoutWidgetOptions {
|
|
227
|
+
title?: string;
|
|
228
|
+
message?: string;
|
|
229
|
+
size?: AXPopupSizeType;
|
|
230
|
+
closeButton?: boolean;
|
|
231
|
+
context?: any;
|
|
232
|
+
}
|
|
233
|
+
interface RichTextOptions extends ValueWidgetOptions {
|
|
234
|
+
placeholder?: string;
|
|
235
|
+
toolbar?: string[];
|
|
236
|
+
readonly?: boolean;
|
|
237
|
+
}
|
|
238
|
+
interface PasswordBoxOptions extends ValueWidgetOptions {
|
|
239
|
+
placeholder?: string;
|
|
240
|
+
revealToggle?: boolean;
|
|
241
|
+
maxLength?: number;
|
|
242
|
+
}
|
|
243
|
+
interface LookupBoxOptions extends ValueWidgetOptions {
|
|
244
|
+
dataSource?: any[] | (() => any[]) | (() => Promise<any[]>);
|
|
245
|
+
valueField?: string;
|
|
246
|
+
textField?: string;
|
|
247
|
+
searchable?: boolean;
|
|
248
|
+
entity?: string;
|
|
249
|
+
look?: string;
|
|
250
|
+
columns?: any[];
|
|
251
|
+
expose?: any[];
|
|
252
|
+
multiple?: boolean;
|
|
253
|
+
allowClear?: boolean;
|
|
254
|
+
}
|
|
255
|
+
interface SelectionListOptions extends ValueWidgetOptions {
|
|
256
|
+
dataSource: any[] | (() => any[]) | (() => Promise<any[]>) | AXDataSource<any>;
|
|
257
|
+
valueField?: string;
|
|
258
|
+
textField?: string;
|
|
259
|
+
multiple?: boolean;
|
|
260
|
+
searchable?: boolean;
|
|
261
|
+
placeholder?: string;
|
|
262
|
+
}
|
|
263
|
+
interface AXPListWidgetColumn {
|
|
254
264
|
name: string;
|
|
255
|
-
title
|
|
256
|
-
path?: string;
|
|
257
|
-
group: AXPWidgetPropertyGroup;
|
|
265
|
+
title?: string;
|
|
258
266
|
visible?: boolean;
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
267
|
+
width?: string;
|
|
268
|
+
widget?: {
|
|
269
|
+
type: string;
|
|
270
|
+
path?: string;
|
|
271
|
+
options?: any;
|
|
272
|
+
};
|
|
273
|
+
}
|
|
274
|
+
interface AXPListWidgetRowCommand {
|
|
275
|
+
title?: string;
|
|
276
|
+
icon?: string;
|
|
277
|
+
color?: string;
|
|
278
|
+
disabled?: boolean | string;
|
|
279
|
+
hidden?: boolean | string;
|
|
280
|
+
command?: any;
|
|
281
|
+
}
|
|
282
|
+
interface AXPListWidgetOptions extends LayoutWidgetOptions {
|
|
283
|
+
dataSource?: any[] | AXDataSource;
|
|
284
|
+
columns?: AXPListWidgetColumn[];
|
|
285
|
+
onRowClick?: (row: any) => void;
|
|
286
|
+
onRowDoubleClick?: (row: any) => void;
|
|
287
|
+
onSelectionChange?: (selectedRows: any[]) => void;
|
|
288
|
+
onRowCommand?: (command: any, selectedRows: any[]) => void;
|
|
289
|
+
paging?: boolean;
|
|
290
|
+
showHeader?: boolean;
|
|
291
|
+
showFooter?: boolean;
|
|
292
|
+
fixHeader?: boolean;
|
|
293
|
+
fixFooter?: boolean;
|
|
294
|
+
fetchDataMode?: 'auto' | 'manual';
|
|
295
|
+
parentField?: string;
|
|
296
|
+
minHeight?: string | number;
|
|
297
|
+
showIndex?: boolean;
|
|
298
|
+
allowSelection?: boolean;
|
|
299
|
+
primaryCommands?: any[];
|
|
300
|
+
secondaryCommands?: AXPListWidgetRowCommand[];
|
|
301
|
+
loading?: {
|
|
302
|
+
enabled?: boolean;
|
|
303
|
+
animation?: boolean;
|
|
304
|
+
};
|
|
305
|
+
}
|
|
306
|
+
interface InheritanceContext {
|
|
262
307
|
mode?: AXPWidgetRenderMode;
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
children?: AXPWidgetNode[];
|
|
268
|
-
options?: AXPOptionsData;
|
|
269
|
-
triggers?: AXPWidgetTriggers;
|
|
270
|
-
meta?: AXPMetaData;
|
|
271
|
-
valueTransforms?: AXPValueTransformerFunctions;
|
|
308
|
+
disabled?: boolean | string;
|
|
309
|
+
readonly?: boolean | string;
|
|
310
|
+
direction?: 'rtl' | 'ltr';
|
|
311
|
+
visible?: boolean | string;
|
|
272
312
|
}
|
|
273
|
-
interface
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
313
|
+
interface InheritedProperties {
|
|
314
|
+
mode: AXPWidgetRenderMode;
|
|
315
|
+
disabled: boolean | string | undefined;
|
|
316
|
+
readonly: boolean | string | undefined;
|
|
317
|
+
direction: 'rtl' | 'ltr' | undefined;
|
|
318
|
+
visible: boolean | string | undefined;
|
|
278
319
|
}
|
|
279
|
-
interface
|
|
320
|
+
interface AXPWidgetConfiguration {
|
|
280
321
|
type: string;
|
|
281
|
-
path: string;
|
|
282
322
|
options?: AXPOptionsData;
|
|
283
323
|
}
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
declare const AXP_WIDGET_TOKEN: InjectionToken<AXPWidgetNodeToken>;
|
|
288
|
-
declare const AXP_WIDGET_COLUMN_TOKEN: InjectionToken<AXPWidgetColumnNodeToken>;
|
|
289
|
-
interface AXPWidgetComponentConfig {
|
|
290
|
-
component: () => Promise<any>;
|
|
291
|
-
properties?: AXPWidgetProperty[];
|
|
292
|
-
}
|
|
293
|
-
interface AXPWidgetConfigComponents {
|
|
294
|
-
designer?: AXPWidgetComponentConfig;
|
|
295
|
-
view?: AXPWidgetComponentConfig;
|
|
296
|
-
edit?: AXPWidgetComponentConfig;
|
|
297
|
-
print?: AXPWidgetComponentConfig;
|
|
298
|
-
column?: AXPWidgetComponentConfig;
|
|
299
|
-
filter?: AXPWidgetComponentConfig;
|
|
300
|
-
}
|
|
301
|
-
type AXPWidgetViewType = 'container' | 'editor' | 'action' | 'view' | 'filter' | 'validation' | 'dashboard';
|
|
302
|
-
type AXPWidgetDesignerOptionsMap = {
|
|
303
|
-
container: {
|
|
304
|
-
canInsert: boolean;
|
|
305
|
-
};
|
|
306
|
-
editor: {
|
|
307
|
-
needLabel: boolean;
|
|
308
|
-
};
|
|
309
|
-
action: {};
|
|
310
|
-
view: {};
|
|
324
|
+
type LayoutBuilderState = AXPWidgetNode;
|
|
325
|
+
type WidgetBuilderState = Omit<AXPWidgetNode, 'children'> & {
|
|
326
|
+
layout?: AXPGridLayoutOptions;
|
|
311
327
|
};
|
|
312
|
-
type
|
|
313
|
-
|
|
314
|
-
designer: T extends {
|
|
315
|
-
type: infer V;
|
|
316
|
-
} ? V extends keyof AXPWidgetDesignerOptionsMap ? AXPWidgetDesignerOptionsMap[V] : any : any;
|
|
328
|
+
type FormFieldBuilderState = AXPWidgetNode & {
|
|
329
|
+
layout?: AXPGridLayoutOptions;
|
|
317
330
|
};
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
331
|
+
type DialogBuilderState = AXPWidgetNode & {
|
|
332
|
+
layout?: AXPGridLayoutOptions;
|
|
333
|
+
dialogOptions?: AXPDialogContainerOptions;
|
|
334
|
+
actions?: {
|
|
335
|
+
footer?: {
|
|
336
|
+
prefix?: AXPActionMenuItem[];
|
|
337
|
+
suffix?: AXPActionMenuItem[];
|
|
338
|
+
};
|
|
339
|
+
};
|
|
340
|
+
};
|
|
341
|
+
interface IActionBuilder {
|
|
342
|
+
cancel(text?: string): IActionBuilder;
|
|
343
|
+
submit(text?: string): IActionBuilder;
|
|
344
|
+
custom(action: AXPActionMenuItem): IActionBuilder;
|
|
345
|
+
}
|
|
346
|
+
interface ILayoutBuilder {
|
|
347
|
+
grid(delegate: (container: IGridContainerBuilder) => void): ILayoutBuilder;
|
|
348
|
+
flex(delegate: (container: IFlexContainerBuilder) => void): ILayoutBuilder;
|
|
349
|
+
panel(delegate: (container: IPanelContainerBuilder) => void): ILayoutBuilder;
|
|
350
|
+
page(delegate: (container: IPageContainerBuilder) => void): ILayoutBuilder;
|
|
351
|
+
tabset(delegate: (container: ITabsetContainerBuilder) => void): ILayoutBuilder;
|
|
352
|
+
fieldset(delegate: (container: IFieldsetContainerBuilder) => void): ILayoutBuilder;
|
|
353
|
+
dialog(delegate: (container: IDialogBuilder) => void): IDialogBuilder;
|
|
354
|
+
build(): AXPWidgetNode;
|
|
355
|
+
}
|
|
356
|
+
interface IWidgetBuilder {
|
|
357
|
+
name(name: string): IWidgetBuilder;
|
|
358
|
+
path(path: string): IWidgetBuilder;
|
|
359
|
+
type(type: string): IWidgetBuilder;
|
|
360
|
+
options(options: AXPOptionsData): IWidgetBuilder;
|
|
361
|
+
layout(config: Partial<AXPGridLayoutOptions>): IWidgetBuilder;
|
|
362
|
+
layout(colSpan: number): IWidgetBuilder;
|
|
363
|
+
mode(mode: AXPWidgetRenderMode): IWidgetBuilder;
|
|
364
|
+
visible(condition: boolean | string): IWidgetBuilder;
|
|
365
|
+
disabled(condition: boolean | string): IWidgetBuilder;
|
|
366
|
+
readonly(condition: boolean | string): IWidgetBuilder;
|
|
367
|
+
direction(direction: 'rtl' | 'ltr'): IWidgetBuilder;
|
|
368
|
+
withInheritanceContext(context: InheritanceContext): IWidgetBuilder;
|
|
369
|
+
getInheritanceContext(): InheritanceContext;
|
|
370
|
+
build(): AXPWidgetNode;
|
|
371
|
+
}
|
|
372
|
+
interface IBaseContainerBuilder<TContainer = any> {
|
|
373
|
+
name(name: string): TContainer;
|
|
374
|
+
path(path: string): TContainer;
|
|
375
|
+
mode(mode: AXPWidgetRenderMode): TContainer;
|
|
376
|
+
visible(condition: boolean | AXPExpression): TContainer;
|
|
377
|
+
disabled(condition: boolean | AXPExpression): TContainer;
|
|
378
|
+
readonly(condition: boolean | AXPExpression): TContainer;
|
|
379
|
+
direction(direction: 'rtl' | 'ltr'): TContainer;
|
|
380
|
+
withInheritanceContext(context: InheritanceContext): TContainer;
|
|
381
|
+
getInheritanceContext(): InheritanceContext;
|
|
382
|
+
build(): AXPWidgetNode;
|
|
383
|
+
}
|
|
384
|
+
interface ILayoutContainerBuilder<TContainer = any> {
|
|
385
|
+
layout(config: Partial<AXPGridLayoutOptions>): TContainer;
|
|
386
|
+
layout(colSpan: number): TContainer;
|
|
387
|
+
}
|
|
388
|
+
interface IChildContainerBuilder<TContainer = any> {
|
|
389
|
+
grid(delegate: (container: IGridContainerBuilder) => void): TContainer;
|
|
390
|
+
flex(delegate: (container: IFlexContainerBuilder) => void): TContainer;
|
|
391
|
+
panel(delegate: (container: IPanelContainerBuilder) => void): TContainer;
|
|
392
|
+
page(delegate: (container: IPageContainerBuilder) => void): TContainer;
|
|
393
|
+
tabset(delegate: (container: ITabsetContainerBuilder) => void): TContainer;
|
|
394
|
+
fieldset(delegate: (container: IFieldsetContainerBuilder) => void): TContainer;
|
|
395
|
+
formField(label: string, delegate?: (field: IFormFieldBuilder) => void): TContainer;
|
|
396
|
+
}
|
|
397
|
+
interface IWidgetContainerBuilder<TContainer = any> {
|
|
398
|
+
textBox(options?: TextBoxOptions): TContainer;
|
|
399
|
+
largeTextBox(options?: LargeTextBoxOptions): TContainer;
|
|
400
|
+
richText(options?: RichTextOptions): TContainer;
|
|
401
|
+
passwordBox(options?: PasswordBoxOptions): TContainer;
|
|
402
|
+
numberBox(options?: NumberBoxOptions): TContainer;
|
|
403
|
+
selectBox(options: SelectBoxOptions): TContainer;
|
|
404
|
+
lookupBox(options: LookupBoxOptions): TContainer;
|
|
405
|
+
selectionList(options: SelectionListOptions): TContainer;
|
|
406
|
+
dateTimeBox(options?: DateTimeBoxOptions): TContainer;
|
|
407
|
+
toggleSwitch(options?: ToggleSwitchOptions): TContainer;
|
|
408
|
+
colorBox(options?: ColorBoxOptions): TContainer;
|
|
409
|
+
list(delegate: (container: IListWidgetBuilder) => void): TContainer;
|
|
410
|
+
customWidget<T>(type: string, options?: T): TContainer;
|
|
411
|
+
}
|
|
412
|
+
interface IFlexContainerBuilder extends IBaseContainerBuilder<IFlexContainerBuilder>, ILayoutContainerBuilder<IFlexContainerBuilder>, IChildContainerBuilder<IFlexContainerBuilder>, IWidgetContainerBuilder<IFlexContainerBuilder> {
|
|
413
|
+
setOptions(options: AXPFlexContainerOptions): IFlexContainerBuilder;
|
|
414
|
+
setDirection(direction: 'row' | 'column' | 'row-reverse' | 'column-reverse'): IFlexContainerBuilder;
|
|
415
|
+
setWrap(wrap: 'nowrap' | 'wrap' | 'wrap-reverse'): IFlexContainerBuilder;
|
|
416
|
+
setJustifyContent(justify: 'flex-start' | 'flex-end' | 'center' | 'space-between' | 'space-around' | 'space-evenly'): IFlexContainerBuilder;
|
|
417
|
+
setAlignItems(align: 'flex-start' | 'flex-end' | 'center' | 'baseline' | 'stretch'): IFlexContainerBuilder;
|
|
418
|
+
setGap(gap: string): IFlexContainerBuilder;
|
|
419
|
+
setBackgroundColor(color: string): IFlexContainerBuilder;
|
|
420
|
+
setPadding(padding: string): IFlexContainerBuilder;
|
|
421
|
+
setMargin(margin: string): IFlexContainerBuilder;
|
|
422
|
+
}
|
|
423
|
+
interface IGridContainerBuilder extends IBaseContainerBuilder<IGridContainerBuilder>, ILayoutContainerBuilder<IGridContainerBuilder>, IChildContainerBuilder<IGridContainerBuilder>, IWidgetContainerBuilder<IGridContainerBuilder> {
|
|
424
|
+
setOptions(options: AXPGridContainerOptions): IGridContainerBuilder;
|
|
425
|
+
setColumns(columns: number): IGridContainerBuilder;
|
|
426
|
+
setRows(rows: number): IGridContainerBuilder;
|
|
427
|
+
setGap(gap: string): IGridContainerBuilder;
|
|
428
|
+
setJustifyItems(justify: 'start' | 'end' | 'center' | 'stretch'): IGridContainerBuilder;
|
|
429
|
+
setAlignItems(align: 'start' | 'end' | 'center' | 'stretch'): IGridContainerBuilder;
|
|
430
|
+
setAutoFlow(flow: 'row' | 'column' | 'row dense' | 'column dense'): IGridContainerBuilder;
|
|
431
|
+
setBackgroundColor(color: string): IGridContainerBuilder;
|
|
432
|
+
setPadding(padding: string): IGridContainerBuilder;
|
|
433
|
+
setMargin(margin: string): IGridContainerBuilder;
|
|
434
|
+
}
|
|
435
|
+
interface IPanelContainerBuilder extends IBaseContainerBuilder<IPanelContainerBuilder>, ILayoutContainerBuilder<IPanelContainerBuilder>, IChildContainerBuilder<IPanelContainerBuilder>, IWidgetContainerBuilder<IPanelContainerBuilder> {
|
|
436
|
+
setOptions(options: AXPPanelContainerOptions): IPanelContainerBuilder;
|
|
437
|
+
setCaption(caption: string): IPanelContainerBuilder;
|
|
438
|
+
setIcon(icon: string): IPanelContainerBuilder;
|
|
439
|
+
setLook(look: 'solid' | 'fill' | 'outline' | 'flat' | 'none'): IPanelContainerBuilder;
|
|
440
|
+
setShowHeader(show: boolean): IPanelContainerBuilder;
|
|
441
|
+
setCollapsed(collapsed: boolean): IPanelContainerBuilder;
|
|
442
|
+
}
|
|
443
|
+
interface IPageContainerBuilder extends IBaseContainerBuilder<IPageContainerBuilder>, ILayoutContainerBuilder<IPageContainerBuilder>, IChildContainerBuilder<IPageContainerBuilder>, IWidgetContainerBuilder<IPageContainerBuilder> {
|
|
444
|
+
setOptions(options: AXPPageContainerOptions): IPageContainerBuilder;
|
|
445
|
+
setBackgroundColor(color: string): IPageContainerBuilder;
|
|
446
|
+
setTheme(theme: {
|
|
447
|
+
id: string;
|
|
448
|
+
}): IPageContainerBuilder;
|
|
449
|
+
setHasHeader(hasHeader: boolean): IPageContainerBuilder;
|
|
450
|
+
setHasFooter(hasFooter: boolean): IPageContainerBuilder;
|
|
451
|
+
setDirection(direction: 'rtl' | 'ltr'): IPageContainerBuilder;
|
|
452
|
+
}
|
|
453
|
+
interface ITabsetContainerBuilder extends IBaseContainerBuilder<ITabsetContainerBuilder>, ILayoutContainerBuilder<ITabsetContainerBuilder>, IChildContainerBuilder<ITabsetContainerBuilder>, IWidgetContainerBuilder<ITabsetContainerBuilder> {
|
|
454
|
+
setOptions(options: AXPTabsetContainerOptions): ITabsetContainerBuilder;
|
|
455
|
+
setLook(look: 'with-line' | 'with-line-color' | 'pills' | 'pills-color'): ITabsetContainerBuilder;
|
|
456
|
+
setOrientation(orientation: 'vertical' | 'horizontal'): ITabsetContainerBuilder;
|
|
457
|
+
setActiveIndex(index: number): ITabsetContainerBuilder;
|
|
458
|
+
}
|
|
459
|
+
interface IFormFieldBuilder extends IBaseContainerBuilder<IFormFieldBuilder>, ILayoutContainerBuilder<IFormFieldBuilder> {
|
|
460
|
+
setOptions(options: AXPFormFieldOptions): IFormFieldBuilder;
|
|
461
|
+
setLabel(label: string): IFormFieldBuilder;
|
|
462
|
+
setShowLabel(showLabel: boolean): IFormFieldBuilder;
|
|
463
|
+
textBox(options?: Omit<TextBoxOptions, 'path'>): IFormFieldBuilder;
|
|
464
|
+
largeTextBox(options?: Omit<LargeTextBoxOptions, 'path'>): IFormFieldBuilder;
|
|
465
|
+
richText(options?: Omit<RichTextOptions, 'path'>): IFormFieldBuilder;
|
|
466
|
+
passwordBox(options?: Omit<PasswordBoxOptions, 'path'>): IFormFieldBuilder;
|
|
467
|
+
numberBox(options?: Omit<NumberBoxOptions, 'path'>): IFormFieldBuilder;
|
|
468
|
+
selectBox(options: Omit<SelectBoxOptions, 'path'>): IFormFieldBuilder;
|
|
469
|
+
lookupBox(options: Omit<LookupBoxOptions, 'path'>): IFormFieldBuilder;
|
|
470
|
+
selectionList(options: Omit<SelectionListOptions, 'path'>): IFormFieldBuilder;
|
|
471
|
+
dateTimeBox(options?: Omit<DateTimeBoxOptions, 'path'>): IFormFieldBuilder;
|
|
472
|
+
toggleSwitch(options?: Omit<ToggleSwitchOptions, 'path'>): IFormFieldBuilder;
|
|
473
|
+
colorBox(options?: Omit<ColorBoxOptions, 'path'>): IFormFieldBuilder;
|
|
474
|
+
customWidget<T>(type: string, options?: Omit<T, 'path'>): IFormFieldBuilder;
|
|
475
|
+
}
|
|
476
|
+
interface IFieldsetContainerBuilder extends IBaseContainerBuilder<IFieldsetContainerBuilder>, ILayoutContainerBuilder<IFieldsetContainerBuilder> {
|
|
477
|
+
setOptions(options: AXPFieldsetContainerOptions): IFieldsetContainerBuilder;
|
|
478
|
+
setTitle(title: string): IFieldsetContainerBuilder;
|
|
479
|
+
setDescription(description: string): IFieldsetContainerBuilder;
|
|
480
|
+
setIcon(icon: string): IFieldsetContainerBuilder;
|
|
481
|
+
setCollapsible(collapsible: boolean): IFieldsetContainerBuilder;
|
|
482
|
+
setIsOpen(isOpen: boolean): IFieldsetContainerBuilder;
|
|
483
|
+
setLook(look: 'fieldset' | 'card' | 'group'): IFieldsetContainerBuilder;
|
|
484
|
+
setShowHeader(showHeader: boolean): IFieldsetContainerBuilder;
|
|
485
|
+
setCols(cols: number): IFieldsetContainerBuilder;
|
|
486
|
+
formField(label: string, delegate?: (field: IFormFieldBuilder) => void): IFieldsetContainerBuilder;
|
|
487
|
+
}
|
|
488
|
+
interface IDialogBuilder {
|
|
489
|
+
setOptions(options: AXPDialogContainerOptions): IDialogBuilder;
|
|
490
|
+
setTitle(title: string): IDialogBuilder;
|
|
491
|
+
setMessage(message?: string): IDialogBuilder;
|
|
492
|
+
setSize(size: AXPopupSizeType): IDialogBuilder;
|
|
493
|
+
setCloseButton(closeButton: boolean): IDialogBuilder;
|
|
494
|
+
setContext(context: any): IDialogBuilder;
|
|
495
|
+
content(delegate: (layoutBuilder: IFlexContainerBuilder) => void): IDialogBuilder;
|
|
496
|
+
setActions(delegate?: (actions: IActionBuilder) => void): IDialogBuilder;
|
|
497
|
+
show(): Promise<AXPDialogRef>;
|
|
498
|
+
}
|
|
499
|
+
interface IListWidgetBuilder extends IBaseContainerBuilder<IListWidgetBuilder>, ILayoutContainerBuilder<IListWidgetBuilder>, IChildContainerBuilder<IListWidgetBuilder>, IWidgetContainerBuilder<IListWidgetBuilder> {
|
|
500
|
+
setOptions(options: AXPListWidgetOptions): IListWidgetBuilder;
|
|
501
|
+
setDataSource(dataSource: any[] | AXDataSource): IListWidgetBuilder;
|
|
502
|
+
setColumns(columns: AXPListWidgetColumn[]): IListWidgetBuilder;
|
|
503
|
+
setOnRowClick(handler: (row: any) => void): IListWidgetBuilder;
|
|
504
|
+
setOnRowDoubleClick(handler: (row: any) => void): IListWidgetBuilder;
|
|
505
|
+
setOnSelectionChange(handler: (selectedRows: any[]) => void): IListWidgetBuilder;
|
|
506
|
+
setOnRowCommand(handler: (command: any, selectedRows: any[]) => void): IListWidgetBuilder;
|
|
507
|
+
setPaging(paging: boolean): IListWidgetBuilder;
|
|
508
|
+
setShowHeader(show: boolean): IListWidgetBuilder;
|
|
509
|
+
setShowFooter(show: boolean): IListWidgetBuilder;
|
|
510
|
+
setFixHeader(fix: boolean): IListWidgetBuilder;
|
|
511
|
+
setFixFooter(fix: boolean): IListWidgetBuilder;
|
|
512
|
+
setFetchDataMode(mode: 'auto' | 'manual'): IListWidgetBuilder;
|
|
513
|
+
setParentField(field: string): IListWidgetBuilder;
|
|
514
|
+
setMinHeight(height: string | number): IListWidgetBuilder;
|
|
515
|
+
setShowIndex(show: boolean): IListWidgetBuilder;
|
|
516
|
+
setAllowSelection(allow: boolean): IListWidgetBuilder;
|
|
517
|
+
setPrimaryCommands(commands: any[]): IListWidgetBuilder;
|
|
518
|
+
setSecondaryCommands(commands: AXPListWidgetRowCommand[]): IListWidgetBuilder;
|
|
519
|
+
setLoading(loading: {
|
|
520
|
+
enabled?: boolean;
|
|
521
|
+
animation?: boolean;
|
|
522
|
+
}): IListWidgetBuilder;
|
|
341
523
|
}
|
|
342
524
|
|
|
343
|
-
|
|
344
|
-
type AXPStyleMap = Readonly<Record<string, string | number>>;
|
|
345
|
-
declare abstract class AXPBaseWidgetComponent extends AXPLayoutElement {
|
|
525
|
+
declare class AXPLayoutRendererComponent implements OnInit {
|
|
346
526
|
#private;
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
hostClass?(): AXPClassMap;
|
|
411
|
-
hostStyle?(): AXPStyleMap;
|
|
412
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPBaseWidgetComponent, never>;
|
|
413
|
-
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPBaseWidgetComponent>;
|
|
414
|
-
}
|
|
415
|
-
declare abstract class AXPLayoutBaseWidgetComponent extends AXPBaseWidgetComponent {
|
|
416
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPLayoutBaseWidgetComponent, never>;
|
|
417
|
-
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPLayoutBaseWidgetComponent>;
|
|
418
|
-
}
|
|
419
|
-
declare abstract class AXPValueWidgetComponent<T = any | null> extends AXPLayoutBaseWidgetComponent implements OnInit {
|
|
420
|
-
protected readonly path: string | undefined;
|
|
421
|
-
protected readonly defaultValue: any;
|
|
422
|
-
private _isValueWidget;
|
|
423
|
-
private isValueWidget;
|
|
424
|
-
onValueChanged: Subject<{
|
|
425
|
-
sender: AXPBaseWidgetComponent;
|
|
426
|
-
}>;
|
|
427
|
-
fullPath: _angular_core.WritableSignal<string | null>;
|
|
428
|
-
parentPath: _angular_core.WritableSignal<string | null>;
|
|
527
|
+
private evaluatorService;
|
|
528
|
+
private conversionService;
|
|
529
|
+
/**
|
|
530
|
+
* Tracks the latest scheduled evaluation to ensure last-write-wins for async evaluate
|
|
531
|
+
*/
|
|
532
|
+
private evaluationRunId;
|
|
533
|
+
/**
|
|
534
|
+
* RxJS subjects for context management
|
|
535
|
+
*/
|
|
536
|
+
private contextUpdateSubject;
|
|
537
|
+
private contextChangeSubject;
|
|
538
|
+
/**
|
|
539
|
+
* Cache for expression evaluation results
|
|
540
|
+
*/
|
|
541
|
+
private expressionCache;
|
|
542
|
+
/**
|
|
543
|
+
* Cache for widget tree comparisons
|
|
544
|
+
*/
|
|
545
|
+
private widgetTreeCache;
|
|
546
|
+
/**
|
|
547
|
+
* Last layout hash for change detection
|
|
548
|
+
*/
|
|
549
|
+
private lastLayoutHash;
|
|
550
|
+
/**
|
|
551
|
+
* Form definition containing groups and fields OR widget tree
|
|
552
|
+
*/
|
|
553
|
+
layout: i0.InputSignal<AXPWidgetNode | AXPDynamicFormDefinition>;
|
|
554
|
+
/**
|
|
555
|
+
* Form context/model data
|
|
556
|
+
*/
|
|
557
|
+
context: i0.ModelSignal<any>;
|
|
558
|
+
/**
|
|
559
|
+
* Form appearance and density styling (normal, compact, spacious)
|
|
560
|
+
*/
|
|
561
|
+
look: i0.InputSignal<AXPDynamicFormLook>;
|
|
562
|
+
/**
|
|
563
|
+
* Default form mode. Can be overridden by section/group and field.
|
|
564
|
+
*/
|
|
565
|
+
mode: i0.InputSignal<AXPDynamicFormMode>;
|
|
566
|
+
protected widgetTree: i0.WritableSignal<AXPWidgetNode | null>;
|
|
567
|
+
/**
|
|
568
|
+
* Convert and evaluate data when inputs change (optimized with RxJS)
|
|
569
|
+
*/
|
|
570
|
+
conversionEffect: i0.EffectRef;
|
|
571
|
+
protected expressionEvaluator(expression: any, context: any): Promise<any>;
|
|
572
|
+
/**
|
|
573
|
+
* Emitted when context change is initiated
|
|
574
|
+
*/
|
|
575
|
+
contextInitiated: i0.OutputEmitterRef<any>;
|
|
576
|
+
/**
|
|
577
|
+
* Emitted when form becomes valid/invalid
|
|
578
|
+
*/
|
|
579
|
+
validityChange: i0.OutputEmitterRef<boolean>;
|
|
580
|
+
private form;
|
|
581
|
+
private container;
|
|
582
|
+
/**
|
|
583
|
+
* Internal context signal for reactivity
|
|
584
|
+
*/
|
|
585
|
+
protected internalContext: i0.WritableSignal<any>;
|
|
586
|
+
/**
|
|
587
|
+
* Initial context for reset functionality
|
|
588
|
+
*/
|
|
589
|
+
private initialContext;
|
|
429
590
|
ngOnInit(): void;
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
591
|
+
/**
|
|
592
|
+
* Handle context change events from widget container (optimized with RxJS)
|
|
593
|
+
*/
|
|
594
|
+
protected handleContextChanged(event: AXPWidgetCoreContextChangeEvent): void;
|
|
595
|
+
/**
|
|
596
|
+
* Get the form component instance
|
|
597
|
+
*/
|
|
598
|
+
getForm(): AXFormComponent | undefined;
|
|
599
|
+
/**
|
|
600
|
+
* Get the widget container component instance
|
|
601
|
+
*/
|
|
602
|
+
getContainer(): AXPWidgetContainerComponent | undefined;
|
|
603
|
+
/**
|
|
604
|
+
* Get current form context
|
|
605
|
+
*/
|
|
606
|
+
getContext(): any;
|
|
607
|
+
/**
|
|
608
|
+
* Update form context programmatically
|
|
609
|
+
*/
|
|
610
|
+
updateContext(context: any): void;
|
|
611
|
+
/**
|
|
612
|
+
* Get the current widget tree
|
|
613
|
+
*/
|
|
614
|
+
getWidgetTree(): AXPWidgetNode | null;
|
|
615
|
+
/**
|
|
616
|
+
* Validate the form
|
|
617
|
+
*/
|
|
618
|
+
validate(): Promise<AXValidationSummary>;
|
|
619
|
+
/**
|
|
620
|
+
* Clear the form context
|
|
621
|
+
*/
|
|
622
|
+
clear(): void;
|
|
623
|
+
/**
|
|
624
|
+
* Reset the form to its initial state
|
|
625
|
+
*/
|
|
626
|
+
reset(): void;
|
|
627
|
+
/**
|
|
628
|
+
* Setup RxJS streams for context management
|
|
629
|
+
*/
|
|
630
|
+
private setupContextStreams;
|
|
631
|
+
/**
|
|
632
|
+
* Type guard to check if the input is a form definition
|
|
633
|
+
*/
|
|
634
|
+
private isFormDefinition;
|
|
635
|
+
/**
|
|
636
|
+
* Generate layout hash for change detection (short hash)
|
|
637
|
+
*/
|
|
638
|
+
private generateLayoutHash;
|
|
639
|
+
/**
|
|
640
|
+
* Generate cache key for expression evaluation (short hash)
|
|
641
|
+
*/
|
|
642
|
+
private generateCacheKey;
|
|
643
|
+
/**
|
|
644
|
+
* Generate a simple hash for context change detection
|
|
645
|
+
*/
|
|
646
|
+
private generateContextHash;
|
|
647
|
+
/**
|
|
648
|
+
* Simple hash function for generating short keys
|
|
649
|
+
*/
|
|
650
|
+
private simpleHash;
|
|
651
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPLayoutRendererComponent, never>;
|
|
652
|
+
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>;
|
|
473
653
|
}
|
|
474
654
|
|
|
475
|
-
declare
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
static
|
|
479
|
-
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPBlockBaseLayoutWidgetComponent>;
|
|
655
|
+
declare class LayoutBuilderModule {
|
|
656
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<LayoutBuilderModule, never>;
|
|
657
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<LayoutBuilderModule, never, [typeof i1.CommonModule, typeof AXPLayoutRendererComponent], [typeof AXPLayoutRendererComponent]>;
|
|
658
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<LayoutBuilderModule>;
|
|
480
659
|
}
|
|
481
660
|
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
}
|
|
491
|
-
interface AXPBorderBox<T extends string | number = string> {
|
|
492
|
-
width: AXPPropertySides<T>;
|
|
493
|
-
radius: AXPPropertyCorners<T>;
|
|
494
|
-
color: AXPPropertySides<T>;
|
|
495
|
-
style: AXPPropertySides<T>;
|
|
496
|
-
}
|
|
497
|
-
interface AXPSpacingBoxString {
|
|
498
|
-
margin: string;
|
|
499
|
-
padding: string;
|
|
500
|
-
}
|
|
501
|
-
interface AXPBorderBoxString {
|
|
502
|
-
width: string;
|
|
503
|
-
radius: string;
|
|
504
|
-
color: string;
|
|
505
|
-
style: string;
|
|
506
|
-
}
|
|
507
|
-
interface AXPFlexBoxString {
|
|
508
|
-
flexDirection?: 'row' | 'row-reverse' | 'column' | 'column-reverse';
|
|
509
|
-
flexWrap?: 'nowrap' | 'wrap' | 'wrap-reverse';
|
|
510
|
-
justifyContent?: 'flex-start' | 'flex-end' | 'center' | 'space-between' | 'space-around';
|
|
511
|
-
alignItems?: 'stretch' | 'flex-start' | 'flex-end' | 'center' | 'baseline';
|
|
512
|
-
gap?: string;
|
|
513
|
-
}
|
|
514
|
-
interface AXPFlexItemBoxString {
|
|
515
|
-
order?: string;
|
|
516
|
-
grow?: string;
|
|
517
|
-
shrink?: string;
|
|
518
|
-
basis?: string;
|
|
519
|
-
alignSelf?: string;
|
|
661
|
+
declare class AXPLayoutBuilderService {
|
|
662
|
+
private popupService;
|
|
663
|
+
/**
|
|
664
|
+
* Create a new layout builder
|
|
665
|
+
*/
|
|
666
|
+
create(): ILayoutBuilder;
|
|
667
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPLayoutBuilderService, never>;
|
|
668
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXPLayoutBuilderService>;
|
|
520
669
|
}
|
|
521
|
-
interface AXPGridBoxString {
|
|
522
|
-
columns?: number;
|
|
523
|
-
rows?: number;
|
|
524
|
-
gap?: string;
|
|
525
|
-
justifyItems?: 'start' | 'end' | 'center' | 'stretch';
|
|
526
|
-
alignItems?: 'start' | 'end' | 'center' | 'stretch';
|
|
527
|
-
autoFlow?: 'row' | 'column' | 'dense' | 'row dense' | 'column dense';
|
|
528
|
-
}
|
|
529
|
-
interface AXPGridItemBoxString {
|
|
530
|
-
colSpan?: string | number;
|
|
531
|
-
colStart?: string | number;
|
|
532
|
-
colEnd?: string | number;
|
|
533
|
-
rowSpan?: string | number;
|
|
534
|
-
rowStart?: string | number;
|
|
535
|
-
rowEnd?: string | number;
|
|
536
|
-
alignSelf?: 'start' | 'end' | 'center' | 'stretch';
|
|
537
|
-
justifySelf?: 'start' | 'end' | 'center' | 'stretch';
|
|
538
|
-
}
|
|
539
|
-
type AXPGridBreakpointValues = AXPBreakpointValues<AXPGridBoxString>;
|
|
540
|
-
type AXPBreakpoints = 'default' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl';
|
|
541
|
-
type AXPBreakpointValues<T> = {
|
|
542
|
-
[key in AXPBreakpoints]?: T;
|
|
543
|
-
};
|
|
544
670
|
|
|
545
|
-
declare class
|
|
546
|
-
private
|
|
547
|
-
private
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
671
|
+
declare class AXPLayoutConversionService {
|
|
672
|
+
private widgetTreeCache;
|
|
673
|
+
private formDefinitionCache;
|
|
674
|
+
/**
|
|
675
|
+
* Convert AXPDynamicFormDefinition to AXPWidgetNode tree structure
|
|
676
|
+
* Groups become Fieldset Layouts with Form Field widgets as children
|
|
677
|
+
* Fields become Form Field widgets with Editor widgets as children
|
|
678
|
+
*/
|
|
679
|
+
convertFormDefinition(formDefinition: AXPDynamicFormDefinition): AXPWidgetNode;
|
|
680
|
+
/**
|
|
681
|
+
* Convert AXPWidgetNode tree back to AXPDynamicFormDefinition
|
|
682
|
+
* Parses Fieldset Layouts back to Groups
|
|
683
|
+
* Parses Form Field widgets back to Fields
|
|
684
|
+
*/
|
|
685
|
+
convertWidgetTreeToFormDefinition(widgetTree: AXPWidgetNode): AXPDynamicFormDefinition;
|
|
686
|
+
/**
|
|
687
|
+
* Validate that a widget tree represents a valid dynamic form structure
|
|
688
|
+
*/
|
|
689
|
+
validateFormWidgetTree(widgetTree: AXPWidgetNode): boolean;
|
|
690
|
+
/**
|
|
691
|
+
* Clear all caches
|
|
692
|
+
*/
|
|
693
|
+
clearCaches(): void;
|
|
694
|
+
/**
|
|
695
|
+
* Get cache statistics
|
|
696
|
+
*/
|
|
697
|
+
getCacheStats(): {
|
|
698
|
+
widgetTreeCacheSize: number;
|
|
699
|
+
formDefinitionCacheSize: number;
|
|
563
700
|
};
|
|
564
|
-
static parseGridTemplate(gridTemplate: string): number;
|
|
565
|
-
static createGridTemplate(repetitionCount: number): string;
|
|
566
|
-
}
|
|
567
|
-
declare function findNonEmptyBreakpoints<T>(values: AXPBreakpointValues<T>): AXPBreakpoints[];
|
|
568
|
-
|
|
569
|
-
declare abstract class AXPFlexBaseLayoutWidgetComponent extends AXPBlockBaseLayoutWidgetComponent {
|
|
570
|
-
protected flex: _angular_core.Signal<AXPFlexBoxString | undefined>;
|
|
571
|
-
hostFlexStyle: _angular_core.Signal<Record<string, string | number>>;
|
|
572
|
-
hostFlexClass: _angular_core.Signal<Record<string, boolean>>;
|
|
573
|
-
hostClass: _angular_core.Signal<Record<string, boolean>>;
|
|
574
|
-
hostStyle: _angular_core.Signal<Record<string, string | number>>;
|
|
575
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPFlexBaseLayoutWidgetComponent, never>;
|
|
576
|
-
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPFlexBaseLayoutWidgetComponent>;
|
|
577
|
-
}
|
|
578
|
-
|
|
579
|
-
declare abstract class AXPInlineBaseLayoutWidgetComponent extends AXPBoxModelLayoutWidgetComponent {
|
|
580
|
-
hostClass: _angular_core.Signal<Readonly<Record<string, boolean>>>;
|
|
581
|
-
hostStyle: _angular_core.Signal<Readonly<Record<string, string | number>>>;
|
|
582
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPInlineBaseLayoutWidgetComponent, never>;
|
|
583
|
-
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPInlineBaseLayoutWidgetComponent>;
|
|
584
|
-
}
|
|
585
|
-
|
|
586
|
-
declare abstract class AXPFlexItemBaseLayoutWidgetComponent extends AXPInlineBaseLayoutWidgetComponent {
|
|
587
|
-
protected flexItem: _angular_core.Signal<AXPFlexItemBoxString | undefined>;
|
|
588
|
-
hostFlexItemStyle: _angular_core.Signal<Record<string, string | number>>;
|
|
589
|
-
hostFlexItemClass: _angular_core.Signal<{
|
|
590
|
-
[x: string]: boolean;
|
|
591
|
-
}>;
|
|
592
|
-
hostClass: _angular_core.Signal<{
|
|
593
|
-
[x: string]: boolean;
|
|
594
|
-
}>;
|
|
595
|
-
hostStyle: _angular_core.Signal<Record<string, string | number>>;
|
|
596
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPFlexItemBaseLayoutWidgetComponent, never>;
|
|
597
|
-
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPFlexItemBaseLayoutWidgetComponent>;
|
|
598
|
-
}
|
|
599
|
-
|
|
600
|
-
declare abstract class AXPGridBaseLayoutWidgetComponent extends AXPBlockBaseLayoutWidgetComponent {
|
|
601
|
-
private grid;
|
|
602
|
-
hostGridStyle: _angular_core.Signal<Record<string, string | number>>;
|
|
603
|
-
hostGridClass: _angular_core.Signal<Record<string, boolean>>;
|
|
604
|
-
hostClass: _angular_core.Signal<Record<string, boolean>>;
|
|
605
|
-
hostStyle: _angular_core.Signal<Record<string, string | number>>;
|
|
606
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPGridBaseLayoutWidgetComponent, never>;
|
|
607
|
-
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPGridBaseLayoutWidgetComponent>;
|
|
608
|
-
}
|
|
609
|
-
|
|
610
|
-
declare abstract class AXPGridItemBaseLayoutWidgetComponent extends AXPFlexBaseLayoutWidgetComponent {
|
|
611
|
-
private gridItem;
|
|
612
|
-
hostGridItemStyle: _angular_core.Signal<Record<string, string | number>>;
|
|
613
|
-
hostGridItemClass: _angular_core.Signal<Record<string, boolean>>;
|
|
614
|
-
hostClass: _angular_core.Signal<Record<string, boolean>>;
|
|
615
|
-
hostStyle: _angular_core.Signal<Record<string, string | number>>;
|
|
616
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPGridItemBaseLayoutWidgetComponent, never>;
|
|
617
|
-
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPGridItemBaseLayoutWidgetComponent>;
|
|
618
|
-
}
|
|
619
|
-
|
|
620
|
-
declare abstract class AXPTableBaseLayoutWidgetComponent extends AXPBlockBaseLayoutWidgetComponent {
|
|
621
|
-
hostTableClass: _angular_core.Signal<{
|
|
622
|
-
[x: string]: boolean;
|
|
623
|
-
}>;
|
|
624
|
-
hostTableStyle: _angular_core.Signal<Record<string, string | number>>;
|
|
625
|
-
hostClass: _angular_core.Signal<{
|
|
626
|
-
[x: string]: boolean;
|
|
627
|
-
}>;
|
|
628
|
-
hostStyle: _angular_core.Signal<Record<string, string | number>>;
|
|
629
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPTableBaseLayoutWidgetComponent, never>;
|
|
630
|
-
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPTableBaseLayoutWidgetComponent>;
|
|
631
|
-
}
|
|
632
|
-
|
|
633
|
-
declare abstract class AXPTableItemOpsBaseLayoutWidgetComponent extends AXPBlockBaseLayoutWidgetComponent {
|
|
634
|
-
abstract insertColumnLeft(): void;
|
|
635
|
-
abstract insertColumnRight(): void;
|
|
636
|
-
abstract insertRowAbove(): void;
|
|
637
|
-
abstract insertRowBelow(): void;
|
|
638
|
-
abstract insertCellShiftRight(): void;
|
|
639
|
-
abstract insertCellShiftDown(): void;
|
|
640
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPTableItemOpsBaseLayoutWidgetComponent, never>;
|
|
641
|
-
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPTableItemOpsBaseLayoutWidgetComponent>;
|
|
642
|
-
}
|
|
643
|
-
|
|
644
|
-
declare abstract class AXPTableItemBaseLayoutWidgetComponent extends AXPTableItemOpsBaseLayoutWidgetComponent {
|
|
645
|
-
protected colSpan: _angular_core.Signal<number>;
|
|
646
|
-
protected rowSpan: _angular_core.Signal<number>;
|
|
647
|
-
hostClass: _angular_core.Signal<Readonly<Record<string, boolean>>>;
|
|
648
|
-
hostStyle: _angular_core.Signal<Readonly<Record<string, string | number>>>;
|
|
649
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPTableItemBaseLayoutWidgetComponent, never>;
|
|
650
|
-
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPTableItemBaseLayoutWidgetComponent>;
|
|
651
|
-
}
|
|
652
|
-
|
|
653
|
-
type AXPLayoutContextState = 'initiated' | 'restored' | 'changed' | 'patch';
|
|
654
|
-
declare class AXPLayoutContextChangeEvent {
|
|
655
|
-
oldValue?: any;
|
|
656
|
-
newValue?: any;
|
|
657
|
-
path?: string;
|
|
658
|
-
state: AXPLayoutContextState;
|
|
659
|
-
data: any;
|
|
660
|
-
}
|
|
661
|
-
declare const AXPLayoutBuilderContextStore: _angular_core.Type<{
|
|
662
|
-
data: _angular_core.Signal<{}>;
|
|
663
|
-
state: _angular_core.Signal<AXPLayoutContextState>;
|
|
664
|
-
initialSnapshot: _angular_core.Signal<{}>;
|
|
665
|
-
previousSnapshot: _angular_core.Signal<{}>;
|
|
666
|
-
lastChange: _ngrx_signals.DeepSignal<AXPLayoutContextChangeEvent>;
|
|
667
|
-
isChanged: _angular_core.Signal<boolean>;
|
|
668
|
-
isReset: _angular_core.Signal<boolean>;
|
|
669
|
-
isInitiated: _angular_core.Signal<boolean>;
|
|
670
|
-
isEmpty: _angular_core.Signal<boolean>;
|
|
671
|
-
isDirty: _angular_core.Signal<boolean>;
|
|
672
|
-
snapshot: _angular_core.Signal<{}>;
|
|
673
|
-
initial: _angular_core.Signal<{}>;
|
|
674
|
-
previous: _angular_core.Signal<{}>;
|
|
675
|
-
changeEvent: _angular_core.Signal<AXPLayoutContextChangeEvent>;
|
|
676
|
-
update: (path: string, value: any) => void;
|
|
677
|
-
patch: (context: {}) => void;
|
|
678
|
-
reset: () => void;
|
|
679
|
-
set: (initialData: any) => void;
|
|
680
|
-
getValue: (path: string) => any;
|
|
681
|
-
} & _ngrx_signals.StateSource<{
|
|
682
|
-
data: {};
|
|
683
|
-
state: AXPLayoutContextState;
|
|
684
|
-
initialSnapshot: {};
|
|
685
|
-
previousSnapshot: {};
|
|
686
|
-
lastChange: AXPLayoutContextChangeEvent;
|
|
687
|
-
}>>;
|
|
688
|
-
|
|
689
|
-
declare class AXPWidgetContainerComponent {
|
|
690
|
-
readonly contextService: {
|
|
691
|
-
data: _angular_core.Signal<{}>;
|
|
692
|
-
state: _angular_core.Signal<_acorex_platform_layout_builder.AXPLayoutContextState>;
|
|
693
|
-
initialSnapshot: _angular_core.Signal<{}>;
|
|
694
|
-
previousSnapshot: _angular_core.Signal<{}>;
|
|
695
|
-
lastChange: _ngrx_signals.DeepSignal<AXPLayoutContextChangeEvent>;
|
|
696
|
-
isChanged: _angular_core.Signal<boolean>;
|
|
697
|
-
isReset: _angular_core.Signal<boolean>;
|
|
698
|
-
isInitiated: _angular_core.Signal<boolean>;
|
|
699
|
-
isEmpty: _angular_core.Signal<boolean>;
|
|
700
|
-
isDirty: _angular_core.Signal<boolean>;
|
|
701
|
-
snapshot: _angular_core.Signal<{}>;
|
|
702
|
-
initial: _angular_core.Signal<{}>;
|
|
703
|
-
previous: _angular_core.Signal<{}>;
|
|
704
|
-
changeEvent: _angular_core.Signal<AXPLayoutContextChangeEvent>;
|
|
705
|
-
update: (path: string, value: any) => void;
|
|
706
|
-
patch: (context: {}) => void;
|
|
707
|
-
reset: () => void;
|
|
708
|
-
set: (initialData: any) => void;
|
|
709
|
-
getValue: (path: string) => any;
|
|
710
|
-
} & _ngrx_signals.StateSource<{
|
|
711
|
-
data: {};
|
|
712
|
-
state: _acorex_platform_layout_builder.AXPLayoutContextState;
|
|
713
|
-
initialSnapshot: {};
|
|
714
|
-
previousSnapshot: {};
|
|
715
|
-
lastChange: AXPLayoutContextChangeEvent;
|
|
716
|
-
}>;
|
|
717
|
-
readonly builderService: AXPLayoutBuilderService;
|
|
718
|
-
readonly onContextChanged: EventEmitter<AXPLayoutContextChangeEvent>;
|
|
719
|
-
set context(value: any);
|
|
720
|
-
set functions(v: any);
|
|
721
|
-
constructor();
|
|
722
|
-
status: _angular_core.Signal<_acorex_platform_layout_builder.AXPPageStatus>;
|
|
723
|
-
isBusy: _angular_core.Signal<boolean>;
|
|
724
|
-
refresh(): void;
|
|
725
|
-
find(name: string): Promise<_acorex_platform_layout_builder.AXPLayoutElement | undefined>;
|
|
726
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPWidgetContainerComponent, never>;
|
|
727
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPWidgetContainerComponent, "axp-widgets-container", never, { "context": { "alias": "context"; "required": false; }; "functions": { "alias": "functions"; "required": false; }; }, { "onContextChanged": "onContextChanged"; }, never, ["*"], false, never>;
|
|
728
|
-
}
|
|
729
|
-
|
|
730
|
-
declare class AXPWidgetRegistryService {
|
|
731
|
-
private types;
|
|
732
|
-
static instance: AXPWidgetRegistryService;
|
|
733
701
|
/**
|
|
734
|
-
*
|
|
702
|
+
* Convert a single group to Fieldset widget structure
|
|
735
703
|
*/
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
private _contentFooterTemplate;
|
|
758
|
-
get renderFooterTemplate(): TemplateRef<unknown>;
|
|
759
|
-
expandHandler: boolean;
|
|
760
|
-
cellTemplate: TemplateRef<unknown>;
|
|
761
|
-
private _contentCellTemplate;
|
|
762
|
-
get renderCellTemplate(): TemplateRef<unknown>;
|
|
763
|
-
headerTemplate: TemplateRef<unknown>;
|
|
764
|
-
private _contentHeaderTemplate;
|
|
765
|
-
protected handleExpandRow(row: any): Promise<void>;
|
|
766
|
-
get renderHeaderTemplate(): TemplateRef<unknown>;
|
|
767
|
-
get loadingEnabled(): boolean;
|
|
768
|
-
get name(): string;
|
|
769
|
-
private injector;
|
|
770
|
-
private cdr;
|
|
771
|
-
protected widgetInjector: Injector;
|
|
772
|
-
protected component: any;
|
|
773
|
-
ngOnInit(): Promise<void>;
|
|
774
|
-
getInputs(data: any): any;
|
|
775
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPWidgetColumnRendererComponent, never>;
|
|
776
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPWidgetColumnRendererComponent, "axp-widget-column-renderer", never, { "caption": { "alias": "caption"; "required": false; }; "customExpandIcon": { "alias": "customExpandIcon"; "required": false; }; "customCollapseIcon": { "alias": "customCollapseIcon"; "required": false; }; "customWidth": { "alias": "customWidth"; "required": false; }; "node": { "alias": "node"; "required": true; }; "footerTemplate": { "alias": "footerTemplate"; "required": false; }; "expandHandler": { "alias": "expandHandler"; "required": false; }; "cellTemplate": { "alias": "cellTemplate"; "required": false; }; "headerTemplate": { "alias": "headerTemplate"; "required": false; }; }, {}, never, never, false, never>;
|
|
777
|
-
}
|
|
778
|
-
|
|
779
|
-
type AXPWidgetRendererDirectiveOptions = AXPMetaData;
|
|
780
|
-
declare class AXPWidgetRendererDirective {
|
|
781
|
-
parentNode: _angular_core.InputSignal<AXPLayoutBaseWidgetComponent | null | undefined>;
|
|
782
|
-
index: _angular_core.InputSignal<number | null | undefined>;
|
|
783
|
-
mode: _angular_core.InputSignal<keyof _acorex_platform_layout_builder.AXPWidgetConfigComponents>;
|
|
784
|
-
node: _angular_core.InputSignal<AXPWidgetNode>;
|
|
785
|
-
private _options;
|
|
786
|
-
options: _angular_core.Signal<AXPMetaData>;
|
|
787
|
-
onOptionsChanged: _angular_core.OutputEmitterRef<{
|
|
788
|
-
sender: AXPWidgetRendererDirective;
|
|
789
|
-
widget: AXPBaseWidgetComponent;
|
|
790
|
-
}>;
|
|
791
|
-
onValueChanged: _angular_core.OutputEmitterRef<{
|
|
792
|
-
sender: AXPWidgetRendererDirective;
|
|
793
|
-
widget: AXPValueWidgetComponent;
|
|
794
|
-
}>;
|
|
795
|
-
protected mergedOptions: WritableSignal<any>;
|
|
796
|
-
private injector;
|
|
797
|
-
protected builderService: AXPLayoutBuilderService;
|
|
798
|
-
protected contextService: {
|
|
799
|
-
data: _angular_core.Signal<{}>;
|
|
800
|
-
state: _angular_core.Signal<_acorex_platform_layout_builder.AXPLayoutContextState>;
|
|
801
|
-
initialSnapshot: _angular_core.Signal<{}>;
|
|
802
|
-
previousSnapshot: _angular_core.Signal<{}>;
|
|
803
|
-
lastChange: _ngrx_signals.DeepSignal<_acorex_platform_layout_builder.AXPLayoutContextChangeEvent>;
|
|
804
|
-
isChanged: _angular_core.Signal<boolean>;
|
|
805
|
-
isReset: _angular_core.Signal<boolean>;
|
|
806
|
-
isInitiated: _angular_core.Signal<boolean>;
|
|
807
|
-
isEmpty: _angular_core.Signal<boolean>;
|
|
808
|
-
isDirty: _angular_core.Signal<boolean>;
|
|
809
|
-
snapshot: _angular_core.Signal<{}>;
|
|
810
|
-
initial: _angular_core.Signal<{}>;
|
|
811
|
-
previous: _angular_core.Signal<{}>;
|
|
812
|
-
changeEvent: _angular_core.Signal<_acorex_platform_layout_builder.AXPLayoutContextChangeEvent>;
|
|
813
|
-
update: (path: string, value: any) => void;
|
|
814
|
-
patch: (context: {}) => void;
|
|
815
|
-
reset: () => void;
|
|
816
|
-
set: (initialData: any) => void;
|
|
817
|
-
getValue: (path: string) => any;
|
|
818
|
-
} & _ngrx_signals.StateSource<{
|
|
819
|
-
data: {};
|
|
820
|
-
state: _acorex_platform_layout_builder.AXPLayoutContextState;
|
|
821
|
-
initialSnapshot: {};
|
|
822
|
-
previousSnapshot: {};
|
|
823
|
-
lastChange: _acorex_platform_layout_builder.AXPLayoutContextChangeEvent;
|
|
824
|
-
}>;
|
|
825
|
-
protected widgetRegistery: AXPWidgetRegistryService;
|
|
826
|
-
protected unsubscriber: AXUnsubscriber;
|
|
827
|
-
protected translateService: AXTranslationService;
|
|
828
|
-
protected widgetService: AXPWidgetRegistryService;
|
|
829
|
-
protected expressionEvaluator: AXPExpressionEvaluatorService;
|
|
830
|
-
private viewContainerRef;
|
|
831
|
-
protected isLoading: WritableSignal<boolean>;
|
|
832
|
-
instance: AXPValueWidgetComponent;
|
|
833
|
-
private expressionEvaluators;
|
|
834
|
-
private componentRef;
|
|
835
|
-
private renderTimeoutId;
|
|
836
|
-
private hasInitialRender;
|
|
837
|
-
private onContextChanged;
|
|
838
|
-
private contextUpdateQueue;
|
|
839
|
-
private contextUpdateTimeout;
|
|
840
|
-
private readonly CONTEXT_UPDATE_DEBOUNCE_MS;
|
|
841
|
-
private expressionCache;
|
|
842
|
-
private readonly EXPRESSION_CACHE_TTL;
|
|
843
|
-
private lastAppliedOptions;
|
|
844
|
-
private lastExpressionResults;
|
|
845
|
-
private preRenderContextQueue;
|
|
846
|
-
constructor();
|
|
847
|
-
private getCachedExpressionResult;
|
|
848
|
-
private setCachedExpressionResult;
|
|
849
|
-
private clearExpressionCache;
|
|
850
|
-
private isPathAffectingExpressions;
|
|
851
|
-
private queueContextUpdate;
|
|
852
|
-
private processBatchedUpdates;
|
|
853
|
-
private isRelevantContextChange;
|
|
854
|
-
private hasExpressionDependency;
|
|
855
|
-
private isPathAlias;
|
|
856
|
-
private getExpressionValueFromNode;
|
|
857
|
-
private hasTriggerDependency;
|
|
858
|
-
ngOnChanges(changes: SimpleChanges): void;
|
|
859
|
-
private rerenderComponent;
|
|
860
|
-
ngOnDestroy(): void;
|
|
861
|
-
private loadComponent;
|
|
862
|
-
private applyOptions;
|
|
863
|
-
private hasOptionsChanged;
|
|
864
|
-
private checkFormulaForUpdate;
|
|
865
|
-
preprocessAndInitialOptions(obj: any, pathPrefix?: string): void;
|
|
866
|
-
updateOptionsBasedOnContext(): Promise<number>;
|
|
867
|
-
updateValueBasedOnFormula(): Promise<void>;
|
|
868
|
-
private evaluateExpression;
|
|
869
|
-
private buildExpressionScope;
|
|
870
|
-
private getContextScope;
|
|
871
|
-
private getEventScope;
|
|
872
|
-
private getWidgetScope;
|
|
873
|
-
private getFunctionScope;
|
|
874
|
-
private getVariablesScope;
|
|
875
|
-
private assignTriggers;
|
|
876
|
-
private evaluateTrigger;
|
|
877
|
-
private evaluateAction;
|
|
878
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPWidgetRendererDirective, never>;
|
|
879
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AXPWidgetRendererDirective, "[axp-widget-renderer]", ["widgetRenderer"], { "parentNode": { "alias": "parentNode"; "required": false; "isSignal": true; }; "index": { "alias": "index"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": true; "isSignal": true; }; "node": { "alias": "node"; "required": true; "isSignal": true; }; }, { "onOptionsChanged": "onOptionsChanged"; "onValueChanged": "onValueChanged"; }, never, never, false, never>;
|
|
880
|
-
}
|
|
881
|
-
|
|
882
|
-
interface AXPLayoutBuilderModuleConfigs {
|
|
883
|
-
widgets?: AXPWidgetConfig[];
|
|
884
|
-
extendedWidgets?: extendedWidget[];
|
|
885
|
-
}
|
|
886
|
-
declare class AXPLayoutBuilderModule {
|
|
887
|
-
static forRoot(config?: AXPLayoutBuilderModuleConfigs): ModuleWithProviders<AXPLayoutBuilderModule>;
|
|
888
|
-
static forChild(config?: AXPLayoutBuilderModuleConfigs): ModuleWithProviders<AXPLayoutBuilderModule>;
|
|
704
|
+
private createGroupAsFieldsetWidget;
|
|
705
|
+
/**
|
|
706
|
+
* Convert fields to Form Field widgets
|
|
707
|
+
*/
|
|
708
|
+
private createFieldWidgets;
|
|
709
|
+
/**
|
|
710
|
+
* Convert a single field to Form Field widget with editor as child
|
|
711
|
+
*/
|
|
712
|
+
private createFormFieldWidget;
|
|
713
|
+
/**
|
|
714
|
+
* Extract group information from Fieldset Layout widget
|
|
715
|
+
*/
|
|
716
|
+
private extractGroupFromFieldset;
|
|
717
|
+
/**
|
|
718
|
+
* Extract field information from Form Field widget
|
|
719
|
+
*/
|
|
720
|
+
private extractFieldFromFormWidget;
|
|
721
|
+
/**
|
|
722
|
+
* Create cache key for form definition
|
|
723
|
+
*/
|
|
724
|
+
private createFormDefinitionCacheKey;
|
|
889
725
|
/**
|
|
890
|
-
*
|
|
726
|
+
* Create cache key for widget tree
|
|
891
727
|
*/
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
728
|
+
private createWidgetTreeCacheKey;
|
|
729
|
+
/**
|
|
730
|
+
* Create a simple hash from a string
|
|
731
|
+
*/
|
|
732
|
+
private createSimpleHash;
|
|
733
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPLayoutConversionService, never>;
|
|
734
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXPLayoutConversionService>;
|
|
896
735
|
}
|
|
897
736
|
|
|
898
|
-
interface
|
|
899
|
-
name: string;
|
|
737
|
+
interface DialogRendererConfig {
|
|
900
738
|
title: string;
|
|
901
|
-
|
|
902
|
-
|
|
739
|
+
message?: string;
|
|
740
|
+
context: any;
|
|
741
|
+
definition: AXPWidgetNode;
|
|
742
|
+
actions?: {
|
|
743
|
+
footer?: {
|
|
744
|
+
prefix?: any[];
|
|
745
|
+
suffix?: any[];
|
|
746
|
+
};
|
|
747
|
+
};
|
|
748
|
+
}
|
|
749
|
+
interface DialogRendererResult {
|
|
750
|
+
context: any;
|
|
751
|
+
action?: string;
|
|
752
|
+
}
|
|
753
|
+
declare class AXPDialogRendererComponent extends AXBasePageComponent implements OnInit {
|
|
754
|
+
config: DialogRendererConfig;
|
|
755
|
+
result: EventEmitter<DialogRendererResult>;
|
|
756
|
+
private dialogResult?;
|
|
757
|
+
context: i0.WritableSignal<any>;
|
|
758
|
+
callBack: (dialogRef: AXPDialogRef) => void;
|
|
759
|
+
data: any;
|
|
760
|
+
private isDialogLoading;
|
|
761
|
+
ngOnInit(): void;
|
|
762
|
+
handleContextChanged(event: any): void;
|
|
763
|
+
handleContextInitiated(event: any): void;
|
|
764
|
+
visibleFooterPrefixActions(): any[];
|
|
765
|
+
visibleFooterSuffixActions(): any[];
|
|
766
|
+
isFormLoading(): boolean;
|
|
767
|
+
isSubmitting(): boolean;
|
|
768
|
+
executeAction(action: any): Promise<void>;
|
|
769
|
+
close(result?: DialogRendererResult): void;
|
|
770
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPDialogRendererComponent, never>;
|
|
771
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AXPDialogRendererComponent, "axp-dialog-renderer", never, { "config": { "alias": "config"; "required": false; }; }, { "result": "result"; }, never, never, true, never>;
|
|
903
772
|
}
|
|
904
773
|
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
export { AXPBaseWidgetComponent, AXPBlockBaseLayoutWidgetComponent, AXPBoxModelLayoutWidgetComponent, AXPColumnWidgetComponent, AXPDataListWidgetComponent, AXPFlexBaseLayoutWidgetComponent, AXPFlexItemBaseLayoutWidgetComponent, AXPGridBaseLayoutWidgetComponent, AXPGridItemBaseLayoutWidgetComponent, AXPInlineBaseLayoutWidgetComponent, AXPLayoutBaseWidgetComponent, AXPLayoutBuilderContextStore, AXPLayoutBuilderModule, AXPLayoutBuilderService, AXPLayoutContextChangeEvent, AXPLayoutElement, AXPPageStatus, AXPPropertyEditorHelper, AXPTableBaseLayoutWidgetComponent, AXPTableItemBaseLayoutWidgetComponent, AXPTableItemOpsBaseLayoutWidgetComponent, AXPValueWidgetComponent, AXPWidgetColumnRendererComponent, AXPWidgetContainerComponent, AXPWidgetGroupEnum, AXPWidgetRegistryService, AXPWidgetRendererDirective, AXPWidgetStatus, AXPWidgetsCatalog, AXP_WIDGETS_ACTION_CATEGORY, AXP_WIDGETS_ADVANCE_CATEGORY, AXP_WIDGETS_CATEGORIES, AXP_WIDGETS_EDITOR_CATEGORY, AXP_WIDGETS_LAYOUT_CATEGORY, AXP_WIDGET_COLUMN_TOKEN, AXP_WIDGET_TOKEN, cloneProperty, createBooleanProperty, createNumberProperty, createSelectProperty, createStringProperty, findNonEmptyBreakpoints };
|
|
908
|
-
export type { AXPBorderBox, AXPBorderBoxString, AXPBreakpointValues, AXPBreakpoints, AXPClassMap, AXPExtractWidgetConfig, AXPFlexBoxString, AXPFlexItemBoxString, AXPGridBoxString, AXPGridBreakpointValues, AXPGridItemBoxString, AXPLayoutBuilderModuleConfigs, AXPLayoutBuilderStatusChangedEvent, AXPLayoutContextState, AXPLayoutElementAPI, AXPMetaDataDefinition, AXPPropertyCorners, AXPPropertyEditorCornerValues, AXPPropertyEditorSideGeneric, AXPPropertyEditorSideValues, AXPPropertySides, AXPSpacingBox, AXPSpacingBoxString, AXPStyleMap, AXPWidgetCategory, AXPWidgetColumnNode, AXPWidgetColumnNodeToken, AXPWidgetComponentConfig, AXPWidgetConfig, AXPWidgetConfigComponents, AXPWidgetDesignerOptionsMap, AXPWidgetGroup, AXPWidgetNode, AXPWidgetNodeToken, AXPWidgetProperty, AXPWidgetPropertyGroup, AXPWidgetRenderMode, AXPWidgetRendererDirectiveOptions, AXPWidgetTypesMap, AXPWidgetViewType, extendedWidget };
|
|
774
|
+
export { AXPDialogRendererComponent, AXPLayoutBuilderService, AXPLayoutConversionService, AXPLayoutRendererComponent, LayoutBuilderModule };
|
|
775
|
+
export type { AXPDialogContainerOptions, AXPDialogRef, AXPDynamicFormDefinition, AXPDynamicFormDirection, AXPDynamicFormFieldDefinition, AXPDynamicFormGroupDefinition, AXPDynamicFormLook, AXPDynamicFormMode, 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 };
|