@acorex/platform 21.0.0-next.75 → 21.0.0-next.76
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-common-settings.provider-Ytey9uhY.mjs → acorex-platform-common-common-settings.provider-ChoT4m4k.mjs} +42 -1
- package/fesm2022/acorex-platform-common-common-settings.provider-ChoT4m4k.mjs.map +1 -0
- package/fesm2022/acorex-platform-common.mjs +1471 -606
- package/fesm2022/acorex-platform-common.mjs.map +1 -1
- package/fesm2022/acorex-platform-contracts.mjs +1330 -1
- package/fesm2022/acorex-platform-contracts.mjs.map +1 -1
- package/fesm2022/acorex-platform-core.mjs +208 -5
- package/fesm2022/acorex-platform-core.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-entity.mjs +595 -439
- package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-views.mjs +372 -171
- package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-widget-core.mjs +3 -103
- package/fesm2022/acorex-platform-layout-widget-core.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-CFyfix31.mjs +513 -0
- package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-CFyfix31.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-widgets.mjs +11 -6
- package/fesm2022/acorex-platform-layout-widgets.mjs.map +1 -1
- package/fesm2022/{acorex-platform-themes-default-entity-master-single-view.component-Br9p5aXT.mjs → acorex-platform-themes-default-entity-master-single-view.component-DrUwqKKA.mjs} +2 -3
- package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-DrUwqKKA.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default.mjs +643 -52
- package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
- package/fesm2022/acorex-platform-workflow.mjs +5 -8
- package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
- package/package.json +1 -1
- package/types/acorex-platform-common.d.ts +337 -1056
- package/types/acorex-platform-contracts.d.ts +1679 -4
- package/types/acorex-platform-core.d.ts +92 -181
- package/types/acorex-platform-layout-components.d.ts +2 -1
- package/types/acorex-platform-layout-entity.d.ts +68 -176
- package/types/acorex-platform-layout-views.d.ts +39 -5
- package/types/acorex-platform-layout-widget-core.d.ts +2 -3
- package/types/acorex-platform-layout-widgets.d.ts +11 -4
- package/types/acorex-platform-themes-default.d.ts +120 -57
- package/types/acorex-platform-workflow.d.ts +5 -18
- package/fesm2022/acorex-platform-common-common-settings.provider-Ytey9uhY.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-J0zcGKBX.mjs +0 -116
- package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-J0zcGKBX.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-Br9p5aXT.mjs.map +0 -1
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
import * as _acorex_platform_core from '@acorex/platform/core';
|
|
2
|
-
import { AXPExecuteCommandResult, AXPQueryRequest,
|
|
2
|
+
import { AXPExecuteCommandResult, AXPQueryRequest, AXPMetaData, AXPDataSourceDefinitionProvider, AXPDataSourceDefinition, AXPGridLayoutOptions, AXPMultiLanguageString, AXPBreadcrumbItem, AXPFilterQuery, AXPFilterDefinition, AXPExecuteCommand, AXPPagedListResult, AXPEntityOp, AXPMiddlewareErrorResponse, AXHighlightService, AXPExpression, AXPColumnQuery, AXPSortDefinition, AXPDeviceService, AXPBroadcastEventService, AXPActionMenuItem, AXPFileListItem, AXPExpressionEvaluatorService, AXPContextEvalFactory, 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';
|
|
6
|
+
import * as _acorex_platform_contracts from '@acorex/platform/contracts';
|
|
7
|
+
import { AXPRecordWorkflowInfo, AXPEntityDetailDto, AXPEntityModel, AXPEntityListItemDto, AXPEntityCreateDto, AXPEntityUpdateDto, AXPCategoryEntity } from '@acorex/platform/contracts';
|
|
8
|
+
export { AXPAuditEvent, AXPEntityCreateDto, AXPEntityDataSourceKeys, AXPEntityDetailDto, AXPEntityListItemDto, AXPEntityModel, AXPEntityOutputDto, AXPEntityUpdateDto, AXPMockDto, AXPRecordAuditInfo, AXPRecordOwnershipInfo, AXPRecordStateInfo, AXPRecordWorkflowInfo, collectNestedCreateHiddenProperties, entityDetailsCreateActions, entityDetailsCreateActionsDeferredParent, entityDetailsCrudActions, entityDetailsEditAction, entityDetailsNewEditAction, entityDetailsReferenceCondition, entityDetailsReferenceCreateActions, entityDetailsSimpleCondition, entityMasterBulkDeleteAction, entityMasterCreateAction, entityMasterCrudActions, entityMasterDeleteAction, entityMasterEditAction, entityMasterRecordActions, entityMasterViewAction, entityOverrideDetailsViewAction, mergeForeignKeyFieldIntoCreateActions } from '@acorex/platform/contracts';
|
|
6
9
|
import { AXPopoverComponent } from '@acorex/components/popover';
|
|
7
10
|
import * as i4 from '@acorex/platform/layout/widget-core';
|
|
8
11
|
import { AXPWidgetNode, AXPWidgetColumnNode, AXPWidgetCoreService, AXPColumnWidgetComponent, AXPValueWidgetComponent, AXPWidgetConfig, AXPWidgetRendererDirective, AXPWidgetCoreElementAPI } from '@acorex/platform/layout/widget-core';
|
|
9
12
|
import { AXPPreloadFiltersApplyEvent, AXPColumnItemListItem, AXPDataSelectorRowActionsHandler, AXPCategoryTreeDataSource, AXPDataSelectorAllowCreate } from '@acorex/platform/layout/components';
|
|
10
13
|
import { AXPPageLayoutBaseComponent } from '@acorex/platform/layout/views';
|
|
11
|
-
import
|
|
12
|
-
import { AXPRelatedEntity, AXPEntityPage, AXPEntityCommandScope, AXPEntity, AXPEntityAction, AXPEntityProperty, AXPEntityTableColumn, AXPCardField, AXPEntityPropertyLayoutConfig, AXPEntitySectionView, AXPEntityPropertyCreateView, AXPQueryView, AXPEntityMasterListLayoutType, AXPEntityMasterListDisplayMode, AXPEntityMasterListLayoutOption, AXPEntityPropertyView, AXPCategoryEntity, AXPEntityPropertyGroup, AXPEntityMasterCreateLayoutView, AXPEntityMasterUpdateLayoutView, AXPEntityMasterSingleLayoutView, AXPEntityMasterListView, AXPEntityDetailListView, AXPQueryFilter, AXCFileUploaderCapabilities, AXCFileUploaderAction } from '@acorex/platform/common';
|
|
14
|
+
import { AXPRelatedEntity, AXPEntityPage, AXPEntityCommandScope, AXPEntity, AXPEntityAction, AXPEntityProperty, AXPEntityTableColumn, AXPCardField, AXPEntityPropertyLayoutConfig, AXPEntitySectionView, AXPEntityPropertyCreateView, AXPQueryView, AXPEntityMasterListLayoutType, AXPEntityMasterListDisplayMode, AXPEntityMasterListLayoutOption, AXPEntityPropertyView, AXPEntityCategoryPlugin, AXPEntityPropertyGroup, AXPEntityMasterCreateLayoutView, AXPEntityMasterUpdateLayoutView, AXPEntityMasterSingleLayoutView, AXPEntityMasterListView, AXPEntityDetailListView, AXCFileUploaderCapabilities, AXCFileUploaderAction, AXPQueryFilter } from '@acorex/platform/common';
|
|
13
15
|
export { AXPEntityDefinitionCrudService, AXP_ENTITY_DEFINITION_CRUD_SERVICE } from '@acorex/platform/domain';
|
|
14
16
|
import { AXStyleColorType, AXDataSource, AXDataSourceFilterOption, AXDataSourceSortOption, AXValueChangedEvent, AXClickEvent, AXFocusEvent, AXHtmlEvent } from '@acorex/cdk/common';
|
|
15
17
|
import * as i1 from '@angular/router';
|
|
@@ -115,6 +117,9 @@ declare class AXPUpdateEntityCommand implements AXPCommand<any, any> {
|
|
|
115
117
|
private readonly entityService;
|
|
116
118
|
private readonly toastService;
|
|
117
119
|
private readonly translationService;
|
|
120
|
+
private readonly formatService;
|
|
121
|
+
private readonly expressionEvaluator;
|
|
122
|
+
private readonly contextEvalFactory;
|
|
118
123
|
private readonly eventService;
|
|
119
124
|
execute(input: any): Promise<AXPExecuteCommandResult<any>>;
|
|
120
125
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPUpdateEntityCommand, never>;
|
|
@@ -125,7 +130,11 @@ declare class AXPViewEntityDetailsCommand implements AXPCommand<any, any> {
|
|
|
125
130
|
private readonly entityForm;
|
|
126
131
|
private readonly entityService;
|
|
127
132
|
private readonly translationService;
|
|
133
|
+
private readonly expressionEvaluator;
|
|
134
|
+
private readonly contextEvalFactory;
|
|
128
135
|
execute(input: any): Promise<AXPExecuteCommandResult<any>>;
|
|
136
|
+
private resolveDialogTitle;
|
|
137
|
+
private loadRecordContext;
|
|
129
138
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPViewEntityDetailsCommand, never>;
|
|
130
139
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPViewEntityDetailsCommand>;
|
|
131
140
|
}
|
|
@@ -152,11 +161,6 @@ declare class AXPOpenEntityDetailsCommand implements AXPCommand<AXPOpenEntityDet
|
|
|
152
161
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPOpenEntityDetailsCommand>;
|
|
153
162
|
}
|
|
154
163
|
|
|
155
|
-
/** Platform entity layout datasource registry names. */
|
|
156
|
-
declare const AXPEntityDataSourceKeys: {
|
|
157
|
-
readonly Entities: "entities";
|
|
158
|
-
};
|
|
159
|
-
|
|
160
164
|
declare const AXPEntityEventsKeys: {
|
|
161
165
|
REFRESH_LAYOUT: string;
|
|
162
166
|
REFRESH_DATA: string;
|
|
@@ -204,80 +208,6 @@ interface AXPEntityAggregateOptions {
|
|
|
204
208
|
pageSize?: number;
|
|
205
209
|
}
|
|
206
210
|
|
|
207
|
-
/**
|
|
208
|
-
* One audit point in time for a record lifecycle event.
|
|
209
|
-
*
|
|
210
|
-
* Used inside {@link AXPRecordAuditInfo} (`created`, `updated`, `deleted`).
|
|
211
|
-
* Backends and mock middleware typically set `at` and `by`; `reason` and `source`
|
|
212
|
-
* (for example `api`, `system`, `import`) are optional diagnostic fields.
|
|
213
|
-
*/
|
|
214
|
-
interface AXPAuditEvent {
|
|
215
|
-
at?: Date;
|
|
216
|
-
by?: AXPUserReference;
|
|
217
|
-
/** Optional business or technical reason for the event. */
|
|
218
|
-
reason?: string;
|
|
219
|
-
/** Optional origin of the change (for example `api`, `system`, `import`). */
|
|
220
|
-
source?: string;
|
|
221
|
-
}
|
|
222
|
-
/**
|
|
223
|
-
* Aggregated audit trail for a persisted row.
|
|
224
|
-
*
|
|
225
|
-
* Filled by APIs or connectivity mock middleware when creating, updating, or
|
|
226
|
-
* soft-deleting records. UI surfaces may show these via the history plugin or
|
|
227
|
-
* custom columns. Version snapshot pipelines often **omit** this object from
|
|
228
|
-
* stored snapshots while still applying it to live payloads.
|
|
229
|
-
*
|
|
230
|
-
* @remarks Fields are optional today; callers should tolerate partial data.
|
|
231
|
-
*/
|
|
232
|
-
interface AXPRecordAuditInfo {
|
|
233
|
-
created?: AXPAuditEvent;
|
|
234
|
-
updated?: AXPAuditEvent;
|
|
235
|
-
deleted?: AXPAuditEvent;
|
|
236
|
-
}
|
|
237
|
-
/**
|
|
238
|
-
* Cross-cutting flags that are not part of the domain schema but affect how a
|
|
239
|
-
* row is shown or edited (visibility, built-in/system rows, immutability).
|
|
240
|
-
*
|
|
241
|
-
* Module entity models sometimes expose only this slice (for example
|
|
242
|
-
* `stateInfo` on business units) when the rest of the row uses a bespoke shape.
|
|
243
|
-
*
|
|
244
|
-
* @remarks Entity list/detail flows should honor these flags where applicable.
|
|
245
|
-
*/
|
|
246
|
-
interface AXPRecordStateInfo {
|
|
247
|
-
isHidden?: boolean;
|
|
248
|
-
isSystem?: boolean;
|
|
249
|
-
isImmutable?: boolean;
|
|
250
|
-
/** @deprecated Prefer explicit domain modeling over this flag. */
|
|
251
|
-
isDistributed?: boolean;
|
|
252
|
-
}
|
|
253
|
-
/**
|
|
254
|
-
* Tenancy and actor scope for a row in a multi-tenant application.
|
|
255
|
-
*
|
|
256
|
-
* Used to associate a record with a tenant, application instance, or owning
|
|
257
|
-
* user when the API returns ownership metadata alongside domain fields.
|
|
258
|
-
*/
|
|
259
|
-
interface AXPRecordOwnershipInfo {
|
|
260
|
-
tenantId?: string;
|
|
261
|
-
applicationId?: string;
|
|
262
|
-
userId?: string;
|
|
263
|
-
}
|
|
264
|
-
/**
|
|
265
|
-
* Workflow linkage for a domain record (set when a run is started or bound).
|
|
266
|
-
*
|
|
267
|
-
* Populated by workflow engine, middleware, or integration — not declared as
|
|
268
|
-
* entity definition properties. Entities with the `workflow` plugin may carry
|
|
269
|
-
* this object when a {@link WorkflowManagement.WorkflowInstance} drives the row.
|
|
270
|
-
*/
|
|
271
|
-
interface AXPRecordWorkflowInfo {
|
|
272
|
-
/** Workflow instance id for this record's active or last run. */
|
|
273
|
-
instanceId?: string | null;
|
|
274
|
-
/** Logical workflow definition id (same as WorkflowInstance.definitionId). */
|
|
275
|
-
definitionId?: string | null;
|
|
276
|
-
/** Correlation id for idempotent start and related-run lookup (same as WorkflowInstance.correlationId). */
|
|
277
|
-
correlationId?: string | null;
|
|
278
|
-
/** When set, pins the run to a workflow definition version; omit for current default. */
|
|
279
|
-
pinnedVersion?: number | null;
|
|
280
|
-
}
|
|
281
211
|
/** Entity query filter field for {@link AXPRecordWorkflowInfo.instanceId}. */
|
|
282
212
|
declare const AXP_RECORD_WORKFLOW_INFO_INSTANCE_ID_FIELD: "workflowInfo.instanceId";
|
|
283
213
|
/** Entity query filter field for {@link AXPRecordWorkflowInfo.correlationId}. */
|
|
@@ -299,41 +229,14 @@ declare function buildAXPRecordWorkflowInfo(params: {
|
|
|
299
229
|
correlationId?: string | null;
|
|
300
230
|
pinnedVersion?: number | null;
|
|
301
231
|
}): AXPRecordWorkflowInfo;
|
|
302
|
-
/**
|
|
303
|
-
* Base shape for **entity row** TypeScript models across modules: a stable
|
|
304
|
-
* identifier plus optional platform metadata.
|
|
305
|
-
*
|
|
306
|
-
* Module-specific interfaces extend this with domain properties
|
|
307
|
-
* (`extends AXPEntityModel<string>` / `AXPEntityModel<Id>`) while reusing
|
|
308
|
-
* `auditInfo`, `stateInfo`, `ownershipInfo`, and `workflowInfo` when the backend sends them.
|
|
309
|
-
*/
|
|
310
|
-
interface AXPEntityModel<Id> {
|
|
311
|
-
id: Id;
|
|
312
|
-
auditInfo?: AXPRecordAuditInfo;
|
|
313
|
-
stateInfo?: AXPRecordStateInfo;
|
|
314
|
-
ownershipInfo?: AXPRecordOwnershipInfo;
|
|
315
|
-
workflowInfo?: AXPRecordWorkflowInfo;
|
|
316
|
-
}
|
|
317
|
-
interface AXPEntityCreateDto {
|
|
318
|
-
}
|
|
319
|
-
interface AXPEntityUpdateDto<Id> {
|
|
320
|
-
id: Id;
|
|
321
|
-
}
|
|
322
|
-
interface AXPEntityOutputDto<Id> {
|
|
323
|
-
id: Id;
|
|
324
|
-
}
|
|
325
|
-
interface AXPEntityDetailDto<Id> extends AXPEntityOutputDto<Id> {
|
|
326
|
-
}
|
|
327
|
-
interface AXPEntityListItemDto<Id> extends AXPEntityOutputDto<Id> {
|
|
328
|
-
}
|
|
329
|
-
interface AXPMockDto<Id> extends AXPEntityModel<Id> {
|
|
330
|
-
}
|
|
331
232
|
|
|
332
233
|
declare class AXPEntityDetailPopoverComponent {
|
|
333
234
|
private readonly commandService;
|
|
334
235
|
private readonly queryService;
|
|
335
236
|
private readonly formatService;
|
|
336
237
|
private readonly translation;
|
|
238
|
+
private readonly expressionEvaluator;
|
|
239
|
+
private readonly contextEvalFactory;
|
|
337
240
|
entity: _angular_core.InputSignal<string>;
|
|
338
241
|
entityId: _angular_core.InputSignal<string | number>;
|
|
339
242
|
textField: _angular_core.InputSignal<string>;
|
|
@@ -345,9 +248,11 @@ declare class AXPEntityDetailPopoverComponent {
|
|
|
345
248
|
protected entityDetails: _angular_core.WritableSignal<any>;
|
|
346
249
|
protected isLoadingDetails: _angular_core.WritableSignal<boolean>;
|
|
347
250
|
protected isDetailPopoverOpen: _angular_core.WritableSignal<boolean>;
|
|
251
|
+
private headerTitleVersion;
|
|
348
252
|
/** Placeholder rows for the loading skeleton (matches typical property count). */
|
|
349
253
|
protected readonly loadingSkeletonRows: readonly [1, 2, 3, 4, 5];
|
|
350
|
-
protected readonly headerTitle: _angular_core.
|
|
254
|
+
protected readonly headerTitle: _angular_core.WritableSignal<string>;
|
|
255
|
+
constructor();
|
|
351
256
|
/**
|
|
352
257
|
* Stable list of property widgets for the template. Must be a signal (computed), not a method:
|
|
353
258
|
* calling a method from the template rebuilds nodes every CD cycle and can make the widget renderer loop.
|
|
@@ -367,7 +272,8 @@ declare class AXPEntityDetailPopoverComponent {
|
|
|
367
272
|
hide(): void;
|
|
368
273
|
protected onDetailPopoverOpenChange(event: any): void;
|
|
369
274
|
protected navigateToDetails(): Promise<void>;
|
|
370
|
-
private
|
|
275
|
+
private resolveHeaderTitle;
|
|
276
|
+
private resolveLookupDisplayLabelAsync;
|
|
371
277
|
/**
|
|
372
278
|
* Returns true if a value is meaningful for display (non-empty/non-null).
|
|
373
279
|
*/
|
|
@@ -426,12 +332,11 @@ declare class AXPEntityDetailPopoverService {
|
|
|
426
332
|
|
|
427
333
|
declare class AXPEntityPreloadFiltersContainerComponent extends AXPPageLayoutBaseComponent {
|
|
428
334
|
private readonly route;
|
|
429
|
-
private readonly router;
|
|
430
335
|
private readonly entityService;
|
|
431
336
|
private readonly filterOperatorMiddleware;
|
|
432
337
|
protected readonly noMatchText: _angular_core.WritableSignal<string | null>;
|
|
433
338
|
private vm;
|
|
434
|
-
preloadFiltersDef: _angular_core.Signal<
|
|
339
|
+
preloadFiltersDef: _angular_core.Signal<_acorex_platform_contracts.AXPFilterDefinition[]>;
|
|
435
340
|
hasNoRequiredFilters: _angular_core.Signal<boolean>;
|
|
436
341
|
protected getPageTitle(): string;
|
|
437
342
|
protected getPageDescription(): string | null;
|
|
@@ -543,7 +448,7 @@ declare class AXPEntityListViewCardFieldViewModel {
|
|
|
543
448
|
name: string;
|
|
544
449
|
title: string;
|
|
545
450
|
visible: string | boolean;
|
|
546
|
-
layout:
|
|
451
|
+
layout: _acorex_platform_contracts.AXPEntityPropertyLayoutConfig | undefined;
|
|
547
452
|
display: string;
|
|
548
453
|
isBadgeDisplay: boolean;
|
|
549
454
|
badgeColor: string | undefined;
|
|
@@ -681,7 +586,7 @@ declare class AXPEntityCreateViewSectionViewModel {
|
|
|
681
586
|
private entity;
|
|
682
587
|
private section;
|
|
683
588
|
constructor(entity: AXPEntity, section: AXPEntitySectionView);
|
|
684
|
-
group:
|
|
589
|
+
group: _acorex_platform_contracts.AXPEntityPropertyGroup;
|
|
685
590
|
name: _angular_core.WritableSignal<string>;
|
|
686
591
|
title: _angular_core.Signal<string>;
|
|
687
592
|
description: _angular_core.Signal<string | null | undefined>;
|
|
@@ -757,9 +662,9 @@ declare class AXPEntityMasterListViewQueryViewModel {
|
|
|
757
662
|
constructor(entity: AXPEntity, section: AXPEntityMasterListViewModel, view: AXPQueryView);
|
|
758
663
|
name: string;
|
|
759
664
|
title: string;
|
|
760
|
-
sorts:
|
|
665
|
+
sorts: _acorex_platform_contracts.AXPQuerySort[];
|
|
761
666
|
columns: string[];
|
|
762
|
-
conditions:
|
|
667
|
+
conditions: _acorex_platform_contracts.AXPQueryFilter[];
|
|
763
668
|
indexCol: boolean | undefined;
|
|
764
669
|
pageSize: number | undefined;
|
|
765
670
|
}
|
|
@@ -774,6 +679,7 @@ declare class AXPEntityMasterListViewModel {
|
|
|
774
679
|
private readonly settings;
|
|
775
680
|
private readonly widgetResolver;
|
|
776
681
|
private readonly expressionEvaluator;
|
|
682
|
+
private readonly contextEvalFactory;
|
|
777
683
|
private readonly translation;
|
|
778
684
|
private readonly commandService;
|
|
779
685
|
private readonly eventService;
|
|
@@ -854,7 +760,8 @@ declare class AXPEntityMasterListViewModel {
|
|
|
854
760
|
switchListLayout(): AXPEntityMasterListLayoutType;
|
|
855
761
|
private resolveActiveListLayout;
|
|
856
762
|
private applyListLayoutFromSettings;
|
|
857
|
-
private
|
|
763
|
+
private createLogicExpressionScope;
|
|
764
|
+
private createDisplayExpressionScope;
|
|
858
765
|
private resolveCommandNameExpression;
|
|
859
766
|
private resolveTitleExpression;
|
|
860
767
|
/**
|
|
@@ -1042,7 +949,7 @@ declare class AXPEntityMasterSingleViewGroupViewModel {
|
|
|
1042
949
|
private entity;
|
|
1043
950
|
private section;
|
|
1044
951
|
constructor(entity: AXPEntity, section: AXPEntitySectionView);
|
|
1045
|
-
group:
|
|
952
|
+
group: _acorex_platform_contracts.AXPEntityPropertyGroup;
|
|
1046
953
|
name: _angular_core.WritableSignal<string>;
|
|
1047
954
|
isLoading: _angular_core.WritableSignal<boolean>;
|
|
1048
955
|
title: _angular_core.Signal<string>;
|
|
@@ -1115,7 +1022,7 @@ declare class AXPEntityUpdateViewSectionViewModel {
|
|
|
1115
1022
|
private entity;
|
|
1116
1023
|
private section;
|
|
1117
1024
|
constructor(entity: AXPEntity, section: AXPEntitySectionView);
|
|
1118
|
-
group:
|
|
1025
|
+
group: _acorex_platform_contracts.AXPEntityPropertyGroup;
|
|
1119
1026
|
name: _angular_core.WritableSignal<string>;
|
|
1120
1027
|
title: _angular_core.Signal<string>;
|
|
1121
1028
|
description: _angular_core.Signal<string | null | undefined>;
|
|
@@ -1193,8 +1100,8 @@ interface AXPEntityModifierContext {
|
|
|
1193
1100
|
set(newKey: string | undefined): AXPEntityModifierContext;
|
|
1194
1101
|
};
|
|
1195
1102
|
category: {
|
|
1196
|
-
get():
|
|
1197
|
-
update(updater: (cat:
|
|
1103
|
+
get(): AXPEntityCategoryPlugin | undefined;
|
|
1104
|
+
update(updater: (cat: AXPEntityCategoryPlugin | undefined) => AXPEntityCategoryPlugin): AXPEntityModifierContext;
|
|
1198
1105
|
};
|
|
1199
1106
|
properties: {
|
|
1200
1107
|
list(): AXPEntityProperty[];
|
|
@@ -1487,10 +1394,7 @@ declare function runEntityQuery<T = unknown>(entityName: string, request: AXPQue
|
|
|
1487
1394
|
|
|
1488
1395
|
declare abstract class AXPEntityStorageService<TKey, TDetailDto extends AXPEntityDetailDto<TKey> = AXPEntityModel<TKey>, TListItemDto extends AXPEntityListItemDto<TKey> = TDetailDto, TCreateDto extends AXPEntityCreateDto = TDetailDto, TUpdateDto extends AXPEntityUpdateDto<TKey> = TDetailDto> {
|
|
1489
1396
|
abstract get dbName(): string;
|
|
1490
|
-
abstract initial(entityName: string, collection: TCreateDto[]
|
|
1491
|
-
mergeType?: 'merge' | 'replace';
|
|
1492
|
-
uniqueKeys?: string[];
|
|
1493
|
-
}): Promise<TCreateDto[]>;
|
|
1397
|
+
abstract initial(entityName: string, collection: TCreateDto[]): Promise<TCreateDto[]>;
|
|
1494
1398
|
abstract getOne(entityName: string, id: TKey): Promise<TDetailDto>;
|
|
1495
1399
|
abstract updateOne(entityName: string, id: TKey, keyValues: Omit<Partial<TUpdateDto>, 'id'>): Promise<TDetailDto>;
|
|
1496
1400
|
abstract deleteOne(entityName: string, id: TKey): Promise<void>;
|
|
@@ -1573,7 +1477,7 @@ declare class AXMEntityCrudServiceImpl<TKey, TDetailDto extends AXPEntityDetailD
|
|
|
1573
1477
|
categoryId: TKey;
|
|
1574
1478
|
categoryKey?: string;
|
|
1575
1479
|
}): Promise<AXPPagedListResult<TListItemDto>>;
|
|
1576
|
-
getCategoriesList(request?: AXPQueryRequest): Promise<AXPPagedListResult<AXPCategoryEntity
|
|
1480
|
+
getCategoriesList(request?: AXPQueryRequest): Promise<AXPPagedListResult<AXPCategoryEntity<TKey>>>;
|
|
1577
1481
|
get storageService(): AXPEntityStorageService<any, any, any, any, any>;
|
|
1578
1482
|
count(request: Pick<AXPQueryRequest, 'filter' | 'sort'>): Promise<number>;
|
|
1579
1483
|
queryAll(request: Pick<AXPQueryRequest, 'filter' | 'sort'>, options?: AXPEntityQueryAllOptions): Promise<AXPEntityQueryAllResult<TListItemDto>>;
|
|
@@ -1685,7 +1589,7 @@ declare class EntityDataAccessor<TKey = any, TDetailDto extends AXPEntityDetailD
|
|
|
1685
1589
|
* Queries category entities linked to this entity (`{module}.{entity}Category`).
|
|
1686
1590
|
* Falls back to CRUD category storage (same as {@link AXMEntityCrudServiceImpl.getCategoriesList}).
|
|
1687
1591
|
*/
|
|
1688
|
-
getCategoriesList(request?: AXPQueryRequest): Promise<AXPPagedListResult<AXPCategoryEntity
|
|
1592
|
+
getCategoriesList(request?: AXPQueryRequest): Promise<AXPPagedListResult<AXPCategoryEntity<TKey>>>;
|
|
1689
1593
|
/**
|
|
1690
1594
|
* Creates a new entity.
|
|
1691
1595
|
* @param data - The entity data to create
|
|
@@ -2216,10 +2120,7 @@ declare class AXPMiddlewareEntityStorageService<TKey = any, TDetailDto extends A
|
|
|
2216
2120
|
private compose;
|
|
2217
2121
|
private run;
|
|
2218
2122
|
private createCtx;
|
|
2219
|
-
initial(entityName: string, collection: TCreateDto[]
|
|
2220
|
-
mergeType?: 'merge' | 'replace';
|
|
2221
|
-
uniqueKeys?: string[];
|
|
2222
|
-
}): Promise<TCreateDto[]>;
|
|
2123
|
+
initial(entityName: string, collection: TCreateDto[]): Promise<TCreateDto[]>;
|
|
2223
2124
|
getOne(entityName: string, id: TKey): Promise<TDetailDto>;
|
|
2224
2125
|
updateOne(entityName: string, id: TKey, keyValues: Omit<Partial<TUpdateDto>, 'id'>): Promise<TDetailDto>;
|
|
2225
2126
|
deleteOne(entityName: string, id: TKey): Promise<void>;
|
|
@@ -2239,42 +2140,6 @@ declare class AXPMiddlewareEntityStorageService<TKey = any, TDetailDto extends A
|
|
|
2239
2140
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPMiddlewareEntityStorageService<any, any, any, any, any>>;
|
|
2240
2141
|
}
|
|
2241
2142
|
|
|
2242
|
-
declare function entityMasterCreateAction(): AXPEntityAction;
|
|
2243
|
-
declare function entityMasterEditAction(): AXPEntityAction;
|
|
2244
|
-
declare function entityMasterBulkDeleteAction(): AXPEntityAction;
|
|
2245
|
-
declare function entityMasterViewAction(): AXPEntityAction;
|
|
2246
|
-
declare function entityMasterDeleteAction(): AXPEntityAction;
|
|
2247
|
-
declare function entityMasterCrudActions(options?: {
|
|
2248
|
-
create?: boolean;
|
|
2249
|
-
delete?: boolean;
|
|
2250
|
-
view?: boolean;
|
|
2251
|
-
edit?: boolean;
|
|
2252
|
-
}): AXPEntityAction[];
|
|
2253
|
-
declare function entityMasterRecordActions(): AXPEntityAction[];
|
|
2254
|
-
declare function entityDetailsCreateActions(parentId: string): AXPEntityAction;
|
|
2255
|
-
/**
|
|
2256
|
-
* Type-level Create with empty `process.data`; the FK is supplied from `relatedEntity.persistence.foreignKeyField`
|
|
2257
|
-
* when the related list is built (see `mergeForeignKeyFieldIntoCreateActions`).
|
|
2258
|
-
*/
|
|
2259
|
-
declare function entityDetailsCreateActionsDeferredParent(): AXPEntityAction;
|
|
2260
|
-
/**
|
|
2261
|
-
* Ensures each type-level `Entity:Create` action includes `process.data[foreignKeyField]` bound to the parent row id.
|
|
2262
|
-
*/
|
|
2263
|
-
declare function mergeForeignKeyFieldIntoCreateActions(foreignKeyField: string | undefined, actions: AXPEntityAction[] | undefined): AXPEntityAction[];
|
|
2264
|
-
/** Property names hidden on nested Create from a related list (`excludeProperties` plus `foreignKeyField` when set). */
|
|
2265
|
-
declare function collectNestedCreateHiddenProperties(relatedEntity: AXPRelatedEntity): string[] | undefined;
|
|
2266
|
-
declare function entityDetailsSimpleCondition(fk: string): AXPQueryFilter;
|
|
2267
|
-
declare function entityDetailsReferenceCondition(type: string): AXPQueryFilter[];
|
|
2268
|
-
declare function entityDetailsEditAction(): AXPEntityAction;
|
|
2269
|
-
declare function entityDetailsNewEditAction(): AXPEntityAction;
|
|
2270
|
-
declare function entityOverrideDetailsViewAction(): AXPEntityAction;
|
|
2271
|
-
declare function entityDetailsCrudActions(parentId?: string, options?: {
|
|
2272
|
-
create?: boolean;
|
|
2273
|
-
delete?: boolean;
|
|
2274
|
-
view?: boolean;
|
|
2275
|
-
edit?: boolean;
|
|
2276
|
-
}): AXPEntityAction[];
|
|
2277
|
-
declare function entityDetailsReferenceCreateActions(type: string): AXPEntityAction[];
|
|
2278
2143
|
type AXPEntityChangeSet = {
|
|
2279
2144
|
[key: string]: {
|
|
2280
2145
|
oldValue: any;
|
|
@@ -3446,14 +3311,26 @@ declare function resolveLookupDisplayTemplate(entity: AXPEntity | null | undefin
|
|
|
3446
3311
|
* Priority: explicit `textField` → entity `formats.lookup` (simple path) → common property names.
|
|
3447
3312
|
*/
|
|
3448
3313
|
declare function resolveLookupDisplayField(entity: AXPEntity | null | undefined, options: AXPLookupDisplayOptions): string;
|
|
3314
|
+
interface AXPLookupDisplayEvalDeps {
|
|
3315
|
+
expressionEvaluator: AXPExpressionEvaluatorService;
|
|
3316
|
+
contextEvalFactory: AXPContextEvalFactory;
|
|
3317
|
+
translationService: AXTranslationService;
|
|
3318
|
+
locale: string;
|
|
3319
|
+
}
|
|
3449
3320
|
/**
|
|
3450
|
-
* Formats a lookup row for display using template and/or field resolution.
|
|
3321
|
+
* Formats a lookup row for display using template and/or field resolution (display tier).
|
|
3322
|
+
*/
|
|
3323
|
+
declare function formatLookupItemDisplayAsync(item: unknown, entity: AXPEntity | null | undefined, options: AXPLookupDisplayOptions, formatService: AXFormatService, displayDeps: AXPLookupDisplayEvalDeps, resolveMultiLanguage?: (value: AXPMultiLanguageString) => string): Promise<string>;
|
|
3324
|
+
/**
|
|
3325
|
+
* @deprecated Prefer {@link formatLookupItemDisplayAsync} for expression templates with `context.eval`.
|
|
3451
3326
|
*/
|
|
3452
3327
|
declare function formatLookupItemDisplay(item: unknown, entity: AXPEntity | null | undefined, options: AXPLookupDisplayOptions, formatService: AXFormatService, resolveMultiLanguage?: (value: AXPMultiLanguageString) => string): string | AXPMultiLanguageString;
|
|
3453
3328
|
|
|
3454
3329
|
declare class AXPLookupWidgetViewComponent extends AXPValueWidgetComponent<any> {
|
|
3455
3330
|
protected readonly formatService: AXFormatService;
|
|
3456
3331
|
protected readonly translation: AXTranslationService;
|
|
3332
|
+
protected readonly expressionEvaluator: AXPExpressionEvaluatorService;
|
|
3333
|
+
protected readonly contextEvalFactory: AXPContextEvalFactory;
|
|
3457
3334
|
protected readonly entityResolver: AXPEntityDefinitionRegistryService;
|
|
3458
3335
|
protected entity: _angular_core.Signal<string>;
|
|
3459
3336
|
protected multiple: _angular_core.Signal<boolean>;
|
|
@@ -3733,7 +3610,7 @@ declare class AXPLookupWidgetEditComponent extends AXPValueWidgetComponent<any>
|
|
|
3733
3610
|
protected allowUnselect: _angular_core.Signal<boolean>;
|
|
3734
3611
|
protected look: _angular_core.Signal<AXPLookupWidgetLookType>;
|
|
3735
3612
|
protected displayField: _angular_core.Signal<string>;
|
|
3736
|
-
protected allowCreate: _angular_core.Signal<"
|
|
3613
|
+
protected allowCreate: _angular_core.Signal<"full" | "none" | "quick">;
|
|
3737
3614
|
protected selectorRowActions: _angular_core.Signal<AXPLookupSelectorRowActionsConfig | undefined>;
|
|
3738
3615
|
protected valueField: _angular_core.Signal<string>;
|
|
3739
3616
|
protected displayFormat: _angular_core.Signal<string | undefined>;
|
|
@@ -3778,6 +3655,8 @@ declare class AXPLookupWidgetColumnComponent extends AXPColumnWidgetComponent<an
|
|
|
3778
3655
|
private readonly entityService;
|
|
3779
3656
|
private readonly entityResolver;
|
|
3780
3657
|
private readonly queryExecutor;
|
|
3658
|
+
private readonly expressionEvaluator;
|
|
3659
|
+
private readonly contextEvalFactory;
|
|
3781
3660
|
protected moreButton: _angular_core.Signal<ElementRef<any> | undefined>;
|
|
3782
3661
|
protected lazyTrigger: _angular_core.Signal<ElementRef<any> | undefined>;
|
|
3783
3662
|
protected morePopover: _angular_core.Signal<AXPopoverComponent | undefined>;
|
|
@@ -3804,9 +3683,14 @@ declare class AXPLookupWidgetColumnComponent extends AXPColumnWidgetComponent<an
|
|
|
3804
3683
|
protected resolveError: _angular_core.WritableSignal<string | null>;
|
|
3805
3684
|
protected summaryLabel: _angular_core.WritableSignal<string>;
|
|
3806
3685
|
protected popoverHeader: _angular_core.WritableSignal<string>;
|
|
3686
|
+
protected mainItemLabels: _angular_core.WritableSignal<string[]>;
|
|
3687
|
+
protected lazyPopoverItemLabels: _angular_core.WritableSignal<string[]>;
|
|
3807
3688
|
private entityDef;
|
|
3808
3689
|
private hydratedDisplayItems;
|
|
3809
3690
|
private hydrateRequestId;
|
|
3691
|
+
private mainLabelsVersion;
|
|
3692
|
+
private lazyPopoverLabelsVersion;
|
|
3693
|
+
protected popoverItemLabels: _angular_core.Signal<string[]>;
|
|
3810
3694
|
protected displayItems: _angular_core.Signal<any[]>;
|
|
3811
3695
|
protected allItems: _angular_core.Signal<any[]>;
|
|
3812
3696
|
protected visibleItems: _angular_core.Signal<any[]>;
|
|
@@ -3829,7 +3713,10 @@ declare class AXPLookupWidgetColumnComponent extends AXPColumnWidgetComponent<an
|
|
|
3829
3713
|
* Uses textField / expose targets on the row — not merely whether column dataPath differs from columnName.
|
|
3830
3714
|
*/
|
|
3831
3715
|
protected hasPreresolvedDisplay(): boolean;
|
|
3832
|
-
protected
|
|
3716
|
+
protected getItemLabel(index: number): string;
|
|
3717
|
+
protected getPopoverItemLabel(index: number): string;
|
|
3718
|
+
private resolveLabelsForItems;
|
|
3719
|
+
private resolveItemLabel;
|
|
3833
3720
|
private refreshSummaryLabel;
|
|
3834
3721
|
private refreshPopoverHeader;
|
|
3835
3722
|
private resetLazyState;
|
|
@@ -3852,7 +3739,6 @@ declare class AXPLookupWidgetColumnComponent extends AXPColumnWidgetComponent<an
|
|
|
3852
3739
|
private getRowDisplayTextFromTextField;
|
|
3853
3740
|
private getExposeTargets;
|
|
3854
3741
|
private hasDisplayTextOnLookupValue;
|
|
3855
|
-
private renderLookupLabel;
|
|
3856
3742
|
private formatDisplayValue;
|
|
3857
3743
|
/** True when a scalar cell value is a stored entity key (uuid/numeric), not pre-resolved display text. */
|
|
3858
3744
|
private isLikelyEntityId;
|
|
@@ -4421,6 +4307,9 @@ declare class AXPQuickEntityModifyPopupAction extends AXPWorkflowAction {
|
|
|
4421
4307
|
private popupService;
|
|
4422
4308
|
private platform;
|
|
4423
4309
|
private translateService;
|
|
4310
|
+
private formatService;
|
|
4311
|
+
private expressionEvaluator;
|
|
4312
|
+
private contextEvalFactory;
|
|
4424
4313
|
private entityRegistery;
|
|
4425
4314
|
private config;
|
|
4426
4315
|
private factory;
|
|
@@ -4453,6 +4342,9 @@ declare class AXPEntityModifySectionPopupAction extends AXPWorkflowAction {
|
|
|
4453
4342
|
private popupService;
|
|
4454
4343
|
private platform;
|
|
4455
4344
|
private translateService;
|
|
4345
|
+
private formatService;
|
|
4346
|
+
private expressionEvaluator;
|
|
4347
|
+
private contextEvalFactory;
|
|
4456
4348
|
private entityRegistery;
|
|
4457
4349
|
private config;
|
|
4458
4350
|
private factory;
|
|
@@ -4494,5 +4386,5 @@ declare class AXPShowListViewAction extends AXPWorkflowAction {
|
|
|
4494
4386
|
}
|
|
4495
4387
|
declare const AXPShowListViewWorkflow: AXPWorkflow;
|
|
4496
4388
|
|
|
4497
|
-
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,
|
|
4498
|
-
export type {
|
|
4389
|
+
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, collectNestedFieldPathsFromEntityColumns, collectQuickSearchPathsFromSingleEntityDefinition, columnOrderingMiddleware, columnOrderingMiddlewareProvider, columnWidthMiddleware, columnWidthMiddlewareProvider, commandMessageTextForError, committedAttachments, computeEntityAggregates, createColumnOrderingMiddlewareProvider, createLayoutOrderingMiddlewareProvider, createModifierContext, defaultCardLayoutMiddleware, defaultCardLayoutMiddlewareProvider, defaultMultiLanguageMiddleware, defaultMultiLanguageMiddlewareProvider, detectEntityChanges, ensureLayoutPropertyView, ensureLayoutSection, ensureListActions, eventDispatchMiddleware, filterSortEntityRows, findEntityListRowDataInTree, fingerprintAttachmentItem, fingerprintAttachments, formatLookupItemDisplay, formatLookupItemDisplayAsync, getDataSourcePageIndex, getEntityListRowId, getMasterInterfacePropertySortKey, getRecordWorkflowCorrelationId, getRecordWorkflowInstanceId, hasFileUploaderTitleOrDescriptionFields, isAXPMiddlewareAbortError, isAttachmentListEntry, isCategoryEntity, isCategoryFilter, isFileListItem, isFileUploaderEditDialogAuto, isLegacyEntityDataSelectorOptions, layoutOrderingMiddlewareFactory, layoutOrderingMiddlewareProvider, mapEntityStorageErrorToCommandResult, mapLegacyEntityDataSelectorOptions, normalizeEntityDataSelectorOptions, normalizeEntityFieldToFileList, normalizeEntityListPersistenceMode, normalizeListPaging, persistedAttachments, provideEntity, resolveEntityPluginDetailPageOrder, resolveFileUploaderEditDialog, resolveFileUploaderEntityScope, resolveLookupDisplayField, resolveLookupDisplayTemplate, restoreEntityListExpandedRows, runEntityQuery, searchResultDescriptionMiddleware, searchResultDescriptionMiddlewareProvider, shouldLoadEntityListStateFromStorage, shouldResetEntityListStateOnRouteEntry };
|
|
4390
|
+
export type { AXPCollectEntityQuickSearchPathsResolver, AXPDataSeeder, AXPEntityActionPlugin, AXPEntityAggregateMeasure, AXPEntityAggregateOptions, AXPEntityAggregateReducerType, AXPEntityAggregateRequest, AXPEntityAggregateResult, AXPEntityCategoryWidgetOptions, AXPEntityChangeSet, AXPEntityConfigs, AXPEntityDataSelectorCategoryFilterOptions, AXPEntityDataSelectorCategoryOptions, AXPEntityDataSelectorCreateOptions, AXPEntityDataSelectorFilterOptions, AXPEntityDataSelectorGridOptions, AXPEntityDataSelectorOpenInput, AXPEntityDataSelectorOpenOptions, AXPEntityDataSelectorOptions, AXPEntityDataSelectorResult, AXPEntityDataSelectorRowActionsConfig, AXPEntityDataSelectorSearchOptions, AXPEntityDataSelectorSelectionOptions, AXPEntityDataSelectorSortOptions, AXPEntityDefinitionLoader, AXPEntityDefinitionPreloader, AXPEntityDeleteOptions, AXPEntityDetailPopoverOptions, AXPEntityLayoutLike, AXPEntityLayoutPropertyLike, AXPEntityLayoutSectionLike, AXPEntityListEntry, AXPEntityListExpandRowRef, AXPEntityListInput, AXPEntityListPagingState, AXPEntityListPersistenceMode, AXPEntityListToolbarConvertOptions, AXPEntityMasterListCardLayout, AXPEntityMasterListCardSecondaryActionItem, AXPEntityMasterListViewSortPropViewModel, AXPEntityModifier, AXPEntityModifierContext, AXPEntityModifierProvider, AXPEntityPreloadEntity, AXPEntityQueryAllOptions, AXPEntityQueryAllResult, AXPEntityStorageContext, AXPEntityStorageMiddleware, AXPFileListLook, AXPFileUploaderEditDialogFieldOptions, AXPFileUploaderEditDialogMode, AXPFileUploaderEditDialogOptions, AXPFileUploaderEntityFilesScope, AXPFileUploaderLoadFilesInput, AXPFileUploaderLoadFilesResult, AXPFileUploaderSaveFilesInput, AXPFileUploaderSaveFilesResult, AXPFileUploaderShowFileListEntityContext, AXPFileUploaderShowFileListOptions, AXPFileUploaderUploadActionDescriptor, AXPFileUploaderWidgetColumnOptions, AXPFileUploaderWidgetDesignerOptions, AXPFileUploaderWidgetEditOptions, AXPFileUploaderWidgetOptions, AXPFileUploaderWidgetPrintOptions, AXPFileUploaderWidgetViewOptions, AXPGetEntityDetailsQueryInput, AXPGetEntityDetailsQueryResult, AXPLookupColumnResolveOptions, AXPLookupColumnResolveStrategy, AXPLookupDisplayEvalDeps, AXPLookupDisplayOptions, AXPLookupPopoverOptions, AXPLookupSelectorRowActionsConfig, AXPLookupWidgetLookType, AXPLookupWidgetOptions, AXPMultiSourceDefinition, AXPMultiSourceDefinitionProvider, AXPMultiSourceItem, AXPMultiSourceRef, AXPMultiSourceSearchResult, AXPMultiSourceSearchResultItem, AXPMultiSourceSelectorOpenConfig, AXPMultiSourceSelectorResult, AXPMultiSourceSelectorWidgetOptions, AXPMultiSourceValue, AXPOpenEntityDetailsCommandInput, 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 };
|
|
@@ -3,6 +3,7 @@ import * as _angular_core from '@angular/core';
|
|
|
3
3
|
import { Signal, OnInit, OnDestroy } from '@angular/core';
|
|
4
4
|
import * as _acorex_platform_themes_shared from '@acorex/platform/themes/shared';
|
|
5
5
|
import { AXClickEvent } from '@acorex/cdk/common';
|
|
6
|
+
import { AXPTabNavigationService, AXPHomePageService, AXPSettingsService, AXPTabPreviewService, AXPUnsavedChangesConfirmService, AXPEntityCommandScope } from '@acorex/platform/common';
|
|
6
7
|
import * as i1 from '@acorex/cdk/drawer';
|
|
7
8
|
import { AXDrawerItemDirective } from '@acorex/cdk/drawer';
|
|
8
9
|
import * as _acorex_platform_core from '@acorex/platform/core';
|
|
@@ -14,15 +15,14 @@ import { AXTranslationService } from '@acorex/core/translation';
|
|
|
14
15
|
import { AXToastService } from '@acorex/components/toast';
|
|
15
16
|
import { AXFormatService } from '@acorex/core/format';
|
|
16
17
|
import { AXPSessionService } from '@acorex/platform/auth';
|
|
17
|
-
import
|
|
18
|
+
import * as _angular_router from '@angular/router';
|
|
19
|
+
import { Router, ActivatedRoute } from '@angular/router';
|
|
18
20
|
import { AXBasePageComponent } from '@acorex/components/page';
|
|
19
21
|
import * as _acorex_platform_layout_widget_core from '@acorex/platform/layout/widget-core';
|
|
20
22
|
import { AXPWidgetNode, AXPPageStatus as AXPPageStatus$1, AXPWidgetContainerComponent } from '@acorex/platform/layout/widget-core';
|
|
21
23
|
import * as _acorex_platform_layout_views from '@acorex/platform/layout/views';
|
|
22
24
|
import { AXFormComponent } from '@acorex/components/form';
|
|
23
25
|
import { AXTabStripChangedEvent } from '@acorex/components/tabs';
|
|
24
|
-
import * as _angular_router from '@angular/router';
|
|
25
|
-
import { Router, ActivatedRoute } from '@angular/router';
|
|
26
26
|
|
|
27
27
|
declare abstract class AXPPageLayoutBase {
|
|
28
28
|
abstract primaryMenuItems: Signal<AXPActionMenuItem[]>;
|
|
@@ -117,6 +117,7 @@ declare class AXPPageLayoutComponent {
|
|
|
117
117
|
isPrinting: boolean;
|
|
118
118
|
}>;
|
|
119
119
|
protected deviceService: AXPDeviceService;
|
|
120
|
+
protected tabNavigation: AXPTabNavigationService;
|
|
120
121
|
protected startSideDrawer: _angular_core.Signal<AXDrawerItemDirective | undefined>;
|
|
121
122
|
protected workflow: AXPWorkflowService;
|
|
122
123
|
protected commandService: AXPCommandService;
|
|
@@ -206,10 +207,28 @@ declare abstract class AXPPageLayoutBaseComponent implements AXPPageLayoutBase {
|
|
|
206
207
|
protected readonly homePageService: AXPHomePageService;
|
|
207
208
|
protected readonly policyService: AXPPolicyEngineService;
|
|
208
209
|
protected readonly settingsService: AXPSettingsService;
|
|
210
|
+
protected readonly tabNavigation: AXPTabNavigationService;
|
|
211
|
+
protected readonly tabPreviewService: AXPTabPreviewService;
|
|
212
|
+
protected readonly unsavedChangesConfirm: AXPUnsavedChangesConfirmService;
|
|
213
|
+
protected readonly router: Router;
|
|
209
214
|
private _updateTrigger;
|
|
215
|
+
/** Tab key captured at page init — stable while the route instance is cached. */
|
|
216
|
+
private readonly pageTabKey;
|
|
210
217
|
protected updateTrigger: _angular_core.Signal<number>;
|
|
211
218
|
protected recompute(): void;
|
|
212
219
|
ngOnInit(): Promise<void>;
|
|
220
|
+
/** Maps the home-page route to the pinned home tab key instead of a path-based key. */
|
|
221
|
+
private resolvePageTabKey;
|
|
222
|
+
protected publishTabStructuredPreview(tabKey: string, input: {
|
|
223
|
+
titleValue: AXPMultiLanguageString;
|
|
224
|
+
descriptionValue: AXPMultiLanguageString | null;
|
|
225
|
+
icon: string | null;
|
|
226
|
+
breadcrumbItems: AXPBreadcrumbItem[];
|
|
227
|
+
isDirty: boolean;
|
|
228
|
+
}): Promise<void>;
|
|
229
|
+
protected resolveMultiLanguageText(value: AXPMultiLanguageString | null | undefined, fallback: string): Promise<string>;
|
|
230
|
+
/** Resolves i18n keys (`@scope:key`); returns plain text unchanged. */
|
|
231
|
+
protected translateTextIfKey(text: string): Promise<string>;
|
|
213
232
|
title: _angular_core.WritableSignal<_acorex_core_translation.AXMultiLanguageString>;
|
|
214
233
|
titleIcon: _angular_core.WritableSignal<string | null>;
|
|
215
234
|
protected getPageTitle(): AXPMultiLanguageString | Promise<AXPMultiLanguageString>;
|
|
@@ -223,9 +242,20 @@ declare abstract class AXPPageLayoutBaseComponent implements AXPPageLayoutBase {
|
|
|
223
242
|
breadcrumbs: _angular_core.WritableSignal<AXPBreadcrumbItem[]>;
|
|
224
243
|
hasBreadcrumbs: _angular_core.Signal<boolean>;
|
|
225
244
|
protected getPageBreadcrumbs(): AXPBreadcrumbItem[] | Promise<AXPBreadcrumbItem[]>;
|
|
245
|
+
/** Joins all page breadcrumbs (Home is excluded upstream) as the tab label. */
|
|
246
|
+
protected resolveBreadcrumbTabTitle(pageBreadcrumbs: AXPBreadcrumbItem[]): Promise<string | null>;
|
|
247
|
+
/** Resolves a breadcrumb label the same way as page chrome (`t(item.title)`). */
|
|
248
|
+
protected resolveBreadcrumbItemTitle(item: AXPBreadcrumbItem | undefined): Promise<string | null>;
|
|
249
|
+
/** Fallback tab label from the page title when breadcrumbs are not ready yet. */
|
|
250
|
+
protected resolvePageTitleForTab(): Promise<string | null>;
|
|
226
251
|
badge: _angular_core.WritableSignal<AXPBadge | null>;
|
|
227
252
|
hasBadge: _angular_core.Signal<boolean>;
|
|
228
253
|
hasUnsavedChanges(): boolean;
|
|
254
|
+
/**
|
|
255
|
+
* Confirms closing this page as a background tab (no router navigation).
|
|
256
|
+
* Override when dirty detection differs from {@link hasUnsavedChanges}.
|
|
257
|
+
*/
|
|
258
|
+
onBeforeTabClose(): boolean | Promise<boolean>;
|
|
229
259
|
protected getPageBadge(): Promise<AXPBadge | null>;
|
|
230
260
|
resolvePageBadge(): Promise<AXPBadge | null>;
|
|
231
261
|
status: _angular_core.WritableSignal<AXPPageStatus | null>;
|
|
@@ -658,11 +688,9 @@ declare class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent i
|
|
|
658
688
|
evaluatedTabContentsById: Record<string, _acorex_platform_layout_widget_core.AXPWidgetNode[]>;
|
|
659
689
|
formDirty: boolean;
|
|
660
690
|
}>;
|
|
661
|
-
protected router: Router;
|
|
662
691
|
protected route: ActivatedRoute;
|
|
663
692
|
protected eventService: AXPBroadcastEventService;
|
|
664
693
|
protected deviceService: AXPDeviceService;
|
|
665
|
-
private readonly unsavedChangesConfirm;
|
|
666
694
|
private readonly unsavedChangesPopstate;
|
|
667
695
|
private readonly pageComponentInstanceRegistry;
|
|
668
696
|
private readonly shortcutRegistry;
|
|
@@ -724,6 +752,8 @@ declare class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent i
|
|
|
724
752
|
private getLiveFormContext;
|
|
725
753
|
private finalizeSave;
|
|
726
754
|
private finalizeDiscard;
|
|
755
|
+
/** Reverts widget form state and view-model context to the last saved baseline. */
|
|
756
|
+
private discardUnsavedChanges;
|
|
727
757
|
/**
|
|
728
758
|
* `ax-tabs` selects on click before we can confirm. Revert synchronously, then confirm + switch.
|
|
729
759
|
*/
|
|
@@ -740,6 +770,7 @@ declare class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent i
|
|
|
740
770
|
protected getPageTitle(): Promise<AXPMultiLanguageString>;
|
|
741
771
|
getPageDescription(): Promise<AXPMultiLanguageString | null>;
|
|
742
772
|
getBackButton(): Promise<AXPBackButton | null>;
|
|
773
|
+
hasUnsavedChanges(): boolean;
|
|
743
774
|
getPageBadge(): Promise<AXPBadge | null>;
|
|
744
775
|
getPageStatus(): Promise<AXPPageStatus | null>;
|
|
745
776
|
/**
|
|
@@ -751,11 +782,14 @@ declare class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent i
|
|
|
751
782
|
* Router guard hook — same unsaved-changes confirm as dialog builder {@link confirmCloseWhenDirty}.
|
|
752
783
|
*/
|
|
753
784
|
canDeactivate(): Promise<boolean>;
|
|
785
|
+
/** Background tab close — confirm without discarding (the cached instance is destroyed). */
|
|
786
|
+
onBeforeTabClose(): Promise<boolean>;
|
|
754
787
|
/** Active entity component page instance, when the current details sub-page is component-based. */
|
|
755
788
|
private getActivePageComponentInstance;
|
|
756
789
|
/** Component key for the current details sub-page, when content is component-based. */
|
|
757
790
|
private getActivePageComponentKey;
|
|
758
791
|
private static isComponentPageContent;
|
|
792
|
+
protected pageContentTrackKey(item: AXPPageContentItem, index: number): string;
|
|
759
793
|
/** Whether the active component-based entity page has unsaved edits. */
|
|
760
794
|
private isActivePageComponentDirty;
|
|
761
795
|
/** Whether the current details page has user-origin unsaved edits (form or component page). */
|