@acorex/platform 20.3.0-next.1 → 20.3.0-next.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/common/index.d.ts +125 -12
- package/core/index.d.ts +656 -100
- package/fesm2022/acorex-platform-auth.mjs +20 -20
- package/fesm2022/acorex-platform-auth.mjs.map +1 -1
- package/fesm2022/acorex-platform-common.mjs +120 -148
- package/fesm2022/acorex-platform-common.mjs.map +1 -1
- package/fesm2022/acorex-platform-core.mjs +885 -261
- package/fesm2022/acorex-platform-core.mjs.map +1 -1
- package/fesm2022/acorex-platform-domain.mjs +16 -16
- package/fesm2022/acorex-platform-domain.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-builder.mjs +1615 -662
- package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-components.mjs +3327 -157
- package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-designer.mjs +172 -210
- package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-entity-create-entity.command-764ie8R8.mjs +52 -0
- package/fesm2022/acorex-platform-layout-entity-create-entity.command-764ie8R8.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-entity.mjs +4522 -1643
- package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-views.mjs +398 -89
- package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
- package/fesm2022/acorex-platform-native.mjs +7 -7
- package/fesm2022/acorex-platform-native.mjs.map +1 -1
- package/fesm2022/acorex-platform-runtime.mjs +40 -40
- package/fesm2022/acorex-platform-runtime.mjs.map +1 -1
- package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-hHXxHlFG.mjs → acorex-platform-themes-default-entity-master-create-view.component-Ct-ri59W.mjs} +7 -7
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-Ct-ri59W.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-7BB4LdjK.mjs +706 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-7BB4LdjK.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-BDJR088o.mjs +101 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-BDJR088o.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-BExtm1JE.mjs +244 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-BExtm1JE.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-default-error-401.component-D4glpFvU.mjs → acorex-platform-themes-default-error-401.component-DrO1PEOH.mjs} +4 -4
- package/fesm2022/{acorex-platform-themes-default-error-401.component-D4glpFvU.mjs.map → acorex-platform-themes-default-error-401.component-DrO1PEOH.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-themes-default-error-404.component-BvGeDMjo.mjs → acorex-platform-themes-default-error-404.component-DqVq0oHX.mjs} +4 -4
- package/fesm2022/{acorex-platform-themes-default-error-404.component-BvGeDMjo.mjs.map → acorex-platform-themes-default-error-404.component-DqVq0oHX.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-themes-default-error-offline.component-BINy-Zo3.mjs → acorex-platform-themes-default-error-offline.component-Bt2PTL7_.mjs} +4 -4
- package/fesm2022/{acorex-platform-themes-default-error-offline.component-BINy-Zo3.mjs.map → acorex-platform-themes-default-error-offline.component-Bt2PTL7_.mjs.map} +1 -1
- package/fesm2022/acorex-platform-themes-default.mjs +64 -509
- package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
- package/fesm2022/{acorex-platform-themes-shared-icon-chooser-view.component-C833prGO.mjs → acorex-platform-themes-shared-icon-chooser-view.component-BgEh06Tn.mjs} +24 -14
- package/fesm2022/acorex-platform-themes-shared-icon-chooser-view.component-BgEh06Tn.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-shared-settings.provider-CXiRmniv.mjs → acorex-platform-themes-shared-settings.provider-CLUKU4y0.mjs} +2 -2
- package/fesm2022/acorex-platform-themes-shared-settings.provider-CLUKU4y0.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-shared-color-chooser-column.component-DjKLg513.mjs → acorex-platform-themes-shared-theme-color-chooser-column.component-AeOQxjbS.mjs} +23 -8
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-AeOQxjbS.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-shared-color-chooser-view.component-DE0wO98F.mjs → acorex-platform-themes-shared-theme-color-chooser-view.component-DEVzRd6-.mjs} +23 -8
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-DEVzRd6-.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-shared.mjs +250 -85
- package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
- package/fesm2022/{acorex-platform-widgets-button-widget-designer.component-lNF95FJv.mjs → acorex-platform-widgets-button-widget-designer.component-DSaD9Fwc.mjs} +7 -7
- package/fesm2022/acorex-platform-widgets-button-widget-designer.component-DSaD9Fwc.mjs.map +1 -0
- package/fesm2022/acorex-platform-widgets-extra-properties-schema-widget-edit.component-D9mf08rU.mjs +50 -0
- package/fesm2022/acorex-platform-widgets-extra-properties-schema-widget-edit.component-D9mf08rU.mjs.map +1 -0
- package/fesm2022/acorex-platform-widgets-extra-properties-schema-widget-view.component-D6GQ-eyr.mjs +42 -0
- package/fesm2022/acorex-platform-widgets-extra-properties-schema-widget-view.component-D6GQ-eyr.mjs.map +1 -0
- package/fesm2022/acorex-platform-widgets-extra-properties-values-widget-edit.component-DVbIdVZ6.mjs +55 -0
- package/fesm2022/acorex-platform-widgets-extra-properties-values-widget-edit.component-DVbIdVZ6.mjs.map +1 -0
- package/fesm2022/acorex-platform-widgets-extra-properties-values-widget-view.component-D-aM64Hu.mjs +50 -0
- package/fesm2022/acorex-platform-widgets-extra-properties-values-widget-view.component-D-aM64Hu.mjs.map +1 -0
- package/fesm2022/acorex-platform-widgets-extra-properties-widget-edit.component-em2-aU8E.mjs +48 -0
- package/fesm2022/acorex-platform-widgets-extra-properties-widget-edit.component-em2-aU8E.mjs.map +1 -0
- package/fesm2022/acorex-platform-widgets-extra-properties-widget-view.component-BeuIofdr.mjs +42 -0
- package/fesm2022/acorex-platform-widgets-extra-properties-widget-view.component-BeuIofdr.mjs.map +1 -0
- package/fesm2022/{acorex-platform-widgets-file-list-popup.component-DFbPO0ud.mjs → acorex-platform-widgets-file-list-popup.component-Cmtq2bBV.mjs} +72 -7
- package/fesm2022/acorex-platform-widgets-file-list-popup.component-Cmtq2bBV.mjs.map +1 -0
- package/fesm2022/{acorex-platform-widgets-page-widget-designer.component-DRsLkulH.mjs → acorex-platform-widgets-page-widget-designer.component-B-ZEi2yd.mjs} +79 -69
- package/fesm2022/acorex-platform-widgets-page-widget-designer.component-B-ZEi2yd.mjs.map +1 -0
- package/fesm2022/{acorex-platform-widgets-tabular-data-edit-popup.component-nLZYiPnF.mjs → acorex-platform-widgets-tabular-data-edit-popup.component-CMqq_iOj.mjs} +13 -13
- package/fesm2022/acorex-platform-widgets-tabular-data-edit-popup.component-CMqq_iOj.mjs.map +1 -0
- package/fesm2022/{acorex-platform-widgets-tabular-data-view-popup.component-D6kiasYM.mjs → acorex-platform-widgets-tabular-data-view-popup.component-CRpjdiNz.mjs} +8 -7
- package/fesm2022/acorex-platform-widgets-tabular-data-view-popup.component-CRpjdiNz.mjs.map +1 -0
- package/fesm2022/{acorex-platform-widgets-text-block-widget-designer.component-CCMQtH3e.mjs → acorex-platform-widgets-text-block-widget-designer.component-DeSmBqMa.mjs} +9 -14
- package/fesm2022/acorex-platform-widgets-text-block-widget-designer.component-DeSmBqMa.mjs.map +1 -0
- package/fesm2022/acorex-platform-widgets.mjs +9152 -7181
- package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
- package/fesm2022/acorex-platform-workflow.mjs +28 -25
- package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
- package/layout/builder/index.d.ts +419 -185
- package/layout/components/index.d.ts +1129 -24
- package/layout/designer/index.d.ts +20 -49
- package/layout/entity/index.d.ts +424 -332
- package/layout/views/index.d.ts +129 -22
- package/package.json +23 -37
- package/widgets/index.d.ts +1908 -783
- package/workflow/index.d.ts +4 -1
- package/fesm2022/acorex-platform-themes-default-create-entity-view.component-SY0oMDoH.mjs +0 -22
- package/fesm2022/acorex-platform-themes-default-create-entity-view.component-SY0oMDoH.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-hHXxHlFG.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-hf4QOz_4.mjs +0 -665
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-hf4QOz_4.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-DC3MrDtI.mjs +0 -108
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-DC3MrDtI.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-Bb90PeHq.mjs +0 -236
- package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-Bb90PeHq.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-color-chooser-column.component-DjKLg513.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-color-chooser-view.component-DE0wO98F.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-icon-chooser-view.component-C833prGO.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-settings.provider-CXiRmniv.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-button-widget-designer.component-lNF95FJv.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-checkbox-widget-column.component-BNBOATPB.mjs +0 -85
- package/fesm2022/acorex-platform-widgets-checkbox-widget-column.component-BNBOATPB.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-checkbox-widget-designer.component-BI18uzNZ.mjs +0 -55
- package/fesm2022/acorex-platform-widgets-checkbox-widget-designer.component-BI18uzNZ.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-checkbox-widget-view.component-C6-QPsnb.mjs +0 -76
- package/fesm2022/acorex-platform-widgets-checkbox-widget-view.component-C6-QPsnb.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-color-box-widget-designer.component-pYOQv5g8.mjs +0 -55
- package/fesm2022/acorex-platform-widgets-color-box-widget-designer.component-pYOQv5g8.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-file-list-popup.component-DFbPO0ud.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-file-rename-popup.component-DA_CgIvm.mjs +0 -211
- package/fesm2022/acorex-platform-widgets-file-rename-popup.component-DA_CgIvm.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-page-widget-designer.component-DRsLkulH.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-rich-text-popup.component-CM_v-cL4.mjs +0 -40
- package/fesm2022/acorex-platform-widgets-rich-text-popup.component-CM_v-cL4.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-tabular-data-edit-popup.component-nLZYiPnF.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-tabular-data-view-popup.component-D6kiasYM.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-text-block-widget-designer.component-CCMQtH3e.mjs.map +0 -1
|
@@ -1,16 +1,24 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
-
import { Signal, InjectionToken, InputSignal, TemplateRef, ElementRef, OnInit, OnDestroy, Type, ViewContainerRef, ModuleWithProviders, QueryList } from '@angular/core';
|
|
2
|
+
import { Signal, InjectionToken, InputSignal, TemplateRef, ElementRef, OnInit, OnDestroy, Type, ViewContainerRef, ModuleWithProviders, WritableSignal, QueryList, EventEmitter } from '@angular/core';
|
|
3
3
|
import * as _acorex_platform_core from '@acorex/platform/core';
|
|
4
|
-
import { AXPActivityLog, AXPSystemActionType, AXPContextData, AXPFilterDefinition, AXPFilterQuery } from '@acorex/platform/core';
|
|
4
|
+
import { AXPActivityLog, AXPSystemActionType, AXPCategoryEntity, AXPColumnQuery, AXPContextData, AXPOptionsData, AXPActionMenuItem, AXPExecuteCommand, AXPValidationRules, AXPFilterDefinition, AXPFilterQuery, AXPSortDefinition, AXPSortQuery, AXPMetaData, AXPViewQuery } from '@acorex/platform/core';
|
|
5
5
|
import { AXPMenuItem } from '@acorex/platform/common';
|
|
6
|
-
import
|
|
6
|
+
import * as _acorex_cdk_common from '@acorex/cdk/common';
|
|
7
|
+
import { AXValueChangedEvent, AXClickEvent, AXDataSource, AXDataSourceFilterOption, AXOrientation, AXHtmlEvent, AXEvent } from '@acorex/cdk/common';
|
|
8
|
+
import { AXTreeViewComponent, AXTreeItemClickBaseEvent } from '@acorex/components/tree-view';
|
|
9
|
+
import { AXTranslationService } from '@acorex/core/translation';
|
|
10
|
+
import { CdkDragDrop } from '@angular/cdk/drag-drop';
|
|
11
|
+
import { AXPWidgetNode, AXPLayoutContextChangeEvent, AXPWidgetProperty, AXPWidgetConfig } from '@acorex/platform/layout/builder';
|
|
7
12
|
import * as _ngrx_signals from '@ngrx/signals';
|
|
13
|
+
import { AXDataTableComponent, AXDataTableRowDbClick, AXDataTableRowClick } from '@acorex/components/data-table';
|
|
14
|
+
import { AXBasePageComponent } from '@acorex/components/page';
|
|
15
|
+
import { AXPopupSizeType, AXPopupService } from '@acorex/components/popup';
|
|
16
|
+
import * as _acorex_platform_layout_components from '@acorex/platform/layout/components';
|
|
8
17
|
import { AXFormComponent } from '@acorex/components/form';
|
|
9
|
-
import { AXHtmlEvent, AXValueChangedEvent, AXEvent } from '@acorex/cdk/common';
|
|
10
18
|
import { AXPopoverComponent } from '@acorex/components/popover';
|
|
11
19
|
import { AXTagBoxComponent } from '@acorex/components/tag-box';
|
|
12
20
|
import { AXCalendarService } from '@acorex/core/date-time';
|
|
13
|
-
import {
|
|
21
|
+
import { AXTabStripChangedEvent, AXTabsComponent } from '@acorex/components/tabs';
|
|
14
22
|
import { Observable } from 'rxjs';
|
|
15
23
|
|
|
16
24
|
declare class AXPActivityLogComponent {
|
|
@@ -199,6 +207,93 @@ declare class AXPThemeLayoutContainerComponent {
|
|
|
199
207
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPThemeLayoutContainerComponent, "axp-layout-container", never, {}, {}, never, ["*"], true, never>;
|
|
200
208
|
}
|
|
201
209
|
|
|
210
|
+
interface AXPCategoryTreeNode extends AXPCategoryEntity {
|
|
211
|
+
children?: AXPCategoryTreeNode[];
|
|
212
|
+
expand?: boolean;
|
|
213
|
+
hasChild?: boolean;
|
|
214
|
+
[key: string]: any;
|
|
215
|
+
}
|
|
216
|
+
interface AXPCategoryTreeConfig {
|
|
217
|
+
textField?: string;
|
|
218
|
+
valueField?: string;
|
|
219
|
+
expandedField?: string;
|
|
220
|
+
showCheckbox?: boolean;
|
|
221
|
+
searchable?: boolean;
|
|
222
|
+
searchPlaceholder?: string;
|
|
223
|
+
emptyStateTitle?: string;
|
|
224
|
+
emptyStateDescription?: string;
|
|
225
|
+
emptyStateIcon?: string;
|
|
226
|
+
}
|
|
227
|
+
interface AXPCategoryTreeEvents {
|
|
228
|
+
onNodeClick?: (node: AXPCategoryEntity) => void;
|
|
229
|
+
onNodeSelect?: (node: AXPCategoryEntity) => void;
|
|
230
|
+
onNodeCreate?: (parentNode?: AXPCategoryEntity) => void;
|
|
231
|
+
onNodeUpdate?: (node: AXPCategoryEntity) => void;
|
|
232
|
+
onNodeDelete?: (node: AXPCategoryEntity) => void;
|
|
233
|
+
onSearchChange?: (searchValue: string) => void;
|
|
234
|
+
onCollapseChange?: (node: AXPCategoryEntity) => void;
|
|
235
|
+
}
|
|
236
|
+
interface AXPCategoryTreeActions {
|
|
237
|
+
canCreate?: boolean;
|
|
238
|
+
canUpdate?: boolean;
|
|
239
|
+
canDelete?: boolean;
|
|
240
|
+
canCreateChild?: boolean;
|
|
241
|
+
createLabel?: string;
|
|
242
|
+
updateLabel?: string;
|
|
243
|
+
deleteLabel?: string;
|
|
244
|
+
createChildLabel?: string;
|
|
245
|
+
}
|
|
246
|
+
interface AXPCategoryTreeDataSource {
|
|
247
|
+
loadRootNodes: () => Promise<AXPCategoryEntity[]>;
|
|
248
|
+
loadChildNodes?: (parentId: string) => Promise<AXPCategoryEntity[]>;
|
|
249
|
+
searchNodes?: (searchValue: string) => Promise<AXPCategoryEntity[]>;
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
declare class AXPCategoryTreeComponent {
|
|
253
|
+
protected readonly translationService: AXTranslationService;
|
|
254
|
+
dataSource: _angular_core.InputSignal<AXPCategoryTreeDataSource>;
|
|
255
|
+
config: _angular_core.InputSignal<AXPCategoryTreeConfig>;
|
|
256
|
+
actions: _angular_core.InputSignal<AXPCategoryTreeActions>;
|
|
257
|
+
events: _angular_core.InputSignal<AXPCategoryTreeEvents>;
|
|
258
|
+
nodeClick: _angular_core.OutputEmitterRef<AXPCategoryEntity<string>>;
|
|
259
|
+
nodeSelect: _angular_core.OutputEmitterRef<AXPCategoryEntity<string>>;
|
|
260
|
+
nodeCreate: _angular_core.OutputEmitterRef<AXPCategoryEntity<string> | undefined>;
|
|
261
|
+
nodeUpdate: _angular_core.OutputEmitterRef<AXPCategoryEntity<string>>;
|
|
262
|
+
nodeDelete: _angular_core.OutputEmitterRef<AXPCategoryEntity<string>>;
|
|
263
|
+
searchChange: _angular_core.OutputEmitterRef<string>;
|
|
264
|
+
collapseChange: _angular_core.OutputEmitterRef<AXPCategoryEntity<string>>;
|
|
265
|
+
tree: _angular_core.Signal<AXTreeViewComponent | undefined>;
|
|
266
|
+
isLoading: _angular_core.WritableSignal<boolean>;
|
|
267
|
+
searchValue: _angular_core.WritableSignal<string>;
|
|
268
|
+
protected treeItems: _angular_core.WritableSignal<AXPCategoryTreeNode[]>;
|
|
269
|
+
protected emptyStateTitle: _angular_core.Signal<string>;
|
|
270
|
+
protected emptyStateDescription: _angular_core.Signal<string>;
|
|
271
|
+
ngOnInit(): Promise<void>;
|
|
272
|
+
loadRootNodes(): Promise<void>;
|
|
273
|
+
loadChildNodes(parentId: string): Promise<void>;
|
|
274
|
+
searchNodes(searchValue: string): Promise<void>;
|
|
275
|
+
handleNodeClick(event: AXTreeItemClickBaseEvent): Promise<void>;
|
|
276
|
+
handleCollapseChanged(event: AXTreeItemClickBaseEvent): Promise<void>;
|
|
277
|
+
handleSearchChange(event: AXValueChangedEvent): Promise<void>;
|
|
278
|
+
handleCreateRootClick(event: AXClickEvent): Promise<void>;
|
|
279
|
+
handleCreateChildClick(node: AXPCategoryTreeNode, event: AXClickEvent): Promise<void>;
|
|
280
|
+
handleUpdateNodeClick(node: AXPCategoryTreeNode, event: AXClickEvent): Promise<void>;
|
|
281
|
+
handleDeleteNodeClick(node: AXPCategoryTreeNode, event: AXClickEvent): Promise<void>;
|
|
282
|
+
private convertEntitiesToTreeNodes;
|
|
283
|
+
private updateNodeChildren;
|
|
284
|
+
refreshTree(parentId?: string): Promise<void>;
|
|
285
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPCategoryTreeComponent, never>;
|
|
286
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPCategoryTreeComponent, "axp-category-tree", never, { "dataSource": { "alias": "dataSource"; "required": true; "isSignal": true; }; "config": { "alias": "config"; "required": false; "isSignal": true; }; "actions": { "alias": "actions"; "required": false; "isSignal": true; }; "events": { "alias": "events"; "required": false; "isSignal": true; }; }, { "nodeClick": "nodeClick"; "nodeSelect": "nodeSelect"; "nodeCreate": "nodeCreate"; "nodeUpdate": "nodeUpdate"; "nodeDelete": "nodeDelete"; "searchChange": "searchChange"; "collapseChange": "collapseChange"; }, never, never, true, never>;
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
declare class AXPQueryColumnsComponent {
|
|
290
|
+
columns: _angular_core.ModelSignal<AXPColumnQuery[]>;
|
|
291
|
+
handleVisibilityChange(e: AXValueChangedEvent<boolean>, name: string): void;
|
|
292
|
+
protected drop(event: CdkDragDrop<unknown[]>): void;
|
|
293
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPQueryColumnsComponent, never>;
|
|
294
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPQueryColumnsComponent, "axp-query-columns", never, { "columns": { "alias": "columns"; "required": false; "isSignal": true; }; }, { "columns": "columnsChange"; }, never, never, true, never>;
|
|
295
|
+
}
|
|
296
|
+
|
|
202
297
|
interface AXPCompareViewField {
|
|
203
298
|
path: string;
|
|
204
299
|
title: string;
|
|
@@ -267,11 +362,7 @@ interface AXPComponentSlotConfig {
|
|
|
267
362
|
component?: Type<any>;
|
|
268
363
|
condition?: ((context?: AXPContextData) => (boolean | Promise<boolean>)) | string;
|
|
269
364
|
loadComponent?: () => Type<any> | Promise<Type<any>>;
|
|
270
|
-
options?:
|
|
271
|
-
[key: string]: unknown;
|
|
272
|
-
} | (() => {
|
|
273
|
-
[key: string]: unknown;
|
|
274
|
-
});
|
|
365
|
+
options?: AXPOptionsData | (() => AXPOptionsData) | (() => Promise<AXPOptionsData>);
|
|
275
366
|
}
|
|
276
367
|
interface AXPComponentSlotModuleConfigs {
|
|
277
368
|
[slotName: string]: AXPComponentSlotConfig[];
|
|
@@ -294,8 +385,8 @@ declare class AXPComponentSlotDirective implements OnInit {
|
|
|
294
385
|
contextStore: {
|
|
295
386
|
data: _angular_core.Signal<AXPContextData>;
|
|
296
387
|
state: _angular_core.Signal<_acorex_platform_core.AXPContextState>;
|
|
297
|
-
initialSnapshot:
|
|
298
|
-
previousSnapshot:
|
|
388
|
+
initialSnapshot: _angular_core.Signal<{}>;
|
|
389
|
+
previousSnapshot: _angular_core.Signal<{}>;
|
|
299
390
|
lastChange: _ngrx_signals.DeepSignal<_acorex_platform_core.AXPContextChangeEvent>;
|
|
300
391
|
isChanged: _angular_core.Signal<boolean>;
|
|
301
392
|
isReset: _angular_core.Signal<boolean>;
|
|
@@ -349,21 +440,155 @@ declare class AXPComponentSlotModule {
|
|
|
349
440
|
static ɵinj: _angular_core.ɵɵInjectorDeclaration<AXPComponentSlotModule>;
|
|
350
441
|
}
|
|
351
442
|
|
|
352
|
-
|
|
443
|
+
interface AXPDataSelectorColumn {
|
|
444
|
+
name: string;
|
|
445
|
+
title: string;
|
|
446
|
+
visible: boolean;
|
|
447
|
+
widget: {
|
|
448
|
+
type: string;
|
|
449
|
+
options: any;
|
|
450
|
+
};
|
|
451
|
+
}
|
|
452
|
+
interface AXPDataSelectorConfig {
|
|
453
|
+
title: string;
|
|
454
|
+
dataSource: AXDataSource<any>;
|
|
455
|
+
columns: AXPDataSelectorColumn[];
|
|
456
|
+
selectionMode: 'single' | 'multiple';
|
|
457
|
+
searchFields?: string[];
|
|
458
|
+
parentField?: string;
|
|
459
|
+
allowCreate?: boolean;
|
|
460
|
+
categoryFilter?: {
|
|
461
|
+
enabled: boolean;
|
|
462
|
+
title: string;
|
|
463
|
+
dataSource: AXPCategoryTreeDataSource;
|
|
464
|
+
filterField: string;
|
|
465
|
+
filterOperator?: 'equal' | 'contains' | 'in';
|
|
466
|
+
width?: string;
|
|
467
|
+
};
|
|
468
|
+
}
|
|
469
|
+
declare class AXPDataSelectorComponent extends AXBasePageComponent {
|
|
470
|
+
protected config: _angular_core.WritableSignal<AXPDataSelectorConfig>;
|
|
471
|
+
protected searchTerm: string;
|
|
472
|
+
protected filter: AXDataSourceFilterOption;
|
|
473
|
+
protected grid: _angular_core.Signal<AXDataTableComponent | undefined>;
|
|
474
|
+
protected initialSelectedItems: any[];
|
|
475
|
+
protected selectedItems: _angular_core.WritableSignal<any[]>;
|
|
476
|
+
protected activeCategoryFilter: _angular_core.WritableSignal<{
|
|
477
|
+
node: AXPCategoryEntity;
|
|
478
|
+
filterValue: any;
|
|
479
|
+
} | null>;
|
|
480
|
+
protected allowSelect: _angular_core.Signal<boolean>;
|
|
481
|
+
protected hasSearch: _angular_core.Signal<boolean | undefined>;
|
|
482
|
+
protected searchPlaceholder: _angular_core.Signal<string>;
|
|
483
|
+
protected categoryTreeConfig: _angular_core.Signal<{
|
|
484
|
+
textField: string;
|
|
485
|
+
valueField: string;
|
|
486
|
+
showCheckbox: boolean;
|
|
487
|
+
searchable: boolean;
|
|
488
|
+
searchPlaceholder: string;
|
|
489
|
+
emptyStateTitle: string;
|
|
490
|
+
emptyStateDescription: string;
|
|
491
|
+
emptyStateIcon: string;
|
|
492
|
+
}>;
|
|
493
|
+
protected categoryTreeActions: _angular_core.Signal<{
|
|
494
|
+
canCreate: boolean;
|
|
495
|
+
canUpdate: boolean;
|
|
496
|
+
canDelete: boolean;
|
|
497
|
+
canCreateChild: boolean;
|
|
498
|
+
}>;
|
|
499
|
+
protected ngOnInit(): void;
|
|
500
|
+
protected ngAfterViewInit(): void;
|
|
501
|
+
protected handleRowDbClick(e: AXDataTableRowDbClick): void;
|
|
502
|
+
protected handleRowClick(e: AXDataTableRowClick): void;
|
|
503
|
+
protected handleSelectedRowsChange(rows: unknown[]): Promise<void>;
|
|
504
|
+
protected handleChangeSearchValue(e: AXValueChangedEvent): void;
|
|
505
|
+
protected handleCreateNewClick(): Promise<void>;
|
|
506
|
+
protected handleCloseClick(): void;
|
|
507
|
+
protected handleSelectClick(): void;
|
|
508
|
+
protected handleExpandRow(row: any): Promise<void>;
|
|
509
|
+
protected handleCategoryFilterClick(node: AXPCategoryEntity): void;
|
|
510
|
+
protected clearCategoryFilter(): void;
|
|
511
|
+
private applySearchFilter;
|
|
512
|
+
private applyFilterAndSort;
|
|
513
|
+
private applyCategoryFilter;
|
|
514
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPDataSelectorComponent, never>;
|
|
515
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPDataSelectorComponent, "axp-data-selector", never, {}, {}, never, never, true, never>;
|
|
516
|
+
}
|
|
517
|
+
|
|
518
|
+
declare class AXPDataSelectorService {
|
|
519
|
+
private readonly popupService;
|
|
520
|
+
/**
|
|
521
|
+
* Open data selector popup
|
|
522
|
+
*/
|
|
523
|
+
open(config: AXPDataSelectorConfig): Promise<{
|
|
524
|
+
items: any[];
|
|
525
|
+
} | null>;
|
|
526
|
+
/**
|
|
527
|
+
* Open data selector with category filter
|
|
528
|
+
*/
|
|
529
|
+
openWithCategoryFilter(config: Omit<AXPDataSelectorConfig, 'categoryFilter'>, categoryFilterConfig: {
|
|
530
|
+
title: string;
|
|
531
|
+
dataSource: AXPCategoryTreeDataSource;
|
|
532
|
+
filterField: string;
|
|
533
|
+
filterOperator?: 'equal' | 'contains' | 'in';
|
|
534
|
+
width?: string;
|
|
535
|
+
}): Promise<{
|
|
536
|
+
items: any[];
|
|
537
|
+
} | null>;
|
|
538
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPDataSelectorService, never>;
|
|
539
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPDataSelectorService>;
|
|
540
|
+
}
|
|
541
|
+
|
|
542
|
+
/**
|
|
543
|
+
* Form appearance and density styling
|
|
544
|
+
*/
|
|
545
|
+
type AXPDynamicFormLook = 'normal' | 'compact' | 'borderless';
|
|
546
|
+
/**
|
|
547
|
+
* Form rendering mode
|
|
548
|
+
*/
|
|
549
|
+
type AXPDynamicFormMode = 'view' | 'edit';
|
|
550
|
+
/**
|
|
551
|
+
* Form layout direction and flow
|
|
552
|
+
*/
|
|
553
|
+
type AXPDynamicFormDirection = 'vertical' | 'horizontal' | 'grid';
|
|
353
554
|
interface AXPDynamicFormFieldDefinition {
|
|
354
555
|
path: string;
|
|
355
556
|
title?: string;
|
|
356
557
|
description?: string;
|
|
357
558
|
widget: AXPWidgetNode;
|
|
559
|
+
/**
|
|
560
|
+
* Optional per-field rendering mode. Takes precedence over section and form modes.
|
|
561
|
+
*/
|
|
562
|
+
mode?: AXPDynamicFormMode;
|
|
563
|
+
/**
|
|
564
|
+
* Optional per-parameter layout override. Takes precedence over form layoutConfig.
|
|
565
|
+
* - number: colSpan for all breakpoints
|
|
566
|
+
* - object: colSpan per breakpoint
|
|
567
|
+
*/
|
|
568
|
+
layout?: number | {
|
|
569
|
+
default?: number;
|
|
570
|
+
md?: number;
|
|
571
|
+
lg?: number;
|
|
572
|
+
xl?: number;
|
|
573
|
+
xxl?: number;
|
|
574
|
+
};
|
|
358
575
|
}
|
|
359
576
|
interface AXPDynamicFormGroupDefinition {
|
|
360
577
|
name: string;
|
|
361
578
|
title?: string;
|
|
362
579
|
description?: string;
|
|
363
580
|
parameters: AXPDynamicFormFieldDefinition[];
|
|
581
|
+
/**
|
|
582
|
+
* Optional per-section rendering mode. Takes precedence over form mode and is overridden by field mode.
|
|
583
|
+
*/
|
|
584
|
+
mode?: AXPDynamicFormMode;
|
|
364
585
|
}
|
|
365
586
|
interface AXPDynamicFormDefinition {
|
|
366
587
|
groups: AXPDynamicFormGroupDefinition[];
|
|
588
|
+
/**
|
|
589
|
+
* Optional form-level rendering mode
|
|
590
|
+
*/
|
|
591
|
+
mode?: AXPDynamicFormMode;
|
|
367
592
|
}
|
|
368
593
|
interface AXPDynamicFormLayoutConfig {
|
|
369
594
|
positions: {
|
|
@@ -385,8 +610,370 @@ interface AXPDynamicFormLayoutConfig {
|
|
|
385
610
|
};
|
|
386
611
|
}
|
|
387
612
|
|
|
613
|
+
/**
|
|
614
|
+
* Describes a single step of the dynamic form stepper.
|
|
615
|
+
* Each step contains one or more groups rendered by AXPDynamicFormComponent.
|
|
616
|
+
*/
|
|
617
|
+
interface AXPDynamicFormStepperStepDefinition {
|
|
618
|
+
/** Unique identifier for the step */
|
|
619
|
+
id: string;
|
|
620
|
+
/** Display title for the step */
|
|
621
|
+
title?: string;
|
|
622
|
+
/** Optional descriptive text for the step */
|
|
623
|
+
description?: string;
|
|
624
|
+
/** Optional icon name for the step header */
|
|
625
|
+
icon?: string;
|
|
626
|
+
/** Field groups to render in this step */
|
|
627
|
+
groups: AXPDynamicFormGroupDefinition[];
|
|
628
|
+
/** Optional layout direction override for this step's form */
|
|
629
|
+
formDirection?: AXPDynamicFormDirection;
|
|
630
|
+
/** Whether the user may skip this step (defaults to false) */
|
|
631
|
+
canSkip?: boolean;
|
|
632
|
+
/** Whether the user may navigate back from this step (defaults to true) */
|
|
633
|
+
canGoBack?: boolean;
|
|
634
|
+
/** Optional data path inside the shared context for this step's data */
|
|
635
|
+
dataPath?: string;
|
|
636
|
+
}
|
|
637
|
+
/**
|
|
638
|
+
* Root definition for the dynamic form stepper.
|
|
639
|
+
*/
|
|
640
|
+
interface AXPDynamicFormStepperDefinition {
|
|
641
|
+
/** Ordered collection of steps */
|
|
642
|
+
steps: AXPDynamicFormStepperStepDefinition[];
|
|
643
|
+
/** Enforce sequential navigation (no jumping to future steps) */
|
|
644
|
+
linear?: boolean;
|
|
645
|
+
/** Show progress indicator above the content */
|
|
646
|
+
showProgress?: boolean;
|
|
647
|
+
/** Show step numbers in the header */
|
|
648
|
+
showStepNumbers?: boolean;
|
|
649
|
+
}
|
|
650
|
+
|
|
651
|
+
declare class AXPDynamicFormStepperComponent {
|
|
652
|
+
#private;
|
|
653
|
+
/**
|
|
654
|
+
* Stepper definition providing steps metadata and behavior configuration
|
|
655
|
+
*/
|
|
656
|
+
definition: _angular_core.InputSignal<AXPDynamicFormStepperDefinition>;
|
|
657
|
+
/**
|
|
658
|
+
* Shared root context for all steps
|
|
659
|
+
*/
|
|
660
|
+
context: _angular_core.InputSignal<any>;
|
|
661
|
+
/**
|
|
662
|
+
* Optional pass-through layout props for inner forms
|
|
663
|
+
*/
|
|
664
|
+
layoutLook: _angular_core.InputSignal<AXPDynamicFormLook>;
|
|
665
|
+
stepperDirection: _angular_core.InputSignal<AXOrientation>;
|
|
666
|
+
layoutConfig: _angular_core.InputSignal<AXPDynamicFormLayoutConfig | undefined>;
|
|
667
|
+
/**
|
|
668
|
+
* Optional guard that controls advancing to the next step (async only)
|
|
669
|
+
*/
|
|
670
|
+
guardNext: _angular_core.InputSignal<((e: {
|
|
671
|
+
index: number;
|
|
672
|
+
id: string;
|
|
673
|
+
fullContext: any;
|
|
674
|
+
}) => Promise<boolean>) | undefined>;
|
|
675
|
+
/**
|
|
676
|
+
* Emits when the shared root context changes
|
|
677
|
+
*/
|
|
678
|
+
contextChange: _angular_core.OutputEmitterRef<any>;
|
|
679
|
+
/**
|
|
680
|
+
* Emits when the active step changes
|
|
681
|
+
*/
|
|
682
|
+
stepChange: _angular_core.OutputEmitterRef<{
|
|
683
|
+
index: number;
|
|
684
|
+
id: string;
|
|
685
|
+
}>;
|
|
686
|
+
/**
|
|
687
|
+
* Emits after successful finish
|
|
688
|
+
*/
|
|
689
|
+
finished: _angular_core.OutputEmitterRef<any>;
|
|
690
|
+
/**
|
|
691
|
+
* Emits when cancelled by API
|
|
692
|
+
*/
|
|
693
|
+
cancel: _angular_core.OutputEmitterRef<void>;
|
|
694
|
+
/**
|
|
695
|
+
* Emits when navigation is blocked by validation or policy
|
|
696
|
+
*/
|
|
697
|
+
navigationBlocked: _angular_core.OutputEmitterRef<{
|
|
698
|
+
reason: "invalid" | "linear" | "cannot-skip" | "cannot-go-back";
|
|
699
|
+
stepId: string;
|
|
700
|
+
targetIndex?: number;
|
|
701
|
+
}>;
|
|
702
|
+
/**
|
|
703
|
+
* Internal reactive copy of the shared context
|
|
704
|
+
*/
|
|
705
|
+
private internalContext;
|
|
706
|
+
/**
|
|
707
|
+
* Active step index
|
|
708
|
+
*/
|
|
709
|
+
protected currentStepIndex: _angular_core.WritableSignal<number>;
|
|
710
|
+
/**
|
|
711
|
+
* Navigation lock while async guards are pending
|
|
712
|
+
*/
|
|
713
|
+
private navigationLocked;
|
|
714
|
+
/**
|
|
715
|
+
* Reference to underlying step wizard to sync visual navigation
|
|
716
|
+
*/
|
|
717
|
+
private readonly wizard;
|
|
718
|
+
/**
|
|
719
|
+
* References to rendered dynamic forms (usually one active)
|
|
720
|
+
*/
|
|
721
|
+
private readonly forms;
|
|
722
|
+
protected steps: _angular_core.Signal<_acorex_platform_layout_components.AXPDynamicFormStepperStepDefinition[]>;
|
|
723
|
+
protected stepCount: _angular_core.Signal<number>;
|
|
724
|
+
protected currentStep: _angular_core.Signal<_acorex_platform_layout_components.AXPDynamicFormStepperStepDefinition>;
|
|
725
|
+
protected isFirstComputed: _angular_core.Signal<boolean>;
|
|
726
|
+
protected isLastComputed: _angular_core.Signal<boolean>;
|
|
727
|
+
/**
|
|
728
|
+
* Non-undefined layout config for inner dynamic forms
|
|
729
|
+
*/
|
|
730
|
+
protected effectiveLayoutConfig: _angular_core.Signal<AXPDynamicFormLayoutConfig>;
|
|
731
|
+
/**
|
|
732
|
+
* Returns the current step pointer
|
|
733
|
+
*/
|
|
734
|
+
getCurrentStep(): {
|
|
735
|
+
index: number;
|
|
736
|
+
id: string;
|
|
737
|
+
};
|
|
738
|
+
/**
|
|
739
|
+
* Public helpers for templates/consumers
|
|
740
|
+
*/
|
|
741
|
+
isFirst(): boolean;
|
|
742
|
+
isLast(): boolean;
|
|
743
|
+
/**
|
|
744
|
+
* Returns the root context
|
|
745
|
+
*/
|
|
746
|
+
getContext(): any;
|
|
747
|
+
/**
|
|
748
|
+
* Replaces the root context programmatically
|
|
749
|
+
*/
|
|
750
|
+
setContext(ctx: any): void;
|
|
751
|
+
/**
|
|
752
|
+
* Validates the current step.
|
|
753
|
+
*/
|
|
754
|
+
validateCurrentStep(): Promise<boolean>;
|
|
755
|
+
/**
|
|
756
|
+
* Attempts to advance to the next step applying validation and guard
|
|
757
|
+
*/
|
|
758
|
+
next(): Promise<void>;
|
|
759
|
+
/**
|
|
760
|
+
* Goes back to the previous step if possible
|
|
761
|
+
*/
|
|
762
|
+
previous(): Promise<void>;
|
|
763
|
+
/**
|
|
764
|
+
* Navigates to a specific step by id or index
|
|
765
|
+
*/
|
|
766
|
+
goTo(stepIdOrIndex: string | number): Promise<void>;
|
|
767
|
+
/**
|
|
768
|
+
* Validates all steps and emits finished when successful
|
|
769
|
+
*/
|
|
770
|
+
finish(): Promise<void>;
|
|
771
|
+
/**
|
|
772
|
+
* Emits cancel event without state changes
|
|
773
|
+
*/
|
|
774
|
+
cancelFlow(): void;
|
|
775
|
+
/**
|
|
776
|
+
* Handle per-step context changes and keep internal root context in sync.
|
|
777
|
+
*/
|
|
778
|
+
protected onStepContextChange(stepId: string, stepContext: any): void;
|
|
779
|
+
/**
|
|
780
|
+
* Exposes reading a step slice to the template
|
|
781
|
+
*/
|
|
782
|
+
readStepSlice(path?: string): {
|
|
783
|
+
slice: any;
|
|
784
|
+
exists: boolean;
|
|
785
|
+
};
|
|
786
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPDynamicFormStepperComponent, never>;
|
|
787
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPDynamicFormStepperComponent, "axp-dynamic-form-stepper", never, { "definition": { "alias": "definition"; "required": true; "isSignal": true; }; "context": { "alias": "context"; "required": true; "isSignal": true; }; "layoutLook": { "alias": "layoutLook"; "required": false; "isSignal": true; }; "stepperDirection": { "alias": "stepperDirection"; "required": false; "isSignal": true; }; "layoutConfig": { "alias": "layoutConfig"; "required": false; "isSignal": true; }; "guardNext": { "alias": "guardNext"; "required": false; "isSignal": true; }; }, { "contextChange": "contextChange"; "stepChange": "stepChange"; "finished": "finished"; "cancel": "cancel"; "navigationBlocked": "navigationBlocked"; }, never, never, true, never>;
|
|
788
|
+
}
|
|
789
|
+
|
|
790
|
+
interface AXPDynamicDialogConfig {
|
|
791
|
+
title: string;
|
|
792
|
+
message?: string;
|
|
793
|
+
/**
|
|
794
|
+
* Legacy: If provided, dialog renders only dynamic-form.
|
|
795
|
+
*/
|
|
796
|
+
formDefinition?: AXPDynamicFormDefinition;
|
|
797
|
+
/**
|
|
798
|
+
* Preferred definition: dynamic form (no steps or single step) or a multi-step stepper definition.
|
|
799
|
+
*/
|
|
800
|
+
definition?: AXPDynamicFormDefinition | AXPDynamicFormStepperDefinition;
|
|
801
|
+
/**
|
|
802
|
+
* Shared context passed to the rendered control
|
|
803
|
+
*/
|
|
804
|
+
context: any;
|
|
805
|
+
/**
|
|
806
|
+
* Shared layout options applied to form/stepper unless overridden
|
|
807
|
+
*/
|
|
808
|
+
layoutConfig?: AXPDynamicFormLayoutConfig;
|
|
809
|
+
layoutLook?: AXPDynamicFormLook;
|
|
810
|
+
mode?: AXPDynamicFormMode;
|
|
811
|
+
size?: AXPopupSizeType;
|
|
812
|
+
closeButton?: boolean;
|
|
813
|
+
/**
|
|
814
|
+
* Optional stepper-only options. Ignored when rendering dynamic-form.
|
|
815
|
+
*/
|
|
816
|
+
stepper?: {
|
|
817
|
+
guardNext?: (e: {
|
|
818
|
+
index: number;
|
|
819
|
+
id: string;
|
|
820
|
+
fullContext: unknown;
|
|
821
|
+
}) => Promise<boolean>;
|
|
822
|
+
stepperDirection?: AXOrientation;
|
|
823
|
+
};
|
|
824
|
+
/**
|
|
825
|
+
* Footer actions. In stepper mode, footer is replaced by Prev/Next/Confirm.
|
|
826
|
+
*/
|
|
827
|
+
actions?: {
|
|
828
|
+
footer?: {
|
|
829
|
+
prefix?: AXPActionMenuItem[];
|
|
830
|
+
suffix?: AXPActionMenuItem[];
|
|
831
|
+
};
|
|
832
|
+
};
|
|
833
|
+
}
|
|
834
|
+
interface AXPDynamicDialogResult {
|
|
835
|
+
context: any;
|
|
836
|
+
action?: string;
|
|
837
|
+
}
|
|
838
|
+
interface AXPDialogRef {
|
|
839
|
+
/**
|
|
840
|
+
* Manually close the dialog (optional - dialog closes automatically after user interaction)
|
|
841
|
+
*/
|
|
842
|
+
close(): void;
|
|
843
|
+
/**
|
|
844
|
+
* Get the form data from the dialog
|
|
845
|
+
*/
|
|
846
|
+
context(): any;
|
|
847
|
+
/**
|
|
848
|
+
* Get the action that was clicked by the user
|
|
849
|
+
*/
|
|
850
|
+
action(): string | undefined;
|
|
851
|
+
/**
|
|
852
|
+
* Set the loading state of the dialog
|
|
853
|
+
*/
|
|
854
|
+
setLoading(loading: boolean): void;
|
|
855
|
+
}
|
|
856
|
+
|
|
857
|
+
declare class AXPDynamicDialogComponent extends AXBasePageComponent {
|
|
858
|
+
config: AXPDynamicDialogConfig;
|
|
859
|
+
private readonly dynamicForm;
|
|
860
|
+
protected readonly stepper: _angular_core.Signal<AXPDynamicFormStepperComponent | undefined>;
|
|
861
|
+
isSubmitting: _angular_core.WritableSignal<boolean>;
|
|
862
|
+
private previousContext;
|
|
863
|
+
private formData;
|
|
864
|
+
dialogResult: AXPDynamicDialogResult | null;
|
|
865
|
+
isSubmittingFromDialog: boolean;
|
|
866
|
+
data: any;
|
|
867
|
+
callBack: (dialogRef: AXPDialogRef) => void;
|
|
868
|
+
/**
|
|
869
|
+
* Form context for widget container
|
|
870
|
+
*/
|
|
871
|
+
protected formContext: _angular_core.Signal<Record<string, any>>;
|
|
872
|
+
/**
|
|
873
|
+
* Combined loading state from both signal and dialog
|
|
874
|
+
*/
|
|
875
|
+
protected isFormLoading: _angular_core.Signal<boolean>;
|
|
876
|
+
protected defaultLayout: () => {
|
|
877
|
+
positions: {
|
|
878
|
+
default: {
|
|
879
|
+
colSpan: number;
|
|
880
|
+
};
|
|
881
|
+
md: {
|
|
882
|
+
colSpan: number;
|
|
883
|
+
};
|
|
884
|
+
lg: {
|
|
885
|
+
colSpan: number;
|
|
886
|
+
};
|
|
887
|
+
xl: {
|
|
888
|
+
colSpan: number;
|
|
889
|
+
};
|
|
890
|
+
xxl: {
|
|
891
|
+
colSpan: number;
|
|
892
|
+
};
|
|
893
|
+
};
|
|
894
|
+
};
|
|
895
|
+
/**
|
|
896
|
+
* Determine rendering mode and effective definitions
|
|
897
|
+
*/
|
|
898
|
+
protected readonly hasLegacyForm: _angular_core.Signal<boolean>;
|
|
899
|
+
protected readonly providedDefinition: _angular_core.Signal<_acorex_platform_layout_components.AXPDynamicFormDefinition | _acorex_platform_layout_components.AXPDynamicFormStepperDefinition | undefined>;
|
|
900
|
+
protected readonly providedMode: _angular_core.Signal<_acorex_platform_layout_components.AXPDynamicFormMode>;
|
|
901
|
+
protected readonly isStepperDefinition: _angular_core.Signal<boolean>;
|
|
902
|
+
protected readonly shouldRenderForm: _angular_core.Signal<boolean>;
|
|
903
|
+
protected readonly effectiveFormDefinition: _angular_core.Signal<any>;
|
|
904
|
+
protected readonly resolvedFormDefinition: _angular_core.Signal<any>;
|
|
905
|
+
protected readonly effectiveLayoutLook: _angular_core.Signal<_acorex_platform_layout_components.AXPDynamicFormLook>;
|
|
906
|
+
protected readonly effectiveLayoutConfig: _angular_core.Signal<_acorex_platform_layout_components.AXPDynamicFormLayoutConfig>;
|
|
907
|
+
protected readonly stepperGuardNext: _angular_core.Signal<((e: {
|
|
908
|
+
index: number;
|
|
909
|
+
id: string;
|
|
910
|
+
fullContext: unknown;
|
|
911
|
+
}) => Promise<boolean>) | undefined>;
|
|
912
|
+
protected readonly stepperDirection: _angular_core.Signal<_acorex_cdk_common.AXOrientation>;
|
|
913
|
+
protected readonly stepperDefinition: _angular_core.Signal<any>;
|
|
914
|
+
stepperIsFirst: _angular_core.Signal<boolean>;
|
|
915
|
+
stepperIsLast: _angular_core.Signal<boolean>;
|
|
916
|
+
/**
|
|
917
|
+
* Effective form direction when rendering dynamic-form (single-step or legacy form).
|
|
918
|
+
* If a single-step definition is provided and that step specifies formDirection, use it.
|
|
919
|
+
*/
|
|
920
|
+
protected readonly effectiveFormDirection: _angular_core.Signal<AXPDynamicFormDirection>;
|
|
921
|
+
/**
|
|
922
|
+
* Footer actions for dynamic button system
|
|
923
|
+
*/
|
|
924
|
+
protected footerPrefixActions: _angular_core.Signal<AXPActionMenuItem[]>;
|
|
925
|
+
protected footerSuffixActions: _angular_core.Signal<AXPActionMenuItem[]>;
|
|
926
|
+
protected visibleFooterPrefixActions: _angular_core.Signal<AXPActionMenuItem[]>;
|
|
927
|
+
protected visibleFooterSuffixActions: _angular_core.Signal<AXPActionMenuItem[]>;
|
|
928
|
+
protected hasFooterActions: _angular_core.Signal<boolean>;
|
|
929
|
+
/** Stepper footer: choose a single confirm action from provided suffix actions (first visible). */
|
|
930
|
+
protected confirmAction: _angular_core.Signal<AXPActionMenuItem | undefined>;
|
|
931
|
+
protected confirmActionTitle: _angular_core.Signal<string>;
|
|
932
|
+
ngOnInit(): void;
|
|
933
|
+
protected handleContextInitiated(context: any): void;
|
|
934
|
+
protected handleContextChanged(context: any): void;
|
|
935
|
+
/**
|
|
936
|
+
* Execute a dynamic action
|
|
937
|
+
*/
|
|
938
|
+
protected executeAction(action: AXPActionMenuItem): Promise<void>;
|
|
939
|
+
/**
|
|
940
|
+
* Execute a command
|
|
941
|
+
*/
|
|
942
|
+
protected executeCommand(command: AXPExecuteCommand): Promise<void>;
|
|
943
|
+
/**
|
|
944
|
+
* Check if form is valid
|
|
945
|
+
*/
|
|
946
|
+
protected isFormValid(): Promise<boolean>;
|
|
947
|
+
/** Stepper navigation handlers */
|
|
948
|
+
protected goPrev(): void;
|
|
949
|
+
protected goNext(): void;
|
|
950
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPDynamicDialogComponent, never>;
|
|
951
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPDynamicDialogComponent, "axp-dynamic-dialog", never, { "config": { "alias": "config"; "required": true; }; }, {}, never, never, true, never>;
|
|
952
|
+
}
|
|
953
|
+
|
|
954
|
+
declare class AXPDynamicDialogService {
|
|
955
|
+
private readonly popupService;
|
|
956
|
+
/**
|
|
957
|
+
* Show a dynamic dialog with the given configuration
|
|
958
|
+
* @param config Dialog configuration including fields, validation, and UI options
|
|
959
|
+
* @returns Promise resolving to dialog reference for controlling the dialog
|
|
960
|
+
*/
|
|
961
|
+
showDialog(config: AXPDynamicDialogConfig): Promise<AXPDialogRef>;
|
|
962
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPDynamicDialogService, never>;
|
|
963
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPDynamicDialogService>;
|
|
964
|
+
}
|
|
965
|
+
|
|
388
966
|
declare class AXPDynamicFormComponent implements OnInit {
|
|
389
967
|
#private;
|
|
968
|
+
private evaluatorService;
|
|
969
|
+
/**
|
|
970
|
+
* Tracks the latest scheduled evaluation to ensure last-write-wins for async evaluate
|
|
971
|
+
*/
|
|
972
|
+
private evaluationRunId;
|
|
973
|
+
/**
|
|
974
|
+
* Memoization cache for resolveParamLayout to keep stable object identities
|
|
975
|
+
*/
|
|
976
|
+
private layoutCache;
|
|
390
977
|
/**
|
|
391
978
|
* Form definition containing groups and fields
|
|
392
979
|
*/
|
|
@@ -396,13 +983,27 @@ declare class AXPDynamicFormComponent implements OnInit {
|
|
|
396
983
|
*/
|
|
397
984
|
context: _angular_core.InputSignal<any>;
|
|
398
985
|
/**
|
|
399
|
-
*
|
|
986
|
+
* Form appearance and density styling (normal, compact, spacious)
|
|
400
987
|
*/
|
|
401
|
-
|
|
988
|
+
layoutLook: _angular_core.InputSignal<AXPDynamicFormLook>;
|
|
989
|
+
/**
|
|
990
|
+
* Form layout direction and flow (vertical, horizontal, grid)
|
|
991
|
+
*/
|
|
992
|
+
layoutDirection: _angular_core.InputSignal<AXPDynamicFormDirection>;
|
|
993
|
+
/**
|
|
994
|
+
* Default form mode. Can be overridden by section/group and field.
|
|
995
|
+
*/
|
|
996
|
+
mode: _angular_core.InputSignal<AXPDynamicFormMode>;
|
|
402
997
|
/**
|
|
403
998
|
* Custom layout configuration for form fields
|
|
404
999
|
*/
|
|
405
1000
|
layoutConfig: _angular_core.InputSignal<AXPDynamicFormLayoutConfig>;
|
|
1001
|
+
protected expressionEvaluator(expression: any, context: any): Promise<any>;
|
|
1002
|
+
protected evaluatedFormDefinition: _angular_core.WritableSignal<any>;
|
|
1003
|
+
/**
|
|
1004
|
+
* Evaluate definition when inputs change with last-write-wins and deep-equality guard
|
|
1005
|
+
*/
|
|
1006
|
+
eff: _angular_core.EffectRef;
|
|
406
1007
|
/**
|
|
407
1008
|
* Emitted when form context changes
|
|
408
1009
|
*/
|
|
@@ -426,11 +1027,15 @@ declare class AXPDynamicFormComponent implements OnInit {
|
|
|
426
1027
|
*/
|
|
427
1028
|
protected computedLayout: _angular_core.Signal<AXPDynamicFormLayoutConfig>;
|
|
428
1029
|
/**
|
|
429
|
-
*
|
|
1030
|
+
* Resolve effective mode with precedence: field > group > form
|
|
430
1031
|
*/
|
|
431
|
-
protected
|
|
1032
|
+
protected resolveParamMode: (group: any, param: AXPDynamicFormFieldDefinition) => AXPDynamicFormMode;
|
|
432
1033
|
/**
|
|
433
|
-
*
|
|
1034
|
+
* Resolve effective grid layout for a specific parameter, merging per-parameter override with form layout.
|
|
1035
|
+
*/
|
|
1036
|
+
protected resolveParamLayout(param: AXPDynamicFormFieldDefinition): AXPDynamicFormLayoutConfig;
|
|
1037
|
+
/**
|
|
1038
|
+
* Host classes based on layout look and direction
|
|
434
1039
|
*/
|
|
435
1040
|
protected hostClasses: _angular_core.Signal<string>;
|
|
436
1041
|
ngOnInit(): void;
|
|
@@ -438,6 +1043,7 @@ declare class AXPDynamicFormComponent implements OnInit {
|
|
|
438
1043
|
* Handle context change events from widget container
|
|
439
1044
|
*/
|
|
440
1045
|
protected handleContextChanged(event: AXPLayoutContextChangeEvent): void;
|
|
1046
|
+
protected isRequired(param: AXPDynamicFormFieldDefinition): boolean;
|
|
441
1047
|
/**
|
|
442
1048
|
* Get the form component instance
|
|
443
1049
|
*/
|
|
@@ -455,10 +1061,389 @@ declare class AXPDynamicFormComponent implements OnInit {
|
|
|
455
1061
|
*/
|
|
456
1062
|
validate(): Promise<boolean>;
|
|
457
1063
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPDynamicFormComponent, never>;
|
|
458
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPDynamicFormComponent, "axp-dynamic-form", never, { "formDefinition": { "alias": "formDefinition"; "required": true; "isSignal": true; }; "context": { "alias": "context"; "required": true; "isSignal": true; }; "
|
|
1064
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPDynamicFormComponent, "axp-dynamic-form", never, { "formDefinition": { "alias": "formDefinition"; "required": true; "isSignal": true; }; "context": { "alias": "context"; "required": true; "isSignal": true; }; "layoutLook": { "alias": "layoutLook"; "required": false; "isSignal": true; }; "layoutDirection": { "alias": "layoutDirection"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "layoutConfig": { "alias": "layoutConfig"; "required": false; "isSignal": true; }; }, { "contextChange": "contextChange"; "contextInitiated": "contextInitiated"; "validityChange": "validityChange"; }, never, never, true, never>;
|
|
1065
|
+
}
|
|
1066
|
+
|
|
1067
|
+
interface TextBoxOptions {
|
|
1068
|
+
placeholder?: string;
|
|
1069
|
+
maxLength?: number;
|
|
1070
|
+
minLength?: number;
|
|
1071
|
+
mask?: string;
|
|
1072
|
+
disabled?: boolean;
|
|
1073
|
+
readonly?: boolean;
|
|
1074
|
+
validations?: AXPValidationRules;
|
|
1075
|
+
}
|
|
1076
|
+
interface LargeTextBoxOptions {
|
|
1077
|
+
placeholder?: string;
|
|
1078
|
+
maxLength?: number;
|
|
1079
|
+
minLength?: number;
|
|
1080
|
+
rows?: number;
|
|
1081
|
+
disabled?: boolean;
|
|
1082
|
+
readonly?: boolean;
|
|
1083
|
+
validations?: AXPValidationRules;
|
|
1084
|
+
}
|
|
1085
|
+
interface RichTextOptions {
|
|
1086
|
+
placeholder?: string;
|
|
1087
|
+
toolbar?: string[];
|
|
1088
|
+
height?: number;
|
|
1089
|
+
disabled?: boolean;
|
|
1090
|
+
readonly?: boolean;
|
|
1091
|
+
validations?: AXPValidationRules;
|
|
1092
|
+
}
|
|
1093
|
+
interface SelectBoxOptions<TItem extends Record<string, unknown> = Record<string, unknown>> {
|
|
1094
|
+
valueField: keyof TItem & string;
|
|
1095
|
+
textField: keyof TItem & string;
|
|
1096
|
+
dataSource: TItem[];
|
|
1097
|
+
multiple?: boolean;
|
|
1098
|
+
placeholder?: string;
|
|
1099
|
+
disabled?: boolean;
|
|
1100
|
+
readonly?: boolean;
|
|
1101
|
+
allowSearch?: boolean;
|
|
1102
|
+
validations?: AXPValidationRules;
|
|
1103
|
+
}
|
|
1104
|
+
interface LookupBoxOptions {
|
|
1105
|
+
entity: string;
|
|
1106
|
+
multiple?: boolean;
|
|
1107
|
+
expose?: Array<{
|
|
1108
|
+
source: string;
|
|
1109
|
+
target: string;
|
|
1110
|
+
}>;
|
|
1111
|
+
placeholder?: string;
|
|
1112
|
+
textField?: string;
|
|
1113
|
+
valueField?: string;
|
|
1114
|
+
look?: string;
|
|
1115
|
+
columns?: string[];
|
|
1116
|
+
allowClear?: boolean;
|
|
1117
|
+
disabled?: boolean;
|
|
1118
|
+
readonly?: boolean;
|
|
1119
|
+
validations?: AXPValidationRules;
|
|
1120
|
+
}
|
|
1121
|
+
interface NumberBoxOptions {
|
|
1122
|
+
minValue?: number;
|
|
1123
|
+
maxValue?: number;
|
|
1124
|
+
step?: number;
|
|
1125
|
+
format?: string;
|
|
1126
|
+
placeholder?: string;
|
|
1127
|
+
disabled?: boolean;
|
|
1128
|
+
readonly?: boolean;
|
|
1129
|
+
validations?: AXPValidationRules;
|
|
1130
|
+
}
|
|
1131
|
+
interface DateTimeBoxOptions {
|
|
1132
|
+
format?: string;
|
|
1133
|
+
min?: Date;
|
|
1134
|
+
max?: Date;
|
|
1135
|
+
showTime?: boolean;
|
|
1136
|
+
placeholder?: string;
|
|
1137
|
+
disabled?: boolean;
|
|
1138
|
+
readonly?: boolean;
|
|
1139
|
+
validations?: AXPValidationRules;
|
|
1140
|
+
}
|
|
1141
|
+
interface ToggleSwitchOptions {
|
|
1142
|
+
onText?: string;
|
|
1143
|
+
offText?: string;
|
|
1144
|
+
validations?: AXPValidationRules;
|
|
1145
|
+
}
|
|
1146
|
+
interface PasswordBoxOptions {
|
|
1147
|
+
placeholder?: string;
|
|
1148
|
+
maxLength?: number;
|
|
1149
|
+
minLength?: number;
|
|
1150
|
+
showToggle?: boolean;
|
|
1151
|
+
validations?: AXPValidationRules;
|
|
1152
|
+
}
|
|
1153
|
+
interface SelectionListOptions<TItem extends Record<string, unknown> = Record<string, unknown>> {
|
|
1154
|
+
valueField: keyof TItem & string;
|
|
1155
|
+
textField: keyof TItem & string;
|
|
1156
|
+
dataSource: TItem[];
|
|
1157
|
+
multiple?: boolean;
|
|
1158
|
+
placeholder?: string;
|
|
1159
|
+
disabled?: boolean;
|
|
1160
|
+
readonly?: boolean;
|
|
1161
|
+
validations?: AXPValidationRules;
|
|
1162
|
+
}
|
|
1163
|
+
interface ColorBoxOptions {
|
|
1164
|
+
defaultColor?: string;
|
|
1165
|
+
showAlpha?: boolean;
|
|
1166
|
+
disabled?: boolean;
|
|
1167
|
+
readonly?: boolean;
|
|
1168
|
+
validations?: AXPValidationRules;
|
|
1169
|
+
}
|
|
1170
|
+
interface IFieldOptions {
|
|
1171
|
+
hidden?: string | boolean;
|
|
1172
|
+
readonly?: string | boolean;
|
|
1173
|
+
disabled?: string | boolean;
|
|
1174
|
+
defaultValue?: any;
|
|
1175
|
+
}
|
|
1176
|
+
interface IFieldBuilder {
|
|
1177
|
+
title(title: string): IFieldBuilder;
|
|
1178
|
+
description(description: string): IFieldBuilder;
|
|
1179
|
+
mode(mode: AXPDynamicFormMode): IFieldBuilder;
|
|
1180
|
+
options(values: IFieldOptions): IFieldBuilder;
|
|
1181
|
+
layout(layout: AXPDynamicFormFieldDefinition['layout']): IFieldBuilder;
|
|
1182
|
+
textBox(options?: TextBoxOptions): IFieldBuilder;
|
|
1183
|
+
largeTextBox(options?: LargeTextBoxOptions): IFieldBuilder;
|
|
1184
|
+
richText(options?: RichTextOptions): IFieldBuilder;
|
|
1185
|
+
passwordBox(options?: PasswordBoxOptions): IFieldBuilder;
|
|
1186
|
+
selectBox(options: SelectBoxOptions): IFieldBuilder;
|
|
1187
|
+
lookupBox(options: LookupBoxOptions): IFieldBuilder;
|
|
1188
|
+
selectionList(options: SelectionListOptions): IFieldBuilder;
|
|
1189
|
+
numberBox(options?: NumberBoxOptions): IFieldBuilder;
|
|
1190
|
+
dateTimeBox(options?: DateTimeBoxOptions): IFieldBuilder;
|
|
1191
|
+
toggleSwitch(options?: ToggleSwitchOptions): IFieldBuilder;
|
|
1192
|
+
colorBox(options?: ColorBoxOptions): IFieldBuilder;
|
|
1193
|
+
widget(type: string, options?: unknown): IFieldBuilder;
|
|
1194
|
+
}
|
|
1195
|
+
interface IGroupBuilder {
|
|
1196
|
+
title(title: string): IGroupBuilder;
|
|
1197
|
+
description(description: string): IGroupBuilder;
|
|
1198
|
+
mode(mode: AXPDynamicFormMode): IGroupBuilder;
|
|
1199
|
+
field(path: string, delegate?: (field: IFieldBuilder) => void): IGroupBuilder;
|
|
1200
|
+
group(name: string, delegate?: (group: IGroupBuilder) => void): IGroupBuilder;
|
|
1201
|
+
}
|
|
1202
|
+
interface IStepBuilder {
|
|
1203
|
+
title(title: string): IStepBuilder;
|
|
1204
|
+
description(description: string): IStepBuilder;
|
|
1205
|
+
icon(icon: string): IStepBuilder;
|
|
1206
|
+
direction(direction: AXPDynamicFormDirection): IStepBuilder;
|
|
1207
|
+
group(name: string, delegate?: (group: IGroupBuilder) => void): IStepBuilder;
|
|
1208
|
+
}
|
|
1209
|
+
interface IFormBuilder {
|
|
1210
|
+
group(name: string, delegate?: (group: IGroupBuilder) => void): IFormBuilder;
|
|
1211
|
+
layout(config: Partial<AXPDynamicFormLayoutConfig>): IFormBuilder;
|
|
1212
|
+
look(look: AXPDynamicFormLook): IFormBuilder;
|
|
1213
|
+
direction(direction: AXPDynamicFormDirection): IFormBuilder;
|
|
1214
|
+
mode(mode: AXPDynamicFormMode): IFormBuilder;
|
|
1215
|
+
build(): AXPDynamicFormDefinition;
|
|
1216
|
+
}
|
|
1217
|
+
interface IActionBuilder {
|
|
1218
|
+
cancel(text?: string): IActionBuilder;
|
|
1219
|
+
submit(text?: string): IActionBuilder;
|
|
1220
|
+
custom(action: AXPActionMenuItem): IActionBuilder;
|
|
1221
|
+
}
|
|
1222
|
+
interface IDialogBuilder extends IFormBuilder {
|
|
1223
|
+
group(name: string, delegate?: (group: IGroupBuilder) => void): IDialogBuilder;
|
|
1224
|
+
layout(config: Partial<AXPDynamicFormLayoutConfig>): IDialogBuilder;
|
|
1225
|
+
look(look: AXPDynamicFormLook): IDialogBuilder;
|
|
1226
|
+
direction(direction: AXPDynamicFormDirection): IDialogBuilder;
|
|
1227
|
+
closeButton(closeButton: boolean): IDialogBuilder;
|
|
1228
|
+
step(id: string, delegate?: (step: IStepBuilder) => void): IDialogBuilder;
|
|
1229
|
+
stepperDirection(direction: AXOrientation): IDialogBuilder;
|
|
1230
|
+
guardNext(guard: (e: {
|
|
1231
|
+
index: number;
|
|
1232
|
+
id: string;
|
|
1233
|
+
fullContext: unknown;
|
|
1234
|
+
}) => Promise<boolean>): IDialogBuilder;
|
|
1235
|
+
title(title: string): IDialogBuilder;
|
|
1236
|
+
message(message?: string): IDialogBuilder;
|
|
1237
|
+
size(size: AXPopupSizeType): IDialogBuilder;
|
|
1238
|
+
context(context: AXPContextData): IDialogBuilder;
|
|
1239
|
+
actions(delegate?: (actions: IActionBuilder) => void): IDialogBuilder;
|
|
1240
|
+
show(): Promise<AXPDialogRef>;
|
|
1241
|
+
}
|
|
1242
|
+
interface FormBuilderState {
|
|
1243
|
+
groups: AXPDynamicFormGroupDefinition[];
|
|
1244
|
+
layoutConfig: AXPDynamicFormLayoutConfig;
|
|
1245
|
+
look: AXPDynamicFormLook;
|
|
1246
|
+
direction: AXPDynamicFormDirection;
|
|
1247
|
+
mode?: AXPDynamicFormMode;
|
|
1248
|
+
}
|
|
1249
|
+
interface DialogBuilderState extends FormBuilderState {
|
|
1250
|
+
title?: string;
|
|
1251
|
+
message?: string;
|
|
1252
|
+
size?: AXPopupSizeType;
|
|
1253
|
+
context?: AXPContextData;
|
|
1254
|
+
steps: StepBuilderState[];
|
|
1255
|
+
stepperDirection?: AXOrientation;
|
|
1256
|
+
closeButton?: boolean;
|
|
1257
|
+
guardNext?: (e: {
|
|
1258
|
+
index: number;
|
|
1259
|
+
id: string;
|
|
1260
|
+
fullContext: unknown;
|
|
1261
|
+
}) => Promise<boolean>;
|
|
1262
|
+
actions?: {
|
|
1263
|
+
footer?: {
|
|
1264
|
+
prefix?: AXPActionMenuItem[];
|
|
1265
|
+
suffix?: AXPActionMenuItem[];
|
|
1266
|
+
};
|
|
1267
|
+
};
|
|
1268
|
+
}
|
|
1269
|
+
interface FieldBuilderState {
|
|
1270
|
+
path: string;
|
|
1271
|
+
title?: string;
|
|
1272
|
+
description?: string;
|
|
1273
|
+
defaultValue?: any;
|
|
1274
|
+
hidden?: string | boolean;
|
|
1275
|
+
readonly?: string | boolean;
|
|
1276
|
+
disabled?: string | boolean;
|
|
1277
|
+
widget?: AXPWidgetNode;
|
|
1278
|
+
layout?: AXPDynamicFormFieldDefinition['layout'];
|
|
1279
|
+
mode?: AXPDynamicFormMode;
|
|
1280
|
+
}
|
|
1281
|
+
interface GroupBuilderState {
|
|
1282
|
+
name: string;
|
|
1283
|
+
title?: string;
|
|
1284
|
+
description?: string;
|
|
1285
|
+
parameters: AXPDynamicFormFieldDefinition[];
|
|
1286
|
+
mode?: AXPDynamicFormMode;
|
|
1287
|
+
}
|
|
1288
|
+
interface StepBuilderState {
|
|
1289
|
+
id: string;
|
|
1290
|
+
title?: string;
|
|
1291
|
+
description?: string;
|
|
1292
|
+
icon?: string;
|
|
1293
|
+
formDirection?: AXPDynamicFormDirection;
|
|
1294
|
+
groups: AXPDynamicFormGroupDefinition[];
|
|
1295
|
+
}
|
|
1296
|
+
|
|
1297
|
+
declare class AXPDynamicFormBuilderService {
|
|
1298
|
+
private readonly dialogService;
|
|
1299
|
+
/**
|
|
1300
|
+
* Create a new form builder
|
|
1301
|
+
*/
|
|
1302
|
+
form(): IFormBuilder;
|
|
1303
|
+
/**
|
|
1304
|
+
* Create a new dialog builder
|
|
1305
|
+
*/
|
|
1306
|
+
dialog(): IDialogBuilder;
|
|
1307
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPDynamicFormBuilderService, never>;
|
|
1308
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPDynamicFormBuilderService>;
|
|
1309
|
+
}
|
|
1310
|
+
|
|
1311
|
+
type StateMode = 'empty' | 'error' | 'loading' | 'warning' | 'info' | 'success';
|
|
1312
|
+
declare class AXPStateMessageComponent {
|
|
1313
|
+
mode: _angular_core.InputSignal<StateMode>;
|
|
1314
|
+
icon: _angular_core.InputSignal<string>;
|
|
1315
|
+
title: _angular_core.InputSignal<string>;
|
|
1316
|
+
description: _angular_core.InputSignal<string>;
|
|
1317
|
+
variant: _angular_core.InputSignal<"default" | "compact" | "minimal">;
|
|
1318
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPStateMessageComponent, never>;
|
|
1319
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPStateMessageComponent, "axp-state-message", never, { "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; }, {}, never, ["[slot=actions]"], true, never>;
|
|
1320
|
+
}
|
|
1321
|
+
|
|
1322
|
+
/**
|
|
1323
|
+
* Describes a schema-only definition for an extra property (no value).
|
|
1324
|
+
*/
|
|
1325
|
+
interface AXPExtraPropertySchemaItem {
|
|
1326
|
+
/** Unique key for the property (used as identifier) */
|
|
1327
|
+
key: string;
|
|
1328
|
+
/** Human-readable title/label */
|
|
1329
|
+
title: string;
|
|
1330
|
+
/** Widget name/id to render (e.g., 'text-editor', 'checkbox-editor') */
|
|
1331
|
+
type: string;
|
|
1332
|
+
/** Optional widget-specific options */
|
|
1333
|
+
options?: AXPOptionsData;
|
|
1334
|
+
}
|
|
1335
|
+
/**
|
|
1336
|
+
* Describes a single extra property row.
|
|
1337
|
+
*/
|
|
1338
|
+
interface AXPExtraPropertyItem extends AXPExtraPropertySchemaItem {
|
|
1339
|
+
/** Current value bound to the rendered widget */
|
|
1340
|
+
value: unknown;
|
|
459
1341
|
}
|
|
1342
|
+
/**
|
|
1343
|
+
* Describes an available extra property type that user can select when adding rows.
|
|
1344
|
+
*/
|
|
1345
|
+
interface AXPExtraPropertyType {
|
|
1346
|
+
/** Unique id for the type (it should be the same as the widget name) */
|
|
1347
|
+
id: string;
|
|
1348
|
+
/** UI title for selection dropdown */
|
|
1349
|
+
title: string;
|
|
1350
|
+
/** Default widget options applied on create */
|
|
1351
|
+
defaultOptions?: AXPOptionsData;
|
|
1352
|
+
}
|
|
1353
|
+
/**
|
|
1354
|
+
* Injection token to provide available extra property types.
|
|
1355
|
+
*/
|
|
1356
|
+
declare const AXP_EXTRA_PROPERTY_TYPES: InjectionToken<AXPExtraPropertyType[]>;
|
|
460
1357
|
|
|
461
|
-
declare class
|
|
1358
|
+
declare class AXPExtraPropertiesComponent {
|
|
1359
|
+
items: _angular_core.InputSignal<AXPExtraPropertyItem[]>;
|
|
1360
|
+
mode: _angular_core.InputSignal<"view" | "edit">;
|
|
1361
|
+
protected onContextChanged(event: AXPLayoutContextChangeEvent): void;
|
|
1362
|
+
itemsChange: _angular_core.OutputEmitterRef<AXPExtraPropertyItem[]>;
|
|
1363
|
+
private readonly providedTypes;
|
|
1364
|
+
private readonly translationService;
|
|
1365
|
+
protected newKey: WritableSignal<string>;
|
|
1366
|
+
protected newTitle: WritableSignal<string>;
|
|
1367
|
+
protected newTypeId: WritableSignal<string>;
|
|
1368
|
+
protected newValue: WritableSignal<any>;
|
|
1369
|
+
/** Local, ephemeral context for widget rendering */
|
|
1370
|
+
protected internalContext: WritableSignal<Record<string, any>>;
|
|
1371
|
+
private lastTypeByKey;
|
|
1372
|
+
protected draftVersion: WritableSignal<number>;
|
|
1373
|
+
protected draftKey: _angular_core.Signal<string>;
|
|
1374
|
+
protected typeOptions: _angular_core.Signal<AXPExtraPropertyType[]>;
|
|
1375
|
+
protected presetTypes: _angular_core.Signal<AXPExtraPropertyType[]>;
|
|
1376
|
+
protected canAdd: _angular_core.Signal<boolean>;
|
|
1377
|
+
/** Sync incoming items' values into internal context for rendering */
|
|
1378
|
+
private readonly syncContextFromItems;
|
|
1379
|
+
/**
|
|
1380
|
+
* Clear item values when their widget type changes to avoid incompatible stale values
|
|
1381
|
+
*/
|
|
1382
|
+
private readonly clearValueOnTypeChange;
|
|
1383
|
+
protected handleAddItem(): void;
|
|
1384
|
+
protected handleRemoveItem(key: string): void;
|
|
1385
|
+
protected handleDrop(event: CdkDragDrop<AXPExtraPropertyItem[]>): void;
|
|
1386
|
+
protected selectPreset(id: string): void;
|
|
1387
|
+
private nodeCache;
|
|
1388
|
+
private draftNodeCache?;
|
|
1389
|
+
protected getNode(item: AXPExtraPropertyItem): AXPWidgetNode;
|
|
1390
|
+
protected draftNode(): AXPWidgetNode;
|
|
1391
|
+
protected newTypeChanged(val: string): void;
|
|
1392
|
+
protected ngOnInit(): void;
|
|
1393
|
+
protected handleTitleChange(val: string): void;
|
|
1394
|
+
protected sanitizeKey(input: string): string;
|
|
1395
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPExtraPropertiesComponent, never>;
|
|
1396
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPExtraPropertiesComponent, "axp-extra-properties", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; }, { "itemsChange": "itemsChange"; }, never, never, true, never>;
|
|
1397
|
+
}
|
|
1398
|
+
|
|
1399
|
+
declare class AXPExtraPropertiesSchemaComponent {
|
|
1400
|
+
schema: _angular_core.InputSignal<AXPExtraPropertySchemaItem[]>;
|
|
1401
|
+
mode: _angular_core.InputSignal<"view" | "edit">;
|
|
1402
|
+
schemaChange: _angular_core.OutputEmitterRef<AXPExtraPropertySchemaItem[]>;
|
|
1403
|
+
private readonly providedTypes;
|
|
1404
|
+
private readonly translationService;
|
|
1405
|
+
protected newTitle: WritableSignal<string>;
|
|
1406
|
+
protected newTypeId: WritableSignal<string>;
|
|
1407
|
+
protected typeOptions: _angular_core.Signal<AXPExtraPropertyType[]>;
|
|
1408
|
+
protected canAdd: _angular_core.Signal<boolean>;
|
|
1409
|
+
protected selectedKey: WritableSignal<string | null>;
|
|
1410
|
+
protected selectedItem: _angular_core.Signal<AXPExtraPropertySchemaItem | null>;
|
|
1411
|
+
constructor();
|
|
1412
|
+
protected handleAdd(): void;
|
|
1413
|
+
protected handleRemove(key: string): void;
|
|
1414
|
+
protected handleDrop(event: CdkDragDrop<AXPExtraPropertySchemaItem[]>): void;
|
|
1415
|
+
protected handleUpdateTitle(key: string, title: string): void;
|
|
1416
|
+
protected handleUpdateType(key: string, typeId: string): void;
|
|
1417
|
+
protected newTypeChanged(val: string): void;
|
|
1418
|
+
protected handleTitleChange(val: string): void;
|
|
1419
|
+
protected handleSelect(key: string): void;
|
|
1420
|
+
protected handleViewerChanged(e: {
|
|
1421
|
+
values: any;
|
|
1422
|
+
mode: 'init' | 'update';
|
|
1423
|
+
}): void;
|
|
1424
|
+
protected deriveKey(input: string): string;
|
|
1425
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPExtraPropertiesSchemaComponent, never>;
|
|
1426
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPExtraPropertiesSchemaComponent, "axp-extra-properties-schema", never, { "schema": { "alias": "schema"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; }, { "schemaChange": "schemaChange"; }, never, never, true, never>;
|
|
1427
|
+
}
|
|
1428
|
+
|
|
1429
|
+
declare class AXPExtraPropertiesValuesComponent {
|
|
1430
|
+
schema: _angular_core.InputSignal<AXPExtraPropertySchemaItem[]>;
|
|
1431
|
+
values: _angular_core.InputSignal<Record<string, any>>;
|
|
1432
|
+
mode: _angular_core.InputSignal<"view" | "edit">;
|
|
1433
|
+
valuesChange: _angular_core.OutputEmitterRef<Record<string, any>>;
|
|
1434
|
+
isRequired: (item: AXPExtraPropertySchemaItem) => any;
|
|
1435
|
+
protected internalContext: _angular_core.WritableSignal<Record<string, any>>;
|
|
1436
|
+
private nodeCache;
|
|
1437
|
+
private lastTypeByKey;
|
|
1438
|
+
protected onContextChanged(event: AXPLayoutContextChangeEvent): void;
|
|
1439
|
+
private readonly syncContextFromInputs;
|
|
1440
|
+
private readonly clearOnSchemaTypeChange;
|
|
1441
|
+
protected getNode(item: AXPExtraPropertySchemaItem): AXPWidgetNode;
|
|
1442
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPExtraPropertiesValuesComponent, never>;
|
|
1443
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPExtraPropertiesValuesComponent, "axp-extra-properties-values", never, { "schema": { "alias": "schema"; "required": false; "isSignal": true; }; "values": { "alias": "values"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; }, { "valuesChange": "valuesChange"; }, never, never, true, never>;
|
|
1444
|
+
}
|
|
1445
|
+
|
|
1446
|
+
declare class AXPQueryFiltersComponent {
|
|
462
1447
|
#private;
|
|
463
1448
|
protected translate: AXTranslationService;
|
|
464
1449
|
protected calendarService: AXCalendarService;
|
|
@@ -496,8 +1481,113 @@ declare class AXPLayoutFiltersComponent {
|
|
|
496
1481
|
handlePopoverClosed(e: AXEvent): void;
|
|
497
1482
|
protected onPopoverOpened(e: AXEvent): void;
|
|
498
1483
|
protected deactivateAllListItems(): void;
|
|
499
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<
|
|
500
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<
|
|
1484
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPQueryFiltersComponent, never>;
|
|
1485
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPQueryFiltersComponent, "axp-query-filters", never, { "filtersDefinitions": { "alias": "filtersDefinitions"; "required": false; "isSignal": true; }; "initialFilters": { "alias": "initialFilters"; "required": false; "isSignal": true; }; }, { "onFiltersChanged": "onFiltersChanged"; }, never, never, true, never>;
|
|
1486
|
+
}
|
|
1487
|
+
|
|
1488
|
+
interface AXPWidgetPropertyTab {
|
|
1489
|
+
name: string;
|
|
1490
|
+
title: string;
|
|
1491
|
+
groups: {
|
|
1492
|
+
name: string;
|
|
1493
|
+
title: string;
|
|
1494
|
+
isCollapsed: boolean;
|
|
1495
|
+
props: AXPWidgetProperty[];
|
|
1496
|
+
}[];
|
|
1497
|
+
}
|
|
1498
|
+
interface AXPWidgetPropertiesChangedEvent {
|
|
1499
|
+
values: any;
|
|
1500
|
+
mode: 'init' | 'update';
|
|
1501
|
+
}
|
|
1502
|
+
declare class AXPWidgetPropertyViewerComponent {
|
|
1503
|
+
widget: _angular_core.InputSignal<AXPWidgetNode>;
|
|
1504
|
+
mode: _angular_core.InputSignal<"simple" | "advanced">;
|
|
1505
|
+
private widgetRegistryService;
|
|
1506
|
+
protected currentTabIndex: WritableSignal<number>;
|
|
1507
|
+
protected config: WritableSignal<AXPWidgetConfig<any> | null>;
|
|
1508
|
+
protected allPoperties: AXPWidgetProperty[];
|
|
1509
|
+
protected tabs: WritableSignal<AXPWidgetPropertyTab[]>;
|
|
1510
|
+
protected groups: _angular_core.Signal<{
|
|
1511
|
+
name: string;
|
|
1512
|
+
title: string;
|
|
1513
|
+
isCollapsed: boolean;
|
|
1514
|
+
props: AXPWidgetProperty[];
|
|
1515
|
+
}[]>;
|
|
1516
|
+
protected groupCollapsedStates: Map<string, boolean>;
|
|
1517
|
+
onChanged: EventEmitter<AXPWidgetPropertiesChangedEvent>;
|
|
1518
|
+
protected context: WritableSignal<any>;
|
|
1519
|
+
protected initialContext: any;
|
|
1520
|
+
constructor();
|
|
1521
|
+
update(values: any): void;
|
|
1522
|
+
private fillTabs;
|
|
1523
|
+
protected handleContextChange(e: AXPLayoutContextChangeEvent): void;
|
|
1524
|
+
protected handleTabChange(event: AXTabStripChangedEvent): void;
|
|
1525
|
+
protected handleCollapsedChange(group: string, collapsed: boolean): void;
|
|
1526
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPWidgetPropertyViewerComponent, never>;
|
|
1527
|
+
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>;
|
|
1528
|
+
}
|
|
1529
|
+
|
|
1530
|
+
declare class AXPQuerySortsComponent {
|
|
1531
|
+
sortDefinitions: _angular_core.ModelSignal<AXPSortDefinition[]>;
|
|
1532
|
+
sortQueries: _angular_core.WritableSignal<AXPSortQuery[]>;
|
|
1533
|
+
initialSortQueries: _angular_core.InputSignal<AXPSortQuery[]>;
|
|
1534
|
+
sortQueriesChange: _angular_core.OutputEmitterRef<AXPSortQuery[]>;
|
|
1535
|
+
constructor();
|
|
1536
|
+
protected drop(event: CdkDragDrop<unknown[]>): void;
|
|
1537
|
+
getSortDirection(item: AXPSortDefinition): "desc" | "asc" | undefined;
|
|
1538
|
+
protected changeItemSort(item: AXPSortDefinition): void;
|
|
1539
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPQuerySortsComponent, never>;
|
|
1540
|
+
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>;
|
|
1541
|
+
}
|
|
1542
|
+
|
|
1543
|
+
interface AXPTemplateViewerConfig {
|
|
1544
|
+
template: AXPWidgetNode | string;
|
|
1545
|
+
title?: string;
|
|
1546
|
+
size?: AXPopupSizeType;
|
|
1547
|
+
context?: any;
|
|
1548
|
+
metadata?: AXPMetaData;
|
|
1549
|
+
readOnly?: boolean;
|
|
1550
|
+
showActions?: boolean;
|
|
1551
|
+
}
|
|
1552
|
+
interface AXPTemplateViewerResult {
|
|
1553
|
+
context: any;
|
|
1554
|
+
cancelled: boolean;
|
|
1555
|
+
metadata?: AXPMetaData;
|
|
1556
|
+
}
|
|
1557
|
+
|
|
1558
|
+
declare class AXPTemplateViewerComponent extends AXBasePageComponent {
|
|
1559
|
+
set config(value: AXPTemplateViewerConfig | undefined);
|
|
1560
|
+
get config(): AXPTemplateViewerConfig | undefined;
|
|
1561
|
+
protected context: any;
|
|
1562
|
+
protected readonly document: _angular_core.WritableSignal<AXPWidgetNode>;
|
|
1563
|
+
protected readonly currentPageIndex: _angular_core.WritableSignal<number>;
|
|
1564
|
+
protected readonly _config: _angular_core.WritableSignal<AXPTemplateViewerConfig | undefined>;
|
|
1565
|
+
protected readonly currentPage: _angular_core.Signal<AXPWidgetNode>;
|
|
1566
|
+
protected ngOnInit(): Promise<void>;
|
|
1567
|
+
private loadTemplate;
|
|
1568
|
+
protected handleContextChanged(e: AXPLayoutContextChangeEvent): void;
|
|
1569
|
+
protected handleSubmit(form: AXFormComponent): Promise<void>;
|
|
1570
|
+
protected handleCancel(): void;
|
|
1571
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPTemplateViewerComponent, never>;
|
|
1572
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPTemplateViewerComponent, "axp-template-viewer", never, { "config": { "alias": "config"; "required": false; }; }, {}, never, never, true, never>;
|
|
1573
|
+
}
|
|
1574
|
+
|
|
1575
|
+
declare class AXPTemplateViewerService {
|
|
1576
|
+
private readonly popupService;
|
|
1577
|
+
/**
|
|
1578
|
+
* Show a template viewer dialog with the given configuration
|
|
1579
|
+
* @param config Template viewer configuration including template, title, and UI options
|
|
1580
|
+
* @returns Promise resolving to viewer result with form values and cancellation status
|
|
1581
|
+
*/
|
|
1582
|
+
showTemplate(config: AXPTemplateViewerConfig): Promise<AXPTemplateViewerResult>;
|
|
1583
|
+
/**
|
|
1584
|
+
* Show a template viewer in read-only mode
|
|
1585
|
+
* @param config Template viewer configuration
|
|
1586
|
+
* @returns Promise resolving to viewer result
|
|
1587
|
+
*/
|
|
1588
|
+
showTemplateReadOnly(config: Omit<AXPTemplateViewerConfig, 'readOnly' | 'showActions'>): Promise<AXPTemplateViewerResult>;
|
|
1589
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPTemplateViewerService, never>;
|
|
1590
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPTemplateViewerService>;
|
|
501
1591
|
}
|
|
502
1592
|
|
|
503
1593
|
type AXPUserAvatarSize = 'small' | 'medium' | 'large';
|
|
@@ -591,6 +1681,21 @@ declare class AXPUserAvatarComponent implements OnInit, OnDestroy {
|
|
|
591
1681
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPUserAvatarComponent, "axp-user-avatar", never, { "size": { "alias": "size"; "required": false; "isSignal": true; }; "userId": { "alias": "userId"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
592
1682
|
}
|
|
593
1683
|
|
|
1684
|
+
declare class AXPQueryViewsComponent {
|
|
1685
|
+
#private;
|
|
1686
|
+
protected popupService: AXPopupService;
|
|
1687
|
+
protected translate: AXTranslationService;
|
|
1688
|
+
protected tabs: _angular_core.Signal<AXTabsComponent | undefined>;
|
|
1689
|
+
views: _angular_core.ModelSignal<AXPViewQuery[]>;
|
|
1690
|
+
selectedView: _angular_core.ModelSignal<AXPViewQuery>;
|
|
1691
|
+
protected isMounted: _angular_core.WritableSignal<boolean>;
|
|
1692
|
+
ngAfterViewInit(): void;
|
|
1693
|
+
setView(view: AXPViewQuery): void;
|
|
1694
|
+
handleActiveChange(e: any): void;
|
|
1695
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPQueryViewsComponent, never>;
|
|
1696
|
+
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>;
|
|
1697
|
+
}
|
|
1698
|
+
|
|
594
1699
|
/**
|
|
595
1700
|
* Generic interface for widget item data
|
|
596
1701
|
*/
|
|
@@ -651,5 +1756,5 @@ declare class AXPWidgetItemComponent {
|
|
|
651
1756
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPWidgetItemComponent, "axp-widget-item", never, { "widget": { "alias": "widget"; "required": true; "isSignal": true; }; "isSelected": { "alias": "isSelected"; "required": false; "isSignal": true; }; "showPinButton": { "alias": "showPinButton"; "required": false; "isSignal": true; }; "customClasses": { "alias": "customClasses"; "required": false; "isSignal": true; }; }, { "onWidgetClick": "onWidgetClick"; "onPinClick": "onPinClick"; }, never, never, true, never>;
|
|
652
1757
|
}
|
|
653
1758
|
|
|
654
|
-
export { AXPActivityLogComponent, AXPCompareViewComponent, AXPComponentSlot, AXPComponentSlotDirective, AXPComponentSlotModule, AXPComponentSlotRegistryService, AXPDynamicFormComponent,
|
|
655
|
-
export type { AXPCompareViewField, AXPCompareViewInputs, AXPCompareViewMode, AXPCompareViewObject, AXPComponentSlotConfig, AXPComponentSlotModuleConfigs, AXPDynamicFormDefinition, AXPDynamicFormFieldDefinition, AXPDynamicFormGroupDefinition, AXPDynamicFormLayoutConfig,
|
|
1759
|
+
export { AXPActivityLogComponent, AXPCategoryTreeComponent, AXPCompareViewComponent, AXPComponentSlot, AXPComponentSlotDirective, AXPComponentSlotModule, AXPComponentSlotRegistryService, AXPDataSelectorComponent, AXPDataSelectorService, AXPDynamicDialogComponent, AXPDynamicDialogService, AXPDynamicFormBuilderService, AXPDynamicFormComponent, AXPDynamicFormStepperComponent, AXPExtraPropertiesComponent, AXPExtraPropertiesSchemaComponent, AXPExtraPropertiesValuesComponent, AXPMenuBadgeHelper, AXPQueryColumnsComponent, AXPQueryFiltersComponent, AXPQuerySortsComponent, AXPQueryViewsComponent, AXPStateMessageComponent, AXPTaskBadgeDirective, AXPTaskBadgeProvider, AXPTaskBadgeService, AXPTemplateViewerComponent, AXPTemplateViewerService, AXPThemeLayoutActionsComponent, AXPThemeLayoutBlockComponent, AXPThemeLayoutContainerComponent, AXPThemeLayoutEndSideComponent, AXPThemeLayoutFooterComponent, AXPThemeLayoutHeaderComponent, AXPThemeLayoutListComponent, AXPThemeLayoutListItemComponent, AXPThemeLayoutListItemsGroupComponent, AXPThemeLayoutPageHeaderComponent, AXPThemeLayoutPagePrimaryActionsComponent, AXPThemeLayoutPageSecondaryActionsComponent, AXPThemeLayoutSectionComponent, AXPThemeLayoutStartSideComponent, AXPThemeLayoutToolbarComponent, AXPUserAvatarComponent, AXPUserAvatarService, AXPWidgetItemComponent, AXPWidgetPropertyViewerComponent, AXP_EXTRA_PROPERTY_TYPES, AXP_TASK_BADGE_PROVIDERS, AXP_USER_AVATAR_PROVIDER };
|
|
1760
|
+
export type { AXPCategoryTreeActions, AXPCategoryTreeConfig, AXPCategoryTreeDataSource, AXPCategoryTreeEvents, AXPCategoryTreeNode, AXPCompareViewField, AXPCompareViewInputs, AXPCompareViewMode, AXPCompareViewObject, AXPComponentSlotConfig, AXPComponentSlotModuleConfigs, AXPDataSelectorColumn, AXPDataSelectorConfig, AXPDialogRef, AXPDynamicDialogConfig, AXPDynamicDialogResult, AXPDynamicFormDefinition, AXPDynamicFormDirection, AXPDynamicFormFieldDefinition, AXPDynamicFormGroupDefinition, AXPDynamicFormLayoutConfig, AXPDynamicFormLook, AXPDynamicFormMode, AXPDynamicFormStepperDefinition, AXPDynamicFormStepperStepDefinition, AXPExtraPropertyItem, AXPExtraPropertySchemaItem, AXPExtraPropertyType, AXPTemplateViewerConfig, AXPTemplateViewerResult, AXPUserAvatarData, AXPUserAvatarProvider, AXPUserAvatarSize, AXPUserAvatarStatus, AXPWidgetItemClickEvent, AXPWidgetItemData, AXPWidgetPropertiesChangedEvent, AXPWidgetPropertyTab, ColorBoxOptions, DateTimeBoxOptions, DialogBuilderState, FieldBuilderState, FormBuilderState, GroupBuilderState, IActionBuilder, IDialogBuilder, IFieldBuilder, IFieldOptions, IFormBuilder, IGroupBuilder, IStepBuilder, LargeTextBoxOptions, LookupBoxOptions, NumberBoxOptions, PasswordBoxOptions, RichTextOptions, SelectBoxOptions, SelectionListOptions, StateMode, StepBuilderState, TextBoxOptions, ToggleSwitchOptions };
|