@acorex/platform 20.3.0-next.9 → 20.4.1
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 +643 -365
- package/core/index.d.ts +19 -4
- package/fesm2022/acorex-platform-auth.mjs +19 -19
- package/fesm2022/acorex-platform-auth.mjs.map +1 -1
- package/fesm2022/acorex-platform-common-common-settings.provider-9OHien_H.mjs +47 -0
- package/fesm2022/acorex-platform-common-common-settings.provider-9OHien_H.mjs.map +1 -0
- package/fesm2022/acorex-platform-common.mjs +674 -243
- package/fesm2022/acorex-platform-common.mjs.map +1 -1
- package/fesm2022/acorex-platform-core.mjs +58 -46
- 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 +1933 -2330
- package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-components.mjs +1511 -1626
- package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-designer.mjs +82 -82
- package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-entity-create-entity.command-DyXF9zAh.mjs +52 -0
- package/fesm2022/acorex-platform-layout-entity-create-entity.command-DyXF9zAh.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-entity.mjs +1371 -917
- package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-views.mjs +63 -54
- package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-widget-core.mjs +2758 -0
- package/fesm2022/acorex-platform-layout-widget-core.mjs.map +1 -0
- package/fesm2022/{acorex-platform-widgets-button-widget-designer.component-C2Qn1YAW.mjs → acorex-platform-layout-widgets-button-widget-designer.component-C_3IWNkj.mjs} +6 -6
- package/fesm2022/acorex-platform-layout-widgets-button-widget-designer.component-C_3IWNkj.mjs.map +1 -0
- package/fesm2022/{acorex-platform-widgets-extra-properties-schema-widget-edit.component-D9mf08rU.mjs → acorex-platform-layout-widgets-extra-properties-schema-widget-edit.component-CJltEgut.mjs} +5 -5
- package/fesm2022/acorex-platform-layout-widgets-extra-properties-schema-widget-edit.component-CJltEgut.mjs.map +1 -0
- package/fesm2022/{acorex-platform-widgets-extra-properties-schema-widget-view.component-D6GQ-eyr.mjs → acorex-platform-layout-widgets-extra-properties-schema-widget-view.component-pM-TIuk0.mjs} +5 -5
- package/fesm2022/acorex-platform-layout-widgets-extra-properties-schema-widget-view.component-pM-TIuk0.mjs.map +1 -0
- package/fesm2022/{acorex-platform-widgets-extra-properties-values-widget-edit.component-DVbIdVZ6.mjs → acorex-platform-layout-widgets-extra-properties-values-widget-edit.component-BqI96-fU.mjs} +5 -5
- package/fesm2022/acorex-platform-layout-widgets-extra-properties-values-widget-edit.component-BqI96-fU.mjs.map +1 -0
- package/fesm2022/{acorex-platform-widgets-extra-properties-values-widget-view.component-D-aM64Hu.mjs → acorex-platform-layout-widgets-extra-properties-values-widget-view.component-C-AhenaM.mjs} +5 -5
- package/fesm2022/acorex-platform-layout-widgets-extra-properties-values-widget-view.component-C-AhenaM.mjs.map +1 -0
- package/fesm2022/{acorex-platform-widgets-extra-properties-widget-edit.component-em2-aU8E.mjs → acorex-platform-layout-widgets-extra-properties-widget-edit.component-DCAya5ne.mjs} +5 -5
- package/fesm2022/acorex-platform-layout-widgets-extra-properties-widget-edit.component-DCAya5ne.mjs.map +1 -0
- package/fesm2022/{acorex-platform-widgets-extra-properties-widget-view.component-BeuIofdr.mjs → acorex-platform-layout-widgets-extra-properties-widget-view.component-D-PnBqLb.mjs} +5 -5
- package/fesm2022/acorex-platform-layout-widgets-extra-properties-widget-view.component-D-PnBqLb.mjs.map +1 -0
- package/fesm2022/{acorex-platform-widgets-file-list-popup.component-Cmtq2bBV.mjs → acorex-platform-layout-widgets-file-list-popup.component-DuuFHWvB.mjs} +9 -9
- package/fesm2022/acorex-platform-layout-widgets-file-list-popup.component-DuuFHWvB.mjs.map +1 -0
- package/fesm2022/{acorex-platform-widgets-page-widget-designer.component-D8ivmxzT.mjs → acorex-platform-layout-widgets-page-widget-designer.component-Bss0xUcu.mjs} +8 -8
- package/fesm2022/acorex-platform-layout-widgets-page-widget-designer.component-Bss0xUcu.mjs.map +1 -0
- package/fesm2022/{acorex-platform-widgets-tabular-data-edit-popup.component-CMqq_iOj.mjs → acorex-platform-layout-widgets-tabular-data-edit-popup.component-Cy9mHnNP.mjs} +8 -8
- package/fesm2022/acorex-platform-layout-widgets-tabular-data-edit-popup.component-Cy9mHnNP.mjs.map +1 -0
- package/fesm2022/{acorex-platform-widgets-tabular-data-view-popup.component-Dmg5DdX8.mjs → acorex-platform-layout-widgets-tabular-data-view-popup.component-DznLtuer.mjs} +6 -5
- package/fesm2022/acorex-platform-layout-widgets-tabular-data-view-popup.component-DznLtuer.mjs.map +1 -0
- package/fesm2022/{acorex-platform-widgets-text-block-widget-designer.component-yADN3Xji.mjs → acorex-platform-layout-widgets-text-block-widget-designer.component-ndOUSFi9.mjs} +6 -7
- package/fesm2022/acorex-platform-layout-widgets-text-block-widget-designer.component-ndOUSFi9.mjs.map +1 -0
- package/fesm2022/{acorex-platform-widgets.mjs → acorex-platform-layout-widgets.mjs} +4154 -3147
- package/fesm2022/acorex-platform-layout-widgets.mjs.map +1 -0
- 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-B1PT6FtZ.mjs +115 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-B1PT6FtZ.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-default-entity-master-list-view.component-7BB4LdjK.mjs → acorex-platform-themes-default-entity-master-list-view.component-rdKxuMC_.mjs} +69 -33
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-rdKxuMC_.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-4g19A3eI.mjs +101 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-4g19A3eI.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-default-entity-master-single-view.component-BExtm1JE.mjs → acorex-platform-themes-default-entity-master-single-view.component-B8gx5cG7.mjs} +17 -17
- package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-B8gx5cG7.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-default-error-401.component-DrO1PEOH.mjs → acorex-platform-themes-default-error-401.component-CcvGfdhu.mjs} +4 -4
- package/fesm2022/{acorex-platform-themes-default-error-401.component-DrO1PEOH.mjs.map → acorex-platform-themes-default-error-401.component-CcvGfdhu.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-themes-default-error-404.component-DqVq0oHX.mjs → acorex-platform-themes-default-error-404.component-4-CaEsnV.mjs} +4 -4
- package/fesm2022/{acorex-platform-themes-default-error-404.component-DqVq0oHX.mjs.map → acorex-platform-themes-default-error-404.component-4-CaEsnV.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-themes-default-error-offline.component-Bt2PTL7_.mjs → acorex-platform-themes-default-error-offline.component-BNecbFEj.mjs} +4 -4
- package/fesm2022/{acorex-platform-themes-default-error-offline.component-Bt2PTL7_.mjs.map → acorex-platform-themes-default-error-offline.component-BNecbFEj.mjs.map} +1 -1
- package/fesm2022/acorex-platform-themes-default.mjs +118 -54
- package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
- package/fesm2022/{acorex-platform-themes-shared-icon-chooser-view.component-BgEh06Tn.mjs → acorex-platform-themes-shared-icon-chooser-view.component-Dc_Txe32.mjs} +5 -5
- package/fesm2022/acorex-platform-themes-shared-icon-chooser-view.component-Dc_Txe32.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-shared-settings.provider-CLUKU4y0.mjs → acorex-platform-themes-shared-settings.provider-DY2xFnrv.mjs} +8 -8
- package/fesm2022/acorex-platform-themes-shared-settings.provider-DY2xFnrv.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-shared-theme-color-chooser-column.component-AeOQxjbS.mjs → acorex-platform-themes-shared-theme-color-chooser-column.component-hgWLhhle.mjs} +5 -5
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-hgWLhhle.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-shared-theme-color-chooser-view.component-DEVzRd6-.mjs → acorex-platform-themes-shared-theme-color-chooser-view.component-CY3JZK_W.mjs} +5 -5
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-CY3JZK_W.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-shared.mjs +66 -55
- package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
- package/fesm2022/acorex-platform-workflow.mjs +27 -39
- package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
- package/layout/builder/README.md +1577 -3
- package/layout/builder/index.d.ts +735 -868
- package/layout/components/index.d.ts +218 -714
- package/layout/designer/index.d.ts +4 -4
- package/layout/entity/index.d.ts +954 -375
- package/layout/views/index.d.ts +13 -14
- package/layout/widget-core/README.md +4 -0
- package/layout/widget-core/index.d.ts +959 -0
- package/layout/widgets/README.md +4 -0
- package/{widgets → layout/widgets}/index.d.ts +426 -365
- package/package.json +18 -14
- package/themes/shared/index.d.ts +2 -2
- package/workflow/index.d.ts +3 -173
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-Ct-ri59W.mjs +0 -115
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-Ct-ri59W.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-7BB4LdjK.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-BDJR088o.mjs +0 -101
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-BDJR088o.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-BExtm1JE.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-icon-chooser-view.component-BgEh06Tn.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-settings.provider-CLUKU4y0.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-AeOQxjbS.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-DEVzRd6-.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-button-widget-designer.component-C2Qn1YAW.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-checkbox-widget-column.component-CzEFmKWG.mjs +0 -84
- package/fesm2022/acorex-platform-widgets-checkbox-widget-column.component-CzEFmKWG.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-checkbox-widget-designer.component-BXPrXy-h.mjs +0 -55
- package/fesm2022/acorex-platform-widgets-checkbox-widget-designer.component-BXPrXy-h.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-checkbox-widget-view.component-KYCQ2qTJ.mjs +0 -92
- package/fesm2022/acorex-platform-widgets-checkbox-widget-view.component-KYCQ2qTJ.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-color-box-widget-designer.component-BVZ7lWm9.mjs +0 -55
- package/fesm2022/acorex-platform-widgets-color-box-widget-designer.component-BVZ7lWm9.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-extra-properties-schema-widget-edit.component-D9mf08rU.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-extra-properties-schema-widget-view.component-D6GQ-eyr.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-extra-properties-values-widget-edit.component-DVbIdVZ6.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-extra-properties-values-widget-view.component-D-aM64Hu.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-extra-properties-widget-edit.component-em2-aU8E.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-extra-properties-widget-view.component-BeuIofdr.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-file-list-popup.component-Cmtq2bBV.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-page-widget-designer.component-D8ivmxzT.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-rich-text-popup.component-Cydlpsat.mjs +0 -40
- package/fesm2022/acorex-platform-widgets-rich-text-popup.component-Cydlpsat.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-tabular-data-edit-popup.component-CMqq_iOj.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-tabular-data-view-popup.component-Dmg5DdX8.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-text-block-widget-designer.component-yADN3Xji.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets.mjs.map +0 -1
- package/widgets/README.md +0 -4
|
@@ -1,24 +1,23 @@
|
|
|
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, AXPCategoryEntity, AXPColumnQuery, AXPContextData, AXPOptionsData,
|
|
4
|
+
import { AXPActivityLog, AXPSystemActionType, AXPCategoryEntity, AXPColumnQuery, AXPContextData, AXPOptionsData, AXPGridLayoutOptions, AXPFilterDefinition, AXPFilterQuery, AXPSortDefinition, AXPSortQuery, AXPMetaData, AXPViewQuery } from '@acorex/platform/core';
|
|
5
5
|
import { AXPMenuItem } from '@acorex/platform/common';
|
|
6
|
-
import
|
|
7
|
-
import { AXValueChangedEvent, AXClickEvent, AXDataSource, AXDataSourceFilterOption, AXOrientation, AXHtmlEvent, AXEvent } from '@acorex/cdk/common';
|
|
6
|
+
import { AXValueChangedEvent, AXClickEvent, AXDataSource, AXDataSourceFilterOption, AXHtmlEvent, AXEvent } from '@acorex/cdk/common';
|
|
8
7
|
import { AXTreeViewComponent, AXTreeItemClickBaseEvent } from '@acorex/components/tree-view';
|
|
9
8
|
import { AXTranslationService } from '@acorex/core/translation';
|
|
10
9
|
import { CdkDragDrop } from '@angular/cdk/drag-drop';
|
|
11
|
-
import { AXPWidgetNode,
|
|
10
|
+
import { AXPWidgetNode, AXPWidgetCoreContextChangeEvent, AXPWidgetProperty, AXPWidgetConfig } from '@acorex/platform/layout/widget-core';
|
|
12
11
|
import * as _ngrx_signals from '@ngrx/signals';
|
|
13
12
|
import { AXDataTableComponent, AXDataTableRowDbClick, AXDataTableRowClick } from '@acorex/components/data-table';
|
|
14
13
|
import { AXBasePageComponent } from '@acorex/components/page';
|
|
15
|
-
import {
|
|
16
|
-
import * as _acorex_platform_layout_components from '@acorex/platform/layout/components';
|
|
17
|
-
import { AXFormComponent } from '@acorex/components/form';
|
|
14
|
+
import { AXPDynamicFormFieldDefinition, AXPDynamicFormGroupDefinition, AXPDynamicFormDefinition } from '@acorex/platform/layout/builder';
|
|
18
15
|
import { AXPopoverComponent } from '@acorex/components/popover';
|
|
19
16
|
import { AXTagBoxComponent } from '@acorex/components/tag-box';
|
|
20
17
|
import { AXCalendarService } from '@acorex/core/date-time';
|
|
21
18
|
import { AXTabStripChangedEvent, AXTabsComponent } from '@acorex/components/tabs';
|
|
19
|
+
import { AXFormComponent } from '@acorex/components/form';
|
|
20
|
+
import { AXPopupSizeType, AXPopupService } from '@acorex/components/popup';
|
|
22
21
|
import { Observable } from 'rxjs';
|
|
23
22
|
|
|
24
23
|
declare class AXPActivityLogComponent {
|
|
@@ -444,6 +443,7 @@ interface AXPDataSelectorColumn {
|
|
|
444
443
|
name: string;
|
|
445
444
|
title: string;
|
|
446
445
|
visible: boolean;
|
|
446
|
+
dataPath?: string;
|
|
447
447
|
widget: {
|
|
448
448
|
type: string;
|
|
449
449
|
options: any;
|
|
@@ -457,6 +457,7 @@ interface AXPDataSelectorConfig {
|
|
|
457
457
|
searchFields?: string[];
|
|
458
458
|
parentField?: string;
|
|
459
459
|
allowCreate?: boolean;
|
|
460
|
+
filters?: AXDataSourceFilterOption;
|
|
460
461
|
categoryFilter?: {
|
|
461
462
|
enabled: boolean;
|
|
462
463
|
title: string;
|
|
@@ -517,6 +518,7 @@ declare class AXPDataSelectorComponent extends AXBasePageComponent {
|
|
|
517
518
|
|
|
518
519
|
declare class AXPDataSelectorService {
|
|
519
520
|
private readonly popupService;
|
|
521
|
+
private readonly expressionService;
|
|
520
522
|
/**
|
|
521
523
|
* Open data selector popup
|
|
522
524
|
*/
|
|
@@ -539,752 +541,175 @@ declare class AXPDataSelectorService {
|
|
|
539
541
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPDataSelectorService>;
|
|
540
542
|
}
|
|
541
543
|
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
/**
|
|
547
|
-
* Form layout direction and flow
|
|
548
|
-
*/
|
|
549
|
-
type AXPDynamicFormDirection = 'vertical' | 'horizontal' | 'grid';
|
|
550
|
-
interface AXPDynamicFormFieldDefinition {
|
|
551
|
-
path: string;
|
|
552
|
-
title?: string;
|
|
544
|
+
interface AXPDynamicFormDesignerField {
|
|
545
|
+
id: string;
|
|
546
|
+
name: string;
|
|
547
|
+
title: string;
|
|
553
548
|
description?: string;
|
|
554
549
|
widget: AXPWidgetNode;
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
default?: number;
|
|
562
|
-
md?: number;
|
|
563
|
-
lg?: number;
|
|
564
|
-
xl?: number;
|
|
565
|
-
xxl?: number;
|
|
566
|
-
};
|
|
550
|
+
mode?: 'view' | 'edit';
|
|
551
|
+
layout?: AXPGridLayoutOptions;
|
|
552
|
+
validations?: Array<{
|
|
553
|
+
rule: string;
|
|
554
|
+
options?: Record<string, any>;
|
|
555
|
+
}>;
|
|
567
556
|
}
|
|
568
|
-
interface
|
|
557
|
+
interface AXPDynamicFormDesignerGroup {
|
|
558
|
+
id: string;
|
|
569
559
|
name: string;
|
|
570
560
|
title?: string;
|
|
571
561
|
description?: string;
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
};
|
|
582
|
-
md?: {
|
|
583
|
-
colSpan: number;
|
|
584
|
-
};
|
|
585
|
-
lg?: {
|
|
586
|
-
colSpan: number;
|
|
587
|
-
};
|
|
588
|
-
xl?: {
|
|
589
|
-
colSpan: number;
|
|
590
|
-
};
|
|
591
|
-
xxl?: {
|
|
592
|
-
colSpan: number;
|
|
593
|
-
};
|
|
594
|
-
};
|
|
562
|
+
fields: AXPDynamicFormDesignerField[];
|
|
563
|
+
mode?: 'view' | 'edit';
|
|
564
|
+
layout?: AXPGridLayoutOptions;
|
|
565
|
+
}
|
|
566
|
+
interface AXPDynamicFormDesignerState {
|
|
567
|
+
groups: AXPDynamicFormDesignerGroup[];
|
|
568
|
+
selectedFieldId?: string;
|
|
569
|
+
selectedGroupId?: string;
|
|
570
|
+
mode: 'designer' | 'preview';
|
|
595
571
|
}
|
|
596
|
-
|
|
597
572
|
/**
|
|
598
|
-
*
|
|
599
|
-
* Each step contains one or more groups rendered by AXPDynamicFormComponent.
|
|
573
|
+
* Convert designer field to form field definition
|
|
600
574
|
*/
|
|
601
|
-
|
|
602
|
-
/** Unique identifier for the step */
|
|
603
|
-
id: string;
|
|
604
|
-
/** Display title for the step */
|
|
605
|
-
title?: string;
|
|
606
|
-
/** Optional descriptive text for the step */
|
|
607
|
-
description?: string;
|
|
608
|
-
/** Optional icon name for the step header */
|
|
609
|
-
icon?: string;
|
|
610
|
-
/** Field groups to render in this step */
|
|
611
|
-
groups: AXPDynamicFormGroupDefinition[];
|
|
612
|
-
/** Optional layout direction override for this step's form */
|
|
613
|
-
formDirection?: AXPDynamicFormDirection;
|
|
614
|
-
/** Whether the user may skip this step (defaults to false) */
|
|
615
|
-
canSkip?: boolean;
|
|
616
|
-
/** Whether the user may navigate back from this step (defaults to true) */
|
|
617
|
-
canGoBack?: boolean;
|
|
618
|
-
/** Optional data path inside the shared context for this step's data */
|
|
619
|
-
dataPath?: string;
|
|
620
|
-
}
|
|
575
|
+
declare function convertDesignerFieldToFormField(field: AXPDynamicFormDesignerField): AXPDynamicFormFieldDefinition;
|
|
621
576
|
/**
|
|
622
|
-
*
|
|
577
|
+
* Convert designer group to form group definition
|
|
623
578
|
*/
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
/** Show step numbers in the header */
|
|
632
|
-
showStepNumbers?: boolean;
|
|
633
|
-
}
|
|
634
|
-
|
|
635
|
-
declare class AXPDynamicFormStepperComponent {
|
|
636
|
-
#private;
|
|
637
|
-
/**
|
|
638
|
-
* Stepper definition providing steps metadata and behavior configuration
|
|
639
|
-
*/
|
|
640
|
-
definition: _angular_core.InputSignal<AXPDynamicFormStepperDefinition>;
|
|
641
|
-
/**
|
|
642
|
-
* Shared root context for all steps
|
|
643
|
-
*/
|
|
644
|
-
context: _angular_core.InputSignal<any>;
|
|
645
|
-
/**
|
|
646
|
-
* Optional pass-through layout props for inner forms
|
|
647
|
-
*/
|
|
648
|
-
layoutLook: _angular_core.InputSignal<AXPDynamicFormLook>;
|
|
649
|
-
stepperDirection: _angular_core.InputSignal<AXOrientation>;
|
|
650
|
-
layoutConfig: _angular_core.InputSignal<AXPDynamicFormLayoutConfig | undefined>;
|
|
651
|
-
/**
|
|
652
|
-
* Optional guard that controls advancing to the next step (async only)
|
|
653
|
-
*/
|
|
654
|
-
guardNext: _angular_core.InputSignal<((e: {
|
|
655
|
-
index: number;
|
|
656
|
-
id: string;
|
|
657
|
-
fullContext: any;
|
|
658
|
-
}) => Promise<boolean>) | undefined>;
|
|
659
|
-
/**
|
|
660
|
-
* Emits when the shared root context changes
|
|
661
|
-
*/
|
|
662
|
-
contextChange: _angular_core.OutputEmitterRef<any>;
|
|
663
|
-
/**
|
|
664
|
-
* Emits when the active step changes
|
|
665
|
-
*/
|
|
666
|
-
stepChange: _angular_core.OutputEmitterRef<{
|
|
667
|
-
index: number;
|
|
668
|
-
id: string;
|
|
669
|
-
}>;
|
|
670
|
-
/**
|
|
671
|
-
* Emits after successful finish
|
|
672
|
-
*/
|
|
673
|
-
finished: _angular_core.OutputEmitterRef<any>;
|
|
674
|
-
/**
|
|
675
|
-
* Emits when cancelled by API
|
|
676
|
-
*/
|
|
677
|
-
cancel: _angular_core.OutputEmitterRef<void>;
|
|
678
|
-
/**
|
|
679
|
-
* Emits when navigation is blocked by validation or policy
|
|
680
|
-
*/
|
|
681
|
-
navigationBlocked: _angular_core.OutputEmitterRef<{
|
|
682
|
-
reason: "invalid" | "linear" | "cannot-skip" | "cannot-go-back";
|
|
683
|
-
stepId: string;
|
|
684
|
-
targetIndex?: number;
|
|
685
|
-
}>;
|
|
686
|
-
/**
|
|
687
|
-
* Internal reactive copy of the shared context
|
|
688
|
-
*/
|
|
689
|
-
private internalContext;
|
|
690
|
-
/**
|
|
691
|
-
* Active step index
|
|
692
|
-
*/
|
|
693
|
-
protected currentStepIndex: _angular_core.WritableSignal<number>;
|
|
694
|
-
/**
|
|
695
|
-
* Navigation lock while async guards are pending
|
|
696
|
-
*/
|
|
697
|
-
private navigationLocked;
|
|
698
|
-
/**
|
|
699
|
-
* Reference to underlying step wizard to sync visual navigation
|
|
700
|
-
*/
|
|
701
|
-
private readonly wizard;
|
|
702
|
-
/**
|
|
703
|
-
* References to rendered dynamic forms (usually one active)
|
|
704
|
-
*/
|
|
705
|
-
private readonly forms;
|
|
706
|
-
protected steps: _angular_core.Signal<_acorex_platform_layout_components.AXPDynamicFormStepperStepDefinition[]>;
|
|
707
|
-
protected stepCount: _angular_core.Signal<number>;
|
|
708
|
-
protected currentStep: _angular_core.Signal<_acorex_platform_layout_components.AXPDynamicFormStepperStepDefinition>;
|
|
709
|
-
protected isFirstComputed: _angular_core.Signal<boolean>;
|
|
710
|
-
protected isLastComputed: _angular_core.Signal<boolean>;
|
|
711
|
-
/**
|
|
712
|
-
* Non-undefined layout config for inner dynamic forms
|
|
713
|
-
*/
|
|
714
|
-
protected effectiveLayoutConfig: _angular_core.Signal<AXPDynamicFormLayoutConfig>;
|
|
715
|
-
/**
|
|
716
|
-
* Returns the current step pointer
|
|
717
|
-
*/
|
|
718
|
-
getCurrentStep(): {
|
|
719
|
-
index: number;
|
|
720
|
-
id: string;
|
|
721
|
-
};
|
|
722
|
-
/**
|
|
723
|
-
* Public helpers for templates/consumers
|
|
724
|
-
*/
|
|
725
|
-
isFirst(): boolean;
|
|
726
|
-
isLast(): boolean;
|
|
727
|
-
/**
|
|
728
|
-
* Returns the root context
|
|
729
|
-
*/
|
|
730
|
-
getContext(): any;
|
|
731
|
-
/**
|
|
732
|
-
* Replaces the root context programmatically
|
|
733
|
-
*/
|
|
734
|
-
setContext(ctx: any): void;
|
|
735
|
-
/**
|
|
736
|
-
* Validates the current step.
|
|
737
|
-
*/
|
|
738
|
-
validateCurrentStep(): Promise<boolean>;
|
|
739
|
-
/**
|
|
740
|
-
* Attempts to advance to the next step applying validation and guard
|
|
741
|
-
*/
|
|
742
|
-
next(): Promise<void>;
|
|
743
|
-
/**
|
|
744
|
-
* Goes back to the previous step if possible
|
|
745
|
-
*/
|
|
746
|
-
previous(): Promise<void>;
|
|
747
|
-
/**
|
|
748
|
-
* Navigates to a specific step by id or index
|
|
749
|
-
*/
|
|
750
|
-
goTo(stepIdOrIndex: string | number): Promise<void>;
|
|
751
|
-
/**
|
|
752
|
-
* Validates all steps and emits finished when successful
|
|
753
|
-
*/
|
|
754
|
-
finish(): Promise<void>;
|
|
755
|
-
/**
|
|
756
|
-
* Emits cancel event without state changes
|
|
757
|
-
*/
|
|
758
|
-
cancelFlow(): void;
|
|
759
|
-
/**
|
|
760
|
-
* Handle per-step context changes and keep internal root context in sync.
|
|
761
|
-
*/
|
|
762
|
-
protected onStepContextChange(stepId: string, stepContext: any): void;
|
|
763
|
-
/**
|
|
764
|
-
* Exposes reading a step slice to the template
|
|
765
|
-
*/
|
|
766
|
-
readStepSlice(path?: string): {
|
|
767
|
-
slice: any;
|
|
768
|
-
exists: boolean;
|
|
769
|
-
};
|
|
770
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPDynamicFormStepperComponent, never>;
|
|
771
|
-
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>;
|
|
772
|
-
}
|
|
773
|
-
|
|
774
|
-
interface AXPDynamicDialogConfig {
|
|
579
|
+
declare function convertDesignerGroupToFormGroup(group: AXPDynamicFormDesignerGroup): AXPDynamicFormGroupDefinition;
|
|
580
|
+
/**
|
|
581
|
+
* Convert designer state to form definition
|
|
582
|
+
*/
|
|
583
|
+
declare function convertDesignerStateToFormDefinition(state: AXPDynamicFormDesignerState): AXPDynamicFormDefinition;
|
|
584
|
+
interface AXPFormElementWidget {
|
|
585
|
+
name: string;
|
|
775
586
|
title: string;
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
formDefinition?: AXPDynamicFormDefinition;
|
|
781
|
-
/**
|
|
782
|
-
* Preferred definition: dynamic form (no steps or single step) or a multi-step stepper definition.
|
|
783
|
-
*/
|
|
784
|
-
definition?: AXPDynamicFormDefinition | AXPDynamicFormStepperDefinition;
|
|
785
|
-
/**
|
|
786
|
-
* Shared context passed to the rendered control
|
|
787
|
-
*/
|
|
788
|
-
context: any;
|
|
789
|
-
/**
|
|
790
|
-
* Shared layout options applied to form/stepper unless overridden
|
|
791
|
-
*/
|
|
792
|
-
layoutConfig?: AXPDynamicFormLayoutConfig;
|
|
793
|
-
layoutLook?: AXPDynamicFormLook;
|
|
794
|
-
size?: AXPopupSizeType;
|
|
795
|
-
closeButton?: boolean;
|
|
796
|
-
/**
|
|
797
|
-
* Optional stepper-only options. Ignored when rendering dynamic-form.
|
|
798
|
-
*/
|
|
799
|
-
stepper?: {
|
|
800
|
-
guardNext?: (e: {
|
|
801
|
-
index: number;
|
|
802
|
-
id: string;
|
|
803
|
-
fullContext: unknown;
|
|
804
|
-
}) => Promise<boolean>;
|
|
805
|
-
stepperDirection?: AXOrientation;
|
|
806
|
-
};
|
|
807
|
-
/**
|
|
808
|
-
* Footer actions. In stepper mode, footer is replaced by Prev/Next/Confirm.
|
|
809
|
-
*/
|
|
810
|
-
actions?: {
|
|
811
|
-
footer?: {
|
|
812
|
-
prefix?: AXPActionMenuItem[];
|
|
813
|
-
suffix?: AXPActionMenuItem[];
|
|
814
|
-
};
|
|
815
|
-
};
|
|
816
|
-
}
|
|
817
|
-
interface AXPDynamicDialogResult {
|
|
818
|
-
context: any;
|
|
819
|
-
action?: string;
|
|
820
|
-
}
|
|
821
|
-
interface AXPDialogRef {
|
|
822
|
-
/**
|
|
823
|
-
* Manually close the dialog (optional - dialog closes automatically after user interaction)
|
|
824
|
-
*/
|
|
825
|
-
close(): void;
|
|
826
|
-
/**
|
|
827
|
-
* Get the form data from the dialog
|
|
828
|
-
*/
|
|
829
|
-
context(): any;
|
|
830
|
-
/**
|
|
831
|
-
* Get the action that was clicked by the user
|
|
832
|
-
*/
|
|
833
|
-
action(): string | undefined;
|
|
834
|
-
/**
|
|
835
|
-
* Set the loading state of the dialog
|
|
836
|
-
*/
|
|
837
|
-
setLoading(loading: boolean): void;
|
|
838
|
-
}
|
|
839
|
-
|
|
840
|
-
declare class AXPDynamicDialogComponent extends AXBasePageComponent {
|
|
841
|
-
config: AXPDynamicDialogConfig;
|
|
842
|
-
private readonly dynamicForm;
|
|
843
|
-
protected readonly stepper: _angular_core.Signal<AXPDynamicFormStepperComponent | undefined>;
|
|
844
|
-
isSubmitting: _angular_core.WritableSignal<boolean>;
|
|
845
|
-
private previousContext;
|
|
846
|
-
private formData;
|
|
847
|
-
dialogResult: AXPDynamicDialogResult | null;
|
|
848
|
-
isSubmittingFromDialog: boolean;
|
|
849
|
-
data: any;
|
|
850
|
-
callBack: (dialogRef: AXPDialogRef) => void;
|
|
851
|
-
/**
|
|
852
|
-
* Form context for widget container
|
|
853
|
-
*/
|
|
854
|
-
protected formContext: _angular_core.Signal<Record<string, any>>;
|
|
855
|
-
/**
|
|
856
|
-
* Combined loading state from both signal and dialog
|
|
857
|
-
*/
|
|
858
|
-
protected isFormLoading: _angular_core.Signal<boolean>;
|
|
859
|
-
protected defaultLayout: () => {
|
|
860
|
-
positions: {
|
|
861
|
-
default: {
|
|
862
|
-
colSpan: number;
|
|
863
|
-
};
|
|
864
|
-
md: {
|
|
865
|
-
colSpan: number;
|
|
866
|
-
};
|
|
867
|
-
lg: {
|
|
868
|
-
colSpan: number;
|
|
869
|
-
};
|
|
870
|
-
xl: {
|
|
871
|
-
colSpan: number;
|
|
872
|
-
};
|
|
873
|
-
xxl: {
|
|
874
|
-
colSpan: number;
|
|
875
|
-
};
|
|
876
|
-
};
|
|
877
|
-
};
|
|
878
|
-
/**
|
|
879
|
-
* Determine rendering mode and effective definitions
|
|
880
|
-
*/
|
|
881
|
-
protected readonly hasLegacyForm: _angular_core.Signal<boolean>;
|
|
882
|
-
protected readonly providedDefinition: _angular_core.Signal<_acorex_platform_layout_components.AXPDynamicFormDefinition | _acorex_platform_layout_components.AXPDynamicFormStepperDefinition | undefined>;
|
|
883
|
-
protected readonly isStepperDefinition: _angular_core.Signal<boolean>;
|
|
884
|
-
protected readonly shouldRenderForm: _angular_core.Signal<boolean>;
|
|
885
|
-
protected readonly effectiveFormDefinition: _angular_core.Signal<any>;
|
|
886
|
-
protected readonly resolvedFormDefinition: _angular_core.Signal<any>;
|
|
887
|
-
protected readonly effectiveLayoutLook: _angular_core.Signal<_acorex_platform_layout_components.AXPDynamicFormLook>;
|
|
888
|
-
protected readonly effectiveLayoutConfig: _angular_core.Signal<_acorex_platform_layout_components.AXPDynamicFormLayoutConfig>;
|
|
889
|
-
protected readonly stepperGuardNext: _angular_core.Signal<((e: {
|
|
890
|
-
index: number;
|
|
891
|
-
id: string;
|
|
892
|
-
fullContext: unknown;
|
|
893
|
-
}) => Promise<boolean>) | undefined>;
|
|
894
|
-
protected readonly stepperDirection: _angular_core.Signal<_acorex_cdk_common.AXOrientation>;
|
|
895
|
-
protected readonly stepperDefinition: _angular_core.Signal<any>;
|
|
896
|
-
stepperIsFirst: _angular_core.Signal<boolean>;
|
|
897
|
-
stepperIsLast: _angular_core.Signal<boolean>;
|
|
898
|
-
/**
|
|
899
|
-
* Effective form direction when rendering dynamic-form (single-step or legacy form).
|
|
900
|
-
* If a single-step definition is provided and that step specifies formDirection, use it.
|
|
901
|
-
*/
|
|
902
|
-
protected readonly effectiveFormDirection: _angular_core.Signal<AXPDynamicFormDirection>;
|
|
903
|
-
/**
|
|
904
|
-
* Footer actions for dynamic button system
|
|
905
|
-
*/
|
|
906
|
-
protected footerPrefixActions: _angular_core.Signal<AXPActionMenuItem[]>;
|
|
907
|
-
protected footerSuffixActions: _angular_core.Signal<AXPActionMenuItem[]>;
|
|
908
|
-
protected visibleFooterPrefixActions: _angular_core.Signal<AXPActionMenuItem[]>;
|
|
909
|
-
protected visibleFooterSuffixActions: _angular_core.Signal<AXPActionMenuItem[]>;
|
|
910
|
-
protected hasFooterActions: _angular_core.Signal<boolean>;
|
|
911
|
-
/** Stepper footer: choose a single confirm action from provided suffix actions (first visible). */
|
|
912
|
-
protected confirmAction: _angular_core.Signal<AXPActionMenuItem | undefined>;
|
|
913
|
-
protected confirmActionTitle: _angular_core.Signal<string>;
|
|
914
|
-
ngOnInit(): void;
|
|
915
|
-
protected handleContextInitiated(context: any): void;
|
|
916
|
-
protected handleContextChanged(context: any): void;
|
|
917
|
-
/**
|
|
918
|
-
* Execute a dynamic action
|
|
919
|
-
*/
|
|
920
|
-
protected executeAction(action: AXPActionMenuItem): Promise<void>;
|
|
921
|
-
/**
|
|
922
|
-
* Execute a command
|
|
923
|
-
*/
|
|
924
|
-
protected executeCommand(command: AXPExecuteCommand): Promise<void>;
|
|
925
|
-
/**
|
|
926
|
-
* Check if form is valid
|
|
927
|
-
*/
|
|
928
|
-
protected isFormValid(): Promise<boolean>;
|
|
929
|
-
/** Stepper navigation handlers */
|
|
930
|
-
protected goPrev(): void;
|
|
931
|
-
protected goNext(): void;
|
|
932
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPDynamicDialogComponent, never>;
|
|
933
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPDynamicDialogComponent, "axp-dynamic-dialog", never, { "config": { "alias": "config"; "required": true; }; }, {}, never, never, true, never>;
|
|
934
|
-
}
|
|
935
|
-
|
|
936
|
-
declare class AXPDynamicDialogService {
|
|
937
|
-
private readonly popupService;
|
|
938
|
-
/**
|
|
939
|
-
* Show a dynamic dialog with the given configuration
|
|
940
|
-
* @param config Dialog configuration including fields, validation, and UI options
|
|
941
|
-
* @returns Promise resolving to dialog reference for controlling the dialog
|
|
942
|
-
*/
|
|
943
|
-
showDialog(config: AXPDynamicDialogConfig): Promise<AXPDialogRef>;
|
|
944
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPDynamicDialogService, never>;
|
|
945
|
-
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPDynamicDialogService>;
|
|
587
|
+
icon?: string;
|
|
588
|
+
description?: string;
|
|
589
|
+
type: string;
|
|
590
|
+
properties?: any[];
|
|
946
591
|
}
|
|
947
592
|
|
|
948
|
-
declare class
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
private
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
* Form context/model data
|
|
965
|
-
*/
|
|
966
|
-
context: _angular_core.InputSignal<any>;
|
|
967
|
-
/**
|
|
968
|
-
* Form appearance and density styling (normal, compact, spacious)
|
|
969
|
-
*/
|
|
970
|
-
layoutLook: _angular_core.InputSignal<AXPDynamicFormLook>;
|
|
593
|
+
declare class AXPDynamicFormDesignerComponent {
|
|
594
|
+
formDefinition: _angular_core.ModelSignal<AXPDynamicFormDefinition>;
|
|
595
|
+
readonly: _angular_core.InputSignal<boolean>;
|
|
596
|
+
private isInternalUpdate;
|
|
597
|
+
private readonly widgetRegistry;
|
|
598
|
+
private readonly formBuilderService;
|
|
599
|
+
private readonly widgetPropertyViewerService;
|
|
600
|
+
protected selectedFieldId: _angular_core.WritableSignal<string | null>;
|
|
601
|
+
private designerState;
|
|
602
|
+
protected availableWidgets: _angular_core.Signal<AXPFormElementWidget[]>;
|
|
603
|
+
protected widgetOptions: _angular_core.Signal<{
|
|
604
|
+
value: string;
|
|
605
|
+
text: string;
|
|
606
|
+
}[]>;
|
|
607
|
+
protected getAllFields: _angular_core.Signal<AXPDynamicFormDesignerField[]>;
|
|
608
|
+
protected designerGroups: _angular_core.Signal<AXPDynamicFormDesignerGroup[]>;
|
|
971
609
|
/**
|
|
972
|
-
*
|
|
610
|
+
* Effect to log form definition changes
|
|
973
611
|
*/
|
|
974
|
-
|
|
612
|
+
private logFormDefinitionChanges;
|
|
975
613
|
/**
|
|
976
|
-
*
|
|
614
|
+
* Effect to sync form definition model to designer state
|
|
977
615
|
*/
|
|
978
|
-
|
|
979
|
-
protected expressionEvaluator(expression: any, context: any): Promise<any>;
|
|
980
|
-
protected evaluatedFormDefinition: _angular_core.WritableSignal<any>;
|
|
616
|
+
private syncModelToDesigner;
|
|
981
617
|
/**
|
|
982
|
-
*
|
|
618
|
+
* Effect to sync designer state changes back to model
|
|
983
619
|
*/
|
|
984
|
-
|
|
620
|
+
private syncDesignerToModel;
|
|
985
621
|
/**
|
|
986
|
-
*
|
|
622
|
+
* Get the current form definition (converted from designer state)
|
|
987
623
|
*/
|
|
988
|
-
|
|
624
|
+
getFormDefinition(): AXPDynamicFormDefinition;
|
|
989
625
|
/**
|
|
990
|
-
*
|
|
626
|
+
* Set the form definition (converted to designer state)
|
|
991
627
|
*/
|
|
992
|
-
|
|
628
|
+
setFormDefinition(definition: AXPDynamicFormDefinition): void;
|
|
993
629
|
/**
|
|
994
|
-
*
|
|
630
|
+
* Add a new field to the form
|
|
631
|
+
* @param field The field to add
|
|
995
632
|
*/
|
|
996
|
-
|
|
997
|
-
private form;
|
|
998
|
-
private container;
|
|
633
|
+
addField(field: AXPDynamicFormDesignerField): void;
|
|
999
634
|
/**
|
|
1000
|
-
*
|
|
635
|
+
* Update an existing field
|
|
636
|
+
* @param fieldId The ID of the field to update
|
|
637
|
+
* @param updates The updates to apply
|
|
1001
638
|
*/
|
|
1002
|
-
|
|
639
|
+
updateField(fieldId: string, updates: Partial<AXPDynamicFormDesignerField>): void;
|
|
1003
640
|
/**
|
|
1004
|
-
*
|
|
641
|
+
* Remove a field from the form
|
|
642
|
+
* @param fieldId The ID of the field to remove
|
|
1005
643
|
*/
|
|
1006
|
-
|
|
644
|
+
removeField(fieldId: string): void;
|
|
1007
645
|
/**
|
|
1008
|
-
*
|
|
646
|
+
* Get all available widget types
|
|
1009
647
|
*/
|
|
1010
|
-
|
|
648
|
+
getAvailableWidgets(): AXPFormElementWidget[];
|
|
1011
649
|
/**
|
|
1012
|
-
*
|
|
650
|
+
* Add a new group to the form
|
|
651
|
+
* @param group The group to add
|
|
1013
652
|
*/
|
|
1014
|
-
|
|
1015
|
-
ngOnInit(): void;
|
|
653
|
+
addGroup(group: AXPDynamicFormDesignerGroup): void;
|
|
1016
654
|
/**
|
|
1017
|
-
*
|
|
655
|
+
* Remove a group from the form
|
|
656
|
+
* @param groupName The name of the group to remove
|
|
1018
657
|
*/
|
|
1019
|
-
|
|
1020
|
-
protected isRequired(param: AXPDynamicFormFieldDefinition): boolean;
|
|
658
|
+
removeGroup(groupName: string): void;
|
|
1021
659
|
/**
|
|
1022
|
-
*
|
|
660
|
+
* Reorder groups in the form
|
|
661
|
+
* @param fromIndex Source index
|
|
662
|
+
* @param toIndex Target index
|
|
1023
663
|
*/
|
|
1024
|
-
|
|
664
|
+
reorderGroups(fromIndex: number, toIndex: number): void;
|
|
1025
665
|
/**
|
|
1026
|
-
*
|
|
666
|
+
* Update an existing group
|
|
667
|
+
* @param groupName The name of the group to update
|
|
668
|
+
* @param updates The updates to apply
|
|
1027
669
|
*/
|
|
1028
|
-
|
|
670
|
+
updateGroup(groupName: string, updates: Partial<AXPDynamicFormDesignerGroup>): void;
|
|
1029
671
|
/**
|
|
1030
|
-
*
|
|
672
|
+
* Move a field to a different group
|
|
673
|
+
* @param fieldName The name/path of the field to move
|
|
674
|
+
* @param targetGroupName The name of the target group
|
|
1031
675
|
*/
|
|
1032
|
-
|
|
676
|
+
moveFieldToGroup(fieldName: string, targetGroupName: string): void;
|
|
677
|
+
protected handleAddGroupClick(): Promise<void>;
|
|
678
|
+
protected handleAddFieldToGroup(group: AXPDynamicFormDesignerGroup): Promise<void>;
|
|
679
|
+
protected handleFieldEdit(field: AXPDynamicFormDesignerField): Promise<void>;
|
|
680
|
+
protected handleFieldRemove(field: AXPDynamicFormDesignerField): void;
|
|
681
|
+
protected handleGroupEdit(group: AXPDynamicFormDesignerGroup): Promise<void>;
|
|
682
|
+
protected handleGroupLayoutEdit(group: AXPDynamicFormDesignerGroup): Promise<void>;
|
|
683
|
+
protected handleGroupRemove(group: AXPDynamicFormDesignerGroup): void;
|
|
1033
684
|
/**
|
|
1034
|
-
*
|
|
685
|
+
* Handle field layout editing
|
|
1035
686
|
*/
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
}
|
|
1050
|
-
interface LargeTextBoxOptions {
|
|
1051
|
-
placeholder?: string;
|
|
1052
|
-
maxLength?: number;
|
|
1053
|
-
minLength?: number;
|
|
1054
|
-
rows?: number;
|
|
1055
|
-
disabled?: boolean;
|
|
1056
|
-
readonly?: boolean;
|
|
1057
|
-
validations?: AXPValidationRules;
|
|
1058
|
-
}
|
|
1059
|
-
interface RichTextOptions {
|
|
1060
|
-
placeholder?: string;
|
|
1061
|
-
toolbar?: string[];
|
|
1062
|
-
height?: number;
|
|
1063
|
-
disabled?: boolean;
|
|
1064
|
-
readonly?: boolean;
|
|
1065
|
-
validations?: AXPValidationRules;
|
|
1066
|
-
}
|
|
1067
|
-
interface SelectBoxOptions<TItem extends Record<string, unknown> = Record<string, unknown>> {
|
|
1068
|
-
valueField: keyof TItem & string;
|
|
1069
|
-
textField: keyof TItem & string;
|
|
1070
|
-
dataSource: TItem[];
|
|
1071
|
-
multiple?: boolean;
|
|
1072
|
-
placeholder?: string;
|
|
1073
|
-
disabled?: boolean;
|
|
1074
|
-
readonly?: boolean;
|
|
1075
|
-
allowSearch?: boolean;
|
|
1076
|
-
validations?: AXPValidationRules;
|
|
1077
|
-
}
|
|
1078
|
-
interface LookupBoxOptions {
|
|
1079
|
-
entity: string;
|
|
1080
|
-
multiple?: boolean;
|
|
1081
|
-
expose?: Array<{
|
|
1082
|
-
source: string;
|
|
1083
|
-
target: string;
|
|
687
|
+
protected handleFieldLayoutEdit(field: AXPDynamicFormDesignerField, group: AXPDynamicFormDesignerGroup): Promise<void>;
|
|
688
|
+
protected handleGroupDrop(event: CdkDragDrop<AXPDynamicFormDesignerGroup[]>): void;
|
|
689
|
+
protected handleFieldDrop(event: CdkDragDrop<AXPDynamicFormDesignerField[]>, targetGroupName?: string): void;
|
|
690
|
+
protected handlePreviewClick(): Promise<void>;
|
|
691
|
+
protected deriveKey(input: string): string;
|
|
692
|
+
protected generateId(): string;
|
|
693
|
+
protected getWidgetIcon(widgetName: string): string;
|
|
694
|
+
protected getWidgetTitle(widgetName: string): string;
|
|
695
|
+
protected getWidgetNode(field: AXPDynamicFormDesignerField): AXPWidgetNode;
|
|
696
|
+
protected deriveGroupKey(input: string): string;
|
|
697
|
+
protected getGroupOptions(): Array<{
|
|
698
|
+
value: string;
|
|
699
|
+
text: string;
|
|
1084
700
|
}>;
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
valueField?: string;
|
|
1088
|
-
look?: string;
|
|
1089
|
-
columns?: string[];
|
|
1090
|
-
allowClear?: boolean;
|
|
1091
|
-
disabled?: boolean;
|
|
1092
|
-
readonly?: boolean;
|
|
1093
|
-
validations?: AXPValidationRules;
|
|
1094
|
-
}
|
|
1095
|
-
interface NumberBoxOptions {
|
|
1096
|
-
minValue?: number;
|
|
1097
|
-
maxValue?: number;
|
|
1098
|
-
step?: number;
|
|
1099
|
-
format?: string;
|
|
1100
|
-
placeholder?: string;
|
|
1101
|
-
disabled?: boolean;
|
|
1102
|
-
readonly?: boolean;
|
|
1103
|
-
validations?: AXPValidationRules;
|
|
1104
|
-
}
|
|
1105
|
-
interface DateTimeBoxOptions {
|
|
1106
|
-
format?: string;
|
|
1107
|
-
min?: Date;
|
|
1108
|
-
max?: Date;
|
|
1109
|
-
showTime?: boolean;
|
|
1110
|
-
placeholder?: string;
|
|
1111
|
-
disabled?: boolean;
|
|
1112
|
-
readonly?: boolean;
|
|
1113
|
-
validations?: AXPValidationRules;
|
|
1114
|
-
}
|
|
1115
|
-
interface ToggleSwitchOptions {
|
|
1116
|
-
onText?: string;
|
|
1117
|
-
offText?: string;
|
|
1118
|
-
validations?: AXPValidationRules;
|
|
1119
|
-
}
|
|
1120
|
-
interface PasswordBoxOptions {
|
|
1121
|
-
placeholder?: string;
|
|
1122
|
-
maxLength?: number;
|
|
1123
|
-
minLength?: number;
|
|
1124
|
-
showToggle?: boolean;
|
|
1125
|
-
validations?: AXPValidationRules;
|
|
1126
|
-
}
|
|
1127
|
-
interface SelectionListOptions<TItem extends Record<string, unknown> = Record<string, unknown>> {
|
|
1128
|
-
valueField: keyof TItem & string;
|
|
1129
|
-
textField: keyof TItem & string;
|
|
1130
|
-
dataSource: TItem[];
|
|
1131
|
-
multiple?: boolean;
|
|
1132
|
-
placeholder?: string;
|
|
1133
|
-
disabled?: boolean;
|
|
1134
|
-
readonly?: boolean;
|
|
1135
|
-
validations?: AXPValidationRules;
|
|
1136
|
-
}
|
|
1137
|
-
interface ColorBoxOptions {
|
|
1138
|
-
defaultColor?: string;
|
|
1139
|
-
showAlpha?: boolean;
|
|
1140
|
-
disabled?: boolean;
|
|
1141
|
-
readonly?: boolean;
|
|
1142
|
-
validations?: AXPValidationRules;
|
|
1143
|
-
}
|
|
1144
|
-
interface IFieldOptions {
|
|
1145
|
-
hidden?: string | boolean;
|
|
1146
|
-
readonly?: string | boolean;
|
|
1147
|
-
disabled?: string | boolean;
|
|
1148
|
-
defaultValue?: any;
|
|
1149
|
-
}
|
|
1150
|
-
interface IFieldBuilder {
|
|
1151
|
-
title(title: string): IFieldBuilder;
|
|
1152
|
-
description(description: string): IFieldBuilder;
|
|
1153
|
-
options(values: IFieldOptions): IFieldBuilder;
|
|
1154
|
-
layout(layout: AXPDynamicFormFieldDefinition['layout']): IFieldBuilder;
|
|
1155
|
-
textBox(options?: TextBoxOptions): IFieldBuilder;
|
|
1156
|
-
largeTextBox(options?: LargeTextBoxOptions): IFieldBuilder;
|
|
1157
|
-
richText(options?: RichTextOptions): IFieldBuilder;
|
|
1158
|
-
passwordBox(options?: PasswordBoxOptions): IFieldBuilder;
|
|
1159
|
-
selectBox(options: SelectBoxOptions): IFieldBuilder;
|
|
1160
|
-
lookupBox(options: LookupBoxOptions): IFieldBuilder;
|
|
1161
|
-
selectionList(options: SelectionListOptions): IFieldBuilder;
|
|
1162
|
-
numberBox(options?: NumberBoxOptions): IFieldBuilder;
|
|
1163
|
-
dateTimeBox(options?: DateTimeBoxOptions): IFieldBuilder;
|
|
1164
|
-
toggleSwitch(options?: ToggleSwitchOptions): IFieldBuilder;
|
|
1165
|
-
colorBox(options?: ColorBoxOptions): IFieldBuilder;
|
|
1166
|
-
widget(type: string, options?: unknown): IFieldBuilder;
|
|
1167
|
-
}
|
|
1168
|
-
interface IGroupBuilder {
|
|
1169
|
-
title(title: string): IGroupBuilder;
|
|
1170
|
-
description(description: string): IGroupBuilder;
|
|
1171
|
-
field(path: string, delegate?: (field: IFieldBuilder) => void): IGroupBuilder;
|
|
1172
|
-
group(name: string, delegate?: (group: IGroupBuilder) => void): IGroupBuilder;
|
|
1173
|
-
}
|
|
1174
|
-
interface IStepBuilder {
|
|
1175
|
-
title(title: string): IStepBuilder;
|
|
1176
|
-
description(description: string): IStepBuilder;
|
|
1177
|
-
icon(icon: string): IStepBuilder;
|
|
1178
|
-
direction(direction: AXPDynamicFormDirection): IStepBuilder;
|
|
1179
|
-
group(name: string, delegate?: (group: IGroupBuilder) => void): IStepBuilder;
|
|
1180
|
-
}
|
|
1181
|
-
interface IFormBuilder {
|
|
1182
|
-
group(name: string, delegate?: (group: IGroupBuilder) => void): IFormBuilder;
|
|
1183
|
-
layout(config: Partial<AXPDynamicFormLayoutConfig>): IFormBuilder;
|
|
1184
|
-
look(look: AXPDynamicFormLook): IFormBuilder;
|
|
1185
|
-
direction(direction: AXPDynamicFormDirection): IFormBuilder;
|
|
1186
|
-
build(): AXPDynamicFormDefinition;
|
|
1187
|
-
}
|
|
1188
|
-
interface IActionBuilder {
|
|
1189
|
-
cancel(text?: string): IActionBuilder;
|
|
1190
|
-
submit(text?: string): IActionBuilder;
|
|
1191
|
-
custom(action: AXPActionMenuItem): IActionBuilder;
|
|
1192
|
-
}
|
|
1193
|
-
interface IDialogBuilder extends IFormBuilder {
|
|
1194
|
-
group(name: string, delegate?: (group: IGroupBuilder) => void): IDialogBuilder;
|
|
1195
|
-
layout(config: Partial<AXPDynamicFormLayoutConfig>): IDialogBuilder;
|
|
1196
|
-
look(look: AXPDynamicFormLook): IDialogBuilder;
|
|
1197
|
-
direction(direction: AXPDynamicFormDirection): IDialogBuilder;
|
|
1198
|
-
closeButton(closeButton: boolean): IDialogBuilder;
|
|
1199
|
-
step(id: string, delegate?: (step: IStepBuilder) => void): IDialogBuilder;
|
|
1200
|
-
stepperDirection(direction: AXOrientation): IDialogBuilder;
|
|
1201
|
-
guardNext(guard: (e: {
|
|
1202
|
-
index: number;
|
|
1203
|
-
id: string;
|
|
1204
|
-
fullContext: unknown;
|
|
1205
|
-
}) => Promise<boolean>): IDialogBuilder;
|
|
1206
|
-
title(title: string): IDialogBuilder;
|
|
1207
|
-
message(message?: string): IDialogBuilder;
|
|
1208
|
-
size(size: AXPopupSizeType): IDialogBuilder;
|
|
1209
|
-
context(context: AXPContextData): IDialogBuilder;
|
|
1210
|
-
actions(delegate?: (actions: IActionBuilder) => void): IDialogBuilder;
|
|
1211
|
-
show(): Promise<AXPDialogRef>;
|
|
1212
|
-
}
|
|
1213
|
-
interface FormBuilderState {
|
|
1214
|
-
groups: AXPDynamicFormGroupDefinition[];
|
|
1215
|
-
layoutConfig: AXPDynamicFormLayoutConfig;
|
|
1216
|
-
look: AXPDynamicFormLook;
|
|
1217
|
-
direction: AXPDynamicFormDirection;
|
|
1218
|
-
}
|
|
1219
|
-
interface DialogBuilderState extends FormBuilderState {
|
|
1220
|
-
title?: string;
|
|
1221
|
-
message?: string;
|
|
1222
|
-
size?: AXPopupSizeType;
|
|
1223
|
-
context?: AXPContextData;
|
|
1224
|
-
steps: StepBuilderState[];
|
|
1225
|
-
stepperDirection?: AXOrientation;
|
|
1226
|
-
closeButton?: boolean;
|
|
1227
|
-
guardNext?: (e: {
|
|
1228
|
-
index: number;
|
|
1229
|
-
id: string;
|
|
1230
|
-
fullContext: unknown;
|
|
1231
|
-
}) => Promise<boolean>;
|
|
1232
|
-
actions?: {
|
|
1233
|
-
footer?: {
|
|
1234
|
-
prefix?: AXPActionMenuItem[];
|
|
1235
|
-
suffix?: AXPActionMenuItem[];
|
|
1236
|
-
};
|
|
1237
|
-
};
|
|
1238
|
-
}
|
|
1239
|
-
interface FieldBuilderState {
|
|
1240
|
-
path: string;
|
|
1241
|
-
title?: string;
|
|
1242
|
-
description?: string;
|
|
1243
|
-
defaultValue?: any;
|
|
1244
|
-
hidden?: string | boolean;
|
|
1245
|
-
readonly?: string | boolean;
|
|
1246
|
-
disabled?: string | boolean;
|
|
1247
|
-
widget?: AXPWidgetNode;
|
|
1248
|
-
layout?: AXPDynamicFormFieldDefinition['layout'];
|
|
1249
|
-
}
|
|
1250
|
-
interface GroupBuilderState {
|
|
1251
|
-
name: string;
|
|
1252
|
-
title?: string;
|
|
1253
|
-
description?: string;
|
|
1254
|
-
parameters: AXPDynamicFormFieldDefinition[];
|
|
1255
|
-
}
|
|
1256
|
-
interface StepBuilderState {
|
|
1257
|
-
id: string;
|
|
1258
|
-
title?: string;
|
|
1259
|
-
description?: string;
|
|
1260
|
-
icon?: string;
|
|
1261
|
-
formDirection?: AXPDynamicFormDirection;
|
|
1262
|
-
groups: AXPDynamicFormGroupDefinition[];
|
|
1263
|
-
}
|
|
1264
|
-
|
|
1265
|
-
declare class AXPDynamicFormBuilderService {
|
|
1266
|
-
private readonly dialogService;
|
|
701
|
+
protected addFieldToGroup(field: AXPDynamicFormDesignerField, groupName: string): void;
|
|
702
|
+
protected getAllGroupDropLists(): string[];
|
|
1267
703
|
/**
|
|
1268
|
-
*
|
|
704
|
+
* Get the grid column count for a group (always 12 columns)
|
|
1269
705
|
*/
|
|
1270
|
-
|
|
706
|
+
protected getGroupColumnCount(): number;
|
|
1271
707
|
/**
|
|
1272
|
-
*
|
|
708
|
+
* Get default field grid layout based on group configuration
|
|
1273
709
|
*/
|
|
1274
|
-
|
|
1275
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<
|
|
1276
|
-
static
|
|
1277
|
-
}
|
|
1278
|
-
|
|
1279
|
-
type StateMode = 'empty' | 'error' | 'loading' | 'warning' | 'info' | 'success';
|
|
1280
|
-
declare class AXPStateMessageComponent {
|
|
1281
|
-
mode: _angular_core.InputSignal<StateMode>;
|
|
1282
|
-
icon: _angular_core.InputSignal<string>;
|
|
1283
|
-
title: _angular_core.InputSignal<string>;
|
|
1284
|
-
description: _angular_core.InputSignal<string>;
|
|
1285
|
-
variant: _angular_core.InputSignal<"default" | "compact" | "minimal">;
|
|
1286
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPStateMessageComponent, never>;
|
|
1287
|
-
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>;
|
|
710
|
+
protected getFieldGridLayout(group: AXPDynamicFormDesignerGroup, fieldIndex?: number): AXPGridLayoutOptions;
|
|
711
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPDynamicFormDesignerComponent, never>;
|
|
712
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPDynamicFormDesignerComponent, "axp-dynamic-form-designer", never, { "formDefinition": { "alias": "formDefinition"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; }, { "formDefinition": "formDefinitionChange"; }, never, never, true, never>;
|
|
1288
713
|
}
|
|
1289
714
|
|
|
1290
715
|
/**
|
|
@@ -1325,8 +750,8 @@ declare const AXP_EXTRA_PROPERTY_TYPES: InjectionToken<AXPExtraPropertyType[]>;
|
|
|
1325
750
|
|
|
1326
751
|
declare class AXPExtraPropertiesComponent {
|
|
1327
752
|
items: _angular_core.InputSignal<AXPExtraPropertyItem[]>;
|
|
1328
|
-
mode: _angular_core.InputSignal<"
|
|
1329
|
-
protected onContextChanged(event:
|
|
753
|
+
mode: _angular_core.InputSignal<"view" | "edit">;
|
|
754
|
+
protected onContextChanged(event: AXPWidgetCoreContextChangeEvent): void;
|
|
1330
755
|
itemsChange: _angular_core.OutputEmitterRef<AXPExtraPropertyItem[]>;
|
|
1331
756
|
private readonly providedTypes;
|
|
1332
757
|
private readonly translationService;
|
|
@@ -1366,7 +791,7 @@ declare class AXPExtraPropertiesComponent {
|
|
|
1366
791
|
|
|
1367
792
|
declare class AXPExtraPropertiesSchemaComponent {
|
|
1368
793
|
schema: _angular_core.InputSignal<AXPExtraPropertySchemaItem[]>;
|
|
1369
|
-
mode: _angular_core.InputSignal<"
|
|
794
|
+
mode: _angular_core.InputSignal<"view" | "edit">;
|
|
1370
795
|
schemaChange: _angular_core.OutputEmitterRef<AXPExtraPropertySchemaItem[]>;
|
|
1371
796
|
private readonly providedTypes;
|
|
1372
797
|
private readonly translationService;
|
|
@@ -1397,13 +822,13 @@ declare class AXPExtraPropertiesSchemaComponent {
|
|
|
1397
822
|
declare class AXPExtraPropertiesValuesComponent {
|
|
1398
823
|
schema: _angular_core.InputSignal<AXPExtraPropertySchemaItem[]>;
|
|
1399
824
|
values: _angular_core.InputSignal<Record<string, any>>;
|
|
1400
|
-
mode: _angular_core.InputSignal<"
|
|
825
|
+
mode: _angular_core.InputSignal<"view" | "edit">;
|
|
1401
826
|
valuesChange: _angular_core.OutputEmitterRef<Record<string, any>>;
|
|
1402
827
|
isRequired: (item: AXPExtraPropertySchemaItem) => any;
|
|
1403
828
|
protected internalContext: _angular_core.WritableSignal<Record<string, any>>;
|
|
1404
829
|
private nodeCache;
|
|
1405
830
|
private lastTypeByKey;
|
|
1406
|
-
protected onContextChanged(event:
|
|
831
|
+
protected onContextChanged(event: AXPWidgetCoreContextChangeEvent): void;
|
|
1407
832
|
private readonly syncContextFromInputs;
|
|
1408
833
|
private readonly clearOnSchemaTypeChange;
|
|
1409
834
|
protected getNode(item: AXPExtraPropertySchemaItem): AXPWidgetNode;
|
|
@@ -1438,7 +863,7 @@ declare class AXPQueryFiltersComponent {
|
|
|
1438
863
|
ngOnInit(): void;
|
|
1439
864
|
handleSelectField(field: AXPFilterDefinition): void;
|
|
1440
865
|
handleFieldKeyDown(e: KeyboardEvent, field: AXPFilterDefinition): void;
|
|
1441
|
-
onContextChanged(e:
|
|
866
|
+
onContextChanged(e: AXPWidgetCoreContextChangeEvent): void;
|
|
1442
867
|
handleApplyFilter(): void;
|
|
1443
868
|
handleButtonKeyDown(e: Event): void;
|
|
1444
869
|
handleKeyDown(e: AXHtmlEvent<KeyboardEvent>): void;
|
|
@@ -1453,6 +878,40 @@ declare class AXPQueryFiltersComponent {
|
|
|
1453
878
|
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>;
|
|
1454
879
|
}
|
|
1455
880
|
|
|
881
|
+
declare class AXPImageEditorPopupComponent extends AXBasePageComponent {
|
|
882
|
+
private readonly fileStorage;
|
|
883
|
+
image: _angular_core.InputSignal<Blob>;
|
|
884
|
+
showHistory: _angular_core.InputSignal<boolean>;
|
|
885
|
+
look: _angular_core.InputSignal<"solid" | "outline" | "blank">;
|
|
886
|
+
private container;
|
|
887
|
+
private blobUrl;
|
|
888
|
+
protected url: _angular_core.WritableSignal<string | null>;
|
|
889
|
+
protected context: _angular_core.WritableSignal<{
|
|
890
|
+
image: Blob | null;
|
|
891
|
+
}>;
|
|
892
|
+
ngOnInit(): Promise<void>;
|
|
893
|
+
handleValueChanged(e: any): void;
|
|
894
|
+
handleSave(): void;
|
|
895
|
+
handleCancel(): void;
|
|
896
|
+
ngOnDestroy(): void;
|
|
897
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPImageEditorPopupComponent, never>;
|
|
898
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPImageEditorPopupComponent, "axp-image-editor-popup", never, { "image": { "alias": "image"; "required": true; "isSignal": true; }; "showHistory": { "alias": "showHistory"; "required": false; "isSignal": true; }; "look": { "alias": "look"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
899
|
+
}
|
|
900
|
+
|
|
901
|
+
interface AXPImageEditorOpenOptions {
|
|
902
|
+
title?: string;
|
|
903
|
+
image: Blob;
|
|
904
|
+
showHistory?: boolean;
|
|
905
|
+
look?: 'solid' | 'outline' | 'blank';
|
|
906
|
+
}
|
|
907
|
+
declare class AXPImageEditorService {
|
|
908
|
+
private readonly popupService;
|
|
909
|
+
private readonly translate;
|
|
910
|
+
open(options?: AXPImageEditorOpenOptions): Promise<Blob | null>;
|
|
911
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPImageEditorService, never>;
|
|
912
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPImageEditorService>;
|
|
913
|
+
}
|
|
914
|
+
|
|
1456
915
|
interface AXPWidgetPropertyTab {
|
|
1457
916
|
name: string;
|
|
1458
917
|
title: string;
|
|
@@ -1488,13 +947,47 @@ declare class AXPWidgetPropertyViewerComponent {
|
|
|
1488
947
|
constructor();
|
|
1489
948
|
update(values: any): void;
|
|
1490
949
|
private fillTabs;
|
|
1491
|
-
protected handleContextChange(e:
|
|
950
|
+
protected handleContextChange(e: AXPWidgetCoreContextChangeEvent): void;
|
|
1492
951
|
protected handleTabChange(event: AXTabStripChangedEvent): void;
|
|
1493
952
|
protected handleCollapsedChange(group: string, collapsed: boolean): void;
|
|
1494
953
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPWidgetPropertyViewerComponent, never>;
|
|
1495
954
|
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>;
|
|
1496
955
|
}
|
|
1497
956
|
|
|
957
|
+
declare class AXPWidgetPropertyViewerPopupComponent extends AXBasePageComponent {
|
|
958
|
+
widget: _angular_core.InputSignal<AXPWidgetNode>;
|
|
959
|
+
mode: _angular_core.InputSignal<"simple" | "advanced">;
|
|
960
|
+
protected currentValues: _angular_core.WritableSignal<any>;
|
|
961
|
+
protected handlePropertyChanged(event: {
|
|
962
|
+
values: any;
|
|
963
|
+
mode: 'init' | 'update';
|
|
964
|
+
}): void;
|
|
965
|
+
protected handleCloseClick(): void;
|
|
966
|
+
protected handleApplyClick(): void;
|
|
967
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPWidgetPropertyViewerPopupComponent, never>;
|
|
968
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPWidgetPropertyViewerPopupComponent, "axp-widget-property-viewer-popup", never, { "widget": { "alias": "widget"; "required": true; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
969
|
+
}
|
|
970
|
+
|
|
971
|
+
interface AXPWidgetPropertyViewerConfig {
|
|
972
|
+
title: string;
|
|
973
|
+
widget: AXPWidgetNode;
|
|
974
|
+
mode?: 'simple' | 'advanced';
|
|
975
|
+
size?: 'sm' | 'md' | 'lg' | 'full';
|
|
976
|
+
}
|
|
977
|
+
interface AXPWidgetPropertyViewerResult {
|
|
978
|
+
values: any;
|
|
979
|
+
mode: 'init' | 'update';
|
|
980
|
+
}
|
|
981
|
+
declare class AXPWidgetPropertyViewerService {
|
|
982
|
+
private readonly popupService;
|
|
983
|
+
/**
|
|
984
|
+
* Open widget property viewer popup
|
|
985
|
+
*/
|
|
986
|
+
open(config: AXPWidgetPropertyViewerConfig): Promise<AXPWidgetPropertyViewerResult | null>;
|
|
987
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPWidgetPropertyViewerService, never>;
|
|
988
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPWidgetPropertyViewerService>;
|
|
989
|
+
}
|
|
990
|
+
|
|
1498
991
|
declare class AXPQuerySortsComponent {
|
|
1499
992
|
sortDefinitions: _angular_core.ModelSignal<AXPSortDefinition[]>;
|
|
1500
993
|
sortQueries: _angular_core.WritableSignal<AXPSortQuery[]>;
|
|
@@ -1508,6 +1001,17 @@ declare class AXPQuerySortsComponent {
|
|
|
1508
1001
|
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>;
|
|
1509
1002
|
}
|
|
1510
1003
|
|
|
1004
|
+
type StateMode = 'empty' | 'error' | 'loading' | 'warning' | 'info' | 'success';
|
|
1005
|
+
declare class AXPStateMessageComponent {
|
|
1006
|
+
mode: _angular_core.InputSignal<StateMode>;
|
|
1007
|
+
icon: _angular_core.InputSignal<string>;
|
|
1008
|
+
title: _angular_core.InputSignal<string>;
|
|
1009
|
+
description: _angular_core.InputSignal<string>;
|
|
1010
|
+
variant: _angular_core.InputSignal<"default" | "compact" | "minimal">;
|
|
1011
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPStateMessageComponent, never>;
|
|
1012
|
+
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>;
|
|
1013
|
+
}
|
|
1014
|
+
|
|
1511
1015
|
interface AXPTemplateViewerConfig {
|
|
1512
1016
|
template: AXPWidgetNode | string;
|
|
1513
1017
|
title?: string;
|
|
@@ -1533,7 +1037,7 @@ declare class AXPTemplateViewerComponent extends AXBasePageComponent {
|
|
|
1533
1037
|
protected readonly currentPage: _angular_core.Signal<AXPWidgetNode>;
|
|
1534
1038
|
protected ngOnInit(): Promise<void>;
|
|
1535
1039
|
private loadTemplate;
|
|
1536
|
-
protected handleContextChanged(e:
|
|
1040
|
+
protected handleContextChanged(e: AXPWidgetCoreContextChangeEvent): void;
|
|
1537
1041
|
protected handleSubmit(form: AXFormComponent): Promise<void>;
|
|
1538
1042
|
protected handleCancel(): void;
|
|
1539
1043
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPTemplateViewerComponent, never>;
|
|
@@ -1724,5 +1228,5 @@ declare class AXPWidgetItemComponent {
|
|
|
1724
1228
|
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>;
|
|
1725
1229
|
}
|
|
1726
1230
|
|
|
1727
|
-
export { AXPActivityLogComponent, AXPCategoryTreeComponent, AXPCompareViewComponent, AXPComponentSlot, AXPComponentSlotDirective, AXPComponentSlotModule, AXPComponentSlotRegistryService, AXPDataSelectorComponent, AXPDataSelectorService,
|
|
1728
|
-
export type { AXPCategoryTreeActions, AXPCategoryTreeConfig, AXPCategoryTreeDataSource, AXPCategoryTreeEvents, AXPCategoryTreeNode, AXPCompareViewField, AXPCompareViewInputs, AXPCompareViewMode, AXPCompareViewObject, AXPComponentSlotConfig, AXPComponentSlotModuleConfigs, AXPDataSelectorColumn, AXPDataSelectorConfig,
|
|
1231
|
+
export { AXPActivityLogComponent, AXPCategoryTreeComponent, AXPCompareViewComponent, AXPComponentSlot, AXPComponentSlotDirective, AXPComponentSlotModule, AXPComponentSlotRegistryService, AXPDataSelectorComponent, AXPDataSelectorService, AXPDynamicFormDesignerComponent, AXPExtraPropertiesComponent, AXPExtraPropertiesSchemaComponent, AXPExtraPropertiesValuesComponent, AXPImageEditorPopupComponent, AXPImageEditorService, 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, AXPWidgetPropertyViewerPopupComponent, AXPWidgetPropertyViewerService, AXP_EXTRA_PROPERTY_TYPES, AXP_TASK_BADGE_PROVIDERS, AXP_USER_AVATAR_PROVIDER, convertDesignerFieldToFormField, convertDesignerGroupToFormGroup, convertDesignerStateToFormDefinition };
|
|
1232
|
+
export type { AXPCategoryTreeActions, AXPCategoryTreeConfig, AXPCategoryTreeDataSource, AXPCategoryTreeEvents, AXPCategoryTreeNode, AXPCompareViewField, AXPCompareViewInputs, AXPCompareViewMode, AXPCompareViewObject, AXPComponentSlotConfig, AXPComponentSlotModuleConfigs, AXPDataSelectorColumn, AXPDataSelectorConfig, AXPDynamicFormDesignerField, AXPDynamicFormDesignerGroup, AXPDynamicFormDesignerState, AXPExtraPropertyItem, AXPExtraPropertySchemaItem, AXPExtraPropertyType, AXPFormElementWidget, AXPImageEditorOpenOptions, AXPTemplateViewerConfig, AXPTemplateViewerResult, AXPUserAvatarData, AXPUserAvatarProvider, AXPUserAvatarSize, AXPUserAvatarStatus, AXPWidgetItemClickEvent, AXPWidgetItemData, AXPWidgetPropertiesChangedEvent, AXPWidgetPropertyTab, AXPWidgetPropertyViewerConfig, AXPWidgetPropertyViewerResult, StateMode };
|