@acorex/platform 21.0.0-next.71 → 21.0.0-next.73
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/contracts/README.md +3 -0
- package/fesm2022/acorex-platform-auth.mjs +82 -60
- package/fesm2022/acorex-platform-auth.mjs.map +1 -1
- package/fesm2022/{acorex-platform-common-common-settings.provider-Bi1RYif5.mjs → acorex-platform-common-common-settings.provider-Ytey9uhY.mjs} +15 -1
- package/fesm2022/acorex-platform-common-common-settings.provider-Ytey9uhY.mjs.map +1 -0
- package/fesm2022/acorex-platform-common.mjs +3796 -1677
- package/fesm2022/acorex-platform-common.mjs.map +1 -1
- package/fesm2022/acorex-platform-contracts.mjs +10 -0
- package/fesm2022/acorex-platform-contracts.mjs.map +1 -0
- package/fesm2022/acorex-platform-core.mjs +1126 -114
- package/fesm2022/acorex-platform-core.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-builder.mjs +56 -170
- package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-components.mjs +254 -53
- package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-designer.mjs +199 -126
- package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
- package/fesm2022/{acorex-platform-layout-entity-attachments-page.component-D8iQnT-R.mjs → acorex-platform-layout-entity-attachments-page.component-B0EkdqvH.mjs} +6 -1
- package/fesm2022/acorex-platform-layout-entity-attachments-page.component-B0EkdqvH.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-entity.mjs +403 -460
- package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-views.mjs +675 -301
- package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-widget-core.mjs +126 -75
- package/fesm2022/acorex-platform-layout-widget-core.mjs.map +1 -1
- package/fesm2022/{acorex-platform-layout-widgets-tabular-data-edit-popup.component-BcpRkpJp.mjs → acorex-platform-layout-widgets-tabular-data-edit-popup.component-DjpZU6gz.mjs} +2 -2
- package/fesm2022/{acorex-platform-layout-widgets-tabular-data-edit-popup.component-BcpRkpJp.mjs.map → acorex-platform-layout-widgets-tabular-data-edit-popup.component-DjpZU6gz.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-layout-widgets-tabular-data-view-popup.component-DQtK4lxl.mjs → acorex-platform-layout-widgets-tabular-data-view-popup.component-gX-3Kx9I.mjs} +2 -2
- package/fesm2022/{acorex-platform-layout-widgets-tabular-data-view-popup.component-DQtK4lxl.mjs.map → acorex-platform-layout-widgets-tabular-data-view-popup.component-gX-3Kx9I.mjs.map} +1 -1
- package/fesm2022/acorex-platform-layout-widgets.mjs +450 -750
- package/fesm2022/acorex-platform-layout-widgets.mjs.map +1 -1
- 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.mjs +79 -35
- package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
- package/fesm2022/acorex-platform-themes-shared-settings.provider-BjuzSe0T.mjs.map +1 -1
- package/fesm2022/acorex-platform-themes-shared.mjs +3 -0
- package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
- package/fesm2022/acorex-platform-workflow.mjs +57 -54
- package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
- package/package.json +5 -1
- package/types/acorex-platform-auth.d.ts +31 -22
- package/types/acorex-platform-common.d.ts +892 -259
- package/types/acorex-platform-contracts.d.ts +39 -0
- package/types/acorex-platform-core.d.ts +291 -47
- package/types/acorex-platform-layout-builder.d.ts +10 -22
- package/types/acorex-platform-layout-components.d.ts +86 -14
- package/types/acorex-platform-layout-entity.d.ts +218 -212
- package/types/acorex-platform-layout-views.d.ts +125 -67
- package/types/acorex-platform-layout-widget-core.d.ts +56 -62
- package/types/acorex-platform-layout-widgets.d.ts +78 -65
- package/types/acorex-platform-themes-default.d.ts +14 -4
- package/fesm2022/acorex-platform-common-common-settings.provider-Bi1RYif5.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-entity-attachments-page.component-D8iQnT-R.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-error-401.component-C7EYJzSr.mjs +0 -31
- package/fesm2022/acorex-platform-themes-default-error-401.component-C7EYJzSr.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-error-404.component-7MVLMwIa.mjs +0 -25
- package/fesm2022/acorex-platform-themes-default-error-404.component-7MVLMwIa.mjs.map +0 -1
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Address mode type - determines the display mode of the address widget
|
|
3
|
+
* - simple: single text input for full address (one line)
|
|
4
|
+
* - popup: readonly summary + button to edit in popup dialog
|
|
5
|
+
* - expandable: expandable panel — collapsed shows full address, expanded shows inline form
|
|
6
|
+
*/
|
|
7
|
+
type AXPAddressMode = 'simple' | 'popup' | 'expandable';
|
|
8
|
+
/**
|
|
9
|
+
* Address label option
|
|
10
|
+
*/
|
|
11
|
+
interface AXPAddressLabel {
|
|
12
|
+
id: string;
|
|
13
|
+
name: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Address data structure
|
|
17
|
+
*/
|
|
18
|
+
interface AXPAddressData {
|
|
19
|
+
street1: string;
|
|
20
|
+
street2?: string;
|
|
21
|
+
postalCode?: string;
|
|
22
|
+
coordinates?: string;
|
|
23
|
+
full: string;
|
|
24
|
+
label?: string;
|
|
25
|
+
country?: {
|
|
26
|
+
id?: string;
|
|
27
|
+
title?: string;
|
|
28
|
+
};
|
|
29
|
+
state?: {
|
|
30
|
+
id?: string;
|
|
31
|
+
title?: string;
|
|
32
|
+
};
|
|
33
|
+
city?: {
|
|
34
|
+
id?: string;
|
|
35
|
+
title?: string;
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export type { AXPAddressData, AXPAddressLabel, AXPAddressMode };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Type, InjectionToken, OnInit, ViewContainerRef, ModuleWithProviders, ElementRef, EventEmitter, OnChanges, Renderer2, SimpleChanges, OnDestroy, Injector, PipeTransform, Provider } from '@angular/core';
|
|
2
|
+
import { Type, InjectionToken, OnInit, ViewContainerRef, ModuleWithProviders, ElementRef, EventEmitter, OnChanges, Renderer2, SimpleChanges, OnDestroy, DestroyRef, Injector, PipeTransform, Provider } from '@angular/core';
|
|
3
3
|
import { AXStyleColorType, AXDataSource, AXDataSourceSortOption, AXDataSourceFilterOption, AXStyleLookType, AXDataSourceQuery, AXDataSourceCallbackResult } from '@acorex/cdk/common';
|
|
4
4
|
import { AXMultiLanguageString } from '@acorex/core/translation';
|
|
5
5
|
import * as _ngrx_signals from '@ngrx/signals';
|
|
@@ -7,6 +7,12 @@ import * as _acorex_platform_core from '@acorex/platform/core';
|
|
|
7
7
|
import { Observable } from 'rxjs';
|
|
8
8
|
import { NavigationExtras } from '@angular/router';
|
|
9
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
|
+
|
|
10
16
|
/**
|
|
11
17
|
* Additional suggested generic actions for future consideration:
|
|
12
18
|
*
|
|
@@ -1193,6 +1199,87 @@ interface AXPFilterQuery extends Pick<AXPFilterDefinition, 'field' | 'value' | '
|
|
|
1193
1199
|
displayText?: string;
|
|
1194
1200
|
}
|
|
1195
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
|
+
|
|
1196
1283
|
type AXPActionMenuItem = {
|
|
1197
1284
|
name?: string;
|
|
1198
1285
|
title: AXPMultiLanguageString;
|
|
@@ -1206,6 +1293,11 @@ type AXPActionMenuItem = {
|
|
|
1206
1293
|
disabled?: boolean | string;
|
|
1207
1294
|
visible?: boolean | string;
|
|
1208
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[];
|
|
1209
1301
|
};
|
|
1210
1302
|
type AXPBackButton = {
|
|
1211
1303
|
title: AXPMultiLanguageString;
|
|
@@ -1653,10 +1745,8 @@ declare class AXPDataSourceDefinitionProviderService implements AXPDataSourceDef
|
|
|
1653
1745
|
static ɵprov: i0.ɵɵInjectableDeclaration<AXPDataSourceDefinitionProviderService>;
|
|
1654
1746
|
}
|
|
1655
1747
|
|
|
1656
|
-
/** Data source name for select widgets listing registered catalog scopes. */
|
|
1657
|
-
declare const PLATFORM_CATALOG_SCOPES_DATASOURCE_NAME = "platform-catalog-scopes";
|
|
1658
1748
|
/**
|
|
1659
|
-
* Registered catalog scopes for select / selection-list widgets via {@link
|
|
1749
|
+
* Registered catalog scopes for select / selection-list widgets via {@link AXPPlatformCoreDataSourceKeys.CatalogScopes}.
|
|
1660
1750
|
*/
|
|
1661
1751
|
declare class AXPCatalogScopeDefinitionsDataSourceDefinition implements AXPDataSourceDefinitionProvider {
|
|
1662
1752
|
private readonly catalogScopeRegistry;
|
|
@@ -1954,8 +2044,8 @@ interface AXPContextUpdateOptions {
|
|
|
1954
2044
|
origin?: AXPContextUpdateOrigin;
|
|
1955
2045
|
}
|
|
1956
2046
|
interface AXPContextPatchOptions {
|
|
1957
|
-
|
|
1958
|
-
|
|
2047
|
+
/** When true, updates the saved snapshot together with live data. */
|
|
2048
|
+
updateSaved?: boolean;
|
|
1959
2049
|
}
|
|
1960
2050
|
type AXPContextData = {
|
|
1961
2051
|
[key: string]: any;
|
|
@@ -1967,41 +2057,42 @@ declare class AXPContextChangeEvent {
|
|
|
1967
2057
|
state: AXPContextState;
|
|
1968
2058
|
data: any;
|
|
1969
2059
|
origin?: AXPContextUpdateOrigin;
|
|
1970
|
-
/** Aggregated form dirty flag (
|
|
2060
|
+
/** Aggregated form dirty flag (context snapshot + composite widget dirty). */
|
|
1971
2061
|
isFormDirty?: boolean;
|
|
1972
2062
|
}
|
|
1973
2063
|
declare const AXPContextStore: i0.Type<{
|
|
1974
2064
|
data: i0.Signal<AXPContextData>;
|
|
1975
2065
|
state: i0.Signal<AXPContextState>;
|
|
1976
|
-
|
|
1977
|
-
previousSnapshot: i0.Signal<
|
|
1978
|
-
userDirtyPaths: i0.Signal<string[]>;
|
|
2066
|
+
savedSnapshot: i0.Signal<AXPContextData>;
|
|
2067
|
+
previousSnapshot: i0.Signal<AXPContextData>;
|
|
1979
2068
|
lastChange: _ngrx_signals.DeepSignal<AXPContextChangeEvent>;
|
|
1980
2069
|
isChanged: i0.Signal<boolean>;
|
|
1981
2070
|
isReset: i0.Signal<boolean>;
|
|
1982
2071
|
isInitiated: i0.Signal<boolean>;
|
|
1983
2072
|
isEmpty: i0.Signal<boolean>;
|
|
2073
|
+
isSavedCommitted: i0.Signal<boolean>;
|
|
1984
2074
|
isDirty: i0.Signal<boolean>;
|
|
1985
|
-
isUserDirty: i0.Signal<boolean>;
|
|
1986
2075
|
snapshot: i0.Signal<AXPContextData>;
|
|
1987
|
-
|
|
1988
|
-
|
|
2076
|
+
saved: i0.Signal<AXPContextData>;
|
|
2077
|
+
initial: i0.Signal<AXPContextData>;
|
|
2078
|
+
previous: i0.Signal<AXPContextData>;
|
|
1989
2079
|
changeEvent: i0.Signal<AXPContextChangeEvent>;
|
|
1990
2080
|
update: (path: string, value: any, options?: AXPContextUpdateOptions) => void;
|
|
1991
2081
|
applyObjectPaths: (obj: Record<string, unknown>, options?: AXPContextUpdateOptions, prefix?: string) => void;
|
|
1992
|
-
patch: (context: Record<string, any>,
|
|
2082
|
+
patch: (context: Record<string, any>, options?: AXPContextPatchOptions) => void;
|
|
2083
|
+
revertToSaved: () => void;
|
|
1993
2084
|
reset: () => void;
|
|
1994
2085
|
set: (initialData: any) => void;
|
|
1995
2086
|
getValue: (path: string) => any;
|
|
2087
|
+
getSavedValue: (path: string) => any;
|
|
1996
2088
|
hasValue: (path: string) => boolean;
|
|
1997
|
-
|
|
1998
|
-
|
|
2089
|
+
commitSaved: () => void;
|
|
2090
|
+
applyParentBind: (merged: AXPContextData) => void;
|
|
1999
2091
|
} & _ngrx_signals.StateSource<{
|
|
2000
2092
|
data: AXPContextData;
|
|
2001
2093
|
state: AXPContextState;
|
|
2002
|
-
|
|
2003
|
-
previousSnapshot:
|
|
2004
|
-
userDirtyPaths: string[];
|
|
2094
|
+
savedSnapshot: AXPContextData;
|
|
2095
|
+
previousSnapshot: AXPContextData;
|
|
2005
2096
|
lastChange: AXPContextChangeEvent;
|
|
2006
2097
|
}>>;
|
|
2007
2098
|
|
|
@@ -2035,35 +2126,36 @@ declare class AXPComponentSlotDirective implements OnInit {
|
|
|
2035
2126
|
contextStore: {
|
|
2036
2127
|
data: i0.Signal<AXPContextData>;
|
|
2037
2128
|
state: i0.Signal<_acorex_platform_core.AXPContextState>;
|
|
2038
|
-
|
|
2039
|
-
previousSnapshot: i0.Signal<
|
|
2040
|
-
userDirtyPaths: i0.Signal<string[]>;
|
|
2129
|
+
savedSnapshot: i0.Signal<AXPContextData>;
|
|
2130
|
+
previousSnapshot: i0.Signal<AXPContextData>;
|
|
2041
2131
|
lastChange: _ngrx_signals.DeepSignal<_acorex_platform_core.AXPContextChangeEvent>;
|
|
2042
2132
|
isChanged: i0.Signal<boolean>;
|
|
2043
2133
|
isReset: i0.Signal<boolean>;
|
|
2044
2134
|
isInitiated: i0.Signal<boolean>;
|
|
2045
2135
|
isEmpty: i0.Signal<boolean>;
|
|
2136
|
+
isSavedCommitted: i0.Signal<boolean>;
|
|
2046
2137
|
isDirty: i0.Signal<boolean>;
|
|
2047
|
-
isUserDirty: i0.Signal<boolean>;
|
|
2048
2138
|
snapshot: i0.Signal<AXPContextData>;
|
|
2049
|
-
|
|
2050
|
-
|
|
2139
|
+
saved: i0.Signal<AXPContextData>;
|
|
2140
|
+
initial: i0.Signal<AXPContextData>;
|
|
2141
|
+
previous: i0.Signal<AXPContextData>;
|
|
2051
2142
|
changeEvent: i0.Signal<_acorex_platform_core.AXPContextChangeEvent>;
|
|
2052
2143
|
update: (path: string, value: any, options?: _acorex_platform_core.AXPContextUpdateOptions) => void;
|
|
2053
2144
|
applyObjectPaths: (obj: Record<string, unknown>, options?: _acorex_platform_core.AXPContextUpdateOptions, prefix?: string) => void;
|
|
2054
|
-
patch: (context: Record<string, any>,
|
|
2145
|
+
patch: (context: Record<string, any>, options?: _acorex_platform_core.AXPContextPatchOptions) => void;
|
|
2146
|
+
revertToSaved: () => void;
|
|
2055
2147
|
reset: () => void;
|
|
2056
2148
|
set: (initialData: any) => void;
|
|
2057
2149
|
getValue: (path: string) => any;
|
|
2150
|
+
getSavedValue: (path: string) => any;
|
|
2058
2151
|
hasValue: (path: string) => boolean;
|
|
2059
|
-
|
|
2060
|
-
|
|
2152
|
+
commitSaved: () => void;
|
|
2153
|
+
applyParentBind: (merged: AXPContextData) => void;
|
|
2061
2154
|
} & _ngrx_signals.StateSource<{
|
|
2062
2155
|
data: AXPContextData;
|
|
2063
2156
|
state: _acorex_platform_core.AXPContextState;
|
|
2064
|
-
|
|
2065
|
-
previousSnapshot:
|
|
2066
|
-
userDirtyPaths: string[];
|
|
2157
|
+
savedSnapshot: AXPContextData;
|
|
2158
|
+
previousSnapshot: AXPContextData;
|
|
2067
2159
|
lastChange: _acorex_platform_core.AXPContextChangeEvent;
|
|
2068
2160
|
}>;
|
|
2069
2161
|
isEmpty: i0.Signal<boolean>;
|
|
@@ -2402,6 +2494,142 @@ declare class AXPHookService {
|
|
|
2402
2494
|
static ɵprov: i0.ɵɵInjectableDeclaration<AXPHookService>;
|
|
2403
2495
|
}
|
|
2404
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
|
+
|
|
2405
2633
|
/**
|
|
2406
2634
|
* Feature definition in module manifest.
|
|
2407
2635
|
* Defines available features with default values.
|
|
@@ -2514,10 +2742,6 @@ interface AXPFeatureDefinition extends AXPModuleFeatureDefinition {
|
|
|
2514
2742
|
key: string;
|
|
2515
2743
|
}
|
|
2516
2744
|
|
|
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
2745
|
/**
|
|
2522
2746
|
* Data source definition for module names/titles from {@link AXPModuleManifestRegistry}.
|
|
2523
2747
|
*/
|
|
@@ -2709,6 +2933,16 @@ declare function sortByMultiLanguageString<T>(items: readonly T[], getValue: (it
|
|
|
2709
2933
|
*/
|
|
2710
2934
|
declare function searchInMultiLanguageString(value: AXPMultiLanguageString | null | undefined, query: string, locale: string): boolean;
|
|
2711
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
|
+
|
|
2712
2946
|
/**
|
|
2713
2947
|
* Represents a tag with text, color, and metadata
|
|
2714
2948
|
*/
|
|
@@ -2909,16 +3143,6 @@ declare class AXPDeviceService {
|
|
|
2909
3143
|
static ɵprov: i0.ɵɵInjectableDeclaration<AXPDeviceService>;
|
|
2910
3144
|
}
|
|
2911
3145
|
|
|
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
|
-
|
|
2922
3146
|
/**
|
|
2923
3147
|
* Service for applying and resetting text highlighting within specified HTML elements.
|
|
2924
3148
|
*/
|
|
@@ -2982,6 +3206,26 @@ declare function getEnumValues(enumType: any): {
|
|
|
2982
3206
|
id: string;
|
|
2983
3207
|
title: string;
|
|
2984
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>;
|
|
2985
3229
|
|
|
2986
3230
|
/**
|
|
2987
3231
|
* Creates a provider instance within an injection context.
|
|
@@ -3053,5 +3297,5 @@ declare function containsHtmlMarkup(value: string | null | undefined): boolean;
|
|
|
3053
3297
|
*/
|
|
3054
3298
|
declare function generateKebabCase(title: string): string;
|
|
3055
3299
|
|
|
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,
|
|
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 };
|
|
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 };
|
|
@@ -7,19 +7,20 @@ import { AXPWidgetNode, AXPWidgetRenderMode, AXPWidgetContainerComponent, AXPWid
|
|
|
7
7
|
import { AXDataSource, AXComponentClosing } from '@acorex/cdk/common';
|
|
8
8
|
import { AXPopupSizeType } from '@acorex/components/popup';
|
|
9
9
|
import { AXStepWizardLook } from '@acorex/components/step-wizard';
|
|
10
|
-
import { AXPActionMenuItem, AXPMultiLanguageString, AXPMetaData, AXPGridLayoutOptions, AXPExpression, AXPValidationRules, AXPOptionsData, AXPContextChangeEvent, AXPExecuteCommandResult } from '@acorex/platform/core';
|
|
10
|
+
import { AXPKeyboardShortcut, AXPKeyboardShortcutChord, AXPActionMenuItem, AXPMultiLanguageString, AXPMetaData, AXPGridLayoutOptions, AXPExpression, AXPValidationRules, AXPOptionsData, AXPContextChangeEvent, AXPExecuteCommandResult } from '@acorex/platform/core';
|
|
11
11
|
import { AXBasePageComponent } from '@acorex/components/page';
|
|
12
12
|
import { AXPCommand } from '@acorex/platform/runtime';
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
/** Resolved chord string used by dialog footer shortcut matching. */
|
|
15
|
+
type AXPDialogActionShortcut = AXPKeyboardShortcutChord;
|
|
15
16
|
declare const DEFAULT_CANCEL_DIALOG_ACTION_SHORTCUTS: readonly AXPDialogActionShortcut[];
|
|
16
17
|
declare const DEFAULT_SUBMIT_DIALOG_ACTION_SHORTCUTS: readonly AXPDialogActionShortcut[];
|
|
17
18
|
interface AXPDialogActionOptions {
|
|
18
19
|
/**
|
|
19
|
-
* Additional keyboard shortcuts for this action (e.g. `'ctrl+s'`).
|
|
20
|
+
* Additional keyboard shortcuts for this action (e.g. `'ctrl+s'` or `{ keys: 'ctrl+s' }`).
|
|
20
21
|
* Merged with built-in defaults for `cancel` / `submit`. Pass `[]` to disable all shortcuts.
|
|
21
22
|
*/
|
|
22
|
-
shortcuts?:
|
|
23
|
+
shortcuts?: AXPKeyboardShortcut[];
|
|
23
24
|
}
|
|
24
25
|
|
|
25
26
|
/**
|
|
@@ -461,10 +462,9 @@ type WidgetBuilderState = AXPWidgetNode & {
|
|
|
461
462
|
type FormFieldBuilderState = AXPWidgetNode & {
|
|
462
463
|
layout?: AXPGridLayoutOptions;
|
|
463
464
|
};
|
|
464
|
-
/** Dialog footer action item; extends menu actions with placement
|
|
465
|
+
/** Dialog footer action item; extends menu actions with placement. */
|
|
465
466
|
type AXPDialogActionMenuItem = AXPActionMenuItem & {
|
|
466
467
|
position?: 'prefix' | 'suffix';
|
|
467
|
-
shortcuts?: AXPDialogActionShortcut[];
|
|
468
468
|
};
|
|
469
469
|
type DialogBuilderState = AXPWidgetNode & {
|
|
470
470
|
layout?: AXPGridLayoutOptions;
|
|
@@ -943,7 +943,7 @@ declare class AXPDialogRendererComponent extends AXBasePageComponent implements
|
|
|
943
943
|
private expressionEvaluator;
|
|
944
944
|
private readonly commandService;
|
|
945
945
|
private readonly hookService;
|
|
946
|
-
private readonly
|
|
946
|
+
private readonly unsavedChangesConfirm;
|
|
947
947
|
private readonly overlayService;
|
|
948
948
|
private readonly translationService;
|
|
949
949
|
private readonly document;
|
|
@@ -951,18 +951,12 @@ declare class AXPDialogRendererComponent extends AXBasePageComponent implements
|
|
|
951
951
|
private dialogResult?;
|
|
952
952
|
/** Ensures `show()` resolves once when the dialog closes (footer action or header close). */
|
|
953
953
|
private callbackInvoked;
|
|
954
|
-
/** Baseline snapshot for dirty detection (captured once after init settles). */
|
|
955
|
-
private dirtyBaseline?;
|
|
956
|
-
/** True after the post-init baseline snapshot has been captured. */
|
|
957
|
-
private dirtyBaselineCaptured;
|
|
958
|
-
private dirtyBaselineIdleTimer?;
|
|
959
954
|
/** Callback payload applied when a dismiss is allowed in {@link onClosing}. */
|
|
960
955
|
private pendingDismissResolvePayload?;
|
|
961
956
|
/** Skips dirty confirmation on the next {@link onClosing} (successful submit / programmatic close). */
|
|
962
957
|
private skipNextOnClosingDirtyCheck;
|
|
963
|
-
/**
|
|
964
|
-
private
|
|
965
|
-
private dirtyBaselineFallbackTimer?;
|
|
958
|
+
/** Blocks re-entrant {@link onClosing} while the first close gate is still resolving. */
|
|
959
|
+
private closeGateInProgress;
|
|
966
960
|
private readonly destroyRef;
|
|
967
961
|
context: _angular_core.WritableSignal<any>;
|
|
968
962
|
callBack: (result: unknown) => void;
|
|
@@ -991,12 +985,7 @@ declare class AXPDialogRendererComponent extends AXBasePageComponent implements
|
|
|
991
985
|
private requestDismiss;
|
|
992
986
|
/** Invokes `show()` callback with the pending payload or a default cancel {@link AXPDialogRef}. */
|
|
993
987
|
private completeDismissResolve;
|
|
994
|
-
private
|
|
995
|
-
private scheduleDirtyBaselineCapture;
|
|
996
|
-
/**
|
|
997
|
-
* Captures a dialog-local baseline once after widget init/normalization goes idle.
|
|
998
|
-
*/
|
|
999
|
-
private captureDirtyBaselineIfNeeded;
|
|
988
|
+
private getWidgetContainer;
|
|
1000
989
|
private layoutRenderer;
|
|
1001
990
|
private debounceTimer?;
|
|
1002
991
|
handleContextChanged(event: any): void;
|
|
@@ -1009,7 +998,6 @@ declare class AXPDialogRendererComponent extends AXBasePageComponent implements
|
|
|
1009
998
|
executeAction(action: AXPWidgetCoreElementAction): Promise<void>;
|
|
1010
999
|
private isDialogDirty;
|
|
1011
1000
|
private confirmDismissIfDirty;
|
|
1012
|
-
private promptUnsavedChangesConfirm;
|
|
1013
1001
|
/** Whether the layout form should be validated before running this footer command. */
|
|
1014
1002
|
private shouldValidateBeforeAction;
|
|
1015
1003
|
/** True when a footer handler or command result asks to leave the dialog open (`keepDialogOpen` on the result or `result.data`). */
|