@acorex/platform 21.0.0-next.71 → 21.0.0-next.73

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 (60) hide show
  1. package/contracts/README.md +3 -0
  2. package/fesm2022/acorex-platform-auth.mjs +82 -60
  3. package/fesm2022/acorex-platform-auth.mjs.map +1 -1
  4. package/fesm2022/{acorex-platform-common-common-settings.provider-Bi1RYif5.mjs → acorex-platform-common-common-settings.provider-Ytey9uhY.mjs} +15 -1
  5. package/fesm2022/acorex-platform-common-common-settings.provider-Ytey9uhY.mjs.map +1 -0
  6. package/fesm2022/acorex-platform-common.mjs +3796 -1677
  7. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  8. package/fesm2022/acorex-platform-contracts.mjs +10 -0
  9. package/fesm2022/acorex-platform-contracts.mjs.map +1 -0
  10. package/fesm2022/acorex-platform-core.mjs +1126 -114
  11. package/fesm2022/acorex-platform-core.mjs.map +1 -1
  12. package/fesm2022/acorex-platform-layout-builder.mjs +56 -170
  13. package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
  14. package/fesm2022/acorex-platform-layout-components.mjs +254 -53
  15. package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
  16. package/fesm2022/acorex-platform-layout-designer.mjs +199 -126
  17. package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
  18. package/fesm2022/{acorex-platform-layout-entity-attachments-page.component-D8iQnT-R.mjs → acorex-platform-layout-entity-attachments-page.component-B0EkdqvH.mjs} +6 -1
  19. package/fesm2022/acorex-platform-layout-entity-attachments-page.component-B0EkdqvH.mjs.map +1 -0
  20. package/fesm2022/acorex-platform-layout-entity.mjs +403 -460
  21. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  22. package/fesm2022/acorex-platform-layout-views.mjs +675 -301
  23. package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
  24. package/fesm2022/acorex-platform-layout-widget-core.mjs +126 -75
  25. package/fesm2022/acorex-platform-layout-widget-core.mjs.map +1 -1
  26. package/fesm2022/{acorex-platform-layout-widgets-tabular-data-edit-popup.component-BcpRkpJp.mjs → acorex-platform-layout-widgets-tabular-data-edit-popup.component-DjpZU6gz.mjs} +2 -2
  27. package/fesm2022/{acorex-platform-layout-widgets-tabular-data-edit-popup.component-BcpRkpJp.mjs.map → acorex-platform-layout-widgets-tabular-data-edit-popup.component-DjpZU6gz.mjs.map} +1 -1
  28. package/fesm2022/{acorex-platform-layout-widgets-tabular-data-view-popup.component-DQtK4lxl.mjs → acorex-platform-layout-widgets-tabular-data-view-popup.component-gX-3Kx9I.mjs} +2 -2
  29. package/fesm2022/{acorex-platform-layout-widgets-tabular-data-view-popup.component-DQtK4lxl.mjs.map → acorex-platform-layout-widgets-tabular-data-view-popup.component-gX-3Kx9I.mjs.map} +1 -1
  30. package/fesm2022/acorex-platform-layout-widgets.mjs +450 -750
  31. package/fesm2022/acorex-platform-layout-widgets.mjs.map +1 -1
  32. package/fesm2022/acorex-platform-themes-default-error-401.component-B1nsdpTY.mjs +48 -0
  33. package/fesm2022/acorex-platform-themes-default-error-401.component-B1nsdpTY.mjs.map +1 -0
  34. package/fesm2022/acorex-platform-themes-default-error-404.component-D4UvRe8u.mjs +42 -0
  35. package/fesm2022/acorex-platform-themes-default-error-404.component-D4UvRe8u.mjs.map +1 -0
  36. package/fesm2022/acorex-platform-themes-default.mjs +79 -35
  37. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
  38. package/fesm2022/acorex-platform-themes-shared-settings.provider-BjuzSe0T.mjs.map +1 -1
  39. package/fesm2022/acorex-platform-themes-shared.mjs +3 -0
  40. package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
  41. package/fesm2022/acorex-platform-workflow.mjs +57 -54
  42. package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
  43. package/package.json +5 -1
  44. package/types/acorex-platform-auth.d.ts +31 -22
  45. package/types/acorex-platform-common.d.ts +892 -259
  46. package/types/acorex-platform-contracts.d.ts +39 -0
  47. package/types/acorex-platform-core.d.ts +291 -47
  48. package/types/acorex-platform-layout-builder.d.ts +10 -22
  49. package/types/acorex-platform-layout-components.d.ts +86 -14
  50. package/types/acorex-platform-layout-entity.d.ts +218 -212
  51. package/types/acorex-platform-layout-views.d.ts +125 -67
  52. package/types/acorex-platform-layout-widget-core.d.ts +56 -62
  53. package/types/acorex-platform-layout-widgets.d.ts +78 -65
  54. package/types/acorex-platform-themes-default.d.ts +14 -4
  55. package/fesm2022/acorex-platform-common-common-settings.provider-Bi1RYif5.mjs.map +0 -1
  56. package/fesm2022/acorex-platform-layout-entity-attachments-page.component-D8iQnT-R.mjs.map +0 -1
  57. package/fesm2022/acorex-platform-themes-default-error-401.component-C7EYJzSr.mjs +0 -31
  58. package/fesm2022/acorex-platform-themes-default-error-401.component-C7EYJzSr.mjs.map +0 -1
  59. package/fesm2022/acorex-platform-themes-default-error-404.component-7MVLMwIa.mjs +0 -25
  60. package/fesm2022/acorex-platform-themes-default-error-404.component-7MVLMwIa.mjs.map +0 -1
@@ -3,7 +3,7 @@ import { Signal, InjectionToken, ComponentRef, OnInit, EventEmitter, OnChanges,
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
5
  import * as _acorex_platform_core from '@acorex/platform/core';
6
- import { AXPOptionsData, AXPMultiLanguageString, AXPDefinitionCategory, AXPDataType, AXPExpression, AXPWidgetTriggers, AXPMetaData, AXPValueTransformerFunctions, AXPValidationRules, AXPPartialNested, AXPContextUpdateOptions, AXPProperty, AXPContextChangeEvent, AXPExpressionEvaluatorService } from '@acorex/platform/core';
6
+ import { AXPOptionsData, AXPMultiLanguageString, AXPDefinitionCategory, AXPDataType, AXPExpression, AXPWidgetTriggers, AXPMetaData, AXPValueTransformerFunctions, AXPValidationRules, AXPPartialNested, AXPProperty, AXPContextChangeEvent, AXPExpressionEvaluatorService } from '@acorex/platform/core';
7
7
  export { AXPDefinitionCategory, normalizeDefinitionCategories } from '@acorex/platform/core';
8
8
  import { AXValueChangedEvent, AXDataSource } from '@acorex/cdk/common';
9
9
  import { Subject, BehaviorSubject } from 'rxjs';
@@ -46,9 +46,7 @@ type AXPWidgetCoreElementAction = {
46
46
  zone?: 'header' | 'footer';
47
47
  placement?: 'prefix' | 'suffix';
48
48
  scope?: 'primary' | 'secondary';
49
- /** Keyboard shortcuts that trigger this action (e.g. `'Enter'`, `'ctrl+s'`). */
50
49
  shortcuts?: string[];
51
- /** When `command` is not `widget:<name>.<action>`, widget name used to resolve `api` for `hidden` / `disabled` expressions. */
52
50
  predicateApiWidgetName?: string;
53
51
  };
54
52
  declare abstract class AXPWidgetCoreElement {
@@ -67,7 +65,6 @@ declare class AXPWidgetCoreService {
67
65
  readonly status: Signal<AXPPageStatus>;
68
66
  readonly isBusy: Signal<boolean>;
69
67
  registeredWidgetsCount: _angular_core.WritableSignal<number>;
70
- /** Bumped when a widget reports dirty-state changes via `api().isDirty()`. */
71
68
  private readonly dirtyWidgetsRevision;
72
69
  readonly dirtyWidgetsRevisionSignal: Signal<number>;
73
70
  get variables(): any;
@@ -84,22 +81,9 @@ declare class AXPWidgetCoreService {
84
81
  setFunctions(key: string, value: any): void;
85
82
  registerWidget(id: string, widget: AXPWidgetCoreElement): void;
86
83
  getWidget(id: string): AXPWidgetCoreElement | undefined;
87
- /**
88
- * Waits until a widget with the given id is registered, then resolves with it.
89
- * If the widget is already registered, resolves immediately.
90
- * Optionally accepts a timeout (in ms) after which it resolves with undefined.
91
- */
92
84
  waitForWidget(id: string, timeoutMs?: number): Promise<AXPWidgetCoreElement | undefined>;
93
- /**
94
- * Returns a list of registered widget ids (names).
95
- */
96
85
  listRegisteredWidgetNames(): string[];
97
- /** Notifies listeners that a widget's composite dirty state may have changed. */
98
86
  notifyWidgetDirtyChanged(): void;
99
- /**
100
- * Returns whether any registered widget reports dirty state via `api().isDirty()`.
101
- */
102
- hasDirtyWidgets(): boolean;
103
87
  ngOnDestroy(): void;
104
88
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPWidgetCoreService, never>;
105
89
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPWidgetCoreService>;
@@ -405,35 +389,36 @@ declare abstract class AXPBaseWidgetComponent<TOptions extends Record<string, un
405
389
  protected readonly contextService: {
406
390
  data: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
407
391
  state: _angular_core.Signal<_acorex_platform_core.AXPContextState>;
408
- initialSnapshot: _angular_core.Signal<{}>;
409
- previousSnapshot: _angular_core.Signal<{}>;
410
- userDirtyPaths: _angular_core.Signal<string[]>;
392
+ savedSnapshot: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
393
+ previousSnapshot: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
411
394
  lastChange: _ngrx_signals.DeepSignal<_acorex_platform_core.AXPContextChangeEvent>;
412
395
  isChanged: _angular_core.Signal<boolean>;
413
396
  isReset: _angular_core.Signal<boolean>;
414
397
  isInitiated: _angular_core.Signal<boolean>;
415
398
  isEmpty: _angular_core.Signal<boolean>;
399
+ isSavedCommitted: _angular_core.Signal<boolean>;
416
400
  isDirty: _angular_core.Signal<boolean>;
417
- isUserDirty: _angular_core.Signal<boolean>;
418
401
  snapshot: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
419
- initial: _angular_core.Signal<{}>;
420
- previous: _angular_core.Signal<{}>;
402
+ saved: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
403
+ initial: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
404
+ previous: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
421
405
  changeEvent: _angular_core.Signal<_acorex_platform_core.AXPContextChangeEvent>;
422
- update: (path: string, value: any, options?: AXPContextUpdateOptions) => void;
423
- applyObjectPaths: (obj: Record<string, unknown>, options?: AXPContextUpdateOptions, prefix?: string) => void;
424
- patch: (context: Record<string, any>, second?: boolean | _acorex_platform_core.AXPContextPatchOptions) => void;
406
+ update: (path: string, value: any, options?: _acorex_platform_core.AXPContextUpdateOptions) => void;
407
+ applyObjectPaths: (obj: Record<string, unknown>, options?: _acorex_platform_core.AXPContextUpdateOptions, prefix?: string) => void;
408
+ patch: (context: Record<string, any>, options?: _acorex_platform_core.AXPContextPatchOptions) => void;
409
+ revertToSaved: () => void;
425
410
  reset: () => void;
426
411
  set: (initialData: any) => void;
427
412
  getValue: (path: string) => any;
413
+ getSavedValue: (path: string) => any;
428
414
  hasValue: (path: string) => boolean;
429
- commitBaseline: () => void;
430
- clearUserDirtyPaths: () => void;
415
+ commitSaved: () => void;
416
+ applyParentBind: (merged: _acorex_platform_core.AXPContextData) => void;
431
417
  } & _ngrx_signals.StateSource<{
432
418
  data: _acorex_platform_core.AXPContextData;
433
419
  state: _acorex_platform_core.AXPContextState;
434
- initialSnapshot: {};
435
- previousSnapshot: {};
436
- userDirtyPaths: string[];
420
+ savedSnapshot: _acorex_platform_core.AXPContextData;
421
+ previousSnapshot: _acorex_platform_core.AXPContextData;
437
422
  lastChange: _acorex_platform_core.AXPContextChangeEvent;
438
423
  }>;
439
424
  readonly config: _acorex_platform_layout_widget_core.AXPWidgetConfig<any>;
@@ -493,9 +478,7 @@ declare abstract class AXPValueWidgetComponent<T = any | null, TOptions extends
493
478
  getValue: _angular_core.Signal<T>;
494
479
  protected validationRules: _angular_core.Signal<AXPValidationRules>;
495
480
  protected extractValue(path: string): any;
496
- setValue(value: T | null | undefined, options?: AXPContextUpdateOptions): void;
497
- /** Persists a user-initiated value change into the shared context store. */
498
- setUserValue(value: T | null | undefined): void;
481
+ setValue(value: T | null | undefined): void;
499
482
  protected detectFullPath(): void;
500
483
  protected handleValueChanged(e: AXValueChangedEvent<T>): void;
501
484
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPValueWidgetComponent<any, any>, never>;
@@ -794,50 +777,57 @@ declare class AXPWidgetContainerComponent {
794
777
  readonly contextService: {
795
778
  data: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
796
779
  state: _angular_core.Signal<_acorex_platform_core.AXPContextState>;
797
- initialSnapshot: _angular_core.Signal<{}>;
798
- previousSnapshot: _angular_core.Signal<{}>;
799
- userDirtyPaths: _angular_core.Signal<string[]>;
780
+ savedSnapshot: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
781
+ previousSnapshot: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
800
782
  lastChange: _ngrx_signals.DeepSignal<AXPContextChangeEvent>;
801
783
  isChanged: _angular_core.Signal<boolean>;
802
784
  isReset: _angular_core.Signal<boolean>;
803
785
  isInitiated: _angular_core.Signal<boolean>;
804
786
  isEmpty: _angular_core.Signal<boolean>;
787
+ isSavedCommitted: _angular_core.Signal<boolean>;
805
788
  isDirty: _angular_core.Signal<boolean>;
806
- isUserDirty: _angular_core.Signal<boolean>;
807
789
  snapshot: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
808
- initial: _angular_core.Signal<{}>;
809
- previous: _angular_core.Signal<{}>;
790
+ saved: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
791
+ initial: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
792
+ previous: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
810
793
  changeEvent: _angular_core.Signal<AXPContextChangeEvent>;
811
794
  update: (path: string, value: any, options?: _acorex_platform_core.AXPContextUpdateOptions) => void;
812
795
  applyObjectPaths: (obj: Record<string, unknown>, options?: _acorex_platform_core.AXPContextUpdateOptions, prefix?: string) => void;
813
- patch: (context: Record<string, any>, second?: boolean | _acorex_platform_core.AXPContextPatchOptions) => void;
796
+ patch: (context: Record<string, any>, options?: _acorex_platform_core.AXPContextPatchOptions) => void;
797
+ revertToSaved: () => void;
814
798
  reset: () => void;
815
799
  set: (initialData: any) => void;
816
800
  getValue: (path: string) => any;
801
+ getSavedValue: (path: string) => any;
817
802
  hasValue: (path: string) => boolean;
818
- commitBaseline: () => void;
819
- clearUserDirtyPaths: () => void;
803
+ commitSaved: () => void;
804
+ applyParentBind: (merged: _acorex_platform_core.AXPContextData) => void;
820
805
  } & _ngrx_signals.StateSource<{
821
806
  data: _acorex_platform_core.AXPContextData;
822
807
  state: _acorex_platform_core.AXPContextState;
823
- initialSnapshot: {};
824
- previousSnapshot: {};
825
- userDirtyPaths: string[];
808
+ savedSnapshot: _acorex_platform_core.AXPContextData;
809
+ previousSnapshot: _acorex_platform_core.AXPContextData;
826
810
  lastChange: AXPContextChangeEvent;
827
811
  }>;
828
812
  readonly builderService: AXPWidgetCoreService;
829
813
  readonly onContextChanged: EventEmitter<AXPContextChangeEvent>;
814
+ private lastEmittedFormDirty;
815
+ private savedBaselineTimer?;
830
816
  set context(value: any);
831
817
  set functions(v: any);
832
- /** True when user-edited context paths or composite widgets report dirty state. */
818
+ readonly isSavedCommitted: _angular_core.Signal<boolean>;
833
819
  readonly isFormDirty: _angular_core.Signal<boolean>;
834
820
  constructor();
835
821
  status: _angular_core.Signal<_acorex_platform_layout_widget_core.AXPPageStatus>;
836
822
  isBusy: _angular_core.Signal<boolean>;
837
823
  refresh(): void;
838
824
  find(name: string): Promise<_acorex_platform_layout_widget_core.AXPWidgetCoreElement | undefined>;
839
- /** Replaces context and clears dirty tracking (discard, save reload, external reset). */
840
- replaceContext(value: unknown): void;
825
+ private syncExternalContext;
826
+ /** Commits the current data as saved after widget hydration settles. */
827
+ settleSavedBaseline(): Promise<void>;
828
+ replaceContext(value: unknown): Promise<void>;
829
+ revertAndSettle(): void;
830
+ private clearSavedBaselineTimer;
841
831
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPWidgetContainerComponent, never>;
842
832
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPWidgetContainerComponent, "axp-widgets-container", never, { "context": { "alias": "context"; "required": false; }; "functions": { "alias": "functions"; "required": false; }; }, { "onContextChanged": "onContextChanged"; }, never, ["*"], false, never>;
843
833
  }
@@ -910,6 +900,8 @@ declare class AXPWidgetColumnRendererComponent extends AXDataTableColumnComponen
910
900
  headerSortDirection?: 'asc' | 'desc';
911
901
  /** 1-based order when multiple columns are sorted (shown when priority &gt; 1). */
912
902
  headerSortPriority?: number;
903
+ /** Pins column to table edge (`start` / `end`). Passed to the underlying data-table column. */
904
+ columnFixed?: 'start' | 'end';
913
905
  readonly sortToggle: EventEmitter<MouseEvent>;
914
906
  cellTemplate: TemplateRef<unknown>;
915
907
  private _contentCellTemplate;
@@ -969,7 +961,7 @@ declare class AXPWidgetColumnRendererComponent extends AXDataTableColumnComponen
969
961
  getInputs(data: any): any;
970
962
  getRowInjector(data: any): Injector;
971
963
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPWidgetColumnRendererComponent, never>;
972
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPWidgetColumnRendererComponent, "axp-widget-column-renderer", never, { "caption": { "alias": "caption"; "required": false; }; "customExpandIcon": { "alias": "customExpandIcon"; "required": false; }; "customCollapseIcon": { "alias": "customCollapseIcon"; "required": false; }; "customWidth": { "alias": "customWidth"; "required": false; }; "node": { "alias": "node"; "required": true; }; "footerTemplate": { "alias": "footerTemplate"; "required": false; }; "expandHandler": { "alias": "expandHandler"; "required": false; }; "sortEnabled": { "alias": "sortEnabled"; "required": false; }; "headerSortDirection": { "alias": "headerSortDirection"; "required": false; }; "headerSortPriority": { "alias": "headerSortPriority"; "required": false; }; "cellTemplate": { "alias": "cellTemplate"; "required": false; }; "headerTemplate": { "alias": "headerTemplate"; "required": false; }; }, { "sortToggle": "sortToggle"; }, never, never, false, never>;
964
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPWidgetColumnRendererComponent, "axp-widget-column-renderer", never, { "caption": { "alias": "caption"; "required": false; }; "customExpandIcon": { "alias": "customExpandIcon"; "required": false; }; "customCollapseIcon": { "alias": "customCollapseIcon"; "required": false; }; "customWidth": { "alias": "customWidth"; "required": false; }; "node": { "alias": "node"; "required": true; }; "footerTemplate": { "alias": "footerTemplate"; "required": false; }; "expandHandler": { "alias": "expandHandler"; "required": false; }; "sortEnabled": { "alias": "sortEnabled"; "required": false; }; "headerSortDirection": { "alias": "headerSortDirection"; "required": false; }; "headerSortPriority": { "alias": "headerSortPriority"; "required": false; }; "columnFixed": { "alias": "columnFixed"; "required": false; }; "cellTemplate": { "alias": "cellTemplate"; "required": false; }; "headerTemplate": { "alias": "headerTemplate"; "required": false; }; }, { "sortToggle": "sortToggle"; }, never, never, false, never>;
973
965
  }
974
966
 
975
967
  type AXPWidgetRendererDirectiveOptions = AXPMetaData;
@@ -1003,35 +995,36 @@ declare class AXPWidgetRendererDirective {
1003
995
  protected contextService: {
1004
996
  data: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
1005
997
  state: _angular_core.Signal<_acorex_platform_core.AXPContextState>;
1006
- initialSnapshot: _angular_core.Signal<{}>;
1007
- previousSnapshot: _angular_core.Signal<{}>;
1008
- userDirtyPaths: _angular_core.Signal<string[]>;
998
+ savedSnapshot: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
999
+ previousSnapshot: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
1009
1000
  lastChange: _ngrx_signals.DeepSignal<_acorex_platform_core.AXPContextChangeEvent>;
1010
1001
  isChanged: _angular_core.Signal<boolean>;
1011
1002
  isReset: _angular_core.Signal<boolean>;
1012
1003
  isInitiated: _angular_core.Signal<boolean>;
1013
1004
  isEmpty: _angular_core.Signal<boolean>;
1005
+ isSavedCommitted: _angular_core.Signal<boolean>;
1014
1006
  isDirty: _angular_core.Signal<boolean>;
1015
- isUserDirty: _angular_core.Signal<boolean>;
1016
1007
  snapshot: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
1017
- initial: _angular_core.Signal<{}>;
1018
- previous: _angular_core.Signal<{}>;
1008
+ saved: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
1009
+ initial: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
1010
+ previous: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
1019
1011
  changeEvent: _angular_core.Signal<_acorex_platform_core.AXPContextChangeEvent>;
1020
1012
  update: (path: string, value: any, options?: _acorex_platform_core.AXPContextUpdateOptions) => void;
1021
1013
  applyObjectPaths: (obj: Record<string, unknown>, options?: _acorex_platform_core.AXPContextUpdateOptions, prefix?: string) => void;
1022
- patch: (context: Record<string, any>, second?: boolean | _acorex_platform_core.AXPContextPatchOptions) => void;
1014
+ patch: (context: Record<string, any>, options?: _acorex_platform_core.AXPContextPatchOptions) => void;
1015
+ revertToSaved: () => void;
1023
1016
  reset: () => void;
1024
1017
  set: (initialData: any) => void;
1025
1018
  getValue: (path: string) => any;
1019
+ getSavedValue: (path: string) => any;
1026
1020
  hasValue: (path: string) => boolean;
1027
- commitBaseline: () => void;
1028
- clearUserDirtyPaths: () => void;
1021
+ commitSaved: () => void;
1022
+ applyParentBind: (merged: _acorex_platform_core.AXPContextData) => void;
1029
1023
  } & _ngrx_signals.StateSource<{
1030
1024
  data: _acorex_platform_core.AXPContextData;
1031
1025
  state: _acorex_platform_core.AXPContextState;
1032
- initialSnapshot: {};
1033
- previousSnapshot: {};
1034
- userDirtyPaths: string[];
1026
+ savedSnapshot: _acorex_platform_core.AXPContextData;
1027
+ previousSnapshot: _acorex_platform_core.AXPContextData;
1035
1028
  lastChange: _acorex_platform_core.AXPContextChangeEvent;
1036
1029
  }>;
1037
1030
  protected widgetRegistery: AXPWidgetRegistryService;
@@ -1046,6 +1039,7 @@ declare class AXPWidgetRendererDirective {
1046
1039
  private expressionEvaluators;
1047
1040
  private componentRef;
1048
1041
  private renderTimeoutId;
1042
+ private renderGeneration;
1049
1043
  private hasInitialRender;
1050
1044
  private onContextChanged;
1051
1045
  private onLoadEvent;