@acorex/platform 20.3.0-next.20 → 20.3.0-next.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/common/index.d.ts +69 -64
  2. package/core/index.d.ts +14 -1
  3. package/fesm2022/acorex-platform-auth.mjs +19 -19
  4. package/fesm2022/acorex-platform-auth.mjs.map +1 -1
  5. package/fesm2022/acorex-platform-common-common-settings.provider-9OHien_H.mjs +47 -0
  6. package/fesm2022/acorex-platform-common-common-settings.provider-9OHien_H.mjs.map +1 -0
  7. package/fesm2022/acorex-platform-common.mjs +222 -179
  8. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  9. package/fesm2022/acorex-platform-core.mjs +55 -42
  10. package/fesm2022/acorex-platform-core.mjs.map +1 -1
  11. package/fesm2022/acorex-platform-domain.mjs +16 -16
  12. package/fesm2022/acorex-platform-domain.mjs.map +1 -1
  13. package/fesm2022/acorex-platform-layout-builder.mjs +182 -159
  14. package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
  15. package/fesm2022/acorex-platform-layout-components.mjs +542 -2387
  16. package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
  17. package/fesm2022/acorex-platform-layout-designer.mjs +72 -72
  18. package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
  19. package/fesm2022/{acorex-platform-layout-entity-create-entity.command-BXExgI3W.mjs → acorex-platform-layout-entity-create-entity.command-DyXF9zAh.mjs} +4 -4
  20. package/fesm2022/{acorex-platform-layout-entity-create-entity.command-BXExgI3W.mjs.map → acorex-platform-layout-entity-create-entity.command-DyXF9zAh.mjs.map} +1 -1
  21. package/fesm2022/acorex-platform-layout-entity.mjs +163 -162
  22. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  23. package/fesm2022/acorex-platform-layout-views.mjs +53 -46
  24. package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
  25. package/fesm2022/acorex-platform-layout-widget-core.mjs +74 -73
  26. package/fesm2022/acorex-platform-layout-widget-core.mjs.map +1 -1
  27. package/fesm2022/{acorex-platform-layout-widgets-button-widget-designer.component-BzsfTNs2.mjs → acorex-platform-layout-widgets-button-widget-designer.component-C_3IWNkj.mjs} +4 -4
  28. package/fesm2022/{acorex-platform-layout-widgets-button-widget-designer.component-BzsfTNs2.mjs.map → acorex-platform-layout-widgets-button-widget-designer.component-C_3IWNkj.mjs.map} +1 -1
  29. package/fesm2022/{acorex-platform-layout-widgets-extra-properties-schema-widget-edit.component-Dvk76-2W.mjs → acorex-platform-layout-widgets-extra-properties-schema-widget-edit.component-CJltEgut.mjs} +4 -4
  30. package/fesm2022/{acorex-platform-layout-widgets-extra-properties-schema-widget-edit.component-Dvk76-2W.mjs.map → acorex-platform-layout-widgets-extra-properties-schema-widget-edit.component-CJltEgut.mjs.map} +1 -1
  31. package/fesm2022/{acorex-platform-layout-widgets-extra-properties-schema-widget-view.component-BYLaipWi.mjs → acorex-platform-layout-widgets-extra-properties-schema-widget-view.component-pM-TIuk0.mjs} +4 -4
  32. package/fesm2022/{acorex-platform-layout-widgets-extra-properties-schema-widget-view.component-BYLaipWi.mjs.map → acorex-platform-layout-widgets-extra-properties-schema-widget-view.component-pM-TIuk0.mjs.map} +1 -1
  33. package/fesm2022/{acorex-platform-layout-widgets-extra-properties-values-widget-edit.component-DcSllNik.mjs → acorex-platform-layout-widgets-extra-properties-values-widget-edit.component-BqI96-fU.mjs} +4 -4
  34. package/fesm2022/{acorex-platform-layout-widgets-extra-properties-values-widget-edit.component-DcSllNik.mjs.map → acorex-platform-layout-widgets-extra-properties-values-widget-edit.component-BqI96-fU.mjs.map} +1 -1
  35. package/fesm2022/{acorex-platform-layout-widgets-extra-properties-values-widget-view.component-BT-U4BiA.mjs → acorex-platform-layout-widgets-extra-properties-values-widget-view.component-C-AhenaM.mjs} +4 -4
  36. package/fesm2022/{acorex-platform-layout-widgets-extra-properties-values-widget-view.component-BT-U4BiA.mjs.map → acorex-platform-layout-widgets-extra-properties-values-widget-view.component-C-AhenaM.mjs.map} +1 -1
  37. package/fesm2022/{acorex-platform-layout-widgets-extra-properties-widget-edit.component-Il7jnRBg.mjs → acorex-platform-layout-widgets-extra-properties-widget-edit.component-DCAya5ne.mjs} +4 -4
  38. package/fesm2022/{acorex-platform-layout-widgets-extra-properties-widget-edit.component-Il7jnRBg.mjs.map → acorex-platform-layout-widgets-extra-properties-widget-edit.component-DCAya5ne.mjs.map} +1 -1
  39. package/fesm2022/{acorex-platform-layout-widgets-extra-properties-widget-view.component-CBEPu7Fl.mjs → acorex-platform-layout-widgets-extra-properties-widget-view.component-D-PnBqLb.mjs} +4 -4
  40. package/fesm2022/{acorex-platform-layout-widgets-extra-properties-widget-view.component-CBEPu7Fl.mjs.map → acorex-platform-layout-widgets-extra-properties-widget-view.component-D-PnBqLb.mjs.map} +1 -1
  41. package/fesm2022/{acorex-platform-layout-widgets-file-list-popup.component-BPzn8lr3.mjs → acorex-platform-layout-widgets-file-list-popup.component-DuuFHWvB.mjs} +4 -4
  42. package/fesm2022/{acorex-platform-layout-widgets-file-list-popup.component-BPzn8lr3.mjs.map → acorex-platform-layout-widgets-file-list-popup.component-DuuFHWvB.mjs.map} +1 -1
  43. package/fesm2022/{acorex-platform-layout-widgets-page-widget-designer.component-C_JrGoXy.mjs → acorex-platform-layout-widgets-page-widget-designer.component-Bss0xUcu.mjs} +4 -4
  44. package/fesm2022/{acorex-platform-layout-widgets-page-widget-designer.component-C_JrGoXy.mjs.map → acorex-platform-layout-widgets-page-widget-designer.component-Bss0xUcu.mjs.map} +1 -1
  45. package/fesm2022/{acorex-platform-layout-widgets-tabular-data-edit-popup.component-C6DaBt_N.mjs → acorex-platform-layout-widgets-tabular-data-edit-popup.component-Cy9mHnNP.mjs} +4 -4
  46. package/fesm2022/{acorex-platform-layout-widgets-tabular-data-edit-popup.component-C6DaBt_N.mjs.map → acorex-platform-layout-widgets-tabular-data-edit-popup.component-Cy9mHnNP.mjs.map} +1 -1
  47. package/fesm2022/{acorex-platform-layout-widgets-tabular-data-view-popup.component-Bth3jI9T.mjs → acorex-platform-layout-widgets-tabular-data-view-popup.component-DznLtuer.mjs} +4 -4
  48. package/fesm2022/{acorex-platform-layout-widgets-tabular-data-view-popup.component-Bth3jI9T.mjs.map → acorex-platform-layout-widgets-tabular-data-view-popup.component-DznLtuer.mjs.map} +1 -1
  49. package/fesm2022/{acorex-platform-layout-widgets-text-block-widget-designer.component-CUHptbP4.mjs → acorex-platform-layout-widgets-text-block-widget-designer.component-ndOUSFi9.mjs} +4 -4
  50. package/fesm2022/{acorex-platform-layout-widgets-text-block-widget-designer.component-CUHptbP4.mjs.map → acorex-platform-layout-widgets-text-block-widget-designer.component-ndOUSFi9.mjs.map} +1 -1
  51. package/fesm2022/acorex-platform-layout-widgets.mjs +858 -897
  52. package/fesm2022/acorex-platform-layout-widgets.mjs.map +1 -1
  53. package/fesm2022/acorex-platform-native.mjs +7 -7
  54. package/fesm2022/acorex-platform-native.mjs.map +1 -1
  55. package/fesm2022/acorex-platform-runtime.mjs +40 -40
  56. package/fesm2022/acorex-platform-runtime.mjs.map +1 -1
  57. package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-eGzN6g2Y.mjs → acorex-platform-themes-default-entity-master-create-view.component-Fnj54AxV.mjs} +4 -4
  58. package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-eGzN6g2Y.mjs.map → acorex-platform-themes-default-entity-master-create-view.component-Fnj54AxV.mjs.map} +1 -1
  59. package/fesm2022/{acorex-platform-themes-default-entity-master-list-view.component-nDHfQQ3O.mjs → acorex-platform-themes-default-entity-master-list-view.component-C60W6UnN.mjs} +60 -13
  60. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-C60W6UnN.mjs.map +1 -0
  61. package/fesm2022/{acorex-platform-themes-default-entity-master-modify-view.component-HJyalvcu.mjs → acorex-platform-themes-default-entity-master-modify-view.component-B3NyKGIG.mjs} +4 -4
  62. package/fesm2022/{acorex-platform-themes-default-entity-master-modify-view.component-HJyalvcu.mjs.map → acorex-platform-themes-default-entity-master-modify-view.component-B3NyKGIG.mjs.map} +1 -1
  63. package/fesm2022/{acorex-platform-themes-default-entity-master-single-view.component-e7m70Wls.mjs → acorex-platform-themes-default-entity-master-single-view.component-B8gx5cG7.mjs} +7 -7
  64. package/fesm2022/{acorex-platform-themes-default-entity-master-single-view.component-e7m70Wls.mjs.map → acorex-platform-themes-default-entity-master-single-view.component-B8gx5cG7.mjs.map} +1 -1
  65. package/fesm2022/{acorex-platform-themes-default-error-401.component-CoBaQFTn.mjs → acorex-platform-themes-default-error-401.component-CcvGfdhu.mjs} +4 -4
  66. package/fesm2022/{acorex-platform-themes-default-error-401.component-CoBaQFTn.mjs.map → acorex-platform-themes-default-error-401.component-CcvGfdhu.mjs.map} +1 -1
  67. package/fesm2022/{acorex-platform-themes-default-error-404.component-BLlVOsS2.mjs → acorex-platform-themes-default-error-404.component-4-CaEsnV.mjs} +4 -4
  68. package/fesm2022/{acorex-platform-themes-default-error-404.component-BLlVOsS2.mjs.map → acorex-platform-themes-default-error-404.component-4-CaEsnV.mjs.map} +1 -1
  69. package/fesm2022/{acorex-platform-themes-default-error-offline.component-CybYQI9F.mjs → acorex-platform-themes-default-error-offline.component-BNecbFEj.mjs} +4 -4
  70. package/fesm2022/{acorex-platform-themes-default-error-offline.component-CybYQI9F.mjs.map → acorex-platform-themes-default-error-offline.component-BNecbFEj.mjs.map} +1 -1
  71. package/fesm2022/acorex-platform-themes-default.mjs +39 -39
  72. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
  73. package/fesm2022/{acorex-platform-themes-shared-icon-chooser-view.component-ReKSoVeN.mjs → acorex-platform-themes-shared-icon-chooser-view.component-Dc_Txe32.mjs} +4 -4
  74. package/fesm2022/{acorex-platform-themes-shared-icon-chooser-view.component-ReKSoVeN.mjs.map → acorex-platform-themes-shared-icon-chooser-view.component-Dc_Txe32.mjs.map} +1 -1
  75. package/fesm2022/{acorex-platform-themes-shared-theme-color-chooser-column.component-B2HDyY2z.mjs → acorex-platform-themes-shared-theme-color-chooser-column.component-hgWLhhle.mjs} +4 -4
  76. package/fesm2022/{acorex-platform-themes-shared-theme-color-chooser-column.component-B2HDyY2z.mjs.map → acorex-platform-themes-shared-theme-color-chooser-column.component-hgWLhhle.mjs.map} +1 -1
  77. package/fesm2022/{acorex-platform-themes-shared-theme-color-chooser-view.component-CeZxa49U.mjs → acorex-platform-themes-shared-theme-color-chooser-view.component-CY3JZK_W.mjs} +4 -4
  78. package/fesm2022/{acorex-platform-themes-shared-theme-color-chooser-view.component-CeZxa49U.mjs.map → acorex-platform-themes-shared-theme-color-chooser-view.component-CY3JZK_W.mjs.map} +1 -1
  79. package/fesm2022/acorex-platform-themes-shared.mjs +41 -41
  80. package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
  81. package/fesm2022/acorex-platform-workflow.mjs +25 -25
  82. package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
  83. package/layout/builder/README.md +1577 -2
  84. package/layout/builder/index.d.ts +182 -125
  85. package/layout/components/index.d.ts +8 -805
  86. package/layout/entity/index.d.ts +4 -2
  87. package/layout/views/index.d.ts +0 -1
  88. package/layout/widget-core/index.d.ts +2 -1
  89. package/layout/widgets/index.d.ts +11 -36
  90. package/package.json +1 -1
  91. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-nDHfQQ3O.mjs.map +0 -1
@@ -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, AXPGridLayoutOptions, AXPActionMenuItem, AXPExecuteCommand, AXPValidationRules, AXPFilterDefinition, AXPFilterQuery, AXPSortDefinition, AXPSortQuery, AXPMetaData, AXPViewQuery } from '@acorex/platform/core';
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 * as _acorex_cdk_common from '@acorex/cdk/common';
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, AXPWidgetCoreContextChangeEvent, AXPWidgetContainerComponent, AXPWidgetProperty, AXPWidgetConfig } from '@acorex/platform/layout/widget-core';
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 { AXPopupSizeType, AXPopupService } from '@acorex/components/popup';
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 {
@@ -541,801 +540,6 @@ declare class AXPDataSelectorService {
541
540
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPDataSelectorService>;
542
541
  }
543
542
 
544
- /**
545
- * Form appearance and density styling (using fieldset widget look)
546
- */
547
- type AXPDynamicFormLook = 'fieldset' | 'card' | 'group' | 'container';
548
- /**
549
- * Form rendering mode
550
- */
551
- type AXPDynamicFormMode = 'view' | 'edit';
552
- /**
553
- * Form layout direction and flow
554
- */
555
- type AXPDynamicFormDirection = 'vertical' | 'horizontal' | 'grid';
556
- interface AXPDynamicFormFieldDefinition {
557
- path: string;
558
- title?: string;
559
- description?: string;
560
- widget: AXPWidgetNode;
561
- /**
562
- * Optional per-field rendering mode. Takes precedence over section and form modes.
563
- */
564
- mode?: AXPDynamicFormMode;
565
- layout?: AXPGridLayoutOptions;
566
- }
567
- interface AXPDynamicFormGroupDefinition {
568
- name: string;
569
- title?: string;
570
- description?: string;
571
- parameters: AXPDynamicFormFieldDefinition[];
572
- /**
573
- * Optional per-section rendering mode. Takes precedence over form mode and is overridden by field mode.
574
- */
575
- mode?: AXPDynamicFormMode;
576
- }
577
- interface AXPDynamicFormDefinition {
578
- groups: AXPDynamicFormGroupDefinition[];
579
- /**
580
- * Optional form-level rendering mode
581
- */
582
- mode?: AXPDynamicFormMode;
583
- }
584
-
585
- /**
586
- * Describes a single step of the dynamic form stepper.
587
- * Each step contains one or more groups rendered by AXPDynamicFormComponent.
588
- */
589
- interface AXPDynamicFormStepperStepDefinition {
590
- /** Unique identifier for the step */
591
- id: string;
592
- /** Display title for the step */
593
- title?: string;
594
- /** Optional descriptive text for the step */
595
- description?: string;
596
- /** Optional icon name for the step header */
597
- icon?: string;
598
- /** Field groups to render in this step */
599
- groups: AXPDynamicFormGroupDefinition[];
600
- /** Optional layout direction override for this step's form */
601
- formDirection?: AXPDynamicFormDirection;
602
- /** Whether the user may skip this step (defaults to false) */
603
- canSkip?: boolean;
604
- /** Whether the user may navigate back from this step (defaults to true) */
605
- canGoBack?: boolean;
606
- /** Optional data path inside the shared context for this step's data */
607
- dataPath?: string;
608
- }
609
- /**
610
- * Root definition for the dynamic form stepper.
611
- */
612
- interface AXPDynamicFormStepperDefinition {
613
- /** Ordered collection of steps */
614
- steps: AXPDynamicFormStepperStepDefinition[];
615
- /** Enforce sequential navigation (no jumping to future steps) */
616
- linear?: boolean;
617
- /** Show progress indicator above the content */
618
- showProgress?: boolean;
619
- /** Show step numbers in the header */
620
- showStepNumbers?: boolean;
621
- }
622
-
623
- declare class AXPDynamicFormStepperComponent {
624
- #private;
625
- /**
626
- * Stepper definition providing steps metadata and behavior configuration
627
- */
628
- definition: _angular_core.InputSignal<AXPDynamicFormStepperDefinition>;
629
- /**
630
- * Shared root context for all steps
631
- */
632
- context: _angular_core.InputSignal<any>;
633
- /**
634
- * Optional pass-through layout props for inner forms
635
- */
636
- layoutLook: _angular_core.InputSignal<AXPDynamicFormLook>;
637
- stepperDirection: _angular_core.InputSignal<AXOrientation>;
638
- layoutConfig: _angular_core.InputSignal<AXPGridLayoutOptions | undefined>;
639
- /**
640
- * Optional guard that controls advancing to the next step (async only)
641
- */
642
- guardNext: _angular_core.InputSignal<((e: {
643
- index: number;
644
- id: string;
645
- fullContext: any;
646
- }) => Promise<boolean>) | undefined>;
647
- /**
648
- * Emits when the shared root context changes
649
- */
650
- contextChange: _angular_core.OutputEmitterRef<any>;
651
- /**
652
- * Emits when the active step changes
653
- */
654
- stepChange: _angular_core.OutputEmitterRef<{
655
- index: number;
656
- id: string;
657
- }>;
658
- /**
659
- * Emits after successful finish
660
- */
661
- finished: _angular_core.OutputEmitterRef<any>;
662
- /**
663
- * Emits when cancelled by API
664
- */
665
- cancel: _angular_core.OutputEmitterRef<void>;
666
- /**
667
- * Emits when navigation is blocked by validation or policy
668
- */
669
- navigationBlocked: _angular_core.OutputEmitterRef<{
670
- reason: "invalid" | "linear" | "cannot-skip" | "cannot-go-back";
671
- stepId: string;
672
- targetIndex?: number;
673
- }>;
674
- /**
675
- * Internal reactive copy of the shared context
676
- */
677
- private internalContext;
678
- /**
679
- * Active step index
680
- */
681
- protected currentStepIndex: _angular_core.WritableSignal<number>;
682
- /**
683
- * Navigation lock while async guards are pending
684
- */
685
- private navigationLocked;
686
- /**
687
- * Reference to underlying step wizard to sync visual navigation
688
- */
689
- private readonly wizard;
690
- /**
691
- * References to rendered dynamic forms (usually one active)
692
- */
693
- private readonly forms;
694
- protected steps: _angular_core.Signal<_acorex_platform_layout_components.AXPDynamicFormStepperStepDefinition[]>;
695
- protected stepCount: _angular_core.Signal<number>;
696
- protected currentStep: _angular_core.Signal<_acorex_platform_layout_components.AXPDynamicFormStepperStepDefinition>;
697
- protected isFirstComputed: _angular_core.Signal<boolean>;
698
- protected isLastComputed: _angular_core.Signal<boolean>;
699
- /**
700
- * Non-undefined layout config for inner dynamic forms
701
- */
702
- protected effectiveLayoutConfig: _angular_core.Signal<AXPGridLayoutOptions>;
703
- /**
704
- * Returns the current step pointer
705
- */
706
- getCurrentStep(): {
707
- index: number;
708
- id: string;
709
- };
710
- /**
711
- * Public helpers for templates/consumers
712
- */
713
- isFirst(): boolean;
714
- isLast(): boolean;
715
- /**
716
- * Returns the root context
717
- */
718
- getContext(): any;
719
- /**
720
- * Replaces the root context programmatically
721
- */
722
- setContext(ctx: any): void;
723
- /**
724
- * Validates the current step.
725
- */
726
- validateCurrentStep(): Promise<boolean>;
727
- /**
728
- * Attempts to advance to the next step applying validation and guard
729
- */
730
- next(): Promise<void>;
731
- /**
732
- * Goes back to the previous step if possible
733
- */
734
- previous(): Promise<void>;
735
- /**
736
- * Navigates to a specific step by id or index
737
- */
738
- goTo(stepIdOrIndex: string | number): Promise<void>;
739
- /**
740
- * Validates all steps and emits finished when successful
741
- */
742
- finish(): Promise<void>;
743
- /**
744
- * Emits cancel event without state changes
745
- */
746
- cancelFlow(): void;
747
- /**
748
- * Handle per-step context changes and keep internal root context in sync.
749
- */
750
- protected onStepContextChange(stepId: string, stepContext: any): void;
751
- /**
752
- * Exposes reading a step slice to the template
753
- */
754
- readStepSlice(path?: string): {
755
- slice: any;
756
- exists: boolean;
757
- };
758
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPDynamicFormStepperComponent, never>;
759
- 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>;
760
- }
761
-
762
- interface AXPDynamicDialogConfig {
763
- title: string;
764
- message?: string;
765
- /**
766
- * Legacy: If provided, dialog renders only dynamic-form.
767
- */
768
- formDefinition?: AXPDynamicFormDefinition;
769
- /**
770
- * Preferred definition: dynamic form (no steps or single step) or a multi-step stepper definition.
771
- */
772
- definition?: AXPDynamicFormDefinition | AXPDynamicFormStepperDefinition;
773
- /**
774
- * Shared context passed to the rendered control
775
- */
776
- context: any;
777
- /**
778
- * Shared layout options applied to form/stepper unless overridden
779
- */
780
- layoutConfig?: AXPGridLayoutOptions;
781
- layoutLook?: AXPDynamicFormLook;
782
- mode?: AXPDynamicFormMode;
783
- size?: AXPopupSizeType;
784
- closeButton?: boolean;
785
- /**
786
- * Optional stepper-only options. Ignored when rendering dynamic-form.
787
- */
788
- stepper?: {
789
- guardNext?: (e: {
790
- index: number;
791
- id: string;
792
- fullContext: unknown;
793
- }) => Promise<boolean>;
794
- stepperDirection?: AXOrientation;
795
- };
796
- /**
797
- * Footer actions. In stepper mode, footer is replaced by Prev/Next/Confirm.
798
- */
799
- actions?: {
800
- footer?: {
801
- prefix?: AXPActionMenuItem[];
802
- suffix?: AXPActionMenuItem[];
803
- };
804
- };
805
- }
806
- interface AXPDynamicDialogResult {
807
- context: any;
808
- action?: string;
809
- }
810
- interface AXPDialogRef {
811
- /**
812
- * Manually close the dialog (optional - dialog closes automatically after user interaction)
813
- */
814
- close(): void;
815
- /**
816
- * Get the form data from the dialog
817
- */
818
- context(): any;
819
- /**
820
- * Get the action that was clicked by the user
821
- */
822
- action(): string | undefined;
823
- /**
824
- * Set the loading state of the dialog
825
- */
826
- setLoading(loading: boolean): void;
827
- }
828
-
829
- declare class AXPDynamicDialogComponent extends AXBasePageComponent {
830
- config: AXPDynamicDialogConfig;
831
- private readonly dynamicForm;
832
- protected readonly stepper: _angular_core.Signal<AXPDynamicFormStepperComponent | undefined>;
833
- isSubmitting: _angular_core.WritableSignal<boolean>;
834
- private previousContext;
835
- private formData;
836
- dialogResult: AXPDynamicDialogResult | null;
837
- isSubmittingFromDialog: boolean;
838
- data: any;
839
- callBack: (dialogRef: AXPDialogRef) => void;
840
- /**
841
- * Form context for widget container
842
- */
843
- protected formContext: _angular_core.Signal<Record<string, any>>;
844
- /**
845
- * Combined loading state from both signal and dialog
846
- */
847
- protected isFormLoading: _angular_core.Signal<boolean>;
848
- protected defaultLayout: () => AXPGridLayoutOptions;
849
- /**
850
- * Determine rendering mode and effective definitions
851
- */
852
- protected readonly hasLegacyForm: _angular_core.Signal<boolean>;
853
- protected readonly providedDefinition: _angular_core.Signal<_acorex_platform_layout_components.AXPDynamicFormDefinition | _acorex_platform_layout_components.AXPDynamicFormStepperDefinition | undefined>;
854
- protected readonly providedMode: _angular_core.Signal<_acorex_platform_layout_components.AXPDynamicFormMode>;
855
- protected readonly isStepperDefinition: _angular_core.Signal<boolean>;
856
- protected readonly shouldRenderForm: _angular_core.Signal<boolean>;
857
- protected readonly effectiveFormDefinition: _angular_core.Signal<any>;
858
- protected readonly resolvedFormDefinition: _angular_core.Signal<any>;
859
- protected readonly effectiveLayoutLook: _angular_core.Signal<_acorex_platform_layout_components.AXPDynamicFormLook>;
860
- protected readonly effectiveLayoutConfig: _angular_core.Signal<AXPGridLayoutOptions>;
861
- protected readonly stepperGuardNext: _angular_core.Signal<((e: {
862
- index: number;
863
- id: string;
864
- fullContext: unknown;
865
- }) => Promise<boolean>) | undefined>;
866
- protected readonly stepperDirection: _angular_core.Signal<_acorex_cdk_common.AXOrientation>;
867
- protected readonly stepperDefinition: _angular_core.Signal<any>;
868
- stepperIsFirst: _angular_core.Signal<boolean>;
869
- stepperIsLast: _angular_core.Signal<boolean>;
870
- /**
871
- * Effective form direction when rendering dynamic-form (single-step or legacy form).
872
- * If a single-step definition is provided and that step specifies formDirection, use it.
873
- */
874
- protected readonly effectiveFormDirection: _angular_core.Signal<AXPDynamicFormDirection>;
875
- /**
876
- * Footer actions for dynamic button system
877
- */
878
- protected footerPrefixActions: _angular_core.Signal<AXPActionMenuItem[]>;
879
- protected footerSuffixActions: _angular_core.Signal<AXPActionMenuItem[]>;
880
- protected visibleFooterPrefixActions: _angular_core.Signal<AXPActionMenuItem[]>;
881
- protected visibleFooterSuffixActions: _angular_core.Signal<AXPActionMenuItem[]>;
882
- protected hasFooterActions: _angular_core.Signal<boolean>;
883
- /** Stepper footer: choose a single confirm action from provided suffix actions (first visible). */
884
- protected confirmAction: _angular_core.Signal<AXPActionMenuItem | undefined>;
885
- protected confirmActionTitle: _angular_core.Signal<string>;
886
- ngOnInit(): void;
887
- protected handleContextInitiated(context: any): void;
888
- protected handleContextChanged(context: any): void;
889
- /**
890
- * Execute a dynamic action
891
- */
892
- protected executeAction(action: AXPActionMenuItem): Promise<void>;
893
- /**
894
- * Execute a command
895
- */
896
- protected executeCommand(command: AXPExecuteCommand): Promise<void>;
897
- /**
898
- * Check if form is valid
899
- */
900
- protected isFormValid(): Promise<boolean>;
901
- /** Stepper navigation handlers */
902
- protected goPrev(): void;
903
- protected goNext(): void;
904
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPDynamicDialogComponent, never>;
905
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPDynamicDialogComponent, "axp-dynamic-dialog", never, { "config": { "alias": "config"; "required": true; }; }, {}, never, never, true, never>;
906
- }
907
-
908
- declare class AXPDynamicDialogService {
909
- private readonly popupService;
910
- /**
911
- * Show a dynamic dialog with the given configuration
912
- * @param config Dialog configuration including fields, validation, and UI options
913
- * @returns Promise resolving to dialog reference for controlling the dialog
914
- */
915
- showDialog(config: AXPDynamicDialogConfig): Promise<AXPDialogRef>;
916
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPDynamicDialogService, never>;
917
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPDynamicDialogService>;
918
- }
919
-
920
- declare class AXPDynamicFormComponent implements OnInit {
921
- #private;
922
- private evaluatorService;
923
- private formBuilderService;
924
- /**
925
- * Tracks the latest scheduled evaluation to ensure last-write-wins for async evaluate
926
- */
927
- private evaluationRunId;
928
- /**
929
- * Form definition containing groups and fields OR widget tree
930
- */
931
- data: _angular_core.InputSignal<AXPWidgetNode | AXPDynamicFormDefinition>;
932
- /**
933
- * Form context/model data
934
- */
935
- context: _angular_core.InputSignal<any>;
936
- /**
937
- * Form appearance and density styling (normal, compact, spacious)
938
- */
939
- layoutLook: _angular_core.InputSignal<AXPDynamicFormLook>;
940
- /**
941
- * Default form mode. Can be overridden by section/group and field.
942
- */
943
- mode: _angular_core.InputSignal<AXPDynamicFormMode>;
944
- /**
945
- * Convert input data to widget tree
946
- */
947
- private convertToWidgetTree;
948
- protected widgetTree: _angular_core.WritableSignal<AXPWidgetNode | null>;
949
- /**
950
- * Convert and evaluate data when inputs change
951
- */
952
- conversionEffect: _angular_core.EffectRef;
953
- protected expressionEvaluator(expression: any, context: any): Promise<any>;
954
- /**
955
- * Apply layout look to all fieldset widgets in the widget tree
956
- */
957
- private applyLayoutLookToWidgetTree;
958
- /**
959
- * Emitted when form context changes
960
- */
961
- contextChange: _angular_core.OutputEmitterRef<any>;
962
- /**
963
- * Emitted when context change is initiated
964
- */
965
- contextInitiated: _angular_core.OutputEmitterRef<any>;
966
- /**
967
- * Emitted when form becomes valid/invalid
968
- */
969
- validityChange: _angular_core.OutputEmitterRef<boolean>;
970
- private form;
971
- private container;
972
- /**
973
- * Internal context signal for reactivity
974
- */
975
- protected internalContext: _angular_core.WritableSignal<any>;
976
- /**
977
- * Host classes based on layout look and mode
978
- */
979
- protected hostClasses: _angular_core.Signal<string>;
980
- ngOnInit(): void;
981
- /**
982
- * Handle context change events from widget container
983
- */
984
- protected handleContextChanged(event: AXPWidgetCoreContextChangeEvent): void;
985
- /**
986
- * Get the form component instance
987
- */
988
- getForm(): AXFormComponent | undefined;
989
- /**
990
- * Get the widget container component instance
991
- */
992
- getContainer(): AXPWidgetContainerComponent | undefined;
993
- /**
994
- * Get current form context
995
- */
996
- getContext(): any;
997
- /**
998
- * Update form context programmatically
999
- */
1000
- updateContext(context: any): void;
1001
- /**
1002
- * Get the current widget tree
1003
- */
1004
- getWidgetTree(): AXPWidgetNode | null;
1005
- /**
1006
- * Validate the form
1007
- */
1008
- validate(): Promise<boolean>;
1009
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPDynamicFormComponent, never>;
1010
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPDynamicFormComponent, "axp-dynamic-form", never, { "data": { "alias": "data"; "required": true; "isSignal": true; }; "context": { "alias": "context"; "required": true; "isSignal": true; }; "layoutLook": { "alias": "layoutLook"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; }, { "contextChange": "contextChange"; "contextInitiated": "contextInitiated"; "validityChange": "validityChange"; }, never, never, true, never>;
1011
- }
1012
-
1013
- interface TextBoxOptions {
1014
- placeholder?: string;
1015
- maxLength?: number;
1016
- minLength?: number;
1017
- mask?: string;
1018
- disabled?: boolean;
1019
- readonly?: boolean;
1020
- validations?: AXPValidationRules;
1021
- }
1022
- interface LargeTextBoxOptions {
1023
- placeholder?: string;
1024
- maxLength?: number;
1025
- minLength?: number;
1026
- rows?: number;
1027
- disabled?: boolean;
1028
- readonly?: boolean;
1029
- validations?: AXPValidationRules;
1030
- }
1031
- interface RichTextOptions {
1032
- placeholder?: string;
1033
- toolbar?: string[];
1034
- height?: number;
1035
- disabled?: boolean;
1036
- readonly?: boolean;
1037
- validations?: AXPValidationRules;
1038
- }
1039
- interface SelectBoxOptions<TItem extends Record<string, unknown> = Record<string, unknown>> {
1040
- valueField: keyof TItem & string;
1041
- textField: keyof TItem & string;
1042
- dataSource: TItem[];
1043
- multiple?: boolean;
1044
- placeholder?: string;
1045
- disabled?: boolean;
1046
- readonly?: boolean;
1047
- allowSearch?: boolean;
1048
- validations?: AXPValidationRules;
1049
- }
1050
- interface LookupBoxOptions {
1051
- entity: string;
1052
- multiple?: boolean;
1053
- expose?: Array<{
1054
- source: string;
1055
- target: string;
1056
- }>;
1057
- placeholder?: string;
1058
- textField?: string;
1059
- valueField?: string;
1060
- look?: string;
1061
- columns?: string[];
1062
- allowClear?: boolean;
1063
- disabled?: boolean;
1064
- readonly?: boolean;
1065
- validations?: AXPValidationRules;
1066
- }
1067
- interface NumberBoxOptions {
1068
- minValue?: number;
1069
- maxValue?: number;
1070
- step?: number;
1071
- format?: string;
1072
- placeholder?: string;
1073
- disabled?: boolean;
1074
- readonly?: boolean;
1075
- validations?: AXPValidationRules;
1076
- }
1077
- interface DateTimeBoxOptions {
1078
- format?: string;
1079
- min?: Date;
1080
- max?: Date;
1081
- showTime?: boolean;
1082
- placeholder?: string;
1083
- disabled?: boolean;
1084
- readonly?: boolean;
1085
- validations?: AXPValidationRules;
1086
- }
1087
- interface ToggleSwitchOptions {
1088
- onText?: string;
1089
- offText?: string;
1090
- validations?: AXPValidationRules;
1091
- }
1092
- interface PasswordBoxOptions {
1093
- placeholder?: string;
1094
- maxLength?: number;
1095
- minLength?: number;
1096
- showToggle?: boolean;
1097
- validations?: AXPValidationRules;
1098
- }
1099
- interface SelectionListOptions<TItem extends Record<string, unknown> = Record<string, unknown>> {
1100
- valueField: keyof TItem & string;
1101
- textField: keyof TItem & string;
1102
- dataSource: TItem[];
1103
- multiple?: boolean;
1104
- placeholder?: string;
1105
- disabled?: boolean;
1106
- readonly?: boolean;
1107
- validations?: AXPValidationRules;
1108
- }
1109
- interface ColorBoxOptions {
1110
- defaultColor?: string;
1111
- showAlpha?: boolean;
1112
- disabled?: boolean;
1113
- readonly?: boolean;
1114
- validations?: AXPValidationRules;
1115
- }
1116
- interface IFieldOptions {
1117
- hidden?: string | boolean;
1118
- readonly?: string | boolean;
1119
- disabled?: string | boolean;
1120
- defaultValue?: any;
1121
- }
1122
- interface IFieldBuilder {
1123
- title(title: string): IFieldBuilder;
1124
- description(description: string): IFieldBuilder;
1125
- mode(mode: AXPDynamicFormMode): IFieldBuilder;
1126
- options(values: IFieldOptions): IFieldBuilder;
1127
- layout(layout: AXPGridLayoutOptions | number): IFieldBuilder;
1128
- textBox(options?: TextBoxOptions): IFieldBuilder;
1129
- largeTextBox(options?: LargeTextBoxOptions): IFieldBuilder;
1130
- richText(options?: RichTextOptions): IFieldBuilder;
1131
- passwordBox(options?: PasswordBoxOptions): IFieldBuilder;
1132
- selectBox(options: SelectBoxOptions): IFieldBuilder;
1133
- lookupBox(options: LookupBoxOptions): IFieldBuilder;
1134
- selectionList(options: SelectionListOptions): IFieldBuilder;
1135
- numberBox(options?: NumberBoxOptions): IFieldBuilder;
1136
- dateTimeBox(options?: DateTimeBoxOptions): IFieldBuilder;
1137
- toggleSwitch(options?: ToggleSwitchOptions): IFieldBuilder;
1138
- colorBox(options?: ColorBoxOptions): IFieldBuilder;
1139
- widget(type: string, options?: unknown): IFieldBuilder;
1140
- }
1141
- interface IGroupBuilder {
1142
- title(title: string): IGroupBuilder;
1143
- description(description: string): IGroupBuilder;
1144
- mode(mode: AXPDynamicFormMode): IGroupBuilder;
1145
- field(path: string, delegate?: (field: IFieldBuilder) => void): IGroupBuilder;
1146
- group(name: string, delegate?: (group: IGroupBuilder) => void): IGroupBuilder;
1147
- }
1148
- interface IStepBuilder {
1149
- title(title: string): IStepBuilder;
1150
- description(description: string): IStepBuilder;
1151
- icon(icon: string): IStepBuilder;
1152
- group(name: string, delegate?: (group: IGroupBuilder) => void): IStepBuilder;
1153
- }
1154
- interface IFormBuilder {
1155
- group(name: string, delegate?: (group: IGroupBuilder) => void): IFormBuilder;
1156
- layout(config: Partial<AXPGridLayoutOptions>): IFormBuilder;
1157
- look(look: AXPDynamicFormLook): IFormBuilder;
1158
- mode(mode: AXPDynamicFormMode): IFormBuilder;
1159
- build(): AXPDynamicFormDefinition;
1160
- export(): AXPWidgetNode;
1161
- import(widgetTree: AXPWidgetNode): IFormBuilder;
1162
- }
1163
- interface IActionBuilder {
1164
- cancel(text?: string): IActionBuilder;
1165
- submit(text?: string): IActionBuilder;
1166
- custom(action: AXPActionMenuItem): IActionBuilder;
1167
- }
1168
- interface IDialogBuilder extends IFormBuilder {
1169
- group(name: string, delegate?: (group: IGroupBuilder) => void): IDialogBuilder;
1170
- layout(config: Partial<AXPGridLayoutOptions>): IDialogBuilder;
1171
- look(look: AXPDynamicFormLook): IDialogBuilder;
1172
- closeButton(closeButton: boolean): IDialogBuilder;
1173
- step(id: string, delegate?: (step: IStepBuilder) => void): IDialogBuilder;
1174
- stepperDirection(direction: AXOrientation): IDialogBuilder;
1175
- guardNext(guard: (e: {
1176
- index: number;
1177
- id: string;
1178
- fullContext: unknown;
1179
- }) => Promise<boolean>): IDialogBuilder;
1180
- title(title: string): IDialogBuilder;
1181
- message(message?: string): IDialogBuilder;
1182
- size(size: AXPopupSizeType): IDialogBuilder;
1183
- context(context: AXPContextData): IDialogBuilder;
1184
- actions(delegate?: (actions: IActionBuilder) => void): IDialogBuilder;
1185
- show(): Promise<AXPDialogRef>;
1186
- }
1187
- interface FormBuilderState {
1188
- groups: AXPDynamicFormGroupDefinition[];
1189
- layoutConfig: AXPGridLayoutOptions;
1190
- look: AXPDynamicFormLook;
1191
- mode?: AXPDynamicFormMode;
1192
- }
1193
- interface DialogBuilderState extends FormBuilderState {
1194
- title?: string;
1195
- message?: string;
1196
- size?: AXPopupSizeType;
1197
- context?: AXPContextData;
1198
- steps: StepBuilderState[];
1199
- stepperDirection?: AXOrientation;
1200
- closeButton?: boolean;
1201
- guardNext?: (e: {
1202
- index: number;
1203
- id: string;
1204
- fullContext: unknown;
1205
- }) => Promise<boolean>;
1206
- actions?: {
1207
- footer?: {
1208
- prefix?: AXPActionMenuItem[];
1209
- suffix?: AXPActionMenuItem[];
1210
- };
1211
- };
1212
- }
1213
- interface FieldBuilderState {
1214
- path: string;
1215
- title?: string;
1216
- description?: string;
1217
- defaultValue?: any;
1218
- hidden?: string | boolean;
1219
- readonly?: string | boolean;
1220
- disabled?: string | boolean;
1221
- widget?: AXPWidgetNode;
1222
- layout?: AXPGridLayoutOptions;
1223
- mode?: AXPDynamicFormMode;
1224
- }
1225
- interface GroupBuilderState {
1226
- name: string;
1227
- title?: string;
1228
- description?: string;
1229
- parameters: AXPDynamicFormFieldDefinition[];
1230
- mode?: AXPDynamicFormMode;
1231
- }
1232
- interface StepBuilderState {
1233
- id: string;
1234
- title?: string;
1235
- description?: string;
1236
- icon?: string;
1237
- groups: AXPDynamicFormGroupDefinition[];
1238
- }
1239
-
1240
- declare class AXPDynamicFormBuilderService {
1241
- private readonly dialogService;
1242
- private widgetTreeCache;
1243
- private formDefinitionCache;
1244
- /**
1245
- * Create a new form builder
1246
- */
1247
- form(): IFormBuilder;
1248
- /**
1249
- * Export form definition to AXPWidgetNode
1250
- */
1251
- exportFormDefinition(formDefinition: AXPDynamicFormDefinition): AXPWidgetNode;
1252
- /**
1253
- * Import form definition from AXPWidgetNode
1254
- */
1255
- importFormDefinition(widgetTree: AXPWidgetNode): AXPDynamicFormDefinition;
1256
- /**
1257
- * Export widget tree to AXPWidgetNode (deep clone)
1258
- */
1259
- exportWidgetTree(widgetTree: AXPWidgetNode): AXPWidgetNode;
1260
- /**
1261
- * Import widget tree from AXPWidgetNode (with validation)
1262
- */
1263
- importWidgetTree(widgetTree: AXPWidgetNode): AXPWidgetNode;
1264
- /**
1265
- * Create a new dialog builder
1266
- */
1267
- dialog(): IDialogBuilder;
1268
- /**
1269
- * Convert AXPDynamicFormDefinition to AXPWidgetNode tree structure
1270
- * Groups become Grid Layouts with Grid Items
1271
- * Fields become Form Field widgets with Editor widgets as children
1272
- */
1273
- serializeToWidgetTree(formDefinition: AXPDynamicFormDefinition): AXPWidgetNode;
1274
- /**
1275
- * Convert AXPWidgetNode tree back to AXPDynamicFormDefinition
1276
- * Parses Grid Layouts back to Groups
1277
- * Parses Form Field widgets back to Fields
1278
- */
1279
- deserializeFromWidgetTree(widgetTree: AXPWidgetNode): AXPDynamicFormDefinition;
1280
- /**
1281
- * Validate that a widget tree represents a valid dynamic form structure
1282
- */
1283
- validateFormWidgetTree(widgetTree: AXPWidgetNode): boolean;
1284
- /**
1285
- * Convert a single group to Fieldset widget structure
1286
- */
1287
- private createGroupAsFieldsetWidget;
1288
- /**
1289
- * Convert fields to Form Field widgets
1290
- */
1291
- private createFieldWidgets;
1292
- /**
1293
- * Convert a single field to Form Field widget with editor as child
1294
- */
1295
- private createFormFieldWidget;
1296
- /**
1297
- * Extract group information from Grid Layout widget
1298
- */
1299
- private extractGroupFromFieldset;
1300
- /**
1301
- * Extract field information from Form Field widget
1302
- */
1303
- private extractFieldFromFormWidget;
1304
- /**
1305
- * Create cache key for form definition
1306
- */
1307
- private createFormDefinitionCacheKey;
1308
- /**
1309
- * Create cache key for widget tree
1310
- */
1311
- private createWidgetTreeCacheKey;
1312
- /**
1313
- * Clear all caches
1314
- */
1315
- clearCaches(): void;
1316
- /**
1317
- * Get cache statistics
1318
- */
1319
- getCacheStats(): {
1320
- widgetTreeCacheSize: number;
1321
- formDefinitionCacheSize: number;
1322
- };
1323
- /**
1324
- * Create a simple hash from a string
1325
- */
1326
- private createSimpleHash;
1327
- /**
1328
- * Validate widget tree structure recursively
1329
- */
1330
- private validateWidgetTreeStructure;
1331
- /**
1332
- * Deep clone AXPWidgetNode
1333
- */
1334
- private deepCloneWidgetNode;
1335
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPDynamicFormBuilderService, never>;
1336
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPDynamicFormBuilderService>;
1337
- }
1338
-
1339
543
  interface AXPDynamicFormDesignerField {
1340
544
  id: string;
1341
545
  name: string;
@@ -1392,7 +596,6 @@ declare class AXPDynamicFormDesignerComponent {
1392
596
  private readonly widgetRegistry;
1393
597
  private readonly formBuilderService;
1394
598
  private readonly widgetPropertyViewerService;
1395
- private readonly dialogService;
1396
599
  protected selectedFieldId: _angular_core.WritableSignal<string | null>;
1397
600
  private designerState;
1398
601
  protected availableWidgets: _angular_core.Signal<AXPFormElementWidget[]>;
@@ -2024,5 +1227,5 @@ declare class AXPWidgetItemComponent {
2024
1227
  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>;
2025
1228
  }
2026
1229
 
2027
- export { AXPActivityLogComponent, AXPCategoryTreeComponent, AXPCompareViewComponent, AXPComponentSlot, AXPComponentSlotDirective, AXPComponentSlotModule, AXPComponentSlotRegistryService, AXPDataSelectorComponent, AXPDataSelectorService, AXPDynamicDialogComponent, AXPDynamicDialogService, AXPDynamicFormBuilderService, AXPDynamicFormComponent, AXPDynamicFormDesignerComponent, AXPDynamicFormStepperComponent, 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 };
2028
- export type { AXPCategoryTreeActions, AXPCategoryTreeConfig, AXPCategoryTreeDataSource, AXPCategoryTreeEvents, AXPCategoryTreeNode, AXPCompareViewField, AXPCompareViewInputs, AXPCompareViewMode, AXPCompareViewObject, AXPComponentSlotConfig, AXPComponentSlotModuleConfigs, AXPDataSelectorColumn, AXPDataSelectorConfig, AXPDialogRef, AXPDynamicDialogConfig, AXPDynamicDialogResult, AXPDynamicFormDefinition, AXPDynamicFormDesignerField, AXPDynamicFormDesignerGroup, AXPDynamicFormDesignerState, AXPDynamicFormDirection, AXPDynamicFormFieldDefinition, AXPDynamicFormGroupDefinition, AXPDynamicFormLook, AXPDynamicFormMode, AXPDynamicFormStepperDefinition, AXPDynamicFormStepperStepDefinition, AXPExtraPropertyItem, AXPExtraPropertySchemaItem, AXPExtraPropertyType, AXPFormElementWidget, AXPImageEditorOpenOptions, AXPTemplateViewerConfig, AXPTemplateViewerResult, AXPUserAvatarData, AXPUserAvatarProvider, AXPUserAvatarSize, AXPUserAvatarStatus, AXPWidgetItemClickEvent, AXPWidgetItemData, AXPWidgetPropertiesChangedEvent, AXPWidgetPropertyTab, AXPWidgetPropertyViewerConfig, AXPWidgetPropertyViewerResult, ColorBoxOptions, DateTimeBoxOptions, DialogBuilderState, FieldBuilderState, FormBuilderState, GroupBuilderState, IActionBuilder, IDialogBuilder, IFieldBuilder, IFieldOptions, IFormBuilder, IGroupBuilder, IStepBuilder, LargeTextBoxOptions, LookupBoxOptions, NumberBoxOptions, PasswordBoxOptions, RichTextOptions, SelectBoxOptions, SelectionListOptions, StateMode, StepBuilderState, TextBoxOptions, ToggleSwitchOptions };
1230
+ 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 };
1231
+ 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 };