@acorex-platform/framework-client 0.0.10

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.
Files changed (112) hide show
  1. package/README.md +7 -0
  2. package/auth/README.md +3 -0
  3. package/common/README.md +3 -0
  4. package/core/README.md +4 -0
  5. package/fesm2022/acorex-platform-framework-client-auth.mjs +1383 -0
  6. package/fesm2022/acorex-platform-framework-client-auth.mjs.map +1 -0
  7. package/fesm2022/acorex-platform-framework-client-common-common-settings.provider-CbzOYCnI.mjs +190 -0
  8. package/fesm2022/acorex-platform-framework-client-common-common-settings.provider-CbzOYCnI.mjs.map +1 -0
  9. package/fesm2022/acorex-platform-framework-client-common.mjs +9467 -0
  10. package/fesm2022/acorex-platform-framework-client-common.mjs.map +1 -0
  11. package/fesm2022/acorex-platform-framework-client-core.mjs +4655 -0
  12. package/fesm2022/acorex-platform-framework-client-core.mjs.map +1 -0
  13. package/fesm2022/acorex-platform-framework-client-domain.mjs +3189 -0
  14. package/fesm2022/acorex-platform-framework-client-domain.mjs.map +1 -0
  15. package/fesm2022/acorex-platform-framework-client-layout-builder.mjs +3439 -0
  16. package/fesm2022/acorex-platform-framework-client-layout-builder.mjs.map +1 -0
  17. package/fesm2022/acorex-platform-framework-client-layout-components-binding-expression-editor-popup.component-CWVU3wXL.mjs +134 -0
  18. package/fesm2022/acorex-platform-framework-client-layout-components-binding-expression-editor-popup.component-CWVU3wXL.mjs.map +1 -0
  19. package/fesm2022/acorex-platform-framework-client-layout-components.mjs +9777 -0
  20. package/fesm2022/acorex-platform-framework-client-layout-components.mjs.map +1 -0
  21. package/fesm2022/acorex-platform-framework-client-layout-designer.mjs +2799 -0
  22. package/fesm2022/acorex-platform-framework-client-layout-designer.mjs.map +1 -0
  23. package/fesm2022/acorex-platform-framework-client-layout-entity-attachments-page.component-CxBxxpmA.mjs +376 -0
  24. package/fesm2022/acorex-platform-framework-client-layout-entity-attachments-page.component-CxBxxpmA.mjs.map +1 -0
  25. package/fesm2022/acorex-platform-framework-client-layout-entity-file-list-popup.component-l0JAHKIH.mjs +100 -0
  26. package/fesm2022/acorex-platform-framework-client-layout-entity-file-list-popup.component-l0JAHKIH.mjs.map +1 -0
  27. package/fesm2022/acorex-platform-framework-client-layout-entity.mjs +26299 -0
  28. package/fesm2022/acorex-platform-framework-client-layout-entity.mjs.map +1 -0
  29. package/fesm2022/acorex-platform-framework-client-layout-views.mjs +2960 -0
  30. package/fesm2022/acorex-platform-framework-client-layout-views.mjs.map +1 -0
  31. package/fesm2022/acorex-platform-framework-client-layout-widget-core.mjs +4711 -0
  32. package/fesm2022/acorex-platform-framework-client-layout-widget-core.mjs.map +1 -0
  33. package/fesm2022/acorex-platform-framework-client-layout-widgets-button-widget-designer.component-CpkWwygb.mjs +72 -0
  34. package/fesm2022/acorex-platform-framework-client-layout-widgets-button-widget-designer.component-CpkWwygb.mjs.map +1 -0
  35. package/fesm2022/acorex-platform-framework-client-layout-widgets-image-preview.popup-C_EPAvCU.mjs +29 -0
  36. package/fesm2022/acorex-platform-framework-client-layout-widgets-image-preview.popup-C_EPAvCU.mjs.map +1 -0
  37. package/fesm2022/acorex-platform-framework-client-layout-widgets-page-widget-designer.component-CmtTq2Mt.mjs +172 -0
  38. package/fesm2022/acorex-platform-framework-client-layout-widgets-page-widget-designer.component-CmtTq2Mt.mjs.map +1 -0
  39. package/fesm2022/acorex-platform-framework-client-layout-widgets-repeater-widget-column.component-DSx0E3NV.mjs +513 -0
  40. package/fesm2022/acorex-platform-framework-client-layout-widgets-repeater-widget-column.component-DSx0E3NV.mjs.map +1 -0
  41. package/fesm2022/acorex-platform-framework-client-layout-widgets-tabular-data-edit-popup.component-DdfcGV1C.mjs +274 -0
  42. package/fesm2022/acorex-platform-framework-client-layout-widgets-tabular-data-edit-popup.component-DdfcGV1C.mjs.map +1 -0
  43. package/fesm2022/acorex-platform-framework-client-layout-widgets-tabular-data-view-popup.component-CntopmDS.mjs +64 -0
  44. package/fesm2022/acorex-platform-framework-client-layout-widgets-tabular-data-view-popup.component-CntopmDS.mjs.map +1 -0
  45. package/fesm2022/acorex-platform-framework-client-layout-widgets-text-block-widget-designer.component-B5kSWxGk.mjs +34 -0
  46. package/fesm2022/acorex-platform-framework-client-layout-widgets-text-block-widget-designer.component-B5kSWxGk.mjs.map +1 -0
  47. package/fesm2022/acorex-platform-framework-client-layout-widgets.mjs +28553 -0
  48. package/fesm2022/acorex-platform-framework-client-layout-widgets.mjs.map +1 -0
  49. package/fesm2022/acorex-platform-framework-client-native.mjs +155 -0
  50. package/fesm2022/acorex-platform-framework-client-native.mjs.map +1 -0
  51. package/fesm2022/acorex-platform-framework-client-runtime.mjs +911 -0
  52. package/fesm2022/acorex-platform-framework-client-runtime.mjs.map +1 -0
  53. package/fesm2022/acorex-platform-framework-client-themes-default-entity-master-create-view.component-DnTHwsDJ.mjs +160 -0
  54. package/fesm2022/acorex-platform-framework-client-themes-default-entity-master-create-view.component-DnTHwsDJ.mjs.map +1 -0
  55. package/fesm2022/acorex-platform-framework-client-themes-default-entity-master-modify-view.component-BpR9g6QS.mjs +121 -0
  56. package/fesm2022/acorex-platform-framework-client-themes-default-entity-master-modify-view.component-BpR9g6QS.mjs.map +1 -0
  57. package/fesm2022/acorex-platform-framework-client-themes-default-entity-master-single-view.component-D1a7UI71.mjs +236 -0
  58. package/fesm2022/acorex-platform-framework-client-themes-default-entity-master-single-view.component-D1a7UI71.mjs.map +1 -0
  59. package/fesm2022/acorex-platform-framework-client-themes-default-error-401.component-D--_MIar.mjs +48 -0
  60. package/fesm2022/acorex-platform-framework-client-themes-default-error-401.component-D--_MIar.mjs.map +1 -0
  61. package/fesm2022/acorex-platform-framework-client-themes-default-error-404.component-Byyqk8pH.mjs +42 -0
  62. package/fesm2022/acorex-platform-framework-client-themes-default-error-404.component-Byyqk8pH.mjs.map +1 -0
  63. package/fesm2022/acorex-platform-framework-client-themes-default-error-offline.component-DR6G8gPC.mjs +19 -0
  64. package/fesm2022/acorex-platform-framework-client-themes-default-error-offline.component-DR6G8gPC.mjs.map +1 -0
  65. package/fesm2022/acorex-platform-framework-client-themes-default.mjs +4160 -0
  66. package/fesm2022/acorex-platform-framework-client-themes-default.mjs.map +1 -0
  67. package/fesm2022/acorex-platform-framework-client-themes-shared-icon-chooser-column.component-CXSGiTCK.mjs +55 -0
  68. package/fesm2022/acorex-platform-framework-client-themes-shared-icon-chooser-column.component-CXSGiTCK.mjs.map +1 -0
  69. package/fesm2022/acorex-platform-framework-client-themes-shared-icon-chooser-view.component-BY5clQ1J.mjs +57 -0
  70. package/fesm2022/acorex-platform-framework-client-themes-shared-icon-chooser-view.component-BY5clQ1J.mjs.map +1 -0
  71. package/fesm2022/acorex-platform-framework-client-themes-shared-settings.provider-DEL2YOTP.mjs +234 -0
  72. package/fesm2022/acorex-platform-framework-client-themes-shared-settings.provider-DEL2YOTP.mjs.map +1 -0
  73. package/fesm2022/acorex-platform-framework-client-themes-shared-theme-color-chooser-column.component-BXl8u4Yp.mjs +94 -0
  74. package/fesm2022/acorex-platform-framework-client-themes-shared-theme-color-chooser-column.component-BXl8u4Yp.mjs.map +1 -0
  75. package/fesm2022/acorex-platform-framework-client-themes-shared-theme-color-chooser-view.component-i2sOOkVj.mjs +86 -0
  76. package/fesm2022/acorex-platform-framework-client-themes-shared-theme-color-chooser-view.component-i2sOOkVj.mjs.map +1 -0
  77. package/fesm2022/acorex-platform-framework-client-themes-shared.mjs +2375 -0
  78. package/fesm2022/acorex-platform-framework-client-themes-shared.mjs.map +1 -0
  79. package/fesm2022/acorex-platform-framework-client-workflow.mjs +2836 -0
  80. package/fesm2022/acorex-platform-framework-client-workflow.mjs.map +1 -0
  81. package/fesm2022/acorex-platform-framework-client.mjs +6 -0
  82. package/fesm2022/acorex-platform-framework-client.mjs.map +1 -0
  83. package/layout/builder/README.md +1578 -0
  84. package/layout/components/README.md +3 -0
  85. package/layout/designer/README.md +4 -0
  86. package/layout/entity/README.md +4 -0
  87. package/layout/views/README.md +3 -0
  88. package/layout/widget-core/README.md +4 -0
  89. package/layout/widgets/README.md +3 -0
  90. package/native/README.md +4 -0
  91. package/package.json +98 -0
  92. package/runtime/README.md +3 -0
  93. package/themes/default/README.md +3 -0
  94. package/themes/shared/README.md +3 -0
  95. package/types/acorex-platform-framework-client-auth.d.ts +690 -0
  96. package/types/acorex-platform-framework-client-common.d.ts +3287 -0
  97. package/types/acorex-platform-framework-client-core.d.ts +1849 -0
  98. package/types/acorex-platform-framework-client-domain.d.ts +1968 -0
  99. package/types/acorex-platform-framework-client-layout-builder.d.ts +1058 -0
  100. package/types/acorex-platform-framework-client-layout-components.d.ts +3362 -0
  101. package/types/acorex-platform-framework-client-layout-designer.d.ts +501 -0
  102. package/types/acorex-platform-framework-client-layout-entity.d.ts +4374 -0
  103. package/types/acorex-platform-framework-client-layout-views.d.ts +975 -0
  104. package/types/acorex-platform-framework-client-layout-widget-core.d.ts +1080 -0
  105. package/types/acorex-platform-framework-client-layout-widgets.d.ts +5263 -0
  106. package/types/acorex-platform-framework-client-native.d.ts +28 -0
  107. package/types/acorex-platform-framework-client-runtime.d.ts +301 -0
  108. package/types/acorex-platform-framework-client-themes-default.d.ts +889 -0
  109. package/types/acorex-platform-framework-client-themes-shared.d.ts +202 -0
  110. package/types/acorex-platform-framework-client-workflow.d.ts +1345 -0
  111. package/types/acorex-platform-framework-client.d.ts +2 -0
  112. package/workflow/README.md +4 -0
@@ -0,0 +1,501 @@
1
+ import { AXClickEvent } from '@acorex/cdk/common';
2
+ import * as _angular_core from '@angular/core';
3
+ import { EventEmitter, OnChanges, OnDestroy, WritableSignal, NgZone, ComponentRef, SimpleChanges } from '@angular/core';
4
+ import { AXPWidgetConfig, AXPWidgetGroupEnum } from '@acorex-platform/framework-shared/widget-core';
5
+ import { AXBasePageComponent } from '@acorex/components/page';
6
+ import { AXTabStripChangedEvent } from '@acorex/components/tabs';
7
+ import { AXPMultiLanguageString, AXPDefinitionCategory, AXPWidgetNode, AXPWidgetRenderMode, AXPContextChangeEvent } from '@acorex-platform/framework-shared/core';
8
+ import { AXPWidgetItemData, AXPWidgetItemClickEvent } from '@acorex-platform/framework-client/layout/components';
9
+ import { AXMenuItem } from '@acorex/components/menu';
10
+ import { AXPBaseWidgetComponent, AXPWidgetRegistryService, AXPLayoutBaseWidgetComponent } from '@acorex-platform/framework-client/layout/widget-core';
11
+ import { Subject } from 'rxjs';
12
+ import { AXPBroadcastEventService } from '@acorex-platform/framework-client/core';
13
+ import { AXUnsubscriber } from '@acorex/core/utils';
14
+ import { AXPClipBoardService, AXPSettingsService } from '@acorex-platform/framework-client/common';
15
+
16
+ declare class AXPDesignerAddWidgetButtonComponent {
17
+ private designerService;
18
+ private parent;
19
+ handleClick(e: AXClickEvent): Promise<void>;
20
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPDesignerAddWidgetButtonComponent, never>;
21
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPDesignerAddWidgetButtonComponent, "axp-designer-add-widget-button", never, {}, {}, never, never, true, never>;
22
+ }
23
+
24
+ declare class AXPDesignerAddWidgetLineButtonComponent {
25
+ text: _angular_core.InputSignal<unknown>;
26
+ onClick: _angular_core.OutputEmitterRef<void>;
27
+ protected handleClick(): void;
28
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPDesignerAddWidgetLineButtonComponent, never>;
29
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPDesignerAddWidgetLineButtonComponent, "axp-designer-add-widget-line-button", never, { "text": { "alias": "text"; "required": false; "isSignal": true; }; }, { "onClick": "onClick"; }, never, never, true, never>;
30
+ }
31
+
32
+ declare class AXPDesignerAddWidgetMiniButtonComponent {
33
+ private designerService;
34
+ private parent;
35
+ onClick: EventEmitter<void>;
36
+ protected handleClick(e: MouseEvent): Promise<void>;
37
+ private get __class();
38
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPDesignerAddWidgetMiniButtonComponent, never>;
39
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPDesignerAddWidgetMiniButtonComponent, "axp-designer-add-widget-mini-button", never, {}, { "onClick": "onClick"; }, never, never, true, never>;
40
+ }
41
+
42
+ declare class AXPDesignerFlexDrawerComponent {
43
+ itemsCount: _angular_core.ModelSignal<number>;
44
+ onSelect: _angular_core.OutputEmitterRef<number>;
45
+ protected items: _angular_core.Signal<number[]>;
46
+ protected range: _angular_core.WritableSignal<number>;
47
+ protected handleMouseHover(c: number): void;
48
+ protected handleClick(c: number): void;
49
+ protected handleMouseLeave(event: MouseEvent): void;
50
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPDesignerFlexDrawerComponent, never>;
51
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPDesignerFlexDrawerComponent, "axp-designer-flex-drawer", never, { "itemsCount": { "alias": "items"; "required": false; "isSignal": true; }; }, { "itemsCount": "itemsChange"; "onSelect": "onSelect"; }, never, never, true, never>;
52
+ }
53
+
54
+ declare class AXPDesignerGridDrawerComponent {
55
+ rowsCount: _angular_core.ModelSignal<number>;
56
+ colsCount: _angular_core.ModelSignal<number>;
57
+ onSelect: _angular_core.OutputEmitterRef<{
58
+ rows: number;
59
+ cols: number;
60
+ }>;
61
+ protected rows: _angular_core.Signal<number[]>;
62
+ protected columns: _angular_core.Signal<number[]>;
63
+ protected rangeR: _angular_core.WritableSignal<number>;
64
+ protected rangeC: _angular_core.WritableSignal<number>;
65
+ protected handleMouseHover(r: number, c: number): void;
66
+ protected handleClick(r: number, c: number): void;
67
+ protected handleMouseLeave(event: MouseEvent): void;
68
+ private get __style();
69
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPDesignerGridDrawerComponent, never>;
70
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPDesignerGridDrawerComponent, "axp-designer-grid-drawer", never, { "rowsCount": { "alias": "rows"; "required": false; "isSignal": true; }; "colsCount": { "alias": "columns"; "required": false; "isSignal": true; }; }, { "rowsCount": "rowsChange"; "colsCount": "columnsChange"; "onSelect": "onSelect"; }, never, never, true, never>;
71
+ }
72
+
73
+ interface AXPDisplayWidgetConfig extends AXPWidgetConfig {
74
+ pinned: boolean;
75
+ }
76
+ interface AXPWidgetPickerSection {
77
+ trackKey: string;
78
+ title: AXPMultiLanguageString | null;
79
+ widgetItems: AXPWidgetItemData[];
80
+ }
81
+ declare class AXPDesignerWidgetPickerComponent extends AXBasePageComponent {
82
+ private readonly injector;
83
+ private settingsService;
84
+ private readonly mlResolver;
85
+ private readonly pinnedSettingKey;
86
+ /** Keeps the line indicator in sync when the selected index is set programmatically (e.g. restored tab). */
87
+ private readonly tabsHost;
88
+ constructor();
89
+ protected readonly i18n: {
90
+ readonly searchPlaceholder: "@form-template-management:designer.components.widget-picker.search-placeholder";
91
+ readonly selectedCount: "@form-template-management:designer.components.widget-picker.selected-count";
92
+ readonly tabAll: "@form-template-management:designer.components.widget-picker.tab-all";
93
+ readonly pinnedSectionTitle: "@form-template-management:designer.components.widget-picker.pinned-section-title";
94
+ };
95
+ protected searchTerm: _angular_core.ModelSignal<string>;
96
+ /** Populated by popup `data.tabPersistenceContext` (optional for tests). */
97
+ tabPersistenceContext?: string;
98
+ private widgets;
99
+ private allWidgets;
100
+ private pinnedWidgets;
101
+ protected selectedWidgets: _angular_core.WritableSignal<AXPDisplayWidgetConfig[]>;
102
+ protected currentTabIndex: _angular_core.WritableSignal<number>;
103
+ /** Avoid persisting spurious tab events before restore + first paint complete. */
104
+ private allowTabPersistence;
105
+ private displayWidgets;
106
+ private orderedList;
107
+ protected pinnedList: _angular_core.Signal<AXPDisplayWidgetConfig[]>;
108
+ protected regularList: _angular_core.Signal<AXPDisplayWidgetConfig[]>;
109
+ protected pinnedWidgetItems: _angular_core.Signal<AXPWidgetItemData[]>;
110
+ protected regularGroupedSections: _angular_core.Signal<AXPWidgetPickerSection[]>;
111
+ protected categories: _angular_core.Signal<AXPDefinitionCategory[]>;
112
+ protected tabs: _angular_core.Signal<AXPDefinitionCategory[]>;
113
+ protected maxVisibleWidgets: _angular_core.Signal<number>;
114
+ protected selectedTab: _angular_core.Signal<AXPDefinitionCategory>;
115
+ protected pickerShellClass: _angular_core.Signal<string>;
116
+ protected ngOnInit(): Promise<void>;
117
+ private lastTabSettingKey;
118
+ private restoreLastTabFromSettings;
119
+ /**
120
+ * `ax-tab-item` [active] updates labels, but `ax-tabs` keeps the underline from its own index until `select` runs.
121
+ */
122
+ private syncTabsStripToIndex;
123
+ private persistTabSelection;
124
+ /**
125
+ * Picks the primary parent category for the "All" tab (lowest `order` wins).
126
+ */
127
+ private primaryCategory;
128
+ private buildAllTabSections;
129
+ private buildCategoryTabSections;
130
+ protected handleTabChange(event: AXTabStripChangedEvent): Promise<void>;
131
+ protected handleWidgetClick(clickEvent: AXPWidgetItemClickEvent): void;
132
+ protected handleWidgetPinClick(clickEvent: AXPWidgetItemClickEvent): Promise<void>;
133
+ protected handleConfirmSelection(): void;
134
+ protected isWidgetSelected(widget: AXPDisplayWidgetConfig): boolean;
135
+ protected isWidgetItemSelected(widgetItem: AXPWidgetItemData): boolean;
136
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPDesignerWidgetPickerComponent, never>;
137
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPDesignerWidgetPickerComponent, "ng-component", never, { "searchTerm": { "alias": "searchTerm"; "required": false; "isSignal": true; }; }, { "searchTerm": "searchTermChange"; }, never, never, true, never>;
138
+ }
139
+
140
+ interface AXPWidgetPickerShowOptions {
141
+ groups: AXPWidgetGroupEnum[];
142
+ /** User-scoped last tab; unique per picker host (use `AXP_WIDGET_PICKER_TAB_CONTEXT`). */
143
+ tabPersistenceContext: string;
144
+ }
145
+ declare class AXPWidgetPickerService {
146
+ private popupService;
147
+ private widgetRegistryService;
148
+ private translationService;
149
+ showPicker(options: AXPWidgetPickerShowOptions): Promise<AXPWidgetNode[]>;
150
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPWidgetPickerService, never>;
151
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPWidgetPickerService>;
152
+ }
153
+
154
+ /**
155
+ * Suffixes for `forms:widgets:picker:last-tab:{id}` user settings keys.
156
+ * Use one id per distinct widget-picker host (different tab strips / widget sets).
157
+ */
158
+ declare const AXP_WIDGET_PICKER_TAB_CONTEXT: {
159
+ readonly layoutDesignerFormElements: "layout-designer-form-elements";
160
+ readonly dashboardHome: "dashboard-home";
161
+ };
162
+
163
+ type AXPDesignerMode = {
164
+ id: 'designer';
165
+ title: 'Designer';
166
+ } | {
167
+ id: 'view';
168
+ title: 'View';
169
+ } | {
170
+ id: 'edit';
171
+ title: 'Edit';
172
+ };
173
+ declare class AXPDesignerModes {
174
+ static readonly View: AXPDesignerMode;
175
+ static readonly Design: AXPDesignerMode;
176
+ static readonly Edit: AXPDesignerMode;
177
+ }
178
+ declare enum AXPTemplateLoadingStrategy {
179
+ Connector = "Connector",
180
+ Broadcast = "Broadcast"
181
+ }
182
+ interface AXPDesignerWidgetComponent {
183
+ onContextMenu(context: {
184
+ items: AXMenuItem[];
185
+ }): void;
186
+ executeCommand(command: {
187
+ name: string;
188
+ data?: any;
189
+ handled: boolean;
190
+ }): Promise<void>;
191
+ }
192
+ interface AXPDesignerPreviewMessage {
193
+ id: string;
194
+ document: AXPWidgetNode;
195
+ }
196
+ interface AXPDesignerSaveFormMessage {
197
+ id: string;
198
+ success: boolean;
199
+ content?: string;
200
+ }
201
+ declare const AXPDesignerMessageKeys: {
202
+ Preview: string;
203
+ Loaded: string;
204
+ ContextChanged: string;
205
+ PreviewWindow: string;
206
+ RequestFormContent: string;
207
+ ResponseFormContent: string;
208
+ SaveForm: string;
209
+ FormSaved: string;
210
+ };
211
+
212
+ type AXPDesignerPreviewSize = 'sm' | 'md' | 'lg' | 'xl' | 'xxl';
213
+ interface AXPDesignerFocusCommand {
214
+ widget: AXPWidgetNode | null;
215
+ }
216
+ interface AXPDesignerUpdateCommand {
217
+ values: any;
218
+ widget?: AXPWidgetNode | null;
219
+ mode: 'init' | 'update';
220
+ }
221
+ interface AXPDesignerUpdateEvent {
222
+ values: any;
223
+ widget: AXPWidgetNode;
224
+ }
225
+ interface AXPDesignerSelectCommand {
226
+ widget: AXPWidgetNode;
227
+ }
228
+ interface AXPDesignerRegisterCommand {
229
+ id: number;
230
+ widget: AXPWidgetNode;
231
+ config: AXPWidgetConfig;
232
+ instance: AXPBaseWidgetComponent;
233
+ }
234
+ interface AXPDesignerSelectEvent {
235
+ widget: AXPWidgetNode;
236
+ }
237
+ interface AXPDesignerRefreshCommand {
238
+ widget: AXPWidgetNode;
239
+ }
240
+ interface AXPDesignerRefreshEvent {
241
+ widget: AXPWidgetNode;
242
+ }
243
+ interface AXPDesignerAddNodeCommand {
244
+ widget: AXPWidgetNode;
245
+ }
246
+ interface AXPDesignerAddNodeEvent {
247
+ widget: AXPWidgetNode;
248
+ }
249
+ interface AXPDesignerFocusEvent {
250
+ widget: AXPWidgetNode | null;
251
+ }
252
+ declare class AXPDesignerService {
253
+ #private;
254
+ private popupService;
255
+ private toastService;
256
+ private fileService;
257
+ private loadingService;
258
+ private widgetRegisteryService;
259
+ private connector;
260
+ private eventService;
261
+ private widgetPickerService;
262
+ readonly document: _angular_core.WritableSignal<AXPWidgetNode>;
263
+ readonly currentPageIndex: _angular_core.WritableSignal<number>;
264
+ readonly currentPage: _angular_core.WritableSignal<AXPWidgetNode>;
265
+ private commandManager;
266
+ private clipboard;
267
+ canCutCopy: _angular_core.Signal<boolean>;
268
+ canDelete: _angular_core.Signal<boolean>;
269
+ canInsert: _angular_core.Signal<boolean>;
270
+ canPaste: _angular_core.Signal<boolean>;
271
+ readonly history: _angular_core.Signal<{
272
+ description: string;
273
+ icon: string;
274
+ isPast: boolean;
275
+ isFuture: boolean;
276
+ isCurrent: boolean;
277
+ }[]>;
278
+ readonly canUndo: _angular_core.Signal<boolean>;
279
+ readonly canRedo: _angular_core.Signal<boolean>;
280
+ readonly canSave: _angular_core.Signal<boolean>;
281
+ readonly unsavedChanges: _angular_core.WritableSignal<boolean>;
282
+ breadcrumbs: _angular_core.Signal<AXPWidgetNode[]>;
283
+ selectedNode: _angular_core.WritableSignal<AXPWidgetNode | null>;
284
+ selectedNodeConfig: _angular_core.Signal<AXPWidgetConfig<any>>;
285
+ private _focusedNode;
286
+ focusedNode: () => AXPWidgetNode | null;
287
+ readonly size: _angular_core.WritableSignal<AXPDesignerPreviewSize>;
288
+ readonly onSelected: Subject<AXPDesignerSelectEvent>;
289
+ readonly onRefresh: Subject<AXPDesignerRefreshEvent>;
290
+ readonly onUpdate: Subject<AXPDesignerUpdateEvent>;
291
+ readonly onFocused: Subject<AXPDesignerFocusEvent>;
292
+ readonly templateId: _angular_core.WritableSignal<string | null>;
293
+ private loadingStrategy;
294
+ constructor();
295
+ private can;
296
+ register(command: AXPDesignerRegisterCommand): void;
297
+ select(command: AXPDesignerSelectCommand): void;
298
+ update(command: AXPDesignerUpdateCommand): void;
299
+ focus(command: AXPDesignerFocusCommand): void;
300
+ refresh(command: AXPDesignerRefreshCommand): void;
301
+ private findBreadcrumbs;
302
+ showPicker(currentNode?: AXPWidgetNode): Promise<AXPWidgetNode[]>;
303
+ new(): void;
304
+ private createDoc;
305
+ private createPage;
306
+ addNewPage(): void;
307
+ removePage(index: number): void;
308
+ clonePage(index: number): void;
309
+ goToPage(index: number): void;
310
+ private reRenderPage;
311
+ findWidgetById(root: AXPWidgetNode, id: string): AXPWidgetNode | null;
312
+ private findParent;
313
+ private findNearestContainer;
314
+ addWidget(currentNode: AXPWidgetNode, node: AXPWidgetNode): AXPWidgetNode;
315
+ removeWidget(node?: AXPWidgetNode): void;
316
+ navigateTo(index: number): void;
317
+ redo(): void;
318
+ undo(): void;
319
+ clearHistory(): void;
320
+ private removeMetaProp;
321
+ private addMetaToNodes;
322
+ copy(widget?: AXPWidgetNode | null): void;
323
+ cut(widget?: AXPWidgetNode | null): void;
324
+ clone(widget?: AXPWidgetNode | null): void;
325
+ paste(parentNode?: AXPWidgetNode | undefined): void;
326
+ save(): Promise<void>;
327
+ saveAs(node?: AXPWidgetNode): Promise<void>;
328
+ export(node?: AXPWidgetNode): string;
329
+ downloadJson(): void;
330
+ loadById(id: string, options?: {
331
+ strategy: AXPTemplateLoadingStrategy;
332
+ }): Promise<void>;
333
+ importJSon(): Promise<void>;
334
+ loadByContent(content: string): Promise<void>;
335
+ private countTotalNodes;
336
+ private generateUniqueName;
337
+ generateUniqueId(): number;
338
+ private collectAllNames;
339
+ updatePreview(): void;
340
+ openPreviewDialog(): Promise<void>;
341
+ openPreviewWindow(): void;
342
+ getContextMenuItems(instance: AXPDesignerWidgetComponent, isRoot?: boolean): AXMenuItem[];
343
+ executeCommand(context: {
344
+ instance: AXPDesignerWidgetComponent;
345
+ name: string;
346
+ data?: any;
347
+ }): Promise<void>;
348
+ unsubscribeEvents(): void;
349
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPDesignerService, never>;
350
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPDesignerService>;
351
+ }
352
+
353
+ declare class AXPLayoutDesignerComponent {
354
+ protected service: AXPDesignerService;
355
+ id: _angular_core.InputSignal<string | null | undefined>;
356
+ strategy: _angular_core.InputSignal<string | null | undefined>;
357
+ private propertyViewer;
358
+ protected nodeConfig: _angular_core.Signal<AXPWidgetConfig<any> | null>;
359
+ constructor();
360
+ ngOnInit(): void;
361
+ private get __styles();
362
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPLayoutDesignerComponent, never>;
363
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPLayoutDesignerComponent, "axp-layout-designer", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "strategy": { "alias": "strategy"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
364
+ }
365
+
366
+ interface AXPDesignerContent {
367
+ json: string;
368
+ html?: string;
369
+ }
370
+ declare abstract class AXPDesignerConnector<T = string> {
371
+ abstract save(id: string, content: AXPDesignerContent): Promise<boolean>;
372
+ abstract saveAs(content: AXPDesignerContent): Promise<boolean>;
373
+ abstract load(id: T): Promise<string | null>;
374
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPDesignerConnector<any>, never>;
375
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPDesignerConnector<any>>;
376
+ }
377
+
378
+ /**
379
+ * Distributed hooks for extending the layout designer header menu without coupling the designer library to feature modules.
380
+ *
381
+ * - {@link AXPLayoutDesignerHeaderMenuHookKeys.root}: top-level bar items (siblings of File, Edit, …).
382
+ * - {@link AXPLayoutDesignerHeaderMenuHookKeys.submenu}: extra items inside a top-level menu (`file`, `edit`, `run`, `help`).
383
+ */
384
+ declare const AXPLayoutDesignerHeaderMenuHookKeys: {
385
+ readonly root: "layout-designer.header-menu.root";
386
+ readonly submenu: "layout-designer.header-menu.submenu";
387
+ };
388
+ type AXPLayoutDesignerHeaderParentMenuId = 'file' | 'edit' | 'run' | 'help';
389
+ interface AXPLayoutDesignerHeaderMenuEntry {
390
+ id: string;
391
+ priority?: number;
392
+ /** i18n key (resolved by the menu host when set). */
393
+ labelKey?: string;
394
+ /** Plain label when no translation key is used. */
395
+ label?: string;
396
+ iconClass?: string;
397
+ run: () => void | Promise<void>;
398
+ }
399
+ interface AXPLayoutDesignerHeaderMenuRootPayload {
400
+ /** Current designer instance (typed as unknown to avoid circular imports in consumers). */
401
+ designer: unknown;
402
+ items: AXPLayoutDesignerHeaderMenuEntry[];
403
+ }
404
+ interface AXPLayoutDesignerHeaderMenuSubmenuPayload {
405
+ designer: unknown;
406
+ parentMenuId: AXPLayoutDesignerHeaderParentMenuId;
407
+ items: AXPLayoutDesignerHeaderMenuEntry[];
408
+ }
409
+
410
+ declare const AXP_DESIGNER_COPY_MENU: AXMenuItem;
411
+ declare const AXP_DESIGNER_CLONE_MENU: AXMenuItem;
412
+ declare const AXP_DESIGNER_CUT_MENU: AXMenuItem;
413
+ declare const AXP_DESIGNER_PASTE_MENU: AXMenuItem;
414
+ declare const AXP_DESIGNER_ADD_WIDGET_MENU: AXMenuItem;
415
+ declare const AXP_DESIGNER_SELECT_WIDGET_MENU: AXMenuItem;
416
+ declare const AXP_DESIGNER_DELETE_WIDGET_MENU: AXMenuItem;
417
+ declare const AXP_DESIGNER_SAVE_AS_WIDGET_MENU: AXMenuItem;
418
+ declare function cloneWidgetMenu(item: AXMenuItem, options?: Partial<AXMenuItem>): AXMenuItem;
419
+
420
+ declare class AXPWidgetDesignerRendererDirective implements OnChanges, OnDestroy {
421
+ protected mergedOptions: WritableSignal<any>;
422
+ private injector;
423
+ protected widgetRegistry: AXPWidgetRegistryService;
424
+ protected zone: NgZone;
425
+ protected isLoading: WritableSignal<boolean>;
426
+ private instance;
427
+ private config?;
428
+ private isLoadingComponent;
429
+ private currentNodeId;
430
+ private service;
431
+ private viewContainerRef;
432
+ parentNode: _angular_core.InputSignal<AXPLayoutBaseWidgetComponent<Record<string, any>> | null | undefined>;
433
+ parentElement: _angular_core.InputSignal<HTMLElement | null | undefined>;
434
+ parentComponent: _angular_core.InputSignal<ComponentRef<any> | null | undefined>;
435
+ index: _angular_core.InputSignal<number | null | undefined>;
436
+ locked: _angular_core.InputSignal<boolean>;
437
+ mode: _angular_core.InputSignal<AXPWidgetRenderMode>;
438
+ node: _angular_core.InputSignal<AXPWidgetNode>;
439
+ private hostElement;
440
+ private getId;
441
+ private isCurrentWidget;
442
+ private subs;
443
+ /**
444
+ * @ignore
445
+ */
446
+ constructor();
447
+ ngOnChanges(changes: SimpleChanges): void;
448
+ ngOnDestroy(): void;
449
+ private loadComponent;
450
+ private overlay;
451
+ select(): void;
452
+ focus(): void;
453
+ blur(): void;
454
+ private applySelectedStyle;
455
+ private removeSelectedStyle;
456
+ private addOverlay;
457
+ private removeOverlay;
458
+ private preprocessAndInitialOptions;
459
+ private applyOptions;
460
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPWidgetDesignerRendererDirective, never>;
461
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AXPWidgetDesignerRendererDirective, "[axp-widget-designer-renderer]", never, { "parentNode": { "alias": "parentNode"; "required": false; "isSignal": true; }; "parentElement": { "alias": "parentElement"; "required": false; "isSignal": true; }; "parentComponent": { "alias": "parentComponent"; "required": false; "isSignal": true; }; "index": { "alias": "index"; "required": false; "isSignal": true; }; "locked": { "alias": "locked"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": true; "isSignal": true; }; "node": { "alias": "node"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
462
+ }
463
+
464
+ declare class AXPLayoutDesignerPreviewViewerComponent {
465
+ protected context: any;
466
+ protected readonly document: _angular_core.WritableSignal<AXPWidgetNode>;
467
+ protected readonly currentPageIndex: _angular_core.WritableSignal<number>;
468
+ protected connector: AXPDesignerConnector<any>;
469
+ protected eventService: AXPBroadcastEventService;
470
+ protected unsubscriber: AXUnsubscriber;
471
+ protected readonly currentPage: _angular_core.Signal<AXPWidgetNode>;
472
+ constructor();
473
+ ngAfterViewInit(): void;
474
+ protected handleContextChanged(e: AXPContextChangeEvent): void;
475
+ ngOnDestroy(): void;
476
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPLayoutDesignerPreviewViewerComponent, never>;
477
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPLayoutDesignerPreviewViewerComponent, "axp-layout-builder-viewer", never, {}, {}, never, never, true, never>;
478
+ }
479
+
480
+ declare class AXPLayoutDesignerPreviewComponent extends AXBasePageComponent {
481
+ protected clipboard: AXPClipBoardService;
482
+ protected settings: AXPSettingsService;
483
+ protected eventService: AXPBroadcastEventService;
484
+ protected initialSize: string;
485
+ protected isDialogWindow: boolean;
486
+ private jsonSettingsKey;
487
+ protected jsonViewCollapsed: _angular_core.WritableSignal<boolean>;
488
+ protected size: _angular_core.WritableSignal<string>;
489
+ protected context: _angular_core.WritableSignal<any>;
490
+ constructor();
491
+ protected ngOnInit(): Promise<void>;
492
+ protected handleCloseButton(): void;
493
+ protected handlePreviewWindow(): void;
494
+ protected handleCopyJson(): void;
495
+ protected handleCollapsedChange(value: boolean): Promise<void>;
496
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPLayoutDesignerPreviewComponent, never>;
497
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPLayoutDesignerPreviewComponent, "axp-layout-preview", never, {}, {}, never, never, true, never>;
498
+ }
499
+
500
+ export { AXPDesignerAddWidgetButtonComponent, AXPDesignerAddWidgetLineButtonComponent, AXPDesignerAddWidgetMiniButtonComponent, AXPDesignerConnector, AXPDesignerFlexDrawerComponent, AXPDesignerGridDrawerComponent, AXPDesignerMessageKeys, AXPDesignerModes, AXPDesignerService, AXPDesignerWidgetPickerComponent, AXPLayoutDesignerComponent, AXPLayoutDesignerHeaderMenuHookKeys, AXPLayoutDesignerPreviewComponent, AXPLayoutDesignerPreviewViewerComponent, AXPTemplateLoadingStrategy, AXPWidgetDesignerRendererDirective, AXPWidgetPickerService, AXP_DESIGNER_ADD_WIDGET_MENU, AXP_DESIGNER_CLONE_MENU, AXP_DESIGNER_COPY_MENU, AXP_DESIGNER_CUT_MENU, AXP_DESIGNER_DELETE_WIDGET_MENU, AXP_DESIGNER_PASTE_MENU, AXP_DESIGNER_SAVE_AS_WIDGET_MENU, AXP_DESIGNER_SELECT_WIDGET_MENU, AXP_WIDGET_PICKER_TAB_CONTEXT, cloneWidgetMenu };
501
+ export type { AXPDesignerAddNodeCommand, AXPDesignerAddNodeEvent, AXPDesignerContent, AXPDesignerFocusCommand, AXPDesignerFocusEvent, AXPDesignerMode, AXPDesignerPreviewMessage, AXPDesignerPreviewSize, AXPDesignerRefreshCommand, AXPDesignerRefreshEvent, AXPDesignerRegisterCommand, AXPDesignerSaveFormMessage, AXPDesignerSelectCommand, AXPDesignerSelectEvent, AXPDesignerUpdateCommand, AXPDesignerUpdateEvent, AXPDesignerWidgetComponent, AXPDisplayWidgetConfig, AXPLayoutDesignerHeaderMenuEntry, AXPLayoutDesignerHeaderMenuRootPayload, AXPLayoutDesignerHeaderMenuSubmenuPayload, AXPLayoutDesignerHeaderParentMenuId, AXPWidgetPickerShowOptions };