@acorex/platform 21.0.0-next.3 → 21.0.0-next.34
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/acorex-platform-auth.mjs +295 -45
- package/fesm2022/acorex-platform-auth.mjs.map +1 -1
- package/fesm2022/{acorex-platform-common-common-settings.provider-zhqNP3xb.mjs → acorex-platform-common-common-settings.provider-G9XcXXOG.mjs} +60 -4
- package/fesm2022/acorex-platform-common-common-settings.provider-G9XcXXOG.mjs.map +1 -0
- package/fesm2022/acorex-platform-common.mjs +960 -319
- package/fesm2022/acorex-platform-common.mjs.map +1 -1
- package/fesm2022/acorex-platform-core.mjs +1352 -832
- package/fesm2022/acorex-platform-core.mjs.map +1 -1
- package/fesm2022/acorex-platform-domain.mjs +554 -826
- package/fesm2022/acorex-platform-domain.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-builder.mjs +530 -154
- package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-components-binding-expression-editor-popup.component-CXEdvDTf.mjs +121 -0
- package/fesm2022/acorex-platform-layout-components-binding-expression-editor-popup.component-CXEdvDTf.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-components.mjs +5969 -2347
- package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-designer.mjs +169 -154
- package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-entity.mjs +15380 -9274
- package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-views.mjs +393 -110
- package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-widget-core.mjs +511 -450
- package/fesm2022/acorex-platform-layout-widget-core.mjs.map +1 -1
- package/fesm2022/{acorex-platform-layout-widgets-button-widget-designer.component-C3VoBb_b.mjs → acorex-platform-layout-widgets-button-widget-designer.component-Dy7jF-oD.mjs} +10 -10
- package/fesm2022/acorex-platform-layout-widgets-button-widget-designer.component-Dy7jF-oD.mjs.map +1 -0
- package/fesm2022/{acorex-platform-layout-widgets-file-list-popup.component-CxrsI6Hn.mjs → acorex-platform-layout-widgets-file-list-popup.component-9uCkMxcc.mjs} +39 -16
- package/fesm2022/acorex-platform-layout-widgets-file-list-popup.component-9uCkMxcc.mjs.map +1 -0
- package/fesm2022/{acorex-platform-layout-widgets-image-preview.popup-V31OpYah.mjs → acorex-platform-layout-widgets-image-preview.popup-C_EPAvCU.mjs} +6 -7
- package/fesm2022/acorex-platform-layout-widgets-image-preview.popup-C_EPAvCU.mjs.map +1 -0
- package/fesm2022/{acorex-platform-layout-widgets-page-widget-designer.component-BtZMBxYp.mjs → acorex-platform-layout-widgets-page-widget-designer.component-D10yO28c.mjs} +12 -12
- package/fesm2022/acorex-platform-layout-widgets-page-widget-designer.component-D10yO28c.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-BGQqY5Mw.mjs +111 -0
- package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-BGQqY5Mw.mjs.map +1 -0
- package/fesm2022/{acorex-platform-layout-widgets-tabular-data-edit-popup.component-Ck7-wpT2.mjs → acorex-platform-layout-widgets-tabular-data-edit-popup.component-DmzNTYiS.mjs} +6 -6
- package/fesm2022/acorex-platform-layout-widgets-tabular-data-edit-popup.component-DmzNTYiS.mjs.map +1 -0
- package/fesm2022/{acorex-platform-layout-widgets-tabular-data-view-popup.component-y8vjUiVs.mjs → acorex-platform-layout-widgets-tabular-data-view-popup.component-BNG_588B.mjs} +5 -5
- package/fesm2022/acorex-platform-layout-widgets-tabular-data-view-popup.component-BNG_588B.mjs.map +1 -0
- package/fesm2022/{acorex-platform-layout-widgets-text-block-widget-designer.component-Df1BFkSa.mjs → acorex-platform-layout-widgets-text-block-widget-designer.component-Vo4fWHtX.mjs} +6 -6
- package/fesm2022/acorex-platform-layout-widgets-text-block-widget-designer.component-Vo4fWHtX.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-widgets.mjs +7865 -4026
- package/fesm2022/acorex-platform-layout-widgets.mjs.map +1 -1
- package/fesm2022/acorex-platform-native.mjs +8 -7
- package/fesm2022/acorex-platform-native.mjs.map +1 -1
- package/fesm2022/acorex-platform-runtime.mjs +220 -169
- package/fesm2022/acorex-platform-runtime.mjs.map +1 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-Cvvr4HnL.mjs +160 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-Cvvr4HnL.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-TYoLN1Jq.mjs +120 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-TYoLN1Jq.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-default-entity-master-single-view.component-eMBby9k4.mjs → acorex-platform-themes-default-entity-master-single-view.component-C2z5Lq9y.mjs} +18 -25
- package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-C2z5Lq9y.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-default-error-401.component-cfREo88K.mjs → acorex-platform-themes-default-error-401.component-C7EYJzSr.mjs} +4 -4
- package/fesm2022/acorex-platform-themes-default-error-401.component-C7EYJzSr.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-default-error-404.component-CdCV5ZoA.mjs → acorex-platform-themes-default-error-404.component-7MVLMwIa.mjs} +4 -4
- package/fesm2022/acorex-platform-themes-default-error-404.component-7MVLMwIa.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default-error-offline.component-DR6G8gPC.mjs +19 -0
- package/fesm2022/acorex-platform-themes-default-error-offline.component-DR6G8gPC.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default.mjs +1717 -66
- package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
- package/fesm2022/{acorex-platform-themes-shared-icon-chooser-column.component-C0EpfU2k.mjs → acorex-platform-themes-shared-icon-chooser-column.component-CqkWJYdv.mjs} +6 -6
- package/fesm2022/acorex-platform-themes-shared-icon-chooser-column.component-CqkWJYdv.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-shared-icon-chooser-view.component-9W52W6Nu.mjs → acorex-platform-themes-shared-icon-chooser-view.component-BOTuLdWN.mjs} +6 -6
- package/fesm2022/acorex-platform-themes-shared-icon-chooser-view.component-BOTuLdWN.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-shared-settings.provider-DSs1o1M6.mjs.map +1 -1
- package/fesm2022/{acorex-platform-themes-shared-theme-color-chooser-column.component-DTnfRy5f.mjs → acorex-platform-themes-shared-theme-color-chooser-column.component-CHfrTtol.mjs} +11 -11
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-CHfrTtol.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-shared-theme-color-chooser-view.component-DY0JtT1v.mjs → acorex-platform-themes-shared-theme-color-chooser-view.component-BSmvnUVq.mjs} +9 -9
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-BSmvnUVq.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-shared.mjs +563 -561
- package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
- package/fesm2022/acorex-platform-workflow.mjs +1735 -1750
- package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
- package/fesm2022/acorex-platform.mjs.map +1 -1
- package/package.json +31 -31
- package/{auth/index.d.ts → types/acorex-platform-auth.d.ts} +247 -10
- package/{common/index.d.ts → types/acorex-platform-common.d.ts} +492 -31
- package/{core/index.d.ts → types/acorex-platform-core.d.ts} +606 -392
- package/{domain/index.d.ts → types/acorex-platform-domain.d.ts} +719 -413
- package/{layout/builder/index.d.ts → types/acorex-platform-layout-builder.d.ts} +128 -56
- package/types/acorex-platform-layout-components.d.ts +2927 -0
- package/{layout/designer/index.d.ts → types/acorex-platform-layout-designer.d.ts} +9 -3
- package/{layout/entity/index.d.ts → types/acorex-platform-layout-entity.d.ts} +1133 -237
- package/{layout/views/index.d.ts → types/acorex-platform-layout-views.d.ts} +90 -31
- package/{layout/widget-core/index.d.ts → types/acorex-platform-layout-widget-core.d.ts} +206 -102
- package/{layout/widgets/index.d.ts → types/acorex-platform-layout-widgets.d.ts} +942 -137
- package/{native/index.d.ts → types/acorex-platform-native.d.ts} +0 -7
- package/{runtime/index.d.ts → types/acorex-platform-runtime.d.ts} +237 -74
- package/{themes/default/index.d.ts → types/acorex-platform-themes-default.d.ts} +113 -5
- package/{themes/shared/index.d.ts → types/acorex-platform-themes-shared.d.ts} +1 -1
- package/types/acorex-platform-workflow.d.ts +1806 -0
- package/fesm2022/acorex-platform-common-common-settings.provider-zhqNP3xb.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-button-widget-designer.component-C3VoBb_b.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-file-list-popup.component-CxrsI6Hn.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-image-preview.popup-V31OpYah.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-page-widget-designer.component-BtZMBxYp.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-tabular-data-edit-popup.component-Ck7-wpT2.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-tabular-data-view-popup.component-y8vjUiVs.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-text-block-widget-designer.component-Df1BFkSa.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-VIGuU5M4.mjs +0 -157
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-VIGuU5M4.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-DyDa_hyd.mjs +0 -1542
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-DyDa_hyd.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-Ua3ZA5hk.mjs +0 -101
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-Ua3ZA5hk.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-eMBby9k4.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-error-401.component-cfREo88K.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-error-404.component-CdCV5ZoA.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-error-offline.component-E7SzBcAt.mjs +0 -19
- package/fesm2022/acorex-platform-themes-default-error-offline.component-E7SzBcAt.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-icon-chooser-column.component-C0EpfU2k.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-icon-chooser-view.component-9W52W6Nu.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-DTnfRy5f.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-DY0JtT1v.mjs.map +0 -1
- package/layout/components/index.d.ts +0 -1669
- package/workflow/index.d.ts +0 -2443
- /package/{index.d.ts → types/acorex-platform.d.ts} +0 -0
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Type, InjectionToken, OnInit, ElementRef, EventEmitter, OnChanges, Renderer2, SimpleChanges,
|
|
2
|
+
import { Type, InjectionToken, OnInit, ViewContainerRef, ModuleWithProviders, ElementRef, EventEmitter, OnChanges, Renderer2, SimpleChanges, OnDestroy, Injector, PipeTransform, Provider } from '@angular/core';
|
|
3
3
|
import { AXStyleColorType, AXDataSource, AXDataSourceSortOption, AXDataSourceFilterOption, AXDataSourceQuery, AXDataSourceCallbackResult } from '@acorex/cdk/common';
|
|
4
4
|
import * as _ngrx_signals from '@ngrx/signals';
|
|
5
|
+
import * as _acorex_platform_core from '@acorex/platform/core';
|
|
5
6
|
import { Observable } from 'rxjs';
|
|
6
7
|
import { NavigationExtras } from '@angular/router';
|
|
7
8
|
|
|
@@ -899,7 +900,7 @@ declare function getActionButton(actionType: string): {
|
|
|
899
900
|
interface AXPColumnQuery {
|
|
900
901
|
name: string;
|
|
901
902
|
title: string;
|
|
902
|
-
visible: boolean;
|
|
903
|
+
visible: boolean | string;
|
|
903
904
|
}
|
|
904
905
|
|
|
905
906
|
type AXPPartialNested<T> = {
|
|
@@ -907,6 +908,17 @@ type AXPPartialNested<T> = {
|
|
|
907
908
|
};
|
|
908
909
|
declare function getNestedKeys(obj: any, prefix?: string): string[];
|
|
909
910
|
type AXPExpression = string;
|
|
911
|
+
/**
|
|
912
|
+
* Plain or rich text that may be localized: a single string or a map of locale code to string.
|
|
913
|
+
* Use when multi-language editing stores `Record<locale, string>` instead of one string.
|
|
914
|
+
*
|
|
915
|
+
* @example Single value (one locale or shared text)
|
|
916
|
+
* `"<p>Pick one</p>"`
|
|
917
|
+
*
|
|
918
|
+
* @example Per-locale map (e.g. after multi-language editor save)
|
|
919
|
+
* `{ "en-US": "<p>Pick one</p>", "fa-IR": "<p>یکی را انتخاب کنید</p>" }`
|
|
920
|
+
*/
|
|
921
|
+
type AXPMultiLanguageString = string | Record<string, string>;
|
|
910
922
|
type AXPMetaData = Record<string, any>;
|
|
911
923
|
type AXPOptionsData<T extends Record<string, unknown> = Record<string, any>> = T;
|
|
912
924
|
interface AXPValueUnit {
|
|
@@ -943,8 +955,10 @@ interface AXPContent {
|
|
|
943
955
|
content: string;
|
|
944
956
|
contentType: AXPContentType;
|
|
945
957
|
}
|
|
958
|
+
type AXPMaybePromise<T = unknown> = T | Promise<T>;
|
|
946
959
|
|
|
947
960
|
type AXPDataSource = string | AXDataSource | any[];
|
|
961
|
+
type AXPDataType = 'string' | 'number' | 'boolean' | 'date' | 'object' | 'array' | 'blob';
|
|
948
962
|
interface AXPPagedListResult<T = any> {
|
|
949
963
|
items: T[];
|
|
950
964
|
total: number;
|
|
@@ -958,31 +972,142 @@ interface AXPQueryRequest {
|
|
|
958
972
|
[key: string]: string;
|
|
959
973
|
};
|
|
960
974
|
}
|
|
961
|
-
|
|
975
|
+
/**
|
|
976
|
+
* Category Entity - Base interface for hierarchical category structures
|
|
977
|
+
*
|
|
978
|
+
* This interface provides a standardized data model for category entities across the platform.
|
|
979
|
+
* All category entities (e.g., ReportCategory, ActivityCategory, WorkflowCategory) extend this interface
|
|
980
|
+
* to ensure consistency in data structure and field names.
|
|
981
|
+
*
|
|
982
|
+
* @template TKey - The type of the identifier key (default: string)
|
|
983
|
+
*
|
|
984
|
+
* @example
|
|
985
|
+
* ```typescript
|
|
986
|
+
* const category: AXPCategoryEntity = {
|
|
987
|
+
* id: 'cat-001',
|
|
988
|
+
* title: 'Electronics',
|
|
989
|
+
* description: 'Electronic products',
|
|
990
|
+
* parentId: undefined, // Root category
|
|
991
|
+
* childrenCount: 2, // Has 2 direct child categories
|
|
992
|
+
* itemsCount: 5, // Has 5 items directly in this category
|
|
993
|
+
* totalChildrenCount: 6, // Total of 6 nested categories (including grandchildren)
|
|
994
|
+
* totalItemsCount: 23 // Total of 23 items in entire category tree
|
|
995
|
+
* };
|
|
996
|
+
* ```
|
|
997
|
+
*/
|
|
962
998
|
interface AXPCategoryEntity<TKey = string> {
|
|
999
|
+
/** Unique identifier for the category */
|
|
963
1000
|
id: TKey;
|
|
964
|
-
|
|
965
|
-
|
|
1001
|
+
/** Display name of the category (required) */
|
|
1002
|
+
title: AXPMultiLanguageString;
|
|
1003
|
+
/** Optional description of the category */
|
|
1004
|
+
description?: AXPMultiLanguageString;
|
|
1005
|
+
/** Parent category ID (undefined for root categories) */
|
|
966
1006
|
parentId?: TKey;
|
|
1007
|
+
/**
|
|
1008
|
+
* Count of direct child categories only (not recursive)
|
|
1009
|
+
*
|
|
1010
|
+
* Used by UI components to determine if a category has children and should show an expand icon.
|
|
1011
|
+
* This enables efficient lazy loading - components can check this property without querying the API.
|
|
1012
|
+
*
|
|
1013
|
+
* @example
|
|
1014
|
+
* - Category with 2 direct children: `childrenCount: 2`
|
|
1015
|
+
* - Leaf category (no children): `childrenCount: 0`
|
|
1016
|
+
*
|
|
1017
|
+
* @remarks
|
|
1018
|
+
* - Always set to `0` for leaf categories
|
|
1019
|
+
* - Does not include grandchildren or nested descendants
|
|
1020
|
+
* - Automatically maintained by middleware for category entities
|
|
1021
|
+
*/
|
|
967
1022
|
childrenCount: number;
|
|
1023
|
+
/**
|
|
1024
|
+
* Count of items directly assigned to this category (not recursive)
|
|
1025
|
+
*
|
|
1026
|
+
* Represents the number of items (e.g., reports, activities, workflows) that are directly
|
|
1027
|
+
* assigned to this category. Does not include items from child categories.
|
|
1028
|
+
*
|
|
1029
|
+
* Useful for:
|
|
1030
|
+
* - Displaying item counts per category in UI (e.g., "5 reports" badge)
|
|
1031
|
+
* - Optimizing queries (skip API call if itemsCount === 0)
|
|
1032
|
+
* - Showing category statistics
|
|
1033
|
+
*
|
|
1034
|
+
* @example
|
|
1035
|
+
* - Category with 5 reports directly assigned: `itemsCount: 5`
|
|
1036
|
+
* - Category with no direct items: `itemsCount: 0` or `undefined`
|
|
1037
|
+
*
|
|
1038
|
+
* @remarks
|
|
1039
|
+
* - Does not include items from child categories
|
|
1040
|
+
* - Can be calculated dynamically or stored
|
|
1041
|
+
* - Optional - may be undefined if not needed
|
|
1042
|
+
*/
|
|
968
1043
|
itemsCount?: number;
|
|
969
|
-
|
|
970
|
-
|
|
1044
|
+
/**
|
|
1045
|
+
* Recursive count of all nested child categories (includes all descendants)
|
|
1046
|
+
*
|
|
1047
|
+
* Represents the total number of categories in the entire subtree starting from this category.
|
|
1048
|
+
* Includes children, grandchildren, and all nested descendants.
|
|
1049
|
+
*
|
|
1050
|
+
* Useful for:
|
|
1051
|
+
* - Analytics and summary displays
|
|
1052
|
+
* - Showing complete category tree scope
|
|
1053
|
+
* - Performance metrics
|
|
1054
|
+
*
|
|
1055
|
+
* @example
|
|
1056
|
+
* Root category with:
|
|
1057
|
+
* - 2 direct children
|
|
1058
|
+
* - Each child has 2 children (4 grandchildren)
|
|
1059
|
+
* Result: `totalChildrenCount: 6` (2 + 4)
|
|
1060
|
+
*
|
|
1061
|
+
* @remarks
|
|
1062
|
+
* - Optional - typically used for analytics
|
|
1063
|
+
* - Includes all nested levels (recursive)
|
|
1064
|
+
* - Can be expensive to calculate for large trees
|
|
1065
|
+
*/
|
|
1066
|
+
totalChildrenCount?: number;
|
|
1067
|
+
/**
|
|
1068
|
+
* Recursive count of all items in this category and all descendants
|
|
1069
|
+
*
|
|
1070
|
+
* Represents the total number of items (e.g., reports, activities, workflows) in the entire
|
|
1071
|
+
* category tree, including items from this category and all nested child categories.
|
|
1072
|
+
*
|
|
1073
|
+
* Useful for:
|
|
1074
|
+
* - Analytics and summary displays
|
|
1075
|
+
* - Showing complete scope of a category branch
|
|
1076
|
+
* - Dashboard statistics
|
|
1077
|
+
*
|
|
1078
|
+
* @example
|
|
1079
|
+
* Category with:
|
|
1080
|
+
* - 5 items directly assigned
|
|
1081
|
+
* - 1 child category with 3 items
|
|
1082
|
+
* Result: `totalItemsCount: 8` (5 + 3)
|
|
1083
|
+
*
|
|
1084
|
+
* @remarks
|
|
1085
|
+
* - Optional - typically used for analytics
|
|
1086
|
+
* - Includes items from all nested categories (recursive)
|
|
1087
|
+
* - Can be expensive to calculate for large trees
|
|
1088
|
+
*/
|
|
1089
|
+
totalItemsCount?: number;
|
|
971
1090
|
}
|
|
972
1091
|
interface AXPCategoryEntityWithItems<T> extends AXPCategoryEntity {
|
|
973
1092
|
items: T[];
|
|
974
1093
|
children?: AXPCategoryEntityWithItems<T>[];
|
|
975
1094
|
}
|
|
1095
|
+
/**
|
|
1096
|
+
* Denormalized category row on entities and DTOs (id + localized display title).
|
|
1097
|
+
* Use for `categories` arrays expanded from {@link AXPCategoryEntity} assignments.
|
|
1098
|
+
*/
|
|
1099
|
+
interface AXPCategoryListItem<TKey extends string = string> {
|
|
1100
|
+
id: TKey;
|
|
1101
|
+
title: AXPMultiLanguageString;
|
|
1102
|
+
}
|
|
976
1103
|
interface AXPCategorizedEntity {
|
|
977
1104
|
categoryIds: string[];
|
|
978
1105
|
}
|
|
979
1106
|
interface AXPCategorizedEntityDto {
|
|
980
1107
|
categoryIds: string[];
|
|
981
|
-
categories:
|
|
982
|
-
id: string;
|
|
983
|
-
title: string;
|
|
984
|
-
}[];
|
|
1108
|
+
categories: AXPCategoryListItem[];
|
|
985
1109
|
}
|
|
1110
|
+
type AXPEntityOp = 'initial' | 'create' | 'update' | 'delete' | 'getOne' | 'getAll' | 'query';
|
|
986
1111
|
|
|
987
1112
|
type AXPWidgetTrigger = {
|
|
988
1113
|
event: string;
|
|
@@ -1002,8 +1127,25 @@ interface AXPFileListItem {
|
|
|
1002
1127
|
size?: number;
|
|
1003
1128
|
status: AXPFileStatus;
|
|
1004
1129
|
source?: AXPFileSource;
|
|
1130
|
+
meta?: AXPMetaData;
|
|
1131
|
+
/**
|
|
1132
|
+
* When true, the item cannot be renamed, removed, or reverted from the UI.
|
|
1133
|
+
* Independent of widget `options.readonly` (widget-level disables all edits); use this for per-row locks from the server.
|
|
1134
|
+
*/
|
|
1135
|
+
readOnly?: boolean;
|
|
1136
|
+
title?: string;
|
|
1137
|
+
description?: string;
|
|
1005
1138
|
}
|
|
1006
1139
|
|
|
1140
|
+
/**
|
|
1141
|
+
* Filter toolbar trigger entries (same shape as entity `schema.interface.triggers`).
|
|
1142
|
+
* Declared on `AXPFilterDefinition` and populated when building list filter definitions.
|
|
1143
|
+
*/
|
|
1144
|
+
interface AXPFilterTriggerDefinition {
|
|
1145
|
+
event: string;
|
|
1146
|
+
action: string;
|
|
1147
|
+
disabled?: boolean;
|
|
1148
|
+
}
|
|
1007
1149
|
interface AXPFilterClause extends AXDataSourceFilterOption {
|
|
1008
1150
|
id?: string;
|
|
1009
1151
|
order?: number;
|
|
@@ -1020,8 +1162,19 @@ interface AXPFilterDefinition extends AXPFilterClause {
|
|
|
1020
1162
|
filterType: {
|
|
1021
1163
|
advance: boolean;
|
|
1022
1164
|
inline: boolean;
|
|
1165
|
+
preload?: {
|
|
1166
|
+
enabled?: boolean;
|
|
1167
|
+
required?: boolean;
|
|
1168
|
+
};
|
|
1023
1169
|
};
|
|
1024
1170
|
hidden?: boolean;
|
|
1171
|
+
/**
|
|
1172
|
+
* When true, the filter is not selectable. When a string, it is evaluated as an expression (e.g. `{{ ... }}`)
|
|
1173
|
+
* using the current filters context.
|
|
1174
|
+
*/
|
|
1175
|
+
disabled?: boolean | string;
|
|
1176
|
+
/** Expression-driven triggers (events/actions); same semantics as entity `schema.interface.triggers`. */
|
|
1177
|
+
triggers?: AXPFilterTriggerDefinition[];
|
|
1025
1178
|
}
|
|
1026
1179
|
interface AXPFilterQuery extends Pick<AXPFilterDefinition, 'field' | 'value' | 'operator' | 'logic' | 'hidden'> {
|
|
1027
1180
|
filters?: AXPFilterQuery[];
|
|
@@ -1055,6 +1208,12 @@ type AXPBadge = {
|
|
|
1055
1208
|
description?: string;
|
|
1056
1209
|
color?: 'primary' | 'success' | 'warning' | 'danger';
|
|
1057
1210
|
};
|
|
1211
|
+
type AXPPageStatus = {
|
|
1212
|
+
definitionKey: string;
|
|
1213
|
+
value: string;
|
|
1214
|
+
dataPath?: string;
|
|
1215
|
+
readonly?: boolean;
|
|
1216
|
+
};
|
|
1058
1217
|
interface AXPCommandMessage {
|
|
1059
1218
|
type?: 'info' | 'success' | 'warning' | 'error';
|
|
1060
1219
|
code?: string;
|
|
@@ -1145,10 +1304,8 @@ declare class AXPIconLogoConfig implements AXPLogoConfig {
|
|
|
1145
1304
|
constructor(icon: string, color?: string | undefined);
|
|
1146
1305
|
}
|
|
1147
1306
|
|
|
1148
|
-
type AXPPlatformScopeKey = '
|
|
1307
|
+
type AXPPlatformScopeKey = 'P' | 'T' | 'U';
|
|
1149
1308
|
declare enum AXPPlatformScope {
|
|
1150
|
-
Environment = "C",
|
|
1151
|
-
Global = "G",
|
|
1152
1309
|
Platform = "P",
|
|
1153
1310
|
Tenant = "T",
|
|
1154
1311
|
User = "U"
|
|
@@ -1319,6 +1476,18 @@ interface AXPMiddlewareErrorResponse {
|
|
|
1319
1476
|
interface AXPActivityLogChange {
|
|
1320
1477
|
type: AXPSystemActionType;
|
|
1321
1478
|
description: string;
|
|
1479
|
+
/** I18n key for field label. When set with actionKey, used for translated display. */
|
|
1480
|
+
fieldKey?: string;
|
|
1481
|
+
/** Params for fieldKey translation (e.g. for unknown-field with {{name}}). */
|
|
1482
|
+
fieldKeyParams?: Record<string, string>;
|
|
1483
|
+
/** I18n key for action (e.g. @activity-log:changes.replaced). When set with fieldKey, overrides description. */
|
|
1484
|
+
actionKey?: string;
|
|
1485
|
+
oldValue?: unknown;
|
|
1486
|
+
newValue?: unknown;
|
|
1487
|
+
/** Short human-readable summary for Change History (e.g. "Updated from 'X' to 'Y'"). Used when layout is present. */
|
|
1488
|
+
summary?: string;
|
|
1489
|
+
/** Custom layout (AXPWidgetNode) for Change History. When set, rendered via AXPLayoutRenderer instead of default fieldKey/actionKey text. */
|
|
1490
|
+
layout?: unknown;
|
|
1322
1491
|
}
|
|
1323
1492
|
interface AXPActivityLog {
|
|
1324
1493
|
id: string;
|
|
@@ -1472,6 +1641,173 @@ declare class AXPDefaultColorPalettesProvider extends AXPColorPaletteProvider {
|
|
|
1472
1641
|
static ɵprov: i0.ɵɵInjectableDeclaration<AXPDefaultColorPalettesProvider>;
|
|
1473
1642
|
}
|
|
1474
1643
|
|
|
1644
|
+
/**
|
|
1645
|
+
* Column width value can be a number (converted to pixels) or a string with any CSS unit
|
|
1646
|
+
* @example 150 (becomes '150px'), '300px', '50%', '2rem', '20ch'
|
|
1647
|
+
*/
|
|
1648
|
+
type ColumnWidthValue = string | number;
|
|
1649
|
+
/**
|
|
1650
|
+
* Matcher for column name - can be exact string match or RegExp pattern
|
|
1651
|
+
* @example 'title', /^user/, /.*name$/i
|
|
1652
|
+
*/
|
|
1653
|
+
type ColumnNameMatcher = string | RegExp;
|
|
1654
|
+
/**
|
|
1655
|
+
* Matcher for widget type - can be exact string match or RegExp pattern (case-insensitive)
|
|
1656
|
+
* @example 'text-box', /^date/, /.*editor$/i
|
|
1657
|
+
*/
|
|
1658
|
+
type WidgetTypeMatcher = string | RegExp;
|
|
1659
|
+
/**
|
|
1660
|
+
* Defines a single width matching rule
|
|
1661
|
+
*/
|
|
1662
|
+
interface AXPColumnWidthMatcher {
|
|
1663
|
+
/**
|
|
1664
|
+
* Match by column name (exact string or RegExp pattern)
|
|
1665
|
+
* Takes precedence over widgetType matching
|
|
1666
|
+
* @example 'title', /^user/, /.*name$/i
|
|
1667
|
+
*/
|
|
1668
|
+
name?: ColumnNameMatcher;
|
|
1669
|
+
/**
|
|
1670
|
+
* Match by widget type (exact string or RegExp pattern, case-insensitive)
|
|
1671
|
+
* Used as fallback when name doesn't match
|
|
1672
|
+
* @example 'text-box', /^date/, /.*editor$/i
|
|
1673
|
+
*/
|
|
1674
|
+
widgetType?: WidgetTypeMatcher;
|
|
1675
|
+
/**
|
|
1676
|
+
* Width value to apply if this matcher matches
|
|
1677
|
+
* Numbers are converted to pixels (e.g., 150 -> '150px')
|
|
1678
|
+
* Strings can include any CSS unit (e.g., '300px', '50%', '2rem')
|
|
1679
|
+
*/
|
|
1680
|
+
width: ColumnWidthValue;
|
|
1681
|
+
/**
|
|
1682
|
+
* Priority for this matcher within the provider (higher = more specific, applied first)
|
|
1683
|
+
* Default: 0
|
|
1684
|
+
*/
|
|
1685
|
+
priority?: number;
|
|
1686
|
+
}
|
|
1687
|
+
/**
|
|
1688
|
+
* Provider configuration for column width rules
|
|
1689
|
+
*/
|
|
1690
|
+
interface AXPColumnWidthProvider {
|
|
1691
|
+
/**
|
|
1692
|
+
* Array of matchers to evaluate
|
|
1693
|
+
* Evaluated in priority order (highest first), then by match type (name before widgetType)
|
|
1694
|
+
*/
|
|
1695
|
+
matchers: AXPColumnWidthMatcher[];
|
|
1696
|
+
/**
|
|
1697
|
+
* Priority for this provider relative to other providers (higher = applied first)
|
|
1698
|
+
* Default: 100
|
|
1699
|
+
*/
|
|
1700
|
+
priority?: number;
|
|
1701
|
+
}
|
|
1702
|
+
/**
|
|
1703
|
+
* Generic column interface for width resolution
|
|
1704
|
+
* Works with any column type that has these properties
|
|
1705
|
+
*/
|
|
1706
|
+
interface IColumnWithWidth {
|
|
1707
|
+
/**
|
|
1708
|
+
* Column name
|
|
1709
|
+
*/
|
|
1710
|
+
name: string;
|
|
1711
|
+
/**
|
|
1712
|
+
* Current width (if already set)
|
|
1713
|
+
*/
|
|
1714
|
+
width?: string;
|
|
1715
|
+
/**
|
|
1716
|
+
* Widget type information (optional)
|
|
1717
|
+
*/
|
|
1718
|
+
widget?: {
|
|
1719
|
+
type: string;
|
|
1720
|
+
};
|
|
1721
|
+
/**
|
|
1722
|
+
* Additional options that might contain width
|
|
1723
|
+
*/
|
|
1724
|
+
options?: {
|
|
1725
|
+
width?: string;
|
|
1726
|
+
};
|
|
1727
|
+
/**
|
|
1728
|
+
* For entity columns - showAs configuration
|
|
1729
|
+
*/
|
|
1730
|
+
showAs?: {
|
|
1731
|
+
type: string;
|
|
1732
|
+
};
|
|
1733
|
+
}
|
|
1734
|
+
|
|
1735
|
+
/**
|
|
1736
|
+
* Service for resolving column widths based on registered providers
|
|
1737
|
+
* Supports matching by column name (priority) and widget type (fallback)
|
|
1738
|
+
* Uses multi-provider pattern for extensibility
|
|
1739
|
+
*/
|
|
1740
|
+
declare class AXPColumnWidthService {
|
|
1741
|
+
private readonly providers;
|
|
1742
|
+
/**
|
|
1743
|
+
* Resolve width for a column based on registered providers
|
|
1744
|
+
* Only returns a width if column doesn't already have one set
|
|
1745
|
+
*
|
|
1746
|
+
* @param column Column to resolve width for
|
|
1747
|
+
* @returns Resolved width string (normalized) or undefined if no match or column already has width
|
|
1748
|
+
*/
|
|
1749
|
+
resolveWidth(column: IColumnWithWidth): string | undefined;
|
|
1750
|
+
/**
|
|
1751
|
+
* Apply resolved width to a column (mutates the column)
|
|
1752
|
+
* Only applies if column doesn't already have a width
|
|
1753
|
+
*
|
|
1754
|
+
* @param column Column to apply width to
|
|
1755
|
+
* @returns true if width was applied, false if column already had width or no match found
|
|
1756
|
+
*/
|
|
1757
|
+
applyWidth(column: IColumnWithWidth): boolean;
|
|
1758
|
+
/**
|
|
1759
|
+
* Collect all matchers from all providers, sorted by provider priority and matcher priority
|
|
1760
|
+
*/
|
|
1761
|
+
private collectMatchers;
|
|
1762
|
+
/**
|
|
1763
|
+
* Find first matching matcher by column name
|
|
1764
|
+
* Name matches take precedence over widget type matches
|
|
1765
|
+
*/
|
|
1766
|
+
private findNameMatch;
|
|
1767
|
+
/**
|
|
1768
|
+
* Find first matching matcher by widget type (case-insensitive)
|
|
1769
|
+
*/
|
|
1770
|
+
private findWidgetTypeMatch;
|
|
1771
|
+
/**
|
|
1772
|
+
* Normalize width value to string format
|
|
1773
|
+
* Numbers are converted to pixels (e.g., 150 -> '150px')
|
|
1774
|
+
* Strings are preserved as-is (supports any CSS unit)
|
|
1775
|
+
*/
|
|
1776
|
+
private normalizeWidth;
|
|
1777
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPColumnWidthService, never>;
|
|
1778
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXPColumnWidthService>;
|
|
1779
|
+
}
|
|
1780
|
+
|
|
1781
|
+
/**
|
|
1782
|
+
* Injection token for column width providers
|
|
1783
|
+
* Use this to register multiple column width providers with multi: true
|
|
1784
|
+
*
|
|
1785
|
+
* @example
|
|
1786
|
+
* ```typescript
|
|
1787
|
+
* providers: [
|
|
1788
|
+
* {
|
|
1789
|
+
* provide: AXP_COLUMN_WIDTH_PROVIDER,
|
|
1790
|
+
* useValue: {
|
|
1791
|
+
* matchers: [
|
|
1792
|
+
* { name: 'title', width: '300px', priority: 10 },
|
|
1793
|
+
* { widgetType: /text-box/i, width: '200px' }
|
|
1794
|
+
* ],
|
|
1795
|
+
* priority: 150
|
|
1796
|
+
* },
|
|
1797
|
+
* multi: true
|
|
1798
|
+
* }
|
|
1799
|
+
* ]
|
|
1800
|
+
* ```
|
|
1801
|
+
*/
|
|
1802
|
+
declare const AXP_COLUMN_WIDTH_PROVIDER: InjectionToken<AXPColumnWidthProvider[]>;
|
|
1803
|
+
|
|
1804
|
+
/**
|
|
1805
|
+
* Default column width configuration
|
|
1806
|
+
* Migrated from DEFAULT_COLUMN_WIDTHS in column-width.middleware.ts
|
|
1807
|
+
* Provides sensible defaults for common column names
|
|
1808
|
+
*/
|
|
1809
|
+
declare const defaultColumnWidthProvider: AXPColumnWidthProvider;
|
|
1810
|
+
|
|
1475
1811
|
type AXPContextState = 'initiated' | 'restored' | 'changed' | 'patch';
|
|
1476
1812
|
type AXPContextData = {
|
|
1477
1813
|
[key: string]: any;
|
|
@@ -1499,10 +1835,11 @@ declare const AXPContextStore: i0.Type<{
|
|
|
1499
1835
|
previous: i0.Signal<{}>;
|
|
1500
1836
|
changeEvent: i0.Signal<AXPContextChangeEvent>;
|
|
1501
1837
|
update: (path: string, value: any) => void;
|
|
1502
|
-
patch: (context:
|
|
1838
|
+
patch: (context: Record<string, any>, skipDirtyTracking?: boolean) => void;
|
|
1503
1839
|
reset: () => void;
|
|
1504
1840
|
set: (initialData: any) => void;
|
|
1505
1841
|
getValue: (path: string) => any;
|
|
1842
|
+
hasValue: (path: string) => boolean;
|
|
1506
1843
|
} & _ngrx_signals.StateSource<{
|
|
1507
1844
|
data: AXPContextData;
|
|
1508
1845
|
state: AXPContextState;
|
|
@@ -1511,6 +1848,93 @@ declare const AXPContextStore: i0.Type<{
|
|
|
1511
1848
|
lastChange: AXPContextChangeEvent;
|
|
1512
1849
|
}>>;
|
|
1513
1850
|
|
|
1851
|
+
interface AXPComponentSlotConfig {
|
|
1852
|
+
name: string;
|
|
1853
|
+
priority?: number;
|
|
1854
|
+
component?: Type<any>;
|
|
1855
|
+
condition?: ((context?: AXPContextData) => boolean | Promise<boolean>) | string;
|
|
1856
|
+
features?: string[];
|
|
1857
|
+
loadComponent?: () => Type<any> | Promise<Type<any>>;
|
|
1858
|
+
options?: AXPOptionsData | (() => AXPOptionsData) | (() => Promise<AXPOptionsData>);
|
|
1859
|
+
}
|
|
1860
|
+
interface AXPComponentSlotModuleConfigs {
|
|
1861
|
+
[slotName: string]: AXPComponentSlotConfig[];
|
|
1862
|
+
}
|
|
1863
|
+
declare abstract class AXPComponentSlot {
|
|
1864
|
+
host: any;
|
|
1865
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPComponentSlot, never>;
|
|
1866
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<AXPComponentSlot, never, never, {}, {}, never, never, true, never>;
|
|
1867
|
+
}
|
|
1868
|
+
|
|
1869
|
+
declare class AXPComponentSlotDirective implements OnInit {
|
|
1870
|
+
name: i0.InputSignal<string>;
|
|
1871
|
+
host: i0.InputSignal<any>;
|
|
1872
|
+
context: i0.InputSignal<any>;
|
|
1873
|
+
private elementRef;
|
|
1874
|
+
private registryService;
|
|
1875
|
+
private injector;
|
|
1876
|
+
private evaluator;
|
|
1877
|
+
viewContainerRef: ViewContainerRef;
|
|
1878
|
+
contextStore: {
|
|
1879
|
+
data: i0.Signal<AXPContextData>;
|
|
1880
|
+
state: i0.Signal<_acorex_platform_core.AXPContextState>;
|
|
1881
|
+
initialSnapshot: i0.Signal<{}>;
|
|
1882
|
+
previousSnapshot: i0.Signal<{}>;
|
|
1883
|
+
lastChange: _ngrx_signals.DeepSignal<_acorex_platform_core.AXPContextChangeEvent>;
|
|
1884
|
+
isChanged: i0.Signal<boolean>;
|
|
1885
|
+
isReset: i0.Signal<boolean>;
|
|
1886
|
+
isInitiated: i0.Signal<boolean>;
|
|
1887
|
+
isEmpty: i0.Signal<boolean>;
|
|
1888
|
+
isDirty: i0.Signal<boolean>;
|
|
1889
|
+
snapshot: i0.Signal<AXPContextData>;
|
|
1890
|
+
initial: i0.Signal<{}>;
|
|
1891
|
+
previous: i0.Signal<{}>;
|
|
1892
|
+
changeEvent: i0.Signal<_acorex_platform_core.AXPContextChangeEvent>;
|
|
1893
|
+
update: (path: string, value: any) => void;
|
|
1894
|
+
patch: (context: Record<string, any>, skipDirtyTracking?: boolean) => void;
|
|
1895
|
+
reset: () => void;
|
|
1896
|
+
set: (initialData: any) => void;
|
|
1897
|
+
getValue: (path: string) => any;
|
|
1898
|
+
hasValue: (path: string) => boolean;
|
|
1899
|
+
} & _ngrx_signals.StateSource<{
|
|
1900
|
+
data: AXPContextData;
|
|
1901
|
+
state: _acorex_platform_core.AXPContextState;
|
|
1902
|
+
initialSnapshot: {};
|
|
1903
|
+
previousSnapshot: {};
|
|
1904
|
+
lastChange: _acorex_platform_core.AXPContextChangeEvent;
|
|
1905
|
+
}>;
|
|
1906
|
+
isEmpty: i0.Signal<boolean>;
|
|
1907
|
+
private _viewCount;
|
|
1908
|
+
private componentRefs;
|
|
1909
|
+
private placeholderRefs;
|
|
1910
|
+
constructor();
|
|
1911
|
+
ngOnInit(): Promise<void>;
|
|
1912
|
+
loadComponents(): Promise<void>;
|
|
1913
|
+
private evaluateCondition;
|
|
1914
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPComponentSlotDirective, never>;
|
|
1915
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<AXPComponentSlotDirective, "axp-component-slot", ["slot"], { "name": { "alias": "name"; "required": true; "isSignal": true; }; "host": { "alias": "host"; "required": false; "isSignal": true; }; "context": { "alias": "context"; "required": false; "isSignal": true; }; }, {}, never, never, false, never>;
|
|
1916
|
+
}
|
|
1917
|
+
|
|
1918
|
+
declare class AXPComponentSlotRegistryService {
|
|
1919
|
+
private registry;
|
|
1920
|
+
register(slotName: string, config: AXPComponentSlotConfig): void;
|
|
1921
|
+
get(slotName: string): AXPComponentSlotConfig[];
|
|
1922
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPComponentSlotRegistryService, never>;
|
|
1923
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXPComponentSlotRegistryService>;
|
|
1924
|
+
}
|
|
1925
|
+
|
|
1926
|
+
declare class AXPComponentSlotModule {
|
|
1927
|
+
static forRoot(configs?: AXPComponentSlotModuleConfigs): ModuleWithProviders<AXPComponentSlotModule>;
|
|
1928
|
+
static forChild(configs?: AXPComponentSlotModuleConfigs): ModuleWithProviders<AXPComponentSlotModule>;
|
|
1929
|
+
/**
|
|
1930
|
+
* @ignore
|
|
1931
|
+
*/
|
|
1932
|
+
constructor(instances: any[]);
|
|
1933
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPComponentSlotModule, [{ optional: true; }]>;
|
|
1934
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<AXPComponentSlotModule, [typeof AXPComponentSlotDirective], never, [typeof AXPComponentSlotDirective]>;
|
|
1935
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<AXPComponentSlotModule>;
|
|
1936
|
+
}
|
|
1937
|
+
|
|
1514
1938
|
declare class AXPDataGenerator {
|
|
1515
1939
|
static uuid(): string;
|
|
1516
1940
|
static number(max: number): number;
|
|
@@ -1554,6 +1978,11 @@ interface AXPDataSourceDataFieldDefinition {
|
|
|
1554
1978
|
type: string;
|
|
1555
1979
|
options?: AXPOptionsData;
|
|
1556
1980
|
}
|
|
1981
|
+
type AXPLazyDataSource<T = unknown> = AXPMaybePromise<AXDataSource<T>>;
|
|
1982
|
+
type AXPDataSourceArray<T = unknown> = AXPMaybePromise<Array<T>>;
|
|
1983
|
+
type AXPDataSourceValue<T = unknown> = AXPMaybePromise<T>;
|
|
1984
|
+
type AXPDataSourceType<T = any> = AXPLazyDataSource<T> | AXPDataSourceArray<T> | AXPDataSourceValue<T>;
|
|
1985
|
+
type AXPDataSourceSample<T = any> = AXPDataSourceArray<T> | AXPDataSourceValue<T>;
|
|
1557
1986
|
interface AXPDataSourceDefinition<T = any> {
|
|
1558
1987
|
name: string;
|
|
1559
1988
|
title: string;
|
|
@@ -1567,9 +1996,9 @@ interface AXPDataSourceDefinition<T = any> {
|
|
|
1567
1996
|
};
|
|
1568
1997
|
columns: AXPDataSourceDataFieldDefinition[];
|
|
1569
1998
|
filters: AXPFilterDefinition[];
|
|
1570
|
-
samples?:
|
|
1999
|
+
samples?: AXPDataSourceSample<T>;
|
|
1571
2000
|
visible?: boolean;
|
|
1572
|
-
source: () =>
|
|
2001
|
+
source: () => AXPDataSourceType<T>;
|
|
1573
2002
|
}
|
|
1574
2003
|
interface AXPDataSourceDefinitionProvider {
|
|
1575
2004
|
items(): Promise<AXPDataSourceDefinition[]>;
|
|
@@ -1577,13 +2006,30 @@ interface AXPDataSourceDefinitionProvider {
|
|
|
1577
2006
|
declare const AXP_DATASOURCE_DEFINITION_PROVIDER: InjectionToken<AXPDataSourceDefinitionProvider[]>;
|
|
1578
2007
|
declare class AXPDataSourceDefinitionProviderService implements AXPDataSourceDefinitionProvider {
|
|
1579
2008
|
private providers;
|
|
1580
|
-
private providerRegistry;
|
|
1581
2009
|
items(): Promise<AXPDataSourceDefinition[]>;
|
|
1582
|
-
get(name: string): Promise<AXPDataSourceDefinition | undefined>;
|
|
2010
|
+
get<T = any>(name: string): Promise<AXPDataSourceDefinition<T> | undefined>;
|
|
1583
2011
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXPDataSourceDefinitionProviderService, never>;
|
|
1584
2012
|
static ɵprov: i0.ɵɵInjectableDeclaration<AXPDataSourceDefinitionProviderService>;
|
|
1585
2013
|
}
|
|
1586
2014
|
|
|
2015
|
+
declare class AXPContentCheckerDirective {
|
|
2016
|
+
viewContainerRef: ViewContainerRef;
|
|
2017
|
+
elementRef: ElementRef<HTMLDivElement>;
|
|
2018
|
+
isEmpty: i0.Signal<boolean>;
|
|
2019
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPContentCheckerDirective, never>;
|
|
2020
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<AXPContentCheckerDirective, "[axp-content-checker]", ["checker"], {}, {}, never, never, true, never>;
|
|
2021
|
+
}
|
|
2022
|
+
|
|
2023
|
+
declare class AXPDblClickDirective {
|
|
2024
|
+
onDblClick: EventEmitter<Event>;
|
|
2025
|
+
private lastTap;
|
|
2026
|
+
private readonly doubleTapThreshold;
|
|
2027
|
+
handleOnDblClick(event: Event): void;
|
|
2028
|
+
onTouchEnd(event: TouchEvent): void;
|
|
2029
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPDblClickDirective, never>;
|
|
2030
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<AXPDblClickDirective, "[onDblClick]", never, {}, { "onDblClick": "onDblClick"; }, never, never, true, never>;
|
|
2031
|
+
}
|
|
2032
|
+
|
|
1587
2033
|
declare class AXPElementDataDirective implements OnInit {
|
|
1588
2034
|
private elementRef;
|
|
1589
2035
|
data: i0.InputSignal<any>;
|
|
@@ -1603,16 +2049,6 @@ declare class AXPElementDataDirective implements OnInit {
|
|
|
1603
2049
|
static ɵdir: i0.ɵɵDirectiveDeclaration<AXPElementDataDirective, "[axp-data]", never, { "data": { "alias": "axp-data"; "required": false; "isSignal": true; }; "path": { "alias": "axp-data-path"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1604
2050
|
}
|
|
1605
2051
|
|
|
1606
|
-
declare class AXPDblClickDirective {
|
|
1607
|
-
onDblClick: EventEmitter<Event>;
|
|
1608
|
-
private lastTap;
|
|
1609
|
-
private readonly doubleTapThreshold;
|
|
1610
|
-
handleOnDblClick(event: Event): void;
|
|
1611
|
-
onTouchEnd(event: TouchEvent): void;
|
|
1612
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<AXPDblClickDirective, never>;
|
|
1613
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<AXPDblClickDirective, "[onDblClick]", never, {}, { "onDblClick": "onDblClick"; }, never, never, true, never>;
|
|
1614
|
-
}
|
|
1615
|
-
|
|
1616
2052
|
declare class AXPGridLayoutDirective implements OnChanges {
|
|
1617
2053
|
private el;
|
|
1618
2054
|
private renderer;
|
|
@@ -1626,77 +2062,6 @@ declare class AXPGridLayoutDirective implements OnChanges {
|
|
|
1626
2062
|
static ɵdir: i0.ɵɵDirectiveDeclaration<AXPGridLayoutDirective, "[axp-grid-layout]", never, { "options": { "alias": "axp-grid-layout"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1627
2063
|
}
|
|
1628
2064
|
|
|
1629
|
-
declare class AXPContentCheckerDirective {
|
|
1630
|
-
viewContainerRef: ViewContainerRef;
|
|
1631
|
-
elementRef: ElementRef<HTMLDivElement>;
|
|
1632
|
-
isEmpty: i0.Signal<boolean>;
|
|
1633
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<AXPContentCheckerDirective, never>;
|
|
1634
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<AXPContentCheckerDirective, "[axp-content-checker]", ["checker"], {}, {}, never, never, true, never>;
|
|
1635
|
-
}
|
|
1636
|
-
|
|
1637
|
-
/**
|
|
1638
|
-
* Fullscreen directive that provides CSS-based fullscreen functionality
|
|
1639
|
-
* Usage: <element axFullscreen #fullscreen="axFullscreen"></element>
|
|
1640
|
-
* Then: fullscreen.toggle() or fullscreen.enter() or fullscreen.exit()
|
|
1641
|
-
*/
|
|
1642
|
-
declare class AXFullscreenDirective implements OnDestroy {
|
|
1643
|
-
private elementRef;
|
|
1644
|
-
/**
|
|
1645
|
-
* Current fullscreen state
|
|
1646
|
-
*/
|
|
1647
|
-
private readonly isFullscreenState;
|
|
1648
|
-
/**
|
|
1649
|
-
* Original element styles to restore
|
|
1650
|
-
*/
|
|
1651
|
-
private originalStyles;
|
|
1652
|
-
/**
|
|
1653
|
-
* Original parent element reference
|
|
1654
|
-
*/
|
|
1655
|
-
private originalParent;
|
|
1656
|
-
/**
|
|
1657
|
-
* Fullscreen container element
|
|
1658
|
-
*/
|
|
1659
|
-
private fullscreenContainer;
|
|
1660
|
-
/**
|
|
1661
|
-
* Fullscreen change event
|
|
1662
|
-
*/
|
|
1663
|
-
readonly fullscreenChange: i0.OutputEmitterRef<boolean>;
|
|
1664
|
-
private readonly destroyRef;
|
|
1665
|
-
private readonly renderer;
|
|
1666
|
-
constructor(elementRef: ElementRef<HTMLElement>);
|
|
1667
|
-
/**
|
|
1668
|
-
* Toggle fullscreen state
|
|
1669
|
-
*/
|
|
1670
|
-
toggle(): Promise<void>;
|
|
1671
|
-
/**
|
|
1672
|
-
* Enter fullscreen mode using CSS
|
|
1673
|
-
*/
|
|
1674
|
-
enter(): Promise<void>;
|
|
1675
|
-
/**
|
|
1676
|
-
* Exit fullscreen mode
|
|
1677
|
-
*/
|
|
1678
|
-
exit(): Promise<void>;
|
|
1679
|
-
/**
|
|
1680
|
-
* Check if currently in fullscreen mode
|
|
1681
|
-
*/
|
|
1682
|
-
isFullscreen(): boolean;
|
|
1683
|
-
/**
|
|
1684
|
-
* Store original element styles
|
|
1685
|
-
*/
|
|
1686
|
-
private storeOriginalStyles;
|
|
1687
|
-
/**
|
|
1688
|
-
* Restore original element styles
|
|
1689
|
-
*/
|
|
1690
|
-
private restoreOriginalStyles;
|
|
1691
|
-
/**
|
|
1692
|
-
* Convert camelCase to kebab-case for CSS properties
|
|
1693
|
-
*/
|
|
1694
|
-
private camelToKebabCase;
|
|
1695
|
-
ngOnDestroy(): void;
|
|
1696
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<AXFullscreenDirective, never>;
|
|
1697
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<AXFullscreenDirective, "[axFullscreen]", ["axFullscreen"], {}, { "fullscreenChange": "fullscreenChange"; }, never, never, true, never>;
|
|
1698
|
-
}
|
|
1699
|
-
|
|
1700
2065
|
type AXPDistributedEventListenerProviderToken<T> = AXPDistributedEventListenerProvider<T> | Promise<AXPDistributedEventListenerProvider<T>>;
|
|
1701
2066
|
declare const AXP_DISTRIBUTED_EVENT_LISTENER_PROVIDER: InjectionToken<AXPDistributedEventListenerProviderToken<any>[]>;
|
|
1702
2067
|
interface AXPDistributedEventListenerProvider<TInput = any, TOutput = void> {
|
|
@@ -1823,7 +2188,7 @@ declare class AXPExpressionEvaluatorScopeProviderContext {
|
|
|
1823
2188
|
type AXPExpressionEvaluatorScopeProviders = AXPExpressionEvaluatorScopeProvider[] | (() => AXPExpressionEvaluatorScopeProvider[]);
|
|
1824
2189
|
declare const AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER: InjectionToken<AXPExpressionEvaluatorScopeProviders>;
|
|
1825
2190
|
declare class AXPExpressionEvaluatorScopeProviderService {
|
|
1826
|
-
private
|
|
2191
|
+
private readonly injector;
|
|
1827
2192
|
private cache;
|
|
1828
2193
|
private load;
|
|
1829
2194
|
getScopesAsync(): Promise<AXPExpressionEvaluatorScope>;
|
|
@@ -1897,7 +2262,8 @@ interface AXPModuleFeatureDefinitionWithKey extends AXPModuleFeatureDefinition {
|
|
|
1897
2262
|
}
|
|
1898
2263
|
/**
|
|
1899
2264
|
* Module manifest structure.
|
|
1900
|
-
* Defines module metadata
|
|
2265
|
+
* Defines module metadata and dependencies.
|
|
2266
|
+
* Features are provided via AXP_FEATURE_DEFINITION_PROVIDER token.
|
|
1901
2267
|
*/
|
|
1902
2268
|
interface AXPModuleManifest {
|
|
1903
2269
|
/**
|
|
@@ -1925,70 +2291,11 @@ interface AXPModuleManifest {
|
|
|
1925
2291
|
*/
|
|
1926
2292
|
i18n?: string;
|
|
1927
2293
|
/**
|
|
1928
|
-
*
|
|
2294
|
+
* Module dependencies.
|
|
2295
|
+
* Simple array format: module names (e.g., "MeasurementCore") or feature keys (e.g., "DataManagement.MetaDataDefinitions").
|
|
2296
|
+
* Features use ModuleName.FeatureKey format (dot separator).
|
|
1929
2297
|
*/
|
|
1930
|
-
|
|
1931
|
-
provider: () => Promise<any>;
|
|
1932
|
-
};
|
|
1933
|
-
/**
|
|
1934
|
-
* Menu provider reference (lazy-loaded).
|
|
1935
|
-
*/
|
|
1936
|
-
menus?: {
|
|
1937
|
-
provider: () => Promise<any>;
|
|
1938
|
-
};
|
|
1939
|
-
/**
|
|
1940
|
-
* Entity definition provider reference (lazy-loaded).
|
|
1941
|
-
*/
|
|
1942
|
-
entities?: {
|
|
1943
|
-
provider: () => Promise<any>;
|
|
1944
|
-
};
|
|
1945
|
-
/**
|
|
1946
|
-
* Settings provider reference (lazy-loaded).
|
|
1947
|
-
*/
|
|
1948
|
-
settings?: {
|
|
1949
|
-
provider: () => Promise<any>;
|
|
1950
|
-
};
|
|
1951
|
-
/**
|
|
1952
|
-
* Search provider reference (lazy-loaded).
|
|
1953
|
-
*/
|
|
1954
|
-
search?: {
|
|
1955
|
-
provider: () => Promise<any>;
|
|
1956
|
-
};
|
|
1957
|
-
/**
|
|
1958
|
-
* Feature definition provider reference (lazy-loaded).
|
|
1959
|
-
* Used to provide feature definitions for the module.
|
|
1960
|
-
*/
|
|
1961
|
-
features?: {
|
|
1962
|
-
provider: () => Promise<any>;
|
|
1963
|
-
};
|
|
1964
|
-
/**
|
|
1965
|
-
* Data source provider reference (lazy-loaded).
|
|
1966
|
-
*/
|
|
1967
|
-
datasources?: {
|
|
1968
|
-
provider: () => Promise<any>;
|
|
1969
|
-
};
|
|
1970
|
-
/**
|
|
1971
|
-
* Component slots provider reference (lazy-loaded).
|
|
1972
|
-
* Returns component slot configurations grouped by slot name.
|
|
1973
|
-
* Slots registered via manifest are loaded after application selection.
|
|
1974
|
-
* Module-level registration (AXPComponentSlotModule.forChild) still works for immediate availability.
|
|
1975
|
-
*/
|
|
1976
|
-
componentSlots?: {
|
|
1977
|
-
provider: () => Promise<any>;
|
|
1978
|
-
};
|
|
1979
|
-
/**
|
|
1980
|
-
* Module dependencies
|
|
1981
|
-
*/
|
|
1982
|
-
dependencies?: {
|
|
1983
|
-
/**
|
|
1984
|
-
* Required module names
|
|
1985
|
-
*/
|
|
1986
|
-
modules?: string[];
|
|
1987
|
-
/**
|
|
1988
|
-
* Required feature keys (full format: ModuleName.FeatureKey)
|
|
1989
|
-
*/
|
|
1990
|
-
features?: string[];
|
|
1991
|
-
};
|
|
2298
|
+
dependencies?: string[];
|
|
1992
2299
|
/**
|
|
1993
2300
|
* Whether this module is required (always enabled, cannot be disabled).
|
|
1994
2301
|
* Required modules like 'auth' and 'common' are always available.
|
|
@@ -2024,6 +2331,18 @@ interface AXPFeatureDefinition extends AXPModuleFeatureDefinition {
|
|
|
2024
2331
|
key: string;
|
|
2025
2332
|
}
|
|
2026
2333
|
|
|
2334
|
+
/**
|
|
2335
|
+
* Registered module manifests for select widgets via dataSource name {@link MODULE_MANIFESTS_DATASOURCE_NAME}.
|
|
2336
|
+
*/
|
|
2337
|
+
declare const MODULE_MANIFESTS_DATASOURCE_NAME = "platform-module-manifests";
|
|
2338
|
+
/**
|
|
2339
|
+
* Data source definition for module names/titles from {@link AXPModuleManifestRegistry}.
|
|
2340
|
+
*/
|
|
2341
|
+
declare class AXPModuleManifestsDataSourceDefinition implements AXPDataSourceDefinitionProvider {
|
|
2342
|
+
private readonly manifestRegistry;
|
|
2343
|
+
items(): Promise<AXPDataSourceDefinition[]>;
|
|
2344
|
+
}
|
|
2345
|
+
|
|
2027
2346
|
/**
|
|
2028
2347
|
* Registry service for module manifests.
|
|
2029
2348
|
* Collects and manages all registered module manifests.
|
|
@@ -2060,6 +2379,11 @@ declare class AXPModuleManifestRegistry {
|
|
|
2060
2379
|
* Check if a module manifest is registered.
|
|
2061
2380
|
*/
|
|
2062
2381
|
has(moduleName: string): boolean;
|
|
2382
|
+
/**
|
|
2383
|
+
* Load feature definitions from all registered feature definition providers.
|
|
2384
|
+
* Features are automatically associated with modules based on the module name in the feature key.
|
|
2385
|
+
*/
|
|
2386
|
+
private loadFeatureDefinitions;
|
|
2063
2387
|
/**
|
|
2064
2388
|
* Get all feature definitions from all manifests.
|
|
2065
2389
|
*/
|
|
@@ -2083,12 +2407,13 @@ declare class AXPModuleManifestRegistry {
|
|
|
2083
2407
|
getModuleFeatures(moduleName: string): AXPFeatureDefinition[];
|
|
2084
2408
|
/**
|
|
2085
2409
|
* Register a feature definition dynamically (e.g., from feature definition provider).
|
|
2086
|
-
* Used to add features that are defined at runtime via
|
|
2410
|
+
* Used to add features that are defined at runtime via AXP_FEATURE_DEFINITION_PROVIDER.
|
|
2087
2411
|
*/
|
|
2088
2412
|
registerFeatureDefinition(definition: AXPFeatureDefinition): void;
|
|
2089
2413
|
/**
|
|
2090
2414
|
* Check if module dependencies are satisfied.
|
|
2091
2415
|
* Returns array of missing dependencies.
|
|
2416
|
+
* Dependencies can be module names or feature keys (ModuleName.FeatureKey format).
|
|
2092
2417
|
*/
|
|
2093
2418
|
checkDependencies(moduleName: string): {
|
|
2094
2419
|
missingModules: string[];
|
|
@@ -2116,13 +2441,13 @@ declare class AXPAppStartUpService {
|
|
|
2116
2441
|
declare const AXPAppStartUpProvider: i0.EnvironmentProviders;
|
|
2117
2442
|
|
|
2118
2443
|
/**
|
|
2119
|
-
* Module for managing module manifests
|
|
2120
|
-
* Handles the registration of manifest
|
|
2444
|
+
* Module for managing module manifests initialization.
|
|
2445
|
+
* Handles the registration of manifest startup tasks.
|
|
2121
2446
|
*/
|
|
2122
2447
|
declare class AXPModuleManifestModule {
|
|
2123
2448
|
/**
|
|
2124
2449
|
* @ignore
|
|
2125
|
-
* Initializes module manifest
|
|
2450
|
+
* Initializes module manifest tasks on module construction.
|
|
2126
2451
|
*/
|
|
2127
2452
|
constructor(appInitService: AXPAppStartUpService, injector: Injector);
|
|
2128
2453
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXPModuleManifestModule, never>;
|
|
@@ -2163,99 +2488,6 @@ interface AXPFeatureDefinitionProvider {
|
|
|
2163
2488
|
*/
|
|
2164
2489
|
declare const AXP_FEATURE_DEFINITION_PROVIDER: InjectionToken<AXPFeatureDefinitionProvider[]>;
|
|
2165
2490
|
|
|
2166
|
-
/**
|
|
2167
|
-
* Minimal provider interfaces for the module provider registry.
|
|
2168
|
-
* These interfaces are defined in core to avoid circular dependencies.
|
|
2169
|
-
* The actual implementations in platform/auth and platform/common implement these interfaces.
|
|
2170
|
-
*/
|
|
2171
|
-
/**
|
|
2172
|
-
* Permission definition provider interface.
|
|
2173
|
-
* Actual implementation: @acorex/platform/auth
|
|
2174
|
-
*/
|
|
2175
|
-
interface AXPIPermissionDefinitionProvider {
|
|
2176
|
-
define(context: any): Promise<void>;
|
|
2177
|
-
}
|
|
2178
|
-
/**
|
|
2179
|
-
* Menu provider interface.
|
|
2180
|
-
* Actual implementation: @acorex/platform/common
|
|
2181
|
-
*/
|
|
2182
|
-
interface AXPIMenuProvider {
|
|
2183
|
-
provide(context: any): Promise<void>;
|
|
2184
|
-
}
|
|
2185
|
-
/**
|
|
2186
|
-
* Setting definition provider interface.
|
|
2187
|
-
* Actual implementation: @acorex/platform/common
|
|
2188
|
-
*/
|
|
2189
|
-
interface AXPISettingDefinitionProvider {
|
|
2190
|
-
provide(context: any): Promise<void>;
|
|
2191
|
-
}
|
|
2192
|
-
/**
|
|
2193
|
-
* Search command provider interface.
|
|
2194
|
-
* Actual implementation: @acorex/platform/common
|
|
2195
|
-
*/
|
|
2196
|
-
interface AXPISearchCommandProvider {
|
|
2197
|
-
search(text: string): Promise<any[]>;
|
|
2198
|
-
commands?: any[];
|
|
2199
|
-
}
|
|
2200
|
-
/**
|
|
2201
|
-
* Entity definition loader interface.
|
|
2202
|
-
* Actual implementation: @acorex/platform/layout/entity
|
|
2203
|
-
*/
|
|
2204
|
-
interface AXIEntityDefinitionLoader {
|
|
2205
|
-
get(moduleName: string, entityName: string): Promise<any | null>;
|
|
2206
|
-
}
|
|
2207
|
-
/**
|
|
2208
|
-
* Edition service interface for querying edition information.
|
|
2209
|
-
* Actual implementation: @acorex/modules/application-management
|
|
2210
|
-
*
|
|
2211
|
-
* This interface is defined in core to avoid circular dependencies.
|
|
2212
|
-
* Modules provide implementations that extend AXMEntityCrudServiceImpl.
|
|
2213
|
-
*/
|
|
2214
|
-
interface AXPIEditionService {
|
|
2215
|
-
/**
|
|
2216
|
-
* Query editions with pagination and filtering.
|
|
2217
|
-
* @param request Query request with skip, take, and optional filters
|
|
2218
|
-
* @returns Promise that resolves to paged list of editions
|
|
2219
|
-
*/
|
|
2220
|
-
query(request: {
|
|
2221
|
-
skip: number;
|
|
2222
|
-
take: number;
|
|
2223
|
-
[key: string]: any;
|
|
2224
|
-
}): Promise<{
|
|
2225
|
-
items: Array<{
|
|
2226
|
-
id: string;
|
|
2227
|
-
title: string;
|
|
2228
|
-
modulesAndFeatures?: {
|
|
2229
|
-
modules: string[];
|
|
2230
|
-
features: Record<string, any>;
|
|
2231
|
-
};
|
|
2232
|
-
[key: string]: any;
|
|
2233
|
-
}>;
|
|
2234
|
-
total: number;
|
|
2235
|
-
}>;
|
|
2236
|
-
}
|
|
2237
|
-
/**
|
|
2238
|
-
* Injection token for edition service.
|
|
2239
|
-
* Modules should provide their implementation using this token.
|
|
2240
|
-
*/
|
|
2241
|
-
declare const AXP_EDITION_SERVICE: InjectionToken<AXPIEditionService>;
|
|
2242
|
-
/**
|
|
2243
|
-
* Module provider loader interface.
|
|
2244
|
-
* Implementation: @acorex/platform/auth
|
|
2245
|
-
*/
|
|
2246
|
-
interface AXPIModuleProviderLoader {
|
|
2247
|
-
loadRequiredModules(): Promise<void>;
|
|
2248
|
-
loadProviders(context: any): Promise<void>;
|
|
2249
|
-
loadProvidersIfReady(): Promise<void>;
|
|
2250
|
-
loadProvidersForApplication(application: any): Promise<void>;
|
|
2251
|
-
clear(): Promise<void>;
|
|
2252
|
-
isModuleRegistered(moduleName: string): boolean;
|
|
2253
|
-
}
|
|
2254
|
-
/**
|
|
2255
|
-
* Injection token for module provider loader.
|
|
2256
|
-
* Implementation: @acorex/platform/auth
|
|
2257
|
-
*/
|
|
2258
|
-
declare const AXP_MODULE_PROVIDER_LOADER: InjectionToken<AXPIModuleProviderLoader>;
|
|
2259
2491
|
/**
|
|
2260
2492
|
* Session service interface for module provider operations.
|
|
2261
2493
|
* Implementation: @acorex/platform/auth
|
|
@@ -2279,154 +2511,89 @@ declare const AXP_SESSION_SERVICE: InjectionToken<AXPISessionService>;
|
|
|
2279
2511
|
declare const AXP_MODULE_MANIFEST_PROVIDER: InjectionToken<AXPModuleManifest[]>;
|
|
2280
2512
|
|
|
2281
2513
|
/**
|
|
2282
|
-
*
|
|
2283
|
-
*
|
|
2514
|
+
* Resolves {@link AXPMultiLanguageString} using the active app locale, and exposes
|
|
2515
|
+
* {@link currentLocale$} for code that prefers an observable (e.g. manual subscriptions).
|
|
2516
|
+
* Templates usually use {@link AXPResolveMultiLanguageStringPipe} instead.
|
|
2284
2517
|
*/
|
|
2285
|
-
declare class
|
|
2286
|
-
private readonly
|
|
2287
|
-
private readonly menuProviders;
|
|
2288
|
-
private readonly entityProviders;
|
|
2289
|
-
private readonly settingProviders;
|
|
2290
|
-
private readonly searchProviders;
|
|
2291
|
-
private readonly featureProviders;
|
|
2292
|
-
private readonly datasourceProviders;
|
|
2293
|
-
/**
|
|
2294
|
-
* Register a permission provider.
|
|
2295
|
-
*/
|
|
2296
|
-
registerPermissionProvider(provider: AXPIPermissionDefinitionProvider): void;
|
|
2297
|
-
/**
|
|
2298
|
-
* Get all registered permission providers.
|
|
2299
|
-
*/
|
|
2300
|
-
getPermissionProviders(): AXPIPermissionDefinitionProvider[];
|
|
2301
|
-
/**
|
|
2302
|
-
* Register a menu provider.
|
|
2303
|
-
*/
|
|
2304
|
-
registerMenuProvider(provider: AXPIMenuProvider): void;
|
|
2305
|
-
/**
|
|
2306
|
-
* Get all registered menu providers.
|
|
2307
|
-
*/
|
|
2308
|
-
getMenuProviders(): AXPIMenuProvider[];
|
|
2309
|
-
/**
|
|
2310
|
-
* Register an entity provider.
|
|
2311
|
-
*/
|
|
2312
|
-
registerEntityProvider(provider: AXIEntityDefinitionLoader): void;
|
|
2313
|
-
/**
|
|
2314
|
-
* Get all registered entity providers.
|
|
2315
|
-
*/
|
|
2316
|
-
getEntityProviders(): AXIEntityDefinitionLoader[];
|
|
2317
|
-
/**
|
|
2318
|
-
* Register a settings provider.
|
|
2319
|
-
*/
|
|
2320
|
-
registerSettingProvider(provider: AXPISettingDefinitionProvider): void;
|
|
2321
|
-
/**
|
|
2322
|
-
* Get all registered settings providers.
|
|
2323
|
-
*/
|
|
2324
|
-
getSettingProviders(): AXPISettingDefinitionProvider[];
|
|
2325
|
-
/**
|
|
2326
|
-
* Register a search provider.
|
|
2327
|
-
*/
|
|
2328
|
-
registerSearchProvider(provider: AXPISearchCommandProvider): void;
|
|
2329
|
-
/**
|
|
2330
|
-
* Get all registered search providers.
|
|
2331
|
-
*/
|
|
2332
|
-
getSearchProviders(): AXPISearchCommandProvider[];
|
|
2333
|
-
/**
|
|
2334
|
-
* Register a feature provider.
|
|
2335
|
-
*/
|
|
2336
|
-
registerFeatureProvider(provider: AXPFeatureDefinitionProvider): void;
|
|
2518
|
+
declare class AXPMultiLanguageStringResolverService {
|
|
2519
|
+
private readonly translation;
|
|
2337
2520
|
/**
|
|
2338
|
-
*
|
|
2521
|
+
* Emits the active locale on subscribe and whenever the language changes.
|
|
2339
2522
|
*/
|
|
2340
|
-
|
|
2523
|
+
readonly currentLocale$: Observable<string>;
|
|
2341
2524
|
/**
|
|
2342
|
-
*
|
|
2525
|
+
* Resolves multi-language content for an optional locale (defaults to active).
|
|
2343
2526
|
*/
|
|
2344
|
-
|
|
2527
|
+
resolve(content: AXPMultiLanguageString | null | undefined, locale?: string): string;
|
|
2345
2528
|
/**
|
|
2346
|
-
*
|
|
2529
|
+
* Checks if a value is a valid multi-language object map.
|
|
2530
|
+
* Key format must be `xx-XX` (e.g. en-US, fa-IR) or fallback `*-*`.
|
|
2531
|
+
* All values must be strings.
|
|
2347
2532
|
*/
|
|
2348
|
-
|
|
2533
|
+
isValidMultiLanguageObject(value: unknown): value is Record<string, string>;
|
|
2349
2534
|
/**
|
|
2350
|
-
*
|
|
2351
|
-
*
|
|
2535
|
+
* Normalizes multi-language content to a locale map for editors (e.g. multi-language popup `values`).
|
|
2536
|
+
* If `content` is already a locale-to-string map, returns a shallow copy.
|
|
2537
|
+
* If it is a plain string or empty, wraps it as `{ [activeLocale]: text }`.
|
|
2352
2538
|
*/
|
|
2353
|
-
|
|
2354
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<
|
|
2355
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<
|
|
2539
|
+
toLocaleMap(content: AXPMultiLanguageString | null | undefined, activeLocale: string): Record<string, string>;
|
|
2540
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPMultiLanguageStringResolverService, never>;
|
|
2541
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXPMultiLanguageStringResolverService>;
|
|
2356
2542
|
}
|
|
2357
2543
|
|
|
2358
2544
|
/**
|
|
2359
|
-
*
|
|
2360
|
-
*
|
|
2361
|
-
*
|
|
2545
|
+
* Resolves {@link AXPMultiLanguageString} via {@link AXPMultiLanguageStringResolverService}.
|
|
2546
|
+
* Impure and subscribes to {@link AXPMultiLanguageStringResolverService#currentLocale$} so
|
|
2547
|
+
* OnPush hosts (e.g. grid cells) still refresh when the language changes.
|
|
2548
|
+
*
|
|
2549
|
+
* Optional second argument: explicit locale (e.g. from a host `locale` input). When omitted or null/empty,
|
|
2550
|
+
* the active language is used.
|
|
2551
|
+
*
|
|
2552
|
+
* @example
|
|
2553
|
+
* ```html
|
|
2554
|
+
* {{ value | axpResolveMultiLanguageString }}
|
|
2555
|
+
* {{ value | axpResolveMultiLanguageString: locale() }}
|
|
2556
|
+
* ```
|
|
2362
2557
|
*/
|
|
2363
|
-
|
|
2364
|
-
|
|
2365
|
-
|
|
2366
|
-
|
|
2367
|
-
|
|
2368
|
-
|
|
2369
|
-
|
|
2370
|
-
|
|
2371
|
-
};
|
|
2372
|
-
application: {
|
|
2373
|
-
id: string;
|
|
2374
|
-
name: string;
|
|
2375
|
-
title?: string;
|
|
2376
|
-
version?: string;
|
|
2377
|
-
edition?: {
|
|
2378
|
-
id: string;
|
|
2379
|
-
title: string;
|
|
2380
|
-
description?: string;
|
|
2381
|
-
};
|
|
2382
|
-
description?: string;
|
|
2383
|
-
logo?: any;
|
|
2384
|
-
[key: string]: any;
|
|
2385
|
-
};
|
|
2386
|
-
edition: {
|
|
2387
|
-
id: string;
|
|
2388
|
-
title: string;
|
|
2389
|
-
modulesAndFeatures?: {
|
|
2390
|
-
modules: string[];
|
|
2391
|
-
features: Record<string, any>;
|
|
2392
|
-
};
|
|
2393
|
-
};
|
|
2394
|
-
subscription?: any;
|
|
2395
|
-
user: {
|
|
2396
|
-
id: string;
|
|
2397
|
-
name: string;
|
|
2398
|
-
title: string;
|
|
2399
|
-
avatar?: string;
|
|
2400
|
-
[key: string]: any;
|
|
2401
|
-
};
|
|
2558
|
+
declare class AXPResolveMultiLanguageStringPipe implements PipeTransform, OnDestroy {
|
|
2559
|
+
private readonly resolver;
|
|
2560
|
+
private readonly cdr;
|
|
2561
|
+
private readonly localeSubscription;
|
|
2562
|
+
transform(value: AXPMultiLanguageString | null | undefined, locale?: string | null): string;
|
|
2563
|
+
ngOnDestroy(): void;
|
|
2564
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPResolveMultiLanguageStringPipe, never>;
|
|
2565
|
+
static ɵpipe: i0.ɵɵPipeDeclaration<AXPResolveMultiLanguageStringPipe, "axpResolveMultiLanguageString", true>;
|
|
2402
2566
|
}
|
|
2567
|
+
|
|
2403
2568
|
/**
|
|
2404
|
-
*
|
|
2405
|
-
*
|
|
2569
|
+
* Locale-aware comparison of {@link AXPMultiLanguageString} values (plain string, `@scope:key`, or locale map).
|
|
2570
|
+
* Resolves each side with {@link resolveMultiLanguageString} for `locale`, then compares with `String#localeCompare`.
|
|
2406
2571
|
*/
|
|
2407
|
-
|
|
2408
|
-
/**
|
|
2409
|
-
* Check if user has access to a module based on context.
|
|
2410
|
-
* @param moduleName Module name to check access for
|
|
2411
|
-
* @param context Access control context
|
|
2412
|
-
* @returns true if module should be loaded, false otherwise
|
|
2413
|
-
*/
|
|
2414
|
-
checkAccess(manifest: AXPModuleManifest, context: AXPModuleAccessContext): boolean | Promise<boolean>;
|
|
2415
|
-
}
|
|
2572
|
+
declare function compareMultiLanguageStrings(a: AXPMultiLanguageString | null | undefined, b: AXPMultiLanguageString | null | undefined, locale: string, collatorOptions?: Intl.CollatorOptions): number;
|
|
2416
2573
|
/**
|
|
2417
|
-
*
|
|
2418
|
-
* Checks if module is enabled in edition.modulesAndFeatures.modules.
|
|
2574
|
+
* Stable sort copy: orders items by resolved string for `getValue(item)` using the active `locale`.
|
|
2419
2575
|
*/
|
|
2420
|
-
declare
|
|
2421
|
-
|
|
2422
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<DefaultModuleAccessControlService, never>;
|
|
2423
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<DefaultModuleAccessControlService>;
|
|
2424
|
-
}
|
|
2576
|
+
declare function sortByMultiLanguageString<T>(items: readonly T[], getValue: (item: T) => AXPMultiLanguageString | null | undefined, locale: string, collatorOptions?: Intl.CollatorOptions): T[];
|
|
2577
|
+
|
|
2425
2578
|
/**
|
|
2426
|
-
*
|
|
2427
|
-
* If not provided, DefaultModuleAccessControlService will be used as fallback.
|
|
2579
|
+
* Checks whether value is a valid locale map (`xx-XX` or `*-*` keys, string values).
|
|
2428
2580
|
*/
|
|
2429
|
-
declare
|
|
2581
|
+
declare function isValidMultiLanguageObject(value: unknown): value is Record<string, string>;
|
|
2582
|
+
/**
|
|
2583
|
+
* Resolves {@link AXPMultiLanguageString} to a single string for the given locale.
|
|
2584
|
+
* Fallback order: `currentLocale` → `en-US` → first map value.
|
|
2585
|
+
*/
|
|
2586
|
+
declare function resolveMultiLanguageString(content: AXPMultiLanguageString | null | undefined, currentLocale: string): string;
|
|
2587
|
+
/**
|
|
2588
|
+
* Creates an {@link AXPMultiLanguageString} with `en-US` and `fa-IR` entries.
|
|
2589
|
+
* Use for seed data, tests, and demos that supply English and Persian copy explicitly.
|
|
2590
|
+
*/
|
|
2591
|
+
declare function createMultiLanguageString(enUs: string, faIr: string): AXPMultiLanguageString;
|
|
2592
|
+
/**
|
|
2593
|
+
* True when there is no displayable text in any locale (plain string or ML map).
|
|
2594
|
+
* Pure helper for predicates (e.g. default section detection); prefer widgets / pipes for display.
|
|
2595
|
+
*/
|
|
2596
|
+
declare function isEffectivelyEmptyLocalizedValue(value: unknown): boolean;
|
|
2430
2597
|
|
|
2431
2598
|
/**
|
|
2432
2599
|
* Represents a tag with text, color, and metadata
|
|
@@ -2692,11 +2859,58 @@ declare function getEnumValues(enumType: any): {
|
|
|
2692
2859
|
title: string;
|
|
2693
2860
|
}[];
|
|
2694
2861
|
|
|
2862
|
+
/**
|
|
2863
|
+
* Creates a provider instance within an injection context.
|
|
2864
|
+
* Handles dynamic import, injector resolution, and provider instantiation.
|
|
2865
|
+
*
|
|
2866
|
+
* @param loader - Function that returns a promise resolving to the provider class
|
|
2867
|
+
* @returns Promise that resolves to the provider instance
|
|
2868
|
+
*
|
|
2869
|
+
* @example
|
|
2870
|
+
* ```typescript
|
|
2871
|
+
* useFactory: () => createProviderWithInjectionContext(() =>
|
|
2872
|
+
* import('./settings.provider').then(m => m.AXMSettingProvider)
|
|
2873
|
+
* )
|
|
2874
|
+
* ```
|
|
2875
|
+
*/
|
|
2876
|
+
declare function createProviderWithInjectionContext<T>(loader: () => Promise<new () => T>): Promise<T>;
|
|
2877
|
+
/**
|
|
2878
|
+
* Creates a provider configuration for lazy-loaded providers with injection context.
|
|
2879
|
+
* Simplifies provider registration in NgModule providers array.
|
|
2880
|
+
*
|
|
2881
|
+
* @param token - The injection token to provide
|
|
2882
|
+
* @param loader - Function that returns a promise resolving to the provider class
|
|
2883
|
+
* @param multi - Optional. Whether the provider is a multi-provider (array of values). Defaults to `true`. Pass `false` for a single provider.
|
|
2884
|
+
* @returns Provider configuration object
|
|
2885
|
+
*
|
|
2886
|
+
* @example
|
|
2887
|
+
* ```typescript
|
|
2888
|
+
* // Multi-provider (default)
|
|
2889
|
+
* provideLazyProvider(
|
|
2890
|
+
* AXP_DATASOURCE_DEFINITION_PROVIDER,
|
|
2891
|
+
* () => import('./datasource.provider').then(m => m.AXMDataSourceProvider)
|
|
2892
|
+
* )
|
|
2893
|
+
*
|
|
2894
|
+
* // Single provider
|
|
2895
|
+
* provideLazyProvider(
|
|
2896
|
+
* SOME_TOKEN,
|
|
2897
|
+
* () => import('./my.provider').then(m => m.MyProvider),
|
|
2898
|
+
* false
|
|
2899
|
+
* )
|
|
2900
|
+
* ```
|
|
2901
|
+
*/
|
|
2902
|
+
declare function provideLazyProvider<TProvider>(token: InjectionToken<any>, loader: () => Promise<new () => TProvider>, multi?: boolean): Provider;
|
|
2903
|
+
|
|
2695
2904
|
declare function extractTextFromHtml(value: string): string;
|
|
2905
|
+
/**
|
|
2906
|
+
* True when the string likely contains HTML markup (e.g. `<p>`, `<ul>`), as opposed to plain text.
|
|
2907
|
+
* Used to choose innerHTML vs text interpolation for multilingual fields.
|
|
2908
|
+
*/
|
|
2909
|
+
declare function containsHtmlMarkup(value: string | null | undefined): boolean;
|
|
2696
2910
|
/**
|
|
2697
2911
|
* Generate kebab-case group name from title
|
|
2698
2912
|
*/
|
|
2699
2913
|
declare function generateKebabCase(title: string): string;
|
|
2700
2914
|
|
|
2701
|
-
export {
|
|
2702
|
-
export type {
|
|
2915
|
+
export { AXHighlightService, AXPActivityLogProvider, AXPActivityLogService, AXPAppStartUpProvider, AXPAppStartUpService, AXPBroadcastEventService, AXPColorPaletteProvider, AXPColorPaletteService, AXPColumnWidthService, AXPComponentLogoConfig, AXPComponentSlot, AXPComponentSlotDirective, AXPComponentSlotModule, AXPComponentSlotRegistryService, AXPContentCheckerDirective, AXPContextChangeEvent, AXPContextStore, AXPCountdownPipe, AXPDataGenerator, AXPDataSourceDefinitionProviderService, AXPDblClickDirective, AXPDefaultColorPalettesProvider, AXPDeviceService, AXPDeviceType, AXPDistributedEventListenerService, AXPElementDataDirective, AXPExportTemplateToken, AXPExpressionEvaluatorScopeProviderContext, AXPExpressionEvaluatorScopeProviderService, AXPExpressionEvaluatorService, AXPFeatureDefinitionProviderContext, AXPGridLayoutDirective, AXPHookService, AXPIconLogoConfig, AXPImageUrlLogoConfig, AXPModuleManifestModule, AXPModuleManifestRegistry, AXPModuleManifestsDataSourceDefinition, AXPMultiLanguageStringResolverService, AXPPlatformScope, AXPResolveMultiLanguageStringPipe, AXPScreenSize, AXPSystemActionType, AXPSystemActions, AXPTagProvider, AXPTagService, AXP_ACTIVITY_LOG_PROVIDER, AXP_COLOR_PALETTE_PROVIDER, AXP_COLUMN_WIDTH_PROVIDER, AXP_DATASOURCE_DEFINITION_PROVIDER, AXP_DISTRIBUTED_EVENT_LISTENER_PROVIDER, AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER, AXP_FEATURE_DEFINITION_PROVIDER, AXP_MODULE_MANIFEST_PROVIDER, AXP_SESSION_SERVICE, AXP_TAG_PROVIDER, MODULE_MANIFESTS_DATASOURCE_NAME, applyFilterArray, applyPagination, applyQueryArray, applySortArray, applySystemActionDefault, cleanDeep, compareMultiLanguageStrings, containsHtmlMarkup, createMultiLanguageString, createProviderWithInjectionContext, defaultColumnWidthProvider, extractNestedFieldsWildcard, extractTextFromHtml, extractValue, generateKebabCase, getActionButton, getChangedPaths, getDetailedChanges, getEnumValues, getNestedKeys, getSmart, getSystemActions, isEffectivelyEmptyLocalizedValue, isValidMultiLanguageObject, objectKeyValueTransforms, provideLazyProvider, resolveActionLook, resolveMultiLanguageString, resolvePlatformScopeKey, resolvePlatformScopeName, setSmart, sortByMultiLanguageString };
|
|
2916
|
+
export type { AXPActionMenuItem, AXPActivityLog, AXPActivityLogChange, AXPApplicationUserReference, AXPBackButton, AXPBadge, AXPBreadcrumbItem, AXPCategorizedEntity, AXPCategorizedEntityDto, AXPCategoryEntity, AXPCategoryEntityWithItems, AXPCategoryListItem, AXPColorPalette, AXPColorPaletteFilterOptions, AXPColumnQuery, AXPColumnWidthMatcher, AXPColumnWidthProvider, AXPCommandMessage, AXPComponentSlotConfig, AXPComponentSlotModuleConfigs, AXPContent, AXPContentDirection, AXPContentType, AXPContextData, AXPContextState, AXPDataSource, AXPDataSourceArray, AXPDataSourceDataFieldDefinition, AXPDataSourceDefinition, AXPDataSourceDefinitionProvider, AXPDataSourceSample, AXPDataSourceType, AXPDataSourceValue, AXPDataType, AXPDistributedEventListenerProvider, AXPDistributedEventListenerProviderToken, AXPEntityOp, AXPEntityReference, AXPEqualValidationRule, AXPExecuteCommand, AXPExecuteCommandResult, AXPExportCsvOptions, AXPExportExcelOptions, AXPExportOptions, AXPExportPdfOptions, AXPExportPrintOptions, AXPExpression, AXPExpressionEvaluatorScope, AXPExpressionEvaluatorScopeProvider, AXPExpressionEvaluatorScopeProviders, AXPFeatureDefinition, AXPFeatureDefinitionProvider, AXPFeatureName, AXPFileListItem, AXPFileSource, AXPFileStatus, AXPFilterClause, AXPFilterDefinition, AXPFilterQuery, AXPFilterTriggerDefinition, AXPFlowDirection, AXPGridLayoutOptions, AXPGridPlacement, AXPISessionService, AXPLazyDataSource, AXPLogoConfig, AXPMaxLengthValidationRule, AXPMaybePromise, AXPMetaData, AXPMiddlewareErrorResponse, AXPMinLengthValidationRule, AXPModuleFeatureDefinition, AXPModuleFeatureDefinitionWithKey, AXPModuleManifest, AXPMultiLanguageString, AXPNavigateActionCommand, AXPNavigateActionOptions, AXPOptionsData, AXPPageStatus, AXPPagedListResult, AXPPartialNested, AXPPlatformScopeKey, AXPQueryFetchResult, AXPQueryRequest, AXPReqexValidationRule, AXPRequiredValidationRule, AXPSortDefinition, AXPSortQuery, AXPStartUpTask, AXPStringValidationRules, AXPSystemAction, AXPTag, AXPTagFilterOptions, AXPUserReference, AXPValidationRule, AXPValidationRules, AXPValueTransformerFunction, AXPValueTransformerFunctions, AXPValueUnit, AXPValueUnits, AXPViewBlockDefinition, AXPViewDefinition, AXPViewFieldDefinition, AXPViewQuery, AXPWidgetTrigger, AXPWidgetTriggers, ColumnNameMatcher, ColumnWidthValue, IColumnWithWidth, WidgetTypeMatcher };
|