@acorex/platform 21.0.0-next.8 → 21.0.0-next.83
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/contracts/README.md +3 -0
- package/fesm2022/acorex-platform-auth.mjs +201 -81
- package/fesm2022/acorex-platform-auth.mjs.map +1 -1
- package/fesm2022/acorex-platform-common-common-settings.provider-Ytey9uhY.mjs +177 -0
- package/fesm2022/acorex-platform-common-common-settings.provider-Ytey9uhY.mjs.map +1 -0
- package/fesm2022/acorex-platform-common.mjs +4490 -880
- package/fesm2022/acorex-platform-common.mjs.map +1 -1
- package/fesm2022/acorex-platform-contracts.mjs +38 -0
- package/fesm2022/acorex-platform-contracts.mjs.map +1 -0
- package/fesm2022/acorex-platform-core.mjs +2612 -667
- package/fesm2022/acorex-platform-core.mjs.map +1 -1
- package/fesm2022/acorex-platform-domain.mjs +557 -826
- package/fesm2022/acorex-platform-domain.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-builder.mjs +1255 -209
- 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 +6486 -1915
- package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-designer.mjs +612 -287
- package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-entity-attachments-page.component-CwG6n_Yb.mjs +376 -0
- package/fesm2022/acorex-platform-layout-entity-attachments-page.component-CwG6n_Yb.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-entity-file-list-popup.component--IeMZLIr.mjs +100 -0
- package/fesm2022/acorex-platform-layout-entity-file-list-popup.component--IeMZLIr.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-entity.mjs +22502 -9964
- package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-views.mjs +1360 -338
- package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-widget-core.mjs +2226 -524
- 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-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-J0zcGKBX.mjs +116 -0
- package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-J0zcGKBX.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-DjpZU6gz.mjs} +6 -6
- package/fesm2022/acorex-platform-layout-widgets-tabular-data-edit-popup.component-DjpZU6gz.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-gX-3Kx9I.mjs} +5 -5
- package/fesm2022/acorex-platform-layout-widgets-tabular-data-view-popup.component-gX-3Kx9I.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 +18742 -16715
- 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 +391 -166
- package/fesm2022/acorex-platform-runtime.mjs.map +1 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-CWLfNqV0.mjs +160 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-CWLfNqV0.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-C7cT82K2.mjs +120 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-C7cT82K2.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-Br9p5aXT.mjs} +21 -28
- package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-Br9p5aXT.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default-error-401.component-B1nsdpTY.mjs +48 -0
- package/fesm2022/acorex-platform-themes-default-error-401.component-B1nsdpTY.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default-error-404.component-D4UvRe8u.mjs +42 -0
- package/fesm2022/acorex-platform-themes-default-error-404.component-D4UvRe8u.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 +2337 -94
- 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 → acorex-platform-themes-shared-settings.provider-BjuzSe0T.mjs} +52 -33
- package/fesm2022/acorex-platform-themes-shared-settings.provider-BjuzSe0T.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-D566Kdvy.mjs +94 -0
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-D566Kdvy.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-D7-rCGl7.mjs +86 -0
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-D7-rCGl7.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-shared.mjs +793 -612
- package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
- package/fesm2022/acorex-platform-workflow.mjs +997 -274
- package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
- package/fesm2022/acorex-platform.mjs.map +1 -1
- package/package.json +41 -35
- package/{auth/index.d.ts → types/acorex-platform-auth.d.ts} +40 -19
- package/types/acorex-platform-common.d.ts +3673 -0
- package/types/acorex-platform-contracts.d.ts +940 -0
- package/{core/index.d.ts → types/acorex-platform-core.d.ts} +1029 -170
- package/{domain/index.d.ts → types/acorex-platform-domain.d.ts} +744 -412
- package/{layout/builder/index.d.ts → types/acorex-platform-layout-builder.d.ts} +262 -55
- package/types/acorex-platform-layout-components.d.ts +3329 -0
- package/{layout/designer/index.d.ts → types/acorex-platform-layout-designer.d.ts} +96 -18
- package/types/acorex-platform-layout-entity.d.ts +4512 -0
- package/{layout/views/index.d.ts → types/acorex-platform-layout-views.d.ts} +334 -91
- package/{layout/widget-core/index.d.ts → types/acorex-platform-layout-widget-core.d.ts} +438 -162
- package/{layout/widgets/index.d.ts → types/acorex-platform-layout-widgets.d.ts} +1152 -507
- package/{native/index.d.ts → types/acorex-platform-native.d.ts} +0 -7
- package/types/acorex-platform-runtime.d.ts +571 -0
- package/{themes/default/index.d.ts → types/acorex-platform-themes-default.d.ts} +268 -11
- package/{themes/shared/index.d.ts → types/acorex-platform-themes-shared.d.ts} +30 -2
- package/{workflow/index.d.ts → types/acorex-platform-workflow.d.ts} +436 -748
- package/common/index.d.ts +0 -2470
- package/fesm2022/acorex-platform-common-common-settings.provider-zhqNP3xb.mjs +0 -71
- 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 +0 -135
- 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-D3qZa5fM.mjs +0 -1542
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-D3qZa5fM.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 +0 -31
- 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 +0 -25
- 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-settings.provider-DSs1o1M6.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-Dz0cylyQ.mjs +0 -65
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-Dz0cylyQ.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-DY0JtT1v.mjs +0 -64
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-DY0JtT1v.mjs.map +0 -1
- package/layout/components/index.d.ts +0 -1670
- package/layout/entity/index.d.ts +0 -2294
- package/runtime/index.d.ts +0 -307
- /package/{index.d.ts → types/acorex-platform.d.ts} +0 -0
|
@@ -1,10 +1,18 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Type, InjectionToken, OnInit, ElementRef, EventEmitter, OnChanges, Renderer2, SimpleChanges,
|
|
3
|
-
import { AXStyleColorType, AXDataSource, AXDataSourceSortOption, AXDataSourceFilterOption, AXDataSourceQuery, AXDataSourceCallbackResult } from '@acorex/cdk/common';
|
|
2
|
+
import { Type, InjectionToken, OnInit, ViewContainerRef, ModuleWithProviders, ElementRef, EventEmitter, OnChanges, Renderer2, SimpleChanges, OnDestroy, DestroyRef, Injector, PipeTransform, Provider } from '@angular/core';
|
|
3
|
+
import { AXStyleColorType, AXDataSource, AXDataSourceSortOption, AXDataSourceFilterOption, AXStyleLookType, AXDataSourceQuery, AXDataSourceCallbackResult } from '@acorex/cdk/common';
|
|
4
|
+
import { AXMultiLanguageString } from '@acorex/core/translation';
|
|
4
5
|
import * as _ngrx_signals from '@ngrx/signals';
|
|
6
|
+
import * as _acorex_platform_core from '@acorex/platform/core';
|
|
5
7
|
import { Observable } from 'rxjs';
|
|
6
8
|
import { NavigationExtras } from '@angular/router';
|
|
7
9
|
|
|
10
|
+
/** Platform core datasource registry names. */
|
|
11
|
+
declare const AXPPlatformCoreDataSourceKeys: {
|
|
12
|
+
readonly ModuleManifests: "platform-module-manifests";
|
|
13
|
+
readonly CatalogScopes: "platform-catalog-scopes";
|
|
14
|
+
};
|
|
15
|
+
|
|
8
16
|
/**
|
|
9
17
|
* Additional suggested generic actions for future consideration:
|
|
10
18
|
*
|
|
@@ -899,7 +907,7 @@ declare function getActionButton(actionType: string): {
|
|
|
899
907
|
interface AXPColumnQuery {
|
|
900
908
|
name: string;
|
|
901
909
|
title: string;
|
|
902
|
-
visible: boolean;
|
|
910
|
+
visible: boolean | string;
|
|
903
911
|
}
|
|
904
912
|
|
|
905
913
|
type AXPPartialNested<T> = {
|
|
@@ -907,6 +915,28 @@ type AXPPartialNested<T> = {
|
|
|
907
915
|
};
|
|
908
916
|
declare function getNestedKeys(obj: any, prefix?: string): string[];
|
|
909
917
|
type AXPExpression = string;
|
|
918
|
+
/**
|
|
919
|
+
* Plain or rich text that may be localized: a single string or a map of locale code to string.
|
|
920
|
+
* Use when multi-language editing stores `Record<locale, string>` instead of one string.
|
|
921
|
+
*
|
|
922
|
+
* @example Single value (one locale or shared text)
|
|
923
|
+
* `"<p>Pick one</p>"`
|
|
924
|
+
*
|
|
925
|
+
* @example Per-locale map (e.g. after multi-language editor save)
|
|
926
|
+
* `{ "en-US": "<p>Pick one</p>", "fa-IR": "<p>یکی را انتخاب کنید</p>" }`
|
|
927
|
+
*/
|
|
928
|
+
type AXPMultiLanguageString = AXMultiLanguageString;
|
|
929
|
+
/**
|
|
930
|
+
* Shared category descriptor for widgets, query catalog tooling, and other definition groupings.
|
|
931
|
+
*/
|
|
932
|
+
interface AXPDefinitionCategory {
|
|
933
|
+
name: string;
|
|
934
|
+
title: AXPMultiLanguageString;
|
|
935
|
+
order: number;
|
|
936
|
+
icon?: string;
|
|
937
|
+
}
|
|
938
|
+
/** Normalizes definition categories to an array for iteration and serialization. */
|
|
939
|
+
declare function normalizeDefinitionCategories(categories?: AXPDefinitionCategory | AXPDefinitionCategory[]): AXPDefinitionCategory[];
|
|
910
940
|
type AXPMetaData = Record<string, any>;
|
|
911
941
|
type AXPOptionsData<T extends Record<string, unknown> = Record<string, any>> = T;
|
|
912
942
|
interface AXPValueUnit {
|
|
@@ -943,8 +973,10 @@ interface AXPContent {
|
|
|
943
973
|
content: string;
|
|
944
974
|
contentType: AXPContentType;
|
|
945
975
|
}
|
|
976
|
+
type AXPMaybePromise<T = unknown> = T | Promise<T>;
|
|
946
977
|
|
|
947
978
|
type AXPDataSource = string | AXDataSource | any[];
|
|
979
|
+
type AXPDataType = 'string' | 'number' | 'boolean' | 'date' | 'object' | 'array' | 'blob';
|
|
948
980
|
interface AXPPagedListResult<T = any> {
|
|
949
981
|
items: T[];
|
|
950
982
|
total: number;
|
|
@@ -958,31 +990,142 @@ interface AXPQueryRequest {
|
|
|
958
990
|
[key: string]: string;
|
|
959
991
|
};
|
|
960
992
|
}
|
|
961
|
-
|
|
993
|
+
/**
|
|
994
|
+
* Category Entity - Base interface for hierarchical category structures
|
|
995
|
+
*
|
|
996
|
+
* This interface provides a standardized data model for category entities across the platform.
|
|
997
|
+
* All category entities (e.g., ReportCategory, ActivityCategory, WorkflowCategory) extend this interface
|
|
998
|
+
* to ensure consistency in data structure and field names.
|
|
999
|
+
*
|
|
1000
|
+
* @template TKey - The type of the identifier key (default: string)
|
|
1001
|
+
*
|
|
1002
|
+
* @example
|
|
1003
|
+
* ```typescript
|
|
1004
|
+
* const category: AXPCategoryEntity = {
|
|
1005
|
+
* id: 'cat-001',
|
|
1006
|
+
* title: 'Electronics',
|
|
1007
|
+
* description: 'Electronic products',
|
|
1008
|
+
* parentId: undefined, // Root category
|
|
1009
|
+
* childrenCount: 2, // Has 2 direct child categories
|
|
1010
|
+
* itemsCount: 5, // Has 5 items directly in this category
|
|
1011
|
+
* totalChildrenCount: 6, // Total of 6 nested categories (including grandchildren)
|
|
1012
|
+
* totalItemsCount: 23 // Total of 23 items in entire category tree
|
|
1013
|
+
* };
|
|
1014
|
+
* ```
|
|
1015
|
+
*/
|
|
962
1016
|
interface AXPCategoryEntity<TKey = string> {
|
|
1017
|
+
/** Unique identifier for the category */
|
|
963
1018
|
id: TKey;
|
|
964
|
-
|
|
965
|
-
|
|
1019
|
+
/** Display name of the category (required) */
|
|
1020
|
+
title: AXPMultiLanguageString;
|
|
1021
|
+
/** Optional description of the category */
|
|
1022
|
+
description?: AXPMultiLanguageString;
|
|
1023
|
+
/** Parent category ID (undefined for root categories) */
|
|
966
1024
|
parentId?: TKey;
|
|
1025
|
+
/**
|
|
1026
|
+
* Count of direct child categories only (not recursive)
|
|
1027
|
+
*
|
|
1028
|
+
* Used by UI components to determine if a category has children and should show an expand icon.
|
|
1029
|
+
* This enables efficient lazy loading - components can check this property without querying the API.
|
|
1030
|
+
*
|
|
1031
|
+
* @example
|
|
1032
|
+
* - Category with 2 direct children: `childrenCount: 2`
|
|
1033
|
+
* - Leaf category (no children): `childrenCount: 0`
|
|
1034
|
+
*
|
|
1035
|
+
* @remarks
|
|
1036
|
+
* - Always set to `0` for leaf categories
|
|
1037
|
+
* - Does not include grandchildren or nested descendants
|
|
1038
|
+
* - Automatically maintained by middleware for category entities
|
|
1039
|
+
*/
|
|
967
1040
|
childrenCount: number;
|
|
1041
|
+
/**
|
|
1042
|
+
* Count of items directly assigned to this category (not recursive)
|
|
1043
|
+
*
|
|
1044
|
+
* Represents the number of items (e.g., reports, activities, workflows) that are directly
|
|
1045
|
+
* assigned to this category. Does not include items from child categories.
|
|
1046
|
+
*
|
|
1047
|
+
* Useful for:
|
|
1048
|
+
* - Displaying item counts per category in UI (e.g., "5 reports" badge)
|
|
1049
|
+
* - Optimizing queries (skip API call if itemsCount === 0)
|
|
1050
|
+
* - Showing category statistics
|
|
1051
|
+
*
|
|
1052
|
+
* @example
|
|
1053
|
+
* - Category with 5 reports directly assigned: `itemsCount: 5`
|
|
1054
|
+
* - Category with no direct items: `itemsCount: 0` or `undefined`
|
|
1055
|
+
*
|
|
1056
|
+
* @remarks
|
|
1057
|
+
* - Does not include items from child categories
|
|
1058
|
+
* - Can be calculated dynamically or stored
|
|
1059
|
+
* - Optional - may be undefined if not needed
|
|
1060
|
+
*/
|
|
968
1061
|
itemsCount?: number;
|
|
969
|
-
|
|
970
|
-
|
|
1062
|
+
/**
|
|
1063
|
+
* Recursive count of all nested child categories (includes all descendants)
|
|
1064
|
+
*
|
|
1065
|
+
* Represents the total number of categories in the entire subtree starting from this category.
|
|
1066
|
+
* Includes children, grandchildren, and all nested descendants.
|
|
1067
|
+
*
|
|
1068
|
+
* Useful for:
|
|
1069
|
+
* - Analytics and summary displays
|
|
1070
|
+
* - Showing complete category tree scope
|
|
1071
|
+
* - Performance metrics
|
|
1072
|
+
*
|
|
1073
|
+
* @example
|
|
1074
|
+
* Root category with:
|
|
1075
|
+
* - 2 direct children
|
|
1076
|
+
* - Each child has 2 children (4 grandchildren)
|
|
1077
|
+
* Result: `totalChildrenCount: 6` (2 + 4)
|
|
1078
|
+
*
|
|
1079
|
+
* @remarks
|
|
1080
|
+
* - Optional - typically used for analytics
|
|
1081
|
+
* - Includes all nested levels (recursive)
|
|
1082
|
+
* - Can be expensive to calculate for large trees
|
|
1083
|
+
*/
|
|
1084
|
+
totalChildrenCount?: number;
|
|
1085
|
+
/**
|
|
1086
|
+
* Recursive count of all items in this category and all descendants
|
|
1087
|
+
*
|
|
1088
|
+
* Represents the total number of items (e.g., reports, activities, workflows) in the entire
|
|
1089
|
+
* category tree, including items from this category and all nested child categories.
|
|
1090
|
+
*
|
|
1091
|
+
* Useful for:
|
|
1092
|
+
* - Analytics and summary displays
|
|
1093
|
+
* - Showing complete scope of a category branch
|
|
1094
|
+
* - Dashboard statistics
|
|
1095
|
+
*
|
|
1096
|
+
* @example
|
|
1097
|
+
* Category with:
|
|
1098
|
+
* - 5 items directly assigned
|
|
1099
|
+
* - 1 child category with 3 items
|
|
1100
|
+
* Result: `totalItemsCount: 8` (5 + 3)
|
|
1101
|
+
*
|
|
1102
|
+
* @remarks
|
|
1103
|
+
* - Optional - typically used for analytics
|
|
1104
|
+
* - Includes items from all nested categories (recursive)
|
|
1105
|
+
* - Can be expensive to calculate for large trees
|
|
1106
|
+
*/
|
|
1107
|
+
totalItemsCount?: number;
|
|
971
1108
|
}
|
|
972
1109
|
interface AXPCategoryEntityWithItems<T> extends AXPCategoryEntity {
|
|
973
1110
|
items: T[];
|
|
974
1111
|
children?: AXPCategoryEntityWithItems<T>[];
|
|
975
1112
|
}
|
|
1113
|
+
/**
|
|
1114
|
+
* Denormalized category row on entities and DTOs (id + localized display title).
|
|
1115
|
+
* Use for `categories` arrays expanded from {@link AXPCategoryEntity} assignments.
|
|
1116
|
+
*/
|
|
1117
|
+
interface AXPCategoryListItem<TKey extends string = string> {
|
|
1118
|
+
id: TKey;
|
|
1119
|
+
title: AXPMultiLanguageString;
|
|
1120
|
+
}
|
|
976
1121
|
interface AXPCategorizedEntity {
|
|
977
1122
|
categoryIds: string[];
|
|
978
1123
|
}
|
|
979
1124
|
interface AXPCategorizedEntityDto {
|
|
980
1125
|
categoryIds: string[];
|
|
981
|
-
categories:
|
|
982
|
-
id: string;
|
|
983
|
-
title: string;
|
|
984
|
-
}[];
|
|
1126
|
+
categories: AXPCategoryListItem[];
|
|
985
1127
|
}
|
|
1128
|
+
type AXPEntityOp = 'initial' | 'create' | 'update' | 'delete' | 'getOne' | 'getAll' | 'query' | 'count' | 'queryAll' | 'getMany' | 'exists' | 'upsertOne' | 'aggregate';
|
|
986
1129
|
|
|
987
1130
|
type AXPWidgetTrigger = {
|
|
988
1131
|
event: string;
|
|
@@ -1002,8 +1145,25 @@ interface AXPFileListItem {
|
|
|
1002
1145
|
size?: number;
|
|
1003
1146
|
status: AXPFileStatus;
|
|
1004
1147
|
source?: AXPFileSource;
|
|
1148
|
+
meta?: AXPMetaData;
|
|
1149
|
+
/**
|
|
1150
|
+
* When true, the item cannot be renamed, removed, or reverted from the UI.
|
|
1151
|
+
* Independent of widget `options.readonly` (widget-level disables all edits); use this for per-row locks from the server.
|
|
1152
|
+
*/
|
|
1153
|
+
readOnly?: boolean;
|
|
1154
|
+
title?: string;
|
|
1155
|
+
description?: string;
|
|
1005
1156
|
}
|
|
1006
1157
|
|
|
1158
|
+
/**
|
|
1159
|
+
* Filter toolbar trigger entries (same shape as entity `schema.interface.triggers`).
|
|
1160
|
+
* Declared on `AXPFilterDefinition` and populated when building list filter definitions.
|
|
1161
|
+
*/
|
|
1162
|
+
interface AXPFilterTriggerDefinition {
|
|
1163
|
+
event: string;
|
|
1164
|
+
action: string;
|
|
1165
|
+
disabled?: boolean;
|
|
1166
|
+
}
|
|
1007
1167
|
interface AXPFilterClause extends AXDataSourceFilterOption {
|
|
1008
1168
|
id?: string;
|
|
1009
1169
|
order?: number;
|
|
@@ -1020,33 +1180,131 @@ interface AXPFilterDefinition extends AXPFilterClause {
|
|
|
1020
1180
|
filterType: {
|
|
1021
1181
|
advance: boolean;
|
|
1022
1182
|
inline: boolean;
|
|
1183
|
+
preload?: {
|
|
1184
|
+
enabled?: boolean;
|
|
1185
|
+
required?: boolean;
|
|
1186
|
+
};
|
|
1023
1187
|
};
|
|
1024
1188
|
hidden?: boolean;
|
|
1189
|
+
/**
|
|
1190
|
+
* When true, the filter is not selectable. When a string, it is evaluated as an expression (e.g. `{{ ... }}`)
|
|
1191
|
+
* using the current filters context.
|
|
1192
|
+
*/
|
|
1193
|
+
disabled?: boolean | string;
|
|
1194
|
+
/** Expression-driven triggers (events/actions); same semantics as entity `schema.interface.triggers`. */
|
|
1195
|
+
triggers?: AXPFilterTriggerDefinition[];
|
|
1025
1196
|
}
|
|
1026
1197
|
interface AXPFilterQuery extends Pick<AXPFilterDefinition, 'field' | 'value' | 'operator' | 'logic' | 'hidden'> {
|
|
1027
1198
|
filters?: AXPFilterQuery[];
|
|
1028
1199
|
displayText?: string;
|
|
1029
1200
|
}
|
|
1030
1201
|
|
|
1202
|
+
/**
|
|
1203
|
+
* Normalized keyboard chord (e.g. `ctrl+f`, `arrowleft`, `f1`).
|
|
1204
|
+
* Modifiers and key are joined with `+`.
|
|
1205
|
+
*/
|
|
1206
|
+
type AXPKeyboardShortcutChord = string;
|
|
1207
|
+
/** Priority tier — higher values win when multiple bindings match. */
|
|
1208
|
+
declare enum AXPKeyboardShortcutPriority {
|
|
1209
|
+
Global = 0,
|
|
1210
|
+
Page = 10,
|
|
1211
|
+
Panel = 20,
|
|
1212
|
+
Modal = 100
|
|
1213
|
+
}
|
|
1214
|
+
/**
|
|
1215
|
+
* How horizontal directional keys behave in RTL locale profiles (`activeProfile().i18nMeta?.rtl`).
|
|
1216
|
+
* - `physical`: arrow left always means left (grid navigation, etc.).
|
|
1217
|
+
* - `semantic`: arrows and `[` / `]` mirror so next/previous follow reading direction.
|
|
1218
|
+
*/
|
|
1219
|
+
type AXPKeyboardShortcutDirectionBehavior = 'physical' | 'semantic';
|
|
1220
|
+
interface AXPKeyboardShortcutBinding {
|
|
1221
|
+
/**
|
|
1222
|
+
* One or more key chords that trigger this action.
|
|
1223
|
+
* Example: `['arrowleft', 'pageup']` or `['ctrl+f']`.
|
|
1224
|
+
*/
|
|
1225
|
+
keys: AXPKeyboardShortcutChord[];
|
|
1226
|
+
/** i18n key (e.g. `@general:...`) or plain label for the help dialog. */
|
|
1227
|
+
title: string;
|
|
1228
|
+
/** Optional group label (i18n key or plain) for help dialog grouping. */
|
|
1229
|
+
group?: string;
|
|
1230
|
+
/** When true, fires even if focus is inside an editable field. Default false. */
|
|
1231
|
+
allowInEditableFields?: boolean;
|
|
1232
|
+
/** Optional runtime guard — binding is ignored when this returns false. */
|
|
1233
|
+
when?: () => boolean;
|
|
1234
|
+
/**
|
|
1235
|
+
* RTL handling for horizontal direction keys (`←`/`→`, `[`/`]`).
|
|
1236
|
+
* Omitted = auto (`semantic` for direction keys, `physical` otherwise). Set `physical` to opt out.
|
|
1237
|
+
*/
|
|
1238
|
+
directionBehavior?: AXPKeyboardShortcutDirectionBehavior;
|
|
1239
|
+
handler: (event: KeyboardEvent) => void | Promise<void>;
|
|
1240
|
+
}
|
|
1241
|
+
/**
|
|
1242
|
+
* Declarative shortcut for menus, action items, and other config-driven bindings.
|
|
1243
|
+
* Use a chord string for defaults, or an object to override binding options (e.g. `allowInEditableFields`).
|
|
1244
|
+
*/
|
|
1245
|
+
type AXPKeyboardShortcutConfig = Pick<AXPKeyboardShortcutBinding, 'allowInEditableFields' | 'when' | 'directionBehavior'> & {
|
|
1246
|
+
keys: AXPKeyboardShortcutChord | readonly AXPKeyboardShortcutChord[];
|
|
1247
|
+
};
|
|
1248
|
+
type AXPKeyboardShortcut = AXPKeyboardShortcutChord | AXPKeyboardShortcutConfig;
|
|
1249
|
+
/** Normalized declarative shortcut used when registering keyboard bindings. */
|
|
1250
|
+
interface AXPResolvedKeyboardShortcut {
|
|
1251
|
+
keys: AXPKeyboardShortcutChord[];
|
|
1252
|
+
allowInEditableFields?: boolean;
|
|
1253
|
+
when?: () => boolean;
|
|
1254
|
+
directionBehavior?: AXPKeyboardShortcutDirectionBehavior;
|
|
1255
|
+
}
|
|
1256
|
+
interface AXPKeyboardShortcutRegistration {
|
|
1257
|
+
/** Stable id for this registration scope (e.g. `task-board-navigator`). */
|
|
1258
|
+
id: string;
|
|
1259
|
+
/** Higher priority bindings win on conflict. */
|
|
1260
|
+
priority?: AXPKeyboardShortcutPriority | number;
|
|
1261
|
+
/** Scope label shown in the help dialog (i18n key or plain). */
|
|
1262
|
+
scope?: string;
|
|
1263
|
+
/** Default group for bindings without their own `group`. */
|
|
1264
|
+
group?: string;
|
|
1265
|
+
/** Optional runtime guard — registration is ignored when this returns false. */
|
|
1266
|
+
when?: () => boolean;
|
|
1267
|
+
shortcuts: AXPKeyboardShortcutBinding[];
|
|
1268
|
+
}
|
|
1269
|
+
/** Resolved entry for help UI. */
|
|
1270
|
+
interface AXPKeyboardShortcutHelpEntry {
|
|
1271
|
+
registrationId: string;
|
|
1272
|
+
bindingTitle: string;
|
|
1273
|
+
/** Raw chords for `ax-kbd-item` rendering (canonical registration). */
|
|
1274
|
+
chords: AXPKeyboardShortcutChord[];
|
|
1275
|
+
/** Chords adjusted for RTL display when `directionBehavior` is `semantic`. */
|
|
1276
|
+
displayChords: AXPKeyboardShortcutChord[];
|
|
1277
|
+
displayKeys: string;
|
|
1278
|
+
scope?: string;
|
|
1279
|
+
group?: string;
|
|
1280
|
+
priority: number;
|
|
1281
|
+
}
|
|
1282
|
+
|
|
1031
1283
|
type AXPActionMenuItem = {
|
|
1032
1284
|
name?: string;
|
|
1033
|
-
title:
|
|
1285
|
+
title: AXPMultiLanguageString;
|
|
1034
1286
|
icon?: string;
|
|
1035
1287
|
iconOnly?: boolean;
|
|
1036
1288
|
color?: string;
|
|
1289
|
+
look?: AXStyleLookType;
|
|
1037
1290
|
break?: boolean;
|
|
1038
1291
|
items?: AXPActionMenuItem[];
|
|
1039
1292
|
command?: AXPExecuteCommand;
|
|
1040
1293
|
disabled?: boolean | string;
|
|
1041
1294
|
visible?: boolean | string;
|
|
1042
1295
|
policy?: string;
|
|
1296
|
+
/**
|
|
1297
|
+
* Keyboard shortcuts for this action.
|
|
1298
|
+
* Use a chord string or `{ keys, allowInEditableFields, ... }`. Pass `[]` to disable.
|
|
1299
|
+
*/
|
|
1300
|
+
shortcuts?: AXPKeyboardShortcut[];
|
|
1043
1301
|
};
|
|
1044
1302
|
type AXPBackButton = {
|
|
1045
|
-
title:
|
|
1303
|
+
title: AXPMultiLanguageString;
|
|
1046
1304
|
};
|
|
1047
1305
|
type AXPBreadcrumbItem = {
|
|
1048
1306
|
name?: string;
|
|
1049
|
-
title:
|
|
1307
|
+
title: AXPMultiLanguageString;
|
|
1050
1308
|
icon?: string;
|
|
1051
1309
|
command?: AXPExecuteCommand;
|
|
1052
1310
|
};
|
|
@@ -1055,10 +1313,16 @@ type AXPBadge = {
|
|
|
1055
1313
|
description?: string;
|
|
1056
1314
|
color?: 'primary' | 'success' | 'warning' | 'danger';
|
|
1057
1315
|
};
|
|
1316
|
+
type AXPPageStatus = {
|
|
1317
|
+
definitionKey: string;
|
|
1318
|
+
value: string;
|
|
1319
|
+
dataPath?: string;
|
|
1320
|
+
readonly?: boolean;
|
|
1321
|
+
};
|
|
1058
1322
|
interface AXPCommandMessage {
|
|
1059
1323
|
type?: 'info' | 'success' | 'warning' | 'error';
|
|
1060
1324
|
code?: string;
|
|
1061
|
-
text:
|
|
1325
|
+
text: AXPMultiLanguageString;
|
|
1062
1326
|
details?: unknown;
|
|
1063
1327
|
}
|
|
1064
1328
|
type AXPExecuteCommand = {
|
|
@@ -1080,7 +1344,7 @@ interface AXPQueryFetchResult<T = any> {
|
|
|
1080
1344
|
};
|
|
1081
1345
|
message?: {
|
|
1082
1346
|
code?: string;
|
|
1083
|
-
text?:
|
|
1347
|
+
text?: AXPMultiLanguageString;
|
|
1084
1348
|
details?: any;
|
|
1085
1349
|
};
|
|
1086
1350
|
}
|
|
@@ -1093,7 +1357,7 @@ type AXPNavigateActionOptions = {
|
|
|
1093
1357
|
};
|
|
1094
1358
|
modal: {
|
|
1095
1359
|
component: Type<any>;
|
|
1096
|
-
title:
|
|
1360
|
+
title: AXPMultiLanguageString;
|
|
1097
1361
|
options?: any;
|
|
1098
1362
|
};
|
|
1099
1363
|
};
|
|
@@ -1145,25 +1409,6 @@ declare class AXPIconLogoConfig implements AXPLogoConfig {
|
|
|
1145
1409
|
constructor(icon: string, color?: string | undefined);
|
|
1146
1410
|
}
|
|
1147
1411
|
|
|
1148
|
-
type AXPPlatformScopeKey = 'C' | 'G' | 'P' | 'T' | 'U';
|
|
1149
|
-
declare enum AXPPlatformScope {
|
|
1150
|
-
Environment = "C",
|
|
1151
|
-
Global = "G",
|
|
1152
|
-
Platform = "P",
|
|
1153
|
-
Tenant = "T",
|
|
1154
|
-
User = "U"
|
|
1155
|
-
}
|
|
1156
|
-
declare function resolvePlatformScopeKey(name: string): AXPPlatformScopeKey;
|
|
1157
|
-
declare function resolvePlatformScopeName(scope: AXPPlatformScopeKey): string;
|
|
1158
|
-
|
|
1159
|
-
interface AXPSortDefinition {
|
|
1160
|
-
name: string;
|
|
1161
|
-
title: string;
|
|
1162
|
-
dir?: 'asc' | 'desc';
|
|
1163
|
-
}
|
|
1164
|
-
interface AXPSortQuery extends Pick<AXPSortDefinition, 'name' | 'dir'> {
|
|
1165
|
-
}
|
|
1166
|
-
|
|
1167
1412
|
type AXPValidationRule = {
|
|
1168
1413
|
rule: string;
|
|
1169
1414
|
message?: string;
|
|
@@ -1200,6 +1445,52 @@ interface AXPReqexValidationRule extends AXPValidationRule {
|
|
|
1200
1445
|
}
|
|
1201
1446
|
type AXPStringValidationRules = (AXPRequiredValidationRule | AXPMinLengthValidationRule | AXPMaxLengthValidationRule | AXPEqualValidationRule<string> | AXPReqexValidationRule)[];
|
|
1202
1447
|
|
|
1448
|
+
interface AXPPropertyGroup {
|
|
1449
|
+
name: string;
|
|
1450
|
+
title: AXPMultiLanguageString;
|
|
1451
|
+
icon?: string;
|
|
1452
|
+
description?: AXPMultiLanguageString;
|
|
1453
|
+
order?: number;
|
|
1454
|
+
}
|
|
1455
|
+
interface AXPPropertyInterface {
|
|
1456
|
+
type: string;
|
|
1457
|
+
options: AXPOptionsData;
|
|
1458
|
+
triggers?: AXPWidgetTriggers;
|
|
1459
|
+
}
|
|
1460
|
+
/**
|
|
1461
|
+
* Platform property bag (entity fields, workflow inputs, etc.).
|
|
1462
|
+
*
|
|
1463
|
+
* For property viewer rows, use `mapAXPPropertyToWidgetProperty` from `@acorex/platform/layout/widget-core`
|
|
1464
|
+
* (keeps `platform/core` free of a dependency on `layout/widget-core`).
|
|
1465
|
+
*/
|
|
1466
|
+
interface AXPProperty {
|
|
1467
|
+
name: string;
|
|
1468
|
+
title: AXPMultiLanguageString;
|
|
1469
|
+
description?: AXPMultiLanguageString;
|
|
1470
|
+
dataType: AXPDataType;
|
|
1471
|
+
validations?: AXPValidationRules;
|
|
1472
|
+
group?: AXPPropertyGroup | string;
|
|
1473
|
+
order?: number;
|
|
1474
|
+
interface: AXPPropertyInterface;
|
|
1475
|
+
}
|
|
1476
|
+
|
|
1477
|
+
type AXPPlatformScopeKey = 'P' | 'T' | 'U';
|
|
1478
|
+
declare enum AXPPlatformScope {
|
|
1479
|
+
Platform = "P",
|
|
1480
|
+
Tenant = "T",
|
|
1481
|
+
User = "U"
|
|
1482
|
+
}
|
|
1483
|
+
declare function resolvePlatformScopeKey(name: string): AXPPlatformScopeKey;
|
|
1484
|
+
declare function resolvePlatformScopeName(scope: AXPPlatformScopeKey): string;
|
|
1485
|
+
|
|
1486
|
+
interface AXPSortDefinition {
|
|
1487
|
+
name: string;
|
|
1488
|
+
title: string;
|
|
1489
|
+
dir?: 'asc' | 'desc';
|
|
1490
|
+
}
|
|
1491
|
+
interface AXPSortQuery extends Pick<AXPSortDefinition, 'name' | 'dir'> {
|
|
1492
|
+
}
|
|
1493
|
+
|
|
1203
1494
|
interface AXPViewQuery {
|
|
1204
1495
|
name: string;
|
|
1205
1496
|
fixed: boolean;
|
|
@@ -1319,6 +1610,18 @@ interface AXPMiddlewareErrorResponse {
|
|
|
1319
1610
|
interface AXPActivityLogChange {
|
|
1320
1611
|
type: AXPSystemActionType;
|
|
1321
1612
|
description: string;
|
|
1613
|
+
/** I18n key for field label. When set with actionKey, used for translated display. */
|
|
1614
|
+
fieldKey?: string;
|
|
1615
|
+
/** Params for fieldKey translation (e.g. for unknown-field with {{name}}). */
|
|
1616
|
+
fieldKeyParams?: Record<string, string>;
|
|
1617
|
+
/** I18n key for action (e.g. @activity-log:changes.replaced). When set with fieldKey, overrides description. */
|
|
1618
|
+
actionKey?: string;
|
|
1619
|
+
oldValue?: unknown;
|
|
1620
|
+
newValue?: unknown;
|
|
1621
|
+
/** Short human-readable summary for Change History (e.g. "Updated from 'X' to 'Y'"). Used when layout is present. */
|
|
1622
|
+
summary?: string;
|
|
1623
|
+
/** Custom layout (AXPWidgetNode) for Change History. When set, rendered via AXPLayoutRenderer instead of default fieldKey/actionKey text. */
|
|
1624
|
+
layout?: unknown;
|
|
1322
1625
|
}
|
|
1323
1626
|
interface AXPActivityLog {
|
|
1324
1627
|
id: string;
|
|
@@ -1355,6 +1658,102 @@ declare class AXPActivityLogService {
|
|
|
1355
1658
|
static ɵprov: i0.ɵɵInjectableDeclaration<AXPActivityLogService>;
|
|
1356
1659
|
}
|
|
1357
1660
|
|
|
1661
|
+
/**
|
|
1662
|
+
* Stable catalog scope registered by a module provider (integration contract).
|
|
1663
|
+
*/
|
|
1664
|
+
interface AXPCatalogScopeDefinition {
|
|
1665
|
+
/** Unique key, e.g. `human-capital-management.hr`. */
|
|
1666
|
+
name: string;
|
|
1667
|
+
title: string | AXPMultiLanguageString;
|
|
1668
|
+
description?: string | AXPMultiLanguageString;
|
|
1669
|
+
/**
|
|
1670
|
+
* Entity refs this scope may label, e.g. `AssessmentManagement.Questionnaire`.
|
|
1671
|
+
*/
|
|
1672
|
+
targets: string[];
|
|
1673
|
+
icon?: string;
|
|
1674
|
+
/**
|
|
1675
|
+
* Platform utility classes applied to the whole scope badge (surface, on-surface, border).
|
|
1676
|
+
* Example: `ax-primary-surface ax-text-on-primary-surface ax-border-border-primary-surface`.
|
|
1677
|
+
*/
|
|
1678
|
+
cssClass?: string;
|
|
1679
|
+
order?: number;
|
|
1680
|
+
}
|
|
1681
|
+
|
|
1682
|
+
interface AXPCatalogScopeDefinitionProvider {
|
|
1683
|
+
items(): Promise<AXPCatalogScopeDefinition[]>;
|
|
1684
|
+
}
|
|
1685
|
+
declare const AXP_CATALOG_SCOPE_DEFINITION_PROVIDER: InjectionToken<AXPCatalogScopeDefinitionProvider[]>;
|
|
1686
|
+
|
|
1687
|
+
/**
|
|
1688
|
+
* Collects {@link AXPCatalogScopeDefinition} entries from all registered providers.
|
|
1689
|
+
*/
|
|
1690
|
+
declare class AXPCatalogScopeDefinitionProviderService {
|
|
1691
|
+
private readonly providers;
|
|
1692
|
+
private readonly translation;
|
|
1693
|
+
items(): Promise<AXPCatalogScopeDefinition[]>;
|
|
1694
|
+
get(name: string): Promise<AXPCatalogScopeDefinition | undefined>;
|
|
1695
|
+
/**
|
|
1696
|
+
* Scopes applicable to the given entity ref (`Module.Entity`).
|
|
1697
|
+
*/
|
|
1698
|
+
byTarget(entityRef: string): Promise<AXPCatalogScopeDefinition[]>;
|
|
1699
|
+
/**
|
|
1700
|
+
* Resolves display title for a scope key (active locale).
|
|
1701
|
+
*/
|
|
1702
|
+
resolveTitle(definition: AXPCatalogScopeDefinition): string;
|
|
1703
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPCatalogScopeDefinitionProviderService, never>;
|
|
1704
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXPCatalogScopeDefinitionProviderService>;
|
|
1705
|
+
}
|
|
1706
|
+
|
|
1707
|
+
interface AXPDataSourceDataFieldDefinition {
|
|
1708
|
+
name: string;
|
|
1709
|
+
title: string;
|
|
1710
|
+
datatype: string;
|
|
1711
|
+
type: string;
|
|
1712
|
+
options?: AXPOptionsData;
|
|
1713
|
+
}
|
|
1714
|
+
type AXPLazyDataSource<T = unknown> = AXPMaybePromise<AXDataSource<T>>;
|
|
1715
|
+
type AXPDataSourceArray<T = unknown> = AXPMaybePromise<Array<T>>;
|
|
1716
|
+
type AXPDataSourceValue<T = unknown> = AXPMaybePromise<T>;
|
|
1717
|
+
type AXPDataSourceType<T = any> = AXPLazyDataSource<T> | AXPDataSourceArray<T> | AXPDataSourceValue<T>;
|
|
1718
|
+
type AXPDataSourceSample<T = any> = AXPDataSourceArray<T> | AXPDataSourceValue<T>;
|
|
1719
|
+
interface AXPDataSourceDefinition<T = any> {
|
|
1720
|
+
name: string;
|
|
1721
|
+
title: string;
|
|
1722
|
+
valueField?: {
|
|
1723
|
+
name: string;
|
|
1724
|
+
title: string;
|
|
1725
|
+
};
|
|
1726
|
+
textField?: {
|
|
1727
|
+
name: string;
|
|
1728
|
+
title: string;
|
|
1729
|
+
};
|
|
1730
|
+
columns: AXPDataSourceDataFieldDefinition[];
|
|
1731
|
+
filters: AXPFilterDefinition[];
|
|
1732
|
+
samples?: AXPDataSourceSample<T>;
|
|
1733
|
+
visible?: boolean;
|
|
1734
|
+
source: () => AXPDataSourceType<T>;
|
|
1735
|
+
}
|
|
1736
|
+
interface AXPDataSourceDefinitionProvider {
|
|
1737
|
+
items(): Promise<AXPDataSourceDefinition[]>;
|
|
1738
|
+
}
|
|
1739
|
+
declare const AXP_DATASOURCE_DEFINITION_PROVIDER: InjectionToken<AXPDataSourceDefinitionProvider[]>;
|
|
1740
|
+
declare class AXPDataSourceDefinitionProviderService implements AXPDataSourceDefinitionProvider {
|
|
1741
|
+
private providers;
|
|
1742
|
+
items(): Promise<AXPDataSourceDefinition[]>;
|
|
1743
|
+
get<T = any>(name: string): Promise<AXPDataSourceDefinition<T> | undefined>;
|
|
1744
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPDataSourceDefinitionProviderService, never>;
|
|
1745
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXPDataSourceDefinitionProviderService>;
|
|
1746
|
+
}
|
|
1747
|
+
|
|
1748
|
+
/**
|
|
1749
|
+
* Registered catalog scopes for select / selection-list widgets via {@link AXPPlatformCoreDataSourceKeys.CatalogScopes}.
|
|
1750
|
+
*/
|
|
1751
|
+
declare class AXPCatalogScopeDefinitionsDataSourceDefinition implements AXPDataSourceDefinitionProvider {
|
|
1752
|
+
private readonly catalogScopeRegistry;
|
|
1753
|
+
items(): Promise<AXPDataSourceDefinition[]>;
|
|
1754
|
+
private readTargetFilter;
|
|
1755
|
+
}
|
|
1756
|
+
|
|
1358
1757
|
/**
|
|
1359
1758
|
* Represents a color palette with a unique identifier and collection of colors
|
|
1360
1759
|
*/
|
|
@@ -1472,7 +1871,182 @@ declare class AXPDefaultColorPalettesProvider extends AXPColorPaletteProvider {
|
|
|
1472
1871
|
static ɵprov: i0.ɵɵInjectableDeclaration<AXPDefaultColorPalettesProvider>;
|
|
1473
1872
|
}
|
|
1474
1873
|
|
|
1874
|
+
/**
|
|
1875
|
+
* Column width value can be a number (converted to pixels) or a string with any CSS unit
|
|
1876
|
+
* @example 150 (becomes '150px'), '300px', '50%', '2rem', '20ch'
|
|
1877
|
+
*/
|
|
1878
|
+
type ColumnWidthValue = string | number;
|
|
1879
|
+
/**
|
|
1880
|
+
* Matcher for column name - can be exact string match or RegExp pattern
|
|
1881
|
+
* @example 'title', /^user/, /.*name$/i
|
|
1882
|
+
*/
|
|
1883
|
+
type ColumnNameMatcher = string | RegExp;
|
|
1884
|
+
/**
|
|
1885
|
+
* Matcher for widget type - can be exact string match or RegExp pattern (case-insensitive)
|
|
1886
|
+
* @example 'text-box', /^date/, /.*editor$/i
|
|
1887
|
+
*/
|
|
1888
|
+
type WidgetTypeMatcher = string | RegExp;
|
|
1889
|
+
/**
|
|
1890
|
+
* Defines a single width matching rule
|
|
1891
|
+
*/
|
|
1892
|
+
interface AXPColumnWidthMatcher {
|
|
1893
|
+
/**
|
|
1894
|
+
* Match by column name (exact string or RegExp pattern)
|
|
1895
|
+
* Takes precedence over widgetType matching
|
|
1896
|
+
* @example 'title', /^user/, /.*name$/i
|
|
1897
|
+
*/
|
|
1898
|
+
name?: ColumnNameMatcher;
|
|
1899
|
+
/**
|
|
1900
|
+
* Match by widget type (exact string or RegExp pattern, case-insensitive)
|
|
1901
|
+
* Used as fallback when name doesn't match
|
|
1902
|
+
* @example 'text-box', /^date/, /.*editor$/i
|
|
1903
|
+
*/
|
|
1904
|
+
widgetType?: WidgetTypeMatcher;
|
|
1905
|
+
/**
|
|
1906
|
+
* Width value to apply if this matcher matches
|
|
1907
|
+
* Numbers are converted to pixels (e.g., 150 -> '150px')
|
|
1908
|
+
* Strings can include any CSS unit (e.g., '300px', '50%', '2rem')
|
|
1909
|
+
*/
|
|
1910
|
+
width: ColumnWidthValue;
|
|
1911
|
+
/**
|
|
1912
|
+
* Priority for this matcher within the provider (higher = more specific, applied first)
|
|
1913
|
+
* Default: 0
|
|
1914
|
+
*/
|
|
1915
|
+
priority?: number;
|
|
1916
|
+
}
|
|
1917
|
+
/**
|
|
1918
|
+
* Provider configuration for column width rules
|
|
1919
|
+
*/
|
|
1920
|
+
interface AXPColumnWidthProvider {
|
|
1921
|
+
/**
|
|
1922
|
+
* Array of matchers to evaluate
|
|
1923
|
+
* Evaluated in priority order (highest first), then by match type (name before widgetType)
|
|
1924
|
+
*/
|
|
1925
|
+
matchers: AXPColumnWidthMatcher[];
|
|
1926
|
+
/**
|
|
1927
|
+
* Priority for this provider relative to other providers (higher = applied first)
|
|
1928
|
+
* Default: 100
|
|
1929
|
+
*/
|
|
1930
|
+
priority?: number;
|
|
1931
|
+
}
|
|
1932
|
+
/**
|
|
1933
|
+
* Generic column interface for width resolution
|
|
1934
|
+
* Works with any column type that has these properties
|
|
1935
|
+
*/
|
|
1936
|
+
interface IColumnWithWidth {
|
|
1937
|
+
/**
|
|
1938
|
+
* Column name
|
|
1939
|
+
*/
|
|
1940
|
+
name: string;
|
|
1941
|
+
/**
|
|
1942
|
+
* Current width (if already set)
|
|
1943
|
+
*/
|
|
1944
|
+
width?: string;
|
|
1945
|
+
/**
|
|
1946
|
+
* Widget type information (optional)
|
|
1947
|
+
*/
|
|
1948
|
+
widget?: {
|
|
1949
|
+
type: string;
|
|
1950
|
+
};
|
|
1951
|
+
/**
|
|
1952
|
+
* Additional options that might contain width
|
|
1953
|
+
*/
|
|
1954
|
+
options?: {
|
|
1955
|
+
width?: string;
|
|
1956
|
+
};
|
|
1957
|
+
/**
|
|
1958
|
+
* For entity columns - showAs configuration
|
|
1959
|
+
*/
|
|
1960
|
+
showAs?: {
|
|
1961
|
+
type: string;
|
|
1962
|
+
};
|
|
1963
|
+
}
|
|
1964
|
+
|
|
1965
|
+
/**
|
|
1966
|
+
* Service for resolving column widths based on registered providers
|
|
1967
|
+
* Supports matching by column name (priority) and widget type (fallback)
|
|
1968
|
+
* Uses multi-provider pattern for extensibility
|
|
1969
|
+
*/
|
|
1970
|
+
declare class AXPColumnWidthService {
|
|
1971
|
+
private readonly providers;
|
|
1972
|
+
/**
|
|
1973
|
+
* Resolve width for a column based on registered providers
|
|
1974
|
+
* Only returns a width if column doesn't already have one set
|
|
1975
|
+
*
|
|
1976
|
+
* @param column Column to resolve width for
|
|
1977
|
+
* @returns Resolved width string (normalized) or undefined if no match or column already has width
|
|
1978
|
+
*/
|
|
1979
|
+
resolveWidth(column: IColumnWithWidth): string | undefined;
|
|
1980
|
+
/**
|
|
1981
|
+
* Apply resolved width to a column (mutates the column)
|
|
1982
|
+
* Only applies if column doesn't already have a width
|
|
1983
|
+
*
|
|
1984
|
+
* @param column Column to apply width to
|
|
1985
|
+
* @returns true if width was applied, false if column already had width or no match found
|
|
1986
|
+
*/
|
|
1987
|
+
applyWidth(column: IColumnWithWidth): boolean;
|
|
1988
|
+
/**
|
|
1989
|
+
* Collect all matchers from all providers, sorted by provider priority and matcher priority
|
|
1990
|
+
*/
|
|
1991
|
+
private collectMatchers;
|
|
1992
|
+
/**
|
|
1993
|
+
* Find first matching matcher by column name
|
|
1994
|
+
* Name matches take precedence over widget type matches
|
|
1995
|
+
*/
|
|
1996
|
+
private findNameMatch;
|
|
1997
|
+
/**
|
|
1998
|
+
* Find first matching matcher by widget type (case-insensitive)
|
|
1999
|
+
*/
|
|
2000
|
+
private findWidgetTypeMatch;
|
|
2001
|
+
/**
|
|
2002
|
+
* Normalize width value to string format
|
|
2003
|
+
* Numbers are converted to pixels (e.g., 150 -> '150px')
|
|
2004
|
+
* Strings are preserved as-is (supports any CSS unit)
|
|
2005
|
+
*/
|
|
2006
|
+
private normalizeWidth;
|
|
2007
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPColumnWidthService, never>;
|
|
2008
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXPColumnWidthService>;
|
|
2009
|
+
}
|
|
2010
|
+
|
|
2011
|
+
/**
|
|
2012
|
+
* Injection token for column width providers
|
|
2013
|
+
* Use this to register multiple column width providers with multi: true
|
|
2014
|
+
*
|
|
2015
|
+
* @example
|
|
2016
|
+
* ```typescript
|
|
2017
|
+
* providers: [
|
|
2018
|
+
* {
|
|
2019
|
+
* provide: AXP_COLUMN_WIDTH_PROVIDER,
|
|
2020
|
+
* useValue: {
|
|
2021
|
+
* matchers: [
|
|
2022
|
+
* { name: 'title', width: '300px', priority: 10 },
|
|
2023
|
+
* { widgetType: /text-box/i, width: '200px' }
|
|
2024
|
+
* ],
|
|
2025
|
+
* priority: 150
|
|
2026
|
+
* },
|
|
2027
|
+
* multi: true
|
|
2028
|
+
* }
|
|
2029
|
+
* ]
|
|
2030
|
+
* ```
|
|
2031
|
+
*/
|
|
2032
|
+
declare const AXP_COLUMN_WIDTH_PROVIDER: InjectionToken<AXPColumnWidthProvider[]>;
|
|
2033
|
+
|
|
2034
|
+
/**
|
|
2035
|
+
* Default column width configuration
|
|
2036
|
+
* Migrated from DEFAULT_COLUMN_WIDTHS in column-width.middleware.ts
|
|
2037
|
+
* Provides sensible defaults for common column names
|
|
2038
|
+
*/
|
|
2039
|
+
declare const defaultColumnWidthProvider: AXPColumnWidthProvider;
|
|
2040
|
+
|
|
1475
2041
|
type AXPContextState = 'initiated' | 'restored' | 'changed' | 'patch';
|
|
2042
|
+
type AXPContextUpdateOrigin = 'user' | 'system';
|
|
2043
|
+
interface AXPContextUpdateOptions {
|
|
2044
|
+
origin?: AXPContextUpdateOrigin;
|
|
2045
|
+
}
|
|
2046
|
+
interface AXPContextPatchOptions {
|
|
2047
|
+
/** When true, updates the saved snapshot together with live data. */
|
|
2048
|
+
updateSaved?: boolean;
|
|
2049
|
+
}
|
|
1476
2050
|
type AXPContextData = {
|
|
1477
2051
|
[key: string]: any;
|
|
1478
2052
|
};
|
|
@@ -1482,35 +2056,201 @@ declare class AXPContextChangeEvent {
|
|
|
1482
2056
|
path?: string;
|
|
1483
2057
|
state: AXPContextState;
|
|
1484
2058
|
data: any;
|
|
2059
|
+
origin?: AXPContextUpdateOrigin;
|
|
2060
|
+
/** Aggregated form dirty flag (context snapshot + composite widget dirty). */
|
|
2061
|
+
isFormDirty?: boolean;
|
|
1485
2062
|
}
|
|
1486
2063
|
declare const AXPContextStore: i0.Type<{
|
|
1487
2064
|
data: i0.Signal<AXPContextData>;
|
|
1488
2065
|
state: i0.Signal<AXPContextState>;
|
|
1489
|
-
|
|
1490
|
-
previousSnapshot: i0.Signal<
|
|
2066
|
+
savedSnapshot: i0.Signal<AXPContextData>;
|
|
2067
|
+
previousSnapshot: i0.Signal<AXPContextData>;
|
|
1491
2068
|
lastChange: _ngrx_signals.DeepSignal<AXPContextChangeEvent>;
|
|
1492
2069
|
isChanged: i0.Signal<boolean>;
|
|
1493
2070
|
isReset: i0.Signal<boolean>;
|
|
1494
2071
|
isInitiated: i0.Signal<boolean>;
|
|
1495
2072
|
isEmpty: i0.Signal<boolean>;
|
|
2073
|
+
isSavedCommitted: i0.Signal<boolean>;
|
|
1496
2074
|
isDirty: i0.Signal<boolean>;
|
|
1497
2075
|
snapshot: i0.Signal<AXPContextData>;
|
|
1498
|
-
|
|
1499
|
-
|
|
2076
|
+
saved: i0.Signal<AXPContextData>;
|
|
2077
|
+
initial: i0.Signal<AXPContextData>;
|
|
2078
|
+
previous: i0.Signal<AXPContextData>;
|
|
1500
2079
|
changeEvent: i0.Signal<AXPContextChangeEvent>;
|
|
1501
|
-
update: (path: string, value: any) => void;
|
|
1502
|
-
|
|
2080
|
+
update: (path: string, value: any, options?: AXPContextUpdateOptions) => void;
|
|
2081
|
+
applyObjectPaths: (obj: Record<string, unknown>, options?: AXPContextUpdateOptions, prefix?: string) => void;
|
|
2082
|
+
patch: (context: Record<string, any>, options?: AXPContextPatchOptions) => void;
|
|
2083
|
+
revertToSaved: () => void;
|
|
1503
2084
|
reset: () => void;
|
|
1504
2085
|
set: (initialData: any) => void;
|
|
1505
2086
|
getValue: (path: string) => any;
|
|
2087
|
+
getSavedValue: (path: string) => any;
|
|
2088
|
+
hasValue: (path: string) => boolean;
|
|
2089
|
+
commitSaved: () => void;
|
|
2090
|
+
applyParentBind: (merged: AXPContextData) => void;
|
|
1506
2091
|
} & _ngrx_signals.StateSource<{
|
|
1507
2092
|
data: AXPContextData;
|
|
1508
2093
|
state: AXPContextState;
|
|
1509
|
-
|
|
1510
|
-
previousSnapshot:
|
|
2094
|
+
savedSnapshot: AXPContextData;
|
|
2095
|
+
previousSnapshot: AXPContextData;
|
|
1511
2096
|
lastChange: AXPContextChangeEvent;
|
|
1512
2097
|
}>>;
|
|
1513
2098
|
|
|
2099
|
+
interface AXPComponentSlotConfig {
|
|
2100
|
+
name: string;
|
|
2101
|
+
priority?: number;
|
|
2102
|
+
component?: Type<any>;
|
|
2103
|
+
condition?: ((context?: AXPContextData) => boolean | Promise<boolean>) | string;
|
|
2104
|
+
features?: string[];
|
|
2105
|
+
loadComponent?: () => Type<any> | Promise<Type<any>>;
|
|
2106
|
+
options?: AXPOptionsData | (() => AXPOptionsData) | (() => Promise<AXPOptionsData>);
|
|
2107
|
+
}
|
|
2108
|
+
interface AXPComponentSlotModuleConfigs {
|
|
2109
|
+
[slotName: string]: AXPComponentSlotConfig[];
|
|
2110
|
+
}
|
|
2111
|
+
declare abstract class AXPComponentSlot {
|
|
2112
|
+
host: any;
|
|
2113
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPComponentSlot, never>;
|
|
2114
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<AXPComponentSlot, never, never, {}, {}, never, never, true, never>;
|
|
2115
|
+
}
|
|
2116
|
+
|
|
2117
|
+
declare class AXPComponentSlotDirective implements OnInit {
|
|
2118
|
+
name: i0.InputSignal<string>;
|
|
2119
|
+
host: i0.InputSignal<any>;
|
|
2120
|
+
context: i0.InputSignal<any>;
|
|
2121
|
+
private elementRef;
|
|
2122
|
+
private registryService;
|
|
2123
|
+
private injector;
|
|
2124
|
+
private evaluator;
|
|
2125
|
+
viewContainerRef: ViewContainerRef;
|
|
2126
|
+
contextStore: {
|
|
2127
|
+
data: i0.Signal<AXPContextData>;
|
|
2128
|
+
state: i0.Signal<_acorex_platform_core.AXPContextState>;
|
|
2129
|
+
savedSnapshot: i0.Signal<AXPContextData>;
|
|
2130
|
+
previousSnapshot: i0.Signal<AXPContextData>;
|
|
2131
|
+
lastChange: _ngrx_signals.DeepSignal<_acorex_platform_core.AXPContextChangeEvent>;
|
|
2132
|
+
isChanged: i0.Signal<boolean>;
|
|
2133
|
+
isReset: i0.Signal<boolean>;
|
|
2134
|
+
isInitiated: i0.Signal<boolean>;
|
|
2135
|
+
isEmpty: i0.Signal<boolean>;
|
|
2136
|
+
isSavedCommitted: i0.Signal<boolean>;
|
|
2137
|
+
isDirty: i0.Signal<boolean>;
|
|
2138
|
+
snapshot: i0.Signal<AXPContextData>;
|
|
2139
|
+
saved: i0.Signal<AXPContextData>;
|
|
2140
|
+
initial: i0.Signal<AXPContextData>;
|
|
2141
|
+
previous: i0.Signal<AXPContextData>;
|
|
2142
|
+
changeEvent: i0.Signal<_acorex_platform_core.AXPContextChangeEvent>;
|
|
2143
|
+
update: (path: string, value: any, options?: _acorex_platform_core.AXPContextUpdateOptions) => void;
|
|
2144
|
+
applyObjectPaths: (obj: Record<string, unknown>, options?: _acorex_platform_core.AXPContextUpdateOptions, prefix?: string) => void;
|
|
2145
|
+
patch: (context: Record<string, any>, options?: _acorex_platform_core.AXPContextPatchOptions) => void;
|
|
2146
|
+
revertToSaved: () => void;
|
|
2147
|
+
reset: () => void;
|
|
2148
|
+
set: (initialData: any) => void;
|
|
2149
|
+
getValue: (path: string) => any;
|
|
2150
|
+
getSavedValue: (path: string) => any;
|
|
2151
|
+
hasValue: (path: string) => boolean;
|
|
2152
|
+
commitSaved: () => void;
|
|
2153
|
+
applyParentBind: (merged: AXPContextData) => void;
|
|
2154
|
+
} & _ngrx_signals.StateSource<{
|
|
2155
|
+
data: AXPContextData;
|
|
2156
|
+
state: _acorex_platform_core.AXPContextState;
|
|
2157
|
+
savedSnapshot: AXPContextData;
|
|
2158
|
+
previousSnapshot: AXPContextData;
|
|
2159
|
+
lastChange: _acorex_platform_core.AXPContextChangeEvent;
|
|
2160
|
+
}>;
|
|
2161
|
+
isEmpty: i0.Signal<boolean>;
|
|
2162
|
+
private _viewCount;
|
|
2163
|
+
private componentRefs;
|
|
2164
|
+
private placeholderRefs;
|
|
2165
|
+
constructor();
|
|
2166
|
+
ngOnInit(): Promise<void>;
|
|
2167
|
+
loadComponents(): Promise<void>;
|
|
2168
|
+
private evaluateCondition;
|
|
2169
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPComponentSlotDirective, never>;
|
|
2170
|
+
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>;
|
|
2171
|
+
}
|
|
2172
|
+
|
|
2173
|
+
declare class AXPComponentSlotRegistryService {
|
|
2174
|
+
private registry;
|
|
2175
|
+
register(slotName: string, config: AXPComponentSlotConfig): void;
|
|
2176
|
+
get(slotName: string): AXPComponentSlotConfig[];
|
|
2177
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPComponentSlotRegistryService, never>;
|
|
2178
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXPComponentSlotRegistryService>;
|
|
2179
|
+
}
|
|
2180
|
+
|
|
2181
|
+
declare class AXPComponentSlotModule {
|
|
2182
|
+
static forRoot(configs?: AXPComponentSlotModuleConfigs): ModuleWithProviders<AXPComponentSlotModule>;
|
|
2183
|
+
static forChild(configs?: AXPComponentSlotModuleConfigs): ModuleWithProviders<AXPComponentSlotModule>;
|
|
2184
|
+
/**
|
|
2185
|
+
* @ignore
|
|
2186
|
+
*/
|
|
2187
|
+
constructor(instances: any[]);
|
|
2188
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPComponentSlotModule, [{ optional: true; }]>;
|
|
2189
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<AXPComponentSlotModule, [typeof AXPComponentSlotDirective], never, [typeof AXPComponentSlotDirective]>;
|
|
2190
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<AXPComponentSlotModule>;
|
|
2191
|
+
}
|
|
2192
|
+
|
|
2193
|
+
/**
|
|
2194
|
+
* Compact hints for assembling platform context into LLM system prompts.
|
|
2195
|
+
* Mirrors fields used by {@link AXPAiPlatformRuntimeContext} and the mock engine runtime prompt
|
|
2196
|
+
* formatter — keep labels short and values bounded.
|
|
2197
|
+
*/
|
|
2198
|
+
interface AXPContextDefinitionAiHints {
|
|
2199
|
+
/**
|
|
2200
|
+
* Short English label for bullet lists (e.g. `UI locale`, `Current instant (UTC, ISO 8601)`).
|
|
2201
|
+
*/
|
|
2202
|
+
promptLabel?: string;
|
|
2203
|
+
/**
|
|
2204
|
+
* One-line guidance for the model (when to use this value, what not to ask the user).
|
|
2205
|
+
*/
|
|
2206
|
+
usageHint?: string;
|
|
2207
|
+
/**
|
|
2208
|
+
* When `false`, this definition is omitted from AI system-prompt assembly. Default `true`.
|
|
2209
|
+
*/
|
|
2210
|
+
includeInSystemPrompt?: boolean;
|
|
2211
|
+
/**
|
|
2212
|
+
* How to stringify the value compactly in prompts.
|
|
2213
|
+
*/
|
|
2214
|
+
valueKind?: 'string' | 'number' | 'boolean' | 'instant' | 'locale' | 'dateTime' | 'object';
|
|
2215
|
+
/**
|
|
2216
|
+
* When `true`, the value must not be sent to the model (PII, secrets, tokens).
|
|
2217
|
+
*/
|
|
2218
|
+
sensitive?: boolean;
|
|
2219
|
+
/**
|
|
2220
|
+
* Sort order when rendering the AI context block (lower first).
|
|
2221
|
+
*/
|
|
2222
|
+
order?: number;
|
|
2223
|
+
}
|
|
2224
|
+
/**
|
|
2225
|
+
* Describes a named platform context key (e.g. `currentDate`, `language`).
|
|
2226
|
+
*/
|
|
2227
|
+
interface AXPContextDefinition {
|
|
2228
|
+
/** Stable identifier used as the context key and in expressions. */
|
|
2229
|
+
name: string;
|
|
2230
|
+
/** Human-readable title for designers and tooling. */
|
|
2231
|
+
title: string;
|
|
2232
|
+
/** What this context represents and when consumers should use it. */
|
|
2233
|
+
description: string;
|
|
2234
|
+
/** Optional metadata for AI system-prompt assembly. */
|
|
2235
|
+
ai?: AXPContextDefinitionAiHints;
|
|
2236
|
+
}
|
|
2237
|
+
|
|
2238
|
+
interface AXPContextDefinitionProvider {
|
|
2239
|
+
items(): Promise<AXPContextDefinition[]>;
|
|
2240
|
+
}
|
|
2241
|
+
declare const AXP_CONTEXT_DEFINITION_PROVIDER: InjectionToken<AXPContextDefinitionProvider[]>;
|
|
2242
|
+
|
|
2243
|
+
/**
|
|
2244
|
+
* Collects {@link AXPContextDefinition} entries from all registered {@link AXPContextDefinitionProvider} instances.
|
|
2245
|
+
*/
|
|
2246
|
+
declare class AXPContextDefinitionProviderService implements AXPContextDefinitionProvider {
|
|
2247
|
+
private readonly providers;
|
|
2248
|
+
items(): Promise<AXPContextDefinition[]>;
|
|
2249
|
+
get(name: string): Promise<AXPContextDefinition | undefined>;
|
|
2250
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPContextDefinitionProviderService, never>;
|
|
2251
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXPContextDefinitionProviderService>;
|
|
2252
|
+
}
|
|
2253
|
+
|
|
1514
2254
|
declare class AXPDataGenerator {
|
|
1515
2255
|
static uuid(): string;
|
|
1516
2256
|
static number(max: number): number;
|
|
@@ -1547,40 +2287,22 @@ type AXPValueTransformerFunctions = {
|
|
|
1547
2287
|
};
|
|
1548
2288
|
declare function objectKeyValueTransforms(keyName: string): AXPValueTransformerFunctions;
|
|
1549
2289
|
|
|
1550
|
-
|
|
1551
|
-
|
|
1552
|
-
|
|
1553
|
-
|
|
1554
|
-
|
|
1555
|
-
|
|
1556
|
-
}
|
|
1557
|
-
interface AXPDataSourceDefinition<T = any> {
|
|
1558
|
-
name: string;
|
|
1559
|
-
title: string;
|
|
1560
|
-
valueField?: {
|
|
1561
|
-
name: string;
|
|
1562
|
-
title: string;
|
|
1563
|
-
};
|
|
1564
|
-
textField?: {
|
|
1565
|
-
name: string;
|
|
1566
|
-
title: string;
|
|
1567
|
-
};
|
|
1568
|
-
columns: AXPDataSourceDataFieldDefinition[];
|
|
1569
|
-
filters: AXPFilterDefinition[];
|
|
1570
|
-
samples?: any[];
|
|
1571
|
-
visible?: boolean;
|
|
1572
|
-
source: () => AXDataSource<T> | Promise<AXDataSource<T>>;
|
|
1573
|
-
}
|
|
1574
|
-
interface AXPDataSourceDefinitionProvider {
|
|
1575
|
-
items(): Promise<AXPDataSourceDefinition[]>;
|
|
2290
|
+
declare class AXPContentCheckerDirective {
|
|
2291
|
+
viewContainerRef: ViewContainerRef;
|
|
2292
|
+
elementRef: ElementRef<HTMLDivElement>;
|
|
2293
|
+
isEmpty: i0.Signal<boolean>;
|
|
2294
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPContentCheckerDirective, never>;
|
|
2295
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<AXPContentCheckerDirective, "[axp-content-checker]", ["checker"], {}, {}, never, never, true, never>;
|
|
1576
2296
|
}
|
|
1577
|
-
|
|
1578
|
-
declare class
|
|
1579
|
-
|
|
1580
|
-
|
|
1581
|
-
|
|
1582
|
-
|
|
1583
|
-
|
|
2297
|
+
|
|
2298
|
+
declare class AXPDblClickDirective {
|
|
2299
|
+
onDblClick: EventEmitter<Event>;
|
|
2300
|
+
private lastTap;
|
|
2301
|
+
private readonly doubleTapThreshold;
|
|
2302
|
+
handleOnDblClick(event: Event): void;
|
|
2303
|
+
onTouchEnd(event: TouchEvent): void;
|
|
2304
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPDblClickDirective, never>;
|
|
2305
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<AXPDblClickDirective, "[onDblClick]", never, {}, { "onDblClick": "onDblClick"; }, never, never, true, never>;
|
|
1584
2306
|
}
|
|
1585
2307
|
|
|
1586
2308
|
declare class AXPElementDataDirective implements OnInit {
|
|
@@ -1602,16 +2324,6 @@ declare class AXPElementDataDirective implements OnInit {
|
|
|
1602
2324
|
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>;
|
|
1603
2325
|
}
|
|
1604
2326
|
|
|
1605
|
-
declare class AXPDblClickDirective {
|
|
1606
|
-
onDblClick: EventEmitter<Event>;
|
|
1607
|
-
private lastTap;
|
|
1608
|
-
private readonly doubleTapThreshold;
|
|
1609
|
-
handleOnDblClick(event: Event): void;
|
|
1610
|
-
onTouchEnd(event: TouchEvent): void;
|
|
1611
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<AXPDblClickDirective, never>;
|
|
1612
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<AXPDblClickDirective, "[onDblClick]", never, {}, { "onDblClick": "onDblClick"; }, never, never, true, never>;
|
|
1613
|
-
}
|
|
1614
|
-
|
|
1615
2327
|
declare class AXPGridLayoutDirective implements OnChanges {
|
|
1616
2328
|
private el;
|
|
1617
2329
|
private renderer;
|
|
@@ -1625,77 +2337,6 @@ declare class AXPGridLayoutDirective implements OnChanges {
|
|
|
1625
2337
|
static ɵdir: i0.ɵɵDirectiveDeclaration<AXPGridLayoutDirective, "[axp-grid-layout]", never, { "options": { "alias": "axp-grid-layout"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1626
2338
|
}
|
|
1627
2339
|
|
|
1628
|
-
declare class AXPContentCheckerDirective {
|
|
1629
|
-
viewContainerRef: ViewContainerRef;
|
|
1630
|
-
elementRef: ElementRef<HTMLDivElement>;
|
|
1631
|
-
isEmpty: i0.Signal<boolean>;
|
|
1632
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<AXPContentCheckerDirective, never>;
|
|
1633
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<AXPContentCheckerDirective, "[axp-content-checker]", ["checker"], {}, {}, never, never, true, never>;
|
|
1634
|
-
}
|
|
1635
|
-
|
|
1636
|
-
/**
|
|
1637
|
-
* Fullscreen directive that provides CSS-based fullscreen functionality
|
|
1638
|
-
* Usage: <element axFullscreen #fullscreen="axFullscreen"></element>
|
|
1639
|
-
* Then: fullscreen.toggle() or fullscreen.enter() or fullscreen.exit()
|
|
1640
|
-
*/
|
|
1641
|
-
declare class AXFullscreenDirective implements OnDestroy {
|
|
1642
|
-
private elementRef;
|
|
1643
|
-
/**
|
|
1644
|
-
* Current fullscreen state
|
|
1645
|
-
*/
|
|
1646
|
-
private readonly isFullscreenState;
|
|
1647
|
-
/**
|
|
1648
|
-
* Original element styles to restore
|
|
1649
|
-
*/
|
|
1650
|
-
private originalStyles;
|
|
1651
|
-
/**
|
|
1652
|
-
* Original parent element reference
|
|
1653
|
-
*/
|
|
1654
|
-
private originalParent;
|
|
1655
|
-
/**
|
|
1656
|
-
* Fullscreen container element
|
|
1657
|
-
*/
|
|
1658
|
-
private fullscreenContainer;
|
|
1659
|
-
/**
|
|
1660
|
-
* Fullscreen change event
|
|
1661
|
-
*/
|
|
1662
|
-
readonly fullscreenChange: i0.OutputEmitterRef<boolean>;
|
|
1663
|
-
private readonly destroyRef;
|
|
1664
|
-
private readonly renderer;
|
|
1665
|
-
constructor(elementRef: ElementRef<HTMLElement>);
|
|
1666
|
-
/**
|
|
1667
|
-
* Toggle fullscreen state
|
|
1668
|
-
*/
|
|
1669
|
-
toggle(): Promise<void>;
|
|
1670
|
-
/**
|
|
1671
|
-
* Enter fullscreen mode using CSS
|
|
1672
|
-
*/
|
|
1673
|
-
enter(): Promise<void>;
|
|
1674
|
-
/**
|
|
1675
|
-
* Exit fullscreen mode
|
|
1676
|
-
*/
|
|
1677
|
-
exit(): Promise<void>;
|
|
1678
|
-
/**
|
|
1679
|
-
* Check if currently in fullscreen mode
|
|
1680
|
-
*/
|
|
1681
|
-
isFullscreen(): boolean;
|
|
1682
|
-
/**
|
|
1683
|
-
* Store original element styles
|
|
1684
|
-
*/
|
|
1685
|
-
private storeOriginalStyles;
|
|
1686
|
-
/**
|
|
1687
|
-
* Restore original element styles
|
|
1688
|
-
*/
|
|
1689
|
-
private restoreOriginalStyles;
|
|
1690
|
-
/**
|
|
1691
|
-
* Convert camelCase to kebab-case for CSS properties
|
|
1692
|
-
*/
|
|
1693
|
-
private camelToKebabCase;
|
|
1694
|
-
ngOnDestroy(): void;
|
|
1695
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<AXFullscreenDirective, never>;
|
|
1696
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<AXFullscreenDirective, "[axFullscreen]", ["axFullscreen"], {}, { "fullscreenChange": "fullscreenChange"; }, never, never, true, never>;
|
|
1697
|
-
}
|
|
1698
|
-
|
|
1699
2340
|
type AXPDistributedEventListenerProviderToken<T> = AXPDistributedEventListenerProvider<T> | Promise<AXPDistributedEventListenerProvider<T>>;
|
|
1700
2341
|
declare const AXP_DISTRIBUTED_EVENT_LISTENER_PROVIDER: InjectionToken<AXPDistributedEventListenerProviderToken<any>[]>;
|
|
1701
2342
|
interface AXPDistributedEventListenerProvider<TInput = any, TOutput = void> {
|
|
@@ -1822,7 +2463,7 @@ declare class AXPExpressionEvaluatorScopeProviderContext {
|
|
|
1822
2463
|
type AXPExpressionEvaluatorScopeProviders = AXPExpressionEvaluatorScopeProvider[] | (() => AXPExpressionEvaluatorScopeProvider[]);
|
|
1823
2464
|
declare const AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER: InjectionToken<AXPExpressionEvaluatorScopeProviders>;
|
|
1824
2465
|
declare class AXPExpressionEvaluatorScopeProviderService {
|
|
1825
|
-
private
|
|
2466
|
+
private readonly injector;
|
|
1826
2467
|
private cache;
|
|
1827
2468
|
private load;
|
|
1828
2469
|
getScopesAsync(): Promise<AXPExpressionEvaluatorScope>;
|
|
@@ -1853,6 +2494,142 @@ declare class AXPHookService {
|
|
|
1853
2494
|
static ɵprov: i0.ɵɵInjectableDeclaration<AXPHookService>;
|
|
1854
2495
|
}
|
|
1855
2496
|
|
|
2497
|
+
/** Acorex overlay root (modal shell, popup, dialog). */
|
|
2498
|
+
declare const AX_OVERLAY_CONTAINER_SELECTOR = ".ax-overlay-container";
|
|
2499
|
+
/** Anchored widget panel inside an overlay (select, date picker, dropdown). */
|
|
2500
|
+
declare const AX_OVERLAY_PANE_SELECTOR = ".ax-overlay-pane";
|
|
2501
|
+
/**
|
|
2502
|
+
* True when a visible overlay layer is foreground (modal, popup, widget popover/picker).
|
|
2503
|
+
*/
|
|
2504
|
+
declare function hasForegroundOverlayLayer(document: Document): boolean;
|
|
2505
|
+
/**
|
|
2506
|
+
* Returns visible anchored overlay panes (widget popovers/pickers).
|
|
2507
|
+
*/
|
|
2508
|
+
declare function getVisibleAnchoredOverlayPanes(document: Document): HTMLElement[];
|
|
2509
|
+
/**
|
|
2510
|
+
* Visible anchored panes that are not contained by `excludeContainer` (e.g. dialog shell).
|
|
2511
|
+
*/
|
|
2512
|
+
declare function getNestedVisibleOverlayPanes(document: Document, excludeContainer: HTMLElement | null): HTMLElement[];
|
|
2513
|
+
/**
|
|
2514
|
+
* Collects visible overlay containers in stacking order (later / higher z-index wins).
|
|
2515
|
+
*/
|
|
2516
|
+
declare function getVisibleOverlayContainers(document: Document): HTMLElement[];
|
|
2517
|
+
/** Topmost visible overlay container, if any. */
|
|
2518
|
+
declare function getTopVisibleOverlayContainer(document: Document): HTMLElement | null;
|
|
2519
|
+
/** Nearest overlay container ancestor of `element`. */
|
|
2520
|
+
declare function findOverlayContainerAncestor(element: HTMLElement): HTMLElement | null;
|
|
2521
|
+
/**
|
|
2522
|
+
* Returns true when the overlay element is rendered and visible in the viewport.
|
|
2523
|
+
*/
|
|
2524
|
+
declare function isVisibleOverlayElement(element: Element): boolean;
|
|
2525
|
+
|
|
2526
|
+
interface AXPKeyboardShortcutFormatOptions {
|
|
2527
|
+
directionBehavior?: AXPKeyboardShortcutDirectionBehavior;
|
|
2528
|
+
/** From `AXLocaleService.activeProfile().i18nMeta?.rtl`. */
|
|
2529
|
+
isRtl?: boolean;
|
|
2530
|
+
/** Chord was already passed through `resolveDisplayShortcutChord` (e.g. help `displayChords`). */
|
|
2531
|
+
skipDirectionResolve?: boolean;
|
|
2532
|
+
}
|
|
2533
|
+
/** Maps a horizontal direction key to its RTL semantic counterpart. */
|
|
2534
|
+
declare function mirrorHorizontalDirectionalKey(key: string): string;
|
|
2535
|
+
/** True when the chord's primary key is a horizontal direction key (`←`/`→`, `[`/`]`). */
|
|
2536
|
+
declare function isHorizontalDirectionalShortcutKey(key: string): boolean;
|
|
2537
|
+
/**
|
|
2538
|
+
* Resolves direction behavior for a chord.
|
|
2539
|
+
* Horizontal direction keys default to `semantic`; others default to `physical`.
|
|
2540
|
+
* An explicit binding value always wins.
|
|
2541
|
+
*/
|
|
2542
|
+
declare function resolveEffectiveDirectionBehavior(chord: AXPKeyboardShortcutChord, explicit?: AXPKeyboardShortcutDirectionBehavior): AXPKeyboardShortcutDirectionBehavior;
|
|
2543
|
+
/** Resolves the key the user presses for a semantically registered chord in RTL. */
|
|
2544
|
+
declare function resolveSemanticDirectionalKey(storedKey: string, rtl: boolean): string;
|
|
2545
|
+
/** Chord string with directional key mirrored for RTL display/matching when semantic. */
|
|
2546
|
+
declare function resolveDisplayShortcutChord(chord: AXPKeyboardShortcutChord, isRtl: boolean, explicitDirectionBehavior?: AXPKeyboardShortcutDirectionBehavior): string;
|
|
2547
|
+
interface ParsedShortcut {
|
|
2548
|
+
ctrl: boolean;
|
|
2549
|
+
shift: boolean;
|
|
2550
|
+
alt: boolean;
|
|
2551
|
+
meta: boolean;
|
|
2552
|
+
key: string;
|
|
2553
|
+
}
|
|
2554
|
+
/**
|
|
2555
|
+
* Parses a shortcut chord such as `Enter`, `Escape`, or `ctrl+shift+s`.
|
|
2556
|
+
*/
|
|
2557
|
+
declare function parseKeyboardShortcutChord(chord: AXPKeyboardShortcutChord): ParsedShortcut;
|
|
2558
|
+
/**
|
|
2559
|
+
* Returns true when the keyboard event matches the given chord.
|
|
2560
|
+
* On macOS, `ctrl+*` chords also match `meta+*` for common platform shortcuts.
|
|
2561
|
+
*/
|
|
2562
|
+
declare function matchesKeyboardShortcutChord(event: KeyboardEvent, chord: AXPKeyboardShortcutChord, options?: AXPKeyboardShortcutFormatOptions): boolean;
|
|
2563
|
+
/**
|
|
2564
|
+
* Formats one chord for UI display (OS-aware modifier symbols).
|
|
2565
|
+
*/
|
|
2566
|
+
declare function formatKeyboardShortcutChord(chord: AXPKeyboardShortcutChord, options?: AXPKeyboardShortcutFormatOptions): string;
|
|
2567
|
+
/**
|
|
2568
|
+
* Formats multiple chords as a single display string (e.g. `← / PgUp`).
|
|
2569
|
+
*/
|
|
2570
|
+
declare function formatKeyboardShortcutChords(chords: readonly AXPKeyboardShortcutChord[], options?: AXPKeyboardShortcutFormatOptions): string;
|
|
2571
|
+
/** Maps a chord to `ax-kbd-item` key parts (modifiers + display symbols). */
|
|
2572
|
+
declare function chordToKbdItemKeys(chord: AXPKeyboardShortcutChord, options?: AXPKeyboardShortcutFormatOptions): string[];
|
|
2573
|
+
/**
|
|
2574
|
+
* When focus is in a native edit control, avoid stealing plain key shortcuts.
|
|
2575
|
+
*/
|
|
2576
|
+
declare function isKeyboardTargetInsideEditableField(target: EventTarget | null): boolean;
|
|
2577
|
+
/**
|
|
2578
|
+
* Returns true when Esc should close an open widget overlay first (select, date picker, popover, modal).
|
|
2579
|
+
* Used by the global shortcut registry so page-level Esc bindings do not swallow overlay dismiss.
|
|
2580
|
+
*/
|
|
2581
|
+
declare function shouldDeferEscapeToOpenOverlay(document: Document): boolean;
|
|
2582
|
+
declare function isMacPlatform(): boolean;
|
|
2583
|
+
|
|
2584
|
+
/**
|
|
2585
|
+
* Normalizes a declarative shortcut (`'ctrl+s'` or `{ keys: 'home', allowInEditableFields: false }`).
|
|
2586
|
+
*/
|
|
2587
|
+
declare function normalizeKeyboardShortcut(shortcut: AXPKeyboardShortcut): AXPResolvedKeyboardShortcut | undefined;
|
|
2588
|
+
/**
|
|
2589
|
+
* Normalizes an array of declarative shortcuts. Empty or invalid entries are skipped.
|
|
2590
|
+
*/
|
|
2591
|
+
declare function normalizeKeyboardShortcuts(shortcuts?: readonly AXPKeyboardShortcut[]): AXPResolvedKeyboardShortcut[];
|
|
2592
|
+
/** Returns the first chord from declarative shortcuts (for UI hints such as `ax-kbd`). */
|
|
2593
|
+
declare function getPrimaryKeyboardShortcutChord(shortcuts?: readonly AXPKeyboardShortcut[]): AXPKeyboardShortcutChord | undefined;
|
|
2594
|
+
|
|
2595
|
+
interface AXPKeyboardShortcutRegisterOptions extends AXPKeyboardShortcutRegistration {
|
|
2596
|
+
/** Auto-unregister when the owner is destroyed. */
|
|
2597
|
+
owner: DestroyRef;
|
|
2598
|
+
/** When set, shortcuts are active only while the element is connected to the document. */
|
|
2599
|
+
elementRef?: ElementRef<HTMLElement>;
|
|
2600
|
+
}
|
|
2601
|
+
declare class AXPKeyboardShortcutRegistry {
|
|
2602
|
+
private readonly document;
|
|
2603
|
+
private readonly localeService;
|
|
2604
|
+
private readonly activeProfile;
|
|
2605
|
+
private readonly registrations;
|
|
2606
|
+
private helpDialogHandler;
|
|
2607
|
+
private listenerAttached;
|
|
2608
|
+
/** Active shortcut entries for the help dialog. */
|
|
2609
|
+
readonly helpEntries: i0.Signal<AXPKeyboardShortcutHelpEntry[]>;
|
|
2610
|
+
/**
|
|
2611
|
+
* Registers a scope of shortcuts. Unregisters automatically when `owner` is destroyed.
|
|
2612
|
+
*/
|
|
2613
|
+
register(options: AXPKeyboardShortcutRegisterOptions): void;
|
|
2614
|
+
/**
|
|
2615
|
+
* Wires the F1 help dialog opener (provided by platform/common).
|
|
2616
|
+
*/
|
|
2617
|
+
setHelpDialogHandler(handler: () => void | Promise<void>): void;
|
|
2618
|
+
/** OS-aware display string for UI hints. */
|
|
2619
|
+
formatDisplayKeys(chords: readonly AXPKeyboardShortcutChord[]): string;
|
|
2620
|
+
private ensureHelpShortcutRegistered;
|
|
2621
|
+
private createRegistrationId;
|
|
2622
|
+
private unregister;
|
|
2623
|
+
private ensureListener;
|
|
2624
|
+
private readonly onDocumentKeyDown;
|
|
2625
|
+
private resolveActiveCandidates;
|
|
2626
|
+
private isRegistrationActive;
|
|
2627
|
+
private isRtlProfile;
|
|
2628
|
+
private buildHelpEntries;
|
|
2629
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPKeyboardShortcutRegistry, never>;
|
|
2630
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXPKeyboardShortcutRegistry>;
|
|
2631
|
+
}
|
|
2632
|
+
|
|
1856
2633
|
/**
|
|
1857
2634
|
* Feature definition in module manifest.
|
|
1858
2635
|
* Defines available features with default values.
|
|
@@ -1965,6 +2742,14 @@ interface AXPFeatureDefinition extends AXPModuleFeatureDefinition {
|
|
|
1965
2742
|
key: string;
|
|
1966
2743
|
}
|
|
1967
2744
|
|
|
2745
|
+
/**
|
|
2746
|
+
* Data source definition for module names/titles from {@link AXPModuleManifestRegistry}.
|
|
2747
|
+
*/
|
|
2748
|
+
declare class AXPModuleManifestsDataSourceDefinition implements AXPDataSourceDefinitionProvider {
|
|
2749
|
+
private readonly manifestRegistry;
|
|
2750
|
+
items(): Promise<AXPDataSourceDefinition[]>;
|
|
2751
|
+
}
|
|
2752
|
+
|
|
1968
2753
|
/**
|
|
1969
2754
|
* Registry service for module manifests.
|
|
1970
2755
|
* Collects and manages all registered module manifests.
|
|
@@ -2047,12 +2832,13 @@ declare class AXPModuleManifestRegistry {
|
|
|
2047
2832
|
|
|
2048
2833
|
interface AXPStartUpTask {
|
|
2049
2834
|
name: string;
|
|
2050
|
-
statusText:
|
|
2835
|
+
statusText: AXPMultiLanguageString;
|
|
2051
2836
|
priority: number;
|
|
2052
2837
|
run: () => Promise<void>;
|
|
2053
2838
|
}
|
|
2054
2839
|
|
|
2055
2840
|
declare class AXPAppStartUpService {
|
|
2841
|
+
private readonly translationService;
|
|
2056
2842
|
private tasks;
|
|
2057
2843
|
registerTask(task: AXPStartUpTask): void;
|
|
2058
2844
|
runAllTasks(): Promise<void>;
|
|
@@ -2132,6 +2918,31 @@ declare const AXP_SESSION_SERVICE: InjectionToken<AXPISessionService>;
|
|
|
2132
2918
|
*/
|
|
2133
2919
|
declare const AXP_MODULE_MANIFEST_PROVIDER: InjectionToken<AXPModuleManifest[]>;
|
|
2134
2920
|
|
|
2921
|
+
/**
|
|
2922
|
+
* Locale-aware comparison of {@link AXPMultiLanguageString} values (plain string, `@scope:key`, or locale map).
|
|
2923
|
+
* Resolves each side with {@link resolveMultiLanguageString} for `locale`, then compares with `String#localeCompare`.
|
|
2924
|
+
*/
|
|
2925
|
+
declare function compareMultiLanguageStrings(a: AXPMultiLanguageString | null | undefined, b: AXPMultiLanguageString | null | undefined, locale: string, collatorOptions?: Intl.CollatorOptions): number;
|
|
2926
|
+
/**
|
|
2927
|
+
* Stable sort copy: orders items by resolved string for `getValue(item)` using the active `locale`.
|
|
2928
|
+
*/
|
|
2929
|
+
declare function sortByMultiLanguageString<T>(items: readonly T[], getValue: (item: T) => AXPMultiLanguageString | null | undefined, locale: string, collatorOptions?: Intl.CollatorOptions): T[];
|
|
2930
|
+
/**
|
|
2931
|
+
* True when the resolved value contains `query` (case-insensitive) for `locale`.
|
|
2932
|
+
* Useful for search/filter flows over {@link AXPMultiLanguageString}.
|
|
2933
|
+
*/
|
|
2934
|
+
declare function searchInMultiLanguageString(value: AXPMultiLanguageString | null | undefined, query: string, locale: string): boolean;
|
|
2935
|
+
|
|
2936
|
+
/** Per-locale string map (`{ 'en-US': '...', 'fa-IR': '...' }`). */
|
|
2937
|
+
declare function isLocaleStringMap(value: unknown): value is Record<string, string>;
|
|
2938
|
+
/**
|
|
2939
|
+
* Use locale-map read/write when the option is on or live/saved data is already a map.
|
|
2940
|
+
* Auto-enables when API data is a map but the editor option was left off.
|
|
2941
|
+
*/
|
|
2942
|
+
declare function shouldUseLocaleMapShape(localeMapOptionEnabled: boolean, current: unknown, saved: unknown): boolean;
|
|
2943
|
+
/** Updates one locale entry; preserves sibling locales from current or saved map. */
|
|
2944
|
+
declare function buildLocaleTextMapValue(current: unknown, saved: unknown, lang: string, input: string): Record<string, string> | null;
|
|
2945
|
+
|
|
2135
2946
|
/**
|
|
2136
2947
|
* Represents a tag with text, color, and metadata
|
|
2137
2948
|
*/
|
|
@@ -2395,6 +3206,26 @@ declare function getEnumValues(enumType: any): {
|
|
|
2395
3206
|
id: string;
|
|
2396
3207
|
title: string;
|
|
2397
3208
|
}[];
|
|
3209
|
+
/**
|
|
3210
|
+
* Semantic equality for lookup/select values when restoring saved baseline shape.
|
|
3211
|
+
* Compares by selection identity (id), including two full items with the same id.
|
|
3212
|
+
*/
|
|
3213
|
+
declare function isSelectionValueEqual(a: unknown, b: unknown): boolean;
|
|
3214
|
+
/**
|
|
3215
|
+
* Semantic equality for dirty-state and baseline checks.
|
|
3216
|
+
* Prefer over lodash `isEqual` when comparing user-edited form/context data to a saved baseline.
|
|
3217
|
+
*
|
|
3218
|
+
* Arrays: `[]`, `null`, and all-empty lists are equivalent; non-empty arrays compare as multisets (order ignored).
|
|
3219
|
+
*/
|
|
3220
|
+
declare function isFormValueEqual(a: unknown, b: unknown): boolean;
|
|
3221
|
+
/**
|
|
3222
|
+
* Returns whether `current` differs from the saved/clean `baseline` snapshot.
|
|
3223
|
+
*/
|
|
3224
|
+
declare function isFormContextDirty(current: Record<string, unknown>, baseline: Record<string, unknown>): boolean;
|
|
3225
|
+
/**
|
|
3226
|
+
* Clones a context object for use as a dirty-tracking baseline.
|
|
3227
|
+
*/
|
|
3228
|
+
declare function captureFormContextBaseline(context: Record<string, unknown>): Record<string, unknown>;
|
|
2398
3229
|
|
|
2399
3230
|
/**
|
|
2400
3231
|
* Creates a provider instance within an injection context.
|
|
@@ -2417,26 +3248,54 @@ declare function createProviderWithInjectionContext<T>(loader: () => Promise<new
|
|
|
2417
3248
|
*
|
|
2418
3249
|
* @param token - The injection token to provide
|
|
2419
3250
|
* @param loader - Function that returns a promise resolving to the provider class
|
|
2420
|
-
* @param multi - Whether the provider is multi-provider (
|
|
3251
|
+
* @param multi - Optional. Whether the provider is a multi-provider (array of values). Defaults to `true`. Pass `false` for a single provider.
|
|
2421
3252
|
* @returns Provider configuration object
|
|
2422
3253
|
*
|
|
2423
3254
|
* @example
|
|
2424
3255
|
* ```typescript
|
|
2425
|
-
*
|
|
2426
|
-
*
|
|
2427
|
-
*
|
|
2428
|
-
*
|
|
2429
|
-
*
|
|
2430
|
-
*
|
|
3256
|
+
* // Multi-provider (default)
|
|
3257
|
+
* provideLazyProvider(
|
|
3258
|
+
* AXP_DATASOURCE_DEFINITION_PROVIDER,
|
|
3259
|
+
* () => import('./datasource.provider').then(m => m.AXMDataSourceProvider)
|
|
3260
|
+
* )
|
|
3261
|
+
*
|
|
3262
|
+
* // Single provider
|
|
3263
|
+
* provideLazyProvider(
|
|
3264
|
+
* SOME_TOKEN,
|
|
3265
|
+
* () => import('./my.provider').then(m => m.MyProvider),
|
|
3266
|
+
* false
|
|
3267
|
+
* )
|
|
2431
3268
|
* ```
|
|
2432
3269
|
*/
|
|
2433
3270
|
declare function provideLazyProvider<TProvider>(token: InjectionToken<any>, loader: () => Promise<new () => TProvider>, multi?: boolean): Provider;
|
|
2434
3271
|
|
|
3272
|
+
/**
|
|
3273
|
+
* If `raw` is a plain non-array object with a `value` property, returns `value`; otherwise returns `raw`.
|
|
3274
|
+
*/
|
|
3275
|
+
declare function unwrapValueProperty(raw: unknown): unknown;
|
|
3276
|
+
/**
|
|
3277
|
+
* Coerces to a trimmed string. Plain objects may carry `{ value }` from setting widgets or `{ id }` from select payloads using `valueField: 'id'`.
|
|
3278
|
+
*/
|
|
3279
|
+
declare function coerceUnknownToTrimmedString(raw: unknown): string;
|
|
3280
|
+
/**
|
|
3281
|
+
* Coerces to boolean: direct booleans pass through; wrapped `{ value: true | 'true' }` is respected; otherwise false.
|
|
3282
|
+
*/
|
|
3283
|
+
declare function coerceUnknownToBoolean(raw: unknown): boolean;
|
|
3284
|
+
/** Parses a finite number after optional `{ value }` unwrap; non-finite or empty string yields NaN. */
|
|
3285
|
+
declare function coerceUnknownToFiniteNumber(raw: unknown): number;
|
|
3286
|
+
/** Parses a Date after optional `{ value }` unwrap; invalid input yields Invalid Date. */
|
|
3287
|
+
declare function coerceUnknownToDate(raw: unknown): Date;
|
|
3288
|
+
|
|
2435
3289
|
declare function extractTextFromHtml(value: string): string;
|
|
3290
|
+
/**
|
|
3291
|
+
* True when the string likely contains HTML markup (e.g. `<p>`, `<ul>`), as opposed to plain text.
|
|
3292
|
+
* Used to choose innerHTML vs text interpolation for multilingual fields.
|
|
3293
|
+
*/
|
|
3294
|
+
declare function containsHtmlMarkup(value: string | null | undefined): boolean;
|
|
2436
3295
|
/**
|
|
2437
3296
|
* Generate kebab-case group name from title
|
|
2438
3297
|
*/
|
|
2439
3298
|
declare function generateKebabCase(title: string): string;
|
|
2440
3299
|
|
|
2441
|
-
export {
|
|
2442
|
-
export type { AXPActionMenuItem, AXPActivityLog, AXPActivityLogChange, AXPApplicationUserReference, AXPBackButton, AXPBadge, AXPBreadcrumbItem, AXPCategorizedEntity, AXPCategorizedEntityDto, AXPCategoryEntity, AXPCategoryEntityWithItems, AXPColorPalette, AXPColorPaletteFilterOptions, AXPColumnQuery, AXPCommandMessage, AXPContent, AXPContentDirection, AXPContentType, AXPContextData, AXPContextState, AXPDataSource, AXPDataSourceDataFieldDefinition, AXPDataSourceDefinition, AXPDataSourceDefinitionProvider, AXPDataType, AXPDistributedEventListenerProvider, AXPDistributedEventListenerProviderToken, AXPEntityReference, AXPEqualValidationRule, AXPExecuteCommand, AXPExecuteCommandResult, AXPExportCsvOptions, AXPExportExcelOptions, AXPExportOptions, AXPExportPdfOptions, AXPExportPrintOptions, AXPExpression, AXPExpressionEvaluatorScope, AXPExpressionEvaluatorScopeProvider, AXPExpressionEvaluatorScopeProviders, AXPFeatureDefinition, AXPFeatureDefinitionProvider, AXPFeatureName, AXPFileListItem, AXPFileSource, AXPFileStatus, AXPFilterClause, AXPFilterDefinition, AXPFilterQuery, AXPFlowDirection, AXPGridLayoutOptions, AXPGridPlacement, AXPISessionService, AXPLogoConfig, AXPMaxLengthValidationRule, AXPMetaData, AXPMiddlewareErrorResponse, AXPMinLengthValidationRule, AXPModuleFeatureDefinition, AXPModuleFeatureDefinitionWithKey, AXPModuleManifest, AXPNavigateActionCommand, AXPNavigateActionOptions, AXPOptionsData, 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 };
|
|
3300
|
+
export { AXHighlightService, AXPActivityLogProvider, AXPActivityLogService, AXPAppStartUpProvider, AXPAppStartUpService, AXPBroadcastEventService, AXPCatalogScopeDefinitionProviderService, AXPCatalogScopeDefinitionsDataSourceDefinition, AXPColorPaletteProvider, AXPColorPaletteService, AXPColumnWidthService, AXPComponentLogoConfig, AXPComponentSlot, AXPComponentSlotDirective, AXPComponentSlotModule, AXPComponentSlotRegistryService, AXPContentCheckerDirective, AXPContextChangeEvent, AXPContextDefinitionProviderService, AXPContextStore, AXPCountdownPipe, AXPDataGenerator, AXPDataSourceDefinitionProviderService, AXPDblClickDirective, AXPDefaultColorPalettesProvider, AXPDeviceService, AXPDeviceType, AXPDistributedEventListenerService, AXPElementDataDirective, AXPExportTemplateToken, AXPExpressionEvaluatorScopeProviderContext, AXPExpressionEvaluatorScopeProviderService, AXPExpressionEvaluatorService, AXPFeatureDefinitionProviderContext, AXPGridLayoutDirective, AXPHookService, AXPIconLogoConfig, AXPImageUrlLogoConfig, AXPKeyboardShortcutPriority, AXPKeyboardShortcutRegistry, AXPModuleManifestModule, AXPModuleManifestRegistry, AXPModuleManifestsDataSourceDefinition, AXPPlatformCoreDataSourceKeys, AXPPlatformScope, AXPScreenSize, AXPSystemActionType, AXPSystemActions, AXPTagProvider, AXPTagService, AXP_ACTIVITY_LOG_PROVIDER, AXP_CATALOG_SCOPE_DEFINITION_PROVIDER, AXP_COLOR_PALETTE_PROVIDER, AXP_COLUMN_WIDTH_PROVIDER, AXP_CONTEXT_DEFINITION_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, AX_OVERLAY_CONTAINER_SELECTOR, AX_OVERLAY_PANE_SELECTOR, applyFilterArray, applyPagination, applyQueryArray, applySortArray, applySystemActionDefault, buildLocaleTextMapValue, captureFormContextBaseline, chordToKbdItemKeys, cleanDeep, coerceUnknownToBoolean, coerceUnknownToDate, coerceUnknownToFiniteNumber, coerceUnknownToTrimmedString, compareMultiLanguageStrings, containsHtmlMarkup, createProviderWithInjectionContext, defaultColumnWidthProvider, extractNestedFieldsWildcard, extractTextFromHtml, extractValue, findOverlayContainerAncestor, formatKeyboardShortcutChord, formatKeyboardShortcutChords, generateKebabCase, getActionButton, getChangedPaths, getDetailedChanges, getEnumValues, getNestedKeys, getNestedVisibleOverlayPanes, getPrimaryKeyboardShortcutChord, getSmart, getSystemActions, getTopVisibleOverlayContainer, getVisibleAnchoredOverlayPanes, getVisibleOverlayContainers, hasForegroundOverlayLayer, isFormContextDirty, isFormValueEqual, isHorizontalDirectionalShortcutKey, isKeyboardTargetInsideEditableField, isLocaleStringMap, isMacPlatform, isSelectionValueEqual, isVisibleOverlayElement, matchesKeyboardShortcutChord, mirrorHorizontalDirectionalKey, normalizeDefinitionCategories, normalizeKeyboardShortcut, normalizeKeyboardShortcuts, objectKeyValueTransforms, parseKeyboardShortcutChord, provideLazyProvider, resolveActionLook, resolveDisplayShortcutChord, resolveEffectiveDirectionBehavior, resolvePlatformScopeKey, resolvePlatformScopeName, resolveSemanticDirectionalKey, searchInMultiLanguageString, setSmart, shouldDeferEscapeToOpenOverlay, shouldUseLocaleMapShape, sortByMultiLanguageString, unwrapValueProperty };
|
|
3301
|
+
export type { AXPActionMenuItem, AXPActivityLog, AXPActivityLogChange, AXPApplicationUserReference, AXPBackButton, AXPBadge, AXPBreadcrumbItem, AXPCatalogScopeDefinition, AXPCatalogScopeDefinitionProvider, AXPCategorizedEntity, AXPCategorizedEntityDto, AXPCategoryEntity, AXPCategoryEntityWithItems, AXPCategoryListItem, AXPColorPalette, AXPColorPaletteFilterOptions, AXPColumnQuery, AXPColumnWidthMatcher, AXPColumnWidthProvider, AXPCommandMessage, AXPComponentSlotConfig, AXPComponentSlotModuleConfigs, AXPContent, AXPContentDirection, AXPContentType, AXPContextData, AXPContextDefinition, AXPContextDefinitionAiHints, AXPContextDefinitionProvider, AXPContextPatchOptions, AXPContextState, AXPContextUpdateOptions, AXPContextUpdateOrigin, AXPDataSource, AXPDataSourceArray, AXPDataSourceDataFieldDefinition, AXPDataSourceDefinition, AXPDataSourceDefinitionProvider, AXPDataSourceSample, AXPDataSourceType, AXPDataSourceValue, AXPDataType, AXPDefinitionCategory, 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, AXPKeyboardShortcut, AXPKeyboardShortcutBinding, AXPKeyboardShortcutChord, AXPKeyboardShortcutConfig, AXPKeyboardShortcutDirectionBehavior, AXPKeyboardShortcutFormatOptions, AXPKeyboardShortcutHelpEntry, AXPKeyboardShortcutRegisterOptions, AXPKeyboardShortcutRegistration, AXPLazyDataSource, AXPLogoConfig, AXPMaxLengthValidationRule, AXPMaybePromise, AXPMetaData, AXPMiddlewareErrorResponse, AXPMinLengthValidationRule, AXPModuleFeatureDefinition, AXPModuleFeatureDefinitionWithKey, AXPModuleManifest, AXPMultiLanguageString, AXPNavigateActionCommand, AXPNavigateActionOptions, AXPOptionsData, AXPPageStatus, AXPPagedListResult, AXPPartialNested, AXPPlatformScopeKey, AXPProperty, AXPPropertyGroup, AXPPropertyInterface, AXPQueryFetchResult, AXPQueryRequest, AXPReqexValidationRule, AXPRequiredValidationRule, AXPResolvedKeyboardShortcut, AXPSortDefinition, AXPSortQuery, AXPStartUpTask, AXPStringValidationRules, AXPSystemAction, AXPTag, AXPTagFilterOptions, AXPUserReference, AXPValidationRule, AXPValidationRules, AXPValueTransformerFunction, AXPValueTransformerFunctions, AXPValueUnit, AXPValueUnits, AXPViewBlockDefinition, AXPViewDefinition, AXPViewFieldDefinition, AXPViewQuery, AXPWidgetTrigger, AXPWidgetTriggers, ColumnNameMatcher, ColumnWidthValue, IColumnWithWidth, WidgetTypeMatcher };
|