@acorex/platform 21.0.0-next.70 → 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 +3798 -1674
- package/fesm2022/acorex-platform-common.mjs.map +1 -1
- package/fesm2022/acorex-platform-core.mjs +1362 -97
- package/fesm2022/acorex-platform-core.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-builder.mjs +446 -44
- package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-components.mjs +149 -109
- 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 +823 -594
- package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-views.mjs +845 -218
- package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-widget-core.mjs +122 -33
- 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 +312 -676
- 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 +89 -46
- package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
- package/fesm2022/acorex-platform-themes-shared.mjs +50 -30
- package/fesm2022/acorex-platform-themes-shared.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 +899 -256
- package/types/acorex-platform-core.d.ts +394 -60
- package/types/acorex-platform-layout-builder.d.ts +78 -13
- package/types/acorex-platform-layout-components.d.ts +30 -24
- package/types/acorex-platform-layout-entity.d.ts +93 -44
- package/types/acorex-platform-layout-views.d.ts +162 -42
- package/types/acorex-platform-layout-widget-core.d.ts +60 -33
- package/types/acorex-platform-layout-widgets.d.ts +48 -20
- package/types/acorex-platform-themes-default.d.ts +38 -8
- package/types/acorex-platform-themes-shared.d.ts +6 -0
- package/types/acorex-platform-workflow.d.ts +1 -1
- 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
|
@@ -4,13 +4,25 @@ import * as i1 from '@angular/common';
|
|
|
4
4
|
import { AXFormComponent } from '@acorex/components/form';
|
|
5
5
|
import { AXValidationSummary } from '@acorex/core/validation';
|
|
6
6
|
import { AXPWidgetNode, AXPWidgetRenderMode, AXPWidgetContainerComponent, AXPWidgetCoreElementAction } from '@acorex/platform/layout/widget-core';
|
|
7
|
-
import { AXDataSource } from '@acorex/cdk/common';
|
|
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 {
|
|
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
|
+
/** Resolved chord string used by dialog footer shortcut matching. */
|
|
15
|
+
type AXPDialogActionShortcut = AXPKeyboardShortcutChord;
|
|
16
|
+
declare const DEFAULT_CANCEL_DIALOG_ACTION_SHORTCUTS: readonly AXPDialogActionShortcut[];
|
|
17
|
+
declare const DEFAULT_SUBMIT_DIALOG_ACTION_SHORTCUTS: readonly AXPDialogActionShortcut[];
|
|
18
|
+
interface AXPDialogActionOptions {
|
|
19
|
+
/**
|
|
20
|
+
* Additional keyboard shortcuts for this action (e.g. `'ctrl+s'` or `{ keys: 'ctrl+s' }`).
|
|
21
|
+
* Merged with built-in defaults for `cancel` / `submit`. Pass `[]` to disable all shortcuts.
|
|
22
|
+
*/
|
|
23
|
+
shortcuts?: AXPKeyboardShortcut[];
|
|
24
|
+
}
|
|
25
|
+
|
|
14
26
|
/**
|
|
15
27
|
* Extended widget node properties (excluding type, path, name, options, children)
|
|
16
28
|
* These properties can be passed as a third parameter to customWidget method
|
|
@@ -254,6 +266,14 @@ interface AXPFormFieldOptions extends LayoutWidgetOptions {
|
|
|
254
266
|
hint?: AXPMultiLanguageString;
|
|
255
267
|
hintDisplayMode?: AXPFormFieldHintDisplayMode;
|
|
256
268
|
}
|
|
269
|
+
interface AXPDialogCloseConfirmationOptions {
|
|
270
|
+
/** When false, dirty-close confirmation is disabled even if the builder flag is set. */
|
|
271
|
+
enabled?: boolean;
|
|
272
|
+
title?: AXPMultiLanguageString;
|
|
273
|
+
message?: AXPMultiLanguageString;
|
|
274
|
+
/** Custom dirty check; defaults to user-origin context paths plus composite widget `api().isDirty()`. */
|
|
275
|
+
isDirty?: (context: Record<string, unknown>, baseline: Record<string, unknown>) => boolean;
|
|
276
|
+
}
|
|
257
277
|
interface AXPDialogContainerOptions extends LayoutWidgetOptions {
|
|
258
278
|
title?: string;
|
|
259
279
|
message?: string;
|
|
@@ -261,6 +281,11 @@ interface AXPDialogContainerOptions extends LayoutWidgetOptions {
|
|
|
261
281
|
closeButton?: boolean;
|
|
262
282
|
context?: any;
|
|
263
283
|
metadata?: AXPMetaData;
|
|
284
|
+
/**
|
|
285
|
+
* When enabled, prompts before dismiss (cancel, Esc, header close) if dialog context is dirty.
|
|
286
|
+
* Set via {@link IDialogBuilder.confirmCloseWhenDirty}.
|
|
287
|
+
*/
|
|
288
|
+
confirmCloseWhenDirty?: boolean | AXPDialogCloseConfirmationOptions;
|
|
264
289
|
/**
|
|
265
290
|
* When set, invoked on footer action with {@link AXPDialogRef}.
|
|
266
291
|
* Set via {@link IDialogBuilder.onAction}.
|
|
@@ -277,6 +302,7 @@ interface AXPLayoutBuilderDialogConfig {
|
|
|
277
302
|
metadata?: AXPMetaData;
|
|
278
303
|
actions: NonNullable<DialogBuilderState['actions']>;
|
|
279
304
|
onAction?: (dialogRef: AXPDialogRef) => unknown | Promise<unknown>;
|
|
305
|
+
confirmCloseWhenDirty?: AXPDialogCloseConfirmationOptions;
|
|
280
306
|
}
|
|
281
307
|
interface RichTextOptions extends ValueWidgetOptions {
|
|
282
308
|
placeholder?: AXPMultiLanguageString;
|
|
@@ -436,22 +462,24 @@ type WidgetBuilderState = AXPWidgetNode & {
|
|
|
436
462
|
type FormFieldBuilderState = AXPWidgetNode & {
|
|
437
463
|
layout?: AXPGridLayoutOptions;
|
|
438
464
|
};
|
|
465
|
+
/** Dialog footer action item; extends menu actions with placement. */
|
|
466
|
+
type AXPDialogActionMenuItem = AXPActionMenuItem & {
|
|
467
|
+
position?: 'prefix' | 'suffix';
|
|
468
|
+
};
|
|
439
469
|
type DialogBuilderState = AXPWidgetNode & {
|
|
440
470
|
layout?: AXPGridLayoutOptions;
|
|
441
471
|
dialogOptions?: AXPDialogContainerOptions;
|
|
442
472
|
actions?: {
|
|
443
473
|
footer?: {
|
|
444
|
-
prefix?:
|
|
445
|
-
suffix?:
|
|
474
|
+
prefix?: AXPDialogActionMenuItem[];
|
|
475
|
+
suffix?: AXPDialogActionMenuItem[];
|
|
446
476
|
};
|
|
447
477
|
};
|
|
448
478
|
};
|
|
449
479
|
interface IActionBuilder {
|
|
450
|
-
cancel(text?: string): IActionBuilder;
|
|
451
|
-
submit(text?: string): IActionBuilder;
|
|
452
|
-
custom(action:
|
|
453
|
-
position?: 'prefix' | 'suffix';
|
|
454
|
-
}): IActionBuilder;
|
|
480
|
+
cancel(text?: string, options?: AXPDialogActionOptions): IActionBuilder;
|
|
481
|
+
submit(text?: string, options?: AXPDialogActionOptions): IActionBuilder;
|
|
482
|
+
custom(action: AXPDialogActionMenuItem, options?: AXPDialogActionOptions): IActionBuilder;
|
|
455
483
|
}
|
|
456
484
|
interface ILayoutBuilder {
|
|
457
485
|
grid(delegate: (container: IGridContainerBuilder) => void): ILayoutBuilder;
|
|
@@ -626,6 +654,10 @@ interface IDialogBuilder<T = AXPDialogRef> {
|
|
|
626
654
|
* If handler returns, dialog closes and show() resolves with the return value.
|
|
627
655
|
*/
|
|
628
656
|
onAction(handler: (dialogRef: AXPDialogRef) => T | Promise<T>): IDialogBuilder<T>;
|
|
657
|
+
/**
|
|
658
|
+
* Prompts for confirmation before dismiss when the dialog context is dirty (cancel, Esc, header close).
|
|
659
|
+
*/
|
|
660
|
+
confirmCloseWhenDirty(options?: boolean | AXPDialogCloseConfirmationOptions): IDialogBuilder<T>;
|
|
629
661
|
addCustomAction(action: AXPActionMenuItem): IDialogBuilder<T>;
|
|
630
662
|
build(): AXPWidgetNode;
|
|
631
663
|
show(): Promise<T>;
|
|
@@ -708,7 +740,7 @@ declare class AXPLayoutRendererComponent implements OnInit {
|
|
|
708
740
|
* Prefer explicit {@link AXPWidgetNode.mode} on the root node (e.g. dialog flex `mode('view')`)
|
|
709
741
|
* so nested widgets resolve view vs edit correctly; fall back to the layout `mode` input.
|
|
710
742
|
*/
|
|
711
|
-
protected effectiveRenderMode: _angular_core.Signal<"view" | "edit" | "column" | "designer" | "print"
|
|
743
|
+
protected effectiveRenderMode: _angular_core.Signal<"filter" | "view" | "edit" | "column" | "designer" | "print">;
|
|
712
744
|
/**
|
|
713
745
|
* Convert layout data to widget tree when inputs change
|
|
714
746
|
*/
|
|
@@ -911,9 +943,21 @@ declare class AXPDialogRendererComponent extends AXBasePageComponent implements
|
|
|
911
943
|
private expressionEvaluator;
|
|
912
944
|
private readonly commandService;
|
|
913
945
|
private readonly hookService;
|
|
946
|
+
private readonly unsavedChangesConfirm;
|
|
947
|
+
private readonly overlayService;
|
|
948
|
+
private readonly translationService;
|
|
949
|
+
private readonly document;
|
|
950
|
+
private readonly host;
|
|
914
951
|
private dialogResult?;
|
|
915
952
|
/** Ensures `show()` resolves once when the dialog closes (footer action or header close). */
|
|
916
953
|
private callbackInvoked;
|
|
954
|
+
/** Callback payload applied when a dismiss is allowed in {@link onClosing}. */
|
|
955
|
+
private pendingDismissResolvePayload?;
|
|
956
|
+
/** Skips dirty confirmation on the next {@link onClosing} (successful submit / programmatic close). */
|
|
957
|
+
private skipNextOnClosingDirtyCheck;
|
|
958
|
+
/** Blocks re-entrant {@link onClosing} while the first close gate is still resolving. */
|
|
959
|
+
private closeGateInProgress;
|
|
960
|
+
private readonly destroyRef;
|
|
917
961
|
context: _angular_core.WritableSignal<any>;
|
|
918
962
|
callBack: (result: unknown) => void;
|
|
919
963
|
data: any;
|
|
@@ -924,7 +968,24 @@ declare class AXPDialogRendererComponent extends AXBasePageComponent implements
|
|
|
924
968
|
* Correlate layout context snapshots for distributed hooks (`layout-builder.dialog.context-changed`).
|
|
925
969
|
*/
|
|
926
970
|
private readonly contextChangedHooksSessionKey;
|
|
971
|
+
/**
|
|
972
|
+
* Capture-phase footer shortcuts — runs before widget editors (select, date, text) that stop keydown bubbling.
|
|
973
|
+
*/
|
|
974
|
+
private readonly onDialogShortcutCapture;
|
|
927
975
|
ngOnInit(): void;
|
|
976
|
+
/**
|
|
977
|
+
* Popup shell hook — handles header **X** and **Esc** (when `closeButton` is enabled).
|
|
978
|
+
* This is the only place that prompts for unsaved changes.
|
|
979
|
+
*/
|
|
980
|
+
onClosing(e: AXComponentClosing): Promise<void>;
|
|
981
|
+
/**
|
|
982
|
+
* Footer cancel and other in-app dismiss actions. Routes through `super.close()` so the
|
|
983
|
+
* popup shell invokes {@link onClosing} exactly once (same path as **X** / **Esc**).
|
|
984
|
+
*/
|
|
985
|
+
private requestDismiss;
|
|
986
|
+
/** Invokes `show()` callback with the pending payload or a default cancel {@link AXPDialogRef}. */
|
|
987
|
+
private completeDismissResolve;
|
|
988
|
+
private getWidgetContainer;
|
|
928
989
|
private layoutRenderer;
|
|
929
990
|
private debounceTimer?;
|
|
930
991
|
handleContextChanged(event: any): void;
|
|
@@ -935,6 +996,8 @@ declare class AXPDialogRendererComponent extends AXBasePageComponent implements
|
|
|
935
996
|
isFormLoading(): boolean;
|
|
936
997
|
isSubmitting(): boolean;
|
|
937
998
|
executeAction(action: AXPWidgetCoreElementAction): Promise<void>;
|
|
999
|
+
private isDialogDirty;
|
|
1000
|
+
private confirmDismissIfDirty;
|
|
938
1001
|
/** Whether the layout form should be validated before running this footer command. */
|
|
939
1002
|
private shouldValidateBeforeAction;
|
|
940
1003
|
/** True when a footer handler or command result asks to leave the dialog open (`keepDialogOpen` on the result or `result.data`). */
|
|
@@ -947,7 +1010,9 @@ declare class AXPDialogRendererComponent extends AXBasePageComponent implements
|
|
|
947
1010
|
private resolveActionCommandName;
|
|
948
1011
|
private parseWidgetCommand;
|
|
949
1012
|
private invokeWidget;
|
|
950
|
-
close(result?: DialogRendererResult
|
|
1013
|
+
close(result?: DialogRendererResult, options?: {
|
|
1014
|
+
skipDirtyConfirm?: boolean;
|
|
1015
|
+
}): Promise<void>;
|
|
951
1016
|
private aggregateAndEvaluateActions;
|
|
952
1017
|
private collectWidgetActions;
|
|
953
1018
|
private collectDialogActionsFromConfig;
|
|
@@ -1001,5 +1066,5 @@ declare class AXPPreviewWidgetFieldCommand implements AXPCommand<AXPPreviewWidge
|
|
|
1001
1066
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPPreviewWidgetFieldCommand>;
|
|
1002
1067
|
}
|
|
1003
1068
|
|
|
1004
|
-
export { AXPDialogRendererComponent, AXPLayoutBuilderService, AXPLayoutConversionService, AXPLayoutRendererComponent, AXPPreviewWidgetFieldCommand, AXP_LAYOUT_BUILDER_DIALOG_BEFORE_OPEN_HOOK_KEY, AXP_LAYOUT_BUILDER_DIALOG_CONFIG_HOOK_KEY, AXP_LAYOUT_BUILDER_DIALOG_CONTEXT_CHANGED_HOOK_KEY, AXP_PREVIEW_WIDGET_FIELD_COMMAND_KEY, LayoutBuilderModule, createDismissedDialogRef };
|
|
1005
|
-
export type { AXPDialogContainerOptions, AXPDialogRef, AXPDynamicFormDefinition, AXPDynamicFormDirection, AXPDynamicFormFieldDefinition, AXPDynamicFormGroupDefinition, AXPDynamicFormLook, AXPDynamicFormMode, AXPFieldsetContainerOptions, AXPFlexContainerOptions, AXPFormFieldHintDisplayMode, AXPFormFieldOptions, AXPGridContainerOptions, AXPLayoutBuilderDialogBeforeOpenPayload, AXPLayoutBuilderDialogConfig, AXPLayoutBuilderDialogContextChangedPayload, AXPListWidgetColumn, AXPListWidgetOptions, AXPListWidgetRowCommand, AXPPageContainerOptions, AXPPanelContainerOptions, AXPPreviewWidgetFieldCommandInput, AXPStepDefinition, AXPStepWizardContainerOptions, AXPStepWizardDefinition, AXPStepWizardGuardPayload, AXPStepWizardStatus, AXPTabsetContainerOptions, AXPWidgetConfiguration, AXPWidgetNodeExtendedProperties, AXPWizardActionDefinition, AXPWizardActions, ColorBoxOptions, DateTimeBoxOptions, DialogBuilderState, DialogRendererConfig, DialogRendererResult, FormFieldBuilderState, IActionBuilder, IBaseContainerBuilder, IChildContainerBuilder, IDialogBuilder, IFieldsetContainerBuilder, IFlexContainerBuilder, IFormFieldBuilder, IGridContainerBuilder, ILayoutBuilder, ILayoutContainerBuilder, IListWidgetBuilder, IPageContainerBuilder, IPanelContainerBuilder, IStepBuilder, IStepWizardBuilder, ITabsetContainerBuilder, IWidgetBuilder, IWidgetContainerBuilder, InheritanceContext, InheritedProperties, LargeTextBoxOptions, LayoutBuilderState, LayoutWidgetOptions, LookupBoxOptions, NumberBoxOptions, PasswordBoxOptions, RichTextOptions, SelectBoxOptions, SelectionListOptions, TextBoxOptions, ToggleSwitchOptions, ValueWidgetOptions, WidgetBuilderState };
|
|
1069
|
+
export { AXPDialogRendererComponent, AXPLayoutBuilderService, AXPLayoutConversionService, AXPLayoutRendererComponent, AXPPreviewWidgetFieldCommand, AXP_LAYOUT_BUILDER_DIALOG_BEFORE_OPEN_HOOK_KEY, AXP_LAYOUT_BUILDER_DIALOG_CONFIG_HOOK_KEY, AXP_LAYOUT_BUILDER_DIALOG_CONTEXT_CHANGED_HOOK_KEY, AXP_PREVIEW_WIDGET_FIELD_COMMAND_KEY, DEFAULT_CANCEL_DIALOG_ACTION_SHORTCUTS, DEFAULT_SUBMIT_DIALOG_ACTION_SHORTCUTS, LayoutBuilderModule, createDismissedDialogRef };
|
|
1070
|
+
export type { AXPDialogActionMenuItem, AXPDialogActionOptions, AXPDialogActionShortcut, AXPDialogCloseConfirmationOptions, AXPDialogContainerOptions, AXPDialogRef, AXPDynamicFormDefinition, AXPDynamicFormDirection, AXPDynamicFormFieldDefinition, AXPDynamicFormGroupDefinition, AXPDynamicFormLook, AXPDynamicFormMode, AXPFieldsetContainerOptions, AXPFlexContainerOptions, AXPFormFieldHintDisplayMode, AXPFormFieldOptions, AXPGridContainerOptions, AXPLayoutBuilderDialogBeforeOpenPayload, AXPLayoutBuilderDialogConfig, AXPLayoutBuilderDialogContextChangedPayload, AXPListWidgetColumn, AXPListWidgetOptions, AXPListWidgetRowCommand, AXPPageContainerOptions, AXPPanelContainerOptions, AXPPreviewWidgetFieldCommandInput, AXPStepDefinition, AXPStepWizardContainerOptions, AXPStepWizardDefinition, AXPStepWizardGuardPayload, AXPStepWizardStatus, AXPTabsetContainerOptions, AXPWidgetConfiguration, AXPWidgetNodeExtendedProperties, AXPWizardActionDefinition, AXPWizardActions, ColorBoxOptions, DateTimeBoxOptions, DialogBuilderState, DialogRendererConfig, DialogRendererResult, FormFieldBuilderState, IActionBuilder, IBaseContainerBuilder, IChildContainerBuilder, IDialogBuilder, IFieldsetContainerBuilder, IFlexContainerBuilder, IFormFieldBuilder, IGridContainerBuilder, ILayoutBuilder, ILayoutContainerBuilder, IListWidgetBuilder, IPageContainerBuilder, IPanelContainerBuilder, IStepBuilder, IStepWizardBuilder, ITabsetContainerBuilder, IWidgetBuilder, IWidgetContainerBuilder, InheritanceContext, InheritedProperties, LargeTextBoxOptions, LayoutBuilderState, LayoutWidgetOptions, LookupBoxOptions, NumberBoxOptions, PasswordBoxOptions, RichTextOptions, SelectBoxOptions, SelectionListOptions, TextBoxOptions, ToggleSwitchOptions, ValueWidgetOptions, WidgetBuilderState };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
-
import { Signal, InjectionToken, InputSignal, TemplateRef, ElementRef, OnDestroy, OnInit, QueryList,
|
|
2
|
+
import { Signal, InjectionToken, InputSignal, TemplateRef, ElementRef, OnDestroy, OnInit, QueryList, Type, EventEmitter, WritableSignal } from '@angular/core';
|
|
3
3
|
import { AXPActivityLog, AXPSystemActionType, AXPCategoryEntity, AXPColumnQuery, AXPContextData, AXPFilterClause, AXPFilterDefinition, AXPFilterQuery, AXPContextChangeEvent, AXPMultiLanguageString, AXPActionMenuItem, AXPExecuteCommand, AXPExecuteCommandResult, containsHtmlMarkup, AXPSortDefinition, AXPSortQuery, AXPMetaData, AXPViewQuery } from '@acorex/platform/core';
|
|
4
4
|
import { AXHtmlEvent, AXValueChangedEvent, AXClickEvent, AXDataSource, AXDataSourceFilterOption, AXDataSourceOperator, AXFilterLogic, AXEvent, AXRange } from '@acorex/cdk/common';
|
|
5
5
|
import * as _ngrx_signals from '@ngrx/signals';
|
|
@@ -155,6 +155,7 @@ declare class AXPTaskBadgeDirective {
|
|
|
155
155
|
overlayLoadingTaskCount: _angular_core.Signal<number>;
|
|
156
156
|
navigationLoadingTaskCount: _angular_core.Signal<number>;
|
|
157
157
|
sideMenuState: _angular_core.Signal<_acorex_platform_themes_shared.AXPSideMenuState>;
|
|
158
|
+
overlaySideMenuOpen: _angular_core.Signal<boolean>;
|
|
158
159
|
sideMenuWidth: _angular_core.Signal<number>;
|
|
159
160
|
sideMenuCompactWidth: _angular_core.Signal<number>;
|
|
160
161
|
menuVerticalMode: _angular_core.Signal<_acorex_platform_themes_shared.AXPMenuVerticalMode>;
|
|
@@ -167,6 +168,7 @@ declare class AXPTaskBadgeDirective {
|
|
|
167
168
|
isOverlayLoading: _angular_core.Signal<boolean>;
|
|
168
169
|
isNavigationLoading: _angular_core.Signal<boolean>;
|
|
169
170
|
isMenuHorizontal: _angular_core.Signal<boolean>;
|
|
171
|
+
effectiveMenuVerticalMode: _angular_core.Signal<_acorex_platform_themes_shared.AXPMenuVerticalMode>;
|
|
170
172
|
sideMenuDrawerWidth: _angular_core.Signal<number>;
|
|
171
173
|
changeThemeMode: (theme: _acorex_platform_themes_shared.AXPThemeMode) => void;
|
|
172
174
|
openSideMenu: () => void;
|
|
@@ -191,6 +193,7 @@ declare class AXPTaskBadgeDirective {
|
|
|
191
193
|
overlayLoadingTaskCount: number;
|
|
192
194
|
navigationLoadingTaskCount: number;
|
|
193
195
|
sideMenuState: _acorex_platform_themes_shared.AXPSideMenuState;
|
|
196
|
+
overlaySideMenuOpen: boolean;
|
|
194
197
|
sideMenuWidth: number;
|
|
195
198
|
sideMenuCompactWidth: number;
|
|
196
199
|
menuVerticalMode: _acorex_platform_themes_shared.AXPMenuVerticalMode;
|
|
@@ -934,6 +937,11 @@ declare class AXPQueryFiltersComponent {
|
|
|
934
937
|
private filterOperatorMiddleware;
|
|
935
938
|
private settingsService;
|
|
936
939
|
private readonly expressionEvaluator;
|
|
940
|
+
private readonly shortcutRegistry;
|
|
941
|
+
private readonly destroyRef;
|
|
942
|
+
private readonly elementRef;
|
|
943
|
+
protected readonly filterFocusShortcutKeys: string[];
|
|
944
|
+
constructor();
|
|
937
945
|
filtersDefinitions: _angular_core.InputSignal<AXPFilterDefinition[]>;
|
|
938
946
|
initialFilters: _angular_core.InputSignal<AXPFilterQuery[]>;
|
|
939
947
|
onFiltersChanged: _angular_core.OutputEmitterRef<AXPFilterQuery[]>;
|
|
@@ -979,13 +987,16 @@ declare class AXPQueryFiltersComponent {
|
|
|
979
987
|
protected onPopoverOpened(e: AXEvent): void;
|
|
980
988
|
protected deactivateAllListItems(): void;
|
|
981
989
|
protected isFilterDisabled(definition: AXPFilterDefinition): boolean;
|
|
990
|
+
/**
|
|
991
|
+
* Resolves filter chip labels; translates i18n keys stored in select `displayText` or datasource titles.
|
|
992
|
+
*/
|
|
993
|
+
private formatFilterDisplayValue;
|
|
982
994
|
private createExpressionScope;
|
|
983
995
|
private isObservableLike;
|
|
984
996
|
private buildFilterTriggerScope;
|
|
985
997
|
private getFilterEventScope;
|
|
986
998
|
private getFilterWidgetScopeForDefinition;
|
|
987
999
|
private removeFilterFieldByName;
|
|
988
|
-
protected handleKeyboardEvent(event: KeyboardEvent): Promise<void>;
|
|
989
1000
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPQueryFiltersComponent, never>;
|
|
990
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>;
|
|
991
1002
|
}
|
|
@@ -1229,24 +1240,21 @@ declare class AXPLayoutSideDetailPanelComponent {
|
|
|
1229
1240
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPLayoutSideDetailPanelComponent, "axp-layout-side-detail-panel", never, { "multiSelectLabel": { "alias": "multiSelectLabel"; "required": false; "isSignal": true; }; "header": { "alias": "header"; "required": false; "isSignal": true; }; "sections": { "alias": "sections"; "required": false; "isSignal": true; }; "rows": { "alias": "rows"; "required": false; "isSignal": true; }; "rowsSectionTitle": { "alias": "rowsSectionTitle"; "required": false; "isSignal": true; }; "noRowsMessage": { "alias": "noRowsMessage"; "required": false; "isSignal": true; }; "emptyState": { "alias": "emptyState"; "required": false; "isSignal": true; }; }, { "panelClose": "panelClose"; }, ["projectedSections"], never, true, never>;
|
|
1230
1241
|
}
|
|
1231
1242
|
|
|
1232
|
-
declare class AXPLogoComponent
|
|
1233
|
-
source: any
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
|
|
1243
|
+
declare class AXPLogoComponent {
|
|
1244
|
+
source: _angular_core.InputSignal<any>;
|
|
1245
|
+
private readonly themeStore;
|
|
1246
|
+
private readonly platformConfig;
|
|
1247
|
+
private readonly deviceService;
|
|
1237
1248
|
protected readonly compactLogoSize = 32;
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
|
|
1241
|
-
private
|
|
1242
|
-
|
|
1243
|
-
|
|
1244
|
-
|
|
1245
|
-
ngOnChanges(): void;
|
|
1246
|
-
private updateActiveSource;
|
|
1247
|
-
private setLogoType;
|
|
1249
|
+
/**
|
|
1250
|
+
* Resolves menu mode with mobile overlay viewports forcing full logo display.
|
|
1251
|
+
*/
|
|
1252
|
+
private readonly resolvedMenuMode;
|
|
1253
|
+
protected readonly activeSource: _angular_core.Signal<any>;
|
|
1254
|
+
protected readonly isCompactLogo: _angular_core.Signal<boolean>;
|
|
1255
|
+
protected readonly logoType: _angular_core.Signal<"icon" | "url" | "component" | undefined>;
|
|
1248
1256
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPLogoComponent, never>;
|
|
1249
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPLogoComponent, "axp-logo", never, { "source": { "alias": "source"; "required": false; }; }, {}, never, never, true, never>;
|
|
1257
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPLogoComponent, "axp-logo", never, { "source": { "alias": "source"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1250
1258
|
}
|
|
1251
1259
|
|
|
1252
1260
|
type MarkdownSegmentType = 'markdown' | 'code';
|
|
@@ -2470,6 +2478,9 @@ interface AXPSpreadsheetConfig {
|
|
|
2470
2478
|
|
|
2471
2479
|
declare class AXPSpreadsheetComponent {
|
|
2472
2480
|
protected readonly translationService: AXTranslationService;
|
|
2481
|
+
private readonly shortcutRegistry;
|
|
2482
|
+
private readonly destroyRef;
|
|
2483
|
+
private readonly elementRef;
|
|
2473
2484
|
/**
|
|
2474
2485
|
* Translated column titles
|
|
2475
2486
|
*/
|
|
@@ -2643,10 +2654,6 @@ declare class AXPSpreadsheetComponent {
|
|
|
2643
2654
|
* Handle blur event to stop editing (when user clicks away from cell)
|
|
2644
2655
|
*/
|
|
2645
2656
|
protected handleCellBlur(rowId: string, columnName: string): void;
|
|
2646
|
-
/**
|
|
2647
|
-
* Handle Escape key to cancel editing
|
|
2648
|
-
*/
|
|
2649
|
-
protected handleKeyDown(event: KeyboardEvent): void;
|
|
2650
2657
|
/**
|
|
2651
2658
|
* Commit cell edit (save changes and close editing mode)
|
|
2652
2659
|
*/
|
|
@@ -3005,8 +3012,7 @@ declare class AXPUserAvatarComponent implements OnInit, OnDestroy {
|
|
|
3005
3012
|
ngOnDestroy(): void;
|
|
3006
3013
|
private loadUserData;
|
|
3007
3014
|
/**
|
|
3008
|
-
*
|
|
3009
|
-
* This is a placeholder - implement based on your actual requirements
|
|
3015
|
+
* Resolves avatar image URL from user data and resets load state.
|
|
3010
3016
|
*/
|
|
3011
3017
|
private generateAvatarSrc;
|
|
3012
3018
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPUserAvatarComponent, never>;
|