@acorex/platform 21.0.0-next.70 → 21.0.0-next.71
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/acorex-platform-common.mjs +11 -0
- package/fesm2022/acorex-platform-common.mjs.map +1 -1
- package/fesm2022/acorex-platform-core.mjs +332 -76
- package/fesm2022/acorex-platform-core.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-builder.mjs +563 -44
- package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-components.mjs +83 -67
- package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-entity.mjs +543 -237
- package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-views.mjs +319 -66
- package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-widget-core.mjs +54 -6
- package/fesm2022/acorex-platform-layout-widget-core.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-widgets.mjs +198 -91
- package/fesm2022/acorex-platform-layout-widgets.mjs.map +1 -1
- package/fesm2022/acorex-platform-themes-default.mjs +13 -14
- 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-common.d.ts +11 -0
- package/types/acorex-platform-core.d.ts +137 -47
- package/types/acorex-platform-layout-builder.d.ts +90 -13
- package/types/acorex-platform-layout-components.d.ts +21 -17
- package/types/acorex-platform-layout-entity.d.ts +63 -10
- package/types/acorex-platform-layout-views.d.ts +68 -6
- package/types/acorex-platform-layout-widget-core.d.ts +43 -8
- package/types/acorex-platform-layout-widgets.d.ts +21 -6
- package/types/acorex-platform-themes-default.d.ts +24 -4
- package/types/acorex-platform-themes-shared.d.ts +6 -0
- package/types/acorex-platform-workflow.d.ts +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as _acorex_platform_core from '@acorex/platform/core';
|
|
2
|
-
import { AXPExecuteCommandResult, AXPMetaData, AXPDataSourceDefinitionProvider, AXPDataSourceDefinition, AXPGridLayoutOptions, AXPMultiLanguageString, AXPBreadcrumbItem, AXPFilterQuery, AXPFilterDefinition, AXPExecuteCommand, AXPQueryRequest, AXPPagedListResult, AXPUserReference, AXPCategoryEntity as AXPCategoryEntity$1, AXPEntityOp, AXPMiddlewareErrorResponse, AXHighlightService, AXPExpression, AXPColumnQuery, AXPSortDefinition, AXPDeviceService, AXPBroadcastEventService, AXPActionMenuItem, AXPFileListItem, AXPContextChangeEvent } from '@acorex/platform/core';
|
|
2
|
+
import { AXPExecuteCommandResult, AXPMetaData, AXPDataSourceDefinitionProvider, AXPDataSourceDefinition, AXPGridLayoutOptions, AXPMultiLanguageString, AXPBreadcrumbItem, AXPFilterQuery, AXPFilterDefinition, AXPExecuteCommand, AXPQueryRequest, AXPPagedListResult, AXPUserReference, AXPCategoryEntity as AXPCategoryEntity$1, AXPEntityOp, AXPMiddlewareErrorResponse, AXHighlightService, AXPExpression, AXPColumnQuery, AXPSortDefinition, AXPDeviceService, AXPBroadcastEventService, AXPActionMenuItem, AXPFileListItem, AXPContextUpdateOrigin, AXPContextChangeEvent } from '@acorex/platform/core';
|
|
3
3
|
import { AXPCommand, AXPQueryExecutor, AXPCommandService, AXPQuery } from '@acorex/platform/runtime';
|
|
4
4
|
import * as _angular_core from '@angular/core';
|
|
5
5
|
import { ElementRef, InjectionToken, Injector, Type, EnvironmentProviders, OnInit, ChangeDetectorRef, OnDestroy } from '@angular/core';
|
|
@@ -1632,6 +1632,14 @@ declare class AXPEntityModule {
|
|
|
1632
1632
|
static ɵinj: _angular_core.ɵɵInjectorDeclaration<AXPEntityModule>;
|
|
1633
1633
|
}
|
|
1634
1634
|
|
|
1635
|
+
/**
|
|
1636
|
+
* Maps storage middleware failures to a command result the details view can surface.
|
|
1637
|
+
*/
|
|
1638
|
+
declare function mapEntityStorageErrorToCommandResult(error: unknown, fallback?: string): AXPExecuteCommandResult;
|
|
1639
|
+
/**
|
|
1640
|
+
* Best-effort plain string for thrown {@link Error} messages from command results (no i18n lookup).
|
|
1641
|
+
*/
|
|
1642
|
+
declare function commandMessageTextForError(value: AXPMultiLanguageString | undefined | null): string;
|
|
1635
1643
|
/**
|
|
1636
1644
|
* Data accessor for entity operations.
|
|
1637
1645
|
* Provides methods to query and execute commands with smart resolution:
|
|
@@ -2925,6 +2933,10 @@ declare class AXPEntityListWidgetViewComponent extends AXPValueWidgetComponent {
|
|
|
2925
2933
|
* Analyzes what has changed between current and previous queries
|
|
2926
2934
|
*/
|
|
2927
2935
|
private analyzeChanges;
|
|
2936
|
+
/**
|
|
2937
|
+
* Maps toolbar sort queries ({ name, dir }) to AXDataSource sort options ({ field, dir }).
|
|
2938
|
+
*/
|
|
2939
|
+
private toDataSourceSortOptions;
|
|
2928
2940
|
/**
|
|
2929
2941
|
* Applies filter and sort changes to the data source
|
|
2930
2942
|
*/
|
|
@@ -2989,7 +3001,11 @@ declare class AXPEditFileUploaderCommand implements AXPCommand<{
|
|
|
2989
3001
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPEditFileUploaderCommand>;
|
|
2990
3002
|
}
|
|
2991
3003
|
|
|
3004
|
+
/** Visual layout for `axp-file-list`. */
|
|
3005
|
+
type AXPFileListLook = 'rows' | 'links';
|
|
3006
|
+
|
|
2992
3007
|
declare class AXPFileListComponent implements OnInit, OnDestroy {
|
|
3008
|
+
private static readonly DOWNLOAD_DEBOUNCE_MS;
|
|
2993
3009
|
private fileTypeService;
|
|
2994
3010
|
private fileStorageService;
|
|
2995
3011
|
private commandExecutor;
|
|
@@ -3004,6 +3020,14 @@ declare class AXPFileListComponent implements OnInit, OnDestroy {
|
|
|
3004
3020
|
/** When true, edit dialog shows name, title and description fields. Default false. */
|
|
3005
3021
|
enableTitleDescription: _angular_core.InputSignal<boolean>;
|
|
3006
3022
|
multiple: _angular_core.InputSignal<boolean>;
|
|
3023
|
+
/** `rows`: file-type icons and action buttons; `links`: compact paperclip links (download on click). */
|
|
3024
|
+
look: _angular_core.InputSignal<AXPFileListLook>;
|
|
3025
|
+
/** i18n key for links look label (template adds trailing colon). */
|
|
3026
|
+
titleKey: _angular_core.InputSignal<string>;
|
|
3027
|
+
/** When false, links look omits the label (e.g. popover body). */
|
|
3028
|
+
showLabel: _angular_core.InputSignal<boolean>;
|
|
3029
|
+
/** `inline`: label + divider; `menu`: compact list for popovers/panels. */
|
|
3030
|
+
linksLayout: _angular_core.InputSignal<"inline" | "menu">;
|
|
3007
3031
|
files: _angular_core.InputSignal<AXPFileListItem[]>;
|
|
3008
3032
|
plugins: _angular_core.InputSignal<{
|
|
3009
3033
|
name: string;
|
|
@@ -3018,6 +3042,8 @@ declare class AXPFileListComponent implements OnInit, OnDestroy {
|
|
|
3018
3042
|
displayFiles: _angular_core.Signal<AXPFileListItem[]>;
|
|
3019
3043
|
private fileIdToActions;
|
|
3020
3044
|
private globalActions;
|
|
3045
|
+
/** Suppress duplicate downloads from double-click (two click events). */
|
|
3046
|
+
private readonly recentDownloadAtByKey;
|
|
3021
3047
|
private filesChangeEffect;
|
|
3022
3048
|
private getDefaultActions;
|
|
3023
3049
|
/** True when the widget is readonly or this file row is locked (`readOnly`). */
|
|
@@ -3026,11 +3052,19 @@ declare class AXPFileListComponent implements OnInit, OnDestroy {
|
|
|
3026
3052
|
private loadActionsFor;
|
|
3027
3053
|
ngOnInit(): Promise<void>;
|
|
3028
3054
|
private loadGlobalActions;
|
|
3055
|
+
private shouldSkipDuplicateDownload;
|
|
3056
|
+
private downloadDedupeKey;
|
|
3057
|
+
/** Ensures `source` is set for links look and legacy rows that only carry storage id on `id`. */
|
|
3058
|
+
private resolveFileForDownload;
|
|
3029
3059
|
protected getFileInfo(fileName: string): {
|
|
3030
3060
|
icon: string;
|
|
3031
3061
|
type: string;
|
|
3032
3062
|
};
|
|
3033
|
-
|
|
3063
|
+
/**
|
|
3064
|
+
* Double-click on a file row (rows look) or link row triggers download.
|
|
3065
|
+
*/
|
|
3066
|
+
protected handleFileRowActivate(event: Event, file: AXPFileListItem): void;
|
|
3067
|
+
handleFileDownload(event: AXClickEvent | Event, file: AXPFileListItem): Promise<void>;
|
|
3034
3068
|
handleFileRemove(event: AXClickEvent, file: AXPFileListItem): Promise<void>;
|
|
3035
3069
|
/**
|
|
3036
3070
|
* Handle revert action – emit the file so parent components can update the status.
|
|
@@ -3044,7 +3078,7 @@ declare class AXPFileListComponent implements OnInit, OnDestroy {
|
|
|
3044
3078
|
runAction(action: any): Promise<void>;
|
|
3045
3079
|
protected getActionColor(action: any): string;
|
|
3046
3080
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPFileListComponent, never>;
|
|
3047
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPFileListComponent, "axp-file-list", never, { "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "fileEditable": { "alias": "fileEditable"; "required": false; "isSignal": true; }; "enableTitleDescription": { "alias": "enableTitleDescription"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "files": { "alias": "files"; "required": false; "isSignal": true; }; "plugins": { "alias": "plugins"; "required": false; "isSignal": true; }; "excludePlugins": { "alias": "excludePlugins"; "required": false; "isSignal": true; }; "capabilities": { "alias": "capabilities"; "required": false; "isSignal": true; }; }, { "onRemove": "onRemove"; "onRevert": "onRevert"; "onRename": "onRename"; }, never, never, true, never>;
|
|
3081
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPFileListComponent, "axp-file-list", never, { "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "fileEditable": { "alias": "fileEditable"; "required": false; "isSignal": true; }; "enableTitleDescription": { "alias": "enableTitleDescription"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "look": { "alias": "look"; "required": false; "isSignal": true; }; "titleKey": { "alias": "titleKey"; "required": false; "isSignal": true; }; "showLabel": { "alias": "showLabel"; "required": false; "isSignal": true; }; "linksLayout": { "alias": "linksLayout"; "required": false; "isSignal": true; }; "files": { "alias": "files"; "required": false; "isSignal": true; }; "plugins": { "alias": "plugins"; "required": false; "isSignal": true; }; "excludePlugins": { "alias": "excludePlugins"; "required": false; "isSignal": true; }; "capabilities": { "alias": "capabilities"; "required": false; "isSignal": true; }; }, { "onRemove": "onRemove"; "onRevert": "onRevert"; "onRename": "onRename"; }, never, never, true, never>;
|
|
3048
3082
|
}
|
|
3049
3083
|
|
|
3050
3084
|
/** Stable fingerprint for one file row; ignores Blob binary content. */
|
|
@@ -3120,12 +3154,29 @@ declare function isFileUploaderEditDialogAuto(editDialog?: AXPFileUploaderEditDi
|
|
|
3120
3154
|
declare function hasFileUploaderTitleOrDescriptionFields(editDialog?: AXPFileUploaderEditDialogOptions): boolean;
|
|
3121
3155
|
|
|
3122
3156
|
declare class AXPFileUploaderWidgetColumnComponent extends AXPColumnWidgetComponent<AXPFileListItem[]> {
|
|
3123
|
-
|
|
3157
|
+
private readonly queryExecutor;
|
|
3158
|
+
private readonly entityResolver;
|
|
3159
|
+
private readonly formatService;
|
|
3160
|
+
private readonly translation;
|
|
3161
|
+
protected readonly fileListTrigger: _angular_core.Signal<ElementRef<any> | undefined>;
|
|
3162
|
+
protected readonly fileListPopover: _angular_core.Signal<AXPopoverComponent | undefined>;
|
|
3163
|
+
protected readonly fileCount: _angular_core.WritableSignal<number>;
|
|
3164
|
+
protected readonly popoverFiles: _angular_core.WritableSignal<AXPFileListItem[]>;
|
|
3165
|
+
protected readonly loadStatus: _angular_core.WritableSignal<"error" | "idle" | "loading" | "ready">;
|
|
3166
|
+
protected readonly loadError: _angular_core.WritableSignal<string | null>;
|
|
3167
|
+
protected readonly isPopoverOpen: _angular_core.WritableSignal<boolean>;
|
|
3168
|
+
private readonly entityDef;
|
|
3124
3169
|
private loadRequestId;
|
|
3125
|
-
private
|
|
3126
|
-
private
|
|
3170
|
+
private popoverLoadRequestId;
|
|
3171
|
+
private previousRowId;
|
|
3172
|
+
protected readonly entityScope: _angular_core.Signal<_acorex_platform_layout_entity.AXPFileUploaderEntityFilesScope | undefined>;
|
|
3173
|
+
protected readonly popoverTitle: _angular_core.Signal<_acorex_core_translation.AXMultiLanguageString>;
|
|
3127
3174
|
constructor();
|
|
3128
|
-
|
|
3175
|
+
protected openFileListPopover(): void;
|
|
3176
|
+
protected onPopoverOpenChange(event: unknown): void;
|
|
3177
|
+
private openPopoverFromRef;
|
|
3178
|
+
private ensurePopoverFilesLoaded;
|
|
3179
|
+
private coercePopoverOpenEvent;
|
|
3129
3180
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPFileUploaderWidgetColumnComponent, never>;
|
|
3130
3181
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPFileUploaderWidgetColumnComponent, "axp-file-uploader-widget-column", never, { "rawValue": { "alias": "rawValue"; "required": false; }; "rowData": { "alias": "rowData"; "required": false; }; }, {}, never, never, true, never>;
|
|
3131
3182
|
}
|
|
@@ -3693,7 +3744,9 @@ declare class AXPLookupWidgetEditComponent extends AXPValueWidgetComponent<any>
|
|
|
3693
3744
|
protected handleCreateClick(_e: AXClickEvent): Promise<void>;
|
|
3694
3745
|
private executeCreate;
|
|
3695
3746
|
protected setLoading: (loading: boolean) => void;
|
|
3696
|
-
protected setItems: (items: any[]
|
|
3747
|
+
protected setItems: (items: any[], options?: {
|
|
3748
|
+
origin?: AXPContextUpdateOrigin;
|
|
3749
|
+
}) => void;
|
|
3697
3750
|
/**
|
|
3698
3751
|
* Writes expose targets into context using per-path updates.
|
|
3699
3752
|
* Avoids `contextService.patch()` with nested objects: patch shallow-merges top-level keys only,
|
|
@@ -4435,5 +4488,5 @@ declare class AXPShowListViewAction extends AXPWorkflowAction {
|
|
|
4435
4488
|
}
|
|
4436
4489
|
declare const AXPShowListViewWorkflow: AXPWorkflow;
|
|
4437
4490
|
|
|
4438
|
-
export { ATTACHMENTS_PAGE_COMPONENT_KEY, AXMEntityCrudService, AXMEntityCrudServiceImpl, AXPCategoryTreeService, AXPCreateEntityCommand, AXPCreateEntityWorkflow, AXPDataSeederService, AXPDeleteEntityWorkflow, AXPEditFileUploaderCommand, AXPEntitiesListDataSourceDefinition, AXPEntityApplyUpdatesAction, AXPEntityCategoryTreeSelectorComponent, AXPEntityCategoryWidget, AXPEntityCategoryWidgetColumnComponent, AXPEntityCategoryWidgetEditComponent, AXPEntityCategoryWidgetViewComponent, AXPEntityCommandTriggerViewModel, AXPEntityCreateEvent, AXPEntityCreatePopupAction, AXPEntityCreateSubmittedAction, AXPEntityCreateViewElementViewModel, AXPEntityCreateViewModelFactory, AXPEntityCreateViewSectionViewModel, AXPEntityDataProvider, AXPEntityDataProviderImpl, AXPEntityDataSelectorRowActionsService, AXPEntityDataSelectorService, AXPEntityDefinitionProviderWidget, AXPEntityDefinitionProviderWidgetEditComponent, AXPEntityDefinitionRegistryService, AXPEntityDeletedEvent, AXPEntityDetailListViewModel, AXPEntityDetailPopoverComponent, AXPEntityDetailPopoverService, AXPEntityDetailViewModelFactory, AXPEntityDetailViewModelResolver, AXPEntityEventDispatcherService, AXPEntityEventsKeys, AXPEntityFormBuilderService, AXPEntityListPersistenceModeDefault, AXPEntityListTableService, AXPEntityListToolbarService, AXPEntityListViewCardFieldViewModel, AXPEntityListViewColumnViewModel, AXPEntityListViewModelFactory, AXPEntityListViewModelResolver, AXPEntityListWidget, AXPEntityListWidgetViewComponent, AXPEntityMasterCreateViewModel, AXPEntityMasterListCardSelectActionName, AXPEntityMasterListViewModel, AXPEntityMasterListViewQueryViewModel, AXPEntityMasterSingleElementViewModel, AXPEntityMasterSingleViewGroupViewModel, AXPEntityMasterSingleViewModel, AXPEntityMasterUpdateElementViewModel, AXPEntityMasterUpdateViewModel, AXPEntityMasterUpdateViewModelFactory, AXPEntityMiddleware, AXPEntityModifyConfirmedAction, AXPEntityModifyEvent, AXPEntityModifySectionPopupAction, AXPEntityModule, AXPEntityPerformDeleteAction, AXPEntityPreloadFiltersContainerComponent, AXPEntityPreloadFiltersViewModel, AXPEntityPreloadFiltersViewModelResolver, AXPEntityResolver, AXPEntityService, AXPEntityStorageService, AXPEntityUpdateViewSectionViewModel, AXPFileListComponent, AXPFileUploaderLoadFilesQuery, AXPFileUploaderSaveFilesCommand, AXPFileUploaderWidget, AXPFileUploaderWidgetColumnComponent, AXPFileUploaderWidgetEditComponent, AXPFileUploaderWidgetService, AXPFileUploaderWidgetViewComponent, AXPGetEntityDetailsQuery, AXPLayoutOrderingConfigService, AXPLookupWidget, AXPLookupWidgetColumnComponent, AXPLookupWidgetEditComponent, AXPLookupWidgetViewComponent, AXPMiddlewareAbortError, AXPMiddlewareEntityStorageService, AXPModifyEntitySectionWorkflow, AXPMultiSourceDefinitionProviderContext, AXPMultiSourceDefinitionProviderService, AXPMultiSourceFederatedSearchService, AXPMultiSourceSelectorComponent, AXPMultiSourceSelectorService, AXPMultiSourceSelectorWidget, AXPMultiSourceSelectorWidgetColumnComponent, AXPMultiSourceSelectorWidgetEditComponent, AXPMultiSourceSelectorWidgetViewComponent, AXPMultiSourceType, AXPOpenEntityDetailsCommand, AXPQuickEntityModifyPopupAction, AXPQuickModifyEntityWorkflow, AXPRelatedColumnEnrichmentService, AXPRelatedColumnMetadataResolver, AXPSelectorStructureWidget, AXPSelectorStructureWidgetColumnComponent, AXPSelectorStructureWidgetEditComponent, AXPSelectorStructureWidgetViewComponent, AXPShowDetailViewAction, AXPShowDetailsViewWorkflow, AXPShowListViewAction, AXPShowListViewWorkflow, AXPTruncatedBreadcrumbComponent, AXPUpdateEntityCommand, AXPViewEntityDetailsCommand, AXP_CATEGORY_TREE_ROOT_TITLE_I18N_KEY, AXP_DATA_SEEDER_TOKEN, AXP_ENTITY_ACTION_PLUGIN, AXP_ENTITY_CONFIG_TOKEN, AXP_ENTITY_DEFINITION_LOADER, AXP_ENTITY_MODIFIER, AXP_ENTITY_STORAGE_BACKEND, AXP_ENTITY_STORAGE_MIDDLEWARE, AXP_MULTI_SOURCE_DEFINITION_PROVIDER, AXP_RECORD_WORKFLOW_INFO_CORRELATION_ID_FIELD, AXP_RECORD_WORKFLOW_INFO_DEFINITION_ID_FIELD, AXP_RECORD_WORKFLOW_INFO_INSTANCE_ID_FIELD, DEFAULT_COLUMN_ORDER, DEFAULT_PAIR_SPAN_RULES, DEFAULT_PROPERTY_ORDER, DEFAULT_SECTION_ORDER, ENTITY_LIST_ROUTE_CONTEXT_SESSION_KEY, EntityBuilder, EntityDataAccessor, actionExists, applyDataSourcePagingWithoutLoad, attachmentFieldCount, attachmentsPlugin, attachmentsSemanticallyEqual, axpCreateEntityAiToolInputDefaults, axpCreateEntityCommandDefinition, buildAXPRecordWorkflowInfo, canPersistEntityListState, cloneLayoutArrays, collectEntityQuickSearchFieldPaths, collectNestedCreateHiddenProperties, collectNestedFieldPathsFromEntityColumns, collectQuickSearchPathsFromSingleEntityDefinition, columnOrderingMiddleware, columnOrderingMiddlewareProvider, columnWidthMiddleware, columnWidthMiddlewareProvider, committedAttachments, computeEntityAggregates, createColumnOrderingMiddlewareProvider, createLayoutOrderingMiddlewareProvider, createModifierContext, defaultCardLayoutMiddleware, defaultCardLayoutMiddlewareProvider, defaultMultiLanguageMiddleware, defaultMultiLanguageMiddlewareProvider, detectEntityChanges, ensureLayoutPropertyView, ensureLayoutSection, ensureListActions, entityDetailsCreateActions, entityDetailsCreateActionsDeferredParent, entityDetailsCrudActions, entityDetailsEditAction, entityDetailsNewEditAction, entityDetailsReferenceCondition, entityDetailsReferenceCreateActions, entityDetailsSimpleCondition, entityMasterBulkDeleteAction, entityMasterCreateAction, entityMasterCrudActions, entityMasterDeleteAction, entityMasterEditAction, entityMasterRecordActions, entityMasterViewAction, entityOverrideDetailsViewAction, eventDispatchMiddleware, filterSortEntityRows, findEntityListRowDataInTree, fingerprintAttachmentItem, fingerprintAttachments, formatLookupItemDisplay, getDataSourcePageIndex, getEntityListRowId, getMasterInterfacePropertySortKey, getRecordWorkflowCorrelationId, getRecordWorkflowInstanceId, hasFileUploaderTitleOrDescriptionFields, isAXPMiddlewareAbortError, isAttachmentListEntry, isCategoryEntity, isCategoryFilter, isFileListItem, isFileUploaderEditDialogAuto, isLegacyEntityDataSelectorOptions, isUnresolvedLookupDisplayTemplate, layoutOrderingMiddlewareFactory, layoutOrderingMiddlewareProvider, mapLegacyEntityDataSelectorOptions, mergeForeignKeyFieldIntoCreateActions, normalizeEntityDataSelectorOptions, normalizeEntityFieldToFileList, normalizeEntityListPersistenceMode, normalizeListPaging, normalizeLookupDisplayTemplate, persistedAttachments, provideEntity, resolveEntityPluginDetailPageOrder, resolveFileUploaderEditDialog, resolveFileUploaderEntityScope, resolveLookupDisplayField, resolveLookupDisplayTemplate, restoreEntityListExpandedRows, runEntityQuery, searchResultDescriptionMiddleware, searchResultDescriptionMiddlewareProvider, shouldLoadEntityListStateFromStorage, shouldResetEntityListStateOnRouteEntry };
|
|
4439
|
-
export type { AXPAuditEvent, AXPCollectEntityQuickSearchPathsResolver, AXPDataSeeder, AXPEntityActionPlugin, AXPEntityAggregateMeasure, AXPEntityAggregateOptions, AXPEntityAggregateReducerType, AXPEntityAggregateRequest, AXPEntityAggregateResult, AXPEntityCategoryWidgetOptions, AXPEntityChangeSet, AXPEntityConfigs, AXPEntityCreateDto, AXPEntityDataSelectorCategoryFilterOptions, AXPEntityDataSelectorCategoryOptions, AXPEntityDataSelectorCreateOptions, AXPEntityDataSelectorFilterOptions, AXPEntityDataSelectorGridOptions, AXPEntityDataSelectorOpenInput, AXPEntityDataSelectorOpenOptions, AXPEntityDataSelectorOptions, AXPEntityDataSelectorResult, AXPEntityDataSelectorRowActionsConfig, AXPEntityDataSelectorSearchOptions, AXPEntityDataSelectorSelectionOptions, AXPEntityDataSelectorSortOptions, AXPEntityDefinitionLoader, AXPEntityDefinitionPreloader, AXPEntityDeleteOptions, AXPEntityDetailDto, AXPEntityDetailPopoverOptions, AXPEntityLayoutLike, AXPEntityLayoutPropertyLike, AXPEntityLayoutSectionLike, AXPEntityListEntry, AXPEntityListExpandRowRef, AXPEntityListInput, AXPEntityListItemDto, AXPEntityListPagingState, AXPEntityListPersistenceMode, AXPEntityListToolbarConvertOptions, AXPEntityMasterListCardLayout, AXPEntityMasterListCardSecondaryActionItem, AXPEntityMasterListViewSortPropViewModel, AXPEntityModel, AXPEntityModifier, AXPEntityModifierContext, AXPEntityModifierProvider, AXPEntityOutputDto, AXPEntityPreloadEntity, AXPEntityQueryAllOptions, AXPEntityQueryAllResult, AXPEntityStorageContext, AXPEntityStorageMiddleware, AXPEntityUpdateDto, AXPFileUploaderEditDialogFieldOptions, AXPFileUploaderEditDialogMode, AXPFileUploaderEditDialogOptions, AXPFileUploaderEntityFilesScope, AXPFileUploaderLoadFilesInput, AXPFileUploaderLoadFilesResult, AXPFileUploaderSaveFilesInput, AXPFileUploaderSaveFilesResult, AXPFileUploaderShowFileListEntityContext, AXPFileUploaderShowFileListOptions, AXPFileUploaderUploadActionDescriptor, AXPFileUploaderWidgetColumnOptions, AXPFileUploaderWidgetDesignerOptions, AXPFileUploaderWidgetEditOptions, AXPFileUploaderWidgetOptions, AXPFileUploaderWidgetPrintOptions, AXPFileUploaderWidgetViewOptions, AXPGetEntityDetailsQueryInput, AXPGetEntityDetailsQueryResult, AXPLookupColumnResolveOptions, AXPLookupColumnResolveStrategy, AXPLookupDisplayOptions, AXPLookupPopoverOptions, AXPLookupSelectorRowActionsConfig, AXPLookupWidgetLookType, AXPLookupWidgetOptions, AXPMultiSourceDefinition, AXPMultiSourceDefinitionProvider, AXPMultiSourceItem, AXPMultiSourceRef, AXPMultiSourceSearchResult, AXPMultiSourceSearchResultItem, AXPMultiSourceSelectorOpenConfig, AXPMultiSourceSelectorResult, AXPMultiSourceSelectorWidgetOptions, AXPMultiSourceValue, AXPOpenEntityDetailsCommandInput, AXPRecordAuditInfo, AXPRecordOwnershipInfo, AXPRecordStateInfo, AXPRecordWorkflowInfo, AXPRelatedColumnMetadata, AXPSelectorStructureFieldDef, AXPSelectorStructureIdentityDisplay, AXPSelectorStructurePresentationMode, AXPSelectorStructureSelectorMode, AXPSelectorStructureStructureMode, AXPSelectorStructureWidgetColumnOptions, AXPSelectorStructureWidgetDesignerOptions, AXPSelectorStructureWidgetEditOptions, AXPSelectorStructureWidgetOptions, AXPSelectorStructureWidgetPrintOptions, AXPSelectorStructureWidgetViewOptions, AXPShowListViewCondition, AttachmentsDisplayMode, AttachmentsPluginOptions, CategoryQueryEvent, CategoryQueryFunction, CategoryQueryResult, CategoryTreeConfig, CategoryTreeNodeData, EntityDetailPluginPageSlot, PairSpanRule, ResolveEntityPluginDetailPageOrderOptions, RunEntityQueryAdapters, SectionOrderConfig, SkipEntityComponentPageRef };
|
|
4491
|
+
export { ATTACHMENTS_PAGE_COMPONENT_KEY, AXMEntityCrudService, AXMEntityCrudServiceImpl, AXPCategoryTreeService, AXPCreateEntityCommand, AXPCreateEntityWorkflow, AXPDataSeederService, AXPDeleteEntityWorkflow, AXPEditFileUploaderCommand, AXPEntitiesListDataSourceDefinition, AXPEntityApplyUpdatesAction, AXPEntityCategoryTreeSelectorComponent, AXPEntityCategoryWidget, AXPEntityCategoryWidgetColumnComponent, AXPEntityCategoryWidgetEditComponent, AXPEntityCategoryWidgetViewComponent, AXPEntityCommandTriggerViewModel, AXPEntityCreateEvent, AXPEntityCreatePopupAction, AXPEntityCreateSubmittedAction, AXPEntityCreateViewElementViewModel, AXPEntityCreateViewModelFactory, AXPEntityCreateViewSectionViewModel, AXPEntityDataProvider, AXPEntityDataProviderImpl, AXPEntityDataSelectorRowActionsService, AXPEntityDataSelectorService, AXPEntityDefinitionProviderWidget, AXPEntityDefinitionProviderWidgetEditComponent, AXPEntityDefinitionRegistryService, AXPEntityDeletedEvent, AXPEntityDetailListViewModel, AXPEntityDetailPopoverComponent, AXPEntityDetailPopoverService, AXPEntityDetailViewModelFactory, AXPEntityDetailViewModelResolver, AXPEntityEventDispatcherService, AXPEntityEventsKeys, AXPEntityFormBuilderService, AXPEntityListPersistenceModeDefault, AXPEntityListTableService, AXPEntityListToolbarService, AXPEntityListViewCardFieldViewModel, AXPEntityListViewColumnViewModel, AXPEntityListViewModelFactory, AXPEntityListViewModelResolver, AXPEntityListWidget, AXPEntityListWidgetViewComponent, AXPEntityMasterCreateViewModel, AXPEntityMasterListCardSelectActionName, AXPEntityMasterListViewModel, AXPEntityMasterListViewQueryViewModel, AXPEntityMasterSingleElementViewModel, AXPEntityMasterSingleViewGroupViewModel, AXPEntityMasterSingleViewModel, AXPEntityMasterUpdateElementViewModel, AXPEntityMasterUpdateViewModel, AXPEntityMasterUpdateViewModelFactory, AXPEntityMiddleware, AXPEntityModifyConfirmedAction, AXPEntityModifyEvent, AXPEntityModifySectionPopupAction, AXPEntityModule, AXPEntityPerformDeleteAction, AXPEntityPreloadFiltersContainerComponent, AXPEntityPreloadFiltersViewModel, AXPEntityPreloadFiltersViewModelResolver, AXPEntityResolver, AXPEntityService, AXPEntityStorageService, AXPEntityUpdateViewSectionViewModel, AXPFileListComponent, AXPFileUploaderLoadFilesQuery, AXPFileUploaderSaveFilesCommand, AXPFileUploaderWidget, AXPFileUploaderWidgetColumnComponent, AXPFileUploaderWidgetEditComponent, AXPFileUploaderWidgetService, AXPFileUploaderWidgetViewComponent, AXPGetEntityDetailsQuery, AXPLayoutOrderingConfigService, AXPLookupWidget, AXPLookupWidgetColumnComponent, AXPLookupWidgetEditComponent, AXPLookupWidgetViewComponent, AXPMiddlewareAbortError, AXPMiddlewareEntityStorageService, AXPModifyEntitySectionWorkflow, AXPMultiSourceDefinitionProviderContext, AXPMultiSourceDefinitionProviderService, AXPMultiSourceFederatedSearchService, AXPMultiSourceSelectorComponent, AXPMultiSourceSelectorService, AXPMultiSourceSelectorWidget, AXPMultiSourceSelectorWidgetColumnComponent, AXPMultiSourceSelectorWidgetEditComponent, AXPMultiSourceSelectorWidgetViewComponent, AXPMultiSourceType, AXPOpenEntityDetailsCommand, AXPQuickEntityModifyPopupAction, AXPQuickModifyEntityWorkflow, AXPRelatedColumnEnrichmentService, AXPRelatedColumnMetadataResolver, AXPSelectorStructureWidget, AXPSelectorStructureWidgetColumnComponent, AXPSelectorStructureWidgetEditComponent, AXPSelectorStructureWidgetViewComponent, AXPShowDetailViewAction, AXPShowDetailsViewWorkflow, AXPShowListViewAction, AXPShowListViewWorkflow, AXPTruncatedBreadcrumbComponent, AXPUpdateEntityCommand, AXPViewEntityDetailsCommand, AXP_CATEGORY_TREE_ROOT_TITLE_I18N_KEY, AXP_DATA_SEEDER_TOKEN, AXP_ENTITY_ACTION_PLUGIN, AXP_ENTITY_CONFIG_TOKEN, AXP_ENTITY_DEFINITION_LOADER, AXP_ENTITY_MODIFIER, AXP_ENTITY_STORAGE_BACKEND, AXP_ENTITY_STORAGE_MIDDLEWARE, AXP_MULTI_SOURCE_DEFINITION_PROVIDER, AXP_RECORD_WORKFLOW_INFO_CORRELATION_ID_FIELD, AXP_RECORD_WORKFLOW_INFO_DEFINITION_ID_FIELD, AXP_RECORD_WORKFLOW_INFO_INSTANCE_ID_FIELD, DEFAULT_COLUMN_ORDER, DEFAULT_PAIR_SPAN_RULES, DEFAULT_PROPERTY_ORDER, DEFAULT_SECTION_ORDER, ENTITY_LIST_ROUTE_CONTEXT_SESSION_KEY, EntityBuilder, EntityDataAccessor, actionExists, applyDataSourcePagingWithoutLoad, attachmentFieldCount, attachmentsPlugin, attachmentsSemanticallyEqual, axpCreateEntityAiToolInputDefaults, axpCreateEntityCommandDefinition, buildAXPRecordWorkflowInfo, canPersistEntityListState, cloneLayoutArrays, collectEntityQuickSearchFieldPaths, collectNestedCreateHiddenProperties, collectNestedFieldPathsFromEntityColumns, collectQuickSearchPathsFromSingleEntityDefinition, columnOrderingMiddleware, columnOrderingMiddlewareProvider, columnWidthMiddleware, columnWidthMiddlewareProvider, commandMessageTextForError, committedAttachments, computeEntityAggregates, createColumnOrderingMiddlewareProvider, createLayoutOrderingMiddlewareProvider, createModifierContext, defaultCardLayoutMiddleware, defaultCardLayoutMiddlewareProvider, defaultMultiLanguageMiddleware, defaultMultiLanguageMiddlewareProvider, detectEntityChanges, ensureLayoutPropertyView, ensureLayoutSection, ensureListActions, entityDetailsCreateActions, entityDetailsCreateActionsDeferredParent, entityDetailsCrudActions, entityDetailsEditAction, entityDetailsNewEditAction, entityDetailsReferenceCondition, entityDetailsReferenceCreateActions, entityDetailsSimpleCondition, entityMasterBulkDeleteAction, entityMasterCreateAction, entityMasterCrudActions, entityMasterDeleteAction, entityMasterEditAction, entityMasterRecordActions, entityMasterViewAction, entityOverrideDetailsViewAction, eventDispatchMiddleware, filterSortEntityRows, findEntityListRowDataInTree, fingerprintAttachmentItem, fingerprintAttachments, formatLookupItemDisplay, getDataSourcePageIndex, getEntityListRowId, getMasterInterfacePropertySortKey, getRecordWorkflowCorrelationId, getRecordWorkflowInstanceId, hasFileUploaderTitleOrDescriptionFields, isAXPMiddlewareAbortError, isAttachmentListEntry, isCategoryEntity, isCategoryFilter, isFileListItem, isFileUploaderEditDialogAuto, isLegacyEntityDataSelectorOptions, isUnresolvedLookupDisplayTemplate, layoutOrderingMiddlewareFactory, layoutOrderingMiddlewareProvider, mapEntityStorageErrorToCommandResult, mapLegacyEntityDataSelectorOptions, mergeForeignKeyFieldIntoCreateActions, normalizeEntityDataSelectorOptions, normalizeEntityFieldToFileList, normalizeEntityListPersistenceMode, normalizeListPaging, normalizeLookupDisplayTemplate, persistedAttachments, provideEntity, resolveEntityPluginDetailPageOrder, resolveFileUploaderEditDialog, resolveFileUploaderEntityScope, resolveLookupDisplayField, resolveLookupDisplayTemplate, restoreEntityListExpandedRows, runEntityQuery, searchResultDescriptionMiddleware, searchResultDescriptionMiddlewareProvider, shouldLoadEntityListStateFromStorage, shouldResetEntityListStateOnRouteEntry };
|
|
4492
|
+
export type { AXPAuditEvent, AXPCollectEntityQuickSearchPathsResolver, AXPDataSeeder, AXPEntityActionPlugin, AXPEntityAggregateMeasure, AXPEntityAggregateOptions, AXPEntityAggregateReducerType, AXPEntityAggregateRequest, AXPEntityAggregateResult, AXPEntityCategoryWidgetOptions, AXPEntityChangeSet, AXPEntityConfigs, AXPEntityCreateDto, AXPEntityDataSelectorCategoryFilterOptions, AXPEntityDataSelectorCategoryOptions, AXPEntityDataSelectorCreateOptions, AXPEntityDataSelectorFilterOptions, AXPEntityDataSelectorGridOptions, AXPEntityDataSelectorOpenInput, AXPEntityDataSelectorOpenOptions, AXPEntityDataSelectorOptions, AXPEntityDataSelectorResult, AXPEntityDataSelectorRowActionsConfig, AXPEntityDataSelectorSearchOptions, AXPEntityDataSelectorSelectionOptions, AXPEntityDataSelectorSortOptions, AXPEntityDefinitionLoader, AXPEntityDefinitionPreloader, AXPEntityDeleteOptions, AXPEntityDetailDto, AXPEntityDetailPopoverOptions, AXPEntityLayoutLike, AXPEntityLayoutPropertyLike, AXPEntityLayoutSectionLike, AXPEntityListEntry, AXPEntityListExpandRowRef, AXPEntityListInput, AXPEntityListItemDto, AXPEntityListPagingState, AXPEntityListPersistenceMode, AXPEntityListToolbarConvertOptions, AXPEntityMasterListCardLayout, AXPEntityMasterListCardSecondaryActionItem, AXPEntityMasterListViewSortPropViewModel, AXPEntityModel, AXPEntityModifier, AXPEntityModifierContext, AXPEntityModifierProvider, AXPEntityOutputDto, AXPEntityPreloadEntity, AXPEntityQueryAllOptions, AXPEntityQueryAllResult, AXPEntityStorageContext, AXPEntityStorageMiddleware, AXPEntityUpdateDto, AXPFileListLook, AXPFileUploaderEditDialogFieldOptions, AXPFileUploaderEditDialogMode, AXPFileUploaderEditDialogOptions, AXPFileUploaderEntityFilesScope, AXPFileUploaderLoadFilesInput, AXPFileUploaderLoadFilesResult, AXPFileUploaderSaveFilesInput, AXPFileUploaderSaveFilesResult, AXPFileUploaderShowFileListEntityContext, AXPFileUploaderShowFileListOptions, AXPFileUploaderUploadActionDescriptor, AXPFileUploaderWidgetColumnOptions, AXPFileUploaderWidgetDesignerOptions, AXPFileUploaderWidgetEditOptions, AXPFileUploaderWidgetOptions, AXPFileUploaderWidgetPrintOptions, AXPFileUploaderWidgetViewOptions, AXPGetEntityDetailsQueryInput, AXPGetEntityDetailsQueryResult, AXPLookupColumnResolveOptions, AXPLookupColumnResolveStrategy, AXPLookupDisplayOptions, AXPLookupPopoverOptions, AXPLookupSelectorRowActionsConfig, AXPLookupWidgetLookType, AXPLookupWidgetOptions, AXPMultiSourceDefinition, AXPMultiSourceDefinitionProvider, AXPMultiSourceItem, AXPMultiSourceRef, AXPMultiSourceSearchResult, AXPMultiSourceSearchResultItem, AXPMultiSourceSelectorOpenConfig, AXPMultiSourceSelectorResult, AXPMultiSourceSelectorWidgetOptions, AXPMultiSourceValue, AXPOpenEntityDetailsCommandInput, AXPRecordAuditInfo, AXPRecordOwnershipInfo, AXPRecordStateInfo, AXPRecordWorkflowInfo, AXPRelatedColumnMetadata, AXPSelectorStructureFieldDef, AXPSelectorStructureIdentityDisplay, AXPSelectorStructurePresentationMode, AXPSelectorStructureSelectorMode, AXPSelectorStructureStructureMode, AXPSelectorStructureWidgetColumnOptions, AXPSelectorStructureWidgetDesignerOptions, AXPSelectorStructureWidgetEditOptions, AXPSelectorStructureWidgetOptions, AXPSelectorStructureWidgetPrintOptions, AXPSelectorStructureWidgetViewOptions, AXPShowListViewCondition, AttachmentsDisplayMode, AttachmentsPluginOptions, CategoryQueryEvent, CategoryQueryFunction, CategoryQueryResult, CategoryTreeConfig, CategoryTreeNodeData, EntityDetailPluginPageSlot, PairSpanRule, ResolveEntityPluginDetailPageOrderOptions, RunEntityQueryAdapters, SectionOrderConfig, SkipEntityComponentPageRef };
|
|
@@ -65,6 +65,7 @@ declare class AXPPageLayoutComponent {
|
|
|
65
65
|
overlayLoadingTaskCount: _angular_core.Signal<number>;
|
|
66
66
|
navigationLoadingTaskCount: _angular_core.Signal<number>;
|
|
67
67
|
sideMenuState: _angular_core.Signal<_acorex_platform_themes_shared.AXPSideMenuState>;
|
|
68
|
+
overlaySideMenuOpen: _angular_core.Signal<boolean>;
|
|
68
69
|
sideMenuWidth: _angular_core.Signal<number>;
|
|
69
70
|
sideMenuCompactWidth: _angular_core.Signal<number>;
|
|
70
71
|
menuVerticalMode: _angular_core.Signal<_acorex_platform_themes_shared.AXPMenuVerticalMode>;
|
|
@@ -77,6 +78,7 @@ declare class AXPPageLayoutComponent {
|
|
|
77
78
|
isOverlayLoading: _angular_core.Signal<boolean>;
|
|
78
79
|
isNavigationLoading: _angular_core.Signal<boolean>;
|
|
79
80
|
isMenuHorizontal: _angular_core.Signal<boolean>;
|
|
81
|
+
effectiveMenuVerticalMode: _angular_core.Signal<_acorex_platform_themes_shared.AXPMenuVerticalMode>;
|
|
80
82
|
sideMenuDrawerWidth: _angular_core.Signal<number>;
|
|
81
83
|
changeThemeMode: (theme: _acorex_platform_themes_shared.AXPThemeMode) => void;
|
|
82
84
|
openSideMenu: () => void;
|
|
@@ -101,6 +103,7 @@ declare class AXPPageLayoutComponent {
|
|
|
101
103
|
overlayLoadingTaskCount: number;
|
|
102
104
|
navigationLoadingTaskCount: number;
|
|
103
105
|
sideMenuState: _acorex_platform_themes_shared.AXPSideMenuState;
|
|
106
|
+
overlaySideMenuOpen: boolean;
|
|
104
107
|
sideMenuWidth: number;
|
|
105
108
|
sideMenuCompactWidth: number;
|
|
106
109
|
menuVerticalMode: _acorex_platform_themes_shared.AXPMenuVerticalMode;
|
|
@@ -139,6 +142,7 @@ declare abstract class AXPPageLayoutBaseComponent implements AXPPageLayoutBase {
|
|
|
139
142
|
overlayLoadingTaskCount: _angular_core.Signal<number>;
|
|
140
143
|
navigationLoadingTaskCount: _angular_core.Signal<number>;
|
|
141
144
|
sideMenuState: _angular_core.Signal<_acorex_platform_themes_shared.AXPSideMenuState>;
|
|
145
|
+
overlaySideMenuOpen: _angular_core.Signal<boolean>;
|
|
142
146
|
sideMenuWidth: _angular_core.Signal<number>;
|
|
143
147
|
sideMenuCompactWidth: _angular_core.Signal<number>;
|
|
144
148
|
menuVerticalMode: _angular_core.Signal<_acorex_platform_themes_shared.AXPMenuVerticalMode>;
|
|
@@ -151,6 +155,7 @@ declare abstract class AXPPageLayoutBaseComponent implements AXPPageLayoutBase {
|
|
|
151
155
|
isOverlayLoading: _angular_core.Signal<boolean>;
|
|
152
156
|
isNavigationLoading: _angular_core.Signal<boolean>;
|
|
153
157
|
isMenuHorizontal: _angular_core.Signal<boolean>;
|
|
158
|
+
effectiveMenuVerticalMode: _angular_core.Signal<_acorex_platform_themes_shared.AXPMenuVerticalMode>;
|
|
154
159
|
sideMenuDrawerWidth: _angular_core.Signal<number>;
|
|
155
160
|
changeThemeMode: (theme: _acorex_platform_themes_shared.AXPThemeMode) => void;
|
|
156
161
|
openSideMenu: () => void;
|
|
@@ -175,6 +180,7 @@ declare abstract class AXPPageLayoutBaseComponent implements AXPPageLayoutBase {
|
|
|
175
180
|
overlayLoadingTaskCount: number;
|
|
176
181
|
navigationLoadingTaskCount: number;
|
|
177
182
|
sideMenuState: _acorex_platform_themes_shared.AXPSideMenuState;
|
|
183
|
+
overlaySideMenuOpen: boolean;
|
|
178
184
|
sideMenuWidth: number;
|
|
179
185
|
sideMenuCompactWidth: number;
|
|
180
186
|
menuVerticalMode: _acorex_platform_themes_shared.AXPMenuVerticalMode;
|
|
@@ -267,6 +273,7 @@ declare class AXPPopupLayoutComponent {
|
|
|
267
273
|
overlayLoadingTaskCount: _angular_core.Signal<number>;
|
|
268
274
|
navigationLoadingTaskCount: _angular_core.Signal<number>;
|
|
269
275
|
sideMenuState: _angular_core.Signal<_acorex_platform_themes_shared.AXPSideMenuState>;
|
|
276
|
+
overlaySideMenuOpen: _angular_core.Signal<boolean>;
|
|
270
277
|
sideMenuWidth: _angular_core.Signal<number>;
|
|
271
278
|
sideMenuCompactWidth: _angular_core.Signal<number>;
|
|
272
279
|
menuVerticalMode: _angular_core.Signal<_acorex_platform_themes_shared.AXPMenuVerticalMode>;
|
|
@@ -279,6 +286,7 @@ declare class AXPPopupLayoutComponent {
|
|
|
279
286
|
isOverlayLoading: _angular_core.Signal<boolean>;
|
|
280
287
|
isNavigationLoading: _angular_core.Signal<boolean>;
|
|
281
288
|
isMenuHorizontal: _angular_core.Signal<boolean>;
|
|
289
|
+
effectiveMenuVerticalMode: _angular_core.Signal<_acorex_platform_themes_shared.AXPMenuVerticalMode>;
|
|
282
290
|
sideMenuDrawerWidth: _angular_core.Signal<number>;
|
|
283
291
|
changeThemeMode: (theme: _acorex_platform_themes_shared.AXPThemeMode) => void;
|
|
284
292
|
openSideMenu: () => void;
|
|
@@ -303,6 +311,7 @@ declare class AXPPopupLayoutComponent {
|
|
|
303
311
|
overlayLoadingTaskCount: number;
|
|
304
312
|
navigationLoadingTaskCount: number;
|
|
305
313
|
sideMenuState: _acorex_platform_themes_shared.AXPSideMenuState;
|
|
314
|
+
overlaySideMenuOpen: boolean;
|
|
306
315
|
sideMenuWidth: number;
|
|
307
316
|
sideMenuCompactWidth: number;
|
|
308
317
|
menuVerticalMode: _acorex_platform_themes_shared.AXPMenuVerticalMode;
|
|
@@ -333,6 +342,7 @@ declare abstract class AXPPopupLayoutBaseComponent extends AXBasePageComponent {
|
|
|
333
342
|
overlayLoadingTaskCount: _angular_core.Signal<number>;
|
|
334
343
|
navigationLoadingTaskCount: _angular_core.Signal<number>;
|
|
335
344
|
sideMenuState: _angular_core.Signal<_acorex_platform_themes_shared.AXPSideMenuState>;
|
|
345
|
+
overlaySideMenuOpen: _angular_core.Signal<boolean>;
|
|
336
346
|
sideMenuWidth: _angular_core.Signal<number>;
|
|
337
347
|
sideMenuCompactWidth: _angular_core.Signal<number>;
|
|
338
348
|
menuVerticalMode: _angular_core.Signal<_acorex_platform_themes_shared.AXPMenuVerticalMode>;
|
|
@@ -345,6 +355,7 @@ declare abstract class AXPPopupLayoutBaseComponent extends AXBasePageComponent {
|
|
|
345
355
|
isOverlayLoading: _angular_core.Signal<boolean>;
|
|
346
356
|
isNavigationLoading: _angular_core.Signal<boolean>;
|
|
347
357
|
isMenuHorizontal: _angular_core.Signal<boolean>;
|
|
358
|
+
effectiveMenuVerticalMode: _angular_core.Signal<_acorex_platform_themes_shared.AXPMenuVerticalMode>;
|
|
348
359
|
sideMenuDrawerWidth: _angular_core.Signal<number>;
|
|
349
360
|
changeThemeMode: (theme: _acorex_platform_themes_shared.AXPThemeMode) => void;
|
|
350
361
|
openSideMenu: () => void;
|
|
@@ -369,6 +380,7 @@ declare abstract class AXPPopupLayoutBaseComponent extends AXBasePageComponent {
|
|
|
369
380
|
overlayLoadingTaskCount: number;
|
|
370
381
|
navigationLoadingTaskCount: number;
|
|
371
382
|
sideMenuState: _acorex_platform_themes_shared.AXPSideMenuState;
|
|
383
|
+
overlaySideMenuOpen: boolean;
|
|
372
384
|
sideMenuWidth: number;
|
|
373
385
|
sideMenuCompactWidth: number;
|
|
374
386
|
menuVerticalMode: _acorex_platform_themes_shared.AXPMenuVerticalMode;
|
|
@@ -496,6 +508,8 @@ declare const AXPLayoutDetailsViewViewModel: _angular_core.Type<{
|
|
|
496
508
|
}[]>>;
|
|
497
509
|
evaluatedPageContent: _angular_core.Signal<AXPWidgetNode[]>;
|
|
498
510
|
evaluatedTabContentsById: _angular_core.Signal<Record<string, AXPWidgetNode[]>>;
|
|
511
|
+
formIsDirty: _angular_core.Signal<boolean>;
|
|
512
|
+
formBaselineCommitted: _angular_core.Signal<boolean>;
|
|
499
513
|
icon: _angular_core.Signal<string | null>;
|
|
500
514
|
content: _angular_core.Signal<_acorex_platform_layout_views.AXPPageContentItem[]>;
|
|
501
515
|
showPages: _angular_core.Signal<boolean>;
|
|
@@ -503,7 +517,7 @@ declare const AXPLayoutDetailsViewViewModel: _angular_core.Type<{
|
|
|
503
517
|
isBusy: _angular_core.Signal<boolean>;
|
|
504
518
|
isSaving: _angular_core.Signal<boolean>;
|
|
505
519
|
isDirty: _angular_core.Signal<boolean>;
|
|
506
|
-
changesCount: _angular_core.Signal<
|
|
520
|
+
changesCount: _angular_core.Signal<1 | 0>;
|
|
507
521
|
isLoaded: _angular_core.Signal<boolean>;
|
|
508
522
|
currentPageSelectedRows: _angular_core.Signal<any[]>;
|
|
509
523
|
currentPageRenderedTabs: _angular_core.Signal<{
|
|
@@ -513,7 +527,9 @@ declare const AXPLayoutDetailsViewViewModel: _angular_core.Type<{
|
|
|
513
527
|
loadAdapter: (adapter: AXPLayoutDetailsViewAdapter) => Promise<void>;
|
|
514
528
|
loadPage: (pageId?: string, forceRefresh?: boolean) => Promise<void>;
|
|
515
529
|
load: (adapter: AXPLayoutDetailsViewAdapter) => Promise<void>;
|
|
516
|
-
updateContext: (context: any) => void;
|
|
530
|
+
updateContext: (context: any, formIsDirty?: boolean) => void;
|
|
531
|
+
markFormBaselineCommitted: () => void;
|
|
532
|
+
resetFormBaselineCommitted: () => void;
|
|
517
533
|
updatePageSelectedRows: (rows: any[]) => void;
|
|
518
534
|
currentPagePrimaryActions: () => Promise<any>;
|
|
519
535
|
currentPageSecondaryActions: () => Promise<any>;
|
|
@@ -539,7 +555,7 @@ declare const AXPLayoutDetailsViewViewModel: _angular_core.Type<{
|
|
|
539
555
|
command?: AXPExecuteCommand;
|
|
540
556
|
}[]>;
|
|
541
557
|
discard: () => Promise<void>;
|
|
542
|
-
save: (command: AXPExecuteCommand, form: AXFormComponent) => Promise<
|
|
558
|
+
save: (command: AXPExecuteCommand, form: AXFormComponent) => Promise<boolean>;
|
|
543
559
|
goToListPage: () => void;
|
|
544
560
|
} & _ngrx_signals.StateSource<{
|
|
545
561
|
adapter: AXPLayoutDetailsViewAdapter | null;
|
|
@@ -557,6 +573,8 @@ declare const AXPLayoutDetailsViewViewModel: _angular_core.Type<{
|
|
|
557
573
|
}>>;
|
|
558
574
|
evaluatedPageContent: AXPWidgetNode[];
|
|
559
575
|
evaluatedTabContentsById: Record<string, AXPWidgetNode[]>;
|
|
576
|
+
formIsDirty: boolean;
|
|
577
|
+
formBaselineCommitted: boolean;
|
|
560
578
|
}>>;
|
|
561
579
|
|
|
562
580
|
declare class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent implements OnInit, OnDestroy {
|
|
@@ -578,6 +596,8 @@ declare class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent i
|
|
|
578
596
|
}[]>>;
|
|
579
597
|
evaluatedPageContent: _angular_core.Signal<_acorex_platform_layout_widget_core.AXPWidgetNode[]>;
|
|
580
598
|
evaluatedTabContentsById: _angular_core.Signal<Record<string, _acorex_platform_layout_widget_core.AXPWidgetNode[]>>;
|
|
599
|
+
formIsDirty: _angular_core.Signal<boolean>;
|
|
600
|
+
formBaselineCommitted: _angular_core.Signal<boolean>;
|
|
581
601
|
icon: _angular_core.Signal<string | null>;
|
|
582
602
|
content: _angular_core.Signal<_acorex_platform_layout_views.AXPPageContentItem[]>;
|
|
583
603
|
showPages: _angular_core.Signal<boolean>;
|
|
@@ -585,7 +605,7 @@ declare class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent i
|
|
|
585
605
|
isBusy: _angular_core.Signal<boolean>;
|
|
586
606
|
isSaving: _angular_core.Signal<boolean>;
|
|
587
607
|
isDirty: _angular_core.Signal<boolean>;
|
|
588
|
-
changesCount: _angular_core.Signal<
|
|
608
|
+
changesCount: _angular_core.Signal<1 | 0>;
|
|
589
609
|
isLoaded: _angular_core.Signal<boolean>;
|
|
590
610
|
currentPageSelectedRows: _angular_core.Signal<any[]>;
|
|
591
611
|
currentPageRenderedTabs: _angular_core.Signal<{
|
|
@@ -595,7 +615,9 @@ declare class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent i
|
|
|
595
615
|
loadAdapter: (adapter: AXPLayoutDetailsViewAdapter) => Promise<void>;
|
|
596
616
|
loadPage: (pageId?: string, forceRefresh?: boolean) => Promise<void>;
|
|
597
617
|
load: (adapter: AXPLayoutDetailsViewAdapter) => Promise<void>;
|
|
598
|
-
updateContext: (context: any) => void;
|
|
618
|
+
updateContext: (context: any, formIsDirty?: boolean) => void;
|
|
619
|
+
markFormBaselineCommitted: () => void;
|
|
620
|
+
resetFormBaselineCommitted: () => void;
|
|
599
621
|
updatePageSelectedRows: (rows: any[]) => void;
|
|
600
622
|
currentPagePrimaryActions: () => Promise<any>;
|
|
601
623
|
currentPageSecondaryActions: () => Promise<any>;
|
|
@@ -621,7 +643,7 @@ declare class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent i
|
|
|
621
643
|
command?: AXPExecuteCommand;
|
|
622
644
|
}[]>;
|
|
623
645
|
discard: () => Promise<void>;
|
|
624
|
-
save: (command: AXPExecuteCommand, form: AXFormComponent) => Promise<
|
|
646
|
+
save: (command: AXPExecuteCommand, form: AXFormComponent) => Promise<boolean>;
|
|
625
647
|
goToListPage: () => void;
|
|
626
648
|
} & _ngrx_signals.StateSource<{
|
|
627
649
|
adapter: AXPLayoutDetailsViewAdapter | null;
|
|
@@ -639,6 +661,8 @@ declare class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent i
|
|
|
639
661
|
}>>;
|
|
640
662
|
evaluatedPageContent: _acorex_platform_layout_widget_core.AXPWidgetNode[];
|
|
641
663
|
evaluatedTabContentsById: Record<string, _acorex_platform_layout_widget_core.AXPWidgetNode[]>;
|
|
664
|
+
formIsDirty: boolean;
|
|
665
|
+
formBaselineCommitted: boolean;
|
|
642
666
|
}>;
|
|
643
667
|
protected router: Router;
|
|
644
668
|
protected route: ActivatedRoute;
|
|
@@ -646,13 +670,41 @@ declare class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent i
|
|
|
646
670
|
protected deviceService: AXPDeviceService;
|
|
647
671
|
private onSelectionChangeSubscription?;
|
|
648
672
|
private readonly destroyed$;
|
|
673
|
+
private formBaselineCaptured;
|
|
674
|
+
private formBaselinePageKey;
|
|
675
|
+
private formBaselineTimer?;
|
|
676
|
+
private suppressDirtySync;
|
|
677
|
+
private footerActionsGeneration;
|
|
678
|
+
private static readonly FORM_BASELINE_IDLE_MS;
|
|
679
|
+
/** Save/discard use live {@link AXPLayoutDetailsViewViewModel.isDirty}; other actions use evaluated `visible`. */
|
|
680
|
+
private static isTruthyActionFlag;
|
|
649
681
|
protected form: _angular_core.Signal<AXFormComponent | undefined>;
|
|
650
682
|
protected widgetContainer: _angular_core.Signal<AXPWidgetContainerComponent | undefined>;
|
|
651
683
|
protected footerPrimaryActions: _angular_core.WritableSignal<AXPActionMenuItem[]>;
|
|
652
684
|
protected footerSecondaryActions: _angular_core.WritableSignal<AXPActionMenuItem[]>;
|
|
653
685
|
protected footerActions: _angular_core.Signal<AXPActionMenuItem[]>;
|
|
686
|
+
protected rejectFooterCommand: _angular_core.Signal<{
|
|
687
|
+
title: string;
|
|
688
|
+
icon?: string;
|
|
689
|
+
color: string;
|
|
690
|
+
visible?: string | boolean;
|
|
691
|
+
command: AXPExecuteCommand;
|
|
692
|
+
} | null>;
|
|
693
|
+
protected acceptFooterCommand: _angular_core.Signal<{
|
|
694
|
+
title: string;
|
|
695
|
+
icon?: string;
|
|
696
|
+
color: string;
|
|
697
|
+
visible?: string | boolean;
|
|
698
|
+
command: AXPExecuteCommand;
|
|
699
|
+
} | null>;
|
|
700
|
+
protected hasSaveDiscardFooterCommands: _angular_core.Signal<boolean>;
|
|
701
|
+
/** Entity save/discard — driven live by {@link AXPLayoutDetailsViewViewModel.isDirty}, not evaluated action metadata. */
|
|
702
|
+
protected showSaveDiscardFooter: _angular_core.Signal<boolean>;
|
|
654
703
|
protected hasVisibleFooterPrimaryActions: _angular_core.Signal<boolean>;
|
|
655
704
|
protected hasVisibleFooterSecondaryActions: _angular_core.Signal<boolean>;
|
|
705
|
+
protected isSaveDiscardFooterAction(action: AXPActionMenuItem): boolean;
|
|
706
|
+
protected isFooterActionVisible(action: AXPActionMenuItem): boolean;
|
|
707
|
+
protected isFooterActionDisabled(action: AXPActionMenuItem): boolean;
|
|
656
708
|
protected hasFooter: _angular_core.Signal<boolean>;
|
|
657
709
|
/**
|
|
658
710
|
* Append timestamp query param to trigger router to re-run guards/resolvers
|
|
@@ -661,7 +713,17 @@ declare class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent i
|
|
|
661
713
|
ngOnInit(): Promise<void>;
|
|
662
714
|
ngAfterViewInit(): Promise<void>;
|
|
663
715
|
ngOnDestroy(): void;
|
|
716
|
+
private refreshFooterActions;
|
|
664
717
|
protected handleOnContextChanged(e: AXPContextChangeEvent): void;
|
|
718
|
+
/**
|
|
719
|
+
* Clears widget-store dirty state and schedules a fresh post-hydration baseline (discard / save).
|
|
720
|
+
*/
|
|
721
|
+
private resetFormDirtyBaseline;
|
|
722
|
+
/**
|
|
723
|
+
* Commits a clean baseline immediately when widgets are mounted; otherwise defers to idle commit.
|
|
724
|
+
*/
|
|
725
|
+
private finalizeFormCleanState;
|
|
726
|
+
private scheduleFormBaselineCommit;
|
|
665
727
|
protected handleSelectPage(page: AXPLayoutDetailsViewPage): void;
|
|
666
728
|
protected getAllPrimaryActions(): Promise<AXPLayoutDetailsViewAction[]>;
|
|
667
729
|
getPrimaryMenuItems(): Promise<AXPActionMenuItem[]>;
|
|
@@ -3,7 +3,7 @@ import { Signal, InjectionToken, ComponentRef, OnInit, EventEmitter, OnChanges,
|
|
|
3
3
|
import * as _acorex_platform_layout_widget_core from '@acorex/platform/layout/widget-core';
|
|
4
4
|
import * as _ngrx_signals from '@ngrx/signals';
|
|
5
5
|
import * as _acorex_platform_core from '@acorex/platform/core';
|
|
6
|
-
import { AXPOptionsData, AXPMultiLanguageString, AXPDefinitionCategory, AXPDataType, AXPExpression, AXPWidgetTriggers, AXPMetaData, AXPValueTransformerFunctions, AXPValidationRules, AXPPartialNested, AXPProperty, AXPContextChangeEvent, AXPExpressionEvaluatorService } from '@acorex/platform/core';
|
|
6
|
+
import { AXPOptionsData, AXPMultiLanguageString, AXPDefinitionCategory, AXPDataType, AXPExpression, AXPWidgetTriggers, AXPMetaData, AXPValueTransformerFunctions, AXPValidationRules, AXPPartialNested, AXPContextUpdateOptions, AXPProperty, AXPContextChangeEvent, AXPExpressionEvaluatorService } from '@acorex/platform/core';
|
|
7
7
|
export { AXPDefinitionCategory, normalizeDefinitionCategories } from '@acorex/platform/core';
|
|
8
8
|
import { AXValueChangedEvent, AXDataSource } from '@acorex/cdk/common';
|
|
9
9
|
import { Subject, BehaviorSubject } from 'rxjs';
|
|
@@ -46,6 +46,8 @@ type AXPWidgetCoreElementAction = {
|
|
|
46
46
|
zone?: 'header' | 'footer';
|
|
47
47
|
placement?: 'prefix' | 'suffix';
|
|
48
48
|
scope?: 'primary' | 'secondary';
|
|
49
|
+
/** Keyboard shortcuts that trigger this action (e.g. `'Enter'`, `'ctrl+s'`). */
|
|
50
|
+
shortcuts?: string[];
|
|
49
51
|
/** When `command` is not `widget:<name>.<action>`, widget name used to resolve `api` for `hidden` / `disabled` expressions. */
|
|
50
52
|
predicateApiWidgetName?: string;
|
|
51
53
|
};
|
|
@@ -65,6 +67,9 @@ declare class AXPWidgetCoreService {
|
|
|
65
67
|
readonly status: Signal<AXPPageStatus>;
|
|
66
68
|
readonly isBusy: Signal<boolean>;
|
|
67
69
|
registeredWidgetsCount: _angular_core.WritableSignal<number>;
|
|
70
|
+
/** Bumped when a widget reports dirty-state changes via `api().isDirty()`. */
|
|
71
|
+
private readonly dirtyWidgetsRevision;
|
|
72
|
+
readonly dirtyWidgetsRevisionSignal: Signal<number>;
|
|
68
73
|
get variables(): any;
|
|
69
74
|
get functions(): {
|
|
70
75
|
[key: string]: Function;
|
|
@@ -89,6 +94,12 @@ declare class AXPWidgetCoreService {
|
|
|
89
94
|
* Returns a list of registered widget ids (names).
|
|
90
95
|
*/
|
|
91
96
|
listRegisteredWidgetNames(): string[];
|
|
97
|
+
/** Notifies listeners that a widget's composite dirty state may have changed. */
|
|
98
|
+
notifyWidgetDirtyChanged(): void;
|
|
99
|
+
/**
|
|
100
|
+
* Returns whether any registered widget reports dirty state via `api().isDirty()`.
|
|
101
|
+
*/
|
|
102
|
+
hasDirtyWidgets(): boolean;
|
|
92
103
|
ngOnDestroy(): void;
|
|
93
104
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPWidgetCoreService, never>;
|
|
94
105
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPWidgetCoreService>;
|
|
@@ -396,27 +407,33 @@ declare abstract class AXPBaseWidgetComponent<TOptions extends Record<string, un
|
|
|
396
407
|
state: _angular_core.Signal<_acorex_platform_core.AXPContextState>;
|
|
397
408
|
initialSnapshot: _angular_core.Signal<{}>;
|
|
398
409
|
previousSnapshot: _angular_core.Signal<{}>;
|
|
410
|
+
userDirtyPaths: _angular_core.Signal<string[]>;
|
|
399
411
|
lastChange: _ngrx_signals.DeepSignal<_acorex_platform_core.AXPContextChangeEvent>;
|
|
400
412
|
isChanged: _angular_core.Signal<boolean>;
|
|
401
413
|
isReset: _angular_core.Signal<boolean>;
|
|
402
414
|
isInitiated: _angular_core.Signal<boolean>;
|
|
403
415
|
isEmpty: _angular_core.Signal<boolean>;
|
|
404
416
|
isDirty: _angular_core.Signal<boolean>;
|
|
417
|
+
isUserDirty: _angular_core.Signal<boolean>;
|
|
405
418
|
snapshot: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
|
|
406
419
|
initial: _angular_core.Signal<{}>;
|
|
407
420
|
previous: _angular_core.Signal<{}>;
|
|
408
421
|
changeEvent: _angular_core.Signal<_acorex_platform_core.AXPContextChangeEvent>;
|
|
409
|
-
update: (path: string, value: any) => void;
|
|
410
|
-
|
|
422
|
+
update: (path: string, value: any, options?: AXPContextUpdateOptions) => void;
|
|
423
|
+
applyObjectPaths: (obj: Record<string, unknown>, options?: AXPContextUpdateOptions, prefix?: string) => void;
|
|
424
|
+
patch: (context: Record<string, any>, second?: boolean | _acorex_platform_core.AXPContextPatchOptions) => void;
|
|
411
425
|
reset: () => void;
|
|
412
426
|
set: (initialData: any) => void;
|
|
413
427
|
getValue: (path: string) => any;
|
|
414
428
|
hasValue: (path: string) => boolean;
|
|
429
|
+
commitBaseline: () => void;
|
|
430
|
+
clearUserDirtyPaths: () => void;
|
|
415
431
|
} & _ngrx_signals.StateSource<{
|
|
416
432
|
data: _acorex_platform_core.AXPContextData;
|
|
417
433
|
state: _acorex_platform_core.AXPContextState;
|
|
418
434
|
initialSnapshot: {};
|
|
419
435
|
previousSnapshot: {};
|
|
436
|
+
userDirtyPaths: string[];
|
|
420
437
|
lastChange: _acorex_platform_core.AXPContextChangeEvent;
|
|
421
438
|
}>;
|
|
422
439
|
readonly config: _acorex_platform_layout_widget_core.AXPWidgetConfig<any>;
|
|
@@ -476,7 +493,9 @@ declare abstract class AXPValueWidgetComponent<T = any | null, TOptions extends
|
|
|
476
493
|
getValue: _angular_core.Signal<T>;
|
|
477
494
|
protected validationRules: _angular_core.Signal<AXPValidationRules>;
|
|
478
495
|
protected extractValue(path: string): any;
|
|
479
|
-
setValue(value: T | null | undefined): void;
|
|
496
|
+
setValue(value: T | null | undefined, options?: AXPContextUpdateOptions): void;
|
|
497
|
+
/** Persists a user-initiated value change into the shared context store. */
|
|
498
|
+
setUserValue(value: T | null | undefined): void;
|
|
480
499
|
protected detectFullPath(): void;
|
|
481
500
|
protected handleValueChanged(e: AXValueChangedEvent<T>): void;
|
|
482
501
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPValueWidgetComponent<any, any>, never>;
|
|
@@ -777,38 +796,48 @@ declare class AXPWidgetContainerComponent {
|
|
|
777
796
|
state: _angular_core.Signal<_acorex_platform_core.AXPContextState>;
|
|
778
797
|
initialSnapshot: _angular_core.Signal<{}>;
|
|
779
798
|
previousSnapshot: _angular_core.Signal<{}>;
|
|
799
|
+
userDirtyPaths: _angular_core.Signal<string[]>;
|
|
780
800
|
lastChange: _ngrx_signals.DeepSignal<AXPContextChangeEvent>;
|
|
781
801
|
isChanged: _angular_core.Signal<boolean>;
|
|
782
802
|
isReset: _angular_core.Signal<boolean>;
|
|
783
803
|
isInitiated: _angular_core.Signal<boolean>;
|
|
784
804
|
isEmpty: _angular_core.Signal<boolean>;
|
|
785
805
|
isDirty: _angular_core.Signal<boolean>;
|
|
806
|
+
isUserDirty: _angular_core.Signal<boolean>;
|
|
786
807
|
snapshot: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
|
|
787
808
|
initial: _angular_core.Signal<{}>;
|
|
788
809
|
previous: _angular_core.Signal<{}>;
|
|
789
810
|
changeEvent: _angular_core.Signal<AXPContextChangeEvent>;
|
|
790
|
-
update: (path: string, value: any) => void;
|
|
791
|
-
|
|
811
|
+
update: (path: string, value: any, options?: _acorex_platform_core.AXPContextUpdateOptions) => void;
|
|
812
|
+
applyObjectPaths: (obj: Record<string, unknown>, options?: _acorex_platform_core.AXPContextUpdateOptions, prefix?: string) => void;
|
|
813
|
+
patch: (context: Record<string, any>, second?: boolean | _acorex_platform_core.AXPContextPatchOptions) => void;
|
|
792
814
|
reset: () => void;
|
|
793
815
|
set: (initialData: any) => void;
|
|
794
816
|
getValue: (path: string) => any;
|
|
795
817
|
hasValue: (path: string) => boolean;
|
|
818
|
+
commitBaseline: () => void;
|
|
819
|
+
clearUserDirtyPaths: () => void;
|
|
796
820
|
} & _ngrx_signals.StateSource<{
|
|
797
821
|
data: _acorex_platform_core.AXPContextData;
|
|
798
822
|
state: _acorex_platform_core.AXPContextState;
|
|
799
823
|
initialSnapshot: {};
|
|
800
824
|
previousSnapshot: {};
|
|
825
|
+
userDirtyPaths: string[];
|
|
801
826
|
lastChange: AXPContextChangeEvent;
|
|
802
827
|
}>;
|
|
803
828
|
readonly builderService: AXPWidgetCoreService;
|
|
804
829
|
readonly onContextChanged: EventEmitter<AXPContextChangeEvent>;
|
|
805
830
|
set context(value: any);
|
|
806
831
|
set functions(v: any);
|
|
832
|
+
/** True when user-edited context paths or composite widgets report dirty state. */
|
|
833
|
+
readonly isFormDirty: _angular_core.Signal<boolean>;
|
|
807
834
|
constructor();
|
|
808
835
|
status: _angular_core.Signal<_acorex_platform_layout_widget_core.AXPPageStatus>;
|
|
809
836
|
isBusy: _angular_core.Signal<boolean>;
|
|
810
837
|
refresh(): void;
|
|
811
838
|
find(name: string): Promise<_acorex_platform_layout_widget_core.AXPWidgetCoreElement | undefined>;
|
|
839
|
+
/** Replaces context and clears dirty tracking (discard, save reload, external reset). */
|
|
840
|
+
replaceContext(value: unknown): void;
|
|
812
841
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPWidgetContainerComponent, never>;
|
|
813
842
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPWidgetContainerComponent, "axp-widgets-container", never, { "context": { "alias": "context"; "required": false; }; "functions": { "alias": "functions"; "required": false; }; }, { "onContextChanged": "onContextChanged"; }, never, ["*"], false, never>;
|
|
814
843
|
}
|
|
@@ -976,27 +1005,33 @@ declare class AXPWidgetRendererDirective {
|
|
|
976
1005
|
state: _angular_core.Signal<_acorex_platform_core.AXPContextState>;
|
|
977
1006
|
initialSnapshot: _angular_core.Signal<{}>;
|
|
978
1007
|
previousSnapshot: _angular_core.Signal<{}>;
|
|
1008
|
+
userDirtyPaths: _angular_core.Signal<string[]>;
|
|
979
1009
|
lastChange: _ngrx_signals.DeepSignal<_acorex_platform_core.AXPContextChangeEvent>;
|
|
980
1010
|
isChanged: _angular_core.Signal<boolean>;
|
|
981
1011
|
isReset: _angular_core.Signal<boolean>;
|
|
982
1012
|
isInitiated: _angular_core.Signal<boolean>;
|
|
983
1013
|
isEmpty: _angular_core.Signal<boolean>;
|
|
984
1014
|
isDirty: _angular_core.Signal<boolean>;
|
|
1015
|
+
isUserDirty: _angular_core.Signal<boolean>;
|
|
985
1016
|
snapshot: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
|
|
986
1017
|
initial: _angular_core.Signal<{}>;
|
|
987
1018
|
previous: _angular_core.Signal<{}>;
|
|
988
1019
|
changeEvent: _angular_core.Signal<_acorex_platform_core.AXPContextChangeEvent>;
|
|
989
|
-
update: (path: string, value: any) => void;
|
|
990
|
-
|
|
1020
|
+
update: (path: string, value: any, options?: _acorex_platform_core.AXPContextUpdateOptions) => void;
|
|
1021
|
+
applyObjectPaths: (obj: Record<string, unknown>, options?: _acorex_platform_core.AXPContextUpdateOptions, prefix?: string) => void;
|
|
1022
|
+
patch: (context: Record<string, any>, second?: boolean | _acorex_platform_core.AXPContextPatchOptions) => void;
|
|
991
1023
|
reset: () => void;
|
|
992
1024
|
set: (initialData: any) => void;
|
|
993
1025
|
getValue: (path: string) => any;
|
|
994
1026
|
hasValue: (path: string) => boolean;
|
|
1027
|
+
commitBaseline: () => void;
|
|
1028
|
+
clearUserDirtyPaths: () => void;
|
|
995
1029
|
} & _ngrx_signals.StateSource<{
|
|
996
1030
|
data: _acorex_platform_core.AXPContextData;
|
|
997
1031
|
state: _acorex_platform_core.AXPContextState;
|
|
998
1032
|
initialSnapshot: {};
|
|
999
1033
|
previousSnapshot: {};
|
|
1034
|
+
userDirtyPaths: string[];
|
|
1000
1035
|
lastChange: _acorex_platform_core.AXPContextChangeEvent;
|
|
1001
1036
|
}>;
|
|
1002
1037
|
protected widgetRegistery: AXPWidgetRegistryService;
|