@acorex/platform 21.0.0-beta.1 → 21.0.0-beta.10

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.
Files changed (44) hide show
  1. package/fesm2022/acorex-platform-auth.mjs +4 -0
  2. package/fesm2022/acorex-platform-auth.mjs.map +1 -1
  3. package/fesm2022/{acorex-platform-common-common-settings.provider-G9XcXXOG.mjs → acorex-platform-common-common-settings.provider-Bi1RYif5.mjs} +58 -22
  4. package/fesm2022/acorex-platform-common-common-settings.provider-Bi1RYif5.mjs.map +1 -0
  5. package/fesm2022/acorex-platform-common.mjs +275 -130
  6. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  7. package/fesm2022/acorex-platform-core.mjs +106 -5
  8. package/fesm2022/acorex-platform-core.mjs.map +1 -1
  9. package/fesm2022/acorex-platform-layout-builder.mjs +104 -13
  10. package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
  11. package/fesm2022/acorex-platform-layout-components.mjs +224 -6
  12. package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
  13. package/fesm2022/acorex-platform-layout-designer.mjs +37 -2
  14. package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
  15. package/fesm2022/acorex-platform-layout-entity.mjs +1107 -72
  16. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  17. package/fesm2022/acorex-platform-layout-views.mjs +7 -5
  18. package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
  19. package/fesm2022/acorex-platform-layout-widget-core.mjs +72 -6
  20. package/fesm2022/acorex-platform-layout-widget-core.mjs.map +1 -1
  21. package/fesm2022/acorex-platform-layout-widgets.mjs +181 -158
  22. package/fesm2022/acorex-platform-layout-widgets.mjs.map +1 -1
  23. package/fesm2022/acorex-platform-runtime.mjs +65 -2
  24. package/fesm2022/acorex-platform-runtime.mjs.map +1 -1
  25. package/fesm2022/acorex-platform-themes-default.mjs +121 -15
  26. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
  27. package/fesm2022/{acorex-platform-themes-shared-settings.provider-D13QB3Hr.mjs → acorex-platform-themes-shared-settings.provider-DK6R87Lf.mjs} +23 -24
  28. package/fesm2022/acorex-platform-themes-shared-settings.provider-DK6R87Lf.mjs.map +1 -0
  29. package/fesm2022/acorex-platform-themes-shared.mjs +2 -2
  30. package/fesm2022/acorex-platform-workflow.mjs +85 -4
  31. package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
  32. package/package.json +7 -9
  33. package/types/acorex-platform-common.d.ts +105 -52
  34. package/types/acorex-platform-core.d.ts +26 -3
  35. package/types/acorex-platform-layout-builder.d.ts +26 -3
  36. package/types/acorex-platform-layout-components.d.ts +52 -1
  37. package/types/acorex-platform-layout-entity.d.ts +262 -8
  38. package/types/acorex-platform-layout-widget-core.d.ts +15 -0
  39. package/types/acorex-platform-layout-widgets.d.ts +33 -23
  40. package/types/acorex-platform-runtime.d.ts +6 -0
  41. package/types/acorex-platform-themes-default.d.ts +8 -0
  42. package/types/acorex-platform-workflow.d.ts +68 -2
  43. package/fesm2022/acorex-platform-common-common-settings.provider-G9XcXXOG.mjs.map +0 -1
  44. package/fesm2022/acorex-platform-themes-shared-settings.provider-D13QB3Hr.mjs.map +0 -1
@@ -1,5 +1,5 @@
1
1
  import * as _acorex_platform_core from '@acorex/platform/core';
2
- import { AXPExecuteCommandResult, AXPMetaData, AXPDataSourceDefinitionProvider, AXPDataSourceDefinition, AXPGridLayoutOptions, AXPBreadcrumbItem, AXPFilterQuery, AXPFilterDefinition, AXPExecuteCommand, AXPUserReference, AXPQueryRequest, AXPPagedListResult, AXPCategoryEntity as AXPCategoryEntity$1, AXPEntityOp, AXPMiddlewareErrorResponse, AXHighlightService, AXPExpression, AXPMultiLanguageString, AXPColumnQuery, AXPSortDefinition, AXPDeviceService, AXPBroadcastEventService, AXPActionMenuItem, AXPContextChangeEvent } from '@acorex/platform/core';
2
+ import { AXPExecuteCommandResult, AXPMetaData, AXPDataSourceDefinitionProvider, AXPDataSourceDefinition, AXPGridLayoutOptions, AXPBreadcrumbItem, AXPFilterQuery, AXPFilterDefinition, AXPExecuteCommand, AXPQueryRequest, AXPPagedListResult, AXPUserReference, AXPCategoryEntity as AXPCategoryEntity$1, AXPEntityOp, AXPMiddlewareErrorResponse, AXHighlightService, AXPExpression, AXPMultiLanguageString, AXPColumnQuery, AXPSortDefinition, AXPDeviceService, AXPBroadcastEventService, AXPActionMenuItem, 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';
@@ -276,7 +276,7 @@ declare class AXPEntitiesListDataSourceDefinition implements AXPDataSourceDefini
276
276
  }
277
277
 
278
278
  declare class AXPEntityCommandTriggerViewModel {
279
- priority: 'primary' | 'secondary';
279
+ priority: 'primary' | 'secondary' | 'none';
280
280
  order: number;
281
281
  color: AXStyleColorType;
282
282
  icon: string;
@@ -317,12 +317,19 @@ declare class AXPEntityDetailListViewModel {
317
317
  private filterOperatorMiddleware;
318
318
  private expressionEvaluator;
319
319
  private queryExecutor;
320
+ private readonly settingsService;
321
+ private readonly destroyed;
322
+ private readonly showRowIndexColumnEnabled;
323
+ /** Whether the row index column is shown (user setting). */
324
+ readonly showIndexColumn: _angular_core.Signal<boolean>;
320
325
  dataSource: AXDataSource<any>;
321
326
  parentKey: _angular_core.Signal<string | undefined>;
322
327
  constructor(injector: Injector, detailEntityConfig: AXPRelatedEntity, parent: {
323
328
  entity: AXPEntity;
324
329
  data: any;
325
330
  });
331
+ private syncShowRowIndexColumnSetting;
332
+ destroy(): void;
326
333
  initialize(): Promise<void>;
327
334
  selectedItems: _angular_core.WritableSignal<any[]>;
328
335
  hasSelectedItems: _angular_core.Signal<boolean>;
@@ -360,6 +367,49 @@ declare const AXPEntityEventsKeys: {
360
367
  REFRESH_DATA: string;
361
368
  };
362
369
 
370
+ interface AXPEntityListExpandRowRef {
371
+ data: Record<string, unknown>;
372
+ }
373
+ /**
374
+ * Resolves a stable row id from entity list row data.
375
+ */
376
+ declare function getEntityListRowId(data: Record<string, unknown>, key?: string): string;
377
+ /**
378
+ * Finds row data in a hierarchical grid tree (root rows and nested children).
379
+ */
380
+ declare function findEntityListRowDataInTree(items: unknown[], id: string, key: string): Record<string, unknown> | null;
381
+ /**
382
+ * Restores expanded rows after data load (parents before children).
383
+ */
384
+ declare function restoreEntityListExpandedRows(options: {
385
+ expandedRowIds: string[];
386
+ rowKey: string;
387
+ getDisplayedRows: () => unknown[];
388
+ expandRow: (row: AXPEntityListExpandRowRef) => Promise<void>;
389
+ }): Promise<void>;
390
+
391
+ interface AXPEntityListPagingState {
392
+ take: number;
393
+ skip: number;
394
+ }
395
+ /**
396
+ * Applies take/skip to the data source without triggering {@link AXDataSource.load}.
397
+ */
398
+ declare function applyDataSourcePagingWithoutLoad(dataSource: AXDataSource, paging: AXPEntityListPagingState): void;
399
+ declare function getDataSourcePageIndex(dataSource: AXDataSource): number;
400
+ declare function normalizeListPaging(paging: Partial<AXPEntityListPagingState> | undefined, defaultTake: number): AXPEntityListPagingState;
401
+
402
+ /** How entity list UI state (columns, filters, paging, etc.) is persisted for the user. */
403
+ type AXPEntityListPersistenceMode = 'none' | 'persistent' | 'route';
404
+ declare const AXPEntityListPersistenceModeDefault: AXPEntityListPersistenceMode;
405
+ declare function normalizeEntityListPersistenceMode(value: unknown): AXPEntityListPersistenceMode;
406
+ declare function canPersistEntityListState(mode: AXPEntityListPersistenceMode): boolean;
407
+ /** `none` never reads list state from user settings. */
408
+ declare function shouldLoadEntityListStateFromStorage(mode: AXPEntityListPersistenceMode): boolean;
409
+ /** `route` clears stored list state when the route entity (module + name) changes. */
410
+ declare function shouldResetEntityListStateOnRouteEntry(mode: AXPEntityListPersistenceMode): boolean;
411
+ declare const ENTITY_LIST_ROUTE_CONTEXT_SESSION_KEY = "axp-entity-list-route-context";
412
+
363
413
  /**
364
414
  * Entity Event Dispatcher - A wrapper for entity-specific events
365
415
  * Handles pattern-based dispatching for entity operations with wildcard support
@@ -473,12 +523,27 @@ declare class AXPEntityMasterListViewModel {
473
523
  private lastAppliedSortKey;
474
524
  private lastAppliedFilterKey;
475
525
  private hasQueryParamsFilters;
526
+ /** Persisted expanded row ids for hierarchical lists (per view). */
527
+ private readonly expandedRowIds;
528
+ /** When true, row expand/collapse is not written to user settings (restore in progress). */
529
+ skipExpandedRowPersistence: boolean;
530
+ /** Resolved take/skip for the current view (null until loaded from settings). */
531
+ private readonly resolvedListPaging;
532
+ /** When true, pager changes are not persisted (programmatic UI sync). */
533
+ skipListPagingPersistence: boolean;
534
+ private listPersistenceMode;
476
535
  events$: Subject<{
477
536
  action: string;
478
537
  meta?: any;
479
538
  }>;
480
539
  views: _angular_core.Signal<AXPEntityMasterListViewQueryViewModel[]>;
481
540
  view: _angular_core.WritableSignal<AXPEntityMasterListViewQueryViewModel>;
541
+ private readonly showRowIndexColumnEnabled;
542
+ /**
543
+ * Row index column: if the list view defines `indexCol` (true/false), that overrides the user setting;
544
+ * if `indexCol` is omitted, visibility follows {@link AXPCommonSettings.ShowRowIndexColumn}.
545
+ */
546
+ showIndexColumn: _angular_core.Signal<boolean>;
482
547
  private createExpressionScope;
483
548
  private resolveCommandNameExpression;
484
549
  private resolveTitleExpression;
@@ -486,8 +551,30 @@ declare class AXPEntityMasterListViewModel {
486
551
  setView(viewName?: string | null): Promise<void>;
487
552
  dataSource: AXDataSource<any>;
488
553
  constructor(injector: Injector, config: AXPEntity);
554
+ private syncShowRowIndexColumnSetting;
555
+ /**
556
+ * Applies {@link AXPCommonSettings.EntityListPersistenceMode} for this list instance.
557
+ * Call once when the list view model is created (before loading list UI state).
558
+ */
559
+ initializeListPersistence(): Promise<void>;
560
+ getListPersistenceMode(): Promise<AXPEntityListPersistenceMode>;
561
+ shouldLoadPersistedListState(): Promise<boolean>;
562
+ shouldPersistListState(): Promise<boolean>;
563
+ private clearEntityListSettings;
489
564
  applySettings(): Promise<void>;
490
- saveSettings(changesType: 'columnSizes' | 'columnOrders' | 'view' | 'pageSize' | 'filters' | 'sorts', data?: any): Promise<void>;
565
+ ensureListPagingResolved(): Promise<void>;
566
+ getResolvedListPaging(): AXPEntityListPagingState;
567
+ applyPagingToDataSourceWithoutLoad(): void;
568
+ saveListPaging(take: number, skip: number): void;
569
+ resetListPagingSkip(): void;
570
+ private loadListPagingFromViewSettings;
571
+ getExpandedRowIds(): string[];
572
+ /**
573
+ * Updates persisted expanded row ids when the user expands or collapses a tree row.
574
+ */
575
+ updateExpandedRowId(rowId: string, expanded: boolean): void;
576
+ handleRowExpandChange(rowData: Record<string, unknown>): void;
577
+ saveSettings(changesType: 'columnSizes' | 'columnOrders' | 'view' | 'pageSize' | 'listPaging' | 'filters' | 'sorts' | 'expandedRows', data?: unknown): Promise<void>;
491
578
  selectedItems: _angular_core.WritableSignal<any[]>;
492
579
  /**
493
580
  * Selected category from the category sidebar (left panel).
@@ -715,6 +802,23 @@ declare class AXPEntityMasterUpdateViewModelFactory {
715
802
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPEntityMasterUpdateViewModelFactory>;
716
803
  }
717
804
 
805
+ type AXPCollectEntityQuickSearchPathsResolver = (moduleName: string, entityName: string) => Promise<AXPEntity | null>;
806
+ /**
807
+ * Lodash-get paths for quick search from a single entity definition: string-like property names
808
+ * plus lookup `expose[].target` paths (e.g. `brand.title`).
809
+ */
810
+ declare function collectQuickSearchPathsFromSingleEntityDefinition(entity: AXPEntity | null | undefined): string[];
811
+ /**
812
+ * Adds dotted paths from master columns (`name` or `options.dataPath`), e.g. `person.fullName`, `jobDefinition.title`.
813
+ */
814
+ declare function collectNestedFieldPathsFromEntityColumns(entity: AXPEntity | null | undefined): string[];
815
+ /**
816
+ * Collects lodash-get field paths used for mock/API quick search (`contains` / OR filters):
817
+ * host properties and lookup expose targets, dotted column paths, and merge-detail related entities
818
+ * prefixed with the related entity merge `persistence.dataPath` (e.g. `person.firstName`).
819
+ */
820
+ declare function collectEntityQuickSearchFieldPaths(entity: AXPEntity | null | undefined, resolveRelatedDefinition: AXPCollectEntityQuickSearchPathsResolver): Promise<string[]>;
821
+
718
822
  declare class AXPEntityPreloadFiltersViewModel {
719
823
  private injector;
720
824
  private config;
@@ -857,6 +961,7 @@ type AXPEntityModifier = (context: AXPEntityModifierContext) => void;
857
961
  interface AXPEntityModifierProvider {
858
962
  entityName: string | RegExp;
859
963
  modifier: AXPEntityModifier;
964
+ order?: number;
860
965
  }
861
966
 
862
967
  declare function ensureListActions(ctx: AXPEntityModifierContext): void;
@@ -897,8 +1002,10 @@ declare class AXPEntityMiddleware {
897
1002
  protected providedActionPlugins: AXPEntityActionPlugin[];
898
1003
  protected injector: Injector;
899
1004
  constructor();
900
- register(entityName: string | RegExp, modifier: AXPEntityModifier): void;
1005
+ register(entityName: string | RegExp, modifier: AXPEntityModifier, order?: number): void;
901
1006
  process(entity: AXPEntity): Promise<AXPEntity>;
1007
+ private createModifierStep;
1008
+ private createPluginStep;
902
1009
  private wildcardToRegExp;
903
1010
  private normalizeRegExp;
904
1011
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityMiddleware, never>;
@@ -980,6 +1087,77 @@ declare class AXPEntityDefinitionRegistryService {
980
1087
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPEntityDefinitionRegistryService>;
981
1088
  }
982
1089
 
1090
+ type AXPEntityAggregateReducerType = 'count' | 'sum' | 'min' | 'max' | 'avg';
1091
+ interface AXPEntityAggregateMeasure {
1092
+ reducer: AXPEntityAggregateReducerType;
1093
+ /** Required for sum, min, max, and avg. Ignored for count (rows per group). */
1094
+ field?: string;
1095
+ /** Result column name; defaults are derived from the reducer and field. */
1096
+ alias?: string;
1097
+ }
1098
+ /**
1099
+ * Aggregate stored rows after the same filter/sort pipeline as {@link AXPQueryRequest}.
1100
+ * Group keys use dotted field paths (same as lodash-style getters).
1101
+ */
1102
+ interface AXPEntityAggregateRequest extends Pick<AXPQueryRequest, 'filter' | 'sort'> {
1103
+ groupBy: string[];
1104
+ measures: AXPEntityAggregateMeasure[];
1105
+ }
1106
+ interface AXPEntityAggregateResult {
1107
+ rows: Record<string, unknown>[];
1108
+ }
1109
+ interface AXPEntityQueryAllOptions {
1110
+ /**
1111
+ * Page size for backends that read page-by-page (HTTP API).
1112
+ * In-memory backends load the filtered set once and ignore this.
1113
+ */
1114
+ pageSize?: number;
1115
+ /** Maximum rows to return or scan (safety cap). */
1116
+ maxRows?: number;
1117
+ }
1118
+ interface AXPEntityQueryAllResult<T> {
1119
+ items: T[];
1120
+ /** Row count matching filter/sort before applying maxRows. */
1121
+ total: number;
1122
+ /** True when maxRows prevented returning every matching row. */
1123
+ truncated: boolean;
1124
+ }
1125
+ interface AXPEntityAggregateOptions {
1126
+ /** Maximum rows to load for aggregation when the backend pages remotely (default 50_000). */
1127
+ maxRows?: number;
1128
+ /** Page size for remote paging during aggregate (default 500). */
1129
+ pageSize?: number;
1130
+ }
1131
+
1132
+ /**
1133
+ * Pure aggregation over already-filtered plain rows (e.g. outputs of {@link filterSortEntityRows}).
1134
+ */
1135
+ declare function computeEntityAggregates<T extends Record<string, unknown>>(rows: T[], request: AXPEntityAggregateRequest): Record<string, unknown>[];
1136
+
1137
+ interface RunEntityQueryAdapters<T = unknown> {
1138
+ getRawAll(entityName: string): Promise<T[]>;
1139
+ getDirectChildCount(categoryId: string, entityName: string): Promise<number>;
1140
+ getAllChildCategoryIds(categoryId: string, entityName: string): Promise<string[]>;
1141
+ }
1142
+ /**
1143
+ * Check if the entity is a category entity (ends with 'Category').
1144
+ */
1145
+ declare function isCategoryEntity(entityName: string): boolean;
1146
+ /**
1147
+ * Check if the filter is a category filter (contains operator on categoryIds field).
1148
+ * Handles both simple filters and compound filters.
1149
+ */
1150
+ declare function isCategoryFilter(filter: any): boolean;
1151
+ /**
1152
+ * Loads raw rows for an entity and applies the same sorting and filtering as {@link runEntityQuery},
1153
+ * without pagination.
1154
+ */
1155
+ declare function filterSortEntityRows<T = unknown>(entityName: string, request: Pick<AXPQueryRequest, 'filter' | 'sort'>, adapters: RunEntityQueryAdapters<T>): Promise<T[]>;
1156
+ /**
1157
+ * Shared entity query logic: sort, filter (including recursive category filter), childrenCount, pagination.
1158
+ */
1159
+ declare function runEntityQuery<T = unknown>(entityName: string, request: AXPQueryRequest, adapters: RunEntityQueryAdapters<T>): Promise<AXPPagedListResult<T>>;
1160
+
983
1161
  /**
984
1162
  * One audit point in time for a record lifecycle event.
985
1163
  *
@@ -1076,6 +1254,14 @@ declare abstract class AXPEntityStorageService<TKey, TDetailDto extends AXPEntit
1076
1254
  abstract insertOne(entityName: string, entity: TCreateDto): Promise<TKey>;
1077
1255
  abstract getAll(entityName: string): Promise<TListItemDto[]>;
1078
1256
  abstract query(entityName: string, request: AXPQueryRequest): Promise<AXPPagedListResult<TListItemDto>>;
1257
+ abstract count(entityName: string, request: Pick<AXPQueryRequest, 'filter' | 'sort'>): Promise<number>;
1258
+ abstract queryAll(entityName: string, request: Pick<AXPQueryRequest, 'filter' | 'sort'>, options?: AXPEntityQueryAllOptions): Promise<AXPEntityQueryAllResult<TListItemDto>>;
1259
+ abstract getMany(entityName: string, ids: TKey[]): Promise<(TListItemDto | null)[]>;
1260
+ abstract exists(entityName: string, id: TKey): Promise<boolean>;
1261
+ abstract upsertOne(entityName: string, entity: TCreateDto, options?: {
1262
+ merge?: boolean;
1263
+ }): Promise<TKey>;
1264
+ abstract aggregate(entityName: string, request: AXPEntityAggregateRequest, options?: AXPEntityAggregateOptions): Promise<AXPEntityAggregateResult>;
1079
1265
  }
1080
1266
  declare abstract class AXPEntityDataProvider<TKey, TDetailDto extends AXPEntityDetailDto<TKey> = AXPEntityModel<TKey>, TListItemDto extends AXPEntityListItemDto<TKey> = TDetailDto, TCreateDto extends AXPEntityCreateDto = TDetailDto, TUpdateDto extends AXPEntityUpdateDto<TKey> = TDetailDto> {
1081
1267
  abstract get entityName(): string;
@@ -1086,6 +1272,14 @@ declare abstract class AXPEntityDataProvider<TKey, TDetailDto extends AXPEntityD
1086
1272
  abstract deleteOne(id: TKey): Promise<void>;
1087
1273
  abstract insertOne(entity: TCreateDto): Promise<TKey>;
1088
1274
  abstract query(request: AXPQueryRequest): Promise<AXPPagedListResult<TListItemDto>>;
1275
+ abstract count(request: Pick<AXPQueryRequest, 'filter' | 'sort'>): Promise<number>;
1276
+ abstract queryAll(request: Pick<AXPQueryRequest, 'filter' | 'sort'>, options?: AXPEntityQueryAllOptions): Promise<AXPEntityQueryAllResult<TListItemDto>>;
1277
+ abstract getMany(ids: TKey[]): Promise<(TListItemDto | null)[]>;
1278
+ abstract exists(id: TKey): Promise<boolean>;
1279
+ abstract upsertOne(entity: TCreateDto, options?: {
1280
+ merge?: boolean;
1281
+ }): Promise<TKey>;
1282
+ abstract aggregate(request: AXPEntityAggregateRequest, options?: AXPEntityAggregateOptions): Promise<AXPEntityAggregateResult>;
1089
1283
  }
1090
1284
  declare class AXPEntityDataProviderImpl<TKey, TDetailDto extends AXPEntityDetailDto<TKey> = AXPEntityModel<TKey>, TListItemDto extends AXPEntityListItemDto<TKey> = TDetailDto, TCreateDto extends AXPEntityCreateDto = TDetailDto, TUpdateDto extends AXPEntityUpdateDto<TKey> = TDetailDto> implements AXPEntityDataProvider<TKey, TDetailDto, TListItemDto, TCreateDto, TUpdateDto> {
1091
1285
  private storageService;
@@ -1098,6 +1292,14 @@ declare class AXPEntityDataProviderImpl<TKey, TDetailDto extends AXPEntityDetail
1098
1292
  updateOne(id: TKey, keyValues: Omit<Partial<TUpdateDto>, 'id'>): Promise<TDetailDto>;
1099
1293
  deleteOne(id: TKey): Promise<void>;
1100
1294
  insertOne(entity: TCreateDto): Promise<TKey>;
1295
+ count(request: Pick<AXPQueryRequest, 'filter' | 'sort'>): Promise<number>;
1296
+ queryAll(request: Pick<AXPQueryRequest, 'filter' | 'sort'>, options?: AXPEntityQueryAllOptions): Promise<AXPEntityQueryAllResult<TListItemDto>>;
1297
+ getMany(ids: TKey[]): Promise<(TListItemDto | null)[]>;
1298
+ exists(id: TKey): Promise<boolean>;
1299
+ upsertOne(entity: TCreateDto, options?: {
1300
+ merge?: boolean;
1301
+ }): Promise<TKey>;
1302
+ aggregate(request: AXPEntityAggregateRequest, options?: AXPEntityAggregateOptions): Promise<AXPEntityAggregateResult>;
1101
1303
  }
1102
1304
  declare abstract class AXMEntityCrudService<TKey, TDetailDto extends AXPEntityDetailDto<TKey> = AXPEntityModel<TKey>, TListItemDto extends AXPEntityListItemDto<TKey> = TDetailDto, TCreateDto extends AXPEntityCreateDto = TDetailDto, TUpdateDto extends AXPEntityUpdateDto<TKey> = TDetailDto> {
1103
1305
  abstract insertOne(request: TCreateDto): Promise<TKey>;
@@ -1130,6 +1332,14 @@ declare class AXMEntityCrudServiceImpl<TKey, TDetailDto extends AXPEntityDetailD
1130
1332
  }): Promise<AXPPagedListResult<TListItemDto>>;
1131
1333
  getCategoriesList(request?: AXPQueryRequest): Promise<AXPPagedListResult<AXPCategoryEntity$1<TKey>>>;
1132
1334
  get storageService(): AXPEntityStorageService<any, any, any, any, any>;
1335
+ count(request: Pick<AXPQueryRequest, 'filter' | 'sort'>): Promise<number>;
1336
+ queryAll(request: Pick<AXPQueryRequest, 'filter' | 'sort'>, options?: AXPEntityQueryAllOptions): Promise<AXPEntityQueryAllResult<TListItemDto>>;
1337
+ getMany(ids: TKey[]): Promise<(TListItemDto | null)[]>;
1338
+ exists(id: TKey): Promise<boolean>;
1339
+ upsertOne(entity: TCreateDto, options?: {
1340
+ merge?: boolean;
1341
+ }): Promise<TKey>;
1342
+ aggregate(request: AXPEntityAggregateRequest, options?: AXPEntityAggregateOptions): Promise<AXPEntityAggregateResult>;
1133
1343
  custom<Req, Res>(request: Req): Promise<void>;
1134
1344
  }
1135
1345
 
@@ -1351,7 +1561,16 @@ interface AXPEntityStorageContext<TKey = any, TDetailDto extends AXPEntityDetail
1351
1561
  getOne: (entityName: string, id: TKey) => Promise<TDetailDto>;
1352
1562
  insertOne: (entityName: string, entity: TCreateDto) => Promise<TKey>;
1353
1563
  query: (entityName: string, request: AXPQueryRequest) => Promise<AXPPagedListResult<TListItemDto>>;
1354
- updateOne: (entityName: string, id: TKey, data: Partial<TUpdateDto>) => Promise<void>;
1564
+ updateOne: (entityName: string, id: TKey, data: Partial<TUpdateDto>) => Promise<TDetailDto>;
1565
+ deleteOne: (entityName: string, id: TKey) => Promise<void>;
1566
+ count: (entityName: string, request: Pick<AXPQueryRequest, 'filter' | 'sort'>) => Promise<number>;
1567
+ queryAll: (entityName: string, request: Pick<AXPQueryRequest, 'filter' | 'sort'>, options?: AXPEntityQueryAllOptions) => Promise<AXPEntityQueryAllResult<TListItemDto>>;
1568
+ getMany: (entityName: string, ids: TKey[]) => Promise<(TListItemDto | null)[]>;
1569
+ exists: (entityName: string, id: TKey) => Promise<boolean>;
1570
+ upsertOne: (entityName: string, entity: TCreateDto, options?: {
1571
+ merge?: boolean;
1572
+ }) => Promise<TKey>;
1573
+ aggregate: (entityName: string, request: AXPEntityAggregateRequest, options?: AXPEntityAggregateOptions) => Promise<AXPEntityAggregateResult>;
1355
1574
  };
1356
1575
  }
1357
1576
  interface AXPEntityStorageMiddleware<TKey = any, TDetailDto extends AXPEntityDetailDto<TKey> = any, TListItemDto extends AXPEntityListItemDto<TKey> = any, TCreateDto extends AXPEntityCreateDto = any, TUpdateDto extends AXPEntityUpdateDto<TKey> = any> {
@@ -1736,6 +1955,14 @@ declare class AXPMiddlewareEntityStorageService<TKey = any, TDetailDto extends A
1736
1955
  insertOne(entityName: string, entity: TCreateDto): Promise<TKey>;
1737
1956
  getAll(entityName: string): Promise<TListItemDto[]>;
1738
1957
  query(entityName: string, request: AXPQueryRequest): Promise<AXPPagedListResult<TListItemDto>>;
1958
+ count(entityName: string, request: Pick<AXPQueryRequest, 'filter' | 'sort'>): Promise<number>;
1959
+ queryAll(entityName: string, request: Pick<AXPQueryRequest, 'filter' | 'sort'>, options?: AXPEntityQueryAllOptions): Promise<AXPEntityQueryAllResult<TListItemDto>>;
1960
+ getMany(entityName: string, ids: TKey[]): Promise<(TListItemDto | null)[]>;
1961
+ exists(entityName: string, id: TKey): Promise<boolean>;
1962
+ upsertOne(entityName: string, entity: TCreateDto, options?: {
1963
+ merge?: boolean;
1964
+ }): Promise<TKey>;
1965
+ aggregate(entityName: string, request: AXPEntityAggregateRequest, options?: AXPEntityAggregateOptions): Promise<AXPEntityAggregateResult>;
1739
1966
  private runWithDedup;
1740
1967
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPMiddlewareEntityStorageService<any, any, any, any, any>, never>;
1741
1968
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPMiddlewareEntityStorageService<any, any, any, any, any>>;
@@ -2266,6 +2493,7 @@ declare class AXPEntityListTableService {
2266
2493
  private readonly workflow;
2267
2494
  private readonly commandService;
2268
2495
  private readonly expressionEvaluator;
2496
+ private readonly settings;
2269
2497
  /**
2270
2498
  * Convert Entity to List Widget Options
2271
2499
  */
@@ -2367,6 +2595,7 @@ declare class AXPEntityListWidgetViewComponent extends AXPValueWidgetComponent {
2367
2595
  protected commandService: AXPCommandService;
2368
2596
  protected eventService: AXPBroadcastEventService;
2369
2597
  private readonly expressionEvaluator;
2598
+ private readonly route;
2370
2599
  protected isMounted: _angular_core.WritableSignal<boolean>;
2371
2600
  readonly entity: _angular_core.WritableSignal<AXPEntity | null>;
2372
2601
  protected listNode: _angular_core.WritableSignal<AXPWidgetNode | null>;
@@ -2393,7 +2622,29 @@ declare class AXPEntityListWidgetViewComponent extends AXPValueWidgetComponent {
2393
2622
  protected handleActionClick(item: AXPActionMenuItem): void;
2394
2623
  protected handleSecondaryActionClick(item: AXPActionMenuItem): void;
2395
2624
  protected execute(commandName: string, _data: unknown): Promise<void>;
2625
+ /**
2626
+ * Resolves toolbar commands including nested dropdown (`items`) actions.
2627
+ */
2628
+ private findToolbarAction;
2396
2629
  private evaluateToolbarExpressions;
2630
+ /**
2631
+ * Parses the `filters` query param (same shape as standalone entity list routes).
2632
+ */
2633
+ private parseFiltersFromRoute;
2634
+ /**
2635
+ * Route `filters` apply only when the active details `page` matches this list's entity
2636
+ * (e.g. WorkOrder filters must not affect FailureRegister on the same asset layout).
2637
+ */
2638
+ private shouldApplyRouteFilters;
2639
+ /**
2640
+ * Merges route filters into related-entity toolbar filters (route wins per field).
2641
+ */
2642
+ private mergeToolbarFilters;
2643
+ private getMergedToolbarFilters;
2644
+ /**
2645
+ * Applies merged route + parent-scope filters to the widget value and data source.
2646
+ */
2647
+ private applyMergedRouteFiltersToList;
2397
2648
  /**
2398
2649
  * Re-evaluates related-entity list filters from the live dialog form context (e.g. after create saves the main row id).
2399
2650
  */
@@ -2634,7 +2885,7 @@ declare class AXPLookupWidgetEditComponent extends AXPValueWidgetComponent<any>
2634
2885
  protected look: _angular_core.Signal<AXPLookupWidgetLookType>;
2635
2886
  protected defaultTextField: _angular_core.Signal<string>;
2636
2887
  protected displayField: _angular_core.Signal<string>;
2637
- protected allowCreate: _angular_core.Signal<"full" | "none" | "quick">;
2888
+ protected allowCreate: _angular_core.Signal<"none" | "full" | "quick">;
2638
2889
  protected valueField: _angular_core.Signal<string>;
2639
2890
  protected displayFormat: _angular_core.Signal<string | undefined>;
2640
2891
  protected conditions?: AXPQueryFilter[];
@@ -2659,6 +2910,9 @@ declare class AXPLookupWidgetEditComponent extends AXPValueWidgetComponent<any>
2659
2910
  * object and drop sibling fields like `person.educationLevelId`, causing a value/effect loop.
2660
2911
  */
2661
2912
  private expoesItems;
2913
+ outputs(): (string | {
2914
+ [name: string]: unknown;
2915
+ })[];
2662
2916
  private singleOrMultiple;
2663
2917
  refresh(): void;
2664
2918
  clear(): void;
@@ -3367,5 +3621,5 @@ declare class AXPShowListViewAction extends AXPWorkflowAction {
3367
3621
  }
3368
3622
  declare const AXPShowListViewWorkflow: AXPWorkflow;
3369
3623
 
3370
- export { AXMEntityCrudService, AXMEntityCrudServiceImpl, AXPCategoryTreeService, AXPCreateEntityCommand, AXPCreateEntityWorkflow, AXPDataSeederService, AXPDeleteEntityWorkflow, AXPEntitiesListDataSourceDefinition, AXPEntityApplyUpdatesAction, AXPEntityCategoryTreeSelectorComponent, AXPEntityCategoryWidget, AXPEntityCategoryWidgetColumnComponent, AXPEntityCategoryWidgetEditComponent, AXPEntityCategoryWidgetViewComponent, AXPEntityCommandTriggerViewModel, AXPEntityCreateEvent, AXPEntityCreatePopupAction, AXPEntityCreateSubmittedAction, AXPEntityCreateViewElementViewModel, AXPEntityCreateViewModelFactory, AXPEntityCreateViewSectionViewModel, AXPEntityDataProvider, AXPEntityDataProviderImpl, AXPEntityDataSelectorService, AXPEntityDefinitionProviderWidget, AXPEntityDefinitionProviderWidgetEditComponent, AXPEntityDefinitionRegistryService, AXPEntityDeletedEvent, AXPEntityDetailListViewModel, AXPEntityDetailPopoverComponent, AXPEntityDetailPopoverService, AXPEntityDetailViewModelFactory, AXPEntityDetailViewModelResolver, AXPEntityEventDispatcherService, AXPEntityEventsKeys, AXPEntityFormBuilderService, AXPEntityListTableService, AXPEntityListToolbarService, AXPEntityListViewColumnViewModel, AXPEntityListViewModelFactory, AXPEntityListViewModelResolver, AXPEntityListWidget, AXPEntityListWidgetViewComponent, AXPEntityMasterCreateViewModel, AXPEntityMasterListViewModel, AXPEntityMasterListViewQueryViewModel, AXPEntityMasterSingleElementViewModel, AXPEntityMasterSingleViewGroupViewModel, AXPEntityMasterSingleViewModel, AXPEntityMasterUpdateElementViewModel, AXPEntityMasterUpdateViewModel, AXPEntityMasterUpdateViewModelFactory, AXPEntityMiddleware, AXPEntityModifyConfirmedAction, AXPEntityModifyEvent, AXPEntityModifySectionPopupAction, AXPEntityModule, AXPEntityPerformDeleteAction, AXPEntityPreloadFiltersContainerComponent, AXPEntityPreloadFiltersViewModel, AXPEntityPreloadFiltersViewModelResolver, AXPEntityResolver, AXPEntityService, AXPEntityStorageService, AXPEntityUpdateViewSectionViewModel, 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, DEFAULT_COLUMN_ORDER, DEFAULT_PAIR_SPAN_RULES, DEFAULT_PROPERTY_ORDER, DEFAULT_SECTION_ORDER, EntityBuilder, EntityDataAccessor, actionExists, axpCreateEntityAiToolInputDefaults, axpCreateEntityCommandDefinition, cloneLayoutArrays, collectNestedCreateHiddenProperties, columnOrderingMiddleware, columnOrderingMiddlewareProvider, columnWidthMiddleware, columnWidthMiddlewareProvider, createColumnOrderingMiddlewareProvider, createLayoutOrderingMiddlewareProvider, createModifierContext, defaultMultiLanguageMiddleware, defaultMultiLanguageMiddlewareProvider, detectEntityChanges, ensureLayoutPropertyView, ensureLayoutSection, ensureListActions, entityDetailsCreateActions, entityDetailsCreateActionsDeferredParent, entityDetailsCrudActions, entityDetailsEditAction, entityDetailsNewEditAction, entityDetailsReferenceCondition, entityDetailsReferenceCreateActions, entityDetailsSimpleCondition, entityMasterBulkDeleteAction, entityMasterCreateAction, entityMasterCrudActions, entityMasterDeleteAction, entityMasterEditAction, entityMasterRecordActions, entityMasterViewAction, entityOverrideDetailsViewAction, eventDispatchMiddleware, getMasterInterfacePropertySortKey, isAXPMiddlewareAbortError, layoutOrderingMiddlewareFactory, layoutOrderingMiddlewareProvider, mergeForeignKeyFieldIntoCreateActions, provideEntity, resolveEntityPluginDetailPageOrder, searchResultDescriptionMiddleware, searchResultDescriptionMiddlewareProvider };
3371
- export type { AXPAuditEvent, AXPDataSeeder, AXPEntityActionPlugin, AXPEntityCategoryWidgetOptions, AXPEntityChangeSet, AXPEntityConfigs, AXPEntityCreateDto, AXPEntityDataSelectorOptions, AXPEntityDataSelectorResult, AXPEntityDefinitionLoader, AXPEntityDefinitionPreloader, AXPEntityDeleteOptions, AXPEntityDetailDto, AXPEntityDetailPopoverOptions, AXPEntityLayoutLike, AXPEntityLayoutPropertyLike, AXPEntityLayoutSectionLike, AXPEntityListEntry, AXPEntityListInput, AXPEntityListItemDto, AXPEntityListToolbarConvertOptions, AXPEntityMasterListViewSortPropViewModel, AXPEntityModel, AXPEntityModifier, AXPEntityModifierContext, AXPEntityModifierProvider, AXPEntityOutputDto, AXPEntityPreloadEntity, AXPEntityStorageContext, AXPEntityStorageMiddleware, AXPEntityUpdateDto, AXPGetEntityDetailsQueryInput, AXPGetEntityDetailsQueryResult, AXPLookupColumnResolveOptions, AXPLookupColumnResolveStrategy, AXPLookupWidgetLookType, AXPLookupWidgetOptions, AXPMultiSourceDefinition, AXPMultiSourceDefinitionProvider, AXPMultiSourceItem, AXPMultiSourceRef, AXPMultiSourceSearchResult, AXPMultiSourceSearchResultItem, AXPMultiSourceSelectorOpenConfig, AXPMultiSourceSelectorResult, AXPMultiSourceSelectorWidgetOptions, AXPMultiSourceValue, AXPOpenEntityDetailsCommandInput, AXPRecordAuditInfo, AXPRecordOwnershipInfo, AXPRecordStateInfo, AXPRelatedColumnMetadata, AXPSelectorStructureFieldDef, AXPSelectorStructureIdentityDisplay, AXPSelectorStructurePresentationMode, AXPSelectorStructureSelectorMode, AXPSelectorStructureStructureMode, AXPSelectorStructureWidgetColumnOptions, AXPSelectorStructureWidgetDesignerOptions, AXPSelectorStructureWidgetEditOptions, AXPSelectorStructureWidgetOptions, AXPSelectorStructureWidgetPrintOptions, AXPSelectorStructureWidgetViewOptions, AXPShowListViewCondition, CategoryQueryEvent, CategoryQueryFunction, CategoryQueryResult, CategoryTreeConfig, CategoryTreeNodeData, EntityDetailPluginPageSlot, PairSpanRule, ResolveEntityPluginDetailPageOrderOptions, SectionOrderConfig, SkipEntityComponentPageRef };
3624
+ export { AXMEntityCrudService, AXMEntityCrudServiceImpl, AXPCategoryTreeService, AXPCreateEntityCommand, AXPCreateEntityWorkflow, AXPDataSeederService, AXPDeleteEntityWorkflow, AXPEntitiesListDataSourceDefinition, AXPEntityApplyUpdatesAction, AXPEntityCategoryTreeSelectorComponent, AXPEntityCategoryWidget, AXPEntityCategoryWidgetColumnComponent, AXPEntityCategoryWidgetEditComponent, AXPEntityCategoryWidgetViewComponent, AXPEntityCommandTriggerViewModel, AXPEntityCreateEvent, AXPEntityCreatePopupAction, AXPEntityCreateSubmittedAction, AXPEntityCreateViewElementViewModel, AXPEntityCreateViewModelFactory, AXPEntityCreateViewSectionViewModel, AXPEntityDataProvider, AXPEntityDataProviderImpl, AXPEntityDataSelectorService, AXPEntityDefinitionProviderWidget, AXPEntityDefinitionProviderWidgetEditComponent, AXPEntityDefinitionRegistryService, AXPEntityDeletedEvent, AXPEntityDetailListViewModel, AXPEntityDetailPopoverComponent, AXPEntityDetailPopoverService, AXPEntityDetailViewModelFactory, AXPEntityDetailViewModelResolver, AXPEntityEventDispatcherService, AXPEntityEventsKeys, AXPEntityFormBuilderService, AXPEntityListPersistenceModeDefault, AXPEntityListTableService, AXPEntityListToolbarService, AXPEntityListViewColumnViewModel, AXPEntityListViewModelFactory, AXPEntityListViewModelResolver, AXPEntityListWidget, AXPEntityListWidgetViewComponent, AXPEntityMasterCreateViewModel, AXPEntityMasterListViewModel, AXPEntityMasterListViewQueryViewModel, AXPEntityMasterSingleElementViewModel, AXPEntityMasterSingleViewGroupViewModel, AXPEntityMasterSingleViewModel, AXPEntityMasterUpdateElementViewModel, AXPEntityMasterUpdateViewModel, AXPEntityMasterUpdateViewModelFactory, AXPEntityMiddleware, AXPEntityModifyConfirmedAction, AXPEntityModifyEvent, AXPEntityModifySectionPopupAction, AXPEntityModule, AXPEntityPerformDeleteAction, AXPEntityPreloadFiltersContainerComponent, AXPEntityPreloadFiltersViewModel, AXPEntityPreloadFiltersViewModelResolver, AXPEntityResolver, AXPEntityService, AXPEntityStorageService, AXPEntityUpdateViewSectionViewModel, 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, DEFAULT_COLUMN_ORDER, DEFAULT_PAIR_SPAN_RULES, DEFAULT_PROPERTY_ORDER, DEFAULT_SECTION_ORDER, ENTITY_LIST_ROUTE_CONTEXT_SESSION_KEY, EntityBuilder, EntityDataAccessor, actionExists, applyDataSourcePagingWithoutLoad, axpCreateEntityAiToolInputDefaults, axpCreateEntityCommandDefinition, canPersistEntityListState, cloneLayoutArrays, collectEntityQuickSearchFieldPaths, collectNestedCreateHiddenProperties, collectNestedFieldPathsFromEntityColumns, collectQuickSearchPathsFromSingleEntityDefinition, columnOrderingMiddleware, columnOrderingMiddlewareProvider, columnWidthMiddleware, columnWidthMiddlewareProvider, computeEntityAggregates, createColumnOrderingMiddlewareProvider, createLayoutOrderingMiddlewareProvider, createModifierContext, 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, getDataSourcePageIndex, getEntityListRowId, getMasterInterfacePropertySortKey, isAXPMiddlewareAbortError, isCategoryEntity, isCategoryFilter, layoutOrderingMiddlewareFactory, layoutOrderingMiddlewareProvider, mergeForeignKeyFieldIntoCreateActions, normalizeEntityListPersistenceMode, normalizeListPaging, provideEntity, resolveEntityPluginDetailPageOrder, restoreEntityListExpandedRows, runEntityQuery, searchResultDescriptionMiddleware, searchResultDescriptionMiddlewareProvider, shouldLoadEntityListStateFromStorage, shouldResetEntityListStateOnRouteEntry };
3625
+ export type { AXPAuditEvent, AXPCollectEntityQuickSearchPathsResolver, AXPDataSeeder, AXPEntityActionPlugin, AXPEntityAggregateMeasure, AXPEntityAggregateOptions, AXPEntityAggregateReducerType, AXPEntityAggregateRequest, AXPEntityAggregateResult, AXPEntityCategoryWidgetOptions, AXPEntityChangeSet, AXPEntityConfigs, AXPEntityCreateDto, AXPEntityDataSelectorOptions, AXPEntityDataSelectorResult, AXPEntityDefinitionLoader, AXPEntityDefinitionPreloader, AXPEntityDeleteOptions, AXPEntityDetailDto, AXPEntityDetailPopoverOptions, AXPEntityLayoutLike, AXPEntityLayoutPropertyLike, AXPEntityLayoutSectionLike, AXPEntityListEntry, AXPEntityListExpandRowRef, AXPEntityListInput, AXPEntityListItemDto, AXPEntityListPagingState, AXPEntityListPersistenceMode, AXPEntityListToolbarConvertOptions, AXPEntityMasterListViewSortPropViewModel, AXPEntityModel, AXPEntityModifier, AXPEntityModifierContext, AXPEntityModifierProvider, AXPEntityOutputDto, AXPEntityPreloadEntity, AXPEntityQueryAllOptions, AXPEntityQueryAllResult, AXPEntityStorageContext, AXPEntityStorageMiddleware, AXPEntityUpdateDto, AXPGetEntityDetailsQueryInput, AXPGetEntityDetailsQueryResult, AXPLookupColumnResolveOptions, AXPLookupColumnResolveStrategy, AXPLookupWidgetLookType, AXPLookupWidgetOptions, AXPMultiSourceDefinition, AXPMultiSourceDefinitionProvider, AXPMultiSourceItem, AXPMultiSourceRef, AXPMultiSourceSearchResult, AXPMultiSourceSearchResultItem, AXPMultiSourceSelectorOpenConfig, AXPMultiSourceSelectorResult, AXPMultiSourceSelectorWidgetOptions, AXPMultiSourceValue, AXPOpenEntityDetailsCommandInput, AXPRecordAuditInfo, AXPRecordOwnershipInfo, AXPRecordStateInfo, AXPRelatedColumnMetadata, AXPSelectorStructureFieldDef, AXPSelectorStructureIdentityDisplay, AXPSelectorStructurePresentationMode, AXPSelectorStructureSelectorMode, AXPSelectorStructureStructureMode, AXPSelectorStructureWidgetColumnOptions, AXPSelectorStructureWidgetDesignerOptions, AXPSelectorStructureWidgetEditOptions, AXPSelectorStructureWidgetOptions, AXPSelectorStructureWidgetPrintOptions, AXPSelectorStructureWidgetViewOptions, AXPShowListViewCondition, CategoryQueryEvent, CategoryQueryFunction, CategoryQueryResult, CategoryTreeConfig, CategoryTreeNodeData, EntityDetailPluginPageSlot, PairSpanRule, ResolveEntityPluginDetailPageOrderOptions, RunEntityQueryAdapters, SectionOrderConfig, SkipEntityComponentPageRef };
@@ -888,6 +888,21 @@ declare class AXPWidgetColumnRendererComponent extends AXDataTableColumnComponen
888
888
  }): boolean;
889
889
  protected handleExpandRow(row: any): Promise<void>;
890
890
  get renderHeaderTemplate(): TemplateRef<unknown>;
891
+ /**
892
+ * Resolves `options.align`: string applies to header and cell; object uses optional `header` / `cell` (default start).
893
+ * Supports designer select values `{ id: 'center' }`.
894
+ */
895
+ protected getHeaderTextAlign(): 'start' | 'center' | 'end';
896
+ /**
897
+ * When true, the cell body uses flex so `justify-content` can place content on the main axis.
898
+ */
899
+ protected getCellUseFlexLayout(): boolean;
900
+ /**
901
+ * Flex `justify-content` for the cell wrapper; omit when not using flex layout.
902
+ */
903
+ protected getCellJustifyContent(): 'start' | 'center' | 'end' | null;
904
+ private resolveAlignForSide;
905
+ private normalizeColumnAlignment;
891
906
  get loadingEnabled(): boolean;
892
907
  get name(): string;
893
908
  private injector;