@acorex-platform/framework-client 0.0.38 → 0.0.46
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-framework-client-auth.mjs +212 -44
- package/fesm2022/acorex-platform-framework-client-auth.mjs.map +1 -1
- package/fesm2022/{acorex-platform-framework-client-common-common-settings.provider-CzBr0cRi.mjs → acorex-platform-framework-client-common-common-settings.provider-ChU2tvyt.mjs} +31 -1
- package/fesm2022/acorex-platform-framework-client-common-common-settings.provider-ChU2tvyt.mjs.map +1 -0
- package/fesm2022/acorex-platform-framework-client-common.mjs +824 -72
- package/fesm2022/acorex-platform-framework-client-common.mjs.map +1 -1
- package/fesm2022/acorex-platform-framework-client-core.mjs +212 -94
- package/fesm2022/acorex-platform-framework-client-core.mjs.map +1 -1
- package/fesm2022/acorex-platform-framework-client-layout-builder.mjs +292 -11
- package/fesm2022/acorex-platform-framework-client-layout-builder.mjs.map +1 -1
- package/fesm2022/{acorex-platform-framework-client-layout-components-binding-expression-editor-popup.component-Bp2cNCPO.mjs → acorex-platform-framework-client-layout-components-binding-expression-editor-popup.component-BqPaHKPM.mjs} +10 -6
- package/fesm2022/acorex-platform-framework-client-layout-components-binding-expression-editor-popup.component-BqPaHKPM.mjs.map +1 -0
- package/fesm2022/acorex-platform-framework-client-layout-components-property-viewer-inline-code-editor.component-CcpUTEVQ.mjs +66 -0
- package/fesm2022/acorex-platform-framework-client-layout-components-property-viewer-inline-code-editor.component-CcpUTEVQ.mjs.map +1 -0
- package/fesm2022/acorex-platform-framework-client-layout-components-resource-appointment-board.component-DCkpgsFH.mjs +195 -0
- package/fesm2022/acorex-platform-framework-client-layout-components-resource-appointment-board.component-DCkpgsFH.mjs.map +1 -0
- package/fesm2022/acorex-platform-framework-client-layout-components.mjs +3987 -1020
- package/fesm2022/acorex-platform-framework-client-layout-components.mjs.map +1 -1
- package/fesm2022/acorex-platform-framework-client-layout-designer.mjs +1179 -304
- package/fesm2022/acorex-platform-framework-client-layout-designer.mjs.map +1 -1
- package/fesm2022/{acorex-platform-framework-client-layout-entity-acorex-platform-framework-client-layout-entity-CvaOWbJx.mjs → acorex-platform-framework-client-layout-entity-acorex-platform-framework-client-layout-entity-Dc_NpBx6.mjs} +1619 -246
- package/fesm2022/acorex-platform-framework-client-layout-entity-acorex-platform-framework-client-layout-entity-Dc_NpBx6.mjs.map +1 -0
- package/fesm2022/{acorex-platform-framework-client-layout-entity-attachments-page.component-Ds63Rt2n.mjs → acorex-platform-framework-client-layout-entity-attachments-page.component-Cx-n7ZuA.mjs} +2 -2
- package/fesm2022/{acorex-platform-framework-client-layout-entity-attachments-page.component-Ds63Rt2n.mjs.map → acorex-platform-framework-client-layout-entity-attachments-page.component-Cx-n7ZuA.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-framework-client-layout-entity-bulk-entity.command-C0pohwdo.mjs → acorex-platform-framework-client-layout-entity-bulk-entity.command-BONV249y.mjs} +2 -2
- package/fesm2022/{acorex-platform-framework-client-layout-entity-bulk-entity.command-C0pohwdo.mjs.map → acorex-platform-framework-client-layout-entity-bulk-entity.command-BONV249y.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-framework-client-layout-entity-gallery-page.component-o2HuZrDN.mjs → acorex-platform-framework-client-layout-entity-gallery-page.component-uTG2nFly.mjs} +2 -2
- package/fesm2022/{acorex-platform-framework-client-layout-entity-gallery-page.component-o2HuZrDN.mjs.map → acorex-platform-framework-client-layout-entity-gallery-page.component-uTG2nFly.mjs.map} +1 -1
- package/fesm2022/acorex-platform-framework-client-layout-entity.mjs +1 -1
- package/fesm2022/acorex-platform-framework-client-layout-views.mjs +3 -3
- package/fesm2022/acorex-platform-framework-client-layout-views.mjs.map +1 -1
- package/fesm2022/acorex-platform-framework-client-layout-widget-core.mjs +3854 -3278
- package/fesm2022/acorex-platform-framework-client-layout-widget-core.mjs.map +1 -1
- package/fesm2022/acorex-platform-framework-client-layout-widgets-acorex-platform-framework-client-layout-widgets-CDpzvn6z.mjs +33191 -0
- package/fesm2022/acorex-platform-framework-client-layout-widgets-acorex-platform-framework-client-layout-widgets-CDpzvn6z.mjs.map +1 -0
- package/fesm2022/{acorex-platform-framework-client-layout-widgets-button-widget-designer.component-BDOdcoyN.mjs → acorex-platform-framework-client-layout-widgets-button-widget-designer.component-BkrPu1wO.mjs} +8 -5
- package/fesm2022/acorex-platform-framework-client-layout-widgets-button-widget-designer.component-BkrPu1wO.mjs.map +1 -0
- package/fesm2022/acorex-platform-framework-client-layout-widgets-code-editor-value.util-Cb7R1qLO.mjs +45 -0
- package/fesm2022/acorex-platform-framework-client-layout-widgets-code-editor-value.util-Cb7R1qLO.mjs.map +1 -0
- package/fesm2022/acorex-platform-framework-client-layout-widgets-code-editor-widget-column.component-BL621E1r.mjs +68 -0
- package/fesm2022/acorex-platform-framework-client-layout-widgets-code-editor-widget-column.component-BL621E1r.mjs.map +1 -0
- package/fesm2022/acorex-platform-framework-client-layout-widgets-code-editor-widget-edit.component-CVsPKhNl.mjs +88 -0
- package/fesm2022/acorex-platform-framework-client-layout-widgets-code-editor-widget-edit.component-CVsPKhNl.mjs.map +1 -0
- package/fesm2022/acorex-platform-framework-client-layout-widgets-code-editor-widget-view.component-BEq4O4al.mjs +71 -0
- package/fesm2022/acorex-platform-framework-client-layout-widgets-code-editor-widget-view.component-BEq4O4al.mjs.map +1 -0
- package/fesm2022/acorex-platform-framework-client-layout-widgets-condition-builder-edit-popup.component-WpiEHusZ.mjs +81 -0
- package/fesm2022/acorex-platform-framework-client-layout-widgets-condition-builder-edit-popup.component-WpiEHusZ.mjs.map +1 -0
- package/fesm2022/{acorex-platform-framework-client-layout-widgets-page-widget-designer.component-WzIiwnGC.mjs → acorex-platform-framework-client-layout-widgets-page-widget-designer.component-Cadl6guA.mjs} +41 -23
- package/fesm2022/acorex-platform-framework-client-layout-widgets-page-widget-designer.component-Cadl6guA.mjs.map +1 -0
- package/fesm2022/{acorex-platform-framework-client-layout-widgets-repeater-widget-column.component-4mX8aYzA.mjs → acorex-platform-framework-client-layout-widgets-repeater-widget-column.component-Cw3NhWL8.mjs} +3 -3
- package/fesm2022/{acorex-platform-framework-client-layout-widgets-repeater-widget-column.component-4mX8aYzA.mjs.map → acorex-platform-framework-client-layout-widgets-repeater-widget-column.component-Cw3NhWL8.mjs.map} +1 -1
- package/fesm2022/acorex-platform-framework-client-layout-widgets-scheduler-picker-widget-column.component-Clb27Loe.mjs +71 -0
- package/fesm2022/acorex-platform-framework-client-layout-widgets-scheduler-picker-widget-column.component-Clb27Loe.mjs.map +1 -0
- package/fesm2022/acorex-platform-framework-client-layout-widgets-scheduler-picker-widget-edit.component-l7q8A-D3.mjs +111 -0
- package/fesm2022/acorex-platform-framework-client-layout-widgets-scheduler-picker-widget-edit.component-l7q8A-D3.mjs.map +1 -0
- package/fesm2022/acorex-platform-framework-client-layout-widgets-scheduler-picker-widget-view.component-Cc1AH09b.mjs +77 -0
- package/fesm2022/acorex-platform-framework-client-layout-widgets-scheduler-picker-widget-view.component-Cc1AH09b.mjs.map +1 -0
- package/fesm2022/{acorex-platform-framework-client-layout-widgets-tabular-data-edit-popup.component-TWxthl21.mjs → acorex-platform-framework-client-layout-widgets-tabular-data-edit-popup.component-BCLxS3rS.mjs} +3 -3
- package/fesm2022/{acorex-platform-framework-client-layout-widgets-tabular-data-edit-popup.component-TWxthl21.mjs.map → acorex-platform-framework-client-layout-widgets-tabular-data-edit-popup.component-BCLxS3rS.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-framework-client-layout-widgets-text-block-widget-designer.component-D6HFPmGC.mjs → acorex-platform-framework-client-layout-widgets-text-block-widget-designer.component-BEa-vD6O.mjs} +21 -8
- package/fesm2022/acorex-platform-framework-client-layout-widgets-text-block-widget-designer.component-BEa-vD6O.mjs.map +1 -0
- package/fesm2022/acorex-platform-framework-client-layout-widgets-trigger-expression-editor-popup.component-C2PGoC7r.mjs +124 -0
- package/fesm2022/acorex-platform-framework-client-layout-widgets-trigger-expression-editor-popup.component-C2PGoC7r.mjs.map +1 -0
- package/fesm2022/acorex-platform-framework-client-layout-widgets-triggers-widget-editor.component-DDDoPoQa.mjs +345 -0
- package/fesm2022/acorex-platform-framework-client-layout-widgets-triggers-widget-editor.component-DDDoPoQa.mjs.map +1 -0
- package/fesm2022/acorex-platform-framework-client-layout-widgets.mjs +1 -31985
- package/fesm2022/acorex-platform-framework-client-layout-widgets.mjs.map +1 -1
- package/fesm2022/acorex-platform-framework-client-realtime.mjs +2 -1
- package/fesm2022/acorex-platform-framework-client-realtime.mjs.map +1 -1
- package/fesm2022/acorex-platform-framework-client-runtime.mjs +2 -2
- package/fesm2022/acorex-platform-framework-client-runtime.mjs.map +1 -1
- package/fesm2022/{acorex-platform-framework-client-themes-default-entity-master-single-view.component-DBUwSzvg.mjs → acorex-platform-framework-client-themes-default-entity-master-single-view.component-CHLsBvBE.mjs} +2 -2
- package/fesm2022/{acorex-platform-framework-client-themes-default-entity-master-single-view.component-DBUwSzvg.mjs.map → acorex-platform-framework-client-themes-default-entity-master-single-view.component-CHLsBvBE.mjs.map} +1 -1
- package/fesm2022/acorex-platform-framework-client-themes-default.mjs +373 -70
- package/fesm2022/acorex-platform-framework-client-themes-default.mjs.map +1 -1
- package/fesm2022/{acorex-platform-framework-client-themes-shared-settings.provider-CpsAIsxj.mjs → acorex-platform-framework-client-themes-shared-settings.provider-DIkjSTU7.mjs} +102 -1
- package/fesm2022/acorex-platform-framework-client-themes-shared-settings.provider-DIkjSTU7.mjs.map +1 -0
- package/fesm2022/acorex-platform-framework-client-themes-shared.mjs +174 -22
- package/fesm2022/acorex-platform-framework-client-themes-shared.mjs.map +1 -1
- package/package.json +2 -2
- package/realtime/README.md +1 -1
- package/types/acorex-platform-framework-client-auth.d.ts +18 -1
- package/types/acorex-platform-framework-client-common.d.ts +204 -8
- package/types/acorex-platform-framework-client-core.d.ts +149 -114
- package/types/acorex-platform-framework-client-layout-builder.d.ts +29 -0
- package/types/acorex-platform-framework-client-layout-components.d.ts +699 -146
- package/types/acorex-platform-framework-client-layout-designer.d.ts +192 -14
- package/types/acorex-platform-framework-client-layout-entity.d.ts +155 -91
- package/types/acorex-platform-framework-client-layout-views.d.ts +16 -0
- package/types/acorex-platform-framework-client-layout-widget-core.d.ts +140 -37
- package/types/acorex-platform-framework-client-layout-widgets.d.ts +235 -117
- package/types/acorex-platform-framework-client-realtime.d.ts +16 -3
- package/types/acorex-platform-framework-client-themes-default.d.ts +62 -11
- package/types/acorex-platform-framework-client-themes-shared.d.ts +25 -2
- package/fesm2022/acorex-platform-framework-client-common-common-settings.provider-CzBr0cRi.mjs.map +0 -1
- package/fesm2022/acorex-platform-framework-client-layout-components-binding-expression-editor-popup.component-Bp2cNCPO.mjs.map +0 -1
- package/fesm2022/acorex-platform-framework-client-layout-components-file-provider-picker.popup.component-BtLEUWAA.mjs +0 -77
- package/fesm2022/acorex-platform-framework-client-layout-components-file-provider-picker.popup.component-BtLEUWAA.mjs.map +0 -1
- package/fesm2022/acorex-platform-framework-client-layout-entity-acorex-platform-framework-client-layout-entity-CvaOWbJx.mjs.map +0 -1
- package/fesm2022/acorex-platform-framework-client-layout-widgets-button-widget-designer.component-BDOdcoyN.mjs.map +0 -1
- package/fesm2022/acorex-platform-framework-client-layout-widgets-page-widget-designer.component-WzIiwnGC.mjs.map +0 -1
- package/fesm2022/acorex-platform-framework-client-layout-widgets-text-block-widget-designer.component-D6HFPmGC.mjs.map +0 -1
- package/fesm2022/acorex-platform-framework-client-themes-shared-settings.provider-CpsAIsxj.mjs.map +0 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
2
|
import { Signal, InjectionToken, InputSignal, TemplateRef, ElementRef, OnDestroy, OnInit, OnChanges, EventEmitter, EnvironmentProviders, EnvironmentInjector, ApplicationRef, QueryList, Type, WritableSignal } from '@angular/core';
|
|
3
3
|
import * as _acorex_platform_framework_shared_core from '@acorex-platform/framework-shared/core';
|
|
4
|
-
import { AXPSystemActionType, AXPCategoryEntity, AXPColumnQuery, AXPWidgetNode, AXPContextData, AXPFilterClause,
|
|
5
|
-
import { AXPActivityLog,
|
|
4
|
+
import { AXPSystemActionType, AXPCategoryEntity, AXPColumnQuery, AXPWidgetNode, AXPContextData, AXPFilterDefinition, AXPFilterClause, AXPContextChangeEvent, AXPFileListItem, AXPPlatformScope, AXPFilterQuery, AXPQueryFilterMode, AXPQueryFilterGroupLogic, AXPMultiLanguageString, AXPActionMenuItem, AXPExecuteCommand, containsHtmlMarkup, AXPSortDefinition, AXPSortQuery, AXPMetaData, AXPViewQuery } from '@acorex-platform/framework-shared/core';
|
|
5
|
+
import { AXPActivityLog, AXPHookProvider, AXPDeviceService } from '@acorex-platform/framework-client/core';
|
|
6
6
|
export { AXPLogoComponent } from '@acorex-platform/framework-client/core';
|
|
7
7
|
import { AXHtmlEvent, AXValueChangedEvent, AXClickEvent, AXDataSource, AXDataSourceFilterOption, AXDataSourceOperator, AXFilterLogic, AXComponentClosedPromise, AXEvent, AXRange } from '@acorex/cdk/common';
|
|
8
8
|
import * as _ngrx_signals from '@ngrx/signals';
|
|
@@ -15,6 +15,7 @@ import { CdkDragDrop } from '@angular/cdk/drag-drop';
|
|
|
15
15
|
import { AXDataTableColumnComponent, AXDataTableComponent, AXRowCommandItem, AXDataTableRowDbClick, AXDataTableRowClick, AXRowCommandItemClickEvent } from '@acorex/components/data-table';
|
|
16
16
|
import { AXBasePageComponent } from '@acorex/components/page';
|
|
17
17
|
import { AXDropListDroppedEvent } from '@acorex/cdk/drag-drop';
|
|
18
|
+
import { AXPEntityListUserStylingRule, AXPEntityMasterStylingLockedRule, AXPEntityListStylingTargetOption, AXPEntitySortPreset } from '@acorex-platform/framework-shared/entity';
|
|
18
19
|
import { AXMultiLanguageString, AXTranslationService } from '@acorex/core/translation';
|
|
19
20
|
import { AXToastService } from '@acorex/components/toast';
|
|
20
21
|
import { AXMenuItem, AXContextMenuOpeningEvent, AXContextMenuItemsClickEvent } from '@acorex/components/menu';
|
|
@@ -23,9 +24,10 @@ import { AXFileViewerGalleryConfig, AXFileViewerItem, AXFileViewerHeaderActionCl
|
|
|
23
24
|
export { AXFileViewerGalleryConfig, AXFileViewerGalleryRef, AXFileViewerHeaderActionClickEvent, AXFileViewerItem, AXFileViewerViewPayload, provideFileViewer, resolveFileViewerFileType } from '@acorex/components/file-viewer';
|
|
24
25
|
import { AXTagBoxComponent } from '@acorex/components/tag-box';
|
|
25
26
|
import { AXCalendarService } from '@acorex/core/date-time';
|
|
26
|
-
import
|
|
27
|
+
import * as _acorex_platform_framework_client_layout_widget_core from '@acorex-platform/framework-client/layout/widget-core';
|
|
28
|
+
import { AXPWidgetContainerComponent, AXPWidgetRendererDirective, AXPLocalDataSourceColumn } from '@acorex-platform/framework-client/layout/widget-core';
|
|
27
29
|
import { AXFormComponent } from '@acorex/components/form';
|
|
28
|
-
import { AXPWidgetProperty, AXPWidgetConfig } from '@acorex-platform/framework-shared/widget-core';
|
|
30
|
+
import { AXPWidgetProperty, AXPLayoutProfileContext, AXPWidgetConfig } from '@acorex-platform/framework-shared/widget-core';
|
|
29
31
|
import { AXLookupComponent } from '@acorex/components/lookup';
|
|
30
32
|
import { AXTabStripChangedEvent, AXTabsComponent } from '@acorex/components/tabs';
|
|
31
33
|
import { AXValidationSummary } from '@acorex/core/validation';
|
|
@@ -121,6 +123,7 @@ declare class AXPActivityLogComponent {
|
|
|
121
123
|
* Generic avatar renderer with image and initials fallback.
|
|
122
124
|
*/
|
|
123
125
|
declare class AXPAvatarComponent {
|
|
126
|
+
#private;
|
|
124
127
|
/** Avatar size in pixels. */
|
|
125
128
|
readonly size: _angular_core.InputSignal<number>;
|
|
126
129
|
/** Optional image source for the avatar. */
|
|
@@ -133,7 +136,11 @@ declare class AXPAvatarComponent {
|
|
|
133
136
|
readonly fallbackText: _angular_core.InputSignal<string | undefined>;
|
|
134
137
|
/** Forces placeholder mode and '?' fallback. */
|
|
135
138
|
readonly placeholder: _angular_core.InputSignal<boolean>;
|
|
139
|
+
/** External busy state (e.g. while a new avatar file id is being resolved to a display URL). */
|
|
140
|
+
readonly loading: _angular_core.InputSignal<boolean>;
|
|
141
|
+
private readonly imageLoading;
|
|
136
142
|
protected readonly imageFailed: _angular_core.WritableSignal<boolean>;
|
|
143
|
+
protected readonly showLoadingOverlay: _angular_core.Signal<boolean>;
|
|
137
144
|
protected readonly normalizedName: _angular_core.Signal<string>;
|
|
138
145
|
protected readonly resolvedSrc: _angular_core.Signal<string>;
|
|
139
146
|
protected readonly hasAvatar: _angular_core.Signal<boolean>;
|
|
@@ -146,7 +153,7 @@ declare class AXPAvatarComponent {
|
|
|
146
153
|
private hashString;
|
|
147
154
|
private pickColor;
|
|
148
155
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPAvatarComponent, never>;
|
|
149
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPAvatarComponent, "axp-avatar", never, { "size": { "alias": "size"; "required": false; "isSignal": true; }; "src": { "alias": "src"; "required": false; "isSignal": true; }; "fullName": { "alias": "fullName"; "required": false; "isSignal": true; }; "showTitle": { "alias": "showTitle"; "required": false; "isSignal": true; }; "fallbackText": { "alias": "fallbackText"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
156
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPAvatarComponent, "axp-avatar", never, { "size": { "alias": "size"; "required": false; "isSignal": true; }; "src": { "alias": "src"; "required": false; "isSignal": true; }; "fullName": { "alias": "fullName"; "required": false; "isSignal": true; }; "showTitle": { "alias": "showTitle"; "required": false; "isSignal": true; }; "fallbackText": { "alias": "fallbackText"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
150
157
|
}
|
|
151
158
|
|
|
152
159
|
declare class AXPTaskBadgeService {
|
|
@@ -192,6 +199,7 @@ declare class AXPTaskBadgeDirective {
|
|
|
192
199
|
sideMenuWidth: _angular_core.Signal<number>;
|
|
193
200
|
sideMenuCompactWidth: _angular_core.Signal<number>;
|
|
194
201
|
menuVerticalMode: _angular_core.Signal<_acorex_platform_framework_client_themes_shared.AXPMenuVerticalMode>;
|
|
202
|
+
menuToggleCyclesStyle: _angular_core.Signal<boolean>;
|
|
195
203
|
menuOrientation: _angular_core.Signal<_acorex_platform_framework_client_themes_shared.AXPMenuOrientation>;
|
|
196
204
|
menuAppearance: _angular_core.Signal<_acorex_platform_framework_client_themes_shared.AXPMenuAppearance>;
|
|
197
205
|
headerAppearance: _angular_core.Signal<_acorex_platform_framework_client_themes_shared.AXPHeaderAppearance>;
|
|
@@ -205,6 +213,7 @@ declare class AXPTaskBadgeDirective {
|
|
|
205
213
|
overlayTaskCount: _angular_core.Signal<number>;
|
|
206
214
|
isNavigationLoading: _angular_core.Signal<boolean>;
|
|
207
215
|
isMenuHorizontal: _angular_core.Signal<boolean>;
|
|
216
|
+
menuToggleCyclesStyleEnabled: _angular_core.Signal<boolean>;
|
|
208
217
|
effectiveMenuVerticalMode: _angular_core.Signal<_acorex_platform_framework_client_themes_shared.AXPMenuVerticalMode>;
|
|
209
218
|
sideMenuDrawerWidth: _angular_core.Signal<number>;
|
|
210
219
|
menuDarkEnabled: _angular_core.Signal<boolean>;
|
|
@@ -219,6 +228,7 @@ declare class AXPTaskBadgeDirective {
|
|
|
219
228
|
setSideMenuWidth: (width: number) => void;
|
|
220
229
|
setSideMenuCompactWidth: (width: number) => void;
|
|
221
230
|
setSideMenuDrawerWidth: (width: number) => void;
|
|
231
|
+
setMenuVerticalMode: (mode: _acorex_platform_framework_client_themes_shared.AXPMenuVerticalMode) => void;
|
|
222
232
|
toggleSideMenu: () => void;
|
|
223
233
|
setNavigationLoading: (value: boolean, delay?: number) => void;
|
|
224
234
|
setOverlayLoading: (value: boolean, delay?: number) => void;
|
|
@@ -241,6 +251,7 @@ declare class AXPTaskBadgeDirective {
|
|
|
241
251
|
sideMenuWidth: number;
|
|
242
252
|
sideMenuCompactWidth: number;
|
|
243
253
|
menuVerticalMode: _acorex_platform_framework_client_themes_shared.AXPMenuVerticalMode;
|
|
254
|
+
menuToggleCyclesStyle: boolean;
|
|
244
255
|
menuOrientation: _acorex_platform_framework_client_themes_shared.AXPMenuOrientation;
|
|
245
256
|
menuAppearance: _acorex_platform_framework_client_themes_shared.AXPMenuAppearance;
|
|
246
257
|
headerAppearance: _acorex_platform_framework_client_themes_shared.AXPHeaderAppearance;
|
|
@@ -888,6 +899,81 @@ declare class AXPDragDropListComponent {
|
|
|
888
899
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPDragDropListComponent, "axp-drag-drop-list", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "listId": { "alias": "listId"; "required": false; "isSignal": true; }; "dropListGroup": { "alias": "dropListGroup"; "required": false; "isSignal": true; }; "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "emptyMessage": { "alias": "emptyMessage"; "required": false; "isSignal": true; }; "disable": { "alias": "disable"; "required": false; "isSignal": true; }; }, { "items": "itemsChange"; "itemClick": "itemClick"; "dropListDropped": "dropListDropped"; }, never, never, true, never>;
|
|
889
900
|
}
|
|
890
901
|
|
|
902
|
+
interface AXPEntityListStylingDialogInput {
|
|
903
|
+
rules: readonly AXPEntityListUserStylingRule[];
|
|
904
|
+
lockedRules: readonly AXPEntityMasterStylingLockedRule[];
|
|
905
|
+
filterDefinitions: readonly AXPFilterDefinition[];
|
|
906
|
+
targets: readonly AXPEntityListStylingTargetOption[];
|
|
907
|
+
}
|
|
908
|
+
declare class AXPEntityListStylingDialogService {
|
|
909
|
+
private readonly popupService;
|
|
910
|
+
private readonly translationService;
|
|
911
|
+
open(input: AXPEntityListStylingDialogInput): Promise<AXPEntityListUserStylingRule[] | null>;
|
|
912
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityListStylingDialogService, never>;
|
|
913
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPEntityListStylingDialogService>;
|
|
914
|
+
}
|
|
915
|
+
|
|
916
|
+
type AXPEntityListStylingRulesKind = 'row' | 'field';
|
|
917
|
+
interface AXPEntityListStylingRulesLayoutOptions {
|
|
918
|
+
kind: AXPEntityListStylingRulesKind;
|
|
919
|
+
targets: readonly AXPEntityListStylingTargetOption[];
|
|
920
|
+
filterDefinitions: readonly AXPFilterDefinition[];
|
|
921
|
+
showIcon?: boolean;
|
|
922
|
+
showClassText?: boolean;
|
|
923
|
+
}
|
|
924
|
+
declare function buildEntityListStylingRulesLayout(options: AXPEntityListStylingRulesLayoutOptions): AXPWidgetNode;
|
|
925
|
+
|
|
926
|
+
interface AXPEntityListStylingEditorRow {
|
|
927
|
+
id: string;
|
|
928
|
+
target: string;
|
|
929
|
+
className: string;
|
|
930
|
+
icon?: string;
|
|
931
|
+
condition: AXPFilterClause;
|
|
932
|
+
}
|
|
933
|
+
interface AXPEntityListStylingRowEditorContext {
|
|
934
|
+
rowRules: AXPEntityListStylingEditorRow[];
|
|
935
|
+
}
|
|
936
|
+
interface AXPEntityListStylingFieldEditorContext {
|
|
937
|
+
fieldRules: AXPEntityListStylingEditorRow[];
|
|
938
|
+
}
|
|
939
|
+
declare class AXPEntityListStylingPopupComponent extends AXBasePageComponent {
|
|
940
|
+
private readonly translation;
|
|
941
|
+
private readonly rowLayoutRenderer;
|
|
942
|
+
private readonly fieldLayoutRenderer;
|
|
943
|
+
protected readonly I18N: {
|
|
944
|
+
readonly cancel: "@general:actions.cancel.title";
|
|
945
|
+
readonly save: "@general:actions.save.title";
|
|
946
|
+
readonly builtInHint: "@general:terms.interface.styling.built-in-hint";
|
|
947
|
+
readonly rowRules: "@general:terms.interface.styling.row-rules";
|
|
948
|
+
readonly fieldRules: "@general:terms.interface.styling.field-rules";
|
|
949
|
+
readonly row: "@general:terms.interface.styling.row";
|
|
950
|
+
readonly always: "@general:terms.interface.styling.always";
|
|
951
|
+
};
|
|
952
|
+
protected readonly recordTarget = "record";
|
|
953
|
+
/**
|
|
954
|
+
* Assigned by AXPopupService from `data` (`instance[key] = value`).
|
|
955
|
+
* These must stay plain fields. `input()` is overwritten and then `lockedRules()` throws.
|
|
956
|
+
*/
|
|
957
|
+
rules: AXPEntityListUserStylingRule[];
|
|
958
|
+
lockedRules: AXPEntityMasterStylingLockedRule[];
|
|
959
|
+
filterDefinitions: AXPFilterDefinition[];
|
|
960
|
+
targets: AXPEntityListStylingTargetOption[];
|
|
961
|
+
protected readonly rowRulesLayout: _angular_core.WritableSignal<_acorex_platform_framework_shared_core.AXPWidgetNode | null>;
|
|
962
|
+
protected readonly fieldRulesLayout: _angular_core.WritableSignal<_acorex_platform_framework_shared_core.AXPWidgetNode | null>;
|
|
963
|
+
protected readonly rowEditorContext: _angular_core.ModelSignal<AXPEntityListStylingRowEditorContext>;
|
|
964
|
+
protected readonly fieldEditorContext: _angular_core.ModelSignal<AXPEntityListStylingFieldEditorContext>;
|
|
965
|
+
protected get lockedRowRules(): AXPEntityMasterStylingLockedRule[];
|
|
966
|
+
protected get lockedFieldRules(): AXPEntityMasterStylingLockedRule[];
|
|
967
|
+
constructor();
|
|
968
|
+
protected targetLabel(target: string): string;
|
|
969
|
+
protected handleCancel(): void;
|
|
970
|
+
protected handleSave(): void;
|
|
971
|
+
private bootstrapEditor;
|
|
972
|
+
private readEditorRows;
|
|
973
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityListStylingPopupComponent, never>;
|
|
974
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPEntityListStylingPopupComponent, "axp-entity-list-styling-popup", never, { "rowEditorContext": { "alias": "rowEditorContext"; "required": false; "isSignal": true; }; "fieldEditorContext": { "alias": "fieldEditorContext"; "required": false; "isSignal": true; }; }, { "rowEditorContext": "rowEditorContextChange"; "fieldEditorContext": "fieldEditorContextChange"; }, never, never, true, never>;
|
|
975
|
+
}
|
|
976
|
+
|
|
891
977
|
/**
|
|
892
978
|
* Shared types for expression builders (expression-builder, sort-builder, group-builder, etc.)
|
|
893
979
|
*/
|
|
@@ -996,6 +1082,8 @@ declare class AXPConditionBuilderConditionComponent implements OnInit {
|
|
|
996
1082
|
filterDefinitions: _angular_core.InputSignal<AXPFilterDefinition[]>;
|
|
997
1083
|
onResolveWidget: _angular_core.InputSignal<((fieldId: string) => string) | undefined>;
|
|
998
1084
|
showFillByUser: _angular_core.InputSignal<boolean>;
|
|
1085
|
+
compact: _angular_core.InputSignal<boolean>;
|
|
1086
|
+
operationsLook: _angular_core.InputSignal<"select" | "menu">;
|
|
999
1087
|
itemChange: _angular_core.OutputEmitterRef<ConditionBuilderSelectedField>;
|
|
1000
1088
|
removeItem: _angular_core.OutputEmitterRef<string>;
|
|
1001
1089
|
protected selectedField: _angular_core.WritableSignal<ConditionBuilderSelectedField | null>;
|
|
@@ -1008,25 +1096,20 @@ declare class AXPConditionBuilderConditionComponent implements OnInit {
|
|
|
1008
1096
|
}[]>;
|
|
1009
1097
|
protected readonly currentFilterDefinition: _angular_core.Signal<AXPFilterDefinition | undefined>;
|
|
1010
1098
|
protected readonly selectedFieldValue: _angular_core.Signal<string>;
|
|
1099
|
+
protected readonly filterHostKey: _angular_core.Signal<string>;
|
|
1100
|
+
protected readonly filterHostKeys: _angular_core.Signal<string[]>;
|
|
1011
1101
|
ngOnInit(): void;
|
|
1012
1102
|
constructor();
|
|
1013
1103
|
private updateFilterWidgetNode;
|
|
1014
1104
|
private updateContext;
|
|
1015
|
-
onFieldChange(event: AXValueChangedEvent
|
|
1016
|
-
|
|
1017
|
-
data?: {
|
|
1018
|
-
filter?: {
|
|
1019
|
-
value?: unknown;
|
|
1020
|
-
operation?: {
|
|
1021
|
-
type?: string;
|
|
1022
|
-
};
|
|
1023
|
-
};
|
|
1024
|
-
};
|
|
1105
|
+
onFieldChange(event: AXValueChangedEvent & {
|
|
1106
|
+
isUserInteraction?: boolean;
|
|
1025
1107
|
}): void;
|
|
1108
|
+
onContextChange(event: AXPContextChangeEvent): void;
|
|
1026
1109
|
onFillByUserChange(checked: boolean): void;
|
|
1027
1110
|
onRemoveClick(): void;
|
|
1028
1111
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPConditionBuilderConditionComponent, never>;
|
|
1029
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPConditionBuilderConditionComponent, "axp-condition-builder-condition", never, { "item": { "alias": "item"; "required": true; "isSignal": true; }; "filterDefinitions": { "alias": "filterDefinitions"; "required": false; "isSignal": true; }; "onResolveWidget": { "alias": "onResolveWidget"; "required": false; "isSignal": true; }; "showFillByUser": { "alias": "showFillByUser"; "required": false; "isSignal": true; }; }, { "itemChange": "itemChange"; "removeItem": "removeItem"; }, never, never, true, never>;
|
|
1112
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPConditionBuilderConditionComponent, "axp-condition-builder-condition", never, { "item": { "alias": "item"; "required": true; "isSignal": true; }; "filterDefinitions": { "alias": "filterDefinitions"; "required": false; "isSignal": true; }; "onResolveWidget": { "alias": "onResolveWidget"; "required": false; "isSignal": true; }; "showFillByUser": { "alias": "showFillByUser"; "required": false; "isSignal": true; }; "compact": { "alias": "compact"; "required": false; "isSignal": true; }; "operationsLook": { "alias": "operationsLook"; "required": false; "isSignal": true; }; }, { "itemChange": "itemChange"; "removeItem": "removeItem"; }, never, never, true, never>;
|
|
1030
1113
|
}
|
|
1031
1114
|
|
|
1032
1115
|
/**
|
|
@@ -1046,6 +1129,7 @@ declare class AXPConditionBuilderComponent {
|
|
|
1046
1129
|
filterDefinitions: _angular_core.InputSignal<AXPFilterDefinition[]>;
|
|
1047
1130
|
/** When true, show "Fill by user" checkbox on each condition (e.g. for query parameters) */
|
|
1048
1131
|
showFillByUser: _angular_core.InputSignal<boolean>;
|
|
1132
|
+
operationsLook: _angular_core.InputSignal<"select" | "menu">;
|
|
1049
1133
|
valueChange: _angular_core.OutputEmitterRef<AXPFilterClause>;
|
|
1050
1134
|
protected queryData: _angular_core.WritableSignal<AXPFilterClause>;
|
|
1051
1135
|
protected readonly logicalOperatorsItems: {
|
|
@@ -1055,6 +1139,7 @@ declare class AXPConditionBuilderComponent {
|
|
|
1055
1139
|
protected getLogicDisplayText(logic: AXFilterLogic | undefined): string;
|
|
1056
1140
|
private connectorLayoutRafId;
|
|
1057
1141
|
private connectorResizeObserver;
|
|
1142
|
+
private lastEmittedValue;
|
|
1058
1143
|
private initConnectorAutoLayout;
|
|
1059
1144
|
private scheduleConnectorLayoutUpdate;
|
|
1060
1145
|
private updateConnectorCssVars;
|
|
@@ -1074,7 +1159,7 @@ declare class AXPConditionBuilderComponent {
|
|
|
1074
1159
|
reorderGroupItemsEvent(groupId: string, event: AXDropListDroppedEvent): void;
|
|
1075
1160
|
reorderGroupItems(groupId: string, previousIndex: number, currentIndex: number): void;
|
|
1076
1161
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPConditionBuilderComponent, never>;
|
|
1077
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPConditionBuilderComponent, "axp-condition-builder", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "filterDefinitions": { "alias": "filterDefinitions"; "required": false; "isSignal": true; }; "showFillByUser": { "alias": "showFillByUser"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
|
|
1162
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPConditionBuilderComponent, "axp-condition-builder", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "filterDefinitions": { "alias": "filterDefinitions"; "required": false; "isSignal": true; }; "showFillByUser": { "alias": "showFillByUser"; "required": false; "isSignal": true; }; "operationsLook": { "alias": "operationsLook"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
|
|
1078
1163
|
}
|
|
1079
1164
|
|
|
1080
1165
|
interface AXPFileChooserContext {
|
|
@@ -1124,9 +1209,9 @@ interface AXPFileChooserAfterChosenPayload {
|
|
|
1124
1209
|
items: AXPFileListItem[];
|
|
1125
1210
|
}
|
|
1126
1211
|
|
|
1127
|
-
declare const AXPFileChooserCompressImagesHook:
|
|
1128
|
-
declare const AXPFileChooserZipFilesHook:
|
|
1129
|
-
declare const AXP_FILE_CHOOSER_HOOK_PROVIDERS: readonly [
|
|
1212
|
+
declare const AXPFileChooserCompressImagesHook: AXPHookProvider<AXPFileChooserAfterChosenPayload, AXPFileChooserAfterChosenPayload>;
|
|
1213
|
+
declare const AXPFileChooserZipFilesHook: AXPHookProvider<AXPFileChooserAfterChosenPayload, AXPFileChooserAfterChosenPayload>;
|
|
1214
|
+
declare const AXP_FILE_CHOOSER_HOOK_PROVIDERS: readonly [AXPHookProvider<AXPFileChooserAfterChosenPayload, AXPFileChooserAfterChosenPayload>, AXPHookProvider<AXPFileChooserAfterChosenPayload, AXPFileChooserAfterChosenPayload>];
|
|
1130
1215
|
declare function provideFileChooserHooks(): EnvironmentProviders;
|
|
1131
1216
|
|
|
1132
1217
|
/**
|
|
@@ -1151,16 +1236,68 @@ declare function compressImageFile(file: File, quality?: number, maxDimension?:
|
|
|
1151
1236
|
*/
|
|
1152
1237
|
declare function createZipArchive(files: File[], archiveName?: string): Promise<File>;
|
|
1153
1238
|
|
|
1239
|
+
interface AXPFileProviderMenuItem {
|
|
1240
|
+
key: string;
|
|
1241
|
+
title: AXMultiLanguageString;
|
|
1242
|
+
icon?: string;
|
|
1243
|
+
disabled?: boolean;
|
|
1244
|
+
/** i18n key shown as a badge when {@link disabled} is true. */
|
|
1245
|
+
disabledBadgeKey?: string;
|
|
1246
|
+
}
|
|
1247
|
+
|
|
1248
|
+
interface AXPFileProviderPromptOptions {
|
|
1249
|
+
titleKey?: string;
|
|
1250
|
+
/** Additional choices (e.g. Gravatar) shown after registered providers. */
|
|
1251
|
+
extraItems?: AXPFileProviderMenuItem[];
|
|
1252
|
+
/** Open the picker even when only one registered provider exists. */
|
|
1253
|
+
forcePicker?: boolean;
|
|
1254
|
+
}
|
|
1255
|
+
|
|
1256
|
+
/** Accept string shared by profile photo and image editor pick flows. */
|
|
1257
|
+
declare const AXP_IMAGE_FILE_CHOOSER_ACCEPT = "image/png, image/jpeg, image/webp";
|
|
1258
|
+
/** Synthetic provider key for profile-photo Gravatar import (not a registered chooser provider). */
|
|
1259
|
+
declare const AXP_PROFILE_PHOTO_GRAVATAR_SOURCE_KEY = "profile-photo:gravatar";
|
|
1260
|
+
/** Converts a chooser item with a blob source into a {@link File}. */
|
|
1261
|
+
declare function fileListItemToImageFile(item: AXPFileListItem): File | null;
|
|
1262
|
+
/**
|
|
1263
|
+
* Prompts for a file provider (when several exist), then returns the first chosen image file.
|
|
1264
|
+
* Matches the file-uploader widget provider flow via {@link AXPFileChooserService.promptChoose}.
|
|
1265
|
+
*/
|
|
1266
|
+
declare function pickImageFileViaFileChooser(chooserService: AXPFileChooserService): Promise<File | null>;
|
|
1267
|
+
interface AXPProfilePhotoImagePickOptions {
|
|
1268
|
+
/** When set, shows an Import from Gravatar option and resolves via {@link resolveGravatarImageFile}. */
|
|
1269
|
+
gravatarEmail?: string | null;
|
|
1270
|
+
gravatarTitleKey?: string;
|
|
1271
|
+
pickSourceTitleKey?: string;
|
|
1272
|
+
/** Drive scope for "Choose From Drive". Defaults to the user's personal drive. */
|
|
1273
|
+
driveScope?: AXPPlatformScope;
|
|
1274
|
+
}
|
|
1275
|
+
interface AXPProfilePhotoImagePickResult {
|
|
1276
|
+
file: File | null;
|
|
1277
|
+
gravatarNotFound?: boolean;
|
|
1278
|
+
/** True when the file came from Gravatar (already square — skip the image editor). */
|
|
1279
|
+
fromGravatar?: boolean;
|
|
1280
|
+
}
|
|
1281
|
+
/**
|
|
1282
|
+
* Profile photo source picker: registered providers plus optional Gravatar, then returns an image file.
|
|
1283
|
+
*/
|
|
1284
|
+
declare function pickProfilePhotoImageFile(chooserService: AXPFileChooserService, options: AXPProfilePhotoImagePickOptions): Promise<AXPProfilePhotoImagePickResult>;
|
|
1285
|
+
|
|
1154
1286
|
/**
|
|
1155
1287
|
* Resolves providers and delegates file selection to them.
|
|
1156
1288
|
*/
|
|
1157
1289
|
declare class AXPFileChooserService {
|
|
1158
|
-
private readonly
|
|
1290
|
+
private readonly environmentInjector;
|
|
1159
1291
|
private readonly hooks;
|
|
1160
1292
|
private readonly settingsService;
|
|
1161
1293
|
private readonly providers;
|
|
1162
1294
|
private readonly toastService;
|
|
1163
1295
|
private readonly translateService;
|
|
1296
|
+
private readonly fileProviderPrompt;
|
|
1297
|
+
/**
|
|
1298
|
+
* Opens the file source picker popup and returns the selected provider key.
|
|
1299
|
+
*/
|
|
1300
|
+
promptFileProviderKey(providers: AXPFileProviderMenuItem[], titleOrOptions?: string | AXPFileProviderPromptOptions): Promise<string | undefined>;
|
|
1164
1301
|
getProviders(options?: Record<string, unknown>): AXPFileChooserProvider[];
|
|
1165
1302
|
choose(providerKey: string | undefined, context: AXPFileChooserContext): Promise<AXPFileListItem[] | undefined>;
|
|
1166
1303
|
/**
|
|
@@ -1171,6 +1308,10 @@ declare class AXPFileChooserService {
|
|
|
1171
1308
|
* Prompts for a provider when multiple are registered, then runs file selection.
|
|
1172
1309
|
*/
|
|
1173
1310
|
promptChoose(context: AXPFileChooserContext): Promise<AXPFileListItem[] | undefined>;
|
|
1311
|
+
/**
|
|
1312
|
+
* Profile photo pick flow (providers, optional Gravatar, then image file).
|
|
1313
|
+
*/
|
|
1314
|
+
pickProfilePhotoImage(options?: AXPProfilePhotoImagePickOptions): Promise<AXPProfilePhotoImagePickResult>;
|
|
1174
1315
|
private resolveProvider;
|
|
1175
1316
|
private applyChooserValidation;
|
|
1176
1317
|
private runAfterChosenHook;
|
|
@@ -1198,6 +1339,11 @@ interface FileAcceptFilterResult {
|
|
|
1198
1339
|
}
|
|
1199
1340
|
type FileUploaderEmptyStateDescriptionKey = '@general:widgets.file-uploader.empty-state.description' | '@general:widgets.file-uploader.empty-state.description-with-formats' | '@general:widgets.file-uploader.empty-state.description-with-max-size' | '@general:widgets.file-uploader.empty-state.description-with-limits';
|
|
1200
1341
|
declare function isUnrestrictedFileAccept(accept: string | undefined): boolean;
|
|
1342
|
+
/**
|
|
1343
|
+
* Matches a file name (and optional MIME) against an HTML `accept` string.
|
|
1344
|
+
* Used when the picker only has a name (Drive) rather than a browser {@link File}.
|
|
1345
|
+
*/
|
|
1346
|
+
declare function fileNameMatchesAccept(fileName: string, accept: string | undefined, mime?: string): boolean;
|
|
1201
1347
|
declare function fileMatchesAccept(file: File, accept: string): boolean;
|
|
1202
1348
|
declare function filterFilesByAcceptAndMaxSize(files: File[], accept: string | undefined, maxFileSize: number | undefined): FileAcceptFilterResult;
|
|
1203
1349
|
declare function formatAcceptForDisplay(accept: string | undefined, maxLength?: number): string;
|
|
@@ -1218,6 +1364,12 @@ declare function validateFileChooserItems(items: AXPFileListItem[] | undefined,
|
|
|
1218
1364
|
rejected: FileAcceptRejectedFile[];
|
|
1219
1365
|
};
|
|
1220
1366
|
|
|
1367
|
+
/** MD5 hex digest of a string (Gravatar email hash). */
|
|
1368
|
+
declare function md5Hex(input: string): string;
|
|
1369
|
+
declare function buildGravatarAvatarUrl(email: string, size?: number): string;
|
|
1370
|
+
/** Fetches the Gravatar image for an email, or null when none is registered. */
|
|
1371
|
+
declare function fetchGravatarImageFile(email: string): Promise<File | null>;
|
|
1372
|
+
|
|
1221
1373
|
/** Gallery open options with platform file list items or pre-built viewer items. */
|
|
1222
1374
|
interface AXPFileViewerGalleryConfig extends Omit<AXFileViewerGalleryConfig, 'items'> {
|
|
1223
1375
|
/** Pre-built viewer items (takes precedence over {@link files}). */
|
|
@@ -1372,9 +1524,10 @@ interface AXPFileUploaderBeforeUploadPayload {
|
|
|
1372
1524
|
* Resolves providers and delegates file upload to them.
|
|
1373
1525
|
*/
|
|
1374
1526
|
declare class AXPFileUploaderService {
|
|
1375
|
-
private readonly
|
|
1527
|
+
private readonly environmentInjector;
|
|
1376
1528
|
private readonly hooks;
|
|
1377
1529
|
private readonly providers;
|
|
1530
|
+
private readonly fileProviderPrompt;
|
|
1378
1531
|
getProviders(options?: Record<string, unknown>): AXPFileUploaderProvider[];
|
|
1379
1532
|
upload(providerKey: string | undefined, context: AXPFileUploaderContext): Promise<AXPFileListItem[] | undefined>;
|
|
1380
1533
|
/**
|
|
@@ -1409,12 +1562,6 @@ declare function filterFileProvidersByContext<T extends {
|
|
|
1409
1562
|
key: string;
|
|
1410
1563
|
}>(providers: T[], options?: Record<string, unknown>): T[];
|
|
1411
1564
|
|
|
1412
|
-
interface AXPFileProviderMenuItem {
|
|
1413
|
-
key: string;
|
|
1414
|
-
title: AXMultiLanguageString;
|
|
1415
|
-
icon?: string;
|
|
1416
|
-
}
|
|
1417
|
-
|
|
1418
1565
|
interface AXPAttachedFileProviderMenu {
|
|
1419
1566
|
open(target: HTMLElement, providers: AXPFileProviderMenuItem[], busy: boolean): void;
|
|
1420
1567
|
close(): void;
|
|
@@ -1422,6 +1569,36 @@ interface AXPAttachedFileProviderMenu {
|
|
|
1422
1569
|
}
|
|
1423
1570
|
declare function createAttachedFileProviderMenu(envInjector: EnvironmentInjector, appRef: ApplicationRef, onSelect: (providerKey: string) => void): AXPAttachedFileProviderMenu;
|
|
1424
1571
|
|
|
1572
|
+
type QueryFilterGroupLogic = AXPQueryFilterGroupLogic;
|
|
1573
|
+
interface QueryFilterEditingCondition {
|
|
1574
|
+
id: string;
|
|
1575
|
+
field: string;
|
|
1576
|
+
}
|
|
1577
|
+
interface QueryFilterChipTag extends AXPFilterDefinition {
|
|
1578
|
+
id: string;
|
|
1579
|
+
query: string;
|
|
1580
|
+
chipMode: 'expanded' | 'summary' | 'search';
|
|
1581
|
+
mixed: boolean;
|
|
1582
|
+
titleLabel: string;
|
|
1583
|
+
logicLabel: string;
|
|
1584
|
+
chipConditions: Array<{
|
|
1585
|
+
title: string;
|
|
1586
|
+
operator: string;
|
|
1587
|
+
value: string;
|
|
1588
|
+
}>;
|
|
1589
|
+
summaryText: string;
|
|
1590
|
+
readOnly: boolean;
|
|
1591
|
+
}
|
|
1592
|
+
type MobileFilterChip = {
|
|
1593
|
+
kind: 'applied';
|
|
1594
|
+
id: string;
|
|
1595
|
+
tag: QueryFilterChipTag;
|
|
1596
|
+
tagIndex: number;
|
|
1597
|
+
} | {
|
|
1598
|
+
kind: 'available';
|
|
1599
|
+
id: string;
|
|
1600
|
+
definition: AXPFilterDefinition;
|
|
1601
|
+
};
|
|
1425
1602
|
declare class AXPQueryFiltersComponent {
|
|
1426
1603
|
#private;
|
|
1427
1604
|
protected translate: AXTranslationService;
|
|
@@ -1433,47 +1610,90 @@ declare class AXPQueryFiltersComponent {
|
|
|
1433
1610
|
private readonly destroyRef;
|
|
1434
1611
|
private readonly elementRef;
|
|
1435
1612
|
private readonly queryService;
|
|
1613
|
+
protected readonly deviceService: AXPDeviceService;
|
|
1436
1614
|
protected readonly filterFocusShortcutKeys: string[];
|
|
1437
1615
|
constructor();
|
|
1438
1616
|
filtersDefinitions: _angular_core.InputSignal<AXPFilterDefinition[]>;
|
|
1439
1617
|
initialFilters: _angular_core.InputSignal<AXPFilterQuery[]>;
|
|
1618
|
+
/** `normal` keeps one chip per field. `advanced` allows mixed-field groups and root AND/OR. */
|
|
1619
|
+
mode: _angular_core.InputSignal<AXPQueryFilterMode>;
|
|
1440
1620
|
/** When true, this list supports quick search (combined with {@link AXPCommonSettings.QuickSearchEnabled}). */
|
|
1441
1621
|
quickSearch: _angular_core.InputSignal<boolean>;
|
|
1622
|
+
/** Mobile-only: sort presets rendered as chips in the same row as advance filters. */
|
|
1623
|
+
sortPresets: _angular_core.InputSignal<AXPEntitySortPreset[]>;
|
|
1624
|
+
activeSortPresetName: _angular_core.InputSignal<string | null>;
|
|
1442
1625
|
onFiltersChanged: _angular_core.OutputEmitterRef<AXPFilterQuery[]>;
|
|
1626
|
+
onSortPresetSelected: _angular_core.OutputEmitterRef<AXPEntitySortPreset>;
|
|
1627
|
+
protected isAdvanced: _angular_core.Signal<boolean>;
|
|
1628
|
+
protected isMixedEditingGroup: _angular_core.Signal<boolean>;
|
|
1629
|
+
protected advancedFieldOptions: _angular_core.Signal<AXPFilterDefinition[]>;
|
|
1443
1630
|
protected quickSearchSettingEnabled: _angular_core.WritableSignal<boolean>;
|
|
1444
1631
|
protected isQuickSearchMode: _angular_core.Signal<boolean>;
|
|
1445
1632
|
protected dateFormat: _angular_core.WritableSignal<string>;
|
|
1446
1633
|
protected tagBox: _angular_core.Signal<AXTagBoxComponent | undefined>;
|
|
1634
|
+
protected readonly mobileFilterTrigger: _angular_core.Signal<ElementRef<any> | undefined>;
|
|
1447
1635
|
protected widgetsContainer: _angular_core.Signal<AXPWidgetContainerComponent | undefined>;
|
|
1448
|
-
protected
|
|
1636
|
+
protected widgetRenderers: _angular_core.Signal<readonly AXPWidgetRendererDirective[]>;
|
|
1449
1637
|
tagBoxInput: any;
|
|
1450
1638
|
listItems: QueryList<any>;
|
|
1451
1639
|
protected selectedField: _angular_core.WritableSignal<string | null>;
|
|
1452
1640
|
protected selectedFilters: _angular_core.WritableSignal<AXPFilterDefinition[]>;
|
|
1453
1641
|
context: _angular_core.WritableSignal<any>;
|
|
1454
1642
|
protected activeFilter: _angular_core.WritableSignal<AXPFilterDefinition | null>;
|
|
1455
|
-
protected
|
|
1643
|
+
protected editingLogic: _angular_core.WritableSignal<AXPQueryFilterGroupLogic>;
|
|
1644
|
+
protected editingConditions: _angular_core.WritableSignal<QueryFilterEditingCondition[]>;
|
|
1645
|
+
protected rootLogic: _angular_core.WritableSignal<AXPQueryFilterGroupLogic>;
|
|
1646
|
+
protected activeChipId: _angular_core.Signal<string | null>;
|
|
1647
|
+
protected activeFilterTitle: _angular_core.WritableSignal<string>;
|
|
1648
|
+
protected asyncTags: _angular_core.WritableSignal<QueryFilterChipTag[]>;
|
|
1649
|
+
protected readonly mobileFilterChips: _angular_core.Signal<MobileFilterChip[]>;
|
|
1456
1650
|
protected popover: _angular_core.Signal<AXPopoverComponent | undefined>;
|
|
1457
1651
|
inputValue: _angular_core.WritableSignal<string>;
|
|
1652
|
+
protected readonly mobileSearchOpen: _angular_core.WritableSignal<boolean>;
|
|
1653
|
+
protected readonly mobileSearchText: _angular_core.WritableSignal<string>;
|
|
1654
|
+
protected readonly hasActiveInlineSearch: _angular_core.Signal<boolean>;
|
|
1655
|
+
protected readonly hasAppliedAdvanceFilter: _angular_core.Signal<boolean>;
|
|
1656
|
+
protected readonly isMobileFilterModeLocked: _angular_core.Signal<boolean>;
|
|
1657
|
+
protected readonly isMobileSearchModeLocked: _angular_core.Signal<boolean>;
|
|
1658
|
+
setMobileSearchOpen(isOpen: boolean): void;
|
|
1458
1659
|
protected readonly disabledByField: _angular_core.WritableSignal<Record<string, boolean>>;
|
|
1660
|
+
protected readonly hasMultipleFilterGroups: _angular_core.Signal<boolean>;
|
|
1661
|
+
protected readonly isChipsPanning: _angular_core.WritableSignal<boolean>;
|
|
1662
|
+
protected readonly mobileModeToggleCollapsed: _angular_core.WritableSignal<boolean>;
|
|
1663
|
+
private lastMobileChipsScrollFromStart;
|
|
1664
|
+
private chipsPanSession;
|
|
1665
|
+
private suppressChipsClick;
|
|
1666
|
+
protected readonly canApplyFilter: _angular_core.Signal<boolean>;
|
|
1459
1667
|
/** Emits when a filter context entry changes (aligned with `widget-renderer` `events.context`). */
|
|
1460
1668
|
private readonly filterContextPath$;
|
|
1461
1669
|
private filterContextPathSnapshotReady;
|
|
1462
1670
|
private previousFilterContextSnapshot;
|
|
1463
|
-
/**
|
|
1671
|
+
/** Full context snapshot while editing; restored when popover closes without Apply. */
|
|
1464
1672
|
private editingContextSnapshot;
|
|
1673
|
+
private skipNextPopoverRestore;
|
|
1674
|
+
private editingConditionsSnapshot;
|
|
1465
1675
|
/** Bumped on locale change so filter chip labels re-resolve i18n keys. */
|
|
1466
1676
|
private translationEpoch;
|
|
1467
1677
|
inlineFilters: () => AXPFilterDefinition[];
|
|
1468
1678
|
protected getDisplayValue: (filter: AXPFilterDefinition, val: any) => Promise<any>;
|
|
1469
1679
|
private resolveSelectFilterDisplayText;
|
|
1470
|
-
|
|
1680
|
+
private formatRangeDisplayValue;
|
|
1681
|
+
protected convertIfISOStringDate: (val: unknown) => string;
|
|
1471
1682
|
convertQueriesToDefinitions(queries: AXPFilterQuery[]): AXPFilterDefinition[];
|
|
1472
1683
|
convertQueriesToContext(queries: AXPFilterQuery[]): any;
|
|
1473
1684
|
filterFields: () => AXPFilterDefinition[];
|
|
1474
1685
|
ngOnInit(): void;
|
|
1686
|
+
/** Opens the field picker to start a new chip/group (toolbar click). */
|
|
1687
|
+
protected openNewFilterGroup(): void;
|
|
1475
1688
|
/** Opens the filter popover anchored to the last tag or tag-box start. */
|
|
1476
1689
|
protected openFilterPopover(): void;
|
|
1690
|
+
protected handleMobileSearchChanged(event: AXValueChangedEvent<string>): void;
|
|
1691
|
+
protected applyMobileSortPreset(preset: AXPEntitySortPreset, event: Event): void;
|
|
1692
|
+
protected isMobileSortPresetActive(preset: AXPEntitySortPreset): boolean;
|
|
1693
|
+
protected mobileSortPresetDir(preset: AXPEntitySortPreset): 'asc' | 'desc' | undefined;
|
|
1694
|
+
protected openMobileAvailableFilter(definition: AXPFilterDefinition, event: Event): void;
|
|
1695
|
+
protected mobileChipLabel(item: QueryFilterChipTag): string;
|
|
1696
|
+
private resolveMobilePopoverTarget;
|
|
1477
1697
|
/** Click on the tag-box opens the filter menu (empty or with tags). */
|
|
1478
1698
|
protected handleTagBoxClick(event: MouseEvent): void;
|
|
1479
1699
|
/**
|
|
@@ -1489,8 +1709,19 @@ declare class AXPQueryFiltersComponent {
|
|
|
1489
1709
|
handleFieldKeyDown(e: KeyboardEvent, field: AXPFilterDefinition): void;
|
|
1490
1710
|
onContextChanged(e: AXPContextChangeEvent): void;
|
|
1491
1711
|
handleApplyFilter(): void;
|
|
1712
|
+
handleMobileChipsScroll(event: Event): void;
|
|
1713
|
+
handleChipsWheel(event: WheelEvent): void;
|
|
1714
|
+
handleChipsPointerDown(event: PointerEvent): void;
|
|
1715
|
+
private readonly onChipsPanMove;
|
|
1716
|
+
private readonly onChipsPanUp;
|
|
1717
|
+
private endChipsPan;
|
|
1718
|
+
private resolveChipsScroller;
|
|
1719
|
+
private consumeChipsClickSuppression;
|
|
1720
|
+
private syncMobileModeToggleFromScroll;
|
|
1721
|
+
private getInlineScrollFromStart;
|
|
1492
1722
|
handleButtonKeyDown(e: Event): void;
|
|
1493
1723
|
handleKeyDown(e: AXHtmlEvent<KeyboardEvent>): void;
|
|
1724
|
+
private handleAllFilterBackspace;
|
|
1494
1725
|
onEnterKeyPressed(e: Event): void;
|
|
1495
1726
|
handleTagClick(item: any, event?: Event): void;
|
|
1496
1727
|
handleRemoveTag(e: Event, index: number): void;
|
|
@@ -1507,7 +1738,8 @@ declare class AXPQueryFiltersComponent {
|
|
|
1507
1738
|
}): string;
|
|
1508
1739
|
handleSelectFilters(e: AXValueChangedEvent): void;
|
|
1509
1740
|
handleAddAllInlineFilters(): void;
|
|
1510
|
-
|
|
1741
|
+
getInlineSearchValue(): string;
|
|
1742
|
+
applyInlineSearch(value: string): void;
|
|
1511
1743
|
handleSelectInlineFilter(filter: AXPFilterDefinition): void;
|
|
1512
1744
|
handleInlineFilterKeyDown(e: KeyboardEvent, filter: AXPFilterDefinition): void;
|
|
1513
1745
|
handlePopoverClosed(e: AXEvent): void;
|
|
@@ -1536,6 +1768,27 @@ declare class AXPQueryFiltersComponent {
|
|
|
1536
1768
|
* Returns the committed filter context entry (snapshot while editing, live context otherwise).
|
|
1537
1769
|
*/
|
|
1538
1770
|
private getCommittedFilterEntry;
|
|
1771
|
+
protected getConditionOperatorKey(conditionId: string): string | undefined;
|
|
1772
|
+
protected getConditionDefinition(field: string | undefined): AXPFilterDefinition | undefined;
|
|
1773
|
+
protected getConditionWidget(condition: QueryFilterEditingCondition): AXPFilterDefinition['widget'] | undefined;
|
|
1774
|
+
protected setConditionField(conditionId: string, field: string): void;
|
|
1775
|
+
protected setRootLogic(logic: QueryFilterGroupLogic): void;
|
|
1776
|
+
protected setEditingLogic(logic: QueryFilterGroupLogic): void;
|
|
1777
|
+
protected handleCancelFilter(): void;
|
|
1778
|
+
protected resolveEditingConditionContextField(conditionId: string): string;
|
|
1779
|
+
protected handleAddCondition(): void;
|
|
1780
|
+
protected handleRemoveCondition(conditionId: string): void;
|
|
1781
|
+
private beginEditingFilter;
|
|
1782
|
+
private discardActiveFilter;
|
|
1783
|
+
private buildConditionDrafts;
|
|
1784
|
+
private seedConditionContext;
|
|
1785
|
+
private clearFilterContextKeys;
|
|
1786
|
+
private syncCanonicalFilterContext;
|
|
1787
|
+
private unwrapFilterContextEntry;
|
|
1788
|
+
private getCommittedFilterConditions;
|
|
1789
|
+
private resolveGroupContextPrefix;
|
|
1790
|
+
private isSameFilterGroup;
|
|
1791
|
+
private isEditingFilter;
|
|
1539
1792
|
private createExpressionScope;
|
|
1540
1793
|
private isObservableLike;
|
|
1541
1794
|
private buildFilterTriggerScope;
|
|
@@ -1543,7 +1796,7 @@ declare class AXPQueryFiltersComponent {
|
|
|
1543
1796
|
private getFilterWidgetScopeForDefinition;
|
|
1544
1797
|
private removeFilterFieldByName;
|
|
1545
1798
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPQueryFiltersComponent, never>;
|
|
1546
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPQueryFiltersComponent, "axp-query-filters", never, { "filtersDefinitions": { "alias": "filtersDefinitions"; "required": false; "isSignal": true; }; "initialFilters": { "alias": "initialFilters"; "required": false; "isSignal": true; }; "quickSearch": { "alias": "quickSearch"; "required": false; "isSignal": true; }; }, { "onFiltersChanged": "onFiltersChanged"; }, never, never, true, never>;
|
|
1799
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPQueryFiltersComponent, "axp-query-filters", never, { "filtersDefinitions": { "alias": "filtersDefinitions"; "required": false; "isSignal": true; }; "initialFilters": { "alias": "initialFilters"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "quickSearch": { "alias": "quickSearch"; "required": false; "isSignal": true; }; "sortPresets": { "alias": "sortPresets"; "required": false; "isSignal": true; }; "activeSortPresetName": { "alias": "activeSortPresetName"; "required": false; "isSignal": true; }; }, { "onFiltersChanged": "onFiltersChanged"; "onSortPresetSelected": "onSortPresetSelected"; }, never, never, true, never>;
|
|
1547
1800
|
}
|
|
1548
1801
|
|
|
1549
1802
|
interface AXPPreloadFiltersApplyEvent {
|
|
@@ -1602,20 +1855,25 @@ declare class AXPImageEditorPopupComponent extends AXBasePageComponent {
|
|
|
1602
1855
|
showHistory: _angular_core.InputSignal<boolean>;
|
|
1603
1856
|
look: _angular_core.InputSignal<"solid" | "outline" | "blank">;
|
|
1604
1857
|
aspectRatio: _angular_core.InputSignal<string | undefined>;
|
|
1858
|
+
square: _angular_core.InputSignal<boolean>;
|
|
1605
1859
|
private blobUrl;
|
|
1606
1860
|
protected url: _angular_core.WritableSignal<string | null>;
|
|
1861
|
+
protected cropSize: _angular_core.Signal<number>;
|
|
1862
|
+
protected cropAspectRatioBinding: _angular_core.Signal<string[]>;
|
|
1607
1863
|
protected context: _angular_core.WritableSignal<{
|
|
1608
1864
|
image: Blob | null;
|
|
1609
1865
|
}>;
|
|
1610
1866
|
constructor();
|
|
1611
1867
|
ngOnInit(): Promise<void>;
|
|
1612
|
-
handleValueChanged(e:
|
|
1868
|
+
handleValueChanged(e: {
|
|
1869
|
+
value?: Blob[];
|
|
1870
|
+
}): void;
|
|
1613
1871
|
handleSave(): Promise<void>;
|
|
1614
1872
|
private extractEditedImage;
|
|
1615
1873
|
handleCancel(): void;
|
|
1616
1874
|
ngOnDestroy(): void;
|
|
1617
1875
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPImageEditorPopupComponent, never>;
|
|
1618
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPImageEditorPopupComponent, "axp-image-editor-popup", never, { "image": { "alias": "image"; "required": true; "isSignal": true; }; "showHistory": { "alias": "showHistory"; "required": false; "isSignal": true; }; "look": { "alias": "look"; "required": false; "isSignal": true; }; "aspectRatio": { "alias": "aspectRatio"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1876
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPImageEditorPopupComponent, "axp-image-editor-popup", never, { "image": { "alias": "image"; "required": true; "isSignal": true; }; "showHistory": { "alias": "showHistory"; "required": false; "isSignal": true; }; "look": { "alias": "look"; "required": false; "isSignal": true; }; "aspectRatio": { "alias": "aspectRatio"; "required": false; "isSignal": true; }; "square": { "alias": "square"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1619
1877
|
}
|
|
1620
1878
|
|
|
1621
1879
|
interface AXPImageEditorOpenOptions {
|
|
@@ -1624,6 +1882,8 @@ interface AXPImageEditorOpenOptions {
|
|
|
1624
1882
|
showHistory?: boolean;
|
|
1625
1883
|
look?: 'solid' | 'outline' | 'blank';
|
|
1626
1884
|
aspectRatio?: string;
|
|
1885
|
+
/** Square dialog with 1:1 crop viewport (profile photo). */
|
|
1886
|
+
square?: boolean;
|
|
1627
1887
|
}
|
|
1628
1888
|
declare class AXPImageEditorService {
|
|
1629
1889
|
private readonly popupService;
|
|
@@ -1762,6 +2022,28 @@ declare class AXPItemConfiguratorComponent {
|
|
|
1762
2022
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPItemConfiguratorComponent, "axp-item-configurator", never, { "selectedItemId": { "alias": "selectedItemId"; "required": false; "isSignal": true; }; "values": { "alias": "values"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "items": { "alias": "items"; "required": false; "isSignal": true; }; "headerActions": { "alias": "headerActions"; "required": false; "isSignal": true; }; }, { "selectedItemId": "selectedItemIdChange"; "values": "valuesChange"; }, never, never, true, never>;
|
|
1763
2023
|
}
|
|
1764
2024
|
|
|
2025
|
+
interface AXPLocalDataSourceEditorDialogInput {
|
|
2026
|
+
mode: 'create' | 'edit';
|
|
2027
|
+
name?: string;
|
|
2028
|
+
columns?: readonly AXPLocalDataSourceColumn[];
|
|
2029
|
+
items?: readonly unknown[];
|
|
2030
|
+
}
|
|
2031
|
+
interface AXPLocalDataSourceEditorDialogResult {
|
|
2032
|
+
name: string;
|
|
2033
|
+
columns: AXPLocalDataSourceColumn[];
|
|
2034
|
+
items: Record<string, unknown>[];
|
|
2035
|
+
}
|
|
2036
|
+
/**
|
|
2037
|
+
* Create/edit a form-local named list via {@link AXPLayoutBuilderService} dialog.
|
|
2038
|
+
* Items use `axp-spreadsheet` (add / remove rows and columns).
|
|
2039
|
+
*/
|
|
2040
|
+
declare class AXPLocalDataSourceEditorDialogService {
|
|
2041
|
+
private readonly layoutBuilder;
|
|
2042
|
+
open(initial: AXPLocalDataSourceEditorDialogInput): Promise<AXPLocalDataSourceEditorDialogResult | null>;
|
|
2043
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPLocalDataSourceEditorDialogService, never>;
|
|
2044
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPLocalDataSourceEditorDialogService>;
|
|
2045
|
+
}
|
|
2046
|
+
|
|
1765
2047
|
/**
|
|
1766
2048
|
* Floating zoom controls for canvas-style views (org chart, workflow designer, etc.).
|
|
1767
2049
|
* Parent container should be `position: relative` so the bar anchors to the bottom-end.
|
|
@@ -2406,6 +2688,21 @@ declare class AXPPageComponentRegistryService {
|
|
|
2406
2688
|
*/
|
|
2407
2689
|
declare const AXP_PAGE_COMPONENT_PROVIDER: InjectionToken<AXPPageComponentProvider[]>;
|
|
2408
2690
|
|
|
2691
|
+
/**
|
|
2692
|
+
* Deep-merges objects but replaces arrays from later sources.
|
|
2693
|
+
* Lodash `merge` walks arrays by index and keeps extra destination items, so
|
|
2694
|
+
* repeater delete/edit (and nested filter lists) cannot persist.
|
|
2695
|
+
*/
|
|
2696
|
+
declare function mergeObjectsReplacingArrays<T extends object>(...sources: Array<T | Record<string, unknown> | null | undefined>): T;
|
|
2697
|
+
|
|
2698
|
+
/**
|
|
2699
|
+
* How binding-expression mode is presented in the property viewer.
|
|
2700
|
+
* `inline` — code editor in the panel (use when there is enough width, e.g. a popup).
|
|
2701
|
+
* `popup` — a button that opens the code editor in a dialog (use in the designer side panel).
|
|
2702
|
+
*/
|
|
2703
|
+
type AXPPropertyViewerBindingExpressionEditorMode = 'inline' | 'popup';
|
|
2704
|
+
/** Minimum visible lines for the binding-expression code editor (inline and dialog). */
|
|
2705
|
+
declare const PROPERTY_VIEWER_EXPRESSION_EDITOR_MIN_LINES = 3;
|
|
2409
2706
|
interface AXPPropertyViewerGroup {
|
|
2410
2707
|
name: string;
|
|
2411
2708
|
title: string;
|
|
@@ -2442,12 +2739,13 @@ declare class AXPPropertyViewerComponent {
|
|
|
2442
2739
|
/**
|
|
2443
2740
|
* Determines rendering mode.
|
|
2444
2741
|
*/
|
|
2445
|
-
mode: _angular_core.InputSignal<"
|
|
2742
|
+
mode: _angular_core.InputSignal<"advanced" | "simple">;
|
|
2446
2743
|
/**
|
|
2447
2744
|
* When a property uses binding expressions, controls how the expression is edited:
|
|
2448
|
-
* `inline` — code editor in the panel (default
|
|
2745
|
+
* `inline` — code editor in the panel (default; use in popups);
|
|
2746
|
+
* `popup` — button that opens the dialog editor (use in the designer side panel).
|
|
2449
2747
|
*/
|
|
2450
|
-
bindingExpressionEditorMode: _angular_core.InputSignal<
|
|
2748
|
+
bindingExpressionEditorMode: _angular_core.InputSignal<AXPPropertyViewerBindingExpressionEditorMode>;
|
|
2451
2749
|
/**
|
|
2452
2750
|
* Emits when property context changes.
|
|
2453
2751
|
*/
|
|
@@ -2470,6 +2768,7 @@ declare class AXPPropertyViewerComponent {
|
|
|
2470
2768
|
private readonly expressionEvaluator;
|
|
2471
2769
|
private readonly popupService;
|
|
2472
2770
|
private readonly form;
|
|
2771
|
+
private readonly widgetsContainer;
|
|
2473
2772
|
constructor();
|
|
2474
2773
|
/**
|
|
2475
2774
|
* Replaces the current context with the provided value and emits an init event.
|
|
@@ -2529,6 +2828,13 @@ declare class AXPPropertyViewerComponent {
|
|
|
2529
2828
|
* blank instead of keeping the previous literal (e.g. true/false).
|
|
2530
2829
|
*/
|
|
2531
2830
|
protected setExpressionMode(prop: AXPWidgetProperty, useExpression: boolean): void;
|
|
2831
|
+
/**
|
|
2832
|
+
* Monaco/TypeScript editor — loaded the first time inline expression mode is shown.
|
|
2833
|
+
*/
|
|
2834
|
+
protected readonly inlineCodeEditorComponent: WritableSignal<Type<unknown> | null>;
|
|
2835
|
+
protected inlineCodeEditor(): Type<unknown> | null;
|
|
2836
|
+
protected bindingExpressionChangeHandler(prop: AXPWidgetProperty): (value: string) => void;
|
|
2837
|
+
private ensureInlineCodeEditor;
|
|
2532
2838
|
/**
|
|
2533
2839
|
* Current binding expression string at the property path (for inline editor ngModel).
|
|
2534
2840
|
*/
|
|
@@ -2562,7 +2868,7 @@ declare class AXPPropertyViewerPopupComponent extends AXBasePageComponent {
|
|
|
2562
2868
|
private readonly toastService;
|
|
2563
2869
|
private readonly translationService;
|
|
2564
2870
|
tabs: _angular_core.InputSignal<AXPPropertyViewerTab[]>;
|
|
2565
|
-
mode: _angular_core.InputSignal<"
|
|
2871
|
+
mode: _angular_core.InputSignal<"advanced" | "simple">;
|
|
2566
2872
|
context: _angular_core.InputSignal<any>;
|
|
2567
2873
|
/**
|
|
2568
2874
|
* Optional hook from `data.onApply`. Throw or reject to keep the popup open.
|
|
@@ -2683,7 +2989,7 @@ declare class AXPRepeaterRowsLayoutComponent {
|
|
|
2683
2989
|
type AppointmentWithProvider = AXSchedulerAppointment & {
|
|
2684
2990
|
provider?: string;
|
|
2685
2991
|
};
|
|
2686
|
-
declare class
|
|
2992
|
+
declare class AXPResourceAppointmentBoardComponent implements OnInit {
|
|
2687
2993
|
/** Show resource headers in the timeline views. */
|
|
2688
2994
|
showResourceHeaders: _angular_core.InputSignal<boolean>;
|
|
2689
2995
|
/** Show appointments that have no resourceId. */
|
|
@@ -2724,6 +3030,21 @@ declare class AXPResourceAppointmentComponent implements OnInit {
|
|
|
2724
3030
|
}): void;
|
|
2725
3031
|
protected handleContextMenuOpening(event: AXContextMenuOpeningEvent): Promise<void>;
|
|
2726
3032
|
protected handleContextMenuItemClick(event: AXContextMenuItemsClickEvent): void;
|
|
3033
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPResourceAppointmentBoardComponent, never>;
|
|
3034
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPResourceAppointmentBoardComponent, "axp-resource-appointment-board", never, { "showResourceHeaders": { "alias": "showResourceHeaders"; "required": false; "isSignal": true; }; "showUnassignedAppointments": { "alias": "showUnassignedAppointments"; "required": false; "isSignal": true; }; "providerName": { "alias": "providerName"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
3035
|
+
}
|
|
3036
|
+
|
|
3037
|
+
/**
|
|
3038
|
+
* Thin host for the resource-appointment board. `@acorex/components/scheduler`
|
|
3039
|
+
* loads when this component is instantiated, not when the layout/components
|
|
3040
|
+
* barrel is evaluated on dest first load.
|
|
3041
|
+
*/
|
|
3042
|
+
declare class AXPResourceAppointmentComponent {
|
|
3043
|
+
showResourceHeaders: _angular_core.InputSignal<boolean>;
|
|
3044
|
+
showUnassignedAppointments: _angular_core.InputSignal<boolean>;
|
|
3045
|
+
providerName: _angular_core.InputSignal<string | undefined>;
|
|
3046
|
+
protected readonly board: _angular_core.WritableSignal<Type<AXPResourceAppointmentBoardComponent> | null>;
|
|
3047
|
+
constructor();
|
|
2727
3048
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPResourceAppointmentComponent, never>;
|
|
2728
3049
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPResourceAppointmentComponent, "axp-resource-appointment", never, { "showResourceHeaders": { "alias": "showResourceHeaders"; "required": false; "isSignal": true; }; "showUnassignedAppointments": { "alias": "showUnassignedAppointments"; "required": false; "isSignal": true; }; "providerName": { "alias": "providerName"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
2729
3050
|
}
|
|
@@ -2940,16 +3261,28 @@ declare class AXPSectionItemsBuilderComponent {
|
|
|
2940
3261
|
|
|
2941
3262
|
declare class AXPQuerySortsComponent {
|
|
2942
3263
|
sortDefinitions: _angular_core.ModelSignal<AXPSortDefinition[]>;
|
|
2943
|
-
|
|
3264
|
+
sortPresets: _angular_core.InputSignal<AXPEntitySortPreset[]>;
|
|
2944
3265
|
initialSortQueries: _angular_core.InputSignal<AXPSortQuery[]>;
|
|
3266
|
+
defaultSortQueries: _angular_core.InputSignal<AXPSortQuery[]>;
|
|
2945
3267
|
sortQueriesChange: _angular_core.OutputEmitterRef<AXPSortQuery[]>;
|
|
3268
|
+
sortQueries: _angular_core.WritableSignal<AXPSortDefinition[]>;
|
|
3269
|
+
protected hasPresets: _angular_core.Signal<boolean>;
|
|
3270
|
+
protected activeSortSignature: _angular_core.Signal<string>;
|
|
3271
|
+
protected canReset: _angular_core.Signal<boolean>;
|
|
2946
3272
|
constructor();
|
|
2947
|
-
private emitActiveSortQueries;
|
|
2948
3273
|
protected drop(event: CdkDragDrop<unknown[]>): void;
|
|
2949
|
-
getSortDirection(item: AXPSortDefinition): "asc" | "desc" | undefined;
|
|
2950
3274
|
protected changeItemSort(item: AXPSortDefinition): void;
|
|
3275
|
+
protected applyPreset(preset: AXPEntitySortPreset): void;
|
|
3276
|
+
protected resetSorts(): void;
|
|
3277
|
+
getSortDirection(item: AXPSortDefinition): "asc" | "desc" | undefined;
|
|
3278
|
+
protected isPresetActive(preset: AXPEntitySortPreset): boolean;
|
|
3279
|
+
protected presetFirstDir(preset: AXPEntitySortPreset): 'asc' | 'desc' | undefined;
|
|
3280
|
+
private resolvePresetSorts;
|
|
3281
|
+
private applySorts;
|
|
3282
|
+
private emitActiveSortQueries;
|
|
3283
|
+
private emitSortQueries;
|
|
2951
3284
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPQuerySortsComponent, never>;
|
|
2952
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPQuerySortsComponent, "axp-query-sorts", never, { "sortDefinitions": { "alias": "sortDefinitions"; "required": false; "isSignal": true; }; "initialSortQueries": { "alias": "initialSortQueries"; "required": false; "isSignal": true; }; }, { "sortDefinitions": "sortDefinitionsChange"; "sortQueriesChange": "sortQueriesChange"; }, never, never, true, never>;
|
|
3285
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPQuerySortsComponent, "axp-query-sorts", never, { "sortDefinitions": { "alias": "sortDefinitions"; "required": false; "isSignal": true; }; "sortPresets": { "alias": "sortPresets"; "required": false; "isSignal": true; }; "initialSortQueries": { "alias": "initialSortQueries"; "required": false; "isSignal": true; }; "defaultSortQueries": { "alias": "defaultSortQueries"; "required": false; "isSignal": true; }; }, { "sortDefinitions": "sortDefinitionsChange"; "sortQueriesChange": "sortQueriesChange"; }, never, never, true, never>;
|
|
2953
3286
|
}
|
|
2954
3287
|
|
|
2955
3288
|
/**
|
|
@@ -3038,6 +3371,27 @@ interface AXPSpreadsheetCellChangeEvent {
|
|
|
3038
3371
|
*/
|
|
3039
3372
|
row: Record<string, any>;
|
|
3040
3373
|
}
|
|
3374
|
+
/**
|
|
3375
|
+
* Event emitted when a column is added or removed (when those options are enabled)
|
|
3376
|
+
*/
|
|
3377
|
+
interface AXPSpreadsheetColumnChangeEvent {
|
|
3378
|
+
/**
|
|
3379
|
+
* Type of change: 'add' or 'remove'
|
|
3380
|
+
*/
|
|
3381
|
+
type: 'add' | 'remove' | 'move' | 'update';
|
|
3382
|
+
/**
|
|
3383
|
+
* Column identifier
|
|
3384
|
+
*/
|
|
3385
|
+
columnName: string;
|
|
3386
|
+
/**
|
|
3387
|
+
* Full column definition (for 'add' events, and the removed column on 'remove')
|
|
3388
|
+
*/
|
|
3389
|
+
column?: AXPSpreadsheetColumn;
|
|
3390
|
+
/**
|
|
3391
|
+
* All columns after the change
|
|
3392
|
+
*/
|
|
3393
|
+
columns: AXPSpreadsheetColumn[];
|
|
3394
|
+
}
|
|
3041
3395
|
/**
|
|
3042
3396
|
* Event emitted when a row is added or removed (dynamic mode only)
|
|
3043
3397
|
*/
|
|
@@ -3045,7 +3399,7 @@ interface AXPSpreadsheetRowChangeEvent {
|
|
|
3045
3399
|
/**
|
|
3046
3400
|
* Type of change: 'add' or 'remove'
|
|
3047
3401
|
*/
|
|
3048
|
-
type: 'add' | 'remove';
|
|
3402
|
+
type: 'add' | 'remove' | 'move';
|
|
3049
3403
|
/**
|
|
3050
3404
|
* Row identifier
|
|
3051
3405
|
*/
|
|
@@ -3082,6 +3436,10 @@ declare class AXPSpreadsheetComponent {
|
|
|
3082
3436
|
private readonly shortcutRegistry;
|
|
3083
3437
|
private readonly destroyRef;
|
|
3084
3438
|
private readonly elementRef;
|
|
3439
|
+
private readonly injector;
|
|
3440
|
+
private readonly widgetRegistry;
|
|
3441
|
+
private readonly widgetPropertyViewer;
|
|
3442
|
+
private readonly chromeDropdowns;
|
|
3085
3443
|
/**
|
|
3086
3444
|
* Translated column titles
|
|
3087
3445
|
*/
|
|
@@ -3134,6 +3492,20 @@ declare class AXPSpreadsheetComponent {
|
|
|
3134
3492
|
* Can be enabled for fixed mode if needed
|
|
3135
3493
|
*/
|
|
3136
3494
|
allowRemoveRows: _angular_core.InputSignal<boolean>;
|
|
3495
|
+
/**
|
|
3496
|
+
* Whether to allow adding columns from the grid chrome (default: false).
|
|
3497
|
+
* Existing hosts keep a fixed column schema unless they opt in.
|
|
3498
|
+
*/
|
|
3499
|
+
allowAddColumns: _angular_core.InputSignal<boolean>;
|
|
3500
|
+
/**
|
|
3501
|
+
* Whether to allow removing columns from the grid chrome (default: false).
|
|
3502
|
+
*/
|
|
3503
|
+
allowRemoveColumns: _angular_core.InputSignal<boolean>;
|
|
3504
|
+
/**
|
|
3505
|
+
* Show apply / cancel buttons on the active cell.
|
|
3506
|
+
* When false, the cell commits automatically on blur.
|
|
3507
|
+
*/
|
|
3508
|
+
showCellActions: _angular_core.InputSignal<boolean>;
|
|
3137
3509
|
/**
|
|
3138
3510
|
* Emitted when a single cell value changes
|
|
3139
3511
|
*/
|
|
@@ -3142,6 +3514,14 @@ declare class AXPSpreadsheetComponent {
|
|
|
3142
3514
|
* Emitted when rows are added or removed (dynamic mode only)
|
|
3143
3515
|
*/
|
|
3144
3516
|
rowChange: _angular_core.OutputEmitterRef<AXPSpreadsheetRowChangeEvent>;
|
|
3517
|
+
/**
|
|
3518
|
+
* Emitted when columns are added or removed (only if those options are enabled)
|
|
3519
|
+
*/
|
|
3520
|
+
columnChange: _angular_core.OutputEmitterRef<AXPSpreadsheetColumnChangeEvent>;
|
|
3521
|
+
/**
|
|
3522
|
+
* Two-way companion for `[columns]` / `[(columns)]` after add/remove.
|
|
3523
|
+
*/
|
|
3524
|
+
columnsChange: _angular_core.OutputEmitterRef<AXPSpreadsheetColumn[]>;
|
|
3145
3525
|
/**
|
|
3146
3526
|
* Emitted when the entire spreadsheet data changes
|
|
3147
3527
|
*/
|
|
@@ -3153,10 +3533,22 @@ declare class AXPSpreadsheetComponent {
|
|
|
3153
3533
|
rowId: string;
|
|
3154
3534
|
columnName: string;
|
|
3155
3535
|
} | null>;
|
|
3536
|
+
/**
|
|
3537
|
+
* Last selected cell so focus / Esc can reopen or resume without a click.
|
|
3538
|
+
*/
|
|
3539
|
+
private selectedCell;
|
|
3540
|
+
/**
|
|
3541
|
+
* After Esc, host focus must not immediately reopen the editor.
|
|
3542
|
+
*/
|
|
3543
|
+
private suppressHostFocusEdit;
|
|
3156
3544
|
/**
|
|
3157
3545
|
* Original value when entering edit mode (for cancel functionality)
|
|
3158
3546
|
*/
|
|
3159
3547
|
private originalCellValue;
|
|
3548
|
+
/**
|
|
3549
|
+
* Local column list after add/remove when the parent has not yet written `[columns]` back.
|
|
3550
|
+
*/
|
|
3551
|
+
private columnsOverride;
|
|
3160
3552
|
/**
|
|
3161
3553
|
* Internal rows state (for fixed mode)
|
|
3162
3554
|
*/
|
|
@@ -3175,6 +3567,14 @@ declare class AXPSpreadsheetComponent {
|
|
|
3175
3567
|
* Key: `${rowIndex}_${columnName}`, Value: any
|
|
3176
3568
|
*/
|
|
3177
3569
|
private cellValueCache;
|
|
3570
|
+
/**
|
|
3571
|
+
* Columns after optional in-grid add/remove, else the `[columns]` input.
|
|
3572
|
+
*/
|
|
3573
|
+
protected currentColumns: _angular_core.Signal<AXPSpreadsheetColumn[]>;
|
|
3574
|
+
/**
|
|
3575
|
+
* Excel-style numeric index when the host does not supply a row title column.
|
|
3576
|
+
*/
|
|
3577
|
+
protected readonly useExcelRowIndex: _angular_core.Signal<boolean>;
|
|
3178
3578
|
/**
|
|
3179
3579
|
* Get current rows based on mode
|
|
3180
3580
|
*/
|
|
@@ -3206,11 +3606,21 @@ declare class AXPSpreadsheetComponent {
|
|
|
3206
3606
|
* Check if only rows are empty (columns exist but no rows)
|
|
3207
3607
|
*/
|
|
3208
3608
|
protected isRowsEmpty: _angular_core.Signal<boolean>;
|
|
3609
|
+
protected readonly supportedColumnWidgets: _angular_core.Signal<{
|
|
3610
|
+
type: string;
|
|
3611
|
+
title: string;
|
|
3612
|
+
icon: string;
|
|
3613
|
+
}[]>;
|
|
3209
3614
|
constructor();
|
|
3210
3615
|
/**
|
|
3211
3616
|
* Get the value for a specific cell by row index
|
|
3212
3617
|
*/
|
|
3213
3618
|
protected getCellValue(rowIndex: number, columnName: string): any;
|
|
3619
|
+
/**
|
|
3620
|
+
* Whether the cell has a value worth showing in view mode.
|
|
3621
|
+
* Blank strings use the placeholder so empty Excel rows stay empty.
|
|
3622
|
+
*/
|
|
3623
|
+
protected hasCellDisplayValue(rowIndex: number, columnName: string): boolean;
|
|
3214
3624
|
/**
|
|
3215
3625
|
* Get row title from row object using rowTitlePath
|
|
3216
3626
|
*/
|
|
@@ -3241,6 +3651,10 @@ declare class AXPSpreadsheetComponent {
|
|
|
3241
3651
|
* Handle cell click to start editing
|
|
3242
3652
|
*/
|
|
3243
3653
|
protected handleCellClick(rowId: string, columnName: string, event?: MouseEvent): void;
|
|
3654
|
+
/**
|
|
3655
|
+
* Tab / click into the grid starts the selected (or first) cell.
|
|
3656
|
+
*/
|
|
3657
|
+
protected handleHostFocusIn(event: FocusEvent): void;
|
|
3244
3658
|
/**
|
|
3245
3659
|
* Handle cell value change from widget
|
|
3246
3660
|
* The widget sets the value at path like rows[index].column.path
|
|
@@ -3255,6 +3669,11 @@ declare class AXPSpreadsheetComponent {
|
|
|
3255
3669
|
* Handle blur event to stop editing (when user clicks away from cell)
|
|
3256
3670
|
*/
|
|
3257
3671
|
protected handleCellBlur(rowId: string, columnName: string): void;
|
|
3672
|
+
/**
|
|
3673
|
+
* Excel-style move: Tab / Shift+Tab change column, Enter / Shift+Enter change row.
|
|
3674
|
+
*/
|
|
3675
|
+
protected handleCellNavigate(direction: 'next' | 'previous' | 'up' | 'down'): void;
|
|
3676
|
+
protected handleGridNavigate(direction: 'next' | 'previous' | 'up' | 'down'): void;
|
|
3258
3677
|
/**
|
|
3259
3678
|
* Commit cell edit (save changes and close editing mode)
|
|
3260
3679
|
*/
|
|
@@ -3267,26 +3686,183 @@ declare class AXPSpreadsheetComponent {
|
|
|
3267
3686
|
* Handle click outside to stop editing
|
|
3268
3687
|
*/
|
|
3269
3688
|
protected handleClickOutside(event: MouseEvent): void;
|
|
3689
|
+
protected showRowChromeMenu(): boolean;
|
|
3690
|
+
protected showColumnChromeMenu(): boolean;
|
|
3691
|
+
protected isFirstRow(rowId: string): boolean;
|
|
3692
|
+
protected isLastRow(rowId: string): boolean;
|
|
3693
|
+
protected isFirstColumn(columnName: string): boolean;
|
|
3694
|
+
protected isLastColumn(columnName: string): boolean;
|
|
3270
3695
|
/**
|
|
3271
3696
|
* Handle add row (dynamic mode only)
|
|
3272
3697
|
*/
|
|
3273
3698
|
protected handleAddRow(): void;
|
|
3699
|
+
protected handleInsertRow(rowId: string, position: 'before' | 'after'): void;
|
|
3700
|
+
protected handleMoveRow(rowId: string, direction: 'up' | 'down'): void;
|
|
3274
3701
|
/**
|
|
3275
3702
|
* Handle remove row (works for both fixed and dynamic modes)
|
|
3276
3703
|
*/
|
|
3277
|
-
protected handleRemoveRow(rowId: string, _event
|
|
3704
|
+
protected handleRemoveRow(rowId: string, _event?: AXClickEvent): void;
|
|
3705
|
+
protected handleChromeDropdownClick(event: AXClickEvent): void;
|
|
3706
|
+
/**
|
|
3707
|
+
* Handle add column (opt-in via allowAddColumns)
|
|
3708
|
+
*/
|
|
3709
|
+
protected handleAddColumnOfType(widgetType: string): void;
|
|
3710
|
+
protected handleInsertColumn(columnName: string, position: 'before' | 'after'): void;
|
|
3711
|
+
protected handleEditColumnProperties(columnName: string): void;
|
|
3712
|
+
protected handleMoveColumn(columnName: string, direction: 'previous' | 'next'): void;
|
|
3713
|
+
/**
|
|
3714
|
+
* Handle remove column (opt-in via allowRemoveColumns)
|
|
3715
|
+
*/
|
|
3716
|
+
protected handleRemoveColumn(columnName: string): void;
|
|
3717
|
+
private isGridFocused;
|
|
3718
|
+
private beginEditAtSelection;
|
|
3719
|
+
private resolveSelectedOrFirstCell;
|
|
3720
|
+
private returnFocusToGrid;
|
|
3721
|
+
/**
|
|
3722
|
+
* Next editable cell in Excel order. Adds a dynamic row when moving off the bottom.
|
|
3723
|
+
*/
|
|
3724
|
+
private resolveNextEditableCell;
|
|
3725
|
+
/**
|
|
3726
|
+
* Left/right stay in the text until the caret is at the edge.
|
|
3727
|
+
* Up/down always leave a single-line editor; textareas only at the first/last line.
|
|
3728
|
+
*/
|
|
3729
|
+
private shouldNavigateWithArrow;
|
|
3730
|
+
private getActiveEditorControl;
|
|
3731
|
+
private isNodeInside;
|
|
3732
|
+
private isCaretAtMultilineEdge;
|
|
3733
|
+
private scheduleFocusEditingEditor;
|
|
3734
|
+
private tryFocusEditingEditor;
|
|
3735
|
+
private findFocusableEditor;
|
|
3736
|
+
private findRowIndex;
|
|
3737
|
+
private createEmptyRow;
|
|
3738
|
+
private insertRowAt;
|
|
3739
|
+
private insertBlankColumnAt;
|
|
3740
|
+
private insertColumnAt;
|
|
3741
|
+
private promptColumnWidgetAndInsert;
|
|
3742
|
+
private promptColumnWidgetAndUpdate;
|
|
3743
|
+
private promptColumnWidget;
|
|
3744
|
+
private applyRowList;
|
|
3278
3745
|
/**
|
|
3279
3746
|
* Generate unique row ID for dynamic mode
|
|
3280
3747
|
*/
|
|
3281
3748
|
private generateRowId;
|
|
3749
|
+
private nextColumnTitle;
|
|
3750
|
+
private allocateColumnName;
|
|
3751
|
+
private renameColumnPathOnRows;
|
|
3752
|
+
private applyColumns;
|
|
3753
|
+
private stripColumnPathFromRows;
|
|
3282
3754
|
/**
|
|
3283
3755
|
* Update rows array (sync internal state)
|
|
3284
3756
|
*/
|
|
3285
3757
|
private updateRows;
|
|
3286
3758
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPSpreadsheetComponent, never>;
|
|
3287
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPSpreadsheetComponent, "axp-spreadsheet", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "columns": { "alias": "columns"; "required": true; "isSignal": true; }; "rowMode": { "alias": "rowMode"; "required": false; "isSignal": true; }; "rowsInput": { "alias": "rowsInput"; "required": false; "isSignal": true; }; "rowsModel": { "alias": "rowsModel"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "emptyCellPlaceholder": { "alias": "emptyCellPlaceholder"; "required": false; "isSignal": true; }; "rowTitlePath": { "alias": "rowTitlePath"; "required": false; "isSignal": true; }; "rowDescriptionPath": { "alias": "rowDescriptionPath"; "required": false; "isSignal": true; }; "allowAddRows": { "alias": "allowAddRows"; "required": false; "isSignal": true; }; "allowRemoveRows": { "alias": "allowRemoveRows"; "required": false; "isSignal": true; }; }, { "rowsModel": "rowsModelChange"; "cellChange": "cellChange"; "rowChange": "rowChange"; "spreadsheetChange": "spreadsheetChange"; }, never, never, true, never>;
|
|
3759
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPSpreadsheetComponent, "axp-spreadsheet", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "columns": { "alias": "columns"; "required": true; "isSignal": true; }; "rowMode": { "alias": "rowMode"; "required": false; "isSignal": true; }; "rowsInput": { "alias": "rowsInput"; "required": false; "isSignal": true; }; "rowsModel": { "alias": "rowsModel"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "emptyCellPlaceholder": { "alias": "emptyCellPlaceholder"; "required": false; "isSignal": true; }; "rowTitlePath": { "alias": "rowTitlePath"; "required": false; "isSignal": true; }; "rowDescriptionPath": { "alias": "rowDescriptionPath"; "required": false; "isSignal": true; }; "allowAddRows": { "alias": "allowAddRows"; "required": false; "isSignal": true; }; "allowRemoveRows": { "alias": "allowRemoveRows"; "required": false; "isSignal": true; }; "allowAddColumns": { "alias": "allowAddColumns"; "required": false; "isSignal": true; }; "allowRemoveColumns": { "alias": "allowRemoveColumns"; "required": false; "isSignal": true; }; "showCellActions": { "alias": "showCellActions"; "required": false; "isSignal": true; }; }, { "rowsModel": "rowsModelChange"; "cellChange": "cellChange"; "rowChange": "rowChange"; "columnChange": "columnChange"; "columnsChange": "columnsChange"; "spreadsheetChange": "spreadsheetChange"; }, never, never, true, never>;
|
|
3760
|
+
}
|
|
3761
|
+
|
|
3762
|
+
interface AXPWidgetPropertyInjection {
|
|
3763
|
+
property: AXPWidgetProperty;
|
|
3764
|
+
tab?: {
|
|
3765
|
+
name?: string;
|
|
3766
|
+
title?: string;
|
|
3767
|
+
};
|
|
3768
|
+
group?: {
|
|
3769
|
+
name?: string;
|
|
3770
|
+
title?: string;
|
|
3771
|
+
};
|
|
3772
|
+
}
|
|
3773
|
+
interface AXPWidgetPropertyViewerConfig {
|
|
3774
|
+
title: string;
|
|
3775
|
+
widget: AXPWidgetNode;
|
|
3776
|
+
mode?: 'simple' | 'advanced';
|
|
3777
|
+
onApply?: (result: AXPWidgetPropertyViewerResult) => void | Promise<void>;
|
|
3778
|
+
/**
|
|
3779
|
+
* Property names to exclude from the viewer.
|
|
3780
|
+
*/
|
|
3781
|
+
exclude?: string[];
|
|
3782
|
+
/**
|
|
3783
|
+
* Custom property injection configuration.
|
|
3784
|
+
*/
|
|
3785
|
+
custom?: {
|
|
3786
|
+
/**
|
|
3787
|
+
* Custom property injection entries.
|
|
3788
|
+
*/
|
|
3789
|
+
properties: AXPWidgetPropertyInjection[];
|
|
3790
|
+
/**
|
|
3791
|
+
* Default tab fallback if property injection doesn't specify one.
|
|
3792
|
+
* When omitted, falls back to the first tab or "general".
|
|
3793
|
+
*/
|
|
3794
|
+
defaultTab?: {
|
|
3795
|
+
name?: string;
|
|
3796
|
+
title?: string;
|
|
3797
|
+
};
|
|
3798
|
+
/**
|
|
3799
|
+
* Default group fallback when injection doesn't specify a group.
|
|
3800
|
+
* When omitted, falls back to the tab's first group or property defined group.
|
|
3801
|
+
*/
|
|
3802
|
+
defaultGroup?: {
|
|
3803
|
+
name?: string;
|
|
3804
|
+
title?: string;
|
|
3805
|
+
};
|
|
3806
|
+
};
|
|
3807
|
+
}
|
|
3808
|
+
/** Emitted when the dialog applies; `values` is the updated viewer context (merge into {@link AXPWidgetNode} as needed). */
|
|
3809
|
+
interface AXPWidgetPropertyViewerResult {
|
|
3810
|
+
values: any;
|
|
3811
|
+
mode: 'init' | 'update';
|
|
3812
|
+
}
|
|
3813
|
+
interface IAXPWidgetPropertyViewerRoot {
|
|
3814
|
+
dialog(delegate: (container: IAXPWidgetPropertyViewerDialogBuilder) => void): IAXPWidgetPropertyViewerDialogBuilder;
|
|
3815
|
+
}
|
|
3816
|
+
interface IAXPWidgetPropertyViewerDialogBuilder {
|
|
3817
|
+
setTitle(title: string): IAXPWidgetPropertyViewerDialogBuilder;
|
|
3818
|
+
/**
|
|
3819
|
+
* Initial widget state shown in the viewer (type, options, name/path, …). Call before {@link show}.
|
|
3820
|
+
*/
|
|
3821
|
+
setWidget(widget: AXPWidgetNode): IAXPWidgetPropertyViewerDialogBuilder;
|
|
3822
|
+
setMode(mode: 'simple' | 'advanced'): IAXPWidgetPropertyViewerDialogBuilder;
|
|
3823
|
+
setExclude(exclude: string[]): IAXPWidgetPropertyViewerDialogBuilder;
|
|
3824
|
+
setCustom(custom: AXPWidgetPropertyViewerConfig['custom']): IAXPWidgetPropertyViewerDialogBuilder;
|
|
3825
|
+
/**
|
|
3826
|
+
* When set to a non-empty array, builds tabs from these properties and skips registry lookup for {@link setWidget}'s type.
|
|
3827
|
+
* Omit or clear to resolve widget config from {@link AXPWidgetRegistryService} as usual.
|
|
3828
|
+
*/
|
|
3829
|
+
setPropertyDefinitions(properties: AXPWidgetProperty[] | null): IAXPWidgetPropertyViewerDialogBuilder;
|
|
3830
|
+
onAction(handler: (dialogRef: AXPPropertyViewerActionRef) => void | Promise<void> | unknown | Promise<unknown>): IAXPWidgetPropertyViewerDialogBuilder;
|
|
3831
|
+
/**
|
|
3832
|
+
* Applies edits and returns updated context; merge {@link AXPWidgetPropertyViewerResult.values} into your widget node
|
|
3833
|
+
* (typically `options` and any top-level fields the viewer exposes).
|
|
3834
|
+
*/
|
|
3835
|
+
show(): Promise<AXPWidgetPropertyViewerResult | null>;
|
|
3836
|
+
}
|
|
3837
|
+
declare class AXPWidgetPropertyViewerService {
|
|
3838
|
+
private readonly widgetRegistryService;
|
|
3839
|
+
private readonly propertyViewerService;
|
|
3840
|
+
/**
|
|
3841
|
+
* Same shape as `AXPPropertyViewerService.create()` — use `.dialog((d) => { ... }).show()`.
|
|
3842
|
+
*/
|
|
3843
|
+
create(): IAXPWidgetPropertyViewerRoot;
|
|
3844
|
+
/**
|
|
3845
|
+
* One-shot open (delegates to {@link #create} `.dialog().show()`).
|
|
3846
|
+
*/
|
|
3847
|
+
open(config: AXPWidgetPropertyViewerConfig): Promise<AXPWidgetPropertyViewerResult | null>;
|
|
3848
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPWidgetPropertyViewerService, never>;
|
|
3849
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPWidgetPropertyViewerService>;
|
|
3288
3850
|
}
|
|
3289
3851
|
|
|
3852
|
+
declare const AXP_SPREADSHEET_COLUMN_WIDGET_TYPES: readonly [string, string, string, string, string, string, string];
|
|
3853
|
+
type AXPSpreadsheetColumnWidgetType = (typeof AXP_SPREADSHEET_COLUMN_WIDGET_TYPES)[number];
|
|
3854
|
+
declare function toSpreadsheetColumnWidget(type: string, values: unknown): AXPWidgetNode;
|
|
3855
|
+
declare function readSpreadsheetColumnWidth(widget: AXPWidgetNode): string | undefined;
|
|
3856
|
+
declare function asSpreadsheetColumnTitle(title: AXPMultiLanguageString | undefined, fallback?: string): string | undefined;
|
|
3857
|
+
declare const SPREADSHEET_COLUMN_NAME_PATH = "columnName";
|
|
3858
|
+
declare const SPREADSHEET_COLUMN_TITLE_PATH = "columnTitle";
|
|
3859
|
+
declare function spreadsheetColumnIdentityProperties(): AXPWidgetPropertyInjection[];
|
|
3860
|
+
declare function readSpreadsheetColumnIdentity(values: unknown): {
|
|
3861
|
+
name?: string;
|
|
3862
|
+
title?: string;
|
|
3863
|
+
};
|
|
3864
|
+
declare function normalizeSpreadsheetColumnName(raw: string | undefined): string;
|
|
3865
|
+
|
|
3290
3866
|
/**
|
|
3291
3867
|
* Host configuration for {@link AXPStandardSectionItemsBuilderComponent}.
|
|
3292
3868
|
* Section add/edit UI (identity, content, visibility) and delete prompts are standardized;
|
|
@@ -3502,6 +4078,7 @@ declare class AXPTemplateViewerComponent extends AXBasePageComponent {
|
|
|
3502
4078
|
protected readonly document: _angular_core.WritableSignal<AXPWidgetNode>;
|
|
3503
4079
|
protected readonly currentPageIndex: _angular_core.WritableSignal<number>;
|
|
3504
4080
|
protected readonly _config: _angular_core.WritableSignal<AXPTemplateViewerConfig | undefined>;
|
|
4081
|
+
readonly sources: _angular_core.Signal<_acorex_platform_framework_client_layout_widget_core.AXPLocalDataSource[]>;
|
|
3505
4082
|
protected readonly currentPage: _angular_core.Signal<AXPWidgetNode>;
|
|
3506
4083
|
protected ngOnInit(): Promise<void>;
|
|
3507
4084
|
private loadTemplate;
|
|
@@ -3626,7 +4203,8 @@ declare class AXPUserAvatarComponent {
|
|
|
3626
4203
|
displayName: _angular_core.InputSignal<string | undefined>;
|
|
3627
4204
|
/** Resolved avatar URL when `userId` is not a platform user row. */
|
|
3628
4205
|
displayAvatar: _angular_core.InputSignal<string | undefined>;
|
|
3629
|
-
protected readonly presenceStatus: _angular_core.WritableSignal<"
|
|
4206
|
+
protected readonly presenceStatus: _angular_core.WritableSignal<"offline" | "online" | "away" | "busy" | null>;
|
|
4207
|
+
readonly avatarLoading: _angular_core.WritableSignal<boolean>;
|
|
3630
4208
|
src: _angular_core.WritableSignal<string>;
|
|
3631
4209
|
readonly userName: _angular_core.Signal<string>;
|
|
3632
4210
|
readonly firstName: _angular_core.Signal<string>;
|
|
@@ -3826,6 +4404,10 @@ declare class AXPVirtualKeypadComponent {
|
|
|
3826
4404
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPVirtualKeypadComponent, "axp-virtual-keypad", never, { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "showLetterHints": { "alias": "showLetterHints"; "required": false; "isSignal": true; }; "look": { "alias": "look"; "required": false; "isSignal": true; }; }, { "digitPress": "digitPress"; "backspace": "backspace"; "keyPress": "keyPress"; }, never, never, true, never>;
|
|
3827
4405
|
}
|
|
3828
4406
|
|
|
4407
|
+
interface AXPQueryViewContextMenuEvent {
|
|
4408
|
+
event: MouseEvent;
|
|
4409
|
+
view: AXPViewQuery;
|
|
4410
|
+
}
|
|
3829
4411
|
declare class AXPQueryViewsComponent {
|
|
3830
4412
|
#private;
|
|
3831
4413
|
protected popupService: AXPopupService;
|
|
@@ -3833,12 +4415,56 @@ declare class AXPQueryViewsComponent {
|
|
|
3833
4415
|
protected tabs: _angular_core.Signal<AXTabsComponent | undefined>;
|
|
3834
4416
|
views: _angular_core.ModelSignal<AXPViewQuery[]>;
|
|
3835
4417
|
selectedView: _angular_core.ModelSignal<AXPViewQuery>;
|
|
4418
|
+
viewContextMenu: _angular_core.OutputEmitterRef<AXPQueryViewContextMenuEvent>;
|
|
3836
4419
|
protected isMounted: _angular_core.WritableSignal<boolean>;
|
|
3837
4420
|
ngAfterViewInit(): void;
|
|
3838
4421
|
setView(view: AXPViewQuery): void;
|
|
4422
|
+
protected onTabContextMenu(event: MouseEvent, view: AXPViewQuery): void;
|
|
3839
4423
|
handleActiveChange(e: any): void;
|
|
3840
4424
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPQueryViewsComponent, never>;
|
|
3841
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPQueryViewsComponent, "axp-query-views", never, { "views": { "alias": "views"; "required": false; "isSignal": true; }; "selectedView": { "alias": "selectedView"; "required": true; "isSignal": true; }; }, { "views": "viewsChange"; "selectedView": "selectedViewChange"; }, never, never, true, never>;
|
|
4425
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPQueryViewsComponent, "axp-query-views", never, { "views": { "alias": "views"; "required": false; "isSignal": true; }; "selectedView": { "alias": "selectedView"; "required": true; "isSignal": true; }; }, { "views": "viewsChange"; "selectedView": "selectedViewChange"; "viewContextMenu": "viewContextMenu"; }, never, never, true, never>;
|
|
4426
|
+
}
|
|
4427
|
+
|
|
4428
|
+
declare class AXPQueryViewTabsComponent {
|
|
4429
|
+
private readonly translationService;
|
|
4430
|
+
private readonly contextMenu;
|
|
4431
|
+
views: _angular_core.InputSignal<AXPViewQuery[]>;
|
|
4432
|
+
selectedView: _angular_core.InputSignal<AXPViewQuery>;
|
|
4433
|
+
selectedViewChange: _angular_core.OutputEmitterRef<AXPViewQuery>;
|
|
4434
|
+
edit: _angular_core.OutputEmitterRef<AXPViewQuery>;
|
|
4435
|
+
remove: _angular_core.OutputEmitterRef<AXPViewQuery>;
|
|
4436
|
+
private readonly contextView;
|
|
4437
|
+
protected onSelectedViewChange(view: AXPViewQuery): void;
|
|
4438
|
+
protected onViewContextMenu(payload: AXPQueryViewContextMenuEvent): Promise<void>;
|
|
4439
|
+
protected onContextMenuItemClick(event: AXContextMenuItemsClickEvent): void;
|
|
4440
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPQueryViewTabsComponent, never>;
|
|
4441
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPQueryViewTabsComponent, "axp-query-view-tabs", never, { "views": { "alias": "views"; "required": true; "isSignal": true; }; "selectedView": { "alias": "selectedView"; "required": true; "isSignal": true; }; }, { "selectedViewChange": "selectedViewChange"; "edit": "edit"; "remove": "remove"; }, never, never, true, never>;
|
|
4442
|
+
}
|
|
4443
|
+
|
|
4444
|
+
declare class AXPQueryViewSaveButtonComponent {
|
|
4445
|
+
visible: _angular_core.InputSignal<boolean>;
|
|
4446
|
+
save: _angular_core.OutputEmitterRef<void>;
|
|
4447
|
+
protected onSave(): void;
|
|
4448
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPQueryViewSaveButtonComponent, never>;
|
|
4449
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPQueryViewSaveButtonComponent, "axp-query-view-save-button", never, { "visible": { "alias": "visible"; "required": false; "isSignal": true; }; }, { "save": "save"; }, never, never, true, never>;
|
|
4450
|
+
}
|
|
4451
|
+
|
|
4452
|
+
interface AXPQueryViewSaveDialogInput {
|
|
4453
|
+
mode: 'create' | 'edit';
|
|
4454
|
+
title?: string;
|
|
4455
|
+
}
|
|
4456
|
+
interface AXPQueryViewSaveDialogResult {
|
|
4457
|
+
title: string;
|
|
4458
|
+
includeActiveView: boolean;
|
|
4459
|
+
}
|
|
4460
|
+
declare class AXPQueryViewSaveDialogService {
|
|
4461
|
+
private readonly layoutBuilder;
|
|
4462
|
+
private readonly dialogService;
|
|
4463
|
+
private readonly translationService;
|
|
4464
|
+
open(initial: AXPQueryViewSaveDialogInput): Promise<AXPQueryViewSaveDialogResult | null>;
|
|
4465
|
+
confirmDelete(): Promise<boolean>;
|
|
4466
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPQueryViewSaveDialogService, never>;
|
|
4467
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPQueryViewSaveDialogService>;
|
|
3842
4468
|
}
|
|
3843
4469
|
|
|
3844
4470
|
/**
|
|
@@ -3936,16 +4562,25 @@ interface AXPWidgetPropertiesChangedEvent {
|
|
|
3936
4562
|
}
|
|
3937
4563
|
declare class AXPWidgetPropertyViewerComponent {
|
|
3938
4564
|
widget: _angular_core.InputSignal<AXPWidgetNode>;
|
|
3939
|
-
mode: _angular_core.InputSignal<"
|
|
4565
|
+
mode: _angular_core.InputSignal<"advanced" | "simple">;
|
|
4566
|
+
/** Designer toolbar size. Prefer this over DI so drawers still receive the active profile. */
|
|
4567
|
+
layoutProfile: _angular_core.InputSignal<AXPLayoutProfileContext | null>;
|
|
4568
|
+
/**
|
|
4569
|
+
* How binding expressions are edited. Designer side panel should use `popup`;
|
|
4570
|
+
* dialogs (enough width) should use `inline`.
|
|
4571
|
+
*/
|
|
4572
|
+
bindingExpressionEditorMode: _angular_core.InputSignal<AXPPropertyViewerBindingExpressionEditorMode>;
|
|
3940
4573
|
onChanged: EventEmitter<AXPWidgetPropertiesChangedEvent>;
|
|
3941
4574
|
protected readonly propertyViewerRef: _angular_core.Signal<AXPPropertyViewerComponent | undefined>;
|
|
3942
4575
|
protected readonly config: _angular_core.WritableSignal<AXPWidgetConfig<any> | null>;
|
|
3943
4576
|
protected readonly tabs: _angular_core.WritableSignal<AXPPropertyViewerTab[]>;
|
|
3944
4577
|
protected initialContext: Record<string, unknown>;
|
|
3945
4578
|
protected groupCollapsedStates: Map<string, boolean>;
|
|
3946
|
-
/** When true,
|
|
4579
|
+
/** When true, onChanged updates from the inner viewer were caused by hydrate/push; do not forward. */
|
|
3947
4580
|
private suppressNextEmit;
|
|
4581
|
+
private suppressTimer?;
|
|
3948
4582
|
private readonly widgetRegistryService;
|
|
4583
|
+
private readonly injectedLayoutProfile;
|
|
3949
4584
|
constructor();
|
|
3950
4585
|
/**
|
|
3951
4586
|
* Merges the given values into the property viewer context. Called by the designer when applying changes (e.g. undo/redo).
|
|
@@ -3954,13 +4589,21 @@ declare class AXPWidgetPropertyViewerComponent {
|
|
|
3954
4589
|
update(values: any): void;
|
|
3955
4590
|
private fillTabs;
|
|
3956
4591
|
protected handlePropertyViewerChanged(ev: AXPPropertyViewerChangedEvent): void;
|
|
4592
|
+
protected readonly activeLayoutProfile: _angular_core.Signal<AXPLayoutProfileContext>;
|
|
4593
|
+
private asRecord;
|
|
4594
|
+
private layoutProfileProperties;
|
|
4595
|
+
private projectLayoutProfileValues;
|
|
4596
|
+
private persistLayoutProfileValues;
|
|
4597
|
+
/** Keep the live tree in sync even if the designer command is skipped. */
|
|
4598
|
+
private writeLayoutProfileToWidget;
|
|
4599
|
+
private holdEmitSuppression;
|
|
3957
4600
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPWidgetPropertyViewerComponent, never>;
|
|
3958
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPWidgetPropertyViewerComponent, "axp-widget-property-viewer", never, { "widget": { "alias": "widget"; "required": true; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; }, { "onChanged": "onChanged"; }, never, never, true, never>;
|
|
4601
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPWidgetPropertyViewerComponent, "axp-widget-property-viewer", never, { "widget": { "alias": "widget"; "required": true; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "layoutProfile": { "alias": "layoutProfile"; "required": false; "isSignal": true; }; "bindingExpressionEditorMode": { "alias": "bindingExpressionEditorMode"; "required": false; "isSignal": true; }; }, { "onChanged": "onChanged"; }, never, never, true, never>;
|
|
3959
4602
|
}
|
|
3960
4603
|
|
|
3961
4604
|
declare class AXPWidgetPropertyViewerPopupComponent extends AXBasePageComponent {
|
|
3962
4605
|
widget: _angular_core.InputSignal<AXPWidgetNode>;
|
|
3963
|
-
mode: _angular_core.InputSignal<"
|
|
4606
|
+
mode: _angular_core.InputSignal<"advanced" | "simple">;
|
|
3964
4607
|
protected currentValues: _angular_core.WritableSignal<any>;
|
|
3965
4608
|
constructor();
|
|
3966
4609
|
protected handlePropertyChanged(event: {
|
|
@@ -3973,95 +4616,5 @@ declare class AXPWidgetPropertyViewerPopupComponent extends AXBasePageComponent
|
|
|
3973
4616
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPWidgetPropertyViewerPopupComponent, "axp-widget-property-viewer-popup", never, { "widget": { "alias": "widget"; "required": true; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
3974
4617
|
}
|
|
3975
4618
|
|
|
3976
|
-
|
|
3977
|
-
|
|
3978
|
-
tab?: {
|
|
3979
|
-
name?: string;
|
|
3980
|
-
title?: string;
|
|
3981
|
-
};
|
|
3982
|
-
group?: {
|
|
3983
|
-
name?: string;
|
|
3984
|
-
title?: string;
|
|
3985
|
-
};
|
|
3986
|
-
}
|
|
3987
|
-
interface AXPWidgetPropertyViewerConfig {
|
|
3988
|
-
title: string;
|
|
3989
|
-
widget: AXPWidgetNode;
|
|
3990
|
-
mode?: 'simple' | 'advanced';
|
|
3991
|
-
onApply?: (result: AXPWidgetPropertyViewerResult) => void | Promise<void>;
|
|
3992
|
-
/**
|
|
3993
|
-
* Property names to exclude from the viewer.
|
|
3994
|
-
*/
|
|
3995
|
-
exclude?: string[];
|
|
3996
|
-
/**
|
|
3997
|
-
* Custom property injection configuration.
|
|
3998
|
-
*/
|
|
3999
|
-
custom?: {
|
|
4000
|
-
/**
|
|
4001
|
-
* Custom property injection entries.
|
|
4002
|
-
*/
|
|
4003
|
-
properties: AXPWidgetPropertyInjection[];
|
|
4004
|
-
/**
|
|
4005
|
-
* Default tab fallback if property injection doesn't specify one.
|
|
4006
|
-
* When omitted, falls back to the first tab or "general".
|
|
4007
|
-
*/
|
|
4008
|
-
defaultTab?: {
|
|
4009
|
-
name?: string;
|
|
4010
|
-
title?: string;
|
|
4011
|
-
};
|
|
4012
|
-
/**
|
|
4013
|
-
* Default group fallback when injection doesn't specify a group.
|
|
4014
|
-
* When omitted, falls back to the tab's first group or property defined group.
|
|
4015
|
-
*/
|
|
4016
|
-
defaultGroup?: {
|
|
4017
|
-
name?: string;
|
|
4018
|
-
title?: string;
|
|
4019
|
-
};
|
|
4020
|
-
};
|
|
4021
|
-
}
|
|
4022
|
-
/** Emitted when the dialog applies; `values` is the updated viewer context (merge into {@link AXPWidgetNode} as needed). */
|
|
4023
|
-
interface AXPWidgetPropertyViewerResult {
|
|
4024
|
-
values: any;
|
|
4025
|
-
mode: 'init' | 'update';
|
|
4026
|
-
}
|
|
4027
|
-
interface IAXPWidgetPropertyViewerRoot {
|
|
4028
|
-
dialog(delegate: (container: IAXPWidgetPropertyViewerDialogBuilder) => void): IAXPWidgetPropertyViewerDialogBuilder;
|
|
4029
|
-
}
|
|
4030
|
-
interface IAXPWidgetPropertyViewerDialogBuilder {
|
|
4031
|
-
setTitle(title: string): IAXPWidgetPropertyViewerDialogBuilder;
|
|
4032
|
-
/**
|
|
4033
|
-
* Initial widget state shown in the viewer (type, options, name/path, …). Call before {@link show}.
|
|
4034
|
-
*/
|
|
4035
|
-
setWidget(widget: AXPWidgetNode): IAXPWidgetPropertyViewerDialogBuilder;
|
|
4036
|
-
setMode(mode: 'simple' | 'advanced'): IAXPWidgetPropertyViewerDialogBuilder;
|
|
4037
|
-
setExclude(exclude: string[]): IAXPWidgetPropertyViewerDialogBuilder;
|
|
4038
|
-
setCustom(custom: AXPWidgetPropertyViewerConfig['custom']): IAXPWidgetPropertyViewerDialogBuilder;
|
|
4039
|
-
/**
|
|
4040
|
-
* When set to a non-empty array, builds tabs from these properties and skips registry lookup for {@link setWidget}'s type.
|
|
4041
|
-
* Omit or clear to resolve widget config from {@link AXPWidgetRegistryService} as usual.
|
|
4042
|
-
*/
|
|
4043
|
-
setPropertyDefinitions(properties: AXPWidgetProperty[] | null): IAXPWidgetPropertyViewerDialogBuilder;
|
|
4044
|
-
onAction(handler: (dialogRef: AXPPropertyViewerActionRef) => void | Promise<void> | unknown | Promise<unknown>): IAXPWidgetPropertyViewerDialogBuilder;
|
|
4045
|
-
/**
|
|
4046
|
-
* Applies edits and returns updated context; merge {@link AXPWidgetPropertyViewerResult.values} into your widget node
|
|
4047
|
-
* (typically `options` and any top-level fields the viewer exposes).
|
|
4048
|
-
*/
|
|
4049
|
-
show(): Promise<AXPWidgetPropertyViewerResult | null>;
|
|
4050
|
-
}
|
|
4051
|
-
declare class AXPWidgetPropertyViewerService {
|
|
4052
|
-
private readonly widgetRegistryService;
|
|
4053
|
-
private readonly propertyViewerService;
|
|
4054
|
-
/**
|
|
4055
|
-
* Same shape as `AXPPropertyViewerService.create()` — use `.dialog((d) => { ... }).show()`.
|
|
4056
|
-
*/
|
|
4057
|
-
create(): IAXPWidgetPropertyViewerRoot;
|
|
4058
|
-
/**
|
|
4059
|
-
* One-shot open (delegates to {@link #create} `.dialog().show()`).
|
|
4060
|
-
*/
|
|
4061
|
-
open(config: AXPWidgetPropertyViewerConfig): Promise<AXPWidgetPropertyViewerResult | null>;
|
|
4062
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPWidgetPropertyViewerService, never>;
|
|
4063
|
-
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPWidgetPropertyViewerService>;
|
|
4064
|
-
}
|
|
4065
|
-
|
|
4066
|
-
export { AXPActivityLogComponent, AXPAvatarComponent, AXPCategoryTreeComponent, AXPColorChooserComponent, AXPColorPalettePickerComponent, AXPColumnItemListComponent, AXPCompareViewComponent, AXPConditionBuilderComponent, AXPConditionBuilderConditionComponent, AXPDataSelectorComponent, AXPDataSelectorService, AXPDragDropListComponent, AXPExpressionFieldDefinitions, AXPFileChooserCompressImagesHook, AXPFileChooserDirective, AXPFileChooserHookKeys, AXPFileChooserService, AXPFileChooserZipFilesHook, AXPFileUploaderDirective, AXPFileUploaderHookKeys, AXPFileUploaderService, AXPFileViewerComponent, AXPFileViewerFallbackContentComponent, AXPFileViewerService, AXPImageEditorPopupComponent, AXPImageEditorService, AXPInfiniteScrollDirective, AXPItemConfiguratorComponent, AXPLayoutFloatingZoomBarComponent, AXPLayoutSideDetailPanelComponent, AXPLayoutSideDetailPanelSectionDirective, AXPMarkdownTemplateDirective, AXPMarkdownViewerComponent, AXPMenuBadgeHelper, AXPMenuCustomizerComponent, AXPMenuCustomizerService, AXPOutcomeResultsViewerComponent, AXPPageComponentRegistryService, AXPPreloadFiltersComponent, AXPPropertyViewerComponent, AXPPropertyViewerPopupComponent, AXPPropertyViewerService, AXPQueryColumnsComponent, AXPQueryFiltersComponent, AXPQuerySortsComponent, AXPQueryViewsComponent, AXPRepeaterRowsLayoutComponent, AXPResourceAppointmentBoardProvider, AXPResourceAppointmentComponent, AXPResourceAppointmentService, AXPSectionItemsBuilderComponent, AXPSignatureEditorService, AXPSpreadsheetComponent, AXPStandardSectionItemsBuilderComponent, AXPStopwatchComponent, AXPTableColumnsEditorComponent, AXPTableColumnsEditorPopupComponent, AXPTableColumnsEditorService, AXPTableDataEditorComponent, AXPTableDataEditorPopupComponent, AXPTableDataEditorService, AXPTaskBadgeDirective, AXPTaskBadgeProvider, AXPTaskBadgeService, AXPTemplateViewerComponent, AXPTemplateViewerService, AXPTextCommandColumnComponent, AXPThemeLayoutActionsComponent, AXPThemeLayoutBlockComponent, AXPThemeLayoutContainerComponent, AXPThemeLayoutEndSideComponent, AXPThemeLayoutFooterComponent, AXPThemeLayoutHeaderComponent, AXPThemeLayoutListComponent, AXPThemeLayoutListItemComponent, AXPThemeLayoutListItemsGroupComponent, AXPThemeLayoutPageHeaderComponent, AXPThemeLayoutPagePrimaryActionsComponent, AXPThemeLayoutPageSecondaryActionsComponent, AXPThemeLayoutSectionComponent, AXPThemeLayoutStartSideComponent, AXPThemeLayoutToolbarComponent, AXPUserAvatarComponent, AXPUserAvatarService, AXPUserCardComponent, AXPUserCardDirective, AXPUserCardService, AXPVirtualKeypadComponent, AXPWidgetFieldConfiguratorComponent, AXPWidgetItemComponent, AXPWidgetPropertyViewerComponent, AXPWidgetPropertyViewerPopupComponent, AXPWidgetPropertyViewerService, AXP_EXPRESSION_LOGIC_DEFINITIONS, AXP_EXPRESSION_OPERATION_DEFINITIONS, AXP_FILE_CHOOSER_DEFAULT_ZIP_ARCHIVE_NAME, AXP_FILE_CHOOSER_HOOK_PROVIDERS, AXP_FILE_CHOOSER_OPTION_KEYS, AXP_FILE_CHOOSER_PROVIDERS, AXP_FILE_UPLOADER_PROVIDERS, AXP_INFINITE_SCROLL_DEFAULT_ROOT_MARGIN, AXP_MENU_CUSTOMIZER_SERVICE, AXP_PAGE_COMPONENT_PROVIDER, AXP_PAGE_LAYOUT_ELEMENT_ID, AXP_RESOURCE_APPOINTMENT_PROVIDER, AXP_SYSTEM_FILE_CHOOSER_PROVIDER, AXP_SYSTEM_FILE_UPLOADER_PROVIDER, AXP_TASK_BADGE_PROVIDERS, AXP_USER_AVATAR_PROVIDER, STANDARD_SECTION_ITEMS_SECTION_TABS, USER_CARD_HOVER_OPEN_DELAY_MS, USER_CARD_ITEMS_HOOK, USER_CARD_ITEMS_SKELETON_DELAY_MS, buildFileChooserOptions, buildPropertyViewerInitialContextFromProperties, buildPropertyViewerTabsFromProperties, buildTableColumnsEditorLayout, compressImageFile, createAttachedFileProviderMenu, createZipArchive, fileListItemToFileViewerItem, fileMatchesAccept, filterFileProvidersByContext, filterFilesByAcceptAndMaxSize, formatAcceptForDisplay, formatMaxFileSizeForDisplay, getFieldDefinitions, getLogicDefinition, getOperationDefinition, isPropertyBindingExpressionFormValue, isUnrestrictedFileAccept, mapFileListToViewerItems, mergeInfiniteScrollPage, normalizeFileViewerBoundValue, notifyFileAcceptRejections, observeInfiniteScroll, preparePropertyForViewer, preparePropertyViewerTabs, provideFileChooserHooks, registerFieldDefinitions, resolveExcludedFileProviderKeys, resolveFileChooserAccept, resolveFileChooserExtension, resolveFileListItemUrl, resolveFileUploaderEmptyStateDescription, resolveInfiniteScrollRoot, sortUserCardActions, sortUserCardRows, validateFileChooserItems, visibleUserCardActions, withValidationsOnEditorNode };
|
|
4067
|
-
export type { AXPActivityLogCompareRequest, AXPAttachedFileProviderMenu, AXPBuilderBadge, AXPBuilderBadgeVariant, AXPBuilderDefinition, AXPBuilderItem, AXPBuilderItemIconTone, AXPBuilderItemViewModel, AXPBuilderSection, AXPBuilderTexts, AXPBuilderValue, AXPCategoryTreeActions, AXPCategoryTreeConfig, AXPCategoryTreeDataSource, AXPCategoryTreeEvents, AXPCategoryTreeNode, AXPColorChooserGroup, AXPColorChooserLook, AXPColorChooserSwatch, AXPColumnItemListItem, AXPCompareViewField, AXPCompareViewInputs, AXPCompareViewMode, AXPCompareViewObject, AXPDataSelectorAllowCreate, AXPDataSelectorCategoryConfig, AXPDataSelectorCategoryFilterConfig, AXPDataSelectorColumn, AXPDataSelectorConfig, AXPDataSelectorCreateConfig, AXPDataSelectorFilterConfig, AXPDataSelectorFooterPrefixAction, AXPDataSelectorGridConfig, AXPDataSelectorRowActionItem, AXPDataSelectorRowActionsHandler, AXPDataSelectorSearchConfig, AXPDataSelectorSearchField, AXPDataSelectorSelectionConfig, AXPDragDropListConfig, AXPDragDropListDropEvent, AXPDragDropListItem, AXPExpressionFieldDefinition, AXPExpressionGroupNode, AXPExpressionLogicDefinition, AXPExpressionLogicType, AXPExpressionNode, AXPExpressionNodeId, AXPExpressionOperationDefinition, AXPExpressionOperationNode, AXPExpressionOperationType, AXPExpressionTree, AXPExpressionValueOperand, AXPExpressionValueSourceType, AXPFileChooserAfterChosenPayload, AXPFileChooserContext, AXPFileChooserOptionKey, AXPFileChooserProvider, AXPFileProviderDestination, AXPFileUploaderBeforeUploadPayload, AXPFileUploaderContext, AXPFileUploaderProvider, AXPFileViewerGalleryConfig, AXPFileViewerOpenFilesOptions, AXPImageEditorOpenOptions, AXPInfiniteScrollMergeResult, AXPInfiniteScrollPage, AXPInfiniteScrollRoot, AXPLayoutSideDetailPanelEmptyState, AXPLayoutSideDetailPanelHeader, AXPLayoutSideDetailPanelHeaderIcon, AXPLayoutSideDetailPanelRow, AXPLayoutSideDetailPanelRowFormat, AXPLayoutSideDetailPanelSection, AXPMenuCustomizerAction, AXPMenuCustomizerItem, AXPMenuCustomizerItemType, AXPMenuCustomizerNodeData, AXPMenuCustomizerNodeMetadata, AXPMenuCustomizerState, AXPObserveInfiniteScrollOptions, AXPOutcomeResultRow, AXPOutcomeResultSection, AXPOutcomeResultValuePresentation, AXPOutcomeResultsViewModel, AXPPageComponentDefinition, AXPPageComponentProvider, AXPPreloadFiltersApplyEvent, AXPPropertyViewerActionRef, AXPPropertyViewerChangedEvent, AXPPropertyViewerConfig, AXPPropertyViewerGroup, AXPPropertyViewerResult, AXPPropertyViewerTab, AXPResourceAppointmentActionMenuItem, AXPResourceAppointmentBoardFilter, AXPResourceAppointmentItem, AXPResourceAppointmentResource, AXPResourceAppointmentStatus, AXPSignatureEditorAction, AXPSignatureEditorOpenOptions, AXPSignatureEditorResult, AXPSpreadsheetCellChangeEvent, AXPSpreadsheetCellValue, AXPSpreadsheetColumn, AXPSpreadsheetConfig, AXPSpreadsheetData, AXPSpreadsheetItem, AXPSpreadsheetRowChangeEvent, AXPSpreadsheetRowMode, AXPStandardSectionFormContext, AXPStandardSectionItemsBuilderConfig, AXPTableColumnDefinition, AXPTableColumnsEditorOpenOptions, AXPTableDataEditorOpenOptions, AXPTemplateViewerConfig, AXPTemplateViewerResult, AXPTextCommandColumnClickEvent, AXPUserAvatarData, AXPUserAvatarProvider, AXPUserAvatarSize, AXPUserAvatarStatus, AXPUserCardAction, AXPUserCardItemsPayload, AXPUserCardRow, AXPUserCardShowOptions, AXPUserCardTrigger, AXPVirtualKeypadAction, AXPVirtualKeypadKey, AXPVirtualKeypadLook, AXPVirtualKeypadPressEvent, AXPWidgetItemClickEvent, AXPWidgetItemData, AXPWidgetPropertiesChangedEvent, AXPWidgetPropertyInjection, AXPWidgetPropertyViewerConfig, AXPWidgetPropertyViewerResult, ConditionBuilderSelectedField, FileAcceptFilterResult, FileAcceptRejectedFile, FileUploaderEmptyStateDescriptionKey, FileViewerUrlTracker, IAXPPropertyViewerDialogBuilder, IAXPPropertyViewerRoot, IAXPWidgetPropertyViewerDialogBuilder, IAXPWidgetPropertyViewerRoot, ItemConfiguratorListItem };
|
|
4619
|
+
export { AXPActivityLogComponent, AXPAvatarComponent, AXPCategoryTreeComponent, AXPColorChooserComponent, AXPColorPalettePickerComponent, AXPColumnItemListComponent, AXPCompareViewComponent, AXPConditionBuilderComponent, AXPConditionBuilderConditionComponent, AXPDataSelectorComponent, AXPDataSelectorService, AXPDragDropListComponent, AXPEntityListStylingDialogService, AXPEntityListStylingPopupComponent, AXPExpressionFieldDefinitions, AXPFileChooserCompressImagesHook, AXPFileChooserDirective, AXPFileChooserHookKeys, AXPFileChooserService, AXPFileChooserZipFilesHook, AXPFileUploaderDirective, AXPFileUploaderHookKeys, AXPFileUploaderService, AXPFileViewerComponent, AXPFileViewerFallbackContentComponent, AXPFileViewerService, AXPImageEditorPopupComponent, AXPImageEditorService, AXPInfiniteScrollDirective, AXPItemConfiguratorComponent, AXPLayoutFloatingZoomBarComponent, AXPLayoutSideDetailPanelComponent, AXPLayoutSideDetailPanelSectionDirective, AXPLocalDataSourceEditorDialogService, AXPMarkdownTemplateDirective, AXPMarkdownViewerComponent, AXPMenuBadgeHelper, AXPMenuCustomizerComponent, AXPMenuCustomizerService, AXPOutcomeResultsViewerComponent, AXPPageComponentRegistryService, AXPPreloadFiltersComponent, AXPPropertyViewerComponent, AXPPropertyViewerPopupComponent, AXPPropertyViewerService, AXPQueryColumnsComponent, AXPQueryFiltersComponent, AXPQuerySortsComponent, AXPQueryViewSaveButtonComponent, AXPQueryViewSaveDialogService, AXPQueryViewTabsComponent, AXPQueryViewsComponent, AXPRepeaterRowsLayoutComponent, AXPResourceAppointmentBoardProvider, AXPResourceAppointmentComponent, AXPResourceAppointmentService, AXPSectionItemsBuilderComponent, AXPSignatureEditorService, AXPSpreadsheetComponent, AXPStandardSectionItemsBuilderComponent, AXPStopwatchComponent, AXPTableColumnsEditorComponent, AXPTableColumnsEditorPopupComponent, AXPTableColumnsEditorService, AXPTableDataEditorComponent, AXPTableDataEditorPopupComponent, AXPTableDataEditorService, AXPTaskBadgeDirective, AXPTaskBadgeProvider, AXPTaskBadgeService, AXPTemplateViewerComponent, AXPTemplateViewerService, AXPTextCommandColumnComponent, AXPThemeLayoutActionsComponent, AXPThemeLayoutBlockComponent, AXPThemeLayoutContainerComponent, AXPThemeLayoutEndSideComponent, AXPThemeLayoutFooterComponent, AXPThemeLayoutHeaderComponent, AXPThemeLayoutListComponent, AXPThemeLayoutListItemComponent, AXPThemeLayoutListItemsGroupComponent, AXPThemeLayoutPageHeaderComponent, AXPThemeLayoutPagePrimaryActionsComponent, AXPThemeLayoutPageSecondaryActionsComponent, AXPThemeLayoutSectionComponent, AXPThemeLayoutStartSideComponent, AXPThemeLayoutToolbarComponent, AXPUserAvatarComponent, AXPUserAvatarService, AXPUserCardComponent, AXPUserCardDirective, AXPUserCardService, AXPVirtualKeypadComponent, AXPWidgetFieldConfiguratorComponent, AXPWidgetItemComponent, AXPWidgetPropertyViewerComponent, AXPWidgetPropertyViewerPopupComponent, AXPWidgetPropertyViewerService, AXP_EXPRESSION_LOGIC_DEFINITIONS, AXP_EXPRESSION_OPERATION_DEFINITIONS, AXP_FILE_CHOOSER_DEFAULT_ZIP_ARCHIVE_NAME, AXP_FILE_CHOOSER_HOOK_PROVIDERS, AXP_FILE_CHOOSER_OPTION_KEYS, AXP_FILE_CHOOSER_PROVIDERS, AXP_FILE_UPLOADER_PROVIDERS, AXP_IMAGE_FILE_CHOOSER_ACCEPT, AXP_INFINITE_SCROLL_DEFAULT_ROOT_MARGIN, AXP_MENU_CUSTOMIZER_SERVICE, AXP_PAGE_COMPONENT_PROVIDER, AXP_PAGE_LAYOUT_ELEMENT_ID, AXP_PROFILE_PHOTO_GRAVATAR_SOURCE_KEY, AXP_RESOURCE_APPOINTMENT_PROVIDER, AXP_SPREADSHEET_COLUMN_WIDGET_TYPES, AXP_SYSTEM_FILE_CHOOSER_PROVIDER, AXP_SYSTEM_FILE_UPLOADER_PROVIDER, AXP_TASK_BADGE_PROVIDERS, AXP_USER_AVATAR_PROVIDER, PROPERTY_VIEWER_EXPRESSION_EDITOR_MIN_LINES, SPREADSHEET_COLUMN_NAME_PATH, SPREADSHEET_COLUMN_TITLE_PATH, STANDARD_SECTION_ITEMS_SECTION_TABS, USER_CARD_HOVER_OPEN_DELAY_MS, USER_CARD_ITEMS_HOOK, USER_CARD_ITEMS_SKELETON_DELAY_MS, asSpreadsheetColumnTitle, buildEntityListStylingRulesLayout, buildFileChooserOptions, buildGravatarAvatarUrl, buildPropertyViewerInitialContextFromProperties, buildPropertyViewerTabsFromProperties, buildTableColumnsEditorLayout, compressImageFile, createAttachedFileProviderMenu, createZipArchive, fetchGravatarImageFile, fileListItemToFileViewerItem, fileListItemToImageFile, fileMatchesAccept, fileNameMatchesAccept, filterFileProvidersByContext, filterFilesByAcceptAndMaxSize, formatAcceptForDisplay, formatMaxFileSizeForDisplay, getFieldDefinitions, getLogicDefinition, getOperationDefinition, isPropertyBindingExpressionFormValue, isUnrestrictedFileAccept, mapFileListToViewerItems, md5Hex, mergeInfiniteScrollPage, mergeObjectsReplacingArrays, normalizeFileViewerBoundValue, normalizeSpreadsheetColumnName, notifyFileAcceptRejections, observeInfiniteScroll, pickImageFileViaFileChooser, pickProfilePhotoImageFile, preparePropertyForViewer, preparePropertyViewerTabs, provideFileChooserHooks, readSpreadsheetColumnIdentity, readSpreadsheetColumnWidth, registerFieldDefinitions, resolveExcludedFileProviderKeys, resolveFileChooserAccept, resolveFileChooserExtension, resolveFileListItemUrl, resolveFileUploaderEmptyStateDescription, resolveInfiniteScrollRoot, sortUserCardActions, sortUserCardRows, spreadsheetColumnIdentityProperties, toSpreadsheetColumnWidget, validateFileChooserItems, visibleUserCardActions, withValidationsOnEditorNode };
|
|
4620
|
+
export type { AXPActivityLogCompareRequest, AXPAttachedFileProviderMenu, AXPBuilderBadge, AXPBuilderBadgeVariant, AXPBuilderDefinition, AXPBuilderItem, AXPBuilderItemIconTone, AXPBuilderItemViewModel, AXPBuilderSection, AXPBuilderTexts, AXPBuilderValue, AXPCategoryTreeActions, AXPCategoryTreeConfig, AXPCategoryTreeDataSource, AXPCategoryTreeEvents, AXPCategoryTreeNode, AXPColorChooserGroup, AXPColorChooserLook, AXPColorChooserSwatch, AXPColumnItemListItem, AXPCompareViewField, AXPCompareViewInputs, AXPCompareViewMode, AXPCompareViewObject, AXPDataSelectorAllowCreate, AXPDataSelectorCategoryConfig, AXPDataSelectorCategoryFilterConfig, AXPDataSelectorColumn, AXPDataSelectorConfig, AXPDataSelectorCreateConfig, AXPDataSelectorFilterConfig, AXPDataSelectorFooterPrefixAction, AXPDataSelectorGridConfig, AXPDataSelectorRowActionItem, AXPDataSelectorRowActionsHandler, AXPDataSelectorSearchConfig, AXPDataSelectorSearchField, AXPDataSelectorSelectionConfig, AXPDragDropListConfig, AXPDragDropListDropEvent, AXPDragDropListItem, AXPEntityListStylingDialogInput, AXPEntityListStylingRulesKind, AXPEntityListStylingRulesLayoutOptions, AXPExpressionFieldDefinition, AXPExpressionGroupNode, AXPExpressionLogicDefinition, AXPExpressionLogicType, AXPExpressionNode, AXPExpressionNodeId, AXPExpressionOperationDefinition, AXPExpressionOperationNode, AXPExpressionOperationType, AXPExpressionTree, AXPExpressionValueOperand, AXPExpressionValueSourceType, AXPFileChooserAfterChosenPayload, AXPFileChooserContext, AXPFileChooserOptionKey, AXPFileChooserProvider, AXPFileProviderDestination, AXPFileUploaderBeforeUploadPayload, AXPFileUploaderContext, AXPFileUploaderProvider, AXPFileViewerGalleryConfig, AXPFileViewerOpenFilesOptions, AXPImageEditorOpenOptions, AXPInfiniteScrollMergeResult, AXPInfiniteScrollPage, AXPInfiniteScrollRoot, AXPLayoutSideDetailPanelEmptyState, AXPLayoutSideDetailPanelHeader, AXPLayoutSideDetailPanelHeaderIcon, AXPLayoutSideDetailPanelRow, AXPLayoutSideDetailPanelRowFormat, AXPLayoutSideDetailPanelSection, AXPLocalDataSourceEditorDialogInput, AXPLocalDataSourceEditorDialogResult, AXPMenuCustomizerAction, AXPMenuCustomizerItem, AXPMenuCustomizerItemType, AXPMenuCustomizerNodeData, AXPMenuCustomizerNodeMetadata, AXPMenuCustomizerState, AXPObserveInfiniteScrollOptions, AXPOutcomeResultRow, AXPOutcomeResultSection, AXPOutcomeResultValuePresentation, AXPOutcomeResultsViewModel, AXPPageComponentDefinition, AXPPageComponentProvider, AXPPreloadFiltersApplyEvent, AXPProfilePhotoImagePickOptions, AXPProfilePhotoImagePickResult, AXPPropertyViewerActionRef, AXPPropertyViewerBindingExpressionEditorMode, AXPPropertyViewerChangedEvent, AXPPropertyViewerConfig, AXPPropertyViewerGroup, AXPPropertyViewerResult, AXPPropertyViewerTab, AXPQueryViewContextMenuEvent, AXPQueryViewSaveDialogInput, AXPQueryViewSaveDialogResult, AXPResourceAppointmentActionMenuItem, AXPResourceAppointmentBoardFilter, AXPResourceAppointmentItem, AXPResourceAppointmentResource, AXPResourceAppointmentStatus, AXPSignatureEditorAction, AXPSignatureEditorOpenOptions, AXPSignatureEditorResult, AXPSpreadsheetCellChangeEvent, AXPSpreadsheetCellValue, AXPSpreadsheetColumn, AXPSpreadsheetColumnChangeEvent, AXPSpreadsheetColumnWidgetType, AXPSpreadsheetConfig, AXPSpreadsheetData, AXPSpreadsheetItem, AXPSpreadsheetRowChangeEvent, AXPSpreadsheetRowMode, AXPStandardSectionFormContext, AXPStandardSectionItemsBuilderConfig, AXPTableColumnDefinition, AXPTableColumnsEditorOpenOptions, AXPTableDataEditorOpenOptions, AXPTemplateViewerConfig, AXPTemplateViewerResult, AXPTextCommandColumnClickEvent, AXPUserAvatarData, AXPUserAvatarProvider, AXPUserAvatarSize, AXPUserAvatarStatus, AXPUserCardAction, AXPUserCardItemsPayload, AXPUserCardRow, AXPUserCardShowOptions, AXPUserCardTrigger, AXPVirtualKeypadAction, AXPVirtualKeypadKey, AXPVirtualKeypadLook, AXPVirtualKeypadPressEvent, AXPWidgetItemClickEvent, AXPWidgetItemData, AXPWidgetPropertiesChangedEvent, AXPWidgetPropertyInjection, AXPWidgetPropertyViewerConfig, AXPWidgetPropertyViewerResult, ConditionBuilderSelectedField, FileAcceptFilterResult, FileAcceptRejectedFile, FileUploaderEmptyStateDescriptionKey, FileViewerUrlTracker, IAXPPropertyViewerDialogBuilder, IAXPPropertyViewerRoot, IAXPWidgetPropertyViewerDialogBuilder, IAXPWidgetPropertyViewerRoot, ItemConfiguratorListItem };
|