@acorex/platform 19.0.1 → 19.1.0

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 (96) hide show
  1. package/common/lib/app/application.types.d.ts +1 -0
  2. package/common/lib/common.module.d.ts +2 -2
  3. package/common/lib/layout/sticky.directive.d.ts +5 -1
  4. package/common/lib/settings/index.d.ts +1 -0
  5. package/common/lib/settings/setting-definition.provider.d.ts +7 -8
  6. package/common/lib/settings/setting.builder.d.ts +45 -0
  7. package/common/lib/settings/settings.provider.d.ts +3 -2
  8. package/common/lib/settings/settings.service.d.ts +9 -5
  9. package/common/lib/settings/settings.types.d.ts +15 -25
  10. package/common/lib/store/common.effects.d.ts +2 -2
  11. package/fesm2022/acorex-platform-common.mjs +255 -190
  12. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  13. package/fesm2022/acorex-platform-layout-builder.mjs +82 -25
  14. package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
  15. package/fesm2022/acorex-platform-layout-designer.mjs +12 -10
  16. package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
  17. package/fesm2022/acorex-platform-layout-entity.mjs +23 -6
  18. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  19. package/fesm2022/acorex-platform-layout-setting.mjs +95 -76
  20. package/fesm2022/acorex-platform-layout-setting.mjs.map +1 -1
  21. package/fesm2022/acorex-platform-layouts.mjs +1 -1
  22. package/fesm2022/acorex-platform-layouts.mjs.map +1 -1
  23. package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-Bw-rbKbL.mjs → acorex-platform-themes-default-entity-master-create-view.component-CJ_HVKX-.mjs} +4 -4
  24. package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-Bw-rbKbL.mjs.map → acorex-platform-themes-default-entity-master-create-view.component-CJ_HVKX-.mjs.map} +1 -1
  25. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-CeBk_nxz.mjs +305 -0
  26. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-CeBk_nxz.mjs.map +1 -0
  27. package/fesm2022/{acorex-platform-themes-default-entity-master-modify-view.component-DoeGBemE.mjs → acorex-platform-themes-default-entity-master-modify-view.component-DveB-N1Z.mjs} +5 -5
  28. package/fesm2022/{acorex-platform-themes-default-entity-master-modify-view.component-DoeGBemE.mjs.map → acorex-platform-themes-default-entity-master-modify-view.component-DveB-N1Z.mjs.map} +1 -1
  29. package/fesm2022/{acorex-platform-themes-default-entity-master-single-view.component-D8UjpvuI.mjs → acorex-platform-themes-default-entity-master-single-view.component-q_DOP0cT.mjs} +12 -12
  30. package/fesm2022/{acorex-platform-themes-default-entity-master-single-view.component-D8UjpvuI.mjs.map → acorex-platform-themes-default-entity-master-single-view.component-q_DOP0cT.mjs.map} +1 -1
  31. package/fesm2022/acorex-platform-themes-default.mjs +233 -193
  32. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
  33. package/fesm2022/acorex-platform-themes-shared.mjs +182 -23
  34. package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
  35. package/fesm2022/{acorex-platform-widgets-checkbox-widget-designer.component-RCi5IJOR.mjs → acorex-platform-widgets-checkbox-widget-designer.component-B_Gec5Qf.mjs} +4 -4
  36. package/fesm2022/{acorex-platform-widgets-checkbox-widget-designer.component-RCi5IJOR.mjs.map → acorex-platform-widgets-checkbox-widget-designer.component-B_Gec5Qf.mjs.map} +1 -1
  37. package/fesm2022/{acorex-platform-widgets-color-box-widget-designer.component-CWhbgmDV.mjs → acorex-platform-widgets-color-box-widget-designer.component-B2g0ct24.mjs} +4 -4
  38. package/fesm2022/acorex-platform-widgets-color-box-widget-designer.component-B2g0ct24.mjs.map +1 -0
  39. package/fesm2022/{acorex-platform-widgets-page-widget-designer.component-DGNcuRbs.mjs → acorex-platform-widgets-page-widget-designer.component-CITselce.mjs} +5 -5
  40. package/fesm2022/acorex-platform-widgets-page-widget-designer.component-CITselce.mjs.map +1 -0
  41. package/fesm2022/acorex-platform-widgets.mjs +280 -127
  42. package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
  43. package/layout/builder/lib/builder/widget-column-renderer.d.ts +5 -1
  44. package/layout/builder/lib/builder/widget-renderer.component.directive.d.ts +6 -1
  45. package/layout/builder/lib/builder/widget.types.d.ts +14 -9
  46. package/layout/designer/lib/preview/preview.component.d.ts +2 -2
  47. package/layout/entity/lib/entity-detail-list.viewmodel.d.ts +1 -0
  48. package/layout/entity/lib/entity-master-list.viewmodel.d.ts +1 -0
  49. package/layout/entity/lib/widgets/lookup-widget/lookup-widget-selector.viewmodel.d.ts +1 -0
  50. package/layout/setting/lib/setting.viewmodel.d.ts +19 -19
  51. package/layouts/lib/admin/entity-layout/entity-details-view/entity-details-view.component.d.ts +1 -0
  52. package/package.json +14 -14
  53. package/themes/default/index.d.ts +2 -1
  54. package/themes/default/lib/layouts/base/index.d.ts +1 -0
  55. package/themes/default/lib/layouts/base/simple-page/simple-page.layout.d.ts +7 -0
  56. package/themes/default/lib/layouts/entity-layouts/entity-detail-list-view/entity-detail-list-view.component.d.ts +1 -0
  57. package/themes/default/lib/layouts/entity-layouts/entity-master-list-view/entity-master-list-view.component.d.ts +1 -0
  58. package/themes/default/lib/layouts/entity-layouts/entity-master-list-view/list-view-option-columns/list-view-option-columns.component.d.ts +2 -2
  59. package/themes/default/lib/layouts/entity-layouts/entity-master-single-view/entity-master-single-view.component.d.ts +1 -0
  60. package/themes/default/lib/layouts/root-layout/components/header/header.component.d.ts +1 -0
  61. package/themes/default/lib/layouts/root-layout/root-layout.component.d.ts +1 -0
  62. package/themes/default/lib/layouts/setting-layout/setting-menu/setting-menu.component.d.ts +0 -2
  63. package/themes/default/lib/layouts/setting-layout/setting-page/setting-page.component.d.ts +5 -0
  64. package/themes/default/lib/layouts/setting-layout/setting-view/setting-view.component.d.ts +3 -1
  65. package/themes/shared/index.d.ts +1 -0
  66. package/themes/shared/lib/components/layout-elements/index.d.ts +2 -0
  67. package/themes/shared/lib/components/layout-elements/layout-blocks.component.d.ts +5 -0
  68. package/themes/shared/lib/components/layout-elements/layout-page-header.component.d.ts +11 -0
  69. package/themes/shared/lib/components/theme-slot.component.d.ts +1 -0
  70. package/themes/shared/lib/services/theme.service.d.ts +1 -0
  71. package/themes/shared/lib/setting.keys.d.ts +4 -0
  72. package/themes/shared/lib/setting.provider.d.ts +4 -0
  73. package/widgets/lib/properties/layout.props.d.ts +1 -0
  74. package/widgets/lib/widgets/advance/map/map-box-widget-edit.component.d.ts +1 -1
  75. package/widgets/lib/widgets/advance/map/map-box-widget-view.component.d.ts +1 -1
  76. package/widgets/lib/widgets/editors/checkbox/checkbox-widget-edit.component.d.ts +0 -3
  77. package/widgets/lib/widgets/editors/checkbox/checkbox-widget.config.d.ts +4 -6
  78. package/widgets/lib/widgets/editors/password/password-box-widget-view.component.d.ts +1 -1
  79. package/widgets/lib/widgets/editors/toggle/toggle-widget-edit.component.d.ts +4 -0
  80. package/widgets/lib/widgets/index.d.ts +1 -0
  81. package/widgets/lib/widgets/layout/block/block-widget-designer.component.d.ts +2 -2
  82. package/widgets/lib/widgets/layout/form-field/form-field-widget-designer.component.d.ts +2 -2
  83. package/widgets/lib/widgets/layout/grid/grid-widget-designer.component.d.ts +2 -2
  84. package/widgets/lib/widgets/layout/grid-item/grid-item-widget-designer.component.d.ts +2 -2
  85. package/widgets/lib/widgets/layout/grid-item/grid-item-widget-view.component.d.ts +2 -2
  86. package/widgets/lib/widgets/layout/grid-row/grid-row-widget-designer.component.d.ts +2 -2
  87. package/widgets/lib/widgets/layout/page/page-widget-designer.component.d.ts +2 -2
  88. package/widgets/lib/widgets/layout/repeater/repeater-widget-designer.component.d.ts +2 -2
  89. package/widgets/lib/widgets/property-editors/spacing/index.d.ts +3 -0
  90. package/widgets/lib/widgets/property-editors/spacing/spacing-widget-editor.component.d.ts +13 -0
  91. package/widgets/lib/widgets/property-editors/spacing/spacing-widget-type.d.ts +10 -0
  92. package/widgets/lib/widgets/property-editors/spacing/spacing-widget.config.d.ts +7 -0
  93. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-DJYTC375.mjs +0 -305
  94. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-DJYTC375.mjs.map +0 -1
  95. package/fesm2022/acorex-platform-widgets-color-box-widget-designer.component-CWhbgmDV.mjs.map +0 -1
  96. package/fesm2022/acorex-platform-widgets-page-widget-designer.component-DGNcuRbs.mjs.map +0 -1
@@ -5,18 +5,22 @@ import { AXPWidgetColumnNode } from './widget.types';
5
5
  import * as i0 from "@angular/core";
6
6
  export declare class AXPWidgetColumnRendererComponent extends AXDataTableColumnComponent {
7
7
  protected widgetRegistery: AXPWidgetRegistryService;
8
+ private grid;
8
9
  private _node;
9
10
  get node(): AXPWidgetColumnNode;
10
11
  set node(v: AXPWidgetColumnNode);
11
12
  private mergedOptions;
13
+ protected loadingRow: import("@angular/core").WritableSignal<null>;
12
14
  footerTemplate: TemplateRef<unknown>;
13
15
  private _contentFooterTemplate;
14
16
  get renderFooterTemplate(): TemplateRef<unknown>;
17
+ expandHandler: boolean;
15
18
  cellTemplate: TemplateRef<unknown>;
16
19
  private _contentCellTemplate;
17
20
  get renderCellTemplate(): TemplateRef<unknown>;
18
21
  headerTemplate: TemplateRef<unknown>;
19
22
  private _contentHeaderTemplate;
23
+ protected handleExpandRow(row: any): Promise<void>;
20
24
  get renderHeaderTemplate(): TemplateRef<unknown>;
21
25
  get loadingEnabled(): boolean;
22
26
  get name(): string;
@@ -27,5 +31,5 @@ export declare class AXPWidgetColumnRendererComponent extends AXDataTableColumnC
27
31
  ngOnInit(): Promise<void>;
28
32
  getInputs(data: any): any;
29
33
  static ɵfac: i0.ɵɵFactoryDeclaration<AXPWidgetColumnRendererComponent, never>;
30
- static ɵcmp: i0.ɵɵComponentDeclaration<AXPWidgetColumnRendererComponent, "axp-widget-column-renderer", never, { "caption": { "alias": "caption"; "required": false; }; "node": { "alias": "node"; "required": true; }; "footerTemplate": { "alias": "footerTemplate"; "required": false; }; "cellTemplate": { "alias": "cellTemplate"; "required": false; }; "headerTemplate": { "alias": "headerTemplate"; "required": false; }; }, {}, never, never, false, never>;
34
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXPWidgetColumnRendererComponent, "axp-widget-column-renderer", never, { "caption": { "alias": "caption"; "required": false; }; "node": { "alias": "node"; "required": true; }; "footerTemplate": { "alias": "footerTemplate"; "required": false; }; "expandHandler": { "alias": "expandHandler"; "required": false; }; "cellTemplate": { "alias": "cellTemplate"; "required": false; }; "headerTemplate": { "alias": "headerTemplate"; "required": false; }; }, {}, never, never, false, never>;
31
35
  }
@@ -4,11 +4,16 @@ import { AXPLayoutBuilderService } from './builder.service';
4
4
  import { AXPWidgetRegistryService } from './widget-registery.service';
5
5
  import { AXPWidgetComponent, AXPWidgetNode } from './widget.types';
6
6
  import * as i0 from "@angular/core";
7
+ export interface AXPWidgetRendererDirectiveOptions {
8
+ needLabel: boolean;
9
+ }
7
10
  export declare class AXPWidgetRendererDirective {
8
11
  parentNode: import("@angular/core").InputSignal<AXPWidgetComponent<any> | null | undefined>;
9
12
  index: import("@angular/core").InputSignal<number | null | undefined>;
10
13
  mode: import("@angular/core").InputSignal<keyof import("./widget.types").AXPWidgetConfigComponents>;
11
14
  node: import("@angular/core").InputSignal<AXPWidgetNode>;
15
+ private _options;
16
+ options: import("@angular/core").Signal<AXPWidgetRendererDirectiveOptions>;
12
17
  protected mergedOptions: WritableSignal<any>;
13
18
  private injector;
14
19
  protected builderService: AXPLayoutBuilderService;
@@ -42,5 +47,5 @@ export declare class AXPWidgetRendererDirective {
42
47
  private evaluateTrigger;
43
48
  private evaluateAction;
44
49
  static ɵfac: i0.ɵɵFactoryDeclaration<AXPWidgetRendererDirective, never>;
45
- static ɵdir: i0.ɵɵDirectiveDeclaration<AXPWidgetRendererDirective, "[axp-widget-renderer]", never, { "parentNode": { "alias": "parentNode"; "required": false; "isSignal": true; }; "index": { "alias": "index"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": true; "isSignal": true; }; "node": { "alias": "node"; "required": true; "isSignal": true; }; }, {}, never, never, false, never>;
50
+ static ɵdir: i0.ɵɵDirectiveDeclaration<AXPWidgetRendererDirective, "[axp-widget-renderer]", ["widgetRenderer"], { "parentNode": { "alias": "parentNode"; "required": false; "isSignal": true; }; "index": { "alias": "index"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": true; "isSignal": true; }; "node": { "alias": "node"; "required": true; "isSignal": true; }; }, {}, never, never, false, never>;
46
51
  }
@@ -1,6 +1,6 @@
1
1
  import { AXDataSource, AXValueChangedEvent } from '@acorex/components/common';
2
2
  import { AXPMetaData, AXPOptionsData, AXPPartialNested, AXPValidationRules } from '@acorex/platform/core';
3
- import { InjectionToken } from '@angular/core';
3
+ import { InjectionToken, OnInit } from '@angular/core';
4
4
  import { Subject } from 'rxjs';
5
5
  import { AXPLayoutElement } from './builder.service';
6
6
  import * as i0 from "@angular/core";
@@ -10,6 +10,7 @@ export type AXPWidgetTrigger = {
10
10
  disabled?: boolean;
11
11
  };
12
12
  export type AXPWidgetTriggers = AXPWidgetTrigger[];
13
+ export type AXPWidgetValueTransformFunction = (value: any) => any;
13
14
  export interface AXPWidgetPropertyGroup {
14
15
  name: string;
15
16
  title: string;
@@ -75,6 +76,10 @@ export interface AXPWidgetNode {
75
76
  options?: AXPOptionsData;
76
77
  triggers?: AXPWidgetTriggers;
77
78
  meta?: AXPMetaData;
79
+ valueTransforms?: {
80
+ getter?: AXPWidgetValueTransformFunction;
81
+ setter?: AXPWidgetValueTransformFunction;
82
+ };
78
83
  }
79
84
  export interface AXPWidgetTypesMap {
80
85
  checkbox: 'checkbox-editor';
@@ -112,6 +117,7 @@ export interface AXPWidgetTypesMap {
112
117
  template: 'template';
113
118
  templateDesigner: 'template-designer';
114
119
  cronJob: 'cron-job';
120
+ spacing: 'spacing';
115
121
  }
116
122
  export interface AXPWidgetNodeToken {
117
123
  config: AXPWidgetConfig;
@@ -145,7 +151,9 @@ export type AXPWidgetOptionsMap = {
145
151
  container: {
146
152
  canInsert: boolean;
147
153
  };
148
- editor: {};
154
+ editor: {
155
+ needLabel: boolean;
156
+ };
149
157
  action: {};
150
158
  view: {};
151
159
  };
@@ -153,7 +161,7 @@ export type AXPExtractWidgetConfig<T> = {
153
161
  type: AXPWidgetViewType;
154
162
  options: T extends {
155
163
  type: infer V;
156
- } ? V extends keyof AXPWidgetOptionsMap ? AXPWidgetOptionsMap[V] : any : any;
164
+ } ? (V extends keyof AXPWidgetOptionsMap ? AXPWidgetOptionsMap[V] : any) : any;
157
165
  };
158
166
  export interface AXPWidgetConfig<T = any> {
159
167
  name: AXPWidgetTypesMap[keyof AXPWidgetTypesMap];
@@ -176,7 +184,7 @@ export interface AXPLayoutContextEvent {
176
184
  data: any;
177
185
  init: boolean;
178
186
  }
179
- export declare abstract class AXPWidgetComponent<T = any | null | void> extends AXPLayoutElement {
187
+ export declare abstract class AXPWidgetComponent<T = any | null | void> extends AXPLayoutElement implements OnInit {
180
188
  protected readonly token: AXPWidgetNodeToken;
181
189
  readonly host: HTMLDivElement;
182
190
  readonly config: AXPWidgetConfig<any>;
@@ -203,22 +211,19 @@ export declare abstract class AXPWidgetComponent<T = any | null | void> extends
203
211
  ngOnInit(): void;
204
212
  private nextRender;
205
213
  private initRender;
206
- getValue: import("@angular/core").Signal<any>;
214
+ getValue: import("@angular/core").Signal<T>;
207
215
  protected extractValue(path: string): any;
208
216
  setValue(value: T | null | undefined, init?: boolean): void;
209
217
  setOptions(values: any): void;
210
218
  call(name: string, ...args: any[]): void;
211
219
  setChildren(children: AXPWidgetNode[]): void;
212
220
  onValueChanged(oldValue: T | null, newValue: T | null): void;
221
+ onAdded(): void;
213
222
  private detectFullPath;
214
223
  protected handleValueChanged(e: AXValueChangedEvent<T>): void;
215
224
  static ɵfac: i0.ɵɵFactoryDeclaration<AXPWidgetComponent<any>, never>;
216
225
  static ɵprov: i0.ɵɵInjectableDeclaration<AXPWidgetComponent<any>>;
217
226
  }
218
- export declare abstract class AXPContainerWidgetComponent<T> extends AXPWidgetComponent<T> {
219
- static ɵfac: i0.ɵɵFactoryDeclaration<AXPContainerWidgetComponent<any>, never>;
220
- static ɵprov: i0.ɵɵInjectableDeclaration<AXPContainerWidgetComponent<any>>;
221
- }
222
227
  export type AXPDataSource = string | AXDataSource | any[];
223
228
  export declare abstract class AXPDataListWidgetComponent extends AXPWidgetComponent<any> {
224
229
  private dataService;
@@ -1,9 +1,9 @@
1
1
  import { AXBasePageComponent } from '@acorex/components/page';
2
- import { AXPClipBoardService, AXPSettingsService } from '@acorex/platform/common';
2
+ import { AXPClipBoardService, AXPSettingValueProviderService } from '@acorex/platform/common';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class AXPLayoutDesignerPreviewComponent extends AXBasePageComponent {
5
5
  protected clipboard: AXPClipBoardService;
6
- protected settings: AXPSettingsService;
6
+ protected settings: AXPSettingValueProviderService;
7
7
  protected initialSize: string;
8
8
  protected isDialogWindow: boolean;
9
9
  private jsonSettingsKey;
@@ -11,6 +11,7 @@ export declare class AXPEntityDetailListViewModel {
11
11
  private workflow;
12
12
  private filterOperatorMiddleware;
13
13
  dataSource: AXDataSource<unknown>;
14
+ parentKey: import("@angular/core").Signal<string | undefined>;
14
15
  constructor(injector: Injector, detailEntityConfig: AXPRelatedEntity, parent: {
15
16
  entity: AXPEntity;
16
17
  data: any;
@@ -46,6 +46,7 @@ export declare class AXPEntityMasterListViewModel {
46
46
  constructor(injector: Injector, config: AXPEntity);
47
47
  applySettings(): Promise<void>;
48
48
  selectedItems: import("@angular/core").WritableSignal<any[]>;
49
+ parentKey: import("@angular/core").Signal<string | undefined>;
49
50
  hasSelectedItems: import("@angular/core").Signal<boolean>;
50
51
  clearSelection(): void;
51
52
  title: import("@angular/core").Signal<string>;
@@ -10,6 +10,7 @@ export declare class AXPLookupWidgetSelectorViewModel {
10
10
  constructor(injector: Injector, entityDef: AXPEntity, parentFilters?: AXDataSourceFilterOption | null);
11
11
  dataSource: AXDataSource<unknown>;
12
12
  canCreate: import("@angular/core").Signal<boolean>;
13
+ parentKey: import("@angular/core").Signal<string | undefined>;
13
14
  create(): Promise<void>;
14
15
  inlineFiltersPlaceholders: import("@angular/core").Signal<string[]>;
15
16
  hasInlineFilters: import("@angular/core").Signal<boolean>;
@@ -1,42 +1,42 @@
1
1
  import { AXTreeItemClickBaseEvent, AXTreeViewSchema } from '@acorex/components/tree-view/lib/tree-view.class';
2
- import { AXPGroupDetails, AXPSettingDefinitionGroup } from '@acorex/platform/common';
3
- import { OnDestroy } from '@angular/core';
2
+ import { AXPGroupSearchResult, AXPSettingDefinitionGroup } from '@acorex/platform/common';
4
3
  import { ActivatedRoute } from '@angular/router';
5
- import { Subscription } from 'rxjs';
4
+ import { AXPLayoutContextEvent } from '@acorex/platform/layout/builder';
6
5
  import * as i0 from "@angular/core";
7
- export declare class AXPSettingsViewModel implements OnDestroy {
6
+ export declare class AXPSettingsViewModel {
7
+ #private;
8
8
  private readonly router;
9
- private readonly settingService;
9
+ private readonly settingDefinitionService;
10
+ private readonly settingValueService;
10
11
  private readonly platform;
11
12
  private readonly toastService;
12
13
  private readonly highlightService;
13
14
  private activatedRoute;
14
- subscription: Subscription;
15
15
  isMobile: import("@angular/core").WritableSignal<boolean>;
16
16
  fullRoute: string;
17
17
  search: import("@angular/core").WritableSignal<string>;
18
- searchedSettings: import("@angular/core").WritableSignal<AXPSettingDefinitionGroup[] | undefined>;
19
- effect2: import("@angular/core").EffectRef;
18
+ searchResult: import("@angular/core").WritableSignal<AXPSettingDefinitionGroup[] | undefined>;
20
19
  activatedGroup: import("@angular/core").WritableSignal<string | undefined>;
21
- data: import("@angular/core").WritableSignal<AXPSettingDefinitionGroup[] | null>;
22
- dataDetails: import("@angular/core").Signal<AXPGroupDetails | null>;
20
+ private loadedItems;
23
21
  formattedData: import("@angular/core").WritableSignal<AXTreeViewSchema[]>;
22
+ groups: import("@angular/core").Signal<AXPGroupSearchResult | null>;
23
+ /**
24
+ * @ignore
25
+ */
26
+ constructor();
24
27
  initializeService(activatedRoute: ActivatedRoute): Promise<void>;
25
- ngOnDestroy(): void;
26
- getData(): Promise<void>;
27
- fetchGroupDetails(groupName: string): AXPGroupDetails | null;
28
+ private load;
28
29
  private updateGroupParam;
29
30
  onChooseGroup(item: AXTreeItemClickBaseEvent): void;
30
31
  context: import("@angular/core").WritableSignal<Record<any, any>>;
31
- previousContext: import("@angular/core").WritableSignal<Record<any, any>>;
32
- setContext(value: any): void;
32
+ private previousContext;
33
+ handleContextChanged(e: AXPLayoutContextEvent): void;
33
34
  isSaving: import("@angular/core").WritableSignal<boolean>;
34
35
  canCancel: import("@angular/core").Signal<boolean>;
35
36
  canSave: import("@angular/core").Signal<boolean>;
36
- onSaveSettings(): Promise<void>;
37
- onCancelSettings(): void;
38
- private isObjectEmpty;
39
- private areObjectsEqual;
37
+ apply(): Promise<void>;
38
+ reset(): void;
39
+ resetToDefault(): void;
40
40
  static ɵfac: i0.ɵɵFactoryDeclaration<AXPSettingsViewModel, never>;
41
41
  static ɵprov: i0.ɵɵInjectableDeclaration<AXPSettingsViewModel>;
42
42
  }
@@ -45,6 +45,7 @@ export declare class AXPEntityDetailsViewComponent {
45
45
  toggleSideMenu: () => void;
46
46
  setNavigationLoading: (value: boolean) => void;
47
47
  setOverlayLoading: (value: boolean) => void;
48
+ loadSettings: () => Promise<void>;
48
49
  } & import("@ngrx/signals").StateSource<{
49
50
  currentTheme: import("@acorex/platform/themes/shared").AXPThemeVariant;
50
51
  systemTheme: import("@acorex/platform/themes/shared").AXPThemeVariant;
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@acorex/platform",
3
- "version": "19.0.1",
3
+ "version": "19.1.0",
4
4
  "peerDependencies": {
5
- "@angular/common": ">=18.0.0",
6
- "@angular/core": ">=18.0.0",
5
+ "@angular/common": ">=19.0.0",
6
+ "@angular/core": ">=19.0.0",
7
7
  "@ngrx/effects": "18.0.0",
8
8
  "@ngrx/store": "18.0.0",
9
9
  "@ngrx/store-devtools": "18.0.0",
@@ -19,9 +19,9 @@
19
19
  "jspdf": "^2.5.1",
20
20
  "html2canvas": "^1.4.1",
21
21
  "signature_pad": "^4.1.7",
22
- "@acorex/styles": ">=18.0.4",
23
- "@acorex/core": ">=18.0.4",
24
- "@acorex/components": ">=18.0.4"
22
+ "@acorex/styles": ">=19.0.0",
23
+ "@acorex/core": ">=19.0.0",
24
+ "@acorex/components": ">=19.0.0"
25
25
  },
26
26
  "dependencies": {
27
27
  "tslib": "^2.3.0"
@@ -41,14 +41,6 @@
41
41
  "types": "./auth/index.d.ts",
42
42
  "default": "./fesm2022/acorex-platform-auth.mjs"
43
43
  },
44
- "./native": {
45
- "types": "./native/index.d.ts",
46
- "default": "./fesm2022/acorex-platform-native.mjs"
47
- },
48
- "./layouts": {
49
- "types": "./layouts/index.d.ts",
50
- "default": "./fesm2022/acorex-platform-layouts.mjs"
51
- },
52
44
  "./common": {
53
45
  "types": "./common/index.d.ts",
54
46
  "default": "./fesm2022/acorex-platform-common.mjs"
@@ -57,6 +49,14 @@
57
49
  "types": "./core/index.d.ts",
58
50
  "default": "./fesm2022/acorex-platform-core.mjs"
59
51
  },
52
+ "./layouts": {
53
+ "types": "./layouts/index.d.ts",
54
+ "default": "./fesm2022/acorex-platform-layouts.mjs"
55
+ },
56
+ "./native": {
57
+ "types": "./native/index.d.ts",
58
+ "default": "./fesm2022/acorex-platform-native.mjs"
59
+ },
60
60
  "./widgets": {
61
61
  "types": "./widgets/index.d.ts",
62
62
  "default": "./fesm2022/acorex-platform-widgets.mjs"
@@ -1,4 +1,5 @@
1
- export * from './lib/default.module';
1
+ export * from './lib/layouts/base';
2
2
  export * from './lib/layouts/entity-layouts';
3
3
  export * from './lib/layouts/root-layout';
4
4
  export * from './lib/layouts/setting-layout';
5
+ export * from './lib/default.module';
@@ -0,0 +1 @@
1
+ export * from './simple-page/simple-page.layout';
@@ -0,0 +1,7 @@
1
+ import { AXPThemeLayoutPageHeaderComponent } from '@acorex/platform/themes/shared';
2
+ import * as i0 from "@angular/core";
3
+ export declare class AXPSimplePageLayout {
4
+ protected headerLayout: import("@angular/core").Signal<AXPThemeLayoutPageHeaderComponent | undefined>;
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPSimplePageLayout, never>;
6
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXPSimplePageLayout, "axp-layout-simple-page", never, {}, {}, ["headerLayout"], ["axp-page-side", "axp-page-header", "axp-page-content"], true, never>;
7
+ }
@@ -38,6 +38,7 @@ export declare class AXPEntityDetailListViewComponent {
38
38
  toggleSideMenu: () => void;
39
39
  setNavigationLoading: (value: boolean) => void;
40
40
  setOverlayLoading: (value: boolean) => void;
41
+ loadSettings: () => Promise<void>;
41
42
  } & import("@ngrx/signals").StateSource<{
42
43
  currentTheme: import("@acorex/platform/themes/shared").AXPThemeVariant;
43
44
  systemTheme: import("@acorex/platform/themes/shared").AXPThemeVariant;
@@ -37,6 +37,7 @@ export declare class AXPEntityMasterListViewComponent {
37
37
  toggleSideMenu: () => void;
38
38
  setNavigationLoading: (value: boolean) => void;
39
39
  setOverlayLoading: (value: boolean) => void;
40
+ loadSettings: () => Promise<void>;
40
41
  } & import("@ngrx/signals").StateSource<{
41
42
  currentTheme: import("@acorex/platform/themes/shared").AXPThemeVariant;
42
43
  systemTheme: import("@acorex/platform/themes/shared").AXPThemeVariant;
@@ -1,11 +1,11 @@
1
1
  import { AXValueChangedEvent } from '@acorex/components/common';
2
- import { AXPSettingsService } from '@acorex/platform/common';
2
+ import { AXPSettingValueProviderService } from '@acorex/platform/common';
3
3
  import { AXPEntityMasterListViewModel } from '@acorex/platform/layout/entity';
4
4
  import { CdkDragDrop } from '@angular/cdk/drag-drop';
5
5
  import { EventEmitter } from '@angular/core';
6
6
  import * as i0 from "@angular/core";
7
7
  export declare class AXPListViewOptionsColumnsComponent {
8
- protected settings: AXPSettingsService;
8
+ protected settings: AXPSettingValueProviderService;
9
9
  vm: AXPEntityMasterListViewModel;
10
10
  onClosed: EventEmitter<void>;
11
11
  columnsChanged: import("@angular/core").EffectRef;
@@ -34,6 +34,7 @@ export declare class AXPEntityMasterSingleViewComponent {
34
34
  toggleSideMenu: () => void;
35
35
  setNavigationLoading: (value: boolean) => void;
36
36
  setOverlayLoading: (value: boolean) => void;
37
+ loadSettings: () => Promise<void>;
37
38
  } & import("@ngrx/signals").StateSource<{
38
39
  currentTheme: import("@acorex/platform/themes/shared").AXPThemeVariant;
39
40
  systemTheme: import("@acorex/platform/themes/shared").AXPThemeVariant;
@@ -30,6 +30,7 @@ export declare class AXPRootLayoutHeaderComponent {
30
30
  toggleSideMenu: () => void;
31
31
  setNavigationLoading: (value: boolean) => void;
32
32
  setOverlayLoading: (value: boolean) => void;
33
+ loadSettings: () => Promise<void>;
33
34
  } & import("@ngrx/signals").StateSource<{
34
35
  currentTheme: import("@acorex/platform/themes/shared").AXPThemeVariant;
35
36
  systemTheme: import("@acorex/platform/themes/shared").AXPThemeVariant;
@@ -33,6 +33,7 @@ export declare class AXPRootLayoutComponent {
33
33
  toggleSideMenu: () => void;
34
34
  setNavigationLoading: (value: boolean) => void;
35
35
  setOverlayLoading: (value: boolean) => void;
36
+ loadSettings: () => Promise<void>;
36
37
  } & import("@ngrx/signals").StateSource<{
37
38
  currentTheme: import("@acorex/platform/themes/shared").AXPThemeVariant;
38
39
  systemTheme: import("@acorex/platform/themes/shared").AXPThemeVariant;
@@ -1,11 +1,9 @@
1
- import { AXTreeViewComponent } from '@acorex/components/tree-view';
2
1
  import { AXPSettingsViewModel } from '@acorex/platform/layout/setting';
3
2
  import { ActivatedRoute } from '@angular/router';
4
3
  import * as i0 from "@angular/core";
5
4
  export declare class AXPSettingsMenuComponent {
6
5
  settings: AXPSettingsViewModel;
7
6
  activatedRoute: ActivatedRoute;
8
- tree: import("@angular/core").Signal<AXTreeViewComponent | undefined>;
9
7
  constructor();
10
8
  static ɵfac: i0.ɵɵFactoryDeclaration<AXPSettingsMenuComponent, never>;
11
9
  static ɵcmp: i0.ɵɵComponentDeclaration<AXPSettingsMenuComponent, "ng-component", never, {}, {}, never, never, true, never>;
@@ -0,0 +1,5 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class AXPSettingPageComponent {
3
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPSettingPageComponent, never>;
4
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXPSettingPageComponent, "ng-component", never, {}, {}, never, never, true, never>;
5
+ }
@@ -1,7 +1,9 @@
1
1
  import { AXPSettingsViewModel } from '@acorex/platform/layout/setting';
2
+ import { Injector } from '@angular/core';
2
3
  import * as i0 from "@angular/core";
3
4
  export declare class AXPSettingsViewComponent {
4
- settings: AXPSettingsViewModel;
5
+ protected vm: AXPSettingsViewModel;
6
+ protected injector: Injector;
5
7
  static ɵfac: i0.ɵɵFactoryDeclaration<AXPSettingsViewComponent, never>;
6
8
  static ɵcmp: i0.ɵɵComponentDeclaration<AXPSettingsViewComponent, "ng-component", never, {}, {}, never, never, true, never>;
7
9
  }
@@ -1,3 +1,4 @@
1
+ export * from './lib/components/layout-elements';
1
2
  export * from './lib/components/theme-slot.component';
2
3
  export * from './lib/services/theme.service';
3
4
  export * from './lib/shared.module';
@@ -0,0 +1,2 @@
1
+ export * from './layout-blocks.component';
2
+ export * from './layout-page-header.component';
@@ -0,0 +1,5 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class AXPThemeLayoutBlockComponent {
3
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPThemeLayoutBlockComponent, never>;
4
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXPThemeLayoutBlockComponent, " axp-page-content, axp-page-body, axp-page-title, axp-page-description, axp-page-actions, axp-page-navbar, axp-page-side, axp-page-breadcrumbs ", never, {}, {}, never, ["*"], true, never>;
5
+ }
@@ -0,0 +1,11 @@
1
+ import { TemplateRef } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class AXPThemeLayoutPageHeaderComponent {
4
+ readonly title: import("@angular/core").Signal<TemplateRef<any> | undefined>;
5
+ readonly description: import("@angular/core").Signal<TemplateRef<any> | undefined>;
6
+ readonly actions: import("@angular/core").Signal<TemplateRef<any> | undefined>;
7
+ readonly navbar: import("@angular/core").Signal<TemplateRef<any> | undefined>;
8
+ readonly breadcrumbs: import("@angular/core").Signal<TemplateRef<any> | undefined>;
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPThemeLayoutPageHeaderComponent, never>;
10
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXPThemeLayoutPageHeaderComponent, "axp-page-header", never, {}, {}, never, ["axp-page-breadcrumbs", "axp-page-navbar", "axp-page-actions", "axp-page-description", "axp-page-title", "*"], true, never>;
11
+ }
@@ -31,6 +31,7 @@ export declare class AXPThemeSlotComponent {
31
31
  toggleSideMenu: () => void;
32
32
  setNavigationLoading: (value: boolean) => void;
33
33
  setOverlayLoading: (value: boolean) => void;
34
+ loadSettings: () => Promise<void>;
34
35
  } & import("@ngrx/signals").StateSource<{
35
36
  currentTheme: AXPThemeVariant;
36
37
  systemTheme: AXPThemeVariant;
@@ -47,6 +47,7 @@ export declare const AXPLayoutThemeService: import("@angular/core").Type<{
47
47
  toggleSideMenu: () => void;
48
48
  setNavigationLoading: (value: boolean) => void;
49
49
  setOverlayLoading: (value: boolean) => void;
50
+ loadSettings: () => Promise<void>;
50
51
  } & import("@ngrx/signals").StateSource<{
51
52
  currentTheme: AXPThemeVariant;
52
53
  systemTheme: AXPThemeVariant;
@@ -0,0 +1,4 @@
1
+ export declare enum AXPThemeLayoutSetting {
2
+ ThemeVariant = "layout:theme:variant",
3
+ ThemeSideMenu = "layout:theme:sidemenu"
4
+ }
@@ -0,0 +1,4 @@
1
+ import { AXPSettingDefinitionProvider, AXPSettingDefinitionProviderContext } from '@acorex/platform/common';
2
+ export declare class AXPThemeSettingProvider implements AXPSettingDefinitionProvider {
3
+ provide(context: AXPSettingDefinitionProviderContext): Promise<void>;
4
+ }
@@ -16,3 +16,4 @@ export declare const AXP_LAYOUT_GRID_PROPERTIES: AXPWidgetProperty[];
16
16
  export declare const AXP_LAYOUT_GRID_ROW_PROPERTIES: AXPWidgetProperty[];
17
17
  export declare const AXP_LAYOUT_GRID_ITEM_PROPERTIES: AXPWidgetProperty[];
18
18
  export declare const AXP_LAYOUT_FLEX_PROPERTIES: AXPWidgetProperty[];
19
+ export declare const AXP_LAYOUT_SPACING_PROPERTY: AXPWidgetProperty;
@@ -4,7 +4,7 @@ import { ChangeDetectorRef } from '@angular/core';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class AXPMapBoxWidgetEditComponent extends AXPWidgetComponent<AXMapLocation[]> {
6
6
  cdr: ChangeDetectorRef;
7
- markers: import("@angular/core").Signal<any>;
7
+ markers: import("@angular/core").Signal<AXMapLocation[]>;
8
8
  hasDraw: import("@angular/core").Signal<boolean>;
9
9
  hasLocate: import("@angular/core").Signal<boolean>;
10
10
  maxMarker: import("@angular/core").Signal<number>;
@@ -2,7 +2,7 @@ import { AXMapLocation } from '@acorex/components/map';
2
2
  import { AXPWidgetComponent } from '@acorex/platform/layout/builder';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class AXPMapBoxWidgetViewComponent extends AXPWidgetComponent<AXMapLocation[]> {
5
- markers: import("@angular/core").Signal<any>;
5
+ markers: import("@angular/core").Signal<AXMapLocation[]>;
6
6
  height: import("@angular/core").Signal<number>;
7
7
  zoomLevel: import("@angular/core").Signal<number>;
8
8
  initialLocation: import("@angular/core").Signal<AXMapLocation>;
@@ -2,9 +2,6 @@ import { AXPValidationRules } from '@acorex/platform/core';
2
2
  import { AXPWidgetComponent } from '@acorex/platform/layout/builder';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class AXPCheckBoxWidgetEditComponent extends AXPWidgetComponent<boolean | null> {
5
- protected negative: import("@angular/core").Signal<boolean>;
6
- protected trulyText: import("@angular/core").Signal<boolean>;
7
- protected falsyText: import("@angular/core").Signal<boolean>;
8
5
  protected disabled: import("@angular/core").Signal<boolean>;
9
6
  protected readonly: import("@angular/core").Signal<boolean>;
10
7
  protected label: import("@angular/core").Signal<string>;
@@ -1,7 +1,5 @@
1
1
  import { AXPWidgetConfig } from '@acorex/platform/layout/builder';
2
- export declare const AXPCheckBoxWidget: AXPWidgetConfig;
3
- declare module '@acorex/platform/layout/builder' {
4
- interface AXPWidgetTypesMap {
5
- checkbox: 'checkbox-editor';
6
- }
7
- }
2
+ export declare const AXPCheckBoxWidget: AXPWidgetConfig<AXPCheckBoxWidgetConfigType>;
3
+ export type AXPCheckBoxWidgetConfigType = {
4
+ type: 'editor';
5
+ };
@@ -2,7 +2,7 @@ import { AXPClipBoardService } from '@acorex/platform/common';
2
2
  import { AXPWidgetComponent } from '@acorex/platform/layout/builder';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class AXPPasswordBoxWidgetViewComponent extends AXPWidgetComponent<string> {
5
- protected internalValue: import("@angular/core").Signal<any>;
5
+ protected internalValue: import("@angular/core").Signal<string>;
6
6
  protected hasCopyIcon: import("@angular/core").Signal<boolean>;
7
7
  protected hasEyeIcon: import("@angular/core").Signal<boolean>;
8
8
  protected showPassword: import("@angular/core").Signal<boolean>;
@@ -1,8 +1,12 @@
1
1
  import { AXStyleColorType } from '@acorex/components/common';
2
+ import { AXPValidationRules } from '@acorex/platform/core';
2
3
  import { AXPWidgetComponent } from '@acorex/platform/layout/builder';
3
4
  import * as i0 from "@angular/core";
4
5
  export declare class AXPToggleWidgetEditComponent extends AXPWidgetComponent<any> {
5
6
  protected disabled: import("@angular/core").Signal<boolean>;
7
+ protected readonly: import("@angular/core").Signal<boolean>;
8
+ protected label: import("@angular/core").Signal<string>;
9
+ protected validationRules: import("@angular/core").Signal<AXPValidationRules>;
6
10
  protected color: import("@angular/core").Signal<AXStyleColorType>;
7
11
  private get __class();
8
12
  static ɵfac: i0.ɵɵFactoryDeclaration<AXPToggleWidgetEditComponent, never>;
@@ -20,3 +20,4 @@ export * from './advance/signature';
20
20
  export * from './layout/block';
21
21
  export * from './layout/page';
22
22
  export * from './layout/repeater';
23
+ export * from './property-editors/spacing';
@@ -1,6 +1,6 @@
1
- import { AXPContainerWidgetComponent } from '@acorex/platform/layout/builder';
1
+ import { AXPWidgetComponent } from '@acorex/platform/layout/builder';
2
2
  import * as i0 from "@angular/core";
3
- export declare class AXPBlockWidgetDesignerComponent extends AXPContainerWidgetComponent<void> {
3
+ export declare class AXPBlockWidgetDesignerComponent extends AXPWidgetComponent<void> {
4
4
  protected backgroundColor: import("@angular/core").Signal<string>;
5
5
  protected cssClass: import("@angular/core").Signal<string>;
6
6
  protected flexAlignItems: import("@angular/core").Signal<string>;
@@ -1,6 +1,6 @@
1
- import { AXPContainerWidgetComponent } from '@acorex/platform/layout/builder';
1
+ import { AXPWidgetComponent } from '@acorex/platform/layout/builder';
2
2
  import * as i0 from "@angular/core";
3
- export declare class AXPFormFieldWidgetDesignerComponent extends AXPContainerWidgetComponent<void> {
3
+ export declare class AXPFormFieldWidgetDesignerComponent extends AXPWidgetComponent<void> {
4
4
  protected label: import("@angular/core").Signal<string>;
5
5
  private get __class();
6
6
  static ɵfac: i0.ɵɵFactoryDeclaration<AXPFormFieldWidgetDesignerComponent, never>;
@@ -1,6 +1,6 @@
1
- import { AXPContainerWidgetComponent } from '@acorex/platform/layout/builder';
1
+ import { AXPWidgetComponent } from '@acorex/platform/layout/builder';
2
2
  import * as i0 from "@angular/core";
3
- export declare class AXPGridWidgetDesignerComponent extends AXPContainerWidgetComponent<void> {
3
+ export declare class AXPGridWidgetDesignerComponent extends AXPWidgetComponent<void> {
4
4
  private designerService;
5
5
  protected cols: import("@angular/core").Signal<number>;
6
6
  protected rows: import("@angular/core").Signal<number>;
@@ -1,6 +1,6 @@
1
- import { AXPContainerWidgetComponent } from '@acorex/platform/layout/builder';
1
+ import { AXPWidgetComponent } from '@acorex/platform/layout/builder';
2
2
  import * as i0 from "@angular/core";
3
- export declare class AXPGridItemWidgetDesignerComponent extends AXPContainerWidgetComponent<void> {
3
+ export declare class AXPGridItemWidgetDesignerComponent extends AXPWidgetComponent<void> {
4
4
  protected colSpan: import("@angular/core").Signal<number>;
5
5
  protected colStart: import("@angular/core").Signal<number>;
6
6
  protected colEnd: import("@angular/core").Signal<number>;