@acorex/platform 21.0.0-next.7 → 21.0.0-next.71
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 +281 -23
- package/fesm2022/acorex-platform-auth.mjs.map +1 -1
- package/fesm2022/acorex-platform-common-common-settings.provider-Bi1RYif5.mjs +163 -0
- package/fesm2022/acorex-platform-common-common-settings.provider-Bi1RYif5.mjs.map +1 -0
- package/fesm2022/acorex-platform-common.mjs +1381 -276
- package/fesm2022/acorex-platform-common.mjs.map +1 -1
- package/fesm2022/acorex-platform-core.mjs +1538 -611
- 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 +1372 -210
- 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 +6298 -1929
- package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-designer.mjs +456 -204
- package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-entity-attachments-page.component-D8iQnT-R.mjs +371 -0
- package/fesm2022/acorex-platform-layout-entity-attachments-page.component-D8iQnT-R.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-entity-file-list-popup.component-_yrP5SQe.mjs +100 -0
- package/fesm2022/acorex-platform-layout-entity-file-list-popup.component-_yrP5SQe.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-entity.mjs +22537 -9975
- package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-views.mjs +865 -218
- package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-widget-core.mjs +2138 -487
- 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-BcpRkpJp.mjs} +6 -6
- package/fesm2022/acorex-platform-layout-widgets-tabular-data-edit-popup.component-BcpRkpJp.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-DQtK4lxl.mjs} +5 -5
- package/fesm2022/acorex-platform-layout-widgets-tabular-data-view-popup.component-DQtK4lxl.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 +10434 -7982
- 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-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 +2289 -90
- 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 +790 -612
- package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
- package/fesm2022/acorex-platform-workflow.mjs +978 -238
- package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
- package/fesm2022/acorex-platform.mjs.map +1 -1
- package/package.json +40 -38
- package/{auth/index.d.ts → types/acorex-platform-auth.d.ts} +241 -4
- package/{common/index.d.ts → types/acorex-platform-common.d.ts} +833 -89
- package/{core/index.d.ts → types/acorex-platform-core.d.ts} +779 -164
- 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} +277 -55
- package/types/acorex-platform-layout-components.d.ts +3257 -0
- package/{layout/designer/index.d.ts → types/acorex-platform-layout-designer.d.ts} +96 -18
- package/types/acorex-platform-layout-entity.d.ts +4492 -0
- package/{layout/views/index.d.ts → types/acorex-platform-layout-views.d.ts} +247 -62
- package/{layout/widget-core/index.d.ts → types/acorex-platform-layout-widget-core.d.ts} +437 -131
- package/{layout/widgets/index.d.ts → types/acorex-platform-layout-widgets.d.ts} +1140 -506
- 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} +254 -7
- 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} +620 -617
- 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-DfJEx_bs.mjs +0 -1542
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-DfJEx_bs.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-settings.provider-DSs1o1M6.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-DTnfRy5f.mjs +0 -65
- 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 +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 -1669
- package/layout/entity/index.d.ts +0 -2287
- package/runtime/index.d.ts +0 -307
- /package/{index.d.ts → types/acorex-platform.d.ts} +0 -0
|
@@ -1,7 +1,9 @@
|
|
|
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, 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
|
|
|
@@ -899,7 +901,7 @@ declare function getActionButton(actionType: string): {
|
|
|
899
901
|
interface AXPColumnQuery {
|
|
900
902
|
name: string;
|
|
901
903
|
title: string;
|
|
902
|
-
visible: boolean;
|
|
904
|
+
visible: boolean | string;
|
|
903
905
|
}
|
|
904
906
|
|
|
905
907
|
type AXPPartialNested<T> = {
|
|
@@ -907,6 +909,28 @@ type AXPPartialNested<T> = {
|
|
|
907
909
|
};
|
|
908
910
|
declare function getNestedKeys(obj: any, prefix?: string): string[];
|
|
909
911
|
type AXPExpression = string;
|
|
912
|
+
/**
|
|
913
|
+
* Plain or rich text that may be localized: a single string or a map of locale code to string.
|
|
914
|
+
* Use when multi-language editing stores `Record<locale, string>` instead of one string.
|
|
915
|
+
*
|
|
916
|
+
* @example Single value (one locale or shared text)
|
|
917
|
+
* `"<p>Pick one</p>"`
|
|
918
|
+
*
|
|
919
|
+
* @example Per-locale map (e.g. after multi-language editor save)
|
|
920
|
+
* `{ "en-US": "<p>Pick one</p>", "fa-IR": "<p>یکی را انتخاب کنید</p>" }`
|
|
921
|
+
*/
|
|
922
|
+
type AXPMultiLanguageString = AXMultiLanguageString;
|
|
923
|
+
/**
|
|
924
|
+
* Shared category descriptor for widgets, query catalog tooling, and other definition groupings.
|
|
925
|
+
*/
|
|
926
|
+
interface AXPDefinitionCategory {
|
|
927
|
+
name: string;
|
|
928
|
+
title: AXPMultiLanguageString;
|
|
929
|
+
order: number;
|
|
930
|
+
icon?: string;
|
|
931
|
+
}
|
|
932
|
+
/** Normalizes definition categories to an array for iteration and serialization. */
|
|
933
|
+
declare function normalizeDefinitionCategories(categories?: AXPDefinitionCategory | AXPDefinitionCategory[]): AXPDefinitionCategory[];
|
|
910
934
|
type AXPMetaData = Record<string, any>;
|
|
911
935
|
type AXPOptionsData<T extends Record<string, unknown> = Record<string, any>> = T;
|
|
912
936
|
interface AXPValueUnit {
|
|
@@ -943,8 +967,10 @@ interface AXPContent {
|
|
|
943
967
|
content: string;
|
|
944
968
|
contentType: AXPContentType;
|
|
945
969
|
}
|
|
970
|
+
type AXPMaybePromise<T = unknown> = T | Promise<T>;
|
|
946
971
|
|
|
947
972
|
type AXPDataSource = string | AXDataSource | any[];
|
|
973
|
+
type AXPDataType = 'string' | 'number' | 'boolean' | 'date' | 'object' | 'array' | 'blob';
|
|
948
974
|
interface AXPPagedListResult<T = any> {
|
|
949
975
|
items: T[];
|
|
950
976
|
total: number;
|
|
@@ -958,31 +984,142 @@ interface AXPQueryRequest {
|
|
|
958
984
|
[key: string]: string;
|
|
959
985
|
};
|
|
960
986
|
}
|
|
961
|
-
|
|
987
|
+
/**
|
|
988
|
+
* Category Entity - Base interface for hierarchical category structures
|
|
989
|
+
*
|
|
990
|
+
* This interface provides a standardized data model for category entities across the platform.
|
|
991
|
+
* All category entities (e.g., ReportCategory, ActivityCategory, WorkflowCategory) extend this interface
|
|
992
|
+
* to ensure consistency in data structure and field names.
|
|
993
|
+
*
|
|
994
|
+
* @template TKey - The type of the identifier key (default: string)
|
|
995
|
+
*
|
|
996
|
+
* @example
|
|
997
|
+
* ```typescript
|
|
998
|
+
* const category: AXPCategoryEntity = {
|
|
999
|
+
* id: 'cat-001',
|
|
1000
|
+
* title: 'Electronics',
|
|
1001
|
+
* description: 'Electronic products',
|
|
1002
|
+
* parentId: undefined, // Root category
|
|
1003
|
+
* childrenCount: 2, // Has 2 direct child categories
|
|
1004
|
+
* itemsCount: 5, // Has 5 items directly in this category
|
|
1005
|
+
* totalChildrenCount: 6, // Total of 6 nested categories (including grandchildren)
|
|
1006
|
+
* totalItemsCount: 23 // Total of 23 items in entire category tree
|
|
1007
|
+
* };
|
|
1008
|
+
* ```
|
|
1009
|
+
*/
|
|
962
1010
|
interface AXPCategoryEntity<TKey = string> {
|
|
1011
|
+
/** Unique identifier for the category */
|
|
963
1012
|
id: TKey;
|
|
964
|
-
|
|
965
|
-
|
|
1013
|
+
/** Display name of the category (required) */
|
|
1014
|
+
title: AXPMultiLanguageString;
|
|
1015
|
+
/** Optional description of the category */
|
|
1016
|
+
description?: AXPMultiLanguageString;
|
|
1017
|
+
/** Parent category ID (undefined for root categories) */
|
|
966
1018
|
parentId?: TKey;
|
|
1019
|
+
/**
|
|
1020
|
+
* Count of direct child categories only (not recursive)
|
|
1021
|
+
*
|
|
1022
|
+
* Used by UI components to determine if a category has children and should show an expand icon.
|
|
1023
|
+
* This enables efficient lazy loading - components can check this property without querying the API.
|
|
1024
|
+
*
|
|
1025
|
+
* @example
|
|
1026
|
+
* - Category with 2 direct children: `childrenCount: 2`
|
|
1027
|
+
* - Leaf category (no children): `childrenCount: 0`
|
|
1028
|
+
*
|
|
1029
|
+
* @remarks
|
|
1030
|
+
* - Always set to `0` for leaf categories
|
|
1031
|
+
* - Does not include grandchildren or nested descendants
|
|
1032
|
+
* - Automatically maintained by middleware for category entities
|
|
1033
|
+
*/
|
|
967
1034
|
childrenCount: number;
|
|
1035
|
+
/**
|
|
1036
|
+
* Count of items directly assigned to this category (not recursive)
|
|
1037
|
+
*
|
|
1038
|
+
* Represents the number of items (e.g., reports, activities, workflows) that are directly
|
|
1039
|
+
* assigned to this category. Does not include items from child categories.
|
|
1040
|
+
*
|
|
1041
|
+
* Useful for:
|
|
1042
|
+
* - Displaying item counts per category in UI (e.g., "5 reports" badge)
|
|
1043
|
+
* - Optimizing queries (skip API call if itemsCount === 0)
|
|
1044
|
+
* - Showing category statistics
|
|
1045
|
+
*
|
|
1046
|
+
* @example
|
|
1047
|
+
* - Category with 5 reports directly assigned: `itemsCount: 5`
|
|
1048
|
+
* - Category with no direct items: `itemsCount: 0` or `undefined`
|
|
1049
|
+
*
|
|
1050
|
+
* @remarks
|
|
1051
|
+
* - Does not include items from child categories
|
|
1052
|
+
* - Can be calculated dynamically or stored
|
|
1053
|
+
* - Optional - may be undefined if not needed
|
|
1054
|
+
*/
|
|
968
1055
|
itemsCount?: number;
|
|
969
|
-
|
|
970
|
-
|
|
1056
|
+
/**
|
|
1057
|
+
* Recursive count of all nested child categories (includes all descendants)
|
|
1058
|
+
*
|
|
1059
|
+
* Represents the total number of categories in the entire subtree starting from this category.
|
|
1060
|
+
* Includes children, grandchildren, and all nested descendants.
|
|
1061
|
+
*
|
|
1062
|
+
* Useful for:
|
|
1063
|
+
* - Analytics and summary displays
|
|
1064
|
+
* - Showing complete category tree scope
|
|
1065
|
+
* - Performance metrics
|
|
1066
|
+
*
|
|
1067
|
+
* @example
|
|
1068
|
+
* Root category with:
|
|
1069
|
+
* - 2 direct children
|
|
1070
|
+
* - Each child has 2 children (4 grandchildren)
|
|
1071
|
+
* Result: `totalChildrenCount: 6` (2 + 4)
|
|
1072
|
+
*
|
|
1073
|
+
* @remarks
|
|
1074
|
+
* - Optional - typically used for analytics
|
|
1075
|
+
* - Includes all nested levels (recursive)
|
|
1076
|
+
* - Can be expensive to calculate for large trees
|
|
1077
|
+
*/
|
|
1078
|
+
totalChildrenCount?: number;
|
|
1079
|
+
/**
|
|
1080
|
+
* Recursive count of all items in this category and all descendants
|
|
1081
|
+
*
|
|
1082
|
+
* Represents the total number of items (e.g., reports, activities, workflows) in the entire
|
|
1083
|
+
* category tree, including items from this category and all nested child categories.
|
|
1084
|
+
*
|
|
1085
|
+
* Useful for:
|
|
1086
|
+
* - Analytics and summary displays
|
|
1087
|
+
* - Showing complete scope of a category branch
|
|
1088
|
+
* - Dashboard statistics
|
|
1089
|
+
*
|
|
1090
|
+
* @example
|
|
1091
|
+
* Category with:
|
|
1092
|
+
* - 5 items directly assigned
|
|
1093
|
+
* - 1 child category with 3 items
|
|
1094
|
+
* Result: `totalItemsCount: 8` (5 + 3)
|
|
1095
|
+
*
|
|
1096
|
+
* @remarks
|
|
1097
|
+
* - Optional - typically used for analytics
|
|
1098
|
+
* - Includes items from all nested categories (recursive)
|
|
1099
|
+
* - Can be expensive to calculate for large trees
|
|
1100
|
+
*/
|
|
1101
|
+
totalItemsCount?: number;
|
|
971
1102
|
}
|
|
972
1103
|
interface AXPCategoryEntityWithItems<T> extends AXPCategoryEntity {
|
|
973
1104
|
items: T[];
|
|
974
1105
|
children?: AXPCategoryEntityWithItems<T>[];
|
|
975
1106
|
}
|
|
1107
|
+
/**
|
|
1108
|
+
* Denormalized category row on entities and DTOs (id + localized display title).
|
|
1109
|
+
* Use for `categories` arrays expanded from {@link AXPCategoryEntity} assignments.
|
|
1110
|
+
*/
|
|
1111
|
+
interface AXPCategoryListItem<TKey extends string = string> {
|
|
1112
|
+
id: TKey;
|
|
1113
|
+
title: AXPMultiLanguageString;
|
|
1114
|
+
}
|
|
976
1115
|
interface AXPCategorizedEntity {
|
|
977
1116
|
categoryIds: string[];
|
|
978
1117
|
}
|
|
979
1118
|
interface AXPCategorizedEntityDto {
|
|
980
1119
|
categoryIds: string[];
|
|
981
|
-
categories:
|
|
982
|
-
id: string;
|
|
983
|
-
title: string;
|
|
984
|
-
}[];
|
|
1120
|
+
categories: AXPCategoryListItem[];
|
|
985
1121
|
}
|
|
1122
|
+
type AXPEntityOp = 'initial' | 'create' | 'update' | 'delete' | 'getOne' | 'getAll' | 'query' | 'count' | 'queryAll' | 'getMany' | 'exists' | 'upsertOne' | 'aggregate';
|
|
986
1123
|
|
|
987
1124
|
type AXPWidgetTrigger = {
|
|
988
1125
|
event: string;
|
|
@@ -1002,8 +1139,25 @@ interface AXPFileListItem {
|
|
|
1002
1139
|
size?: number;
|
|
1003
1140
|
status: AXPFileStatus;
|
|
1004
1141
|
source?: AXPFileSource;
|
|
1142
|
+
meta?: AXPMetaData;
|
|
1143
|
+
/**
|
|
1144
|
+
* When true, the item cannot be renamed, removed, or reverted from the UI.
|
|
1145
|
+
* Independent of widget `options.readonly` (widget-level disables all edits); use this for per-row locks from the server.
|
|
1146
|
+
*/
|
|
1147
|
+
readOnly?: boolean;
|
|
1148
|
+
title?: string;
|
|
1149
|
+
description?: string;
|
|
1005
1150
|
}
|
|
1006
1151
|
|
|
1152
|
+
/**
|
|
1153
|
+
* Filter toolbar trigger entries (same shape as entity `schema.interface.triggers`).
|
|
1154
|
+
* Declared on `AXPFilterDefinition` and populated when building list filter definitions.
|
|
1155
|
+
*/
|
|
1156
|
+
interface AXPFilterTriggerDefinition {
|
|
1157
|
+
event: string;
|
|
1158
|
+
action: string;
|
|
1159
|
+
disabled?: boolean;
|
|
1160
|
+
}
|
|
1007
1161
|
interface AXPFilterClause extends AXDataSourceFilterOption {
|
|
1008
1162
|
id?: string;
|
|
1009
1163
|
order?: number;
|
|
@@ -1020,8 +1174,19 @@ interface AXPFilterDefinition extends AXPFilterClause {
|
|
|
1020
1174
|
filterType: {
|
|
1021
1175
|
advance: boolean;
|
|
1022
1176
|
inline: boolean;
|
|
1177
|
+
preload?: {
|
|
1178
|
+
enabled?: boolean;
|
|
1179
|
+
required?: boolean;
|
|
1180
|
+
};
|
|
1023
1181
|
};
|
|
1024
1182
|
hidden?: boolean;
|
|
1183
|
+
/**
|
|
1184
|
+
* When true, the filter is not selectable. When a string, it is evaluated as an expression (e.g. `{{ ... }}`)
|
|
1185
|
+
* using the current filters context.
|
|
1186
|
+
*/
|
|
1187
|
+
disabled?: boolean | string;
|
|
1188
|
+
/** Expression-driven triggers (events/actions); same semantics as entity `schema.interface.triggers`. */
|
|
1189
|
+
triggers?: AXPFilterTriggerDefinition[];
|
|
1025
1190
|
}
|
|
1026
1191
|
interface AXPFilterQuery extends Pick<AXPFilterDefinition, 'field' | 'value' | 'operator' | 'logic' | 'hidden'> {
|
|
1027
1192
|
filters?: AXPFilterQuery[];
|
|
@@ -1030,10 +1195,11 @@ interface AXPFilterQuery extends Pick<AXPFilterDefinition, 'field' | 'value' | '
|
|
|
1030
1195
|
|
|
1031
1196
|
type AXPActionMenuItem = {
|
|
1032
1197
|
name?: string;
|
|
1033
|
-
title:
|
|
1198
|
+
title: AXPMultiLanguageString;
|
|
1034
1199
|
icon?: string;
|
|
1035
1200
|
iconOnly?: boolean;
|
|
1036
1201
|
color?: string;
|
|
1202
|
+
look?: AXStyleLookType;
|
|
1037
1203
|
break?: boolean;
|
|
1038
1204
|
items?: AXPActionMenuItem[];
|
|
1039
1205
|
command?: AXPExecuteCommand;
|
|
@@ -1042,11 +1208,11 @@ type AXPActionMenuItem = {
|
|
|
1042
1208
|
policy?: string;
|
|
1043
1209
|
};
|
|
1044
1210
|
type AXPBackButton = {
|
|
1045
|
-
title:
|
|
1211
|
+
title: AXPMultiLanguageString;
|
|
1046
1212
|
};
|
|
1047
1213
|
type AXPBreadcrumbItem = {
|
|
1048
1214
|
name?: string;
|
|
1049
|
-
title:
|
|
1215
|
+
title: AXPMultiLanguageString;
|
|
1050
1216
|
icon?: string;
|
|
1051
1217
|
command?: AXPExecuteCommand;
|
|
1052
1218
|
};
|
|
@@ -1055,10 +1221,16 @@ type AXPBadge = {
|
|
|
1055
1221
|
description?: string;
|
|
1056
1222
|
color?: 'primary' | 'success' | 'warning' | 'danger';
|
|
1057
1223
|
};
|
|
1224
|
+
type AXPPageStatus = {
|
|
1225
|
+
definitionKey: string;
|
|
1226
|
+
value: string;
|
|
1227
|
+
dataPath?: string;
|
|
1228
|
+
readonly?: boolean;
|
|
1229
|
+
};
|
|
1058
1230
|
interface AXPCommandMessage {
|
|
1059
1231
|
type?: 'info' | 'success' | 'warning' | 'error';
|
|
1060
1232
|
code?: string;
|
|
1061
|
-
text:
|
|
1233
|
+
text: AXPMultiLanguageString;
|
|
1062
1234
|
details?: unknown;
|
|
1063
1235
|
}
|
|
1064
1236
|
type AXPExecuteCommand = {
|
|
@@ -1080,7 +1252,7 @@ interface AXPQueryFetchResult<T = any> {
|
|
|
1080
1252
|
};
|
|
1081
1253
|
message?: {
|
|
1082
1254
|
code?: string;
|
|
1083
|
-
text?:
|
|
1255
|
+
text?: AXPMultiLanguageString;
|
|
1084
1256
|
details?: any;
|
|
1085
1257
|
};
|
|
1086
1258
|
}
|
|
@@ -1093,7 +1265,7 @@ type AXPNavigateActionOptions = {
|
|
|
1093
1265
|
};
|
|
1094
1266
|
modal: {
|
|
1095
1267
|
component: Type<any>;
|
|
1096
|
-
title:
|
|
1268
|
+
title: AXPMultiLanguageString;
|
|
1097
1269
|
options?: any;
|
|
1098
1270
|
};
|
|
1099
1271
|
};
|
|
@@ -1145,25 +1317,6 @@ declare class AXPIconLogoConfig implements AXPLogoConfig {
|
|
|
1145
1317
|
constructor(icon: string, color?: string | undefined);
|
|
1146
1318
|
}
|
|
1147
1319
|
|
|
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
1320
|
type AXPValidationRule = {
|
|
1168
1321
|
rule: string;
|
|
1169
1322
|
message?: string;
|
|
@@ -1200,6 +1353,52 @@ interface AXPReqexValidationRule extends AXPValidationRule {
|
|
|
1200
1353
|
}
|
|
1201
1354
|
type AXPStringValidationRules = (AXPRequiredValidationRule | AXPMinLengthValidationRule | AXPMaxLengthValidationRule | AXPEqualValidationRule<string> | AXPReqexValidationRule)[];
|
|
1202
1355
|
|
|
1356
|
+
interface AXPPropertyGroup {
|
|
1357
|
+
name: string;
|
|
1358
|
+
title: AXPMultiLanguageString;
|
|
1359
|
+
icon?: string;
|
|
1360
|
+
description?: AXPMultiLanguageString;
|
|
1361
|
+
order?: number;
|
|
1362
|
+
}
|
|
1363
|
+
interface AXPPropertyInterface {
|
|
1364
|
+
type: string;
|
|
1365
|
+
options: AXPOptionsData;
|
|
1366
|
+
triggers?: AXPWidgetTriggers;
|
|
1367
|
+
}
|
|
1368
|
+
/**
|
|
1369
|
+
* Platform property bag (entity fields, workflow inputs, etc.).
|
|
1370
|
+
*
|
|
1371
|
+
* For property viewer rows, use `mapAXPPropertyToWidgetProperty` from `@acorex/platform/layout/widget-core`
|
|
1372
|
+
* (keeps `platform/core` free of a dependency on `layout/widget-core`).
|
|
1373
|
+
*/
|
|
1374
|
+
interface AXPProperty {
|
|
1375
|
+
name: string;
|
|
1376
|
+
title: AXPMultiLanguageString;
|
|
1377
|
+
description?: AXPMultiLanguageString;
|
|
1378
|
+
dataType: AXPDataType;
|
|
1379
|
+
validations?: AXPValidationRules;
|
|
1380
|
+
group?: AXPPropertyGroup | string;
|
|
1381
|
+
order?: number;
|
|
1382
|
+
interface: AXPPropertyInterface;
|
|
1383
|
+
}
|
|
1384
|
+
|
|
1385
|
+
type AXPPlatformScopeKey = 'P' | 'T' | 'U';
|
|
1386
|
+
declare enum AXPPlatformScope {
|
|
1387
|
+
Platform = "P",
|
|
1388
|
+
Tenant = "T",
|
|
1389
|
+
User = "U"
|
|
1390
|
+
}
|
|
1391
|
+
declare function resolvePlatformScopeKey(name: string): AXPPlatformScopeKey;
|
|
1392
|
+
declare function resolvePlatformScopeName(scope: AXPPlatformScopeKey): string;
|
|
1393
|
+
|
|
1394
|
+
interface AXPSortDefinition {
|
|
1395
|
+
name: string;
|
|
1396
|
+
title: string;
|
|
1397
|
+
dir?: 'asc' | 'desc';
|
|
1398
|
+
}
|
|
1399
|
+
interface AXPSortQuery extends Pick<AXPSortDefinition, 'name' | 'dir'> {
|
|
1400
|
+
}
|
|
1401
|
+
|
|
1203
1402
|
interface AXPViewQuery {
|
|
1204
1403
|
name: string;
|
|
1205
1404
|
fixed: boolean;
|
|
@@ -1319,6 +1518,18 @@ interface AXPMiddlewareErrorResponse {
|
|
|
1319
1518
|
interface AXPActivityLogChange {
|
|
1320
1519
|
type: AXPSystemActionType;
|
|
1321
1520
|
description: string;
|
|
1521
|
+
/** I18n key for field label. When set with actionKey, used for translated display. */
|
|
1522
|
+
fieldKey?: string;
|
|
1523
|
+
/** Params for fieldKey translation (e.g. for unknown-field with {{name}}). */
|
|
1524
|
+
fieldKeyParams?: Record<string, string>;
|
|
1525
|
+
/** I18n key for action (e.g. @activity-log:changes.replaced). When set with fieldKey, overrides description. */
|
|
1526
|
+
actionKey?: string;
|
|
1527
|
+
oldValue?: unknown;
|
|
1528
|
+
newValue?: unknown;
|
|
1529
|
+
/** Short human-readable summary for Change History (e.g. "Updated from 'X' to 'Y'"). Used when layout is present. */
|
|
1530
|
+
summary?: string;
|
|
1531
|
+
/** Custom layout (AXPWidgetNode) for Change History. When set, rendered via AXPLayoutRenderer instead of default fieldKey/actionKey text. */
|
|
1532
|
+
layout?: unknown;
|
|
1322
1533
|
}
|
|
1323
1534
|
interface AXPActivityLog {
|
|
1324
1535
|
id: string;
|
|
@@ -1355,6 +1566,104 @@ declare class AXPActivityLogService {
|
|
|
1355
1566
|
static ɵprov: i0.ɵɵInjectableDeclaration<AXPActivityLogService>;
|
|
1356
1567
|
}
|
|
1357
1568
|
|
|
1569
|
+
/**
|
|
1570
|
+
* Stable catalog scope registered by a module provider (integration contract).
|
|
1571
|
+
*/
|
|
1572
|
+
interface AXPCatalogScopeDefinition {
|
|
1573
|
+
/** Unique key, e.g. `human-capital-management.hr`. */
|
|
1574
|
+
name: string;
|
|
1575
|
+
title: string | AXPMultiLanguageString;
|
|
1576
|
+
description?: string | AXPMultiLanguageString;
|
|
1577
|
+
/**
|
|
1578
|
+
* Entity refs this scope may label, e.g. `AssessmentManagement.Questionnaire`.
|
|
1579
|
+
*/
|
|
1580
|
+
targets: string[];
|
|
1581
|
+
icon?: string;
|
|
1582
|
+
/**
|
|
1583
|
+
* Platform utility classes applied to the whole scope badge (surface, on-surface, border).
|
|
1584
|
+
* Example: `ax-primary-surface ax-text-on-primary-surface ax-border-border-primary-surface`.
|
|
1585
|
+
*/
|
|
1586
|
+
cssClass?: string;
|
|
1587
|
+
order?: number;
|
|
1588
|
+
}
|
|
1589
|
+
|
|
1590
|
+
interface AXPCatalogScopeDefinitionProvider {
|
|
1591
|
+
items(): Promise<AXPCatalogScopeDefinition[]>;
|
|
1592
|
+
}
|
|
1593
|
+
declare const AXP_CATALOG_SCOPE_DEFINITION_PROVIDER: InjectionToken<AXPCatalogScopeDefinitionProvider[]>;
|
|
1594
|
+
|
|
1595
|
+
/**
|
|
1596
|
+
* Collects {@link AXPCatalogScopeDefinition} entries from all registered providers.
|
|
1597
|
+
*/
|
|
1598
|
+
declare class AXPCatalogScopeDefinitionProviderService {
|
|
1599
|
+
private readonly providers;
|
|
1600
|
+
private readonly translation;
|
|
1601
|
+
items(): Promise<AXPCatalogScopeDefinition[]>;
|
|
1602
|
+
get(name: string): Promise<AXPCatalogScopeDefinition | undefined>;
|
|
1603
|
+
/**
|
|
1604
|
+
* Scopes applicable to the given entity ref (`Module.Entity`).
|
|
1605
|
+
*/
|
|
1606
|
+
byTarget(entityRef: string): Promise<AXPCatalogScopeDefinition[]>;
|
|
1607
|
+
/**
|
|
1608
|
+
* Resolves display title for a scope key (active locale).
|
|
1609
|
+
*/
|
|
1610
|
+
resolveTitle(definition: AXPCatalogScopeDefinition): string;
|
|
1611
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPCatalogScopeDefinitionProviderService, never>;
|
|
1612
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXPCatalogScopeDefinitionProviderService>;
|
|
1613
|
+
}
|
|
1614
|
+
|
|
1615
|
+
interface AXPDataSourceDataFieldDefinition {
|
|
1616
|
+
name: string;
|
|
1617
|
+
title: string;
|
|
1618
|
+
datatype: string;
|
|
1619
|
+
type: string;
|
|
1620
|
+
options?: AXPOptionsData;
|
|
1621
|
+
}
|
|
1622
|
+
type AXPLazyDataSource<T = unknown> = AXPMaybePromise<AXDataSource<T>>;
|
|
1623
|
+
type AXPDataSourceArray<T = unknown> = AXPMaybePromise<Array<T>>;
|
|
1624
|
+
type AXPDataSourceValue<T = unknown> = AXPMaybePromise<T>;
|
|
1625
|
+
type AXPDataSourceType<T = any> = AXPLazyDataSource<T> | AXPDataSourceArray<T> | AXPDataSourceValue<T>;
|
|
1626
|
+
type AXPDataSourceSample<T = any> = AXPDataSourceArray<T> | AXPDataSourceValue<T>;
|
|
1627
|
+
interface AXPDataSourceDefinition<T = any> {
|
|
1628
|
+
name: string;
|
|
1629
|
+
title: string;
|
|
1630
|
+
valueField?: {
|
|
1631
|
+
name: string;
|
|
1632
|
+
title: string;
|
|
1633
|
+
};
|
|
1634
|
+
textField?: {
|
|
1635
|
+
name: string;
|
|
1636
|
+
title: string;
|
|
1637
|
+
};
|
|
1638
|
+
columns: AXPDataSourceDataFieldDefinition[];
|
|
1639
|
+
filters: AXPFilterDefinition[];
|
|
1640
|
+
samples?: AXPDataSourceSample<T>;
|
|
1641
|
+
visible?: boolean;
|
|
1642
|
+
source: () => AXPDataSourceType<T>;
|
|
1643
|
+
}
|
|
1644
|
+
interface AXPDataSourceDefinitionProvider {
|
|
1645
|
+
items(): Promise<AXPDataSourceDefinition[]>;
|
|
1646
|
+
}
|
|
1647
|
+
declare const AXP_DATASOURCE_DEFINITION_PROVIDER: InjectionToken<AXPDataSourceDefinitionProvider[]>;
|
|
1648
|
+
declare class AXPDataSourceDefinitionProviderService implements AXPDataSourceDefinitionProvider {
|
|
1649
|
+
private providers;
|
|
1650
|
+
items(): Promise<AXPDataSourceDefinition[]>;
|
|
1651
|
+
get<T = any>(name: string): Promise<AXPDataSourceDefinition<T> | undefined>;
|
|
1652
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPDataSourceDefinitionProviderService, never>;
|
|
1653
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXPDataSourceDefinitionProviderService>;
|
|
1654
|
+
}
|
|
1655
|
+
|
|
1656
|
+
/** Data source name for select widgets listing registered catalog scopes. */
|
|
1657
|
+
declare const PLATFORM_CATALOG_SCOPES_DATASOURCE_NAME = "platform-catalog-scopes";
|
|
1658
|
+
/**
|
|
1659
|
+
* Registered catalog scopes for select / selection-list widgets via {@link PLATFORM_CATALOG_SCOPES_DATASOURCE_NAME}.
|
|
1660
|
+
*/
|
|
1661
|
+
declare class AXPCatalogScopeDefinitionsDataSourceDefinition implements AXPDataSourceDefinitionProvider {
|
|
1662
|
+
private readonly catalogScopeRegistry;
|
|
1663
|
+
items(): Promise<AXPDataSourceDefinition[]>;
|
|
1664
|
+
private readTargetFilter;
|
|
1665
|
+
}
|
|
1666
|
+
|
|
1358
1667
|
/**
|
|
1359
1668
|
* Represents a color palette with a unique identifier and collection of colors
|
|
1360
1669
|
*/
|
|
@@ -1472,7 +1781,182 @@ declare class AXPDefaultColorPalettesProvider extends AXPColorPaletteProvider {
|
|
|
1472
1781
|
static ɵprov: i0.ɵɵInjectableDeclaration<AXPDefaultColorPalettesProvider>;
|
|
1473
1782
|
}
|
|
1474
1783
|
|
|
1784
|
+
/**
|
|
1785
|
+
* Column width value can be a number (converted to pixels) or a string with any CSS unit
|
|
1786
|
+
* @example 150 (becomes '150px'), '300px', '50%', '2rem', '20ch'
|
|
1787
|
+
*/
|
|
1788
|
+
type ColumnWidthValue = string | number;
|
|
1789
|
+
/**
|
|
1790
|
+
* Matcher for column name - can be exact string match or RegExp pattern
|
|
1791
|
+
* @example 'title', /^user/, /.*name$/i
|
|
1792
|
+
*/
|
|
1793
|
+
type ColumnNameMatcher = string | RegExp;
|
|
1794
|
+
/**
|
|
1795
|
+
* Matcher for widget type - can be exact string match or RegExp pattern (case-insensitive)
|
|
1796
|
+
* @example 'text-box', /^date/, /.*editor$/i
|
|
1797
|
+
*/
|
|
1798
|
+
type WidgetTypeMatcher = string | RegExp;
|
|
1799
|
+
/**
|
|
1800
|
+
* Defines a single width matching rule
|
|
1801
|
+
*/
|
|
1802
|
+
interface AXPColumnWidthMatcher {
|
|
1803
|
+
/**
|
|
1804
|
+
* Match by column name (exact string or RegExp pattern)
|
|
1805
|
+
* Takes precedence over widgetType matching
|
|
1806
|
+
* @example 'title', /^user/, /.*name$/i
|
|
1807
|
+
*/
|
|
1808
|
+
name?: ColumnNameMatcher;
|
|
1809
|
+
/**
|
|
1810
|
+
* Match by widget type (exact string or RegExp pattern, case-insensitive)
|
|
1811
|
+
* Used as fallback when name doesn't match
|
|
1812
|
+
* @example 'text-box', /^date/, /.*editor$/i
|
|
1813
|
+
*/
|
|
1814
|
+
widgetType?: WidgetTypeMatcher;
|
|
1815
|
+
/**
|
|
1816
|
+
* Width value to apply if this matcher matches
|
|
1817
|
+
* Numbers are converted to pixels (e.g., 150 -> '150px')
|
|
1818
|
+
* Strings can include any CSS unit (e.g., '300px', '50%', '2rem')
|
|
1819
|
+
*/
|
|
1820
|
+
width: ColumnWidthValue;
|
|
1821
|
+
/**
|
|
1822
|
+
* Priority for this matcher within the provider (higher = more specific, applied first)
|
|
1823
|
+
* Default: 0
|
|
1824
|
+
*/
|
|
1825
|
+
priority?: number;
|
|
1826
|
+
}
|
|
1827
|
+
/**
|
|
1828
|
+
* Provider configuration for column width rules
|
|
1829
|
+
*/
|
|
1830
|
+
interface AXPColumnWidthProvider {
|
|
1831
|
+
/**
|
|
1832
|
+
* Array of matchers to evaluate
|
|
1833
|
+
* Evaluated in priority order (highest first), then by match type (name before widgetType)
|
|
1834
|
+
*/
|
|
1835
|
+
matchers: AXPColumnWidthMatcher[];
|
|
1836
|
+
/**
|
|
1837
|
+
* Priority for this provider relative to other providers (higher = applied first)
|
|
1838
|
+
* Default: 100
|
|
1839
|
+
*/
|
|
1840
|
+
priority?: number;
|
|
1841
|
+
}
|
|
1842
|
+
/**
|
|
1843
|
+
* Generic column interface for width resolution
|
|
1844
|
+
* Works with any column type that has these properties
|
|
1845
|
+
*/
|
|
1846
|
+
interface IColumnWithWidth {
|
|
1847
|
+
/**
|
|
1848
|
+
* Column name
|
|
1849
|
+
*/
|
|
1850
|
+
name: string;
|
|
1851
|
+
/**
|
|
1852
|
+
* Current width (if already set)
|
|
1853
|
+
*/
|
|
1854
|
+
width?: string;
|
|
1855
|
+
/**
|
|
1856
|
+
* Widget type information (optional)
|
|
1857
|
+
*/
|
|
1858
|
+
widget?: {
|
|
1859
|
+
type: string;
|
|
1860
|
+
};
|
|
1861
|
+
/**
|
|
1862
|
+
* Additional options that might contain width
|
|
1863
|
+
*/
|
|
1864
|
+
options?: {
|
|
1865
|
+
width?: string;
|
|
1866
|
+
};
|
|
1867
|
+
/**
|
|
1868
|
+
* For entity columns - showAs configuration
|
|
1869
|
+
*/
|
|
1870
|
+
showAs?: {
|
|
1871
|
+
type: string;
|
|
1872
|
+
};
|
|
1873
|
+
}
|
|
1874
|
+
|
|
1875
|
+
/**
|
|
1876
|
+
* Service for resolving column widths based on registered providers
|
|
1877
|
+
* Supports matching by column name (priority) and widget type (fallback)
|
|
1878
|
+
* Uses multi-provider pattern for extensibility
|
|
1879
|
+
*/
|
|
1880
|
+
declare class AXPColumnWidthService {
|
|
1881
|
+
private readonly providers;
|
|
1882
|
+
/**
|
|
1883
|
+
* Resolve width for a column based on registered providers
|
|
1884
|
+
* Only returns a width if column doesn't already have one set
|
|
1885
|
+
*
|
|
1886
|
+
* @param column Column to resolve width for
|
|
1887
|
+
* @returns Resolved width string (normalized) or undefined if no match or column already has width
|
|
1888
|
+
*/
|
|
1889
|
+
resolveWidth(column: IColumnWithWidth): string | undefined;
|
|
1890
|
+
/**
|
|
1891
|
+
* Apply resolved width to a column (mutates the column)
|
|
1892
|
+
* Only applies if column doesn't already have a width
|
|
1893
|
+
*
|
|
1894
|
+
* @param column Column to apply width to
|
|
1895
|
+
* @returns true if width was applied, false if column already had width or no match found
|
|
1896
|
+
*/
|
|
1897
|
+
applyWidth(column: IColumnWithWidth): boolean;
|
|
1898
|
+
/**
|
|
1899
|
+
* Collect all matchers from all providers, sorted by provider priority and matcher priority
|
|
1900
|
+
*/
|
|
1901
|
+
private collectMatchers;
|
|
1902
|
+
/**
|
|
1903
|
+
* Find first matching matcher by column name
|
|
1904
|
+
* Name matches take precedence over widget type matches
|
|
1905
|
+
*/
|
|
1906
|
+
private findNameMatch;
|
|
1907
|
+
/**
|
|
1908
|
+
* Find first matching matcher by widget type (case-insensitive)
|
|
1909
|
+
*/
|
|
1910
|
+
private findWidgetTypeMatch;
|
|
1911
|
+
/**
|
|
1912
|
+
* Normalize width value to string format
|
|
1913
|
+
* Numbers are converted to pixels (e.g., 150 -> '150px')
|
|
1914
|
+
* Strings are preserved as-is (supports any CSS unit)
|
|
1915
|
+
*/
|
|
1916
|
+
private normalizeWidth;
|
|
1917
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPColumnWidthService, never>;
|
|
1918
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXPColumnWidthService>;
|
|
1919
|
+
}
|
|
1920
|
+
|
|
1921
|
+
/**
|
|
1922
|
+
* Injection token for column width providers
|
|
1923
|
+
* Use this to register multiple column width providers with multi: true
|
|
1924
|
+
*
|
|
1925
|
+
* @example
|
|
1926
|
+
* ```typescript
|
|
1927
|
+
* providers: [
|
|
1928
|
+
* {
|
|
1929
|
+
* provide: AXP_COLUMN_WIDTH_PROVIDER,
|
|
1930
|
+
* useValue: {
|
|
1931
|
+
* matchers: [
|
|
1932
|
+
* { name: 'title', width: '300px', priority: 10 },
|
|
1933
|
+
* { widgetType: /text-box/i, width: '200px' }
|
|
1934
|
+
* ],
|
|
1935
|
+
* priority: 150
|
|
1936
|
+
* },
|
|
1937
|
+
* multi: true
|
|
1938
|
+
* }
|
|
1939
|
+
* ]
|
|
1940
|
+
* ```
|
|
1941
|
+
*/
|
|
1942
|
+
declare const AXP_COLUMN_WIDTH_PROVIDER: InjectionToken<AXPColumnWidthProvider[]>;
|
|
1943
|
+
|
|
1944
|
+
/**
|
|
1945
|
+
* Default column width configuration
|
|
1946
|
+
* Migrated from DEFAULT_COLUMN_WIDTHS in column-width.middleware.ts
|
|
1947
|
+
* Provides sensible defaults for common column names
|
|
1948
|
+
*/
|
|
1949
|
+
declare const defaultColumnWidthProvider: AXPColumnWidthProvider;
|
|
1950
|
+
|
|
1475
1951
|
type AXPContextState = 'initiated' | 'restored' | 'changed' | 'patch';
|
|
1952
|
+
type AXPContextUpdateOrigin = 'user' | 'system';
|
|
1953
|
+
interface AXPContextUpdateOptions {
|
|
1954
|
+
origin?: AXPContextUpdateOrigin;
|
|
1955
|
+
}
|
|
1956
|
+
interface AXPContextPatchOptions {
|
|
1957
|
+
skipDirtyTracking?: boolean;
|
|
1958
|
+
origin?: AXPContextUpdateOrigin;
|
|
1959
|
+
}
|
|
1476
1960
|
type AXPContextData = {
|
|
1477
1961
|
[key: string]: any;
|
|
1478
1962
|
};
|
|
@@ -1482,35 +1966,199 @@ declare class AXPContextChangeEvent {
|
|
|
1482
1966
|
path?: string;
|
|
1483
1967
|
state: AXPContextState;
|
|
1484
1968
|
data: any;
|
|
1969
|
+
origin?: AXPContextUpdateOrigin;
|
|
1970
|
+
/** Aggregated form dirty flag (user context paths + composite widget dirty). */
|
|
1971
|
+
isFormDirty?: boolean;
|
|
1485
1972
|
}
|
|
1486
1973
|
declare const AXPContextStore: i0.Type<{
|
|
1487
1974
|
data: i0.Signal<AXPContextData>;
|
|
1488
1975
|
state: i0.Signal<AXPContextState>;
|
|
1489
1976
|
initialSnapshot: i0.Signal<{}>;
|
|
1490
1977
|
previousSnapshot: i0.Signal<{}>;
|
|
1978
|
+
userDirtyPaths: i0.Signal<string[]>;
|
|
1491
1979
|
lastChange: _ngrx_signals.DeepSignal<AXPContextChangeEvent>;
|
|
1492
1980
|
isChanged: i0.Signal<boolean>;
|
|
1493
1981
|
isReset: i0.Signal<boolean>;
|
|
1494
1982
|
isInitiated: i0.Signal<boolean>;
|
|
1495
1983
|
isEmpty: i0.Signal<boolean>;
|
|
1496
1984
|
isDirty: i0.Signal<boolean>;
|
|
1985
|
+
isUserDirty: i0.Signal<boolean>;
|
|
1497
1986
|
snapshot: i0.Signal<AXPContextData>;
|
|
1498
1987
|
initial: i0.Signal<{}>;
|
|
1499
1988
|
previous: i0.Signal<{}>;
|
|
1500
1989
|
changeEvent: i0.Signal<AXPContextChangeEvent>;
|
|
1501
|
-
update: (path: string, value: any) => void;
|
|
1502
|
-
|
|
1990
|
+
update: (path: string, value: any, options?: AXPContextUpdateOptions) => void;
|
|
1991
|
+
applyObjectPaths: (obj: Record<string, unknown>, options?: AXPContextUpdateOptions, prefix?: string) => void;
|
|
1992
|
+
patch: (context: Record<string, any>, second?: boolean | AXPContextPatchOptions) => void;
|
|
1503
1993
|
reset: () => void;
|
|
1504
1994
|
set: (initialData: any) => void;
|
|
1505
1995
|
getValue: (path: string) => any;
|
|
1996
|
+
hasValue: (path: string) => boolean;
|
|
1997
|
+
commitBaseline: () => void;
|
|
1998
|
+
clearUserDirtyPaths: () => void;
|
|
1506
1999
|
} & _ngrx_signals.StateSource<{
|
|
1507
2000
|
data: AXPContextData;
|
|
1508
2001
|
state: AXPContextState;
|
|
1509
2002
|
initialSnapshot: {};
|
|
1510
2003
|
previousSnapshot: {};
|
|
2004
|
+
userDirtyPaths: string[];
|
|
1511
2005
|
lastChange: AXPContextChangeEvent;
|
|
1512
2006
|
}>>;
|
|
1513
2007
|
|
|
2008
|
+
interface AXPComponentSlotConfig {
|
|
2009
|
+
name: string;
|
|
2010
|
+
priority?: number;
|
|
2011
|
+
component?: Type<any>;
|
|
2012
|
+
condition?: ((context?: AXPContextData) => boolean | Promise<boolean>) | string;
|
|
2013
|
+
features?: string[];
|
|
2014
|
+
loadComponent?: () => Type<any> | Promise<Type<any>>;
|
|
2015
|
+
options?: AXPOptionsData | (() => AXPOptionsData) | (() => Promise<AXPOptionsData>);
|
|
2016
|
+
}
|
|
2017
|
+
interface AXPComponentSlotModuleConfigs {
|
|
2018
|
+
[slotName: string]: AXPComponentSlotConfig[];
|
|
2019
|
+
}
|
|
2020
|
+
declare abstract class AXPComponentSlot {
|
|
2021
|
+
host: any;
|
|
2022
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPComponentSlot, never>;
|
|
2023
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<AXPComponentSlot, never, never, {}, {}, never, never, true, never>;
|
|
2024
|
+
}
|
|
2025
|
+
|
|
2026
|
+
declare class AXPComponentSlotDirective implements OnInit {
|
|
2027
|
+
name: i0.InputSignal<string>;
|
|
2028
|
+
host: i0.InputSignal<any>;
|
|
2029
|
+
context: i0.InputSignal<any>;
|
|
2030
|
+
private elementRef;
|
|
2031
|
+
private registryService;
|
|
2032
|
+
private injector;
|
|
2033
|
+
private evaluator;
|
|
2034
|
+
viewContainerRef: ViewContainerRef;
|
|
2035
|
+
contextStore: {
|
|
2036
|
+
data: i0.Signal<AXPContextData>;
|
|
2037
|
+
state: i0.Signal<_acorex_platform_core.AXPContextState>;
|
|
2038
|
+
initialSnapshot: i0.Signal<{}>;
|
|
2039
|
+
previousSnapshot: i0.Signal<{}>;
|
|
2040
|
+
userDirtyPaths: i0.Signal<string[]>;
|
|
2041
|
+
lastChange: _ngrx_signals.DeepSignal<_acorex_platform_core.AXPContextChangeEvent>;
|
|
2042
|
+
isChanged: i0.Signal<boolean>;
|
|
2043
|
+
isReset: i0.Signal<boolean>;
|
|
2044
|
+
isInitiated: i0.Signal<boolean>;
|
|
2045
|
+
isEmpty: i0.Signal<boolean>;
|
|
2046
|
+
isDirty: i0.Signal<boolean>;
|
|
2047
|
+
isUserDirty: i0.Signal<boolean>;
|
|
2048
|
+
snapshot: i0.Signal<AXPContextData>;
|
|
2049
|
+
initial: i0.Signal<{}>;
|
|
2050
|
+
previous: i0.Signal<{}>;
|
|
2051
|
+
changeEvent: i0.Signal<_acorex_platform_core.AXPContextChangeEvent>;
|
|
2052
|
+
update: (path: string, value: any, options?: _acorex_platform_core.AXPContextUpdateOptions) => void;
|
|
2053
|
+
applyObjectPaths: (obj: Record<string, unknown>, options?: _acorex_platform_core.AXPContextUpdateOptions, prefix?: string) => void;
|
|
2054
|
+
patch: (context: Record<string, any>, second?: boolean | _acorex_platform_core.AXPContextPatchOptions) => void;
|
|
2055
|
+
reset: () => void;
|
|
2056
|
+
set: (initialData: any) => void;
|
|
2057
|
+
getValue: (path: string) => any;
|
|
2058
|
+
hasValue: (path: string) => boolean;
|
|
2059
|
+
commitBaseline: () => void;
|
|
2060
|
+
clearUserDirtyPaths: () => void;
|
|
2061
|
+
} & _ngrx_signals.StateSource<{
|
|
2062
|
+
data: AXPContextData;
|
|
2063
|
+
state: _acorex_platform_core.AXPContextState;
|
|
2064
|
+
initialSnapshot: {};
|
|
2065
|
+
previousSnapshot: {};
|
|
2066
|
+
userDirtyPaths: string[];
|
|
2067
|
+
lastChange: _acorex_platform_core.AXPContextChangeEvent;
|
|
2068
|
+
}>;
|
|
2069
|
+
isEmpty: i0.Signal<boolean>;
|
|
2070
|
+
private _viewCount;
|
|
2071
|
+
private componentRefs;
|
|
2072
|
+
private placeholderRefs;
|
|
2073
|
+
constructor();
|
|
2074
|
+
ngOnInit(): Promise<void>;
|
|
2075
|
+
loadComponents(): Promise<void>;
|
|
2076
|
+
private evaluateCondition;
|
|
2077
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPComponentSlotDirective, never>;
|
|
2078
|
+
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>;
|
|
2079
|
+
}
|
|
2080
|
+
|
|
2081
|
+
declare class AXPComponentSlotRegistryService {
|
|
2082
|
+
private registry;
|
|
2083
|
+
register(slotName: string, config: AXPComponentSlotConfig): void;
|
|
2084
|
+
get(slotName: string): AXPComponentSlotConfig[];
|
|
2085
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPComponentSlotRegistryService, never>;
|
|
2086
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXPComponentSlotRegistryService>;
|
|
2087
|
+
}
|
|
2088
|
+
|
|
2089
|
+
declare class AXPComponentSlotModule {
|
|
2090
|
+
static forRoot(configs?: AXPComponentSlotModuleConfigs): ModuleWithProviders<AXPComponentSlotModule>;
|
|
2091
|
+
static forChild(configs?: AXPComponentSlotModuleConfigs): ModuleWithProviders<AXPComponentSlotModule>;
|
|
2092
|
+
/**
|
|
2093
|
+
* @ignore
|
|
2094
|
+
*/
|
|
2095
|
+
constructor(instances: any[]);
|
|
2096
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPComponentSlotModule, [{ optional: true; }]>;
|
|
2097
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<AXPComponentSlotModule, [typeof AXPComponentSlotDirective], never, [typeof AXPComponentSlotDirective]>;
|
|
2098
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<AXPComponentSlotModule>;
|
|
2099
|
+
}
|
|
2100
|
+
|
|
2101
|
+
/**
|
|
2102
|
+
* Compact hints for assembling platform context into LLM system prompts.
|
|
2103
|
+
* Mirrors fields used by {@link AXPAiPlatformRuntimeContext} and the mock engine runtime prompt
|
|
2104
|
+
* formatter — keep labels short and values bounded.
|
|
2105
|
+
*/
|
|
2106
|
+
interface AXPContextDefinitionAiHints {
|
|
2107
|
+
/**
|
|
2108
|
+
* Short English label for bullet lists (e.g. `UI locale`, `Current instant (UTC, ISO 8601)`).
|
|
2109
|
+
*/
|
|
2110
|
+
promptLabel?: string;
|
|
2111
|
+
/**
|
|
2112
|
+
* One-line guidance for the model (when to use this value, what not to ask the user).
|
|
2113
|
+
*/
|
|
2114
|
+
usageHint?: string;
|
|
2115
|
+
/**
|
|
2116
|
+
* When `false`, this definition is omitted from AI system-prompt assembly. Default `true`.
|
|
2117
|
+
*/
|
|
2118
|
+
includeInSystemPrompt?: boolean;
|
|
2119
|
+
/**
|
|
2120
|
+
* How to stringify the value compactly in prompts.
|
|
2121
|
+
*/
|
|
2122
|
+
valueKind?: 'string' | 'number' | 'boolean' | 'instant' | 'locale' | 'dateTime' | 'object';
|
|
2123
|
+
/**
|
|
2124
|
+
* When `true`, the value must not be sent to the model (PII, secrets, tokens).
|
|
2125
|
+
*/
|
|
2126
|
+
sensitive?: boolean;
|
|
2127
|
+
/**
|
|
2128
|
+
* Sort order when rendering the AI context block (lower first).
|
|
2129
|
+
*/
|
|
2130
|
+
order?: number;
|
|
2131
|
+
}
|
|
2132
|
+
/**
|
|
2133
|
+
* Describes a named platform context key (e.g. `currentDate`, `language`).
|
|
2134
|
+
*/
|
|
2135
|
+
interface AXPContextDefinition {
|
|
2136
|
+
/** Stable identifier used as the context key and in expressions. */
|
|
2137
|
+
name: string;
|
|
2138
|
+
/** Human-readable title for designers and tooling. */
|
|
2139
|
+
title: string;
|
|
2140
|
+
/** What this context represents and when consumers should use it. */
|
|
2141
|
+
description: string;
|
|
2142
|
+
/** Optional metadata for AI system-prompt assembly. */
|
|
2143
|
+
ai?: AXPContextDefinitionAiHints;
|
|
2144
|
+
}
|
|
2145
|
+
|
|
2146
|
+
interface AXPContextDefinitionProvider {
|
|
2147
|
+
items(): Promise<AXPContextDefinition[]>;
|
|
2148
|
+
}
|
|
2149
|
+
declare const AXP_CONTEXT_DEFINITION_PROVIDER: InjectionToken<AXPContextDefinitionProvider[]>;
|
|
2150
|
+
|
|
2151
|
+
/**
|
|
2152
|
+
* Collects {@link AXPContextDefinition} entries from all registered {@link AXPContextDefinitionProvider} instances.
|
|
2153
|
+
*/
|
|
2154
|
+
declare class AXPContextDefinitionProviderService implements AXPContextDefinitionProvider {
|
|
2155
|
+
private readonly providers;
|
|
2156
|
+
items(): Promise<AXPContextDefinition[]>;
|
|
2157
|
+
get(name: string): Promise<AXPContextDefinition | undefined>;
|
|
2158
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPContextDefinitionProviderService, never>;
|
|
2159
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXPContextDefinitionProviderService>;
|
|
2160
|
+
}
|
|
2161
|
+
|
|
1514
2162
|
declare class AXPDataGenerator {
|
|
1515
2163
|
static uuid(): string;
|
|
1516
2164
|
static number(max: number): number;
|
|
@@ -1547,40 +2195,22 @@ type AXPValueTransformerFunctions = {
|
|
|
1547
2195
|
};
|
|
1548
2196
|
declare function objectKeyValueTransforms(keyName: string): AXPValueTransformerFunctions;
|
|
1549
2197
|
|
|
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[]>;
|
|
2198
|
+
declare class AXPContentCheckerDirective {
|
|
2199
|
+
viewContainerRef: ViewContainerRef;
|
|
2200
|
+
elementRef: ElementRef<HTMLDivElement>;
|
|
2201
|
+
isEmpty: i0.Signal<boolean>;
|
|
2202
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPContentCheckerDirective, never>;
|
|
2203
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<AXPContentCheckerDirective, "[axp-content-checker]", ["checker"], {}, {}, never, never, true, never>;
|
|
1576
2204
|
}
|
|
1577
|
-
|
|
1578
|
-
declare class
|
|
1579
|
-
|
|
1580
|
-
|
|
1581
|
-
|
|
1582
|
-
|
|
1583
|
-
|
|
2205
|
+
|
|
2206
|
+
declare class AXPDblClickDirective {
|
|
2207
|
+
onDblClick: EventEmitter<Event>;
|
|
2208
|
+
private lastTap;
|
|
2209
|
+
private readonly doubleTapThreshold;
|
|
2210
|
+
handleOnDblClick(event: Event): void;
|
|
2211
|
+
onTouchEnd(event: TouchEvent): void;
|
|
2212
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPDblClickDirective, never>;
|
|
2213
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<AXPDblClickDirective, "[onDblClick]", never, {}, { "onDblClick": "onDblClick"; }, never, never, true, never>;
|
|
1584
2214
|
}
|
|
1585
2215
|
|
|
1586
2216
|
declare class AXPElementDataDirective implements OnInit {
|
|
@@ -1602,16 +2232,6 @@ declare class AXPElementDataDirective implements OnInit {
|
|
|
1602
2232
|
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
2233
|
}
|
|
1604
2234
|
|
|
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
2235
|
declare class AXPGridLayoutDirective implements OnChanges {
|
|
1616
2236
|
private el;
|
|
1617
2237
|
private renderer;
|
|
@@ -1625,77 +2245,6 @@ declare class AXPGridLayoutDirective implements OnChanges {
|
|
|
1625
2245
|
static ɵdir: i0.ɵɵDirectiveDeclaration<AXPGridLayoutDirective, "[axp-grid-layout]", never, { "options": { "alias": "axp-grid-layout"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1626
2246
|
}
|
|
1627
2247
|
|
|
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
2248
|
type AXPDistributedEventListenerProviderToken<T> = AXPDistributedEventListenerProvider<T> | Promise<AXPDistributedEventListenerProvider<T>>;
|
|
1700
2249
|
declare const AXP_DISTRIBUTED_EVENT_LISTENER_PROVIDER: InjectionToken<AXPDistributedEventListenerProviderToken<any>[]>;
|
|
1701
2250
|
interface AXPDistributedEventListenerProvider<TInput = any, TOutput = void> {
|
|
@@ -1822,7 +2371,7 @@ declare class AXPExpressionEvaluatorScopeProviderContext {
|
|
|
1822
2371
|
type AXPExpressionEvaluatorScopeProviders = AXPExpressionEvaluatorScopeProvider[] | (() => AXPExpressionEvaluatorScopeProvider[]);
|
|
1823
2372
|
declare const AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER: InjectionToken<AXPExpressionEvaluatorScopeProviders>;
|
|
1824
2373
|
declare class AXPExpressionEvaluatorScopeProviderService {
|
|
1825
|
-
private
|
|
2374
|
+
private readonly injector;
|
|
1826
2375
|
private cache;
|
|
1827
2376
|
private load;
|
|
1828
2377
|
getScopesAsync(): Promise<AXPExpressionEvaluatorScope>;
|
|
@@ -1965,6 +2514,18 @@ interface AXPFeatureDefinition extends AXPModuleFeatureDefinition {
|
|
|
1965
2514
|
key: string;
|
|
1966
2515
|
}
|
|
1967
2516
|
|
|
2517
|
+
/**
|
|
2518
|
+
* Registered module manifests for select widgets via dataSource name {@link MODULE_MANIFESTS_DATASOURCE_NAME}.
|
|
2519
|
+
*/
|
|
2520
|
+
declare const MODULE_MANIFESTS_DATASOURCE_NAME = "platform-module-manifests";
|
|
2521
|
+
/**
|
|
2522
|
+
* Data source definition for module names/titles from {@link AXPModuleManifestRegistry}.
|
|
2523
|
+
*/
|
|
2524
|
+
declare class AXPModuleManifestsDataSourceDefinition implements AXPDataSourceDefinitionProvider {
|
|
2525
|
+
private readonly manifestRegistry;
|
|
2526
|
+
items(): Promise<AXPDataSourceDefinition[]>;
|
|
2527
|
+
}
|
|
2528
|
+
|
|
1968
2529
|
/**
|
|
1969
2530
|
* Registry service for module manifests.
|
|
1970
2531
|
* Collects and manages all registered module manifests.
|
|
@@ -2047,12 +2608,13 @@ declare class AXPModuleManifestRegistry {
|
|
|
2047
2608
|
|
|
2048
2609
|
interface AXPStartUpTask {
|
|
2049
2610
|
name: string;
|
|
2050
|
-
statusText:
|
|
2611
|
+
statusText: AXPMultiLanguageString;
|
|
2051
2612
|
priority: number;
|
|
2052
2613
|
run: () => Promise<void>;
|
|
2053
2614
|
}
|
|
2054
2615
|
|
|
2055
2616
|
declare class AXPAppStartUpService {
|
|
2617
|
+
private readonly translationService;
|
|
2056
2618
|
private tasks;
|
|
2057
2619
|
registerTask(task: AXPStartUpTask): void;
|
|
2058
2620
|
runAllTasks(): Promise<void>;
|
|
@@ -2132,6 +2694,21 @@ declare const AXP_SESSION_SERVICE: InjectionToken<AXPISessionService>;
|
|
|
2132
2694
|
*/
|
|
2133
2695
|
declare const AXP_MODULE_MANIFEST_PROVIDER: InjectionToken<AXPModuleManifest[]>;
|
|
2134
2696
|
|
|
2697
|
+
/**
|
|
2698
|
+
* Locale-aware comparison of {@link AXPMultiLanguageString} values (plain string, `@scope:key`, or locale map).
|
|
2699
|
+
* Resolves each side with {@link resolveMultiLanguageString} for `locale`, then compares with `String#localeCompare`.
|
|
2700
|
+
*/
|
|
2701
|
+
declare function compareMultiLanguageStrings(a: AXPMultiLanguageString | null | undefined, b: AXPMultiLanguageString | null | undefined, locale: string, collatorOptions?: Intl.CollatorOptions): number;
|
|
2702
|
+
/**
|
|
2703
|
+
* Stable sort copy: orders items by resolved string for `getValue(item)` using the active `locale`.
|
|
2704
|
+
*/
|
|
2705
|
+
declare function sortByMultiLanguageString<T>(items: readonly T[], getValue: (item: T) => AXPMultiLanguageString | null | undefined, locale: string, collatorOptions?: Intl.CollatorOptions): T[];
|
|
2706
|
+
/**
|
|
2707
|
+
* True when the resolved value contains `query` (case-insensitive) for `locale`.
|
|
2708
|
+
* Useful for search/filter flows over {@link AXPMultiLanguageString}.
|
|
2709
|
+
*/
|
|
2710
|
+
declare function searchInMultiLanguageString(value: AXPMultiLanguageString | null | undefined, query: string, locale: string): boolean;
|
|
2711
|
+
|
|
2135
2712
|
/**
|
|
2136
2713
|
* Represents a tag with text, color, and metadata
|
|
2137
2714
|
*/
|
|
@@ -2332,6 +2909,16 @@ declare class AXPDeviceService {
|
|
|
2332
2909
|
static ɵprov: i0.ɵɵInjectableDeclaration<AXPDeviceService>;
|
|
2333
2910
|
}
|
|
2334
2911
|
|
|
2912
|
+
/**
|
|
2913
|
+
* Returns whether `current` differs from the saved/clean `baseline` snapshot.
|
|
2914
|
+
* Used by entity details pages, layout-builder dialogs, and {@link AXPContextStore}.
|
|
2915
|
+
*/
|
|
2916
|
+
declare function isFormContextDirty(current: Record<string, unknown>, baseline: Record<string, unknown>): boolean;
|
|
2917
|
+
/**
|
|
2918
|
+
* Clones a context object for use as a dirty-tracking baseline.
|
|
2919
|
+
*/
|
|
2920
|
+
declare function captureFormContextBaseline(context: Record<string, unknown>): Record<string, unknown>;
|
|
2921
|
+
|
|
2335
2922
|
/**
|
|
2336
2923
|
* Service for applying and resetting text highlighting within specified HTML elements.
|
|
2337
2924
|
*/
|
|
@@ -2417,26 +3004,54 @@ declare function createProviderWithInjectionContext<T>(loader: () => Promise<new
|
|
|
2417
3004
|
*
|
|
2418
3005
|
* @param token - The injection token to provide
|
|
2419
3006
|
* @param loader - Function that returns a promise resolving to the provider class
|
|
2420
|
-
* @param multi - Whether the provider is multi-provider (
|
|
3007
|
+
* @param multi - Optional. Whether the provider is a multi-provider (array of values). Defaults to `true`. Pass `false` for a single provider.
|
|
2421
3008
|
* @returns Provider configuration object
|
|
2422
3009
|
*
|
|
2423
3010
|
* @example
|
|
2424
3011
|
* ```typescript
|
|
2425
|
-
*
|
|
2426
|
-
*
|
|
2427
|
-
*
|
|
2428
|
-
*
|
|
2429
|
-
*
|
|
2430
|
-
*
|
|
3012
|
+
* // Multi-provider (default)
|
|
3013
|
+
* provideLazyProvider(
|
|
3014
|
+
* AXP_DATASOURCE_DEFINITION_PROVIDER,
|
|
3015
|
+
* () => import('./datasource.provider').then(m => m.AXMDataSourceProvider)
|
|
3016
|
+
* )
|
|
3017
|
+
*
|
|
3018
|
+
* // Single provider
|
|
3019
|
+
* provideLazyProvider(
|
|
3020
|
+
* SOME_TOKEN,
|
|
3021
|
+
* () => import('./my.provider').then(m => m.MyProvider),
|
|
3022
|
+
* false
|
|
3023
|
+
* )
|
|
2431
3024
|
* ```
|
|
2432
3025
|
*/
|
|
2433
3026
|
declare function provideLazyProvider<TProvider>(token: InjectionToken<any>, loader: () => Promise<new () => TProvider>, multi?: boolean): Provider;
|
|
2434
3027
|
|
|
3028
|
+
/**
|
|
3029
|
+
* If `raw` is a plain non-array object with a `value` property, returns `value`; otherwise returns `raw`.
|
|
3030
|
+
*/
|
|
3031
|
+
declare function unwrapValueProperty(raw: unknown): unknown;
|
|
3032
|
+
/**
|
|
3033
|
+
* Coerces to a trimmed string. Plain objects may carry `{ value }` from setting widgets or `{ id }` from select payloads using `valueField: 'id'`.
|
|
3034
|
+
*/
|
|
3035
|
+
declare function coerceUnknownToTrimmedString(raw: unknown): string;
|
|
3036
|
+
/**
|
|
3037
|
+
* Coerces to boolean: direct booleans pass through; wrapped `{ value: true | 'true' }` is respected; otherwise false.
|
|
3038
|
+
*/
|
|
3039
|
+
declare function coerceUnknownToBoolean(raw: unknown): boolean;
|
|
3040
|
+
/** Parses a finite number after optional `{ value }` unwrap; non-finite or empty string yields NaN. */
|
|
3041
|
+
declare function coerceUnknownToFiniteNumber(raw: unknown): number;
|
|
3042
|
+
/** Parses a Date after optional `{ value }` unwrap; invalid input yields Invalid Date. */
|
|
3043
|
+
declare function coerceUnknownToDate(raw: unknown): Date;
|
|
3044
|
+
|
|
2435
3045
|
declare function extractTextFromHtml(value: string): string;
|
|
3046
|
+
/**
|
|
3047
|
+
* True when the string likely contains HTML markup (e.g. `<p>`, `<ul>`), as opposed to plain text.
|
|
3048
|
+
* Used to choose innerHTML vs text interpolation for multilingual fields.
|
|
3049
|
+
*/
|
|
3050
|
+
declare function containsHtmlMarkup(value: string | null | undefined): boolean;
|
|
2436
3051
|
/**
|
|
2437
3052
|
* Generate kebab-case group name from title
|
|
2438
3053
|
*/
|
|
2439
3054
|
declare function generateKebabCase(title: string): string;
|
|
2440
3055
|
|
|
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 };
|
|
3056
|
+
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, AXPModuleManifestModule, AXPModuleManifestRegistry, AXPModuleManifestsDataSourceDefinition, 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, MODULE_MANIFESTS_DATASOURCE_NAME, PLATFORM_CATALOG_SCOPES_DATASOURCE_NAME, applyFilterArray, applyPagination, applyQueryArray, applySortArray, applySystemActionDefault, captureFormContextBaseline, cleanDeep, coerceUnknownToBoolean, coerceUnknownToDate, coerceUnknownToFiniteNumber, coerceUnknownToTrimmedString, compareMultiLanguageStrings, containsHtmlMarkup, createProviderWithInjectionContext, defaultColumnWidthProvider, extractNestedFieldsWildcard, extractTextFromHtml, extractValue, generateKebabCase, getActionButton, getChangedPaths, getDetailedChanges, getEnumValues, getNestedKeys, getSmart, getSystemActions, isFormContextDirty, normalizeDefinitionCategories, objectKeyValueTransforms, provideLazyProvider, resolveActionLook, resolvePlatformScopeKey, resolvePlatformScopeName, searchInMultiLanguageString, setSmart, sortByMultiLanguageString, unwrapValueProperty };
|
|
3057
|
+
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, 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, AXPSortDefinition, AXPSortQuery, AXPStartUpTask, AXPStringValidationRules, AXPSystemAction, AXPTag, AXPTagFilterOptions, AXPUserReference, AXPValidationRule, AXPValidationRules, AXPValueTransformerFunction, AXPValueTransformerFunctions, AXPValueUnit, AXPValueUnits, AXPViewBlockDefinition, AXPViewDefinition, AXPViewFieldDefinition, AXPViewQuery, AXPWidgetTrigger, AXPWidgetTriggers, ColumnNameMatcher, ColumnWidthValue, IColumnWithWidth, WidgetTypeMatcher };
|