@acorex/platform 20.3.0-next.0 → 20.3.0-next.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/common/index.d.ts +8 -9
- package/core/index.d.ts +597 -46
- package/fesm2022/acorex-platform-auth.mjs +19 -19
- package/fesm2022/acorex-platform-auth.mjs.map +1 -1
- package/fesm2022/acorex-platform-common.mjs +111 -163
- package/fesm2022/acorex-platform-common.mjs.map +1 -1
- package/fesm2022/acorex-platform-core.mjs +759 -113
- 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 +518 -95
- package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-components.mjs +1997 -215
- package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-designer.mjs +86 -79
- 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 +1650 -916
- package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-views.mjs +37 -29
- 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-I7Eq8Nti.mjs → acorex-platform-themes-default-entity-master-create-view.component-Ct-ri59W.mjs} +5 -5
- 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-D3VUh8K8.mjs → acorex-platform-themes-default-entity-master-list-view.component-7BB4LdjK.mjs} +30 -31
- 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-BMkhNfF4.mjs → acorex-platform-themes-default-entity-master-single-view.component-BExtm1JE.mjs} +7 -7
- package/fesm2022/{acorex-platform-themes-default-entity-master-single-view.component-BMkhNfF4.mjs.map → acorex-platform-themes-default-entity-master-single-view.component-BExtm1JE.mjs.map} +1 -1
- 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 +40 -40
- 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-theme-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-theme-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 +241 -74
- package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
- package/fesm2022/{acorex-platform-widgets-button-widget-designer.component-BJtkWusr.mjs → acorex-platform-widgets-button-widget-designer.component-DSaD9Fwc.mjs} +5 -5
- 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-B3SJUnGQ.mjs → acorex-platform-widgets-extra-properties-schema-widget-edit.component-D9mf08rU.mjs} +4 -4
- package/fesm2022/{acorex-platform-widgets-extra-properties-schema-widget-edit.component-B3SJUnGQ.mjs.map → acorex-platform-widgets-extra-properties-schema-widget-edit.component-D9mf08rU.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-widgets-extra-properties-schema-widget-view.component-BLR0JkRt.mjs → acorex-platform-widgets-extra-properties-schema-widget-view.component-D6GQ-eyr.mjs} +4 -4
- package/fesm2022/{acorex-platform-widgets-extra-properties-schema-widget-view.component-BLR0JkRt.mjs.map → acorex-platform-widgets-extra-properties-schema-widget-view.component-D6GQ-eyr.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-widgets-extra-properties-values-widget-edit.component-hzR2FgOm.mjs → acorex-platform-widgets-extra-properties-values-widget-edit.component-DVbIdVZ6.mjs} +4 -4
- package/fesm2022/{acorex-platform-widgets-extra-properties-values-widget-edit.component-hzR2FgOm.mjs.map → acorex-platform-widgets-extra-properties-values-widget-edit.component-DVbIdVZ6.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-widgets-extra-properties-values-widget-view.component-IDm6Clua.mjs → acorex-platform-widgets-extra-properties-values-widget-view.component-D-aM64Hu.mjs} +4 -4
- package/fesm2022/{acorex-platform-widgets-extra-properties-values-widget-view.component-IDm6Clua.mjs.map → acorex-platform-widgets-extra-properties-values-widget-view.component-D-aM64Hu.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-widgets-extra-properties-widget-edit.component-BRO9tYDa.mjs → acorex-platform-widgets-extra-properties-widget-edit.component-em2-aU8E.mjs} +4 -4
- package/fesm2022/{acorex-platform-widgets-extra-properties-widget-edit.component-BRO9tYDa.mjs.map → acorex-platform-widgets-extra-properties-widget-edit.component-em2-aU8E.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-widgets-extra-properties-widget-view.component-CkpLimyW.mjs → acorex-platform-widgets-extra-properties-widget-view.component-BeuIofdr.mjs} +4 -4
- package/fesm2022/{acorex-platform-widgets-extra-properties-widget-view.component-CkpLimyW.mjs.map → acorex-platform-widgets-extra-properties-widget-view.component-BeuIofdr.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-widgets-file-list-popup.component-BafU5Lfl.mjs → acorex-platform-widgets-file-list-popup.component-Cmtq2bBV.mjs} +5 -5
- package/fesm2022/acorex-platform-widgets-file-list-popup.component-Cmtq2bBV.mjs.map +1 -0
- package/fesm2022/{acorex-platform-widgets-page-widget-designer.component-Cw9WcZze.mjs → acorex-platform-widgets-page-widget-designer.component-B-ZEi2yd.mjs} +6 -6
- 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-BDQIfr0g.mjs → acorex-platform-widgets-tabular-data-edit-popup.component-CMqq_iOj.mjs} +11 -11
- 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-CmPqtt0G.mjs → acorex-platform-widgets-tabular-data-view-popup.component-CRpjdiNz.mjs} +6 -5
- 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-DaR4Nkv4.mjs → acorex-platform-widgets-text-block-widget-designer.component-DeSmBqMa.mjs} +5 -6
- package/fesm2022/acorex-platform-widgets-text-block-widget-designer.component-DeSmBqMa.mjs.map +1 -0
- package/fesm2022/acorex-platform-widgets.mjs +9725 -8964
- package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
- package/fesm2022/acorex-platform-workflow.mjs +25 -25
- package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
- package/layout/builder/index.d.ts +69 -21
- package/layout/components/index.d.ts +816 -58
- package/layout/designer/index.d.ts +4 -2
- package/layout/entity/index.d.ts +437 -231
- package/package.json +8 -8
- package/widgets/index.d.ts +1806 -732
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-I7Eq8Nti.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-D3VUh8K8.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-16sdMBvH.mjs +0 -101
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-16sdMBvH.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-themes-shared-theme-color-chooser-column.component-DjKLg513.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-DE0wO98F.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-button-widget-designer.component-BJtkWusr.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-checkbox-widget-column.component-DeKpl0uK.mjs +0 -84
- package/fesm2022/acorex-platform-widgets-checkbox-widget-column.component-DeKpl0uK.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-checkbox-widget-designer.component-Cv7dEMCm.mjs +0 -55
- package/fesm2022/acorex-platform-widgets-checkbox-widget-designer.component-Cv7dEMCm.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-CohkI1w1.mjs +0 -55
- package/fesm2022/acorex-platform-widgets-color-box-widget-designer.component-CohkI1w1.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-file-list-popup.component-BafU5Lfl.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-Cw9WcZze.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-BDQIfr0g.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-tabular-data-view-popup.component-CmPqtt0G.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-text-block-widget-designer.component-DaR4Nkv4.mjs.map +0 -1
|
@@ -1,21 +1,25 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
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, AXPColumnQuery, AXPContextData, AXPOptionsData, AXPActionMenuItem, AXPExecuteCommand, AXPFilterDefinition, AXPFilterQuery, AXPSortDefinition, AXPSortQuery, AXPMetaData, AXPViewQuery } 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';
|
|
7
10
|
import { CdkDragDrop } from '@angular/cdk/drag-drop';
|
|
8
11
|
import { AXPWidgetNode, AXPLayoutContextChangeEvent, AXPWidgetProperty, AXPWidgetConfig } from '@acorex/platform/layout/builder';
|
|
9
12
|
import * as _ngrx_signals from '@ngrx/signals';
|
|
10
|
-
import {
|
|
13
|
+
import { AXDataTableComponent, AXDataTableRowDbClick, AXDataTableRowClick } from '@acorex/components/data-table';
|
|
11
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';
|
|
12
17
|
import { AXFormComponent } from '@acorex/components/form';
|
|
13
18
|
import { AXPopoverComponent } from '@acorex/components/popover';
|
|
14
19
|
import { AXTagBoxComponent } from '@acorex/components/tag-box';
|
|
15
20
|
import { AXCalendarService } from '@acorex/core/date-time';
|
|
16
|
-
import {
|
|
21
|
+
import { AXTabStripChangedEvent, AXTabsComponent } from '@acorex/components/tabs';
|
|
17
22
|
import { Observable } from 'rxjs';
|
|
18
|
-
import { AXTabsComponent, AXTabStripChangedEvent } from '@acorex/components/tabs';
|
|
19
23
|
|
|
20
24
|
declare class AXPActivityLogComponent {
|
|
21
25
|
private readonly translateService;
|
|
@@ -203,6 +207,85 @@ declare class AXPThemeLayoutContainerComponent {
|
|
|
203
207
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPThemeLayoutContainerComponent, "axp-layout-container", never, {}, {}, never, ["*"], true, never>;
|
|
204
208
|
}
|
|
205
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
|
+
|
|
206
289
|
declare class AXPQueryColumnsComponent {
|
|
207
290
|
columns: _angular_core.ModelSignal<AXPColumnQuery[]>;
|
|
208
291
|
handleVisibilityChange(e: AXValueChangedEvent<boolean>, name: string): void;
|
|
@@ -357,10 +440,113 @@ declare class AXPComponentSlotModule {
|
|
|
357
440
|
static ɵinj: _angular_core.ɵɵInjectorDeclaration<AXPComponentSlotModule>;
|
|
358
441
|
}
|
|
359
442
|
|
|
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
|
+
|
|
360
542
|
/**
|
|
361
543
|
* Form appearance and density styling
|
|
362
544
|
*/
|
|
363
545
|
type AXPDynamicFormLook = 'normal' | 'compact' | 'borderless';
|
|
546
|
+
/**
|
|
547
|
+
* Form rendering mode
|
|
548
|
+
*/
|
|
549
|
+
type AXPDynamicFormMode = 'view' | 'edit';
|
|
364
550
|
/**
|
|
365
551
|
* Form layout direction and flow
|
|
366
552
|
*/
|
|
@@ -370,15 +556,39 @@ interface AXPDynamicFormFieldDefinition {
|
|
|
370
556
|
title?: string;
|
|
371
557
|
description?: string;
|
|
372
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
|
+
};
|
|
373
575
|
}
|
|
374
576
|
interface AXPDynamicFormGroupDefinition {
|
|
375
577
|
name: string;
|
|
376
578
|
title?: string;
|
|
377
579
|
description?: string;
|
|
378
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;
|
|
379
585
|
}
|
|
380
586
|
interface AXPDynamicFormDefinition {
|
|
381
587
|
groups: AXPDynamicFormGroupDefinition[];
|
|
588
|
+
/**
|
|
589
|
+
* Optional form-level rendering mode
|
|
590
|
+
*/
|
|
591
|
+
mode?: AXPDynamicFormMode;
|
|
382
592
|
}
|
|
383
593
|
interface AXPDynamicFormLayoutConfig {
|
|
384
594
|
positions: {
|
|
@@ -400,13 +610,220 @@ interface AXPDynamicFormLayoutConfig {
|
|
|
400
610
|
};
|
|
401
611
|
}
|
|
402
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
|
+
|
|
403
790
|
interface AXPDynamicDialogConfig {
|
|
404
791
|
title: string;
|
|
405
792
|
message?: string;
|
|
406
|
-
|
|
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
|
+
*/
|
|
407
804
|
context: any;
|
|
805
|
+
/**
|
|
806
|
+
* Shared layout options applied to form/stepper unless overridden
|
|
807
|
+
*/
|
|
408
808
|
layoutConfig?: AXPDynamicFormLayoutConfig;
|
|
809
|
+
layoutLook?: AXPDynamicFormLook;
|
|
810
|
+
mode?: AXPDynamicFormMode;
|
|
409
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
|
+
*/
|
|
410
827
|
actions?: {
|
|
411
828
|
footer?: {
|
|
412
829
|
prefix?: AXPActionMenuItem[];
|
|
@@ -418,17 +835,44 @@ interface AXPDynamicDialogResult {
|
|
|
418
835
|
context: any;
|
|
419
836
|
action?: string;
|
|
420
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
|
+
}
|
|
421
856
|
|
|
422
857
|
declare class AXPDynamicDialogComponent extends AXBasePageComponent {
|
|
423
858
|
config: AXPDynamicDialogConfig;
|
|
424
859
|
private readonly dynamicForm;
|
|
860
|
+
protected readonly stepper: _angular_core.Signal<AXPDynamicFormStepperComponent | undefined>;
|
|
425
861
|
isSubmitting: _angular_core.WritableSignal<boolean>;
|
|
426
862
|
private previousContext;
|
|
427
863
|
private formData;
|
|
864
|
+
dialogResult: AXPDynamicDialogResult | null;
|
|
865
|
+
isSubmittingFromDialog: boolean;
|
|
866
|
+
data: any;
|
|
867
|
+
callBack: (dialogRef: AXPDialogRef) => void;
|
|
428
868
|
/**
|
|
429
869
|
* Form context for widget container
|
|
430
870
|
*/
|
|
431
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>;
|
|
432
876
|
protected defaultLayout: () => {
|
|
433
877
|
positions: {
|
|
434
878
|
default: {
|
|
@@ -448,14 +892,43 @@ declare class AXPDynamicDialogComponent extends AXBasePageComponent {
|
|
|
448
892
|
};
|
|
449
893
|
};
|
|
450
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>;
|
|
451
921
|
/**
|
|
452
922
|
* Footer actions for dynamic button system
|
|
453
923
|
*/
|
|
454
924
|
protected footerPrefixActions: _angular_core.Signal<AXPActionMenuItem[]>;
|
|
455
925
|
protected footerSuffixActions: _angular_core.Signal<AXPActionMenuItem[]>;
|
|
926
|
+
protected visibleFooterPrefixActions: _angular_core.Signal<AXPActionMenuItem[]>;
|
|
927
|
+
protected visibleFooterSuffixActions: _angular_core.Signal<AXPActionMenuItem[]>;
|
|
456
928
|
protected hasFooterActions: _angular_core.Signal<boolean>;
|
|
457
|
-
|
|
458
|
-
protected
|
|
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>;
|
|
459
932
|
ngOnInit(): void;
|
|
460
933
|
protected handleContextInitiated(context: any): void;
|
|
461
934
|
protected handleContextChanged(context: any): void;
|
|
@@ -471,6 +944,9 @@ declare class AXPDynamicDialogComponent extends AXBasePageComponent {
|
|
|
471
944
|
* Check if form is valid
|
|
472
945
|
*/
|
|
473
946
|
protected isFormValid(): Promise<boolean>;
|
|
947
|
+
/** Stepper navigation handlers */
|
|
948
|
+
protected goPrev(): void;
|
|
949
|
+
protected goNext(): void;
|
|
474
950
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPDynamicDialogComponent, never>;
|
|
475
951
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPDynamicDialogComponent, "axp-dynamic-dialog", never, { "config": { "alias": "config"; "required": true; }; }, {}, never, never, true, never>;
|
|
476
952
|
}
|
|
@@ -480,15 +956,24 @@ declare class AXPDynamicDialogService {
|
|
|
480
956
|
/**
|
|
481
957
|
* Show a dynamic dialog with the given configuration
|
|
482
958
|
* @param config Dialog configuration including fields, validation, and UI options
|
|
483
|
-
* @returns Promise resolving to dialog
|
|
959
|
+
* @returns Promise resolving to dialog reference for controlling the dialog
|
|
484
960
|
*/
|
|
485
|
-
showDialog(config: AXPDynamicDialogConfig): Promise<
|
|
961
|
+
showDialog(config: AXPDynamicDialogConfig): Promise<AXPDialogRef>;
|
|
486
962
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPDynamicDialogService, never>;
|
|
487
963
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPDynamicDialogService>;
|
|
488
964
|
}
|
|
489
965
|
|
|
490
966
|
declare class AXPDynamicFormComponent implements OnInit {
|
|
491
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;
|
|
492
977
|
/**
|
|
493
978
|
* Form definition containing groups and fields
|
|
494
979
|
*/
|
|
@@ -505,10 +990,20 @@ declare class AXPDynamicFormComponent implements OnInit {
|
|
|
505
990
|
* Form layout direction and flow (vertical, horizontal, grid)
|
|
506
991
|
*/
|
|
507
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>;
|
|
508
997
|
/**
|
|
509
998
|
* Custom layout configuration for form fields
|
|
510
999
|
*/
|
|
511
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;
|
|
512
1007
|
/**
|
|
513
1008
|
* Emitted when form context changes
|
|
514
1009
|
*/
|
|
@@ -531,6 +1026,14 @@ declare class AXPDynamicFormComponent implements OnInit {
|
|
|
531
1026
|
* Computed layout configuration
|
|
532
1027
|
*/
|
|
533
1028
|
protected computedLayout: _angular_core.Signal<AXPDynamicFormLayoutConfig>;
|
|
1029
|
+
/**
|
|
1030
|
+
* Resolve effective mode with precedence: field > group > form
|
|
1031
|
+
*/
|
|
1032
|
+
protected resolveParamMode: (group: any, param: AXPDynamicFormFieldDefinition) => AXPDynamicFormMode;
|
|
1033
|
+
/**
|
|
1034
|
+
* Resolve effective grid layout for a specific parameter, merging per-parameter override with form layout.
|
|
1035
|
+
*/
|
|
1036
|
+
protected resolveParamLayout(param: AXPDynamicFormFieldDefinition): AXPDynamicFormLayoutConfig;
|
|
534
1037
|
/**
|
|
535
1038
|
* Host classes based on layout look and direction
|
|
536
1039
|
*/
|
|
@@ -558,7 +1061,262 @@ declare class AXPDynamicFormComponent implements OnInit {
|
|
|
558
1061
|
*/
|
|
559
1062
|
validate(): Promise<boolean>;
|
|
560
1063
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPDynamicFormComponent, never>;
|
|
561
|
-
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; }; "layoutConfig": { "alias": "layoutConfig"; "required": false; "isSignal": true; }; }, { "contextChange": "contextChange"; "contextInitiated": "contextInitiated"; "validityChange": "validityChange"; }, never, never, true, never>;
|
|
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>;
|
|
562
1320
|
}
|
|
563
1321
|
|
|
564
1322
|
/**
|
|
@@ -599,7 +1357,7 @@ declare const AXP_EXTRA_PROPERTY_TYPES: InjectionToken<AXPExtraPropertyType[]>;
|
|
|
599
1357
|
|
|
600
1358
|
declare class AXPExtraPropertiesComponent {
|
|
601
1359
|
items: _angular_core.InputSignal<AXPExtraPropertyItem[]>;
|
|
602
|
-
mode: _angular_core.InputSignal<"
|
|
1360
|
+
mode: _angular_core.InputSignal<"view" | "edit">;
|
|
603
1361
|
protected onContextChanged(event: AXPLayoutContextChangeEvent): void;
|
|
604
1362
|
itemsChange: _angular_core.OutputEmitterRef<AXPExtraPropertyItem[]>;
|
|
605
1363
|
private readonly providedTypes;
|
|
@@ -640,7 +1398,7 @@ declare class AXPExtraPropertiesComponent {
|
|
|
640
1398
|
|
|
641
1399
|
declare class AXPExtraPropertiesSchemaComponent {
|
|
642
1400
|
schema: _angular_core.InputSignal<AXPExtraPropertySchemaItem[]>;
|
|
643
|
-
mode: _angular_core.InputSignal<"
|
|
1401
|
+
mode: _angular_core.InputSignal<"view" | "edit">;
|
|
644
1402
|
schemaChange: _angular_core.OutputEmitterRef<AXPExtraPropertySchemaItem[]>;
|
|
645
1403
|
private readonly providedTypes;
|
|
646
1404
|
private readonly translationService;
|
|
@@ -671,7 +1429,7 @@ declare class AXPExtraPropertiesSchemaComponent {
|
|
|
671
1429
|
declare class AXPExtraPropertiesValuesComponent {
|
|
672
1430
|
schema: _angular_core.InputSignal<AXPExtraPropertySchemaItem[]>;
|
|
673
1431
|
values: _angular_core.InputSignal<Record<string, any>>;
|
|
674
|
-
mode: _angular_core.InputSignal<"
|
|
1432
|
+
mode: _angular_core.InputSignal<"view" | "edit">;
|
|
675
1433
|
valuesChange: _angular_core.OutputEmitterRef<Record<string, any>>;
|
|
676
1434
|
isRequired: (item: AXPExtraPropertySchemaItem) => any;
|
|
677
1435
|
protected internalContext: _angular_core.WritableSignal<Record<string, any>>;
|
|
@@ -727,6 +1485,48 @@ declare class AXPQueryFiltersComponent {
|
|
|
727
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>;
|
|
728
1486
|
}
|
|
729
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
|
+
|
|
730
1530
|
declare class AXPQuerySortsComponent {
|
|
731
1531
|
sortDefinitions: _angular_core.ModelSignal<AXPSortDefinition[]>;
|
|
732
1532
|
sortQueries: _angular_core.WritableSignal<AXPSortQuery[]>;
|
|
@@ -956,47 +1756,5 @@ declare class AXPWidgetItemComponent {
|
|
|
956
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>;
|
|
957
1757
|
}
|
|
958
1758
|
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
title: string;
|
|
962
|
-
groups: {
|
|
963
|
-
name: string;
|
|
964
|
-
title: string;
|
|
965
|
-
isCollapsed: boolean;
|
|
966
|
-
props: AXPWidgetProperty[];
|
|
967
|
-
}[];
|
|
968
|
-
}
|
|
969
|
-
interface AXPWidgetPropertiesChangedEvent {
|
|
970
|
-
values: any;
|
|
971
|
-
mode: 'init' | 'update';
|
|
972
|
-
}
|
|
973
|
-
declare class AXPWidgetPropertyViewerComponent {
|
|
974
|
-
widget: _angular_core.InputSignal<AXPWidgetNode>;
|
|
975
|
-
mode: _angular_core.InputSignal<"simple" | "advanced">;
|
|
976
|
-
private widgetRegistryService;
|
|
977
|
-
protected currentTabIndex: WritableSignal<number>;
|
|
978
|
-
protected config: WritableSignal<AXPWidgetConfig<any> | null>;
|
|
979
|
-
protected allPoperties: AXPWidgetProperty[];
|
|
980
|
-
protected tabs: WritableSignal<AXPWidgetPropertyTab[]>;
|
|
981
|
-
protected groups: _angular_core.Signal<{
|
|
982
|
-
name: string;
|
|
983
|
-
title: string;
|
|
984
|
-
isCollapsed: boolean;
|
|
985
|
-
props: AXPWidgetProperty[];
|
|
986
|
-
}[]>;
|
|
987
|
-
protected groupCollapsedStates: Map<string, boolean>;
|
|
988
|
-
onChanged: EventEmitter<AXPWidgetPropertiesChangedEvent>;
|
|
989
|
-
protected context: WritableSignal<any>;
|
|
990
|
-
protected initialContext: any;
|
|
991
|
-
constructor();
|
|
992
|
-
update(values: any): void;
|
|
993
|
-
private fillTabs;
|
|
994
|
-
protected handleContextChange(e: AXPLayoutContextChangeEvent): void;
|
|
995
|
-
protected handleTabChange(event: AXTabStripChangedEvent): void;
|
|
996
|
-
protected handleCollapsedChange(group: string, collapsed: boolean): void;
|
|
997
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPWidgetPropertyViewerComponent, never>;
|
|
998
|
-
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>;
|
|
999
|
-
}
|
|
1000
|
-
|
|
1001
|
-
export { AXPActivityLogComponent, AXPCompareViewComponent, AXPComponentSlot, AXPComponentSlotDirective, AXPComponentSlotModule, AXPComponentSlotRegistryService, AXPDynamicDialogComponent, AXPDynamicDialogService, AXPDynamicFormComponent, AXPExtraPropertiesComponent, AXPExtraPropertiesSchemaComponent, AXPExtraPropertiesValuesComponent, AXPMenuBadgeHelper, AXPQueryColumnsComponent, AXPQueryFiltersComponent, AXPQuerySortsComponent, AXPQueryViewsComponent, 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 };
|
|
1002
|
-
export type { AXPCompareViewField, AXPCompareViewInputs, AXPCompareViewMode, AXPCompareViewObject, AXPComponentSlotConfig, AXPComponentSlotModuleConfigs, AXPDynamicDialogConfig, AXPDynamicDialogResult, AXPDynamicFormDefinition, AXPDynamicFormDirection, AXPDynamicFormFieldDefinition, AXPDynamicFormGroupDefinition, AXPDynamicFormLayoutConfig, AXPDynamicFormLook, AXPExtraPropertyItem, AXPExtraPropertySchemaItem, AXPExtraPropertyType, AXPTemplateViewerConfig, AXPTemplateViewerResult, AXPUserAvatarData, AXPUserAvatarProvider, AXPUserAvatarSize, AXPUserAvatarStatus, AXPWidgetItemClickEvent, AXPWidgetItemData, AXPWidgetPropertiesChangedEvent, AXPWidgetPropertyTab };
|
|
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 };
|