@acorex/platform 21.0.0-next.89 → 21.0.0-next.91

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 (58) hide show
  1. package/fesm2022/acorex-platform-auth.mjs +1 -1
  2. package/fesm2022/acorex-platform-auth.mjs.map +1 -1
  3. package/fesm2022/acorex-platform-common-common-settings.provider-DilV4dql.mjs.map +1 -1
  4. package/fesm2022/acorex-platform-common.mjs +3 -10
  5. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  6. package/fesm2022/acorex-platform-contracts.mjs +1737 -27
  7. package/fesm2022/acorex-platform-contracts.mjs.map +1 -1
  8. package/fesm2022/acorex-platform-core.mjs +28 -1712
  9. package/fesm2022/acorex-platform-core.mjs.map +1 -1
  10. package/fesm2022/acorex-platform-domain-contracts.mjs.map +1 -1
  11. package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
  12. package/fesm2022/acorex-platform-layout-components.mjs +3 -3
  13. package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
  14. package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
  15. package/fesm2022/acorex-platform-layout-entity-attachments-page.component-CwG6n_Yb.mjs.map +1 -1
  16. package/fesm2022/acorex-platform-layout-entity-contracts.mjs +27 -1
  17. package/fesm2022/acorex-platform-layout-entity-contracts.mjs.map +1 -1
  18. package/fesm2022/acorex-platform-layout-entity-file-list-popup.component--IeMZLIr.mjs.map +1 -1
  19. package/fesm2022/acorex-platform-layout-entity.mjs +355 -122
  20. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  21. package/fesm2022/acorex-platform-layout-views.mjs +77 -16
  22. package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
  23. package/fesm2022/acorex-platform-layout-widget-core.mjs +89 -11
  24. package/fesm2022/acorex-platform-layout-widget-core.mjs.map +1 -1
  25. package/fesm2022/acorex-platform-layout-widgets-page-widget-designer.component-D10yO28c.mjs.map +1 -1
  26. package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-CFyfix31.mjs.map +1 -1
  27. package/fesm2022/{acorex-platform-layout-widgets-tabular-data-edit-popup.component-CZc2zFlg.mjs → acorex-platform-layout-widgets-tabular-data-edit-popup.component-BvFykMTH.mjs} +2 -2
  28. package/fesm2022/acorex-platform-layout-widgets-tabular-data-edit-popup.component-BvFykMTH.mjs.map +1 -0
  29. package/fesm2022/{acorex-platform-layout-widgets-tabular-data-view-popup.component-XWRUVoL4.mjs → acorex-platform-layout-widgets-tabular-data-view-popup.component-CntopmDS.mjs} +2 -2
  30. package/fesm2022/{acorex-platform-layout-widgets-tabular-data-view-popup.component-XWRUVoL4.mjs.map → acorex-platform-layout-widgets-tabular-data-view-popup.component-CntopmDS.mjs.map} +1 -1
  31. package/fesm2022/acorex-platform-layout-widgets.mjs +5 -7
  32. package/fesm2022/acorex-platform-layout-widgets.mjs.map +1 -1
  33. package/fesm2022/acorex-platform-runtime.mjs.map +1 -1
  34. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-CWLfNqV0.mjs.map +1 -1
  35. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-C7cT82K2.mjs.map +1 -1
  36. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-DrUwqKKA.mjs.map +1 -1
  37. package/fesm2022/acorex-platform-themes-default.mjs +15 -5
  38. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
  39. package/fesm2022/{acorex-platform-themes-shared-settings.provider-UyKdkeyk.mjs → acorex-platform-themes-shared-settings.provider-DxtfyNGS.mjs} +2 -2
  40. package/fesm2022/acorex-platform-themes-shared-settings.provider-DxtfyNGS.mjs.map +1 -0
  41. package/fesm2022/acorex-platform-themes-shared.mjs +2 -2
  42. package/fesm2022/acorex-platform-workflow.mjs +2 -2
  43. package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
  44. package/package.json +1 -1
  45. package/types/acorex-platform-common.d.ts +3 -5
  46. package/types/acorex-platform-contracts.d.ts +863 -7
  47. package/types/acorex-platform-core.d.ts +65 -922
  48. package/types/acorex-platform-layout-builder.d.ts +3 -3
  49. package/types/acorex-platform-layout-components.d.ts +6 -6
  50. package/types/acorex-platform-layout-designer.d.ts +4 -5
  51. package/types/acorex-platform-layout-entity-contracts.d.ts +94 -3
  52. package/types/acorex-platform-layout-entity.d.ts +72 -103
  53. package/types/acorex-platform-layout-views.d.ts +19 -12
  54. package/types/acorex-platform-layout-widget-core.d.ts +89 -77
  55. package/types/acorex-platform-layout-widgets.d.ts +9 -8
  56. package/types/acorex-platform-themes-default.d.ts +4 -1
  57. package/fesm2022/acorex-platform-layout-widgets-tabular-data-edit-popup.component-CZc2zFlg.mjs.map +0 -1
  58. package/fesm2022/acorex-platform-themes-shared-settings.provider-UyKdkeyk.mjs.map +0 -1
@@ -3,12 +3,13 @@ import * as _angular_core from '@angular/core';
3
3
  import { Signal, InjectionToken, OnInit, OnDestroy } from '@angular/core';
4
4
  import * as _acorex_platform_themes_shared from '@acorex/platform/themes/shared';
5
5
  import { AXClickEvent } from '@acorex/cdk/common';
6
- import { AXPTabNavigationService, AXPHomePageService, AXPSettingsService, AXPTabPreviewService, AXPUnsavedChangesConfirmService, AXPBrowserTitleService, AXPEntityCommandScope } from '@acorex/platform/common';
6
+ import { AXPTabNavigationService, AXPHomePageService, AXPSettingsService, AXPTabPreviewService, AXPUnsavedChangesConfirmService, AXPBrowserTitleService } from '@acorex/platform/common';
7
7
  import * as i1 from '@acorex/cdk/drawer';
8
8
  import { AXDrawerItemDirective } from '@acorex/cdk/drawer';
9
- import { AXPBreadcrumbItem, AXPMultiLanguageString, AXPBadge, AXPPageStatus, AXPBackButton, AXPExecuteCommand, AXPExecuteCommandResult } from '@acorex/platform/contracts';
9
+ import * as _acorex_platform_contracts from '@acorex/platform/contracts';
10
+ import { AXPBreadcrumbItem, AXPMultiLanguageString, AXPBadge, AXPPageStatus, AXPBackButton, AXPExecuteCommand, AXPWidgetNode, AXPExecuteCommandResult, AXPContextChangeEvent } from '@acorex/platform/contracts';
10
11
  import * as _acorex_platform_core from '@acorex/platform/core';
11
- import { AXPActionMenuItem, AXPDeviceService, AXPKeyboardShortcut, AXPExpressionEvaluatorScope, AXPBroadcastEventService, AXPContextChangeEvent, AXPKeyboardShortcutChord } from '@acorex/platform/core';
12
+ import { AXPActionMenuItem, AXPDeviceService, AXPKeyboardShortcut, AXPExpressionEvaluatorScope, AXPBroadcastEventService, AXPKeyboardShortcutChord } from '@acorex/platform/core';
12
13
  import { AXPCommandService, AXPPolicyEngineService } from '@acorex/platform/runtime';
13
14
  import { AXPWorkflowService } from '@acorex/platform/workflow';
14
15
  import { AXToastService } from '@acorex/components/toast';
@@ -18,10 +19,11 @@ import { AXPSessionService } from '@acorex/platform/auth';
18
19
  import * as _angular_router from '@angular/router';
19
20
  import { Router, ActivatedRoute } from '@angular/router';
20
21
  import { AXBasePageComponent } from '@acorex/components/page';
21
- import * as _acorex_platform_layout_widget_core from '@acorex/platform/layout/widget-core';
22
- import { AXPWidgetNode, AXPPageStatus as AXPPageStatus$1, AXPWidgetContainerComponent } from '@acorex/platform/layout/widget-core';
22
+ import { AXPEntityCommandScope } from '@acorex/platform/layout/entity-contracts';
23
23
  import * as _acorex_platform_layout_views from '@acorex/platform/layout/views';
24
24
  import { AXFormComponent } from '@acorex/components/form';
25
+ import * as _acorex_platform_layout_widget_core from '@acorex/platform/layout/widget-core';
26
+ import { AXPPageStatus as AXPPageStatus$1, AXPWidgetContainerComponent } from '@acorex/platform/layout/widget-core';
25
27
  import { AXTabStripChangedEvent } from '@acorex/components/tabs';
26
28
 
27
29
  declare abstract class AXPPageLayoutBase {
@@ -663,8 +665,8 @@ declare class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent i
663
665
  currentPage: _angular_core.Signal<AXPLayoutDetailsViewPage | null>;
664
666
  currentTab: _angular_core.Signal<_acorex_platform_layout_views.AXPLayoutDetailsViewTabItem | null>;
665
667
  pageSelectedRows: _angular_core.Signal<any[]>;
666
- evaluatedPageContent: _angular_core.Signal<_acorex_platform_layout_widget_core.AXPWidgetNode[]>;
667
- evaluatedTabContentsById: _angular_core.Signal<Record<string, _acorex_platform_layout_widget_core.AXPWidgetNode[]>>;
668
+ evaluatedPageContent: _angular_core.Signal<_acorex_platform_contracts.AXPWidgetNode[]>;
669
+ evaluatedTabContentsById: _angular_core.Signal<Record<string, _acorex_platform_contracts.AXPWidgetNode[]>>;
668
670
  formDirty: _angular_core.Signal<boolean>;
669
671
  icon: _angular_core.Signal<string | null>;
670
672
  content: _angular_core.Signal<AXPPageContentItem[]>;
@@ -678,7 +680,7 @@ declare class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent i
678
680
  changesCount: _angular_core.Signal<1 | 0>;
679
681
  isLoaded: _angular_core.Signal<boolean>;
680
682
  currentPageSelectedRows: _angular_core.Signal<any[]>;
681
- activeTabContent: _angular_core.Signal<_acorex_platform_layout_widget_core.AXPWidgetNode[]>;
683
+ activeTabContent: _angular_core.Signal<_acorex_platform_contracts.AXPWidgetNode[]>;
682
684
  loadAdapter: (adapter: _acorex_platform_layout_views.AXPLayoutDetailsViewAdapter) => Promise<void>;
683
685
  loadPage: (pageId?: string, forceRefresh?: boolean) => Promise<void>;
684
686
  load: (adapter: _acorex_platform_layout_views.AXPLayoutDetailsViewAdapter, forceRefresh?: boolean, pageIdFromUrl?: string) => Promise<void>;
@@ -688,7 +690,7 @@ declare class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent i
688
690
  updatePageSelectedRows: (rows: any[]) => void;
689
691
  currentPagePrimaryActions: () => Promise<any>;
690
692
  currentPageSecondaryActions: () => Promise<any>;
691
- currentPageContent: () => _acorex_platform_layout_widget_core.AXPWidgetNode[];
693
+ currentPageContent: () => _acorex_platform_contracts.AXPWidgetNode[];
692
694
  currentPageTabs: () => _acorex_platform_layout_views.AXPLayoutDetailsViewTabItem[] | undefined;
693
695
  setCurrentPage: (page: AXPLayoutDetailsViewPage | null) => void;
694
696
  setCurrentTab: (tab: _acorex_platform_layout_views.AXPLayoutDetailsViewTabItem) => void;
@@ -721,8 +723,8 @@ declare class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent i
721
723
  currentPage: AXPLayoutDetailsViewPage | null;
722
724
  currentTab: _acorex_platform_layout_views.AXPLayoutDetailsViewTabItem | null;
723
725
  pageSelectedRows: any[];
724
- evaluatedPageContent: _acorex_platform_layout_widget_core.AXPWidgetNode[];
725
- evaluatedTabContentsById: Record<string, _acorex_platform_layout_widget_core.AXPWidgetNode[]>;
726
+ evaluatedPageContent: _acorex_platform_contracts.AXPWidgetNode[];
727
+ evaluatedTabContentsById: Record<string, _acorex_platform_contracts.AXPWidgetNode[]>;
726
728
  formDirty: boolean;
727
729
  }>;
728
730
  protected route: ActivatedRoute;
@@ -736,6 +738,8 @@ declare class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent i
736
738
  private readonly elementRef;
737
739
  private readonly debug;
738
740
  private onSelectionChangeSubscription?;
741
+ /** Cancels in-flight list selection bind when the sidebar page or widget tree changes. */
742
+ private pageListSelectionBindGeneration;
739
743
  /** Prevents sidebar tab init events from pushing history before the first page activation completes. */
740
744
  private readonly detailsLayoutReady;
741
745
  private readonly destroyed$;
@@ -796,9 +800,12 @@ declare class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent i
796
800
  ngOnInit(): Promise<void>;
797
801
  /** Navigates to {@link AXPLayoutDetailsViewAdapter.exitUrl} when the open record was deleted. */
798
802
  private handleEntityDeleted;
799
- ngAfterViewInit(): Promise<void>;
800
803
  ngOnDestroy(): void;
801
804
  private refreshFooterActions;
805
+ /** Whether the active page hosts a related-entity list (`page-list` widget). */
806
+ private pageHasEntityListWidget;
807
+ /** Subscribes to the live data-list selection stream for Selected-scope header actions. */
808
+ private attachSelectionToListWidget;
802
809
  protected handleOnContextChanged(e: AXPContextChangeEvent): void;
803
810
  private getLiveFormContext;
804
811
  /** Whether the active page renders widget nodes (not only hosted components). */
@@ -2,15 +2,17 @@ import * as _angular_core from '@angular/core';
2
2
  import { Signal, InjectionToken, OnInit, ComponentRef, EventEmitter, OnChanges, TemplateRef, Injector, WritableSignal, SimpleChanges, Type } from '@angular/core';
3
3
  import * as _acorex_platform_layout_widget_core from '@acorex/platform/layout/widget-core';
4
4
  import * as _ngrx_signals from '@ngrx/signals';
5
- import * as _acorex_platform_core from '@acorex/platform/core';
6
- import { AXPContextChangeEvent, AXPExpressionEvaluatorService } from '@acorex/platform/core';
5
+ import * as _acorex_platform_contracts from '@acorex/platform/contracts';
6
+ import { AXPOptionsData, AXPMultiLanguageString, AXPDefinitionCategory, AXPDataType, AXPWidgetNode, AXPValidationRules, AXPExpression, AXPMetaData, AXPPartialNested, AXPWidgetRenderMode, AXPProperty, AXPContextChangeEvent } from '@acorex/platform/contracts';
7
+ export { AXPWidgetNode, AXPWidgetRenderMode } from '@acorex/platform/contracts';
7
8
  import { AXValueChangedEvent, AXDataSource } from '@acorex/cdk/common';
8
- import { AXPOptionsData, AXPMultiLanguageString, AXPDefinitionCategory, AXPDataType, AXPExpression, AXPWidgetTriggers, AXPMetaData, AXPValueTransformerFunctions, AXPValidationRules, AXPPartialNested, AXPProperty } from '@acorex/platform/contracts';
9
+ import * as rxjs from 'rxjs';
9
10
  import { Subject, BehaviorSubject } from 'rxjs';
10
11
  import { AXDataTableColumnComponent } from '@acorex/components/data-table';
11
12
  import * as i7 from '@acorex/core/translation';
12
13
  import { AXTranslationService } from '@acorex/core/translation';
13
14
  import { AXUnsubscriber } from '@acorex/core/utils';
15
+ import { AXPExpressionEvaluatorService } from '@acorex/platform/core';
14
16
  import * as i4 from '@angular/common';
15
17
  import * as i5 from '@angular/cdk/portal';
16
18
  import * as i6 from '@acorex/components/skeleton';
@@ -61,6 +63,11 @@ declare class AXPWidgetCoreService {
61
63
  readonly onRefresh: Subject<void>;
62
64
  private widgets;
63
65
  private readonly onWidgetRegistered;
66
+ /** Fires whenever a widget registers, including re-registration after remount (same id, new instance). */
67
+ readonly widgetRegistered$: rxjs.Observable<{
68
+ id: string;
69
+ widget: AXPWidgetCoreElement;
70
+ }>;
64
71
  /** Bumps when widget render/hydration state changes so aggregate computeds re-evaluate. */
65
72
  private readonly widgetsRevision;
66
73
  private readonly status$;
@@ -297,19 +304,6 @@ declare function createSelectProperty<T = string | {
297
304
  group: AXPWidgetPropertyGroup;
298
305
  visible?: boolean | AXPExpression;
299
306
  }): AXPWidgetProperty;
300
- interface AXPWidgetNode {
301
- type: AXPWidgetTypesMap[keyof AXPWidgetTypesMap] | keyof AXPWidgetTypesMap | string;
302
- mode?: AXPWidgetRenderMode;
303
- path?: string;
304
- name?: string;
305
- visible?: boolean | AXPExpression;
306
- defaultValue?: any;
307
- children?: AXPWidgetNode[];
308
- options?: AXPOptionsData;
309
- triggers?: AXPWidgetTriggers;
310
- meta?: AXPMetaData;
311
- valueTransforms?: AXPValueTransformerFunctions;
312
- }
313
307
  interface AXPWidgetNodeToken<TOptions extends AXPOptionsData = AXPOptionsData> {
314
308
  defaultValue?: any;
315
309
  config: AXPWidgetConfig;
@@ -398,7 +392,6 @@ interface AXPExtendedWidget {
398
392
  widget: AXPWidgetConfig;
399
393
  parentName: string;
400
394
  }
401
- type AXPWidgetRenderMode = keyof AXPWidgetConfigComponents;
402
395
  interface AXPLayoutBuilderStatusChangedEvent {
403
396
  status: AXPPageStatus;
404
397
  }
@@ -411,12 +404,12 @@ declare abstract class AXPBaseWidgetComponent<TOptions extends Record<string, un
411
404
  readonly host: HTMLDivElement;
412
405
  protected readonly layoutService: AXPWidgetCoreService;
413
406
  protected readonly contextService: {
414
- data: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
415
- state: _angular_core.Signal<_acorex_platform_core.AXPContextState>;
416
- savedSnapshot: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
417
- previousSnapshot: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
407
+ data: _angular_core.Signal<_acorex_platform_contracts.AXPContextData>;
408
+ state: _angular_core.Signal<_acorex_platform_contracts.AXPContextState>;
409
+ savedSnapshot: _angular_core.Signal<_acorex_platform_contracts.AXPContextData>;
410
+ previousSnapshot: _angular_core.Signal<_acorex_platform_contracts.AXPContextData>;
418
411
  userEditedSinceCommit: _angular_core.Signal<boolean>;
419
- lastChange: _ngrx_signals.DeepSignal<_acorex_platform_core.AXPContextChangeEvent>;
412
+ lastChange: _ngrx_signals.DeepSignal<_acorex_platform_contracts.AXPContextChangeEvent>;
420
413
  isChanged: _angular_core.Signal<boolean>;
421
414
  isReset: _angular_core.Signal<boolean>;
422
415
  isInitiated: _angular_core.Signal<boolean>;
@@ -424,15 +417,15 @@ declare abstract class AXPBaseWidgetComponent<TOptions extends Record<string, un
424
417
  isSavedCommitted: _angular_core.Signal<boolean>;
425
418
  hasUserEditedSinceCommit: _angular_core.Signal<boolean>;
426
419
  isDirty: _angular_core.Signal<boolean>;
427
- snapshot: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
428
- saved: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
429
- initial: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
430
- previous: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
431
- changeEvent: _angular_core.Signal<_acorex_platform_core.AXPContextChangeEvent>;
432
- update: (path: string, value: any, options?: _acorex_platform_core.AXPContextUpdateOptions) => void;
433
- applyObjectPaths: (obj: Record<string, unknown>, options?: _acorex_platform_core.AXPContextUpdateOptions, prefix?: string) => void;
434
- syncPathToSavedBaseline: (path: string, options?: _acorex_platform_core.AXPContextUpdateOptions) => void;
435
- patch: (context: Record<string, any>, options?: _acorex_platform_core.AXPContextPatchOptions) => void;
420
+ snapshot: _angular_core.Signal<_acorex_platform_contracts.AXPContextData>;
421
+ saved: _angular_core.Signal<_acorex_platform_contracts.AXPContextData>;
422
+ initial: _angular_core.Signal<_acorex_platform_contracts.AXPContextData>;
423
+ previous: _angular_core.Signal<_acorex_platform_contracts.AXPContextData>;
424
+ changeEvent: _angular_core.Signal<_acorex_platform_contracts.AXPContextChangeEvent>;
425
+ update: (path: string, value: any, options?: _acorex_platform_contracts.AXPContextUpdateOptions) => void;
426
+ applyObjectPaths: (obj: Record<string, unknown>, options?: _acorex_platform_contracts.AXPContextUpdateOptions, prefix?: string) => void;
427
+ syncPathToSavedBaseline: (path: string, options?: _acorex_platform_contracts.AXPContextUpdateOptions) => void;
428
+ patch: (context: Record<string, any>, options?: _acorex_platform_contracts.AXPContextPatchOptions) => void;
436
429
  revertToSaved: () => void;
437
430
  reset: () => void;
438
431
  set: (initialData: any) => void;
@@ -440,14 +433,14 @@ declare abstract class AXPBaseWidgetComponent<TOptions extends Record<string, un
440
433
  getSavedValue: (path: string) => any;
441
434
  hasValue: (path: string) => boolean;
442
435
  commitSaved: () => void;
443
- applyParentBind: (merged: _acorex_platform_core.AXPContextData) => void;
436
+ applyParentBind: (merged: _acorex_platform_contracts.AXPContextData) => void;
444
437
  } & _ngrx_signals.StateSource<{
445
- data: _acorex_platform_core.AXPContextData;
446
- state: _acorex_platform_core.AXPContextState;
447
- savedSnapshot: _acorex_platform_core.AXPContextData;
448
- previousSnapshot: _acorex_platform_core.AXPContextData;
438
+ data: _acorex_platform_contracts.AXPContextData;
439
+ state: _acorex_platform_contracts.AXPContextState;
440
+ savedSnapshot: _acorex_platform_contracts.AXPContextData;
441
+ previousSnapshot: _acorex_platform_contracts.AXPContextData;
449
442
  userEditedSinceCommit: boolean;
450
- lastChange: _acorex_platform_core.AXPContextChangeEvent;
443
+ lastChange: _acorex_platform_contracts.AXPContextChangeEvent;
451
444
  }>;
452
445
  readonly config: _acorex_platform_layout_widget_core.AXPWidgetConfig<any>;
453
446
  readonly node: AXPWidgetNode;
@@ -819,10 +812,10 @@ declare abstract class AXPTableItemBaseLayoutWidgetComponent extends AXPTableIte
819
812
 
820
813
  declare class AXPWidgetContainerComponent {
821
814
  readonly contextService: {
822
- data: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
823
- state: _angular_core.Signal<_acorex_platform_core.AXPContextState>;
824
- savedSnapshot: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
825
- previousSnapshot: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
815
+ data: _angular_core.Signal<_acorex_platform_contracts.AXPContextData>;
816
+ state: _angular_core.Signal<_acorex_platform_contracts.AXPContextState>;
817
+ savedSnapshot: _angular_core.Signal<_acorex_platform_contracts.AXPContextData>;
818
+ previousSnapshot: _angular_core.Signal<_acorex_platform_contracts.AXPContextData>;
826
819
  userEditedSinceCommit: _angular_core.Signal<boolean>;
827
820
  lastChange: _ngrx_signals.DeepSignal<AXPContextChangeEvent>;
828
821
  isChanged: _angular_core.Signal<boolean>;
@@ -832,15 +825,15 @@ declare class AXPWidgetContainerComponent {
832
825
  isSavedCommitted: _angular_core.Signal<boolean>;
833
826
  hasUserEditedSinceCommit: _angular_core.Signal<boolean>;
834
827
  isDirty: _angular_core.Signal<boolean>;
835
- snapshot: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
836
- saved: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
837
- initial: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
838
- previous: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
828
+ snapshot: _angular_core.Signal<_acorex_platform_contracts.AXPContextData>;
829
+ saved: _angular_core.Signal<_acorex_platform_contracts.AXPContextData>;
830
+ initial: _angular_core.Signal<_acorex_platform_contracts.AXPContextData>;
831
+ previous: _angular_core.Signal<_acorex_platform_contracts.AXPContextData>;
839
832
  changeEvent: _angular_core.Signal<AXPContextChangeEvent>;
840
- update: (path: string, value: any, options?: _acorex_platform_core.AXPContextUpdateOptions) => void;
841
- applyObjectPaths: (obj: Record<string, unknown>, options?: _acorex_platform_core.AXPContextUpdateOptions, prefix?: string) => void;
842
- syncPathToSavedBaseline: (path: string, options?: _acorex_platform_core.AXPContextUpdateOptions) => void;
843
- patch: (context: Record<string, any>, options?: _acorex_platform_core.AXPContextPatchOptions) => void;
833
+ update: (path: string, value: any, options?: _acorex_platform_contracts.AXPContextUpdateOptions) => void;
834
+ applyObjectPaths: (obj: Record<string, unknown>, options?: _acorex_platform_contracts.AXPContextUpdateOptions, prefix?: string) => void;
835
+ syncPathToSavedBaseline: (path: string, options?: _acorex_platform_contracts.AXPContextUpdateOptions) => void;
836
+ patch: (context: Record<string, any>, options?: _acorex_platform_contracts.AXPContextPatchOptions) => void;
844
837
  revertToSaved: () => void;
845
838
  reset: () => void;
846
839
  set: (initialData: any) => void;
@@ -848,12 +841,12 @@ declare class AXPWidgetContainerComponent {
848
841
  getSavedValue: (path: string) => any;
849
842
  hasValue: (path: string) => boolean;
850
843
  commitSaved: () => void;
851
- applyParentBind: (merged: _acorex_platform_core.AXPContextData) => void;
844
+ applyParentBind: (merged: _acorex_platform_contracts.AXPContextData) => void;
852
845
  } & _ngrx_signals.StateSource<{
853
- data: _acorex_platform_core.AXPContextData;
854
- state: _acorex_platform_core.AXPContextState;
855
- savedSnapshot: _acorex_platform_core.AXPContextData;
856
- previousSnapshot: _acorex_platform_core.AXPContextData;
846
+ data: _acorex_platform_contracts.AXPContextData;
847
+ state: _acorex_platform_contracts.AXPContextState;
848
+ savedSnapshot: _acorex_platform_contracts.AXPContextData;
849
+ previousSnapshot: _acorex_platform_contracts.AXPContextData;
857
850
  userEditedSinceCommit: boolean;
858
851
  lastChange: AXPContextChangeEvent;
859
852
  }>;
@@ -1026,7 +1019,7 @@ type AXPWidgetRendererDirectiveOptions = AXPMetaData;
1026
1019
  declare class AXPWidgetRendererDirective {
1027
1020
  parentNode: _angular_core.InputSignal<AXPLayoutBaseWidgetComponent<Record<string, any>> | null | undefined>;
1028
1021
  index: _angular_core.InputSignal<number | null | undefined>;
1029
- mode: _angular_core.InputSignal<keyof _acorex_platform_layout_widget_core.AXPWidgetConfigComponents>;
1022
+ mode: _angular_core.InputSignal<AXPWidgetRenderMode>;
1030
1023
  node: _angular_core.InputSignal<AXPWidgetNode>;
1031
1024
  private _options;
1032
1025
  options: _angular_core.Signal<AXPMetaData>;
@@ -1051,12 +1044,12 @@ declare class AXPWidgetRendererDirective {
1051
1044
  private injector;
1052
1045
  protected builderService: AXPWidgetCoreService;
1053
1046
  protected contextService: {
1054
- data: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
1055
- state: _angular_core.Signal<_acorex_platform_core.AXPContextState>;
1056
- savedSnapshot: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
1057
- previousSnapshot: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
1047
+ data: _angular_core.Signal<_acorex_platform_contracts.AXPContextData>;
1048
+ state: _angular_core.Signal<_acorex_platform_contracts.AXPContextState>;
1049
+ savedSnapshot: _angular_core.Signal<_acorex_platform_contracts.AXPContextData>;
1050
+ previousSnapshot: _angular_core.Signal<_acorex_platform_contracts.AXPContextData>;
1058
1051
  userEditedSinceCommit: _angular_core.Signal<boolean>;
1059
- lastChange: _ngrx_signals.DeepSignal<_acorex_platform_core.AXPContextChangeEvent>;
1052
+ lastChange: _ngrx_signals.DeepSignal<AXPContextChangeEvent>;
1060
1053
  isChanged: _angular_core.Signal<boolean>;
1061
1054
  isReset: _angular_core.Signal<boolean>;
1062
1055
  isInitiated: _angular_core.Signal<boolean>;
@@ -1064,15 +1057,15 @@ declare class AXPWidgetRendererDirective {
1064
1057
  isSavedCommitted: _angular_core.Signal<boolean>;
1065
1058
  hasUserEditedSinceCommit: _angular_core.Signal<boolean>;
1066
1059
  isDirty: _angular_core.Signal<boolean>;
1067
- snapshot: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
1068
- saved: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
1069
- initial: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
1070
- previous: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
1071
- changeEvent: _angular_core.Signal<_acorex_platform_core.AXPContextChangeEvent>;
1072
- update: (path: string, value: any, options?: _acorex_platform_core.AXPContextUpdateOptions) => void;
1073
- applyObjectPaths: (obj: Record<string, unknown>, options?: _acorex_platform_core.AXPContextUpdateOptions, prefix?: string) => void;
1074
- syncPathToSavedBaseline: (path: string, options?: _acorex_platform_core.AXPContextUpdateOptions) => void;
1075
- patch: (context: Record<string, any>, options?: _acorex_platform_core.AXPContextPatchOptions) => void;
1060
+ snapshot: _angular_core.Signal<_acorex_platform_contracts.AXPContextData>;
1061
+ saved: _angular_core.Signal<_acorex_platform_contracts.AXPContextData>;
1062
+ initial: _angular_core.Signal<_acorex_platform_contracts.AXPContextData>;
1063
+ previous: _angular_core.Signal<_acorex_platform_contracts.AXPContextData>;
1064
+ changeEvent: _angular_core.Signal<AXPContextChangeEvent>;
1065
+ update: (path: string, value: any, options?: _acorex_platform_contracts.AXPContextUpdateOptions) => void;
1066
+ applyObjectPaths: (obj: Record<string, unknown>, options?: _acorex_platform_contracts.AXPContextUpdateOptions, prefix?: string) => void;
1067
+ syncPathToSavedBaseline: (path: string, options?: _acorex_platform_contracts.AXPContextUpdateOptions) => void;
1068
+ patch: (context: Record<string, any>, options?: _acorex_platform_contracts.AXPContextPatchOptions) => void;
1076
1069
  revertToSaved: () => void;
1077
1070
  reset: () => void;
1078
1071
  set: (initialData: any) => void;
@@ -1080,14 +1073,14 @@ declare class AXPWidgetRendererDirective {
1080
1073
  getSavedValue: (path: string) => any;
1081
1074
  hasValue: (path: string) => boolean;
1082
1075
  commitSaved: () => void;
1083
- applyParentBind: (merged: _acorex_platform_core.AXPContextData) => void;
1076
+ applyParentBind: (merged: _acorex_platform_contracts.AXPContextData) => void;
1084
1077
  } & _ngrx_signals.StateSource<{
1085
- data: _acorex_platform_core.AXPContextData;
1086
- state: _acorex_platform_core.AXPContextState;
1087
- savedSnapshot: _acorex_platform_core.AXPContextData;
1088
- previousSnapshot: _acorex_platform_core.AXPContextData;
1078
+ data: _acorex_platform_contracts.AXPContextData;
1079
+ state: _acorex_platform_contracts.AXPContextState;
1080
+ savedSnapshot: _acorex_platform_contracts.AXPContextData;
1081
+ previousSnapshot: _acorex_platform_contracts.AXPContextData;
1089
1082
  userEditedSinceCommit: boolean;
1090
- lastChange: _acorex_platform_core.AXPContextChangeEvent;
1083
+ lastChange: AXPContextChangeEvent;
1091
1084
  }>;
1092
1085
  protected widgetRegistery: AXPWidgetRegistryService;
1093
1086
  protected unsubscriber: AXUnsubscriber;
@@ -1113,11 +1106,27 @@ declare class AXPWidgetRendererDirective {
1113
1106
  private lastAppliedOptions;
1114
1107
  private lastExpressionResults;
1115
1108
  private preRenderContextQueue;
1109
+ /** Increments on each trigger subscription callback (diagnostics for duplicate refresh). */
1110
+ private triggerFireSeq;
1111
+ /** Active trigger subscriptions registered by {@link assignTriggers}. */
1112
+ private triggerSubscriptionCount;
1113
+ /**
1114
+ * Last context {@link AXPContextChangeEvent} handled by this renderer.
1115
+ * Prevents re-queueing when the effect re-runs while `lastChange` in the store is unchanged
1116
+ * (e.g. cascade refresh clears an already-empty dependent lookup).
1117
+ */
1118
+ private lastProcessedContextChangeRef;
1116
1119
  constructor();
1117
1120
  private getCachedExpressionResult;
1118
1121
  private setCachedExpressionResult;
1119
1122
  private clearExpressionCache;
1120
1123
  private isPathAffectingExpressions;
1124
+ /**
1125
+ * Returns false when this renderer already handled the same store change event.
1126
+ * Angular effects can re-run after async work while `changeEvent()` still references
1127
+ * the previous `lastChange` object.
1128
+ */
1129
+ private markContextChangeHandled;
1121
1130
  private queueContextUpdate;
1122
1131
  private processBatchedUpdates;
1123
1132
  private isRelevantContextChange;
@@ -1232,6 +1241,9 @@ declare class AXPWidgetColumnCellComponent implements OnInit, OnChanges {
1232
1241
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPWidgetColumnCellComponent, "axp-widget-column-cell", never, { "node": { "alias": "node"; "required": true; }; "rowData": { "alias": "rowData"; "required": true; }; "caption": { "alias": "caption"; "required": false; }; }, {}, never, never, true, never>;
1233
1242
  }
1234
1243
 
1244
+ /** Trace namespace for lookup cascade / widget trigger diagnostics (Debug Mode only). */
1245
+ declare const WIDGET_CASCADE_TRACE_NS = "widget-cascade";
1246
+
1235
1247
  declare const AXP_STYLING_PROPERTY_GROUP: AXPWidgetPropertyGroup;
1236
1248
  declare const AXP_DATA_PROPERTY_GROUP: AXPWidgetPropertyGroup;
1237
1249
  declare const AXP_BEHAVIOR_PROPERTY_GROUP: AXPWidgetPropertyGroup;
@@ -1352,5 +1364,5 @@ declare const AXP_BETWEEN_VALIDATION_PROPERTY: AXPWidgetProperty;
1352
1364
  declare const AXP_EQUAL_VALIDATION_PROPERTY: AXPWidgetProperty;
1353
1365
  declare const AXP_CALLBACK_VALIDATION_PROPERTY: AXPWidgetProperty;
1354
1366
 
1355
- export { AXPBaseWidgetComponent, AXPBlockBaseLayoutWidgetComponent, AXPBoxModelLayoutWidgetComponent, AXPColumnWidgetComponent, AXPDataListWidgetComponent, AXPFlexBaseLayoutWidgetComponent, AXPFlexItemBaseLayoutWidgetComponent, AXPGridBaseLayoutWidgetComponent, AXPGridItemBaseLayoutWidgetComponent, AXPInlineBaseLayoutWidgetComponent, AXPLayoutBaseWidgetComponent, AXPPageStatus, AXPPropertyEditorHelper, AXPTableBaseLayoutWidgetComponent, AXPTableItemBaseLayoutWidgetComponent, AXPTableItemOpsBaseLayoutWidgetComponent, AXPValueWidgetComponent, AXPWidgetColumnCellComponent, AXPWidgetColumnRendererComponent, AXPWidgetContainerComponent, AXPWidgetCoreElement, AXPWidgetCoreModule, AXPWidgetCoreService, AXPWidgetGroupEnum, AXPWidgetRegistryService, AXPWidgetRendererDirective, AXPWidgetSerializationHelper, AXPWidgetStatus, AXP_ALLOW_CLEAR_PROPERTY, AXP_ALLOW_MULTIPLE_PROPERTY, AXP_ALLOW_SEARCH_PROPERTY, AXP_ANIMATION_PROPERTY_GROUP, AXP_APPEARANCE_PROPERTY_GROUP, AXP_BEHAVIOR_PROPERTY_GROUP, AXP_BETWEEN_VALIDATION_PROPERTY, AXP_BG_COLOR_PROPERTY, AXP_BOX_MODEL_PROPERTY_GROUP, AXP_CALLBACK_VALIDATION_PROPERTY, AXP_COLOR_PROPERTY, AXP_CONTENT_PROPERTY, AXP_DATA_PATH_PROPERTY, AXP_DATA_PROPERTY_GROUP, AXP_DATA_SOURCE_OPTIONS_PROPERTY, AXP_DATE_DEPTH_PROPERTY, AXP_DATE_FORMAT_PROPERTY, AXP_DATE_RANGE_LIMIT_PROPERTY, AXP_DEFAULT_ROW_COUNT_PROPERTY, AXP_DESCRIPTION_PROPERTY, AXP_DIRECTION_PROPERTY, AXP_DISABLED_PROPERTY, AXP_DOWNLOADABLE_PROPERTY, AXP_EQUAL_VALIDATION_PROPERTY, AXP_FALSY_TEXT_PROPERTY, AXP_FIT_LINE_COUNT_PROPERTY, AXP_FONT_SIZE_PROPERTY, AXP_GREATER_THAN_VALIDATION_PROPERTY, AXP_HAS_CLEAR_BUTTON_PROPERTY, AXP_HAS_COPY_ICON_PROPERTY, AXP_HAS_EYE_ICON_PROPERTY, AXP_HAS_ICON_PROPERTY, AXP_HAS_LABEL_PROPERTY, AXP_ICON_PROPERTY, AXP_IS_LOADING_PROPERTY, AXP_LABEL_PROPERTY, AXP_LAYOUT_ADVANCED_GRID_PROPERTY, AXP_LAYOUT_BORDER_PROPERTY, AXP_LAYOUT_COLUMNS_PROPERTY, AXP_LAYOUT_DIRECTION_PROPERTY, AXP_LAYOUT_FLEX_ITEM_PROPERTY, AXP_LAYOUT_FLEX_PROPERTY, AXP_LAYOUT_FLEX_PROPERTY_GROUP, AXP_LAYOUT_GAP_PROPERTY, AXP_LAYOUT_GRID_ITEM_PROPERTY, AXP_LAYOUT_GRID_PROPERTIES, AXP_LAYOUT_GRID_PROPERTY, AXP_LAYOUT_GRID_PROPERTY_GROUP, AXP_LAYOUT_GRID_ROW_PROPERTIES, AXP_LAYOUT_ROWS_PROPERTY, AXP_LAYOUT_SHOW_HEADER_PROPERTY, AXP_LAYOUT_SPACING_PROPERTY, AXP_LAYOUT_TABLE_PROPERTY_GROUP, AXP_LESS_THAN_VALIDATION_PROPERTY, AXP_MAX_LENGTH_VALIDATION_PROPERTY, AXP_MAX_LINE_COUNT_PROPERTY, AXP_MIN_LENGTH_VALIDATION_PROPERTY, AXP_MIN_LINE_COUNT_PROPERTY, AXP_MULTI_LANGUAGE_PROPERTY, AXP_NAME_PROPERTY, AXP_NUMBER_SEPARATOR_PROPERTY, AXP_PLACEHOLDER_PROPERTY, AXP_READONLY_PROPERTY, AXP_REGULAR_EXPRESSION_VALIDATION_PROPERTY, AXP_REQUIRED_VALIDATION_PROPERTY, AXP_SHOW_PASSWORD_PROPERTY, AXP_SPIN_BUTTON_PROPERTY, AXP_STYLE_COLOR_PROPERTY, AXP_STYLE_LOOK_PROPERTY, AXP_STYLING_PROPERTY_GROUP, AXP_TABLE_COLUMNS_PROPERTY, AXP_TABLE_COLUMN_ALIGNMENT_PROPERTIES, AXP_TABLE_COLUMN_CELL_ALIGN_PROPERTY, AXP_TABLE_COLUMN_HEADER_ALIGN_PROPERTY, AXP_TABLE_COLUMN_HEIGHT_PROPERTY, AXP_TABLE_COLUMN_WIDTH_PROPERTY, AXP_TABLE_ITEM_COLSPAN_PROPERTY, AXP_TABLE_ITEM_ROWSPAN_PROPERTY, AXP_TEXT_ALIGN_PROPERTY, AXP_TEXT_FIELD_PROPERTY, AXP_TEXT_PROPERTY, AXP_THEME_PROPERTY, AXP_TITLE_PROPERTY, AXP_TRIGGERS_PROPERTY, AXP_TRIGGERS_PROPERTY_GROUP, AXP_TRULY_TEXT_PROPERTY, AXP_VALIDATION_PROPERTY_GROUP, AXP_VALUE_FIELD_PROPERTY, AXP_VERTICAL_ALIGN_PROPERTY, AXP_WIDGETS_ACTION_CATEGORY, AXP_WIDGETS_ACTION_SUB_CONTROLS, AXP_WIDGETS_ADVANCE_CATEGORY, AXP_WIDGETS_ADVANCE_SUB_DATA, AXP_WIDGETS_ADVANCE_SUB_INPUT, AXP_WIDGETS_ADVANCE_SUB_MEDIA, AXP_WIDGETS_ADVANCE_SUB_TOOLS, AXP_WIDGETS_AI_CATEGORY, AXP_WIDGETS_CATEGORIES, AXP_WIDGETS_EDITOR_CATEGORY, AXP_WIDGETS_EDITOR_SUB_CHOICE, AXP_WIDGETS_EDITOR_SUB_COMPOSITE, AXP_WIDGETS_EDITOR_SUB_CONFIG, AXP_WIDGETS_EDITOR_SUB_DATETIME, AXP_WIDGETS_EDITOR_SUB_NUMERIC, AXP_WIDGETS_EDITOR_SUB_RICH, AXP_WIDGETS_EDITOR_SUB_TEXT_INPUTS, AXP_WIDGETS_EDITOR_SUB_VISUAL, AXP_WIDGETS_LAYOUT_CATEGORY, AXP_WIDGETS_LAYOUT_SUB_GRID, AXP_WIDGETS_LAYOUT_SUB_LISTS, AXP_WIDGETS_LAYOUT_SUB_SHELL, AXP_WIDGETS_LAYOUT_SUB_SURFACES, AXP_WIDGETS_LAYOUT_SUB_TABS, AXP_WIDGETS_LAYOUT_SUB_UTILITY, AXP_WIDGET_COLUMN_TOKEN, AXP_WIDGET_DEFINITION_PROVIDER, AXP_WIDGET_PROPERTY_GROUP, AXP_WIDGET_TOKEN, booleanDefaultProperty, buildWidgetRegistryMapFromProviders, cloneProperty, createBooleanProperty, createNumberProperty, createSelectProperty, createStringProperty, findNonEmptyBreakpoints, largeTextDefaultProperty, mapAXPPropertyToWidgetProperty, normalizeWidgetCategories, numberDefaultProperty, numberMaxValueProperty, numberMinValueProperty, plainTextDefaultProperty, richTextDefaultProperty, selectEditorDefaultValueProperty, selectionListEditorDefaultValueProperty };
1356
- export type { AXPBorderBox, AXPBorderBoxString, AXPBreakpointValues, AXPBreakpoints, AXPClassMap, AXPExtendedWidget, AXPExtractWidgetConfig, AXPFlexBoxString, AXPFlexItemBoxString, AXPGridBoxString, AXPGridBreakpointValues, AXPGridItemBoxString, AXPLayoutBuilderStatusChangedEvent, AXPPropertyCorners, AXPPropertyEditorCornerValues, AXPPropertyEditorSideGeneric, AXPPropertyEditorSideValues, AXPPropertySides, AXPSpacingBox, AXPSpacingBoxString, AXPStyleMap, AXPWidgetColumnNode, AXPWidgetColumnNodeToken, AXPWidgetComponentConfig, AXPWidgetConfig, AXPWidgetConfigComponents, AXPWidgetCoreElementAPI, AXPWidgetCoreElementAction, AXPWidgetCoreModuleConfigs, AXPWidgetDefinitionProvider, AXPWidgetDesignerOptionsMap, AXPWidgetGroup, AXPWidgetNode, AXPWidgetNodeToken, AXPWidgetProperty, AXPWidgetPropertyGroup, AXPWidgetRenderMode, AXPWidgetRendererDirectiveOptions, AXPWidgetTypesMap, AXPWidgetViewType, MapAXPPropertyToWidgetPropertyOptions };
1367
+ export { AXPBaseWidgetComponent, AXPBlockBaseLayoutWidgetComponent, AXPBoxModelLayoutWidgetComponent, AXPColumnWidgetComponent, AXPDataListWidgetComponent, AXPFlexBaseLayoutWidgetComponent, AXPFlexItemBaseLayoutWidgetComponent, AXPGridBaseLayoutWidgetComponent, AXPGridItemBaseLayoutWidgetComponent, AXPInlineBaseLayoutWidgetComponent, AXPLayoutBaseWidgetComponent, AXPPageStatus, AXPPropertyEditorHelper, AXPTableBaseLayoutWidgetComponent, AXPTableItemBaseLayoutWidgetComponent, AXPTableItemOpsBaseLayoutWidgetComponent, AXPValueWidgetComponent, AXPWidgetColumnCellComponent, AXPWidgetColumnRendererComponent, AXPWidgetContainerComponent, AXPWidgetCoreElement, AXPWidgetCoreModule, AXPWidgetCoreService, AXPWidgetGroupEnum, AXPWidgetRegistryService, AXPWidgetRendererDirective, AXPWidgetSerializationHelper, AXPWidgetStatus, AXP_ALLOW_CLEAR_PROPERTY, AXP_ALLOW_MULTIPLE_PROPERTY, AXP_ALLOW_SEARCH_PROPERTY, AXP_ANIMATION_PROPERTY_GROUP, AXP_APPEARANCE_PROPERTY_GROUP, AXP_BEHAVIOR_PROPERTY_GROUP, AXP_BETWEEN_VALIDATION_PROPERTY, AXP_BG_COLOR_PROPERTY, AXP_BOX_MODEL_PROPERTY_GROUP, AXP_CALLBACK_VALIDATION_PROPERTY, AXP_COLOR_PROPERTY, AXP_CONTENT_PROPERTY, AXP_DATA_PATH_PROPERTY, AXP_DATA_PROPERTY_GROUP, AXP_DATA_SOURCE_OPTIONS_PROPERTY, AXP_DATE_DEPTH_PROPERTY, AXP_DATE_FORMAT_PROPERTY, AXP_DATE_RANGE_LIMIT_PROPERTY, AXP_DEFAULT_ROW_COUNT_PROPERTY, AXP_DESCRIPTION_PROPERTY, AXP_DIRECTION_PROPERTY, AXP_DISABLED_PROPERTY, AXP_DOWNLOADABLE_PROPERTY, AXP_EQUAL_VALIDATION_PROPERTY, AXP_FALSY_TEXT_PROPERTY, AXP_FIT_LINE_COUNT_PROPERTY, AXP_FONT_SIZE_PROPERTY, AXP_GREATER_THAN_VALIDATION_PROPERTY, AXP_HAS_CLEAR_BUTTON_PROPERTY, AXP_HAS_COPY_ICON_PROPERTY, AXP_HAS_EYE_ICON_PROPERTY, AXP_HAS_ICON_PROPERTY, AXP_HAS_LABEL_PROPERTY, AXP_ICON_PROPERTY, AXP_IS_LOADING_PROPERTY, AXP_LABEL_PROPERTY, AXP_LAYOUT_ADVANCED_GRID_PROPERTY, AXP_LAYOUT_BORDER_PROPERTY, AXP_LAYOUT_COLUMNS_PROPERTY, AXP_LAYOUT_DIRECTION_PROPERTY, AXP_LAYOUT_FLEX_ITEM_PROPERTY, AXP_LAYOUT_FLEX_PROPERTY, AXP_LAYOUT_FLEX_PROPERTY_GROUP, AXP_LAYOUT_GAP_PROPERTY, AXP_LAYOUT_GRID_ITEM_PROPERTY, AXP_LAYOUT_GRID_PROPERTIES, AXP_LAYOUT_GRID_PROPERTY, AXP_LAYOUT_GRID_PROPERTY_GROUP, AXP_LAYOUT_GRID_ROW_PROPERTIES, AXP_LAYOUT_ROWS_PROPERTY, AXP_LAYOUT_SHOW_HEADER_PROPERTY, AXP_LAYOUT_SPACING_PROPERTY, AXP_LAYOUT_TABLE_PROPERTY_GROUP, AXP_LESS_THAN_VALIDATION_PROPERTY, AXP_MAX_LENGTH_VALIDATION_PROPERTY, AXP_MAX_LINE_COUNT_PROPERTY, AXP_MIN_LENGTH_VALIDATION_PROPERTY, AXP_MIN_LINE_COUNT_PROPERTY, AXP_MULTI_LANGUAGE_PROPERTY, AXP_NAME_PROPERTY, AXP_NUMBER_SEPARATOR_PROPERTY, AXP_PLACEHOLDER_PROPERTY, AXP_READONLY_PROPERTY, AXP_REGULAR_EXPRESSION_VALIDATION_PROPERTY, AXP_REQUIRED_VALIDATION_PROPERTY, AXP_SHOW_PASSWORD_PROPERTY, AXP_SPIN_BUTTON_PROPERTY, AXP_STYLE_COLOR_PROPERTY, AXP_STYLE_LOOK_PROPERTY, AXP_STYLING_PROPERTY_GROUP, AXP_TABLE_COLUMNS_PROPERTY, AXP_TABLE_COLUMN_ALIGNMENT_PROPERTIES, AXP_TABLE_COLUMN_CELL_ALIGN_PROPERTY, AXP_TABLE_COLUMN_HEADER_ALIGN_PROPERTY, AXP_TABLE_COLUMN_HEIGHT_PROPERTY, AXP_TABLE_COLUMN_WIDTH_PROPERTY, AXP_TABLE_ITEM_COLSPAN_PROPERTY, AXP_TABLE_ITEM_ROWSPAN_PROPERTY, AXP_TEXT_ALIGN_PROPERTY, AXP_TEXT_FIELD_PROPERTY, AXP_TEXT_PROPERTY, AXP_THEME_PROPERTY, AXP_TITLE_PROPERTY, AXP_TRIGGERS_PROPERTY, AXP_TRIGGERS_PROPERTY_GROUP, AXP_TRULY_TEXT_PROPERTY, AXP_VALIDATION_PROPERTY_GROUP, AXP_VALUE_FIELD_PROPERTY, AXP_VERTICAL_ALIGN_PROPERTY, AXP_WIDGETS_ACTION_CATEGORY, AXP_WIDGETS_ACTION_SUB_CONTROLS, AXP_WIDGETS_ADVANCE_CATEGORY, AXP_WIDGETS_ADVANCE_SUB_DATA, AXP_WIDGETS_ADVANCE_SUB_INPUT, AXP_WIDGETS_ADVANCE_SUB_MEDIA, AXP_WIDGETS_ADVANCE_SUB_TOOLS, AXP_WIDGETS_AI_CATEGORY, AXP_WIDGETS_CATEGORIES, AXP_WIDGETS_EDITOR_CATEGORY, AXP_WIDGETS_EDITOR_SUB_CHOICE, AXP_WIDGETS_EDITOR_SUB_COMPOSITE, AXP_WIDGETS_EDITOR_SUB_CONFIG, AXP_WIDGETS_EDITOR_SUB_DATETIME, AXP_WIDGETS_EDITOR_SUB_NUMERIC, AXP_WIDGETS_EDITOR_SUB_RICH, AXP_WIDGETS_EDITOR_SUB_TEXT_INPUTS, AXP_WIDGETS_EDITOR_SUB_VISUAL, AXP_WIDGETS_LAYOUT_CATEGORY, AXP_WIDGETS_LAYOUT_SUB_GRID, AXP_WIDGETS_LAYOUT_SUB_LISTS, AXP_WIDGETS_LAYOUT_SUB_SHELL, AXP_WIDGETS_LAYOUT_SUB_SURFACES, AXP_WIDGETS_LAYOUT_SUB_TABS, AXP_WIDGETS_LAYOUT_SUB_UTILITY, AXP_WIDGET_COLUMN_TOKEN, AXP_WIDGET_DEFINITION_PROVIDER, AXP_WIDGET_PROPERTY_GROUP, AXP_WIDGET_TOKEN, WIDGET_CASCADE_TRACE_NS, booleanDefaultProperty, buildWidgetRegistryMapFromProviders, cloneProperty, createBooleanProperty, createNumberProperty, createSelectProperty, createStringProperty, findNonEmptyBreakpoints, largeTextDefaultProperty, mapAXPPropertyToWidgetProperty, normalizeWidgetCategories, numberDefaultProperty, numberMaxValueProperty, numberMinValueProperty, plainTextDefaultProperty, richTextDefaultProperty, selectEditorDefaultValueProperty, selectionListEditorDefaultValueProperty };
1368
+ export type { AXPBorderBox, AXPBorderBoxString, AXPBreakpointValues, AXPBreakpoints, AXPClassMap, AXPExtendedWidget, AXPExtractWidgetConfig, AXPFlexBoxString, AXPFlexItemBoxString, AXPGridBoxString, AXPGridBreakpointValues, AXPGridItemBoxString, AXPLayoutBuilderStatusChangedEvent, AXPPropertyCorners, AXPPropertyEditorCornerValues, AXPPropertyEditorSideGeneric, AXPPropertyEditorSideValues, AXPPropertySides, AXPSpacingBox, AXPSpacingBoxString, AXPStyleMap, AXPWidgetColumnNode, AXPWidgetColumnNodeToken, AXPWidgetComponentConfig, AXPWidgetConfig, AXPWidgetConfigComponents, AXPWidgetCoreElementAPI, AXPWidgetCoreElementAction, AXPWidgetCoreModuleConfigs, AXPWidgetDefinitionProvider, AXPWidgetDesignerOptionsMap, AXPWidgetGroup, AXPWidgetNodeToken, AXPWidgetProperty, AXPWidgetPropertyGroup, AXPWidgetRendererDirectiveOptions, AXPWidgetTypesMap, AXPWidgetViewType, MapAXPPropertyToWidgetPropertyOptions };
@@ -1,17 +1,18 @@
1
- import * as _acorex_platform_layout_widget_core from '@acorex/platform/layout/widget-core';
2
- import { AXPWidgetNode, AXPDataListWidgetComponent, AXPColumnWidgetComponent, AXPLayoutBaseWidgetComponent, AXPWidgetCoreElementAPI, AXPWidgetConfig, AXPValueWidgetComponent, AXPBlockBaseLayoutWidgetComponent, AXPFlexBaseLayoutWidgetComponent, AXPFlexItemBaseLayoutWidgetComponent, AXPWidgetCoreElementAction, AXPTableBaseLayoutWidgetComponent, AXPTableItemBaseLayoutWidgetComponent, AXPGridBoxString, AXPGridBreakpointValues, AXPBreakpoints, AXPBorderBox, AXPSpacingBox, AXPBorderBoxString, AXPPropertyEditorSideValues, AXPPropertyEditorCornerValues, AXPFlexBoxString, AXPGridItemBoxString, AXPSpacingBoxString } from '@acorex/platform/layout/widget-core';
1
+ import * as i1 from '@acorex/platform/layout/widget-core';
2
+ import { AXPDataListWidgetComponent, AXPColumnWidgetComponent, AXPLayoutBaseWidgetComponent, AXPWidgetCoreElementAPI, AXPWidgetConfig, AXPValueWidgetComponent, AXPBlockBaseLayoutWidgetComponent, AXPFlexBaseLayoutWidgetComponent, AXPFlexItemBaseLayoutWidgetComponent, AXPWidgetCoreElementAction, AXPTableBaseLayoutWidgetComponent, AXPTableItemBaseLayoutWidgetComponent, AXPGridBoxString, AXPGridBreakpointValues, AXPBreakpoints, AXPBorderBox, AXPSpacingBox, AXPBorderBoxString, AXPPropertyEditorSideValues, AXPPropertyEditorCornerValues, AXPFlexBoxString, AXPGridItemBoxString, AXPSpacingBoxString } from '@acorex/platform/layout/widget-core';
3
3
  export * from '@acorex/platform/layout/widget-core';
4
4
  import * as _angular_core from '@angular/core';
5
5
  import { OnInit, WritableSignal, InjectionToken, EventEmitter, Signal, AfterViewInit, OnDestroy, ElementRef, ChangeDetectorRef, ComponentRef } from '@angular/core';
6
+ import * as _acorex_platform_contracts from '@acorex/platform/contracts';
7
+ import { AXPWidgetNode, AXPContextChangeEvent, AXPFilterClause, AXPFilterDefinition, AXPValidationRule, AXPAddressMode, AXPAddressLabel, AXPAddressData, AXPFileListItem, AXPIntegrationAuthMethodType, AXPIntegrationProviderListItemDto, AXPSafeIntegrationConnectionDto, AXPStatusDefinition, AXPStatusTransition, AXPStatusProvider, AXPMultiLanguageString } from '@acorex/platform/contracts';
6
8
  import { AXValueChangedEvent, AXDataSourceFilterOption, AXStyleColorType, AXClickEvent, AXStyleLookType, AXDataSource, AXDirection, AXButtonClickEvent, AXOrientation } from '@acorex/cdk/common';
7
9
  import { AXBasePageComponent } from '@acorex/components/page';
8
10
  import * as _acorex_platform_core from '@acorex/platform/core';
9
- import { AXPDeviceService, AXPContextChangeEvent, AXPTag, AXPExpressionEvaluatorService, AXPActionMenuItem, AXPDataSourceDefinition } from '@acorex/platform/core';
11
+ import { AXPDeviceService, AXPTag, AXPExpressionEvaluatorService, AXPActionMenuItem, AXPDataSourceDefinition } from '@acorex/platform/core';
10
12
  import { AXSelectBoxComponent } from '@acorex/components/select-box';
13
+ import { AXPCommandActionCallback } from '@acorex/platform/layout/entity-contracts';
11
14
  import * as _acorex_platform_common from '@acorex/platform/common';
12
- import { AXPCommandActionCallback, AXPClipBoardService, AXPDateTimeFilterValue, AXPDateTimeFilterPreset, AXPFilterOperator, AXPLanguage, AXCFileUploaderAction, AXCFileUploaderCapabilities } from '@acorex/platform/common';
13
- import * as _acorex_platform_contracts from '@acorex/platform/contracts';
14
- import { AXPFilterClause, AXPFilterDefinition, AXPValidationRule, AXPAddressMode, AXPAddressLabel, AXPAddressData, AXPFileListItem, AXPIntegrationAuthMethodType, AXPIntegrationProviderListItemDto, AXPSafeIntegrationConnectionDto, AXPStatusDefinition, AXPStatusTransition, AXPStatusProvider, AXPMultiLanguageString } from '@acorex/platform/contracts';
15
+ import { AXPClipBoardService, AXPDateTimeFilterValue, AXPDateTimeFilterPreset, AXPFilterOperator, AXPLanguage, AXCFileUploaderAction, AXCFileUploaderCapabilities } from '@acorex/platform/common';
15
16
  import { AXDropListDroppedEvent } from '@acorex/cdk/drag-drop';
16
17
  import { AXPDragDropListItem, AXPOutcomeResultsViewModel, ItemConfiguratorListItem, AXPTableColumnDefinition } from '@acorex/platform/layout/components';
17
18
  import * as _acorex_platform_layout_widgets from '@acorex/platform/layout/widgets';
@@ -798,7 +799,7 @@ declare class AXPAddressWidgetEditComponent extends AXPValueWidgetComponent<AXPA
798
799
  protected valueAsObject: _angular_core.Signal<AXPAddressData>;
799
800
  protected formattedAddress: _angular_core.Signal<string>;
800
801
  /** Layout node from create().flex().build() for inline renderer (expandable mode). */
801
- protected addressFormLayout: _angular_core.Signal<_acorex_platform_layout_widget_core.AXPWidgetNode>;
802
+ protected addressFormLayout: _angular_core.Signal<_acorex_platform_contracts.AXPWidgetNode>;
802
803
  /** Context for inline address form (expandable); includes showMap for map toggle. */
803
804
  protected collapsibleFormContext: _angular_core.Signal<_acorex_platform_layout_widgets.AXPAddressFormContext>;
804
805
  protected onCollapsibleFormContextChange(ctx: Partial<AXPAddressData> | null | undefined): void;
@@ -5263,7 +5264,7 @@ declare module '@acorex/platform/layout/widget-core' {
5263
5264
 
5264
5265
  declare class AXPWidgetsModule {
5265
5266
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPWidgetsModule, never>;
5266
- static ɵmod: _angular_core.ɵɵNgModuleDeclaration<AXPWidgetsModule, never, [typeof _acorex_platform_layout_widget_core.AXPWidgetCoreModule], never>;
5267
+ static ɵmod: _angular_core.ɵɵNgModuleDeclaration<AXPWidgetsModule, never, [typeof i1.AXPWidgetCoreModule], never>;
5267
5268
  static ɵinj: _angular_core.ɵɵInjectorDeclaration<AXPWidgetsModule>;
5268
5269
  }
5269
5270
 
@@ -5,7 +5,7 @@ import * as _acorex_platform_themes_shared from '@acorex/platform/themes/shared'
5
5
  import { AXPMenuVerticalMode } from '@acorex/platform/themes/shared';
6
6
  import { AXValueChangedEvent } from '@acorex/cdk/common';
7
7
  import { AXActionSheetService } from '@acorex/components/action-sheet';
8
- import { AXDataTableComponent, AXRowCommandItem, AXDataTableRowDbClick, AXRowCommandItemClickEvent, onColumnSizeChangedEvent, AXColumnsOrderChangedEvent } from '@acorex/components/data-table';
8
+ import { AXDataTableComponent, AXRowCommandItem, AXDataTableRowDbClick, AXRowCommandItemClickEvent, AXDataTableRowCssClassResolver, AXDataTableCellCssClassResolver, onColumnSizeChangedEvent, AXColumnsOrderChangedEvent } from '@acorex/components/data-table';
9
9
  import { AXUnsubscriber } from '@acorex/core/utils';
10
10
  import { AXPDeviceService, AXPActionMenuItem } from '@acorex/platform/core';
11
11
  import { AXPEntityCommandTriggerViewModel, AXPEntityDetailListViewModel, AXPEntityMasterListViewModel, AXPEntityMasterListViewSortPropViewModel } from '@acorex/platform/layout/entity';
@@ -155,6 +155,8 @@ declare class AXPEntityMasterListDataTableComponent {
155
155
  private gridRef;
156
156
  /** Exposed for parent refresh and expanded-row persistence. */
157
157
  grid(): AXDataTableComponent | undefined;
158
+ protected readonly resolveRowCssClass: AXDataTableRowCssClassResolver;
159
+ protected readonly resolveCellCssClass: AXDataTableCellCssClassResolver;
158
160
  private commandRowItems;
159
161
  protected onColumnSizeChanged(e: onColumnSizeChangedEvent): void;
160
162
  protected onPageChanged(e: AXDataPagerChangedEvent): void;
@@ -167,6 +169,7 @@ declare class AXPEntityMasterListDataTableComponent {
167
169
  protected handleColumnSort(columnName: string, event: MouseEvent): void;
168
170
  protected resolveColumnSortDirection(sortedFields: AXPEntityMasterListViewSortPropViewModel[], columnName: string): 'asc' | 'desc' | undefined;
169
171
  protected resolveColumnSortIndex(sortedFields: AXPEntityMasterListViewSortPropViewModel[], columnName: string): number | undefined;
172
+ private resolveTableColumnName;
170
173
  private dropdownRowItems;
171
174
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityMasterListDataTableComponent, never>;
172
175
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPEntityMasterListDataTableComponent, "axp-entity-master-list-data-table", never, { "vm": { "alias": "vm"; "required": true; "isSignal": true; }; }, { "pageChanged": "pageChanged"; }, never, never, true, never>;
@@ -1 +0,0 @@
1
- {"version":3,"file":"acorex-platform-layout-widgets-tabular-data-edit-popup.component-CZc2zFlg.mjs","sources":["../../../../libs/platform/layout/widgets/src/lib/widgets/editors/tabular-data/tabular-data-edit-popup.component.ts"],"sourcesContent":["import { AXButtonModule } from '@acorex/components/button';\nimport { AXDataSource } from '@acorex/cdk/common';\nimport {\n AXDataTableComponent,\n AXDataTableModule,\n AXRowCommandItem,\n AXRowCommandItemClickEvent,\n} from '@acorex/components/data-table';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXFormComponent, AXFormModule } from '@acorex/components/form';\nimport { AXBasePageComponent } from '@acorex/components/page';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPDataGenerator } from '@acorex/platform/contracts';\nimport { AXPContextChangeEvent } from '@acorex/platform/core';\n\nimport { AXPWidgetCoreModule } from '@acorex/platform/layout/widget-core';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, viewChild } from '@angular/core';\nimport { cloneDeep } from 'lodash-es';\nimport { AXPTabularDataColumn } from './tabular-widget.types';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n <axp-widgets-container [context]=\"context\" (onContextChanged)=\"handleContextChange($event)\">\n <ax-form #form>\n <div class=\"ax-p-4\">\n <ax-data-table\n #grid\n [paging]=\"false\"\n [allowReordering]=\"true\"\n (selectedRowsChange)=\"handleSelectionChange($event)\"\n [dataSource]=\"dataSource\"\n class=\"ax-h-96 ax-overflow-auto\"\n >\n @for (column of columns; track $index) {\n <ax-text-column\n width=\"200px\"\n [caption]=\"column.title\"\n [dataField]=\"column.name\"\n [cellTemplate]=\"cell\"\n [allowResizing]=\"true\"\n ></ax-text-column>\n <ng-template #cell let-item>\n <ng-container\n axp-widget-renderer\n [node]=\"{\n path: item.rowIndex + '.' + column.name,\n type: column.type,\n options: column.options ?? {},\n }\"\n [mode]=\"'edit'\"\n >\n </ng-container>\n </ng-template>\n }\n <ax-command-column\n fixed=\"end\"\n [width]=\"getCommandRowItems.length * 60 + 'px'\"\n [items]=\"getCommandRowItems\"\n (onItemClick)=\"handleRowCommandClick($event)\"\n ></ax-command-column>\n </ax-data-table>\n @if (!disabled) {\n <div class=\"ax-flex ax-justify-end ax-py-4\">\n <ax-button\n [text]=\"(this.context ?? []).length ? 'Start Adding Items' : 'Add Your First Item'\"\n look=\"twotone\"\n [disabled]=\"disabled\"\n (onClick)=\"addRecord()\"\n class=\"ax-col-start-10 ax-col-end-13\"\n >\n <ax-prefix>\n <ax-icon class=\"fa-solid fa-add\"></ax-icon>\n </ax-prefix>\n </ax-button>\n </div>\n }\n </div>\n <ax-footer>\n <ax-suffix>\n <ax-button [text]=\"'@general:actions.discard.title' | translate | async\" (onClick)=\"onCloseDiscard()\"></ax-button>\n <ax-button\n color=\"primary\"\n [text]=\"'@general:actions.ok.title' | translate | async\"\n (onClick)=\"handleSaveClick(form)\"\n ></ax-button>\n </ax-suffix>\n </ax-footer>\n </ax-form>\n </axp-widgets-container>\n `,\n imports: [\n CommonModule,\n AXDecoratorModule,\n AXButtonModule,\n AXPWidgetCoreModule,\n AXDataTableModule,\n AXTranslationModule,\n AXFormModule,\n ],\n})\nexport class AXPTabularDataPopupComponent extends AXBasePageComponent {\n context: any;\n columns: AXPTabularDataColumn[];\n disabled: boolean = false;\n defaultRowCount: number = 0;\n contextDiscard: any;\n\n getCommandRowItems: AXRowCommandItem[] = [\n {\n name: 'delete',\n text: \"@general:actions.delete.title\",\n icon: 'fa-light fa-trash ax-text-danger',\n //divided: boolean,\n //disabled: boolean,\n color: 'danger',\n },\n ];\n\n protected override ngOnInit(): void {\n this.columns = this.columns.filter((col) => col.name != null && col.name != '' && col.type != null);\n\n this.columns = this.columns.map((col) => {\n return {\n ...col,\n options: {\n ...(col.options ?? {}),\n validationRules: [\n {\n rule: 'required',\n },\n ],\n },\n };\n });\n this.contextDiscard = cloneDeep(this.context);\n if (this.context == null || this.context?.length == 0) {\n for (let i = 0; i < this.defaultRowCount; i++) {\n this.addRecord();\n }\n }\n }\n\n protected dataSource = new AXDataSource({\n load: async () => {\n this.context = (this.context ?? []).map((x: any) => {\n return {\n ...x,\n id: AXPDataGenerator.uuid(),\n options: {},\n };\n });\n const items = this.context;\n console.log(this.context);\n\n return {\n items: items ?? [],\n total: (items ?? []).length,\n };\n },\n pageSize: 1,\n key: 'gridItem',\n });\n\n protected grid = viewChild<AXDataTableComponent>('grid');\n\n handleContextChange(e: AXPContextChangeEvent) {\n this.context = e.data;\n }\n\n onCloseDiscard() {\n this.close({\n context: this.contextDiscard,\n });\n }\n\n addRecord() {\n console.log(this.columns);\n\n const value = this.context ?? [];\n const newRecord = this.columns?.reduce((acc: { [key: string]: any }, column) => {\n acc[column.name] = ''; // or any default value\n return acc;\n }, {});\n console.log(value);\n this.context = [...value, newRecord];\n this.grid()?.refresh();\n }\n\n handleSelectionChange(e: any) {\n console.log(e);\n }\n\n protected async handleRowCommandClick(e: AXRowCommandItemClickEvent) {\n if (e.name == 'delete') {\n this.context = this.context.filter((item: any) => item.id !== e.data.id);\n this.grid()?.refresh();\n }\n }\n\n protected async handleSaveClick(form: AXFormComponent) {\n const formResult = await form.validate();\n console.log(formResult.rules);\n\n if (formResult.result) {\n this.close({\n context: this.context,\n });\n }\n }\n}\n"],"names":["i1","i2","i3","i4","i5","i6","i7"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"acorex-platform-themes-shared-settings.provider-UyKdkeyk.mjs","sources":["../../../../libs/platform/themes/shared/src/lib/settings.provider.ts"],"sourcesContent":["import { Injector } from '@angular/core';\nimport { AXPCommonSettings, AXPSettingDefinitionProvider, AXPSettingDefinitionProviderContext } from '@acorex/platform/common';\nimport { AXPPlatformScope } from '@acorex/platform/contracts';\nimport { objectKeyValueTransforms } from '@acorex/platform/core';\nimport { AXPWidgetsCatalog } from '@acorex/platform/contracts';\nimport { AXPThemeLayoutSetting } from './contracts/settings.keys';\nimport { AXPMenuVerticalMode, AXPThemeMode } from './contracts/theme.types';\n\nconst I18N = '@layout:settings.appearance';\nconst verticalModeVisibility = `{{ context.eval('${AXPThemeLayoutSetting.MenuOrientation}') !== 'horizontal' }}`;\nconst maxOpenTabsVisibility = `{{ context.eval('${AXPCommonSettings.NavigationMode}') !== 'simple' }}`;\n\nexport class AXPThemeSettingProvider implements AXPSettingDefinitionProvider {\n constructor(private _injector: Injector) {}\n\n async provide(context: AXPSettingDefinitionProviderContext): Promise<void> {\n // Define the 'Appearance Settings' group\n context\n .addGroup(\n 'appearance',\n `${I18N}.nav-title`,\n `${I18N}.description`,\n 'fa-light fa-palette',\n `${I18N}.title`,\n 50,\n )\n\n // Add the 'Brightness & Color' section\n .addSection('color', `${I18N}.items.color.title`, `${I18N}.items.color.description`)\n\n // Add the 'Theme Mode' setting\n .addSetting({\n key: AXPThemeLayoutSetting.Mode,\n title: `${I18N}.items.color.mode.title`,\n scope: AXPPlatformScope.User,\n isInherited: true,\n defaultValue: AXPThemeMode.Light,\n valueTransforms: objectKeyValueTransforms('id'),\n widget: {\n type: AXPWidgetsCatalog.themeModeChooser,\n layout: {\n positions: {\n sm: {\n colSpan: 12,\n },\n md: {\n colSpan: 6,\n },\n },\n },\n },\n description: `${I18N}.items.color.mode.description`,\n })\n\n .addSetting({\n key: AXPThemeLayoutSetting.Palette,\n title: `${I18N}.items.color.palette.title`,\n scope: AXPPlatformScope.User,\n isInherited: true,\n defaultValue: 'default',\n valueTransforms: objectKeyValueTransforms('name'),\n widget: {\n type: 'theme-palette-chooser',\n layout: {\n stacked: true,\n },\n },\n description: `${I18N}.items.color.palette.description`,\n })\n\n // End the 'Brightness & Color' section\n .endSection()\n\n // Add the 'Root Menu' section\n .addSection('root-menu', `${I18N}.items.root-menu.title`, `${I18N}.items.root-menu.description`)\n\n // Add the 'Menu Orientation' setting\n .addSetting({\n key: AXPThemeLayoutSetting.MenuOrientation,\n title: `${I18N}.items.root-menu.title`,\n scope: AXPPlatformScope.User,\n isInherited: true,\n defaultValue: 'vertical',\n valueTransforms: objectKeyValueTransforms('id'),\n widget: {\n type: AXPWidgetsCatalog.menuOrientationChooser,\n layout: {\n positions: {\n sm: {\n colSpan: 12,\n },\n md: {\n colSpan: 6,\n },\n },\n },\n },\n description: `${I18N}.items.root-menu.description`,\n })\n\n .addSetting({\n key: AXPThemeLayoutSetting.MenuVerticalMode,\n title: `${I18N}.items.root-menu.vertical-mode.title`,\n scope: AXPPlatformScope.User,\n isInherited: true,\n defaultValue: AXPMenuVerticalMode.Full,\n valueTransforms: objectKeyValueTransforms('id'),\n widget: {\n type: AXPWidgetsCatalog.menuOrientationChooser,\n options: {\n chooser: 'vertical-mode',\n visibility: verticalModeVisibility,\n },\n layout: {\n positions: {\n sm: {\n colSpan: 12,\n },\n md: {\n colSpan: 6,\n },\n },\n },\n },\n description: `${I18N}.items.root-menu.vertical-mode.description`,\n })\n\n // Add the 'Menu Badge Visibility' setting\n .addSetting({\n key: AXPThemeLayoutSetting.MenuBadgeVisible,\n title: `${I18N}.items.root-menu.badge.title`,\n scope: AXPPlatformScope.User,\n isInherited: true,\n defaultValue: true,\n widget: {\n type: AXPWidgetsCatalog.toggle,\n layout: {\n positions: {\n sm: {\n colSpan: 12,\n },\n md: {\n colSpan: 6,\n },\n },\n },\n },\n description: `${I18N}.items.root-menu.badge.description`,\n })\n .endSection()\n\n // Add the 'Navigation' section\n .addSection('navigation', `${I18N}.items.navigation.title`, `${I18N}.items.navigation.description`)\n .addSetting({\n key: AXPCommonSettings.NavigationMode,\n title: `${I18N}.items.navigation.mode.title`,\n scope: AXPPlatformScope.User,\n isInherited: true,\n defaultValue: 'simple',\n requiresPageRefresh: true,\n widget: {\n type: AXPWidgetsCatalog.menuOrientationChooser,\n options: {\n chooser: 'navigation-mode',\n },\n layout: {\n positions: {\n sm: {\n colSpan: 12,\n },\n md: {\n colSpan: 6,\n },\n },\n },\n },\n description: `${I18N}.items.navigation.mode.description`,\n })\n .addSetting({\n key: AXPCommonSettings.MaxOpenTabs,\n title: `${I18N}.items.navigation.max-open-tabs.title`,\n scope: AXPPlatformScope.User,\n isInherited: true,\n defaultValue: 5,\n widget: {\n type: AXPWidgetsCatalog.number,\n options: {\n minValue: 2,\n maxValue: 20,\n step: 1,\n visibility: maxOpenTabsVisibility,\n },\n },\n description: `${I18N}.items.navigation.max-open-tabs.description`,\n })\n .endSection()\n\n // Add the 'Scale & Layout' section\n .addSection('layout', `${I18N}.items.layout.title`, `${I18N}.items.layout.description`)\n\n // Add the 'Font Style' setting\n .addSetting({\n key: AXPThemeLayoutSetting.Font,\n title: `${I18N}.items.layout.font.title`,\n scope: AXPPlatformScope.User,\n isInherited: true,\n defaultValue: 'system-ui',\n valueTransforms: objectKeyValueTransforms('id'),\n widget: {\n type: AXPWidgetsCatalog.fontStyleChooser,\n layout: {\n positions: {\n sm: {\n colSpan: 12,\n },\n md: {\n colSpan: 6,\n },\n },\n },\n },\n description: `${I18N}.items.layout.font.description`,\n })\n\n // Add the 'Font Size' setting\n .addSetting({\n key: AXPThemeLayoutSetting.FontSize,\n title: `${I18N}.items.layout.size.title`,\n scope: AXPPlatformScope.User,\n isInherited: true,\n defaultValue: 'medium',\n valueTransforms: objectKeyValueTransforms('id'),\n widget: {\n type: AXPWidgetsCatalog.fontSizeChooser,\n layout: {\n positions: {\n sm: {\n colSpan: 12,\n },\n md: {\n colSpan: 6,\n },\n },\n },\n },\n description: `${I18N}.items.layout.size.description`,\n })\n\n // End the 'Scale & Layout' section\n .endSection()\n\n // End the 'Appearance Settings' group\n .endGroup();\n }\n}\n"],"names":[],"mappings":"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"}