@acorex/platform 20.8.4 → 21.0.0-beta.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/fesm2022/acorex-platform-auth.mjs +121 -27
- package/fesm2022/acorex-platform-auth.mjs.map +1 -1
- package/fesm2022/{acorex-platform-common-common-settings.provider-41RhWqb4.mjs → acorex-platform-common-common-settings.provider-G9XcXXOG.mjs} +4 -4
- package/fesm2022/acorex-platform-common-common-settings.provider-G9XcXXOG.mjs.map +1 -0
- package/fesm2022/acorex-platform-common.mjs +669 -268
- package/fesm2022/acorex-platform-common.mjs.map +1 -1
- package/fesm2022/acorex-platform-core.mjs +333 -140
- package/fesm2022/acorex-platform-core.mjs.map +1 -1
- package/fesm2022/acorex-platform-domain.mjs +557 -826
- package/fesm2022/acorex-platform-domain.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-builder.mjs +539 -110
- package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
- package/fesm2022/{acorex-platform-layout-components-binding-expression-editor-popup.component-CSxCnzwU.mjs → acorex-platform-layout-components-binding-expression-editor-popup.component-CWV4XD36.mjs} +15 -15
- package/fesm2022/acorex-platform-layout-components-binding-expression-editor-popup.component-CWV4XD36.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-components.mjs +3285 -1035
- package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-designer.mjs +488 -284
- package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-entity.mjs +16484 -12485
- package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-views.mjs +410 -170
- package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-widget-core.mjs +548 -474
- package/fesm2022/acorex-platform-layout-widget-core.mjs.map +1 -1
- package/fesm2022/{acorex-platform-layout-widgets-button-widget-designer.component-CPBzE96V.mjs → acorex-platform-layout-widgets-button-widget-designer.component-fLjWiSFE.mjs} +11 -11
- package/fesm2022/acorex-platform-layout-widgets-button-widget-designer.component-fLjWiSFE.mjs.map +1 -0
- package/fesm2022/{acorex-platform-layout-widgets-file-list-popup.component-Dtv6U3df.mjs → acorex-platform-layout-widgets-file-list-popup.component-3oRAKxTo.mjs} +22 -77
- package/fesm2022/acorex-platform-layout-widgets-file-list-popup.component-3oRAKxTo.mjs.map +1 -0
- package/fesm2022/{acorex-platform-layout-widgets-image-preview.popup-QxJfswhK.mjs → acorex-platform-layout-widgets-image-preview.popup-CazpERbX.mjs} +8 -9
- package/fesm2022/acorex-platform-layout-widgets-image-preview.popup-CazpERbX.mjs.map +1 -0
- package/fesm2022/{acorex-platform-layout-widgets-page-widget-designer.component-CVdssZBD.mjs → acorex-platform-layout-widgets-page-widget-designer.component-BQ4G6aYf.mjs} +17 -17
- package/fesm2022/acorex-platform-layout-widgets-page-widget-designer.component-BQ4G6aYf.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-DWuWxUF_.mjs +116 -0
- package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-DWuWxUF_.mjs.map +1 -0
- package/fesm2022/{acorex-platform-layout-widgets-tabular-data-edit-popup.component-DVaZN9QN.mjs → acorex-platform-layout-widgets-tabular-data-edit-popup.component-fV94u3t2.mjs} +25 -19
- package/fesm2022/acorex-platform-layout-widgets-tabular-data-edit-popup.component-fV94u3t2.mjs.map +1 -0
- package/fesm2022/{acorex-platform-layout-widgets-tabular-data-view-popup.component-DPGHgXa6.mjs → acorex-platform-layout-widgets-tabular-data-view-popup.component-DyuvQhgN.mjs} +9 -9
- package/fesm2022/acorex-platform-layout-widgets-tabular-data-view-popup.component-DyuvQhgN.mjs.map +1 -0
- package/fesm2022/{acorex-platform-layout-widgets-text-block-widget-designer.component-CdiNW691.mjs → acorex-platform-layout-widgets-text-block-widget-designer.component-EJMMdpIs.mjs} +7 -7
- package/fesm2022/acorex-platform-layout-widgets-text-block-widget-designer.component-EJMMdpIs.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-widgets.mjs +6396 -4058
- package/fesm2022/acorex-platform-layout-widgets.mjs.map +1 -1
- package/fesm2022/acorex-platform-native.mjs +8 -7
- package/fesm2022/acorex-platform-native.mjs.map +1 -1
- package/fesm2022/acorex-platform-runtime.mjs +328 -166
- package/fesm2022/acorex-platform-runtime.mjs.map +1 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-CkptOSO3.mjs +160 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-CkptOSO3.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-DXC2qtvK.mjs +120 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-DXC2qtvK.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-default-entity-master-single-view.component-rGsMVAZj.mjs → acorex-platform-themes-default-entity-master-single-view.component-DYyunzKZ.mjs} +16 -23
- package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-DYyunzKZ.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default-error-401.component-C5lQECDP.mjs +31 -0
- package/fesm2022/acorex-platform-themes-default-error-401.component-C5lQECDP.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default-error-404.component-D5wBXAB-.mjs +25 -0
- package/fesm2022/acorex-platform-themes-default-error-404.component-D5wBXAB-.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default-error-offline.component-AhDiY3DI.mjs +19 -0
- package/fesm2022/acorex-platform-themes-default-error-offline.component-AhDiY3DI.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default.mjs +1687 -69
- package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
- package/fesm2022/{acorex-platform-themes-shared-icon-chooser-column.component-TJ9PWHMY.mjs → acorex-platform-themes-shared-icon-chooser-column.component-QL2-ZUVg.mjs} +8 -8
- package/fesm2022/acorex-platform-themes-shared-icon-chooser-column.component-QL2-ZUVg.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-shared-icon-chooser-view.component-BHcKkIx0.mjs → acorex-platform-themes-shared-icon-chooser-view.component-BXydqPt_.mjs} +8 -8
- package/fesm2022/acorex-platform-themes-shared-icon-chooser-view.component-BXydqPt_.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-shared-settings.provider-DSs1o1M6.mjs → acorex-platform-themes-shared-settings.provider-D13QB3Hr.mjs} +2 -2
- package/fesm2022/acorex-platform-themes-shared-settings.provider-D13QB3Hr.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-Cb9iY6k9.mjs +88 -0
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-Cb9iY6k9.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-KP4-BND5.mjs +80 -0
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-KP4-BND5.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-shared.mjs +572 -465
- package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
- package/fesm2022/acorex-platform-workflow.mjs +276 -98
- package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
- package/fesm2022/acorex-platform.mjs.map +1 -1
- package/package.json +34 -34
- package/{auth/index.d.ts → types/acorex-platform-auth.d.ts} +14 -2
- package/{common/index.d.ts → types/acorex-platform-common.d.ts} +261 -24
- package/{core/index.d.ts → types/acorex-platform-core.d.ts} +163 -42
- package/{domain/index.d.ts → types/acorex-platform-domain.d.ts} +744 -412
- package/{layout/builder/index.d.ts → types/acorex-platform-layout-builder.d.ts} +137 -38
- package/{layout/components/index.d.ts → types/acorex-platform-layout-components.d.ts} +808 -131
- package/{layout/designer/index.d.ts → types/acorex-platform-layout-designer.d.ts} +96 -18
- package/{layout/entity/index.d.ts → types/acorex-platform-layout-entity.d.ts} +695 -61
- package/{layout/views/index.d.ts → types/acorex-platform-layout-views.d.ts} +80 -47
- package/{layout/widget-core/index.d.ts → types/acorex-platform-layout-widget-core.d.ts} +274 -197
- package/{layout/widgets/index.d.ts → types/acorex-platform-layout-widgets.d.ts} +583 -104
- package/{native/index.d.ts → types/acorex-platform-native.d.ts} +0 -7
- package/types/acorex-platform-runtime.d.ts +565 -0
- package/{themes/default/index.d.ts → types/acorex-platform-themes-default.d.ts} +105 -4
- package/{themes/shared/index.d.ts → types/acorex-platform-themes-shared.d.ts} +14 -5
- package/{workflow/index.d.ts → types/acorex-platform-workflow.d.ts} +96 -81
- package/fesm2022/acorex-platform-common-common-settings.provider-41RhWqb4.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-components-binding-expression-editor-popup.component-CSxCnzwU.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-button-widget-designer.component-CPBzE96V.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-file-list-popup.component-Dtv6U3df.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-image-preview.popup-QxJfswhK.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-page-widget-designer.component-CVdssZBD.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-BCxE0RTB.mjs +0 -111
- package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-BCxE0RTB.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-tabular-data-edit-popup.component-DVaZN9QN.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-tabular-data-view-popup.component-DPGHgXa6.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-text-block-widget-designer.component-CdiNW691.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-D4hU2SCE.mjs +0 -160
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-D4hU2SCE.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-CLDoygoI.mjs +0 -1610
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-CLDoygoI.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-BVTklnzs.mjs +0 -120
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-BVTklnzs.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-rGsMVAZj.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-error-401.component-53VB-PS_.mjs +0 -31
- package/fesm2022/acorex-platform-themes-default-error-401.component-53VB-PS_.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-error-404.component-DVF9soT5.mjs +0 -25
- package/fesm2022/acorex-platform-themes-default-error-404.component-DVF9soT5.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-error-offline.component-CwNNHzZn.mjs +0 -19
- package/fesm2022/acorex-platform-themes-default-error-offline.component-CwNNHzZn.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-icon-chooser-column.component-TJ9PWHMY.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-icon-chooser-view.component-BHcKkIx0.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-settings.provider-DSs1o1M6.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-BUPs84MI.mjs +0 -65
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-BUPs84MI.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-BotknoHn.mjs +0 -64
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-BotknoHn.mjs.map +0 -1
- package/runtime/index.d.ts +0 -307
- /package/{index.d.ts → types/acorex-platform.d.ts} +0 -0
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
2
|
+
import { Signal, InjectionToken, ComponentRef, OnInit, EventEmitter, TemplateRef, Injector, WritableSignal, SimpleChanges } from '@angular/core';
|
|
3
|
+
import * as _acorex_platform_layout_widget_core from '@acorex/platform/layout/widget-core';
|
|
4
4
|
import * as _ngrx_signals from '@ngrx/signals';
|
|
5
|
+
import * as _acorex_platform_core from '@acorex/platform/core';
|
|
6
|
+
import { AXPOptionsData, AXPMultiLanguageString, AXPDefinitionCategory, AXPDataType, AXPExpression, AXPWidgetTriggers, AXPMetaData, AXPValueTransformerFunctions, AXPValidationRules, AXPPartialNested, AXPProperty, AXPContextChangeEvent, AXPExpressionEvaluatorService } from '@acorex/platform/core';
|
|
7
|
+
export { AXPDefinitionCategory, normalizeDefinitionCategories } from '@acorex/platform/core';
|
|
5
8
|
import { AXValueChangedEvent, AXDataSource } from '@acorex/cdk/common';
|
|
6
9
|
import { Subject, BehaviorSubject } from 'rxjs';
|
|
7
|
-
import * as _acorex_platform_layout_widget_core from '@acorex/platform/layout/widget-core';
|
|
8
10
|
import { AXDataTableColumnComponent } from '@acorex/components/data-table';
|
|
9
11
|
import * as i7 from '@acorex/core/translation';
|
|
10
12
|
import { AXTranslationService } from '@acorex/core/translation';
|
|
@@ -13,18 +15,86 @@ import * as i4 from '@angular/common';
|
|
|
13
15
|
import * as i5 from '@angular/cdk/portal';
|
|
14
16
|
import * as i6 from '@acorex/components/skeleton';
|
|
15
17
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
+
declare enum AXPPageStatus {
|
|
19
|
+
Idle = "idle",// The page is idle.
|
|
20
|
+
Rendering = "rendering",// The page is being rendered.
|
|
21
|
+
Rendered = "rendered",// The rendering process is complete. should be renamed to idle
|
|
22
|
+
Processing = "processing",// The page is performing a task or interaction.
|
|
23
|
+
Submitting = "submitting",// The form is being submitted.
|
|
24
|
+
Submitted = "submitted",// Submission is completed.
|
|
25
|
+
Validating = "validating",// The form is being validated.
|
|
26
|
+
Validated = "validated",// Validation is completed.
|
|
27
|
+
Error = "error"
|
|
28
|
+
}
|
|
29
|
+
declare enum AXPWidgetStatus {
|
|
30
|
+
Rendering = "rendering",// The widget is being rendered.
|
|
31
|
+
Rendered = "rendered",// The rendering process is complete.
|
|
32
|
+
Processing = "processing",// The widget is performing a task or interaction.
|
|
33
|
+
Error = "error"
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
type AXPWidgetCoreElementAPI = {
|
|
37
|
+
[name: string]: Subject<any> | Function;
|
|
38
|
+
};
|
|
39
|
+
type AXPWidgetCoreElementAction = {
|
|
18
40
|
title: string;
|
|
19
|
-
|
|
41
|
+
command: string;
|
|
42
|
+
icon?: string;
|
|
43
|
+
color?: string;
|
|
44
|
+
disabled?: boolean | string;
|
|
45
|
+
hidden?: boolean | string;
|
|
46
|
+
zone?: 'header' | 'footer';
|
|
47
|
+
placement?: 'prefix' | 'suffix';
|
|
48
|
+
scope?: 'primary' | 'secondary';
|
|
49
|
+
/** When `command` is not `widget:<name>.<action>`, widget name used to resolve `api` for `hidden` / `disabled` expressions. */
|
|
50
|
+
predicateApiWidgetName?: string;
|
|
51
|
+
};
|
|
52
|
+
declare abstract class AXPWidgetCoreElement {
|
|
53
|
+
abstract get id(): string | null;
|
|
54
|
+
abstract get status(): Signal<AXPWidgetStatus>;
|
|
55
|
+
api(): AXPWidgetCoreElementAPI;
|
|
56
|
+
actions(): AXPWidgetCoreElementAction[];
|
|
57
|
+
}
|
|
58
|
+
declare class AXPWidgetCoreService {
|
|
59
|
+
private readonly variables$;
|
|
60
|
+
private readonly functions$;
|
|
61
|
+
readonly onRefresh: Subject<void>;
|
|
62
|
+
private widgets;
|
|
63
|
+
private readonly onWidgetRegistered;
|
|
64
|
+
private readonly status$;
|
|
65
|
+
readonly status: Signal<AXPPageStatus>;
|
|
66
|
+
readonly isBusy: Signal<boolean>;
|
|
67
|
+
registeredWidgetsCount: _angular_core.WritableSignal<number>;
|
|
68
|
+
get variables(): any;
|
|
69
|
+
get functions(): {
|
|
70
|
+
[key: string]: Function;
|
|
71
|
+
};
|
|
72
|
+
updateStatus(): void;
|
|
73
|
+
private detectStatus;
|
|
74
|
+
refresh(): void;
|
|
75
|
+
setStatus(status: AXPPageStatus): void;
|
|
76
|
+
setVariables(keysValues: any): void;
|
|
77
|
+
setVariables(key: string, value: any): void;
|
|
78
|
+
setFunctions(keysValues: any): void;
|
|
79
|
+
setFunctions(key: string, value: any): void;
|
|
80
|
+
registerWidget(id: string, widget: AXPWidgetCoreElement): void;
|
|
81
|
+
getWidget(id: string): AXPWidgetCoreElement | undefined;
|
|
82
|
+
/**
|
|
83
|
+
* Waits until a widget with the given id is registered, then resolves with it.
|
|
84
|
+
* If the widget is already registered, resolves immediately.
|
|
85
|
+
* Optionally accepts a timeout (in ms) after which it resolves with undefined.
|
|
86
|
+
*/
|
|
87
|
+
waitForWidget(id: string, timeoutMs?: number): Promise<AXPWidgetCoreElement | undefined>;
|
|
88
|
+
/**
|
|
89
|
+
* Returns a list of registered widget ids (names).
|
|
90
|
+
*/
|
|
91
|
+
listRegisteredWidgetNames(): string[];
|
|
92
|
+
ngOnDestroy(): void;
|
|
93
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPWidgetCoreService, never>;
|
|
94
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPWidgetCoreService>;
|
|
20
95
|
}
|
|
21
|
-
declare const AXP_WIDGETS_LAYOUT_CATEGORY: AXPWidgetCategory;
|
|
22
|
-
declare const AXP_WIDGETS_EDITOR_CATEGORY: AXPWidgetCategory;
|
|
23
|
-
declare const AXP_WIDGETS_ACTION_CATEGORY: AXPWidgetCategory;
|
|
24
|
-
declare const AXP_WIDGETS_ADVANCE_CATEGORY: AXPWidgetCategory;
|
|
25
|
-
declare const AXP_WIDGETS_CATEGORIES: AXPWidgetCategory[];
|
|
26
96
|
|
|
27
|
-
type AXPWidgetGroup = 'form-element' | 'dashboard-widget' | 'form-template' | 'property-editor' | 'meta-data' | 'setting-widget' | 'entity-widget' | 'utility-widget';
|
|
97
|
+
type AXPWidgetGroup = 'form-element' | 'dashboard-widget' | 'form-template' | 'property-editor' | 'meta-data' | 'setting-widget' | 'entity-widget' | 'utility-widget' | 'base-widget';
|
|
28
98
|
declare enum AXPWidgetGroupEnum {
|
|
29
99
|
FormElement = "form-element",
|
|
30
100
|
DashboardWidget = "dashboard-widget",
|
|
@@ -33,7 +103,8 @@ declare enum AXPWidgetGroupEnum {
|
|
|
33
103
|
MetaData = "meta-data",
|
|
34
104
|
SettingWidget = "setting-widget",
|
|
35
105
|
EntityWidget = "entity-widget",
|
|
36
|
-
UtilityWidget = "utility-widget"
|
|
106
|
+
UtilityWidget = "utility-widget",
|
|
107
|
+
BaseWidget = "base-widget"
|
|
37
108
|
}
|
|
38
109
|
|
|
39
110
|
interface AXPWidgetTypesMap {
|
|
@@ -57,6 +128,7 @@ interface AXPWidgetTypesMap {
|
|
|
57
128
|
pageLayout: 'page-layout';
|
|
58
129
|
repeaterLayout: 'repeater-layout';
|
|
59
130
|
textBlockLayout: 'text-block-layout';
|
|
131
|
+
alertBoxLayout: 'alert-box-layout';
|
|
60
132
|
fileUploader: 'file-uploader';
|
|
61
133
|
fileTypeExtension: 'file-type-extension';
|
|
62
134
|
map: 'map';
|
|
@@ -106,19 +178,9 @@ interface AXPWidgetTypesMap {
|
|
|
106
178
|
betweenValidation: 'between-validation';
|
|
107
179
|
equalValidation: 'equal-validation';
|
|
108
180
|
callbackValidation: 'callback-validation';
|
|
109
|
-
donutChart: 'donut-chart';
|
|
110
|
-
barChart: 'bar-chart';
|
|
111
|
-
lineChart: 'line-chart';
|
|
112
|
-
gaugeChart: 'gauge-chart';
|
|
113
|
-
stickyNote: 'sticky-note';
|
|
114
|
-
clockCalendar: 'clock-calendar';
|
|
115
|
-
analogClock: 'analog-clock';
|
|
116
|
-
weather: 'weather';
|
|
117
|
-
minimalWeather: 'minimal-weather';
|
|
118
|
-
advancedWeather: 'advanced-weather';
|
|
119
181
|
metaData: 'meta-data-editor';
|
|
120
182
|
templateEditor: 'template-box-editor';
|
|
121
|
-
|
|
183
|
+
templateContentEditor: 'template-content-editor';
|
|
122
184
|
themeModeChooser: 'theme-mode-chooser';
|
|
123
185
|
menuOrientationChooser: 'menu-orientation-chooser';
|
|
124
186
|
fontStyleChooser: 'font-style-chooser';
|
|
@@ -128,7 +190,6 @@ interface AXPWidgetTypesMap {
|
|
|
128
190
|
themeColorChooser: 'theme-color-chooser';
|
|
129
191
|
panel: 'panel';
|
|
130
192
|
notification: 'notification';
|
|
131
|
-
taskBoard: 'task-board';
|
|
132
193
|
comment: 'comment';
|
|
133
194
|
list: 'list-editor';
|
|
134
195
|
dataList: 'data-list';
|
|
@@ -136,27 +197,11 @@ interface AXPWidgetTypesMap {
|
|
|
136
197
|
entityList: 'entity-list';
|
|
137
198
|
stepWizard: 'step-wizard';
|
|
138
199
|
documentUploader: 'document-uploader';
|
|
200
|
+
documentFileTypeFilter: 'document-file-type-filter';
|
|
139
201
|
editorJs: 'editor-js-editor';
|
|
140
202
|
progressBar: 'progress-bar-editor';
|
|
141
203
|
rate: 'rate-picker-editor';
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
declare enum AXPPageStatus {
|
|
145
|
-
Idle = "idle",// The page is idle.
|
|
146
|
-
Rendering = "rendering",// The page is being rendered.
|
|
147
|
-
Rendered = "rendered",// The rendering process is complete. should be renamed to idle
|
|
148
|
-
Processing = "processing",// The page is performing a task or interaction.
|
|
149
|
-
Submitting = "submitting",// The form is being submitted.
|
|
150
|
-
Submitted = "submitted",// Submission is completed.
|
|
151
|
-
Validating = "validating",// The form is being validated.
|
|
152
|
-
Validated = "validated",// Validation is completed.
|
|
153
|
-
Error = "error"
|
|
154
|
-
}
|
|
155
|
-
declare enum AXPWidgetStatus {
|
|
156
|
-
Rendering = "rendering",// The widget is being rendered.
|
|
157
|
-
Rendered = "rendered",// The rendering process is complete.
|
|
158
|
-
Processing = "processing",// The widget is performing a task or interaction.
|
|
159
|
-
Error = "error"
|
|
204
|
+
entityDefinitionProvider: 'entity-definition-provider-editor';
|
|
160
205
|
}
|
|
161
206
|
|
|
162
207
|
interface AXPWidgetPropertyGroup {
|
|
@@ -182,7 +227,7 @@ interface AXPWidgetProperty {
|
|
|
182
227
|
interface: Required<Pick<AXPWidgetNode, 'path'>> & Omit<AXPWidgetNode, 'path'>;
|
|
183
228
|
};
|
|
184
229
|
validations?: AXPValidationRules;
|
|
185
|
-
visible: boolean;
|
|
230
|
+
visible: boolean | AXPExpression;
|
|
186
231
|
binding?: {
|
|
187
232
|
enabled: boolean;
|
|
188
233
|
/** When set, the expression is edited at path + '.' + optionKey (e.g. options.visibility). */
|
|
@@ -196,7 +241,7 @@ declare function createStringProperty(ctor: {
|
|
|
196
241
|
title: string;
|
|
197
242
|
path?: string;
|
|
198
243
|
group: AXPWidgetPropertyGroup;
|
|
199
|
-
visible?: boolean;
|
|
244
|
+
visible?: boolean | AXPExpression;
|
|
200
245
|
}): AXPWidgetProperty;
|
|
201
246
|
declare function createNumberProperty(ctor: {
|
|
202
247
|
defaultValue?: number;
|
|
@@ -204,7 +249,7 @@ declare function createNumberProperty(ctor: {
|
|
|
204
249
|
title: string;
|
|
205
250
|
path?: string;
|
|
206
251
|
group: AXPWidgetPropertyGroup;
|
|
207
|
-
visible?: boolean;
|
|
252
|
+
visible?: boolean | AXPExpression;
|
|
208
253
|
options?: {
|
|
209
254
|
minValue?: number;
|
|
210
255
|
maxValue?: number;
|
|
@@ -217,7 +262,7 @@ declare function createBooleanProperty(ctor: {
|
|
|
217
262
|
title: string;
|
|
218
263
|
path?: string;
|
|
219
264
|
group: AXPWidgetPropertyGroup;
|
|
220
|
-
visible?: boolean;
|
|
265
|
+
visible?: boolean | AXPExpression;
|
|
221
266
|
}): AXPWidgetProperty;
|
|
222
267
|
declare function createSelectProperty<T = string | {
|
|
223
268
|
id: string;
|
|
@@ -229,7 +274,7 @@ declare function createSelectProperty<T = string | {
|
|
|
229
274
|
title: string;
|
|
230
275
|
path?: string;
|
|
231
276
|
group: AXPWidgetPropertyGroup;
|
|
232
|
-
visible?: boolean;
|
|
277
|
+
visible?: boolean | AXPExpression;
|
|
233
278
|
}): AXPWidgetProperty;
|
|
234
279
|
interface AXPWidgetNode {
|
|
235
280
|
type: AXPWidgetTypesMap[keyof AXPWidgetTypesMap] | keyof AXPWidgetTypesMap | string;
|
|
@@ -254,6 +299,8 @@ interface AXPWidgetColumnNode {
|
|
|
254
299
|
type: string;
|
|
255
300
|
path: string;
|
|
256
301
|
options?: AXPOptionsData;
|
|
302
|
+
/** Column header caption from data-table (`title || name`); often an i18n key. */
|
|
303
|
+
caption?: string;
|
|
257
304
|
}
|
|
258
305
|
interface AXPWidgetColumnNodeToken extends AXPWidgetColumnNode {
|
|
259
306
|
config: AXPWidgetConfig;
|
|
@@ -292,10 +339,24 @@ type AXPExtractWidgetConfig<T> = {
|
|
|
292
339
|
interface AXPWidgetConfig<T = any> {
|
|
293
340
|
name: AXPWidgetTypesMap[keyof AXPWidgetTypesMap] | keyof AXPWidgetTypesMap | string;
|
|
294
341
|
alias?: string | string[];
|
|
295
|
-
title:
|
|
342
|
+
title: AXPMultiLanguageString;
|
|
296
343
|
icon?: string;
|
|
297
|
-
description?:
|
|
298
|
-
|
|
344
|
+
description?: AXPMultiLanguageString;
|
|
345
|
+
/**
|
|
346
|
+
* Picker tabs and section headings in the widget gallery (when the widget is included in the picker list).
|
|
347
|
+
*/
|
|
348
|
+
categories?: AXPDefinitionCategory | AXPDefinitionCategory[];
|
|
349
|
+
/**
|
|
350
|
+
* Optional sub-group within a parent category tab in the widget picker.
|
|
351
|
+
* Ignored on the "All" tab (widgets are grouped by parent category only).
|
|
352
|
+
*/
|
|
353
|
+
subCategory?: AXPDefinitionCategory;
|
|
354
|
+
/**
|
|
355
|
+
* Which surfaces may offer this widget. The designer widget picker includes a widget only when this list
|
|
356
|
+
* intersects the requested groups (e.g. the layout designer requests `AXPWidgetGroupEnum.FormElement`).
|
|
357
|
+
* Use `AXPWidgetGroupEnum.BaseWidget` alone for types that must stay registered (filters, renderers, AI tools)
|
|
358
|
+
* but must not appear in form or dashboard pickers.
|
|
359
|
+
*/
|
|
299
360
|
groups?: AXPWidgetGroup[];
|
|
300
361
|
properties?: AXPWidgetProperty[];
|
|
301
362
|
components: AXPWidgetConfigComponents;
|
|
@@ -304,8 +365,15 @@ interface AXPWidgetConfig<T = any> {
|
|
|
304
365
|
designer?: AXPExtractWidgetConfig<T>['designer'];
|
|
305
366
|
options?: Record<string, any>;
|
|
306
367
|
defaultFilterWidgetName?: 'string-filter' | 'number-filter' | 'datetime-filter' | 'boolean-filter' | 'select-filter' | 'lookup-filter' | 'time-duration-filter' | string;
|
|
368
|
+
/**
|
|
369
|
+
* Optional layout for Change History. When set, this AXPWidgetNode is rendered for
|
|
370
|
+
* changes of this widget type instead of the default fieldKey/actionKey text.
|
|
371
|
+
* Context passed to renderer: the AXPActivityLogChange object.
|
|
372
|
+
* If omitted, the default display is used.
|
|
373
|
+
*/
|
|
374
|
+
historyLayout?: AXPWidgetNode;
|
|
307
375
|
}
|
|
308
|
-
interface
|
|
376
|
+
interface AXPExtendedWidget {
|
|
309
377
|
widget: AXPWidgetConfig;
|
|
310
378
|
parentName: string;
|
|
311
379
|
}
|
|
@@ -314,102 +382,6 @@ interface AXPLayoutBuilderStatusChangedEvent {
|
|
|
314
382
|
status: AXPPageStatus;
|
|
315
383
|
}
|
|
316
384
|
|
|
317
|
-
type AXPWidgetCoreContextState = 'initiated' | 'restored' | 'changed' | 'patch';
|
|
318
|
-
declare class AXPWidgetCoreContextChangeEvent {
|
|
319
|
-
oldValue?: any;
|
|
320
|
-
newValue?: any;
|
|
321
|
-
path?: string;
|
|
322
|
-
state: AXPWidgetCoreContextState;
|
|
323
|
-
data: any;
|
|
324
|
-
}
|
|
325
|
-
declare const AXPWidgetCoreContextStore: _angular_core.Type<{
|
|
326
|
-
data: _angular_core.Signal<{}>;
|
|
327
|
-
state: _angular_core.Signal<AXPWidgetCoreContextState>;
|
|
328
|
-
initialSnapshot: _angular_core.Signal<{}>;
|
|
329
|
-
previousSnapshot: _angular_core.Signal<{}>;
|
|
330
|
-
lastChange: _ngrx_signals.DeepSignal<AXPWidgetCoreContextChangeEvent>;
|
|
331
|
-
isChanged: _angular_core.Signal<boolean>;
|
|
332
|
-
isReset: _angular_core.Signal<boolean>;
|
|
333
|
-
isInitiated: _angular_core.Signal<boolean>;
|
|
334
|
-
isEmpty: _angular_core.Signal<boolean>;
|
|
335
|
-
isDirty: _angular_core.Signal<boolean>;
|
|
336
|
-
snapshot: _angular_core.Signal<{}>;
|
|
337
|
-
initial: _angular_core.Signal<{}>;
|
|
338
|
-
previous: _angular_core.Signal<{}>;
|
|
339
|
-
changeEvent: _angular_core.Signal<AXPWidgetCoreContextChangeEvent>;
|
|
340
|
-
update: (path: string, value: any) => void;
|
|
341
|
-
patch: (context: {}, skipDirtyTracking?: boolean) => void;
|
|
342
|
-
reset: () => void;
|
|
343
|
-
set: (initialData: any) => void;
|
|
344
|
-
getValue: (path: string) => any;
|
|
345
|
-
hasValue: (path: string) => boolean;
|
|
346
|
-
} & _ngrx_signals.StateSource<{
|
|
347
|
-
data: {};
|
|
348
|
-
state: AXPWidgetCoreContextState;
|
|
349
|
-
initialSnapshot: {};
|
|
350
|
-
previousSnapshot: {};
|
|
351
|
-
lastChange: AXPWidgetCoreContextChangeEvent;
|
|
352
|
-
}>>;
|
|
353
|
-
|
|
354
|
-
type AXPWidgetCoreElementAPI = {
|
|
355
|
-
[name: string]: Subject<any> | Function;
|
|
356
|
-
};
|
|
357
|
-
type AXPWidgetCoreElementAction = {
|
|
358
|
-
title: string;
|
|
359
|
-
command: string;
|
|
360
|
-
icon?: string;
|
|
361
|
-
color?: string;
|
|
362
|
-
disabled?: boolean | string;
|
|
363
|
-
hidden?: boolean | string;
|
|
364
|
-
zone?: 'header' | 'footer';
|
|
365
|
-
placement?: 'prefix' | 'suffix';
|
|
366
|
-
scope?: 'primary' | 'secondary';
|
|
367
|
-
};
|
|
368
|
-
declare abstract class AXPWidgetCoreElement {
|
|
369
|
-
abstract get id(): string | null;
|
|
370
|
-
abstract get status(): Signal<AXPWidgetStatus>;
|
|
371
|
-
api(): AXPWidgetCoreElementAPI;
|
|
372
|
-
actions(): AXPWidgetCoreElementAction[];
|
|
373
|
-
}
|
|
374
|
-
declare class AXPWidgetCoreService {
|
|
375
|
-
private readonly variables$;
|
|
376
|
-
private readonly functions$;
|
|
377
|
-
readonly onRefresh: Subject<void>;
|
|
378
|
-
private widgets;
|
|
379
|
-
private readonly onWidgetRegistered;
|
|
380
|
-
private readonly status$;
|
|
381
|
-
readonly status: Signal<AXPPageStatus>;
|
|
382
|
-
readonly isBusy: Signal<boolean>;
|
|
383
|
-
registeredWidgetsCount: _angular_core.WritableSignal<number>;
|
|
384
|
-
get variables(): any;
|
|
385
|
-
get functions(): {
|
|
386
|
-
[key: string]: Function;
|
|
387
|
-
};
|
|
388
|
-
updateStatus(): void;
|
|
389
|
-
private detectStatus;
|
|
390
|
-
refresh(): void;
|
|
391
|
-
setStatus(status: AXPPageStatus): void;
|
|
392
|
-
setVariables(keysValues: any): void;
|
|
393
|
-
setVariables(key: string, value: any): void;
|
|
394
|
-
setFunctions(keysValues: any): void;
|
|
395
|
-
setFunctions(key: string, value: any): void;
|
|
396
|
-
registerWidget(id: string, widget: AXPWidgetCoreElement): void;
|
|
397
|
-
getWidget(id: string): AXPWidgetCoreElement | undefined;
|
|
398
|
-
/**
|
|
399
|
-
* Waits until a widget with the given id is registered, then resolves with it.
|
|
400
|
-
* If the widget is already registered, resolves immediately.
|
|
401
|
-
* Optionally accepts a timeout (in ms) after which it resolves with undefined.
|
|
402
|
-
*/
|
|
403
|
-
waitForWidget(id: string, timeoutMs?: number): Promise<AXPWidgetCoreElement | undefined>;
|
|
404
|
-
/**
|
|
405
|
-
* Returns a list of registered widget ids (names).
|
|
406
|
-
*/
|
|
407
|
-
listRegisteredWidgetNames(): string[];
|
|
408
|
-
ngOnDestroy(): void;
|
|
409
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPWidgetCoreService, never>;
|
|
410
|
-
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPWidgetCoreService>;
|
|
411
|
-
}
|
|
412
|
-
|
|
413
385
|
type AXPClassMap = Readonly<Record<string, boolean>>;
|
|
414
386
|
type AXPStyleMap = Readonly<Record<string, string | number>>;
|
|
415
387
|
declare abstract class AXPBaseWidgetComponent<TOptions extends Record<string, unknown> = AXPOptionsData> extends AXPWidgetCoreElement {
|
|
@@ -418,34 +390,34 @@ declare abstract class AXPBaseWidgetComponent<TOptions extends Record<string, un
|
|
|
418
390
|
readonly host: HTMLDivElement;
|
|
419
391
|
protected readonly layoutService: AXPWidgetCoreService;
|
|
420
392
|
protected readonly contextService: {
|
|
421
|
-
data: _angular_core.Signal<
|
|
422
|
-
state: _angular_core.Signal<
|
|
393
|
+
data: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
|
|
394
|
+
state: _angular_core.Signal<_acorex_platform_core.AXPContextState>;
|
|
423
395
|
initialSnapshot: _angular_core.Signal<{}>;
|
|
424
396
|
previousSnapshot: _angular_core.Signal<{}>;
|
|
425
|
-
lastChange: _ngrx_signals.DeepSignal<
|
|
397
|
+
lastChange: _ngrx_signals.DeepSignal<_acorex_platform_core.AXPContextChangeEvent>;
|
|
426
398
|
isChanged: _angular_core.Signal<boolean>;
|
|
427
399
|
isReset: _angular_core.Signal<boolean>;
|
|
428
400
|
isInitiated: _angular_core.Signal<boolean>;
|
|
429
401
|
isEmpty: _angular_core.Signal<boolean>;
|
|
430
402
|
isDirty: _angular_core.Signal<boolean>;
|
|
431
|
-
snapshot: _angular_core.Signal<
|
|
403
|
+
snapshot: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
|
|
432
404
|
initial: _angular_core.Signal<{}>;
|
|
433
405
|
previous: _angular_core.Signal<{}>;
|
|
434
|
-
changeEvent: _angular_core.Signal<
|
|
406
|
+
changeEvent: _angular_core.Signal<_acorex_platform_core.AXPContextChangeEvent>;
|
|
435
407
|
update: (path: string, value: any) => void;
|
|
436
|
-
patch: (context:
|
|
408
|
+
patch: (context: Record<string, any>, skipDirtyTracking?: boolean) => void;
|
|
437
409
|
reset: () => void;
|
|
438
410
|
set: (initialData: any) => void;
|
|
439
411
|
getValue: (path: string) => any;
|
|
440
412
|
hasValue: (path: string) => boolean;
|
|
441
413
|
} & _ngrx_signals.StateSource<{
|
|
442
|
-
data:
|
|
443
|
-
state:
|
|
414
|
+
data: _acorex_platform_core.AXPContextData;
|
|
415
|
+
state: _acorex_platform_core.AXPContextState;
|
|
444
416
|
initialSnapshot: {};
|
|
445
417
|
previousSnapshot: {};
|
|
446
|
-
lastChange:
|
|
418
|
+
lastChange: _acorex_platform_core.AXPContextChangeEvent;
|
|
447
419
|
}>;
|
|
448
|
-
readonly config: AXPWidgetConfig<any>;
|
|
420
|
+
readonly config: _acorex_platform_layout_widget_core.AXPWidgetConfig<any>;
|
|
449
421
|
readonly node: AXPWidgetNode;
|
|
450
422
|
protected readonly name: string | undefined;
|
|
451
423
|
protected component: this;
|
|
@@ -530,6 +502,8 @@ declare abstract class AXPColumnWidgetComponent<T = any | null | void> {
|
|
|
530
502
|
private readonly token;
|
|
531
503
|
protected readonly path: string;
|
|
532
504
|
protected readonly options: Record<string, any>;
|
|
505
|
+
/** Column header caption when rendered inside `axp-widget-column-renderer`. */
|
|
506
|
+
protected readonly columnCaption: string | undefined;
|
|
533
507
|
protected readonly rawValue: T;
|
|
534
508
|
protected readonly rowData: any;
|
|
535
509
|
protected readonly nullText: any;
|
|
@@ -556,6 +530,33 @@ declare abstract class AXPBlockBaseLayoutWidgetComponent extends AXPBoxModelLayo
|
|
|
556
530
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPBlockBaseLayoutWidgetComponent>;
|
|
557
531
|
}
|
|
558
532
|
|
|
533
|
+
/**
|
|
534
|
+
* Maps a platform {@link AXPProperty} to a property viewer row model ({@link AXPWidgetProperty}).
|
|
535
|
+
* Kept in widget-core (not platform/core) to avoid a dependency cycle: widget-core already depends on platform/core.
|
|
536
|
+
*/
|
|
537
|
+
interface MapAXPPropertyToWidgetPropertyOptions {
|
|
538
|
+
group: AXPWidgetPropertyGroup;
|
|
539
|
+
order: number;
|
|
540
|
+
/**
|
|
541
|
+
* Dot path prefix for {@link AXPWidgetProperty.schema.interface.path}.
|
|
542
|
+
* Example: `input` → `input.requestId`; `properties` → `properties.message`.
|
|
543
|
+
*/
|
|
544
|
+
valuePathPrefix: string;
|
|
545
|
+
/**
|
|
546
|
+
* Resolves a display title (supports multi-language strings on the source property).
|
|
547
|
+
*/
|
|
548
|
+
resolveTitle: (property: AXPProperty) => string;
|
|
549
|
+
/**
|
|
550
|
+
* Optional description line for the viewer row.
|
|
551
|
+
*/
|
|
552
|
+
resolveDescription?: (property: AXPProperty) => string | undefined;
|
|
553
|
+
}
|
|
554
|
+
/**
|
|
555
|
+
* Converts a domain {@link AXPProperty} into a {@link AXPWidgetProperty} row for
|
|
556
|
+
* the layout property viewer (`AXPPropertyViewerService` and `buildPropertyViewerTabsFromProperties`).
|
|
557
|
+
*/
|
|
558
|
+
declare function mapAXPPropertyToWidgetProperty(property: AXPProperty, options: MapAXPPropertyToWidgetPropertyOptions): AXPWidgetProperty;
|
|
559
|
+
|
|
559
560
|
type AXPPropertyEditorSideValues = 'top' | 'left' | 'bottom' | 'right';
|
|
560
561
|
type AXPPropertyEditorCornerValues = 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
|
|
561
562
|
type AXPPropertyEditorSideGeneric<T extends string, U extends string | number = string> = Record<T, U>;
|
|
@@ -770,56 +771,83 @@ declare abstract class AXPTableItemBaseLayoutWidgetComponent extends AXPTableIte
|
|
|
770
771
|
|
|
771
772
|
declare class AXPWidgetContainerComponent {
|
|
772
773
|
readonly contextService: {
|
|
773
|
-
data: _angular_core.Signal<
|
|
774
|
-
state: _angular_core.Signal<
|
|
774
|
+
data: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
|
|
775
|
+
state: _angular_core.Signal<_acorex_platform_core.AXPContextState>;
|
|
775
776
|
initialSnapshot: _angular_core.Signal<{}>;
|
|
776
777
|
previousSnapshot: _angular_core.Signal<{}>;
|
|
777
|
-
lastChange: _ngrx_signals.DeepSignal<
|
|
778
|
+
lastChange: _ngrx_signals.DeepSignal<AXPContextChangeEvent>;
|
|
778
779
|
isChanged: _angular_core.Signal<boolean>;
|
|
779
780
|
isReset: _angular_core.Signal<boolean>;
|
|
780
781
|
isInitiated: _angular_core.Signal<boolean>;
|
|
781
782
|
isEmpty: _angular_core.Signal<boolean>;
|
|
782
783
|
isDirty: _angular_core.Signal<boolean>;
|
|
783
|
-
snapshot: _angular_core.Signal<
|
|
784
|
+
snapshot: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
|
|
784
785
|
initial: _angular_core.Signal<{}>;
|
|
785
786
|
previous: _angular_core.Signal<{}>;
|
|
786
|
-
changeEvent: _angular_core.Signal<
|
|
787
|
+
changeEvent: _angular_core.Signal<AXPContextChangeEvent>;
|
|
787
788
|
update: (path: string, value: any) => void;
|
|
788
|
-
patch: (context:
|
|
789
|
+
patch: (context: Record<string, any>, skipDirtyTracking?: boolean) => void;
|
|
789
790
|
reset: () => void;
|
|
790
791
|
set: (initialData: any) => void;
|
|
791
792
|
getValue: (path: string) => any;
|
|
792
793
|
hasValue: (path: string) => boolean;
|
|
793
794
|
} & _ngrx_signals.StateSource<{
|
|
794
|
-
data:
|
|
795
|
-
state:
|
|
795
|
+
data: _acorex_platform_core.AXPContextData;
|
|
796
|
+
state: _acorex_platform_core.AXPContextState;
|
|
796
797
|
initialSnapshot: {};
|
|
797
798
|
previousSnapshot: {};
|
|
798
|
-
lastChange:
|
|
799
|
+
lastChange: AXPContextChangeEvent;
|
|
799
800
|
}>;
|
|
800
801
|
readonly builderService: AXPWidgetCoreService;
|
|
801
|
-
readonly onContextChanged: EventEmitter<
|
|
802
|
+
readonly onContextChanged: EventEmitter<AXPContextChangeEvent>;
|
|
802
803
|
set context(value: any);
|
|
803
804
|
set functions(v: any);
|
|
804
805
|
constructor();
|
|
805
806
|
status: _angular_core.Signal<_acorex_platform_layout_widget_core.AXPPageStatus>;
|
|
806
807
|
isBusy: _angular_core.Signal<boolean>;
|
|
807
808
|
refresh(): void;
|
|
808
|
-
find(name: string): Promise<AXPWidgetCoreElement | undefined>;
|
|
809
|
+
find(name: string): Promise<_acorex_platform_layout_widget_core.AXPWidgetCoreElement | undefined>;
|
|
809
810
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPWidgetContainerComponent, never>;
|
|
810
811
|
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>;
|
|
811
812
|
}
|
|
812
813
|
|
|
814
|
+
/**
|
|
815
|
+
* Provider interface for widget definitions.
|
|
816
|
+
* Implement this interface and register via AXP_WIDGET_DEFINITION_PROVIDER to contribute widgets.
|
|
817
|
+
*/
|
|
818
|
+
interface AXPWidgetDefinitionProvider {
|
|
819
|
+
getWidgets(): AXPWidgetConfig[];
|
|
820
|
+
getExtendedWidgets?(): AXPExtendedWidget[];
|
|
821
|
+
}
|
|
822
|
+
/**
|
|
823
|
+
* Injection token for widget definition providers.
|
|
824
|
+
* Modules register their widget providers using this token (multi: true).
|
|
825
|
+
*/
|
|
826
|
+
declare const AXP_WIDGET_DEFINITION_PROVIDER: InjectionToken<AXPWidgetDefinitionProvider[]>;
|
|
827
|
+
|
|
828
|
+
/**
|
|
829
|
+
* Merges core + extended widgets the same way as AXPWidgetRegistryService.ensureBuilt().
|
|
830
|
+
* Use with concrete providers (e.g. AXPCoreWidgetsProvider, AXPEntityWidgetsProvider) in Node scripts without DI.
|
|
831
|
+
*/
|
|
832
|
+
declare function buildWidgetRegistryMapFromProviders(providers: AXPWidgetDefinitionProvider[]): Map<string, AXPWidgetConfig>;
|
|
833
|
+
/**
|
|
834
|
+
* Aggregates widgets from all AXP_WIDGET_DEFINITION_PROVIDER instances.
|
|
835
|
+
* Token-based like AXP_MENU_PROVIDER / AXP_PERMISSION_DEFINITION_PROVIDER / AXP_SETTING_DEFINITION_PROVIDER.
|
|
836
|
+
* No separate registry - widgets come solely from providers.
|
|
837
|
+
*/
|
|
813
838
|
declare class AXPWidgetRegistryService {
|
|
814
|
-
private
|
|
815
|
-
|
|
839
|
+
private readonly _providers;
|
|
840
|
+
private _types;
|
|
816
841
|
/**
|
|
817
|
-
*
|
|
842
|
+
* Lazy-build widget map from all providers.
|
|
818
843
|
*/
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
844
|
+
private ensureBuilt;
|
|
845
|
+
resolve(name: string): AXPWidgetConfig;
|
|
846
|
+
/**
|
|
847
|
+
* Registered widget config when present; otherwise `undefined`. Does not throw — use when
|
|
848
|
+
* {@link resolve}'s value may be a non-widget id (e.g. data-source row id in dynamic field configurator).
|
|
849
|
+
*/
|
|
850
|
+
getOptional(name: string): AXPWidgetConfig | undefined;
|
|
823
851
|
all(): AXPWidgetConfig[];
|
|
824
852
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPWidgetRegistryService, never>;
|
|
825
853
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPWidgetRegistryService>;
|
|
@@ -893,7 +921,7 @@ type AXPWidgetRendererDirectiveOptions = AXPMetaData;
|
|
|
893
921
|
declare class AXPWidgetRendererDirective {
|
|
894
922
|
parentNode: _angular_core.InputSignal<AXPLayoutBaseWidgetComponent<Record<string, any>> | null | undefined>;
|
|
895
923
|
index: _angular_core.InputSignal<number | null | undefined>;
|
|
896
|
-
mode: _angular_core.InputSignal<keyof AXPWidgetConfigComponents>;
|
|
924
|
+
mode: _angular_core.InputSignal<keyof _acorex_platform_layout_widget_core.AXPWidgetConfigComponents>;
|
|
897
925
|
node: _angular_core.InputSignal<AXPWidgetNode>;
|
|
898
926
|
private _options;
|
|
899
927
|
options: _angular_core.Signal<AXPMetaData>;
|
|
@@ -918,32 +946,32 @@ declare class AXPWidgetRendererDirective {
|
|
|
918
946
|
private injector;
|
|
919
947
|
protected builderService: AXPWidgetCoreService;
|
|
920
948
|
protected contextService: {
|
|
921
|
-
data: _angular_core.Signal<
|
|
922
|
-
state: _angular_core.Signal<
|
|
949
|
+
data: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
|
|
950
|
+
state: _angular_core.Signal<_acorex_platform_core.AXPContextState>;
|
|
923
951
|
initialSnapshot: _angular_core.Signal<{}>;
|
|
924
952
|
previousSnapshot: _angular_core.Signal<{}>;
|
|
925
|
-
lastChange: _ngrx_signals.DeepSignal<
|
|
953
|
+
lastChange: _ngrx_signals.DeepSignal<_acorex_platform_core.AXPContextChangeEvent>;
|
|
926
954
|
isChanged: _angular_core.Signal<boolean>;
|
|
927
955
|
isReset: _angular_core.Signal<boolean>;
|
|
928
956
|
isInitiated: _angular_core.Signal<boolean>;
|
|
929
957
|
isEmpty: _angular_core.Signal<boolean>;
|
|
930
958
|
isDirty: _angular_core.Signal<boolean>;
|
|
931
|
-
snapshot: _angular_core.Signal<
|
|
959
|
+
snapshot: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
|
|
932
960
|
initial: _angular_core.Signal<{}>;
|
|
933
961
|
previous: _angular_core.Signal<{}>;
|
|
934
|
-
changeEvent: _angular_core.Signal<
|
|
962
|
+
changeEvent: _angular_core.Signal<_acorex_platform_core.AXPContextChangeEvent>;
|
|
935
963
|
update: (path: string, value: any) => void;
|
|
936
|
-
patch: (context:
|
|
964
|
+
patch: (context: Record<string, any>, skipDirtyTracking?: boolean) => void;
|
|
937
965
|
reset: () => void;
|
|
938
966
|
set: (initialData: any) => void;
|
|
939
967
|
getValue: (path: string) => any;
|
|
940
968
|
hasValue: (path: string) => boolean;
|
|
941
969
|
} & _ngrx_signals.StateSource<{
|
|
942
|
-
data:
|
|
943
|
-
state:
|
|
970
|
+
data: _acorex_platform_core.AXPContextData;
|
|
971
|
+
state: _acorex_platform_core.AXPContextState;
|
|
944
972
|
initialSnapshot: {};
|
|
945
973
|
previousSnapshot: {};
|
|
946
|
-
lastChange:
|
|
974
|
+
lastChange: _acorex_platform_core.AXPContextChangeEvent;
|
|
947
975
|
}>;
|
|
948
976
|
protected widgetRegistery: AXPWidgetRegistryService;
|
|
949
977
|
protected unsubscriber: AXUnsubscriber;
|
|
@@ -976,6 +1004,15 @@ declare class AXPWidgetRendererDirective {
|
|
|
976
1004
|
private queueContextUpdate;
|
|
977
1005
|
private processBatchedUpdates;
|
|
978
1006
|
private isRelevantContextChange;
|
|
1007
|
+
/**
|
|
1008
|
+
* True when a context store path used in an expression (`context.eval`, `context.options`) is
|
|
1009
|
+
* affected by `changedPath`.
|
|
1010
|
+
*/
|
|
1011
|
+
private contextStorePathDependsOnChangedPath;
|
|
1012
|
+
/**
|
|
1013
|
+
* Whether an expression template string reads context store paths affected by `changedPath`.
|
|
1014
|
+
*/
|
|
1015
|
+
private expressionTextDependsOnContextPath;
|
|
979
1016
|
private hasExpressionDependency;
|
|
980
1017
|
private isPathAlias;
|
|
981
1018
|
private getExpressionValueFromNode;
|
|
@@ -1008,28 +1045,68 @@ declare class AXPWidgetRendererDirective {
|
|
|
1008
1045
|
|
|
1009
1046
|
interface AXPWidgetCoreModuleConfigs {
|
|
1010
1047
|
widgets?: AXPWidgetConfig[];
|
|
1011
|
-
|
|
1048
|
+
AXPExtendedWidgets?: AXPExtendedWidget[];
|
|
1012
1049
|
}
|
|
1013
1050
|
declare class AXPWidgetCoreModule {
|
|
1014
|
-
static
|
|
1015
|
-
static
|
|
1016
|
-
/**
|
|
1017
|
-
* @ignore
|
|
1018
|
-
*/
|
|
1019
|
-
constructor(instances: any[]);
|
|
1020
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPWidgetCoreModule, [{ optional: true; }]>;
|
|
1021
|
-
static ɵmod: _angular_core.ɵɵNgModuleDeclaration<AXPWidgetCoreModule, [typeof AXPWidgetContainerComponent, typeof AXPWidgetColumnRendererComponent, typeof AXPWidgetRendererDirective], [typeof i4.CommonModule, typeof i5.PortalModule, typeof i6.AXSkeletonModule, typeof i4.CommonModule, typeof i7.AXTranslationModule], [typeof AXPWidgetContainerComponent, typeof AXPWidgetColumnRendererComponent, typeof AXPWidgetRendererDirective]>;
|
|
1051
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPWidgetCoreModule, never>;
|
|
1052
|
+
static ɵmod: _angular_core.ɵɵNgModuleDeclaration<AXPWidgetCoreModule, [typeof AXPWidgetContainerComponent, typeof AXPWidgetColumnRendererComponent, typeof AXPWidgetRendererDirective], [typeof i4.CommonModule, typeof i5.PortalModule, typeof i6.AXSkeletonModule, typeof i7.AXTranslationModule], [typeof AXPWidgetContainerComponent, typeof AXPWidgetColumnRendererComponent, typeof AXPWidgetRendererDirective]>;
|
|
1022
1053
|
static ɵinj: _angular_core.ɵɵInjectorDeclaration<AXPWidgetCoreModule>;
|
|
1023
1054
|
}
|
|
1024
1055
|
|
|
1056
|
+
interface AXPMetaDataFeatures {
|
|
1057
|
+
searchable?: {
|
|
1058
|
+
enabled: boolean;
|
|
1059
|
+
fullText: boolean;
|
|
1060
|
+
};
|
|
1061
|
+
filterable?: {
|
|
1062
|
+
enabled: boolean;
|
|
1063
|
+
inline: boolean;
|
|
1064
|
+
};
|
|
1065
|
+
sortable?: {
|
|
1066
|
+
enabled: boolean;
|
|
1067
|
+
};
|
|
1068
|
+
auditable?: {
|
|
1069
|
+
enabled: boolean;
|
|
1070
|
+
};
|
|
1071
|
+
}
|
|
1025
1072
|
interface AXPMetaDataDefinition {
|
|
1026
1073
|
name: string;
|
|
1027
1074
|
title: string;
|
|
1028
1075
|
defaultValue?: any;
|
|
1029
1076
|
interface: string | AXPWidgetNode | (() => Promise<AXPWidgetNode>);
|
|
1077
|
+
features?: AXPMetaDataFeatures;
|
|
1030
1078
|
}
|
|
1031
1079
|
|
|
1032
1080
|
declare const AXPWidgetsCatalog: AXPWidgetTypesMap;
|
|
1033
1081
|
|
|
1034
|
-
|
|
1035
|
-
|
|
1082
|
+
declare const AXP_WIDGETS_EDITOR_SUB_TEXT_INPUTS: AXPDefinitionCategory;
|
|
1083
|
+
declare const AXP_WIDGETS_EDITOR_SUB_NUMERIC: AXPDefinitionCategory;
|
|
1084
|
+
declare const AXP_WIDGETS_EDITOR_SUB_DATETIME: AXPDefinitionCategory;
|
|
1085
|
+
declare const AXP_WIDGETS_EDITOR_SUB_CHOICE: AXPDefinitionCategory;
|
|
1086
|
+
declare const AXP_WIDGETS_EDITOR_SUB_RICH: AXPDefinitionCategory;
|
|
1087
|
+
declare const AXP_WIDGETS_EDITOR_SUB_VISUAL: AXPDefinitionCategory;
|
|
1088
|
+
declare const AXP_WIDGETS_EDITOR_SUB_COMPOSITE: AXPDefinitionCategory;
|
|
1089
|
+
declare const AXP_WIDGETS_EDITOR_SUB_CONFIG: AXPDefinitionCategory;
|
|
1090
|
+
declare const AXP_WIDGETS_LAYOUT_SUB_SHELL: AXPDefinitionCategory;
|
|
1091
|
+
declare const AXP_WIDGETS_LAYOUT_SUB_GRID: AXPDefinitionCategory;
|
|
1092
|
+
declare const AXP_WIDGETS_LAYOUT_SUB_SURFACES: AXPDefinitionCategory;
|
|
1093
|
+
declare const AXP_WIDGETS_LAYOUT_SUB_TABS: AXPDefinitionCategory;
|
|
1094
|
+
declare const AXP_WIDGETS_LAYOUT_SUB_LISTS: AXPDefinitionCategory;
|
|
1095
|
+
declare const AXP_WIDGETS_LAYOUT_SUB_UTILITY: AXPDefinitionCategory;
|
|
1096
|
+
declare const AXP_WIDGETS_ACTION_SUB_CONTROLS: AXPDefinitionCategory;
|
|
1097
|
+
declare const AXP_WIDGETS_ADVANCE_SUB_MEDIA: AXPDefinitionCategory;
|
|
1098
|
+
declare const AXP_WIDGETS_ADVANCE_SUB_INPUT: AXPDefinitionCategory;
|
|
1099
|
+
declare const AXP_WIDGETS_ADVANCE_SUB_DATA: AXPDefinitionCategory;
|
|
1100
|
+
declare const AXP_WIDGETS_ADVANCE_SUB_TOOLS: AXPDefinitionCategory;
|
|
1101
|
+
/** Normalizes widget categories to an array for iteration and serialization. */
|
|
1102
|
+
declare function normalizeWidgetCategories(categories?: AXPDefinitionCategory | AXPDefinitionCategory[]): AXPDefinitionCategory[];
|
|
1103
|
+
declare const AXP_WIDGETS_LAYOUT_CATEGORY: AXPDefinitionCategory;
|
|
1104
|
+
declare const AXP_WIDGETS_EDITOR_CATEGORY: AXPDefinitionCategory;
|
|
1105
|
+
declare const AXP_WIDGETS_ACTION_CATEGORY: AXPDefinitionCategory;
|
|
1106
|
+
declare const AXP_WIDGETS_ADVANCE_CATEGORY: AXPDefinitionCategory;
|
|
1107
|
+
/** AI category tab in the widget picker (metadata); unrelated to Widgets:GetForAI listing scope. */
|
|
1108
|
+
declare const AXP_WIDGETS_AI_CATEGORY: AXPDefinitionCategory;
|
|
1109
|
+
declare const AXP_WIDGETS_CATEGORIES: AXPDefinitionCategory[];
|
|
1110
|
+
|
|
1111
|
+
export { AXPBaseWidgetComponent, AXPBlockBaseLayoutWidgetComponent, AXPBoxModelLayoutWidgetComponent, AXPColumnWidgetComponent, AXPDataListWidgetComponent, AXPFlexBaseLayoutWidgetComponent, AXPFlexItemBaseLayoutWidgetComponent, AXPGridBaseLayoutWidgetComponent, AXPGridItemBaseLayoutWidgetComponent, AXPInlineBaseLayoutWidgetComponent, AXPLayoutBaseWidgetComponent, AXPPageStatus, AXPPropertyEditorHelper, AXPTableBaseLayoutWidgetComponent, AXPTableItemBaseLayoutWidgetComponent, AXPTableItemOpsBaseLayoutWidgetComponent, AXPValueWidgetComponent, AXPWidgetColumnRendererComponent, AXPWidgetContainerComponent, AXPWidgetCoreElement, AXPWidgetCoreModule, AXPWidgetCoreService, AXPWidgetGroupEnum, AXPWidgetRegistryService, AXPWidgetRendererDirective, AXPWidgetSerializationHelper, AXPWidgetStatus, AXPWidgetsCatalog, AXP_WIDGETS_ACTION_CATEGORY, AXP_WIDGETS_ACTION_SUB_CONTROLS, AXP_WIDGETS_ADVANCE_CATEGORY, AXP_WIDGETS_ADVANCE_SUB_DATA, AXP_WIDGETS_ADVANCE_SUB_INPUT, AXP_WIDGETS_ADVANCE_SUB_MEDIA, AXP_WIDGETS_ADVANCE_SUB_TOOLS, AXP_WIDGETS_AI_CATEGORY, AXP_WIDGETS_CATEGORIES, AXP_WIDGETS_EDITOR_CATEGORY, AXP_WIDGETS_EDITOR_SUB_CHOICE, AXP_WIDGETS_EDITOR_SUB_COMPOSITE, AXP_WIDGETS_EDITOR_SUB_CONFIG, AXP_WIDGETS_EDITOR_SUB_DATETIME, AXP_WIDGETS_EDITOR_SUB_NUMERIC, AXP_WIDGETS_EDITOR_SUB_RICH, AXP_WIDGETS_EDITOR_SUB_TEXT_INPUTS, AXP_WIDGETS_EDITOR_SUB_VISUAL, AXP_WIDGETS_LAYOUT_CATEGORY, AXP_WIDGETS_LAYOUT_SUB_GRID, AXP_WIDGETS_LAYOUT_SUB_LISTS, AXP_WIDGETS_LAYOUT_SUB_SHELL, AXP_WIDGETS_LAYOUT_SUB_SURFACES, AXP_WIDGETS_LAYOUT_SUB_TABS, AXP_WIDGETS_LAYOUT_SUB_UTILITY, AXP_WIDGET_COLUMN_TOKEN, AXP_WIDGET_DEFINITION_PROVIDER, AXP_WIDGET_TOKEN, buildWidgetRegistryMapFromProviders, cloneProperty, createBooleanProperty, createNumberProperty, createSelectProperty, createStringProperty, findNonEmptyBreakpoints, mapAXPPropertyToWidgetProperty, normalizeWidgetCategories };
|
|
1112
|
+
export type { AXPBorderBox, AXPBorderBoxString, AXPBreakpointValues, AXPBreakpoints, AXPClassMap, AXPExtendedWidget, AXPExtractWidgetConfig, AXPFlexBoxString, AXPFlexItemBoxString, AXPGridBoxString, AXPGridBreakpointValues, AXPGridItemBoxString, AXPLayoutBuilderStatusChangedEvent, AXPMetaDataDefinition, AXPMetaDataFeatures, AXPPropertyCorners, AXPPropertyEditorCornerValues, AXPPropertyEditorSideGeneric, AXPPropertyEditorSideValues, AXPPropertySides, AXPSpacingBox, AXPSpacingBoxString, AXPStyleMap, AXPWidgetColumnNode, AXPWidgetColumnNodeToken, AXPWidgetComponentConfig, AXPWidgetConfig, AXPWidgetConfigComponents, AXPWidgetCoreElementAPI, AXPWidgetCoreElementAction, AXPWidgetCoreModuleConfigs, AXPWidgetDefinitionProvider, AXPWidgetDesignerOptionsMap, AXPWidgetGroup, AXPWidgetNode, AXPWidgetNodeToken, AXPWidgetProperty, AXPWidgetPropertyGroup, AXPWidgetRenderMode, AXPWidgetRendererDirectiveOptions, AXPWidgetTypesMap, AXPWidgetViewType, MapAXPPropertyToWidgetPropertyOptions };
|