@acorex/platform 21.0.0-next.71 → 21.0.0-next.72
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 +10 -2
- 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 +3792 -1679
- package/fesm2022/acorex-platform-common.mjs.map +1 -1
- package/fesm2022/acorex-platform-core.mjs +1112 -103
- package/fesm2022/acorex-platform-core.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-builder.mjs +53 -170
- package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-components.mjs +70 -46
- 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 +341 -418
- 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 +115 -74
- 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 +184 -655
- 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 +76 -32
- package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
- package/package.json +1 -1
- package/types/acorex-platform-auth.d.ts +2 -0
- package/types/acorex-platform-common.d.ts +891 -259
- package/types/acorex-platform-core.d.ts +284 -40
- package/types/acorex-platform-layout-builder.d.ts +10 -22
- package/types/acorex-platform-layout-components.d.ts +9 -7
- package/types/acorex-platform-layout-entity.d.ts +37 -41
- package/types/acorex-platform-layout-views.d.ts +125 -67
- package/types/acorex-platform-layout-widget-core.d.ts +53 -61
- package/types/acorex-platform-layout-widgets.d.ts +33 -20
- 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
|
@@ -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';
|
|
@@ -1193,6 +1193,87 @@ interface AXPFilterQuery extends Pick<AXPFilterDefinition, 'field' | 'value' | '
|
|
|
1193
1193
|
displayText?: string;
|
|
1194
1194
|
}
|
|
1195
1195
|
|
|
1196
|
+
/**
|
|
1197
|
+
* Normalized keyboard chord (e.g. `ctrl+f`, `arrowleft`, `f1`).
|
|
1198
|
+
* Modifiers and key are joined with `+`.
|
|
1199
|
+
*/
|
|
1200
|
+
type AXPKeyboardShortcutChord = string;
|
|
1201
|
+
/** Priority tier — higher values win when multiple bindings match. */
|
|
1202
|
+
declare enum AXPKeyboardShortcutPriority {
|
|
1203
|
+
Global = 0,
|
|
1204
|
+
Page = 10,
|
|
1205
|
+
Panel = 20,
|
|
1206
|
+
Modal = 100
|
|
1207
|
+
}
|
|
1208
|
+
/**
|
|
1209
|
+
* How horizontal directional keys behave in RTL locale profiles (`activeProfile().i18nMeta?.rtl`).
|
|
1210
|
+
* - `physical`: arrow left always means left (grid navigation, etc.).
|
|
1211
|
+
* - `semantic`: arrows and `[` / `]` mirror so next/previous follow reading direction.
|
|
1212
|
+
*/
|
|
1213
|
+
type AXPKeyboardShortcutDirectionBehavior = 'physical' | 'semantic';
|
|
1214
|
+
interface AXPKeyboardShortcutBinding {
|
|
1215
|
+
/**
|
|
1216
|
+
* One or more key chords that trigger this action.
|
|
1217
|
+
* Example: `['arrowleft', 'pageup']` or `['ctrl+f']`.
|
|
1218
|
+
*/
|
|
1219
|
+
keys: AXPKeyboardShortcutChord[];
|
|
1220
|
+
/** i18n key (e.g. `@general:...`) or plain label for the help dialog. */
|
|
1221
|
+
title: string;
|
|
1222
|
+
/** Optional group label (i18n key or plain) for help dialog grouping. */
|
|
1223
|
+
group?: string;
|
|
1224
|
+
/** When true, fires even if focus is inside an editable field. Default false. */
|
|
1225
|
+
allowInEditableFields?: boolean;
|
|
1226
|
+
/** Optional runtime guard — binding is ignored when this returns false. */
|
|
1227
|
+
when?: () => boolean;
|
|
1228
|
+
/**
|
|
1229
|
+
* RTL handling for horizontal direction keys (`←`/`→`, `[`/`]`).
|
|
1230
|
+
* Omitted = auto (`semantic` for direction keys, `physical` otherwise). Set `physical` to opt out.
|
|
1231
|
+
*/
|
|
1232
|
+
directionBehavior?: AXPKeyboardShortcutDirectionBehavior;
|
|
1233
|
+
handler: (event: KeyboardEvent) => void | Promise<void>;
|
|
1234
|
+
}
|
|
1235
|
+
/**
|
|
1236
|
+
* Declarative shortcut for menus, action items, and other config-driven bindings.
|
|
1237
|
+
* Use a chord string for defaults, or an object to override binding options (e.g. `allowInEditableFields`).
|
|
1238
|
+
*/
|
|
1239
|
+
type AXPKeyboardShortcutConfig = Pick<AXPKeyboardShortcutBinding, 'allowInEditableFields' | 'when' | 'directionBehavior'> & {
|
|
1240
|
+
keys: AXPKeyboardShortcutChord | readonly AXPKeyboardShortcutChord[];
|
|
1241
|
+
};
|
|
1242
|
+
type AXPKeyboardShortcut = AXPKeyboardShortcutChord | AXPKeyboardShortcutConfig;
|
|
1243
|
+
/** Normalized declarative shortcut used when registering keyboard bindings. */
|
|
1244
|
+
interface AXPResolvedKeyboardShortcut {
|
|
1245
|
+
keys: AXPKeyboardShortcutChord[];
|
|
1246
|
+
allowInEditableFields?: boolean;
|
|
1247
|
+
when?: () => boolean;
|
|
1248
|
+
directionBehavior?: AXPKeyboardShortcutDirectionBehavior;
|
|
1249
|
+
}
|
|
1250
|
+
interface AXPKeyboardShortcutRegistration {
|
|
1251
|
+
/** Stable id for this registration scope (e.g. `task-board-navigator`). */
|
|
1252
|
+
id: string;
|
|
1253
|
+
/** Higher priority bindings win on conflict. */
|
|
1254
|
+
priority?: AXPKeyboardShortcutPriority | number;
|
|
1255
|
+
/** Scope label shown in the help dialog (i18n key or plain). */
|
|
1256
|
+
scope?: string;
|
|
1257
|
+
/** Default group for bindings without their own `group`. */
|
|
1258
|
+
group?: string;
|
|
1259
|
+
/** Optional runtime guard — registration is ignored when this returns false. */
|
|
1260
|
+
when?: () => boolean;
|
|
1261
|
+
shortcuts: AXPKeyboardShortcutBinding[];
|
|
1262
|
+
}
|
|
1263
|
+
/** Resolved entry for help UI. */
|
|
1264
|
+
interface AXPKeyboardShortcutHelpEntry {
|
|
1265
|
+
registrationId: string;
|
|
1266
|
+
bindingTitle: string;
|
|
1267
|
+
/** Raw chords for `ax-kbd-item` rendering (canonical registration). */
|
|
1268
|
+
chords: AXPKeyboardShortcutChord[];
|
|
1269
|
+
/** Chords adjusted for RTL display when `directionBehavior` is `semantic`. */
|
|
1270
|
+
displayChords: AXPKeyboardShortcutChord[];
|
|
1271
|
+
displayKeys: string;
|
|
1272
|
+
scope?: string;
|
|
1273
|
+
group?: string;
|
|
1274
|
+
priority: number;
|
|
1275
|
+
}
|
|
1276
|
+
|
|
1196
1277
|
type AXPActionMenuItem = {
|
|
1197
1278
|
name?: string;
|
|
1198
1279
|
title: AXPMultiLanguageString;
|
|
@@ -1206,6 +1287,11 @@ type AXPActionMenuItem = {
|
|
|
1206
1287
|
disabled?: boolean | string;
|
|
1207
1288
|
visible?: boolean | string;
|
|
1208
1289
|
policy?: string;
|
|
1290
|
+
/**
|
|
1291
|
+
* Keyboard shortcuts for this action.
|
|
1292
|
+
* Use a chord string or `{ keys, allowInEditableFields, ... }`. Pass `[]` to disable.
|
|
1293
|
+
*/
|
|
1294
|
+
shortcuts?: AXPKeyboardShortcut[];
|
|
1209
1295
|
};
|
|
1210
1296
|
type AXPBackButton = {
|
|
1211
1297
|
title: AXPMultiLanguageString;
|
|
@@ -1954,8 +2040,8 @@ interface AXPContextUpdateOptions {
|
|
|
1954
2040
|
origin?: AXPContextUpdateOrigin;
|
|
1955
2041
|
}
|
|
1956
2042
|
interface AXPContextPatchOptions {
|
|
1957
|
-
|
|
1958
|
-
|
|
2043
|
+
/** When true, updates the saved snapshot together with live data. */
|
|
2044
|
+
updateSaved?: boolean;
|
|
1959
2045
|
}
|
|
1960
2046
|
type AXPContextData = {
|
|
1961
2047
|
[key: string]: any;
|
|
@@ -1967,41 +2053,42 @@ declare class AXPContextChangeEvent {
|
|
|
1967
2053
|
state: AXPContextState;
|
|
1968
2054
|
data: any;
|
|
1969
2055
|
origin?: AXPContextUpdateOrigin;
|
|
1970
|
-
/** Aggregated form dirty flag (
|
|
2056
|
+
/** Aggregated form dirty flag (context snapshot + composite widget dirty). */
|
|
1971
2057
|
isFormDirty?: boolean;
|
|
1972
2058
|
}
|
|
1973
2059
|
declare const AXPContextStore: i0.Type<{
|
|
1974
2060
|
data: i0.Signal<AXPContextData>;
|
|
1975
2061
|
state: i0.Signal<AXPContextState>;
|
|
1976
|
-
|
|
1977
|
-
previousSnapshot: i0.Signal<
|
|
1978
|
-
userDirtyPaths: i0.Signal<string[]>;
|
|
2062
|
+
savedSnapshot: i0.Signal<AXPContextData>;
|
|
2063
|
+
previousSnapshot: i0.Signal<AXPContextData>;
|
|
1979
2064
|
lastChange: _ngrx_signals.DeepSignal<AXPContextChangeEvent>;
|
|
1980
2065
|
isChanged: i0.Signal<boolean>;
|
|
1981
2066
|
isReset: i0.Signal<boolean>;
|
|
1982
2067
|
isInitiated: i0.Signal<boolean>;
|
|
1983
2068
|
isEmpty: i0.Signal<boolean>;
|
|
2069
|
+
isSavedCommitted: i0.Signal<boolean>;
|
|
1984
2070
|
isDirty: i0.Signal<boolean>;
|
|
1985
|
-
isUserDirty: i0.Signal<boolean>;
|
|
1986
2071
|
snapshot: i0.Signal<AXPContextData>;
|
|
1987
|
-
|
|
1988
|
-
|
|
2072
|
+
saved: i0.Signal<AXPContextData>;
|
|
2073
|
+
initial: i0.Signal<AXPContextData>;
|
|
2074
|
+
previous: i0.Signal<AXPContextData>;
|
|
1989
2075
|
changeEvent: i0.Signal<AXPContextChangeEvent>;
|
|
1990
2076
|
update: (path: string, value: any, options?: AXPContextUpdateOptions) => void;
|
|
1991
2077
|
applyObjectPaths: (obj: Record<string, unknown>, options?: AXPContextUpdateOptions, prefix?: string) => void;
|
|
1992
|
-
patch: (context: Record<string, any>,
|
|
2078
|
+
patch: (context: Record<string, any>, options?: AXPContextPatchOptions) => void;
|
|
2079
|
+
revertToSaved: () => void;
|
|
1993
2080
|
reset: () => void;
|
|
1994
2081
|
set: (initialData: any) => void;
|
|
1995
2082
|
getValue: (path: string) => any;
|
|
2083
|
+
getSavedValue: (path: string) => any;
|
|
1996
2084
|
hasValue: (path: string) => boolean;
|
|
1997
|
-
|
|
1998
|
-
|
|
2085
|
+
commitSaved: () => void;
|
|
2086
|
+
applyParentBind: (merged: AXPContextData) => void;
|
|
1999
2087
|
} & _ngrx_signals.StateSource<{
|
|
2000
2088
|
data: AXPContextData;
|
|
2001
2089
|
state: AXPContextState;
|
|
2002
|
-
|
|
2003
|
-
previousSnapshot:
|
|
2004
|
-
userDirtyPaths: string[];
|
|
2090
|
+
savedSnapshot: AXPContextData;
|
|
2091
|
+
previousSnapshot: AXPContextData;
|
|
2005
2092
|
lastChange: AXPContextChangeEvent;
|
|
2006
2093
|
}>>;
|
|
2007
2094
|
|
|
@@ -2035,35 +2122,36 @@ declare class AXPComponentSlotDirective implements OnInit {
|
|
|
2035
2122
|
contextStore: {
|
|
2036
2123
|
data: i0.Signal<AXPContextData>;
|
|
2037
2124
|
state: i0.Signal<_acorex_platform_core.AXPContextState>;
|
|
2038
|
-
|
|
2039
|
-
previousSnapshot: i0.Signal<
|
|
2040
|
-
userDirtyPaths: i0.Signal<string[]>;
|
|
2125
|
+
savedSnapshot: i0.Signal<AXPContextData>;
|
|
2126
|
+
previousSnapshot: i0.Signal<AXPContextData>;
|
|
2041
2127
|
lastChange: _ngrx_signals.DeepSignal<_acorex_platform_core.AXPContextChangeEvent>;
|
|
2042
2128
|
isChanged: i0.Signal<boolean>;
|
|
2043
2129
|
isReset: i0.Signal<boolean>;
|
|
2044
2130
|
isInitiated: i0.Signal<boolean>;
|
|
2045
2131
|
isEmpty: i0.Signal<boolean>;
|
|
2132
|
+
isSavedCommitted: i0.Signal<boolean>;
|
|
2046
2133
|
isDirty: i0.Signal<boolean>;
|
|
2047
|
-
isUserDirty: i0.Signal<boolean>;
|
|
2048
2134
|
snapshot: i0.Signal<AXPContextData>;
|
|
2049
|
-
|
|
2050
|
-
|
|
2135
|
+
saved: i0.Signal<AXPContextData>;
|
|
2136
|
+
initial: i0.Signal<AXPContextData>;
|
|
2137
|
+
previous: i0.Signal<AXPContextData>;
|
|
2051
2138
|
changeEvent: i0.Signal<_acorex_platform_core.AXPContextChangeEvent>;
|
|
2052
2139
|
update: (path: string, value: any, options?: _acorex_platform_core.AXPContextUpdateOptions) => void;
|
|
2053
2140
|
applyObjectPaths: (obj: Record<string, unknown>, options?: _acorex_platform_core.AXPContextUpdateOptions, prefix?: string) => void;
|
|
2054
|
-
patch: (context: Record<string, any>,
|
|
2141
|
+
patch: (context: Record<string, any>, options?: _acorex_platform_core.AXPContextPatchOptions) => void;
|
|
2142
|
+
revertToSaved: () => void;
|
|
2055
2143
|
reset: () => void;
|
|
2056
2144
|
set: (initialData: any) => void;
|
|
2057
2145
|
getValue: (path: string) => any;
|
|
2146
|
+
getSavedValue: (path: string) => any;
|
|
2058
2147
|
hasValue: (path: string) => boolean;
|
|
2059
|
-
|
|
2060
|
-
|
|
2148
|
+
commitSaved: () => void;
|
|
2149
|
+
applyParentBind: (merged: AXPContextData) => void;
|
|
2061
2150
|
} & _ngrx_signals.StateSource<{
|
|
2062
2151
|
data: AXPContextData;
|
|
2063
2152
|
state: _acorex_platform_core.AXPContextState;
|
|
2064
|
-
|
|
2065
|
-
previousSnapshot:
|
|
2066
|
-
userDirtyPaths: string[];
|
|
2153
|
+
savedSnapshot: AXPContextData;
|
|
2154
|
+
previousSnapshot: AXPContextData;
|
|
2067
2155
|
lastChange: _acorex_platform_core.AXPContextChangeEvent;
|
|
2068
2156
|
}>;
|
|
2069
2157
|
isEmpty: i0.Signal<boolean>;
|
|
@@ -2402,6 +2490,142 @@ declare class AXPHookService {
|
|
|
2402
2490
|
static ɵprov: i0.ɵɵInjectableDeclaration<AXPHookService>;
|
|
2403
2491
|
}
|
|
2404
2492
|
|
|
2493
|
+
/** Acorex overlay root (modal shell, popup, dialog). */
|
|
2494
|
+
declare const AX_OVERLAY_CONTAINER_SELECTOR = ".ax-overlay-container";
|
|
2495
|
+
/** Anchored widget panel inside an overlay (select, date picker, dropdown). */
|
|
2496
|
+
declare const AX_OVERLAY_PANE_SELECTOR = ".ax-overlay-pane";
|
|
2497
|
+
/**
|
|
2498
|
+
* True when a visible overlay layer is foreground (modal, popup, widget popover/picker).
|
|
2499
|
+
*/
|
|
2500
|
+
declare function hasForegroundOverlayLayer(document: Document): boolean;
|
|
2501
|
+
/**
|
|
2502
|
+
* Returns visible anchored overlay panes (widget popovers/pickers).
|
|
2503
|
+
*/
|
|
2504
|
+
declare function getVisibleAnchoredOverlayPanes(document: Document): HTMLElement[];
|
|
2505
|
+
/**
|
|
2506
|
+
* Visible anchored panes that are not contained by `excludeContainer` (e.g. dialog shell).
|
|
2507
|
+
*/
|
|
2508
|
+
declare function getNestedVisibleOverlayPanes(document: Document, excludeContainer: HTMLElement | null): HTMLElement[];
|
|
2509
|
+
/**
|
|
2510
|
+
* Collects visible overlay containers in stacking order (later / higher z-index wins).
|
|
2511
|
+
*/
|
|
2512
|
+
declare function getVisibleOverlayContainers(document: Document): HTMLElement[];
|
|
2513
|
+
/** Topmost visible overlay container, if any. */
|
|
2514
|
+
declare function getTopVisibleOverlayContainer(document: Document): HTMLElement | null;
|
|
2515
|
+
/** Nearest overlay container ancestor of `element`. */
|
|
2516
|
+
declare function findOverlayContainerAncestor(element: HTMLElement): HTMLElement | null;
|
|
2517
|
+
/**
|
|
2518
|
+
* Returns true when the overlay element is rendered and visible in the viewport.
|
|
2519
|
+
*/
|
|
2520
|
+
declare function isVisibleOverlayElement(element: Element): boolean;
|
|
2521
|
+
|
|
2522
|
+
interface AXPKeyboardShortcutFormatOptions {
|
|
2523
|
+
directionBehavior?: AXPKeyboardShortcutDirectionBehavior;
|
|
2524
|
+
/** From `AXLocaleService.activeProfile().i18nMeta?.rtl`. */
|
|
2525
|
+
isRtl?: boolean;
|
|
2526
|
+
/** Chord was already passed through `resolveDisplayShortcutChord` (e.g. help `displayChords`). */
|
|
2527
|
+
skipDirectionResolve?: boolean;
|
|
2528
|
+
}
|
|
2529
|
+
/** Maps a horizontal direction key to its RTL semantic counterpart. */
|
|
2530
|
+
declare function mirrorHorizontalDirectionalKey(key: string): string;
|
|
2531
|
+
/** True when the chord's primary key is a horizontal direction key (`←`/`→`, `[`/`]`). */
|
|
2532
|
+
declare function isHorizontalDirectionalShortcutKey(key: string): boolean;
|
|
2533
|
+
/**
|
|
2534
|
+
* Resolves direction behavior for a chord.
|
|
2535
|
+
* Horizontal direction keys default to `semantic`; others default to `physical`.
|
|
2536
|
+
* An explicit binding value always wins.
|
|
2537
|
+
*/
|
|
2538
|
+
declare function resolveEffectiveDirectionBehavior(chord: AXPKeyboardShortcutChord, explicit?: AXPKeyboardShortcutDirectionBehavior): AXPKeyboardShortcutDirectionBehavior;
|
|
2539
|
+
/** Resolves the key the user presses for a semantically registered chord in RTL. */
|
|
2540
|
+
declare function resolveSemanticDirectionalKey(storedKey: string, rtl: boolean): string;
|
|
2541
|
+
/** Chord string with directional key mirrored for RTL display/matching when semantic. */
|
|
2542
|
+
declare function resolveDisplayShortcutChord(chord: AXPKeyboardShortcutChord, isRtl: boolean, explicitDirectionBehavior?: AXPKeyboardShortcutDirectionBehavior): string;
|
|
2543
|
+
interface ParsedShortcut {
|
|
2544
|
+
ctrl: boolean;
|
|
2545
|
+
shift: boolean;
|
|
2546
|
+
alt: boolean;
|
|
2547
|
+
meta: boolean;
|
|
2548
|
+
key: string;
|
|
2549
|
+
}
|
|
2550
|
+
/**
|
|
2551
|
+
* Parses a shortcut chord such as `Enter`, `Escape`, or `ctrl+shift+s`.
|
|
2552
|
+
*/
|
|
2553
|
+
declare function parseKeyboardShortcutChord(chord: AXPKeyboardShortcutChord): ParsedShortcut;
|
|
2554
|
+
/**
|
|
2555
|
+
* Returns true when the keyboard event matches the given chord.
|
|
2556
|
+
* On macOS, `ctrl+*` chords also match `meta+*` for common platform shortcuts.
|
|
2557
|
+
*/
|
|
2558
|
+
declare function matchesKeyboardShortcutChord(event: KeyboardEvent, chord: AXPKeyboardShortcutChord, options?: AXPKeyboardShortcutFormatOptions): boolean;
|
|
2559
|
+
/**
|
|
2560
|
+
* Formats one chord for UI display (OS-aware modifier symbols).
|
|
2561
|
+
*/
|
|
2562
|
+
declare function formatKeyboardShortcutChord(chord: AXPKeyboardShortcutChord, options?: AXPKeyboardShortcutFormatOptions): string;
|
|
2563
|
+
/**
|
|
2564
|
+
* Formats multiple chords as a single display string (e.g. `← / PgUp`).
|
|
2565
|
+
*/
|
|
2566
|
+
declare function formatKeyboardShortcutChords(chords: readonly AXPKeyboardShortcutChord[], options?: AXPKeyboardShortcutFormatOptions): string;
|
|
2567
|
+
/** Maps a chord to `ax-kbd-item` key parts (modifiers + display symbols). */
|
|
2568
|
+
declare function chordToKbdItemKeys(chord: AXPKeyboardShortcutChord, options?: AXPKeyboardShortcutFormatOptions): string[];
|
|
2569
|
+
/**
|
|
2570
|
+
* When focus is in a native edit control, avoid stealing plain key shortcuts.
|
|
2571
|
+
*/
|
|
2572
|
+
declare function isKeyboardTargetInsideEditableField(target: EventTarget | null): boolean;
|
|
2573
|
+
/**
|
|
2574
|
+
* Returns true when Esc should close an open widget overlay first (select, date picker, popover, modal).
|
|
2575
|
+
* Used by the global shortcut registry so page-level Esc bindings do not swallow overlay dismiss.
|
|
2576
|
+
*/
|
|
2577
|
+
declare function shouldDeferEscapeToOpenOverlay(document: Document): boolean;
|
|
2578
|
+
declare function isMacPlatform(): boolean;
|
|
2579
|
+
|
|
2580
|
+
/**
|
|
2581
|
+
* Normalizes a declarative shortcut (`'ctrl+s'` or `{ keys: 'home', allowInEditableFields: false }`).
|
|
2582
|
+
*/
|
|
2583
|
+
declare function normalizeKeyboardShortcut(shortcut: AXPKeyboardShortcut): AXPResolvedKeyboardShortcut | undefined;
|
|
2584
|
+
/**
|
|
2585
|
+
* Normalizes an array of declarative shortcuts. Empty or invalid entries are skipped.
|
|
2586
|
+
*/
|
|
2587
|
+
declare function normalizeKeyboardShortcuts(shortcuts?: readonly AXPKeyboardShortcut[]): AXPResolvedKeyboardShortcut[];
|
|
2588
|
+
/** Returns the first chord from declarative shortcuts (for UI hints such as `ax-kbd`). */
|
|
2589
|
+
declare function getPrimaryKeyboardShortcutChord(shortcuts?: readonly AXPKeyboardShortcut[]): AXPKeyboardShortcutChord | undefined;
|
|
2590
|
+
|
|
2591
|
+
interface AXPKeyboardShortcutRegisterOptions extends AXPKeyboardShortcutRegistration {
|
|
2592
|
+
/** Auto-unregister when the owner is destroyed. */
|
|
2593
|
+
owner: DestroyRef;
|
|
2594
|
+
/** When set, shortcuts are active only while the element is connected to the document. */
|
|
2595
|
+
elementRef?: ElementRef<HTMLElement>;
|
|
2596
|
+
}
|
|
2597
|
+
declare class AXPKeyboardShortcutRegistry {
|
|
2598
|
+
private readonly document;
|
|
2599
|
+
private readonly localeService;
|
|
2600
|
+
private readonly activeProfile;
|
|
2601
|
+
private readonly registrations;
|
|
2602
|
+
private helpDialogHandler;
|
|
2603
|
+
private listenerAttached;
|
|
2604
|
+
/** Active shortcut entries for the help dialog. */
|
|
2605
|
+
readonly helpEntries: i0.Signal<AXPKeyboardShortcutHelpEntry[]>;
|
|
2606
|
+
/**
|
|
2607
|
+
* Registers a scope of shortcuts. Unregisters automatically when `owner` is destroyed.
|
|
2608
|
+
*/
|
|
2609
|
+
register(options: AXPKeyboardShortcutRegisterOptions): void;
|
|
2610
|
+
/**
|
|
2611
|
+
* Wires the F1 help dialog opener (provided by platform/common).
|
|
2612
|
+
*/
|
|
2613
|
+
setHelpDialogHandler(handler: () => void | Promise<void>): void;
|
|
2614
|
+
/** OS-aware display string for UI hints. */
|
|
2615
|
+
formatDisplayKeys(chords: readonly AXPKeyboardShortcutChord[]): string;
|
|
2616
|
+
private ensureHelpShortcutRegistered;
|
|
2617
|
+
private createRegistrationId;
|
|
2618
|
+
private unregister;
|
|
2619
|
+
private ensureListener;
|
|
2620
|
+
private readonly onDocumentKeyDown;
|
|
2621
|
+
private resolveActiveCandidates;
|
|
2622
|
+
private isRegistrationActive;
|
|
2623
|
+
private isRtlProfile;
|
|
2624
|
+
private buildHelpEntries;
|
|
2625
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPKeyboardShortcutRegistry, never>;
|
|
2626
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXPKeyboardShortcutRegistry>;
|
|
2627
|
+
}
|
|
2628
|
+
|
|
2405
2629
|
/**
|
|
2406
2630
|
* Feature definition in module manifest.
|
|
2407
2631
|
* Defines available features with default values.
|
|
@@ -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, 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 };
|
|
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, 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, MODULE_MANIFESTS_DATASOURCE_NAME, PLATFORM_CATALOG_SCOPES_DATASOURCE_NAME, 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`). */
|
|
@@ -937,6 +937,11 @@ declare class AXPQueryFiltersComponent {
|
|
|
937
937
|
private filterOperatorMiddleware;
|
|
938
938
|
private settingsService;
|
|
939
939
|
private readonly expressionEvaluator;
|
|
940
|
+
private readonly shortcutRegistry;
|
|
941
|
+
private readonly destroyRef;
|
|
942
|
+
private readonly elementRef;
|
|
943
|
+
protected readonly filterFocusShortcutKeys: string[];
|
|
944
|
+
constructor();
|
|
940
945
|
filtersDefinitions: _angular_core.InputSignal<AXPFilterDefinition[]>;
|
|
941
946
|
initialFilters: _angular_core.InputSignal<AXPFilterQuery[]>;
|
|
942
947
|
onFiltersChanged: _angular_core.OutputEmitterRef<AXPFilterQuery[]>;
|
|
@@ -992,7 +997,6 @@ declare class AXPQueryFiltersComponent {
|
|
|
992
997
|
private getFilterEventScope;
|
|
993
998
|
private getFilterWidgetScopeForDefinition;
|
|
994
999
|
private removeFilterFieldByName;
|
|
995
|
-
protected handleKeyboardEvent(event: KeyboardEvent): Promise<void>;
|
|
996
1000
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPQueryFiltersComponent, never>;
|
|
997
1001
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPQueryFiltersComponent, "axp-query-filters", never, { "filtersDefinitions": { "alias": "filtersDefinitions"; "required": false; "isSignal": true; }; "initialFilters": { "alias": "initialFilters"; "required": false; "isSignal": true; }; }, { "onFiltersChanged": "onFiltersChanged"; }, never, never, true, never>;
|
|
998
1002
|
}
|
|
@@ -2474,6 +2478,9 @@ interface AXPSpreadsheetConfig {
|
|
|
2474
2478
|
|
|
2475
2479
|
declare class AXPSpreadsheetComponent {
|
|
2476
2480
|
protected readonly translationService: AXTranslationService;
|
|
2481
|
+
private readonly shortcutRegistry;
|
|
2482
|
+
private readonly destroyRef;
|
|
2483
|
+
private readonly elementRef;
|
|
2477
2484
|
/**
|
|
2478
2485
|
* Translated column titles
|
|
2479
2486
|
*/
|
|
@@ -2647,10 +2654,6 @@ declare class AXPSpreadsheetComponent {
|
|
|
2647
2654
|
* Handle blur event to stop editing (when user clicks away from cell)
|
|
2648
2655
|
*/
|
|
2649
2656
|
protected handleCellBlur(rowId: string, columnName: string): void;
|
|
2650
|
-
/**
|
|
2651
|
-
* Handle Escape key to cancel editing
|
|
2652
|
-
*/
|
|
2653
|
-
protected handleKeyDown(event: KeyboardEvent): void;
|
|
2654
2657
|
/**
|
|
2655
2658
|
* Commit cell edit (save changes and close editing mode)
|
|
2656
2659
|
*/
|
|
@@ -3009,8 +3012,7 @@ declare class AXPUserAvatarComponent implements OnInit, OnDestroy {
|
|
|
3009
3012
|
ngOnDestroy(): void;
|
|
3010
3013
|
private loadUserData;
|
|
3011
3014
|
/**
|
|
3012
|
-
*
|
|
3013
|
-
* This is a placeholder - implement based on your actual requirements
|
|
3015
|
+
* Resolves avatar image URL from user data and resets load state.
|
|
3014
3016
|
*/
|
|
3015
3017
|
private generateAvatarSrc;
|
|
3016
3018
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPUserAvatarComponent, never>;
|