@acorex/platform 20.9.36 → 20.9.38
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-layout-entity.mjs +194 -34
- package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-widgets.mjs +10 -1
- package/fesm2022/acorex-platform-layout-widgets.mjs.map +1 -1
- package/package.json +1 -1
- package/types/acorex-platform-layout-entity.d.ts +40 -3
- package/types/acorex-platform-layout-widgets.d.ts +5 -1
|
@@ -4446,6 +4446,45 @@ function resetPagingForTreeChildrenLoad(request, parentKey, take = TREE_CHILDREN
|
|
|
4446
4446
|
request.take = take;
|
|
4447
4447
|
}
|
|
4448
4448
|
}
|
|
4449
|
+
/**
|
|
4450
|
+
* Returns true when the filter tree already constrains `parentKey`
|
|
4451
|
+
* (root `isEmpty`, children `equal`, or nested equivalents).
|
|
4452
|
+
*/
|
|
4453
|
+
function filterTouchesParentKey(filter, parentKey) {
|
|
4454
|
+
if (filter.field === parentKey) {
|
|
4455
|
+
return true;
|
|
4456
|
+
}
|
|
4457
|
+
return (filter.filters ?? []).some((child) => filterTouchesParentKey(child, parentKey));
|
|
4458
|
+
}
|
|
4459
|
+
/**
|
|
4460
|
+
* Ensures hierarchical root loads keep `parentKey isEmpty` while preserving custom filters.
|
|
4461
|
+
* Call this in lookup/list loaders before query so storage does not replace custom filters.
|
|
4462
|
+
* Skips when the request already targets `parentKey` (e.g. children expand).
|
|
4463
|
+
*/
|
|
4464
|
+
function ensureHierarchicalRootFilter(filter, parentKey) {
|
|
4465
|
+
if (!parentKey) {
|
|
4466
|
+
return filter ?? undefined;
|
|
4467
|
+
}
|
|
4468
|
+
const rootFilter = {
|
|
4469
|
+
value: true,
|
|
4470
|
+
field: parentKey,
|
|
4471
|
+
operator: {
|
|
4472
|
+
type: 'isEmpty',
|
|
4473
|
+
},
|
|
4474
|
+
};
|
|
4475
|
+
if (!filter) {
|
|
4476
|
+
return rootFilter;
|
|
4477
|
+
}
|
|
4478
|
+
if (filterTouchesParentKey(filter, parentKey)) {
|
|
4479
|
+
return filter;
|
|
4480
|
+
}
|
|
4481
|
+
return {
|
|
4482
|
+
field: null,
|
|
4483
|
+
logic: 'and',
|
|
4484
|
+
operator: null,
|
|
4485
|
+
filters: [filter, rootFilter],
|
|
4486
|
+
};
|
|
4487
|
+
}
|
|
4449
4488
|
/**
|
|
4450
4489
|
* Applies take/skip to the data source without triggering {@link AXDataSource.load}.
|
|
4451
4490
|
*/
|
|
@@ -12779,6 +12818,12 @@ class AXPEntityListWidgetViewComponent extends AXPValueWidgetComponent {
|
|
|
12779
12818
|
this.selectedItems = signal([], ...(ngDevMode ? [{ debugName: "selectedItems" }] : /* istanbul ignore next */ []));
|
|
12780
12819
|
this.toolbarNode = signal(null, ...(ngDevMode ? [{ debugName: "toolbarNode" }] : /* istanbul ignore next */ []));
|
|
12781
12820
|
this.destroyed = new Subject();
|
|
12821
|
+
/** Invalidates in-flight filter/refresh work on remount, rapid page switches, or destroy. */
|
|
12822
|
+
this.opGeneration = 0;
|
|
12823
|
+
this.isViewDestroyed = false;
|
|
12824
|
+
this.initListTimeoutId = null;
|
|
12825
|
+
/** Unpatched data-list refresh (hits the grid). Prefer this over the scoped patch to avoid recursion. */
|
|
12826
|
+
this.boundDataListRefresh = null;
|
|
12782
12827
|
//options
|
|
12783
12828
|
this.entitySource = computed(() => this.options()['entity'], ...(ngDevMode ? [{ debugName: "entitySource" }] : /* istanbul ignore next */ []));
|
|
12784
12829
|
this.excludeColumns = computed(() => this.options()['excludeColumns'], ...(ngDevMode ? [{ debugName: "excludeColumns" }] : /* istanbul ignore next */ []));
|
|
@@ -12891,20 +12936,20 @@ class AXPEntityListWidgetViewComponent extends AXPValueWidgetComponent {
|
|
|
12891
12936
|
}
|
|
12892
12937
|
inst.__axpEntityListRefreshPatched = true;
|
|
12893
12938
|
const originalRefresh = inst.refresh.bind(inst);
|
|
12939
|
+
this.boundDataListRefresh = originalRefresh;
|
|
12894
12940
|
inst.refresh = () => {
|
|
12895
|
-
void (
|
|
12896
|
-
|
|
12897
|
-
|
|
12898
|
-
if (o['syncRelatedListFiltersFromDialogContext'] && specs?.length) {
|
|
12899
|
-
await this.applyRelatedFiltersFromContextAndDatasource(specs);
|
|
12900
|
-
}
|
|
12901
|
-
else {
|
|
12902
|
-
await this.reapplyScopedFiltersToDataSource();
|
|
12903
|
-
}
|
|
12904
|
-
originalRefresh();
|
|
12905
|
-
})();
|
|
12941
|
+
void this.runScopedDataListRefresh(originalRefresh);
|
|
12942
|
+
// Patched refresh is async; callers that need a boolean should use boundDataListRefresh.
|
|
12943
|
+
return false;
|
|
12906
12944
|
};
|
|
12945
|
+
// If the initial filter apply raced ahead of the grid, retry load now that refresh is bound.
|
|
12946
|
+
untracked(() => {
|
|
12947
|
+
if (!this.isMounted() && !this.isViewDestroyed) {
|
|
12948
|
+
void this.reapplyScopedFiltersToDataSource({ triggerInitialLoad: true });
|
|
12949
|
+
}
|
|
12950
|
+
});
|
|
12907
12951
|
}, ...(ngDevMode ? [{ debugName: "#patchDataListRefreshEffect" }] : /* istanbul ignore next */ []));
|
|
12952
|
+
//#endregion
|
|
12908
12953
|
//#region ---- Query Change Handler ----
|
|
12909
12954
|
this.queries = undefined;
|
|
12910
12955
|
this.#effect = effect(() => {
|
|
@@ -13117,14 +13162,29 @@ class AXPEntityListWidgetViewComponent extends AXPValueWidgetComponent {
|
|
|
13117
13162
|
const routeFilters = this.parseFiltersFromRoute();
|
|
13118
13163
|
return routeFilters.length ? this.mergeToolbarFilters(base, routeFilters) : base;
|
|
13119
13164
|
}
|
|
13165
|
+
//#region ---- Scoped filter / initial load (race-safe) ----
|
|
13166
|
+
beginOp() {
|
|
13167
|
+
return ++this.opGeneration;
|
|
13168
|
+
}
|
|
13169
|
+
isOpStale(generation) {
|
|
13170
|
+
return this.isViewDestroyed || generation !== this.opGeneration;
|
|
13171
|
+
}
|
|
13172
|
+
delay(ms) {
|
|
13173
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
13174
|
+
}
|
|
13120
13175
|
/**
|
|
13121
13176
|
* Applies merged route + parent-scope filters to the widget value and data source.
|
|
13122
13177
|
*/
|
|
13123
13178
|
applyMergedRouteFiltersToList() {
|
|
13124
|
-
void this.reapplyScopedFiltersToDataSource();
|
|
13179
|
+
void this.reapplyScopedFiltersToDataSource({ triggerInitialLoad: true });
|
|
13125
13180
|
}
|
|
13126
|
-
/**
|
|
13127
|
-
|
|
13181
|
+
/**
|
|
13182
|
+
* Syncs toolbar filters to context and AXDataSource (retries until data-list is mounted).
|
|
13183
|
+
* Stale generations (destroy / newer op) exit without touching the grid.
|
|
13184
|
+
*/
|
|
13185
|
+
async reapplyScopedFiltersToDataSource(options) {
|
|
13186
|
+
const generation = options?.generation ?? this.beginOp();
|
|
13187
|
+
const triggerInitialLoad = options?.triggerInitialLoad !== false;
|
|
13128
13188
|
const merged = this.getMergedToolbarFilters();
|
|
13129
13189
|
const current = this.getValue();
|
|
13130
13190
|
if (!isEqual(current?.toolbar?.filters, merged)) {
|
|
@@ -13133,26 +13193,64 @@ class AXPEntityListWidgetViewComponent extends AXPValueWidgetComponent {
|
|
|
13133
13193
|
toolbar: { ...(current?.toolbar ?? {}), filters: merged },
|
|
13134
13194
|
});
|
|
13135
13195
|
}
|
|
13136
|
-
|
|
13137
|
-
|
|
13138
|
-
|
|
13196
|
+
if (this.isOpStale(generation)) {
|
|
13197
|
+
return;
|
|
13198
|
+
}
|
|
13199
|
+
const pushed = await this.ensureToolbarFiltersOnDataSource(generation);
|
|
13200
|
+
if (!pushed || this.isOpStale(generation)) {
|
|
13201
|
+
return;
|
|
13202
|
+
}
|
|
13203
|
+
if (triggerInitialLoad) {
|
|
13204
|
+
await this.triggerInitialLoadIfNeeded(generation);
|
|
13139
13205
|
}
|
|
13140
13206
|
}
|
|
13141
13207
|
/**
|
|
13142
13208
|
* Entity lists use `fetchDataMode: 'manual'`; after scoped filters reach the data source,
|
|
13143
|
-
* the grid must be refreshed once
|
|
13209
|
+
* the grid must be refreshed once. Retries until the data-table view child accepts refresh
|
|
13210
|
+
* so rapid relatedEntity page switches cannot leave the table on "no data loaded yet".
|
|
13144
13211
|
*/
|
|
13145
|
-
triggerInitialLoadIfNeeded() {
|
|
13146
|
-
if (this.isMounted()) {
|
|
13212
|
+
async triggerInitialLoadIfNeeded(generation) {
|
|
13213
|
+
if (this.isMounted() || this.isOpStale(generation)) {
|
|
13147
13214
|
return;
|
|
13148
13215
|
}
|
|
13149
|
-
const
|
|
13150
|
-
if (!
|
|
13151
|
-
|
|
13216
|
+
const refreshed = await this.refreshWhenGridReady(generation);
|
|
13217
|
+
if (refreshed && !this.isOpStale(generation)) {
|
|
13218
|
+
this.isMounted.set(true);
|
|
13152
13219
|
}
|
|
13153
|
-
|
|
13154
|
-
|
|
13155
|
-
|
|
13220
|
+
}
|
|
13221
|
+
/**
|
|
13222
|
+
* Calls the unpatched data-list refresh until the grid is ready or the op is stale.
|
|
13223
|
+
*/
|
|
13224
|
+
async refreshWhenGridReady(generation) {
|
|
13225
|
+
return this.refreshWhenGridReadyWith(generation, () => this.resolveDataListRefresh()?.() ?? false);
|
|
13226
|
+
}
|
|
13227
|
+
/**
|
|
13228
|
+
* Prefer the bound original refresh (pre-patch). Falls back to an unpatched instance refresh.
|
|
13229
|
+
*/
|
|
13230
|
+
resolveDataListRefresh() {
|
|
13231
|
+
if (this.boundDataListRefresh) {
|
|
13232
|
+
return this.boundDataListRefresh;
|
|
13233
|
+
}
|
|
13234
|
+
const inst = this.listWidget()?.instance;
|
|
13235
|
+
if (!inst?.refresh || inst.__axpEntityListRefreshPatched) {
|
|
13236
|
+
return null;
|
|
13237
|
+
}
|
|
13238
|
+
return () => inst.refresh?.() ?? false;
|
|
13239
|
+
}
|
|
13240
|
+
async refreshWhenGridReadyWith(generation, refreshFn) {
|
|
13241
|
+
const maxAttempts = 60;
|
|
13242
|
+
const delayMs = 50;
|
|
13243
|
+
for (let i = 0; i < maxAttempts; i++) {
|
|
13244
|
+
if (this.isOpStale(generation)) {
|
|
13245
|
+
return false;
|
|
13246
|
+
}
|
|
13247
|
+
this.pushToolbarFiltersToDataSource();
|
|
13248
|
+
if (refreshFn()) {
|
|
13249
|
+
return true;
|
|
13250
|
+
}
|
|
13251
|
+
await this.delay(delayMs);
|
|
13252
|
+
}
|
|
13253
|
+
return false;
|
|
13156
13254
|
}
|
|
13157
13255
|
/**
|
|
13158
13256
|
* Re-evaluates related-entity list filters from the live dialog form context (e.g. after create saves the main row id).
|
|
@@ -13170,7 +13268,7 @@ class AXPEntityListWidgetViewComponent extends AXPValueWidgetComponent {
|
|
|
13170
13268
|
value: await this.expressionEvaluator.evaluate(c.value, scope),
|
|
13171
13269
|
hidden: true,
|
|
13172
13270
|
})));
|
|
13173
|
-
if (!this.fullPath()) {
|
|
13271
|
+
if (this.isViewDestroyed || !this.fullPath()) {
|
|
13174
13272
|
return;
|
|
13175
13273
|
}
|
|
13176
13274
|
const current = this.getValue();
|
|
@@ -13202,14 +13300,18 @@ class AXPEntityListWidgetViewComponent extends AXPValueWidgetComponent {
|
|
|
13202
13300
|
* Pushes toolbar filters once the embedded data-list exposes its data source
|
|
13203
13301
|
* (listNode is created via deferred setTimeout in ngOnInit).
|
|
13204
13302
|
*/
|
|
13205
|
-
async ensureToolbarFiltersOnDataSource() {
|
|
13303
|
+
async ensureToolbarFiltersOnDataSource(generation) {
|
|
13304
|
+
const opGeneration = generation ?? this.opGeneration;
|
|
13206
13305
|
if (this.pushToolbarFiltersToDataSource()) {
|
|
13207
13306
|
return true;
|
|
13208
13307
|
}
|
|
13209
13308
|
const maxAttempts = 40;
|
|
13210
13309
|
const delayMs = 50;
|
|
13211
13310
|
for (let i = 0; i < maxAttempts; i++) {
|
|
13212
|
-
await
|
|
13311
|
+
await this.delay(delayMs);
|
|
13312
|
+
if (this.isOpStale(opGeneration)) {
|
|
13313
|
+
return false;
|
|
13314
|
+
}
|
|
13213
13315
|
if (this.pushToolbarFiltersToDataSource()) {
|
|
13214
13316
|
return true;
|
|
13215
13317
|
}
|
|
@@ -13220,8 +13322,12 @@ class AXPEntityListWidgetViewComponent extends AXPValueWidgetComponent {
|
|
|
13220
13322
|
* Writes toolbar filters from specs and pushes them onto the data source so refresh/reload keeps the parent scope.
|
|
13221
13323
|
*/
|
|
13222
13324
|
async applyRelatedFiltersFromContextAndDatasource(specs) {
|
|
13325
|
+
const generation = this.beginOp();
|
|
13223
13326
|
await this.applyRelatedFiltersFromContext(specs);
|
|
13224
|
-
|
|
13327
|
+
if (this.isOpStale(generation)) {
|
|
13328
|
+
return;
|
|
13329
|
+
}
|
|
13330
|
+
await this.ensureToolbarFiltersOnDataSource(generation);
|
|
13225
13331
|
}
|
|
13226
13332
|
/**
|
|
13227
13333
|
* Refreshes the embedded data list (toolbar / workflow). In wizard mode, `refresh` is patched to re-apply scoped filters first.
|
|
@@ -13231,6 +13337,31 @@ class AXPEntityListWidgetViewComponent extends AXPValueWidgetComponent {
|
|
|
13231
13337
|
}
|
|
13232
13338
|
/** Patches data-list `refresh` so reload keeps parent-scoped toolbar filters on the data source. */
|
|
13233
13339
|
#patchDataListRefreshEffect;
|
|
13340
|
+
/**
|
|
13341
|
+
* Re-applies parent-scoped filters then refreshes the grid, ignoring stale overlapping calls.
|
|
13342
|
+
*/
|
|
13343
|
+
async runScopedDataListRefresh(originalRefresh) {
|
|
13344
|
+
const generation = this.beginOp();
|
|
13345
|
+
const o = this.options();
|
|
13346
|
+
const specs = o['relatedFilterConditionSpecs'];
|
|
13347
|
+
if (o['syncRelatedListFiltersFromDialogContext'] && specs?.length) {
|
|
13348
|
+
await this.applyRelatedFiltersFromContext(specs);
|
|
13349
|
+
if (this.isOpStale(generation)) {
|
|
13350
|
+
return;
|
|
13351
|
+
}
|
|
13352
|
+
await this.ensureToolbarFiltersOnDataSource(generation);
|
|
13353
|
+
}
|
|
13354
|
+
else {
|
|
13355
|
+
await this.reapplyScopedFiltersToDataSource({ triggerInitialLoad: false, generation });
|
|
13356
|
+
}
|
|
13357
|
+
if (this.isOpStale(generation)) {
|
|
13358
|
+
return;
|
|
13359
|
+
}
|
|
13360
|
+
const refreshed = await this.refreshWhenGridReadyWith(generation, originalRefresh);
|
|
13361
|
+
if (refreshed && !this.isOpStale(generation) && !this.isMounted()) {
|
|
13362
|
+
this.isMounted.set(true);
|
|
13363
|
+
}
|
|
13364
|
+
}
|
|
13234
13365
|
#effect;
|
|
13235
13366
|
/**
|
|
13236
13367
|
* Validates that all required dependencies are available
|
|
@@ -13336,6 +13467,9 @@ class AXPEntityListWidgetViewComponent extends AXPValueWidgetComponent {
|
|
|
13336
13467
|
}
|
|
13337
13468
|
// Resolve entity and set it in the signal
|
|
13338
13469
|
const resolvedEntity = await this.entityService.resolve(moduleName, entityName);
|
|
13470
|
+
if (this.isViewDestroyed) {
|
|
13471
|
+
return;
|
|
13472
|
+
}
|
|
13339
13473
|
if (!resolvedEntity) {
|
|
13340
13474
|
throw new Error(`Entity not found: ${this.entitySource()}`);
|
|
13341
13475
|
}
|
|
@@ -13348,8 +13482,18 @@ class AXPEntityListWidgetViewComponent extends AXPValueWidgetComponent {
|
|
|
13348
13482
|
excludeProperties: this.options()['excludeProperties'],
|
|
13349
13483
|
};
|
|
13350
13484
|
const listOptions = await this.entityListTableService.convertEntityToListOptions(resolvedEntity, options, this.allActions());
|
|
13485
|
+
if (this.isViewDestroyed) {
|
|
13486
|
+
return;
|
|
13487
|
+
}
|
|
13351
13488
|
const toolbarOptions = await this.entityListToolbarService.convertEntityToolbarOptions(resolvedEntity, options);
|
|
13352
|
-
|
|
13489
|
+
if (this.isViewDestroyed) {
|
|
13490
|
+
return;
|
|
13491
|
+
}
|
|
13492
|
+
this.initListTimeoutId = setTimeout(() => {
|
|
13493
|
+
this.initListTimeoutId = null;
|
|
13494
|
+
if (this.isViewDestroyed) {
|
|
13495
|
+
return;
|
|
13496
|
+
}
|
|
13353
13497
|
this.listNode.set({
|
|
13354
13498
|
type: AXPWidgetsCatalog.dataList,
|
|
13355
13499
|
options: listOptions,
|
|
@@ -13371,7 +13515,9 @@ class AXPEntityListWidgetViewComponent extends AXPValueWidgetComponent {
|
|
|
13371
13515
|
},
|
|
13372
13516
|
});
|
|
13373
13517
|
queueMicrotask(() => {
|
|
13374
|
-
this.
|
|
13518
|
+
if (!this.isViewDestroyed) {
|
|
13519
|
+
this.applyMergedRouteFiltersToList();
|
|
13520
|
+
}
|
|
13375
13521
|
});
|
|
13376
13522
|
}, 100);
|
|
13377
13523
|
}
|
|
@@ -13396,6 +13542,9 @@ class AXPEntityListWidgetViewComponent extends AXPValueWidgetComponent {
|
|
|
13396
13542
|
}
|
|
13397
13543
|
});
|
|
13398
13544
|
const listWidget = (await this.layoutService.waitForWidget(`${this.entitySource()}-tab-list_table`, 500));
|
|
13545
|
+
if (this.isViewDestroyed) {
|
|
13546
|
+
return;
|
|
13547
|
+
}
|
|
13399
13548
|
if (listWidget?.api && typeof listWidget.api === 'function') {
|
|
13400
13549
|
const onSelectionChange = listWidget.api()['onSelectionChange'];
|
|
13401
13550
|
if (onSelectionChange) {
|
|
@@ -13406,6 +13555,13 @@ class AXPEntityListWidgetViewComponent extends AXPValueWidgetComponent {
|
|
|
13406
13555
|
}
|
|
13407
13556
|
}
|
|
13408
13557
|
ngOnDestroy() {
|
|
13558
|
+
this.isViewDestroyed = true;
|
|
13559
|
+
this.beginOp();
|
|
13560
|
+
if (this.initListTimeoutId != null) {
|
|
13561
|
+
clearTimeout(this.initListTimeoutId);
|
|
13562
|
+
this.initListTimeoutId = null;
|
|
13563
|
+
}
|
|
13564
|
+
this.boundDataListRefresh = null;
|
|
13409
13565
|
this.listWidget.set(undefined);
|
|
13410
13566
|
this.destroyed.next();
|
|
13411
13567
|
this.destroyed.complete();
|
|
@@ -14855,6 +15011,7 @@ class AXPEntityDataSelectorService {
|
|
|
14855
15011
|
// Tree expand reuses grid page skip/take via getItemsByFilter; reset before merge.
|
|
14856
15012
|
resetPagingForTreeChildrenLoad(e, entity.parentKey);
|
|
14857
15013
|
this.mergeFilters(e, filters, parentFilters);
|
|
15014
|
+
e.filter = ensureHierarchicalRootFilter(e.filter, entity.parentKey);
|
|
14858
15015
|
return func(e);
|
|
14859
15016
|
},
|
|
14860
15017
|
pageSize: options.grid?.pageSize ?? 10,
|
|
@@ -15287,6 +15444,7 @@ class AXPLookupWidgetSelectComponent extends LookupWidgetLookBase {
|
|
|
15287
15444
|
}
|
|
15288
15445
|
this.mergeFilter(e, this.customFilter()());
|
|
15289
15446
|
this.expandSearchToInlineFields(e, entity, this.displayField()());
|
|
15447
|
+
e.filter = ensureHierarchicalRootFilter(e.filter, entity.parentKey);
|
|
15290
15448
|
// Apply default sort order if no sort is already specified
|
|
15291
15449
|
if (defaultSorts.length > 0 && (!e.sort || e.sort.length === 0)) {
|
|
15292
15450
|
e.sort = defaultSorts;
|
|
@@ -15407,8 +15565,10 @@ class AXPLookupWidgetSelectComponent extends LookupWidgetLookBase {
|
|
|
15407
15565
|
}
|
|
15408
15566
|
if (request.filter) {
|
|
15409
15567
|
request.filter = {
|
|
15568
|
+
field: null,
|
|
15410
15569
|
logic: 'and',
|
|
15411
|
-
|
|
15570
|
+
operator: null,
|
|
15571
|
+
filters: [request.filter, filter],
|
|
15412
15572
|
};
|
|
15413
15573
|
}
|
|
15414
15574
|
else {
|
|
@@ -26888,5 +27048,5 @@ function detectEntityChanges(oldObj, newObj) {
|
|
|
26888
27048
|
* Generated bundle index. Do not edit.
|
|
26889
27049
|
*/
|
|
26890
27050
|
|
|
26891
|
-
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, 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_APPEARANCE_SECTION_ORDER, AXP_CATEGORY_TREE_ROOT_TITLE_I18N_KEY, AXP_CLASSIFICATION_SECTION_ORDER, 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_FORM_ACTION_FIRST_STEP_CONTINUE, ENTITY_LIST_ROUTE_CONTEXT_SESSION_KEY, EntityBuilder, EntityDataAccessor, FILE_UPLOADER_TRACE_NS, TREE_CHILDREN_QUERY_TAKE, actionExists, applyDataSourcePagingWithoutLoad, attachmentFieldCount, attachmentNeedsHydration, attachmentsPlugin, attachmentsSemanticallyEqual, axpCreateEntityAiToolInputDefaults, axpCreateEntityCommandDefinition, canPersistEntityListState, cloneLayoutArrays, columnOrderingMiddleware, columnOrderingMiddlewareProvider, columnWidthMiddleware, columnWidthMiddlewareProvider, commandMessageTextForError, committedAttachments, computeEntityAggregates, createColumnOrderingMiddlewareProvider, createLayoutOrderingMiddlewareProvider, createModifierContext, defaultCardLayoutMiddleware, defaultCardLayoutMiddlewareProvider, defaultMultiLanguageMiddleware, defaultMultiLanguageMiddlewareProvider, detectEntityChanges, ensureLayoutPropertyView, ensureLayoutSection, ensureListActions, eventDispatchMiddleware, fetchHydratedEntityAttachments, filterSortEntityRows, findEntityListRowDataInTree, fingerprintAttachmentItem, fingerprintAttachments, formatLookupItemDisplay, formatLookupItemDisplayAsync, getDataSourcePageIndex, getEntityListRowId, getMasterInterfacePropertySortKey, hasFileUploaderTitleOrDescriptionFields, hydrateAttachmentFieldToFileList, isAXPMiddlewareAbortError, isAttachmentFieldPresentOnRow, isAttachmentListEntry, isAttachmentStorageRef, isCategoryEntity, isCategoryFilter, isFileListItem, isFileUploaderEditDialogAuto, isLazyAttachmentFieldPath, isLegacyEntityDataSelectorOptions, layoutOrderingMiddlewareFactory, layoutOrderingMiddlewareProvider, mapEntityStorageErrorToCommandResult, mapLegacyEntityDataSelectorOptions, normalizeEntityDataSelectorOptions, normalizeEntityFieldToFileList, normalizeEntityListPersistenceMode, normalizeListPaging, persistedAttachments, provideEntity, resetPagingForTreeChildrenLoad, resolveAttachmentFieldPath, resolveEntityAttachmentFieldNames, resolveEntityPluginDetailPageOrder, resolveFileUploaderEditDialog, resolveFileUploaderEntityScope, resolveLookupDisplayField, resolveLookupDisplayTemplate, restoreEntityListExpandedRows, runEntityQuery, searchResultDescriptionMiddleware, searchResultDescriptionMiddlewareProvider, shouldLoadEntityListStateFromStorage, shouldResetEntityListStateOnRouteEntry };
|
|
27051
|
+
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, 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_APPEARANCE_SECTION_ORDER, AXP_CATEGORY_TREE_ROOT_TITLE_I18N_KEY, AXP_CLASSIFICATION_SECTION_ORDER, 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_FORM_ACTION_FIRST_STEP_CONTINUE, ENTITY_LIST_ROUTE_CONTEXT_SESSION_KEY, EntityBuilder, EntityDataAccessor, FILE_UPLOADER_TRACE_NS, TREE_CHILDREN_QUERY_TAKE, actionExists, applyDataSourcePagingWithoutLoad, attachmentFieldCount, attachmentNeedsHydration, attachmentsPlugin, attachmentsSemanticallyEqual, axpCreateEntityAiToolInputDefaults, axpCreateEntityCommandDefinition, canPersistEntityListState, cloneLayoutArrays, columnOrderingMiddleware, columnOrderingMiddlewareProvider, columnWidthMiddleware, columnWidthMiddlewareProvider, commandMessageTextForError, committedAttachments, computeEntityAggregates, createColumnOrderingMiddlewareProvider, createLayoutOrderingMiddlewareProvider, createModifierContext, defaultCardLayoutMiddleware, defaultCardLayoutMiddlewareProvider, defaultMultiLanguageMiddleware, defaultMultiLanguageMiddlewareProvider, detectEntityChanges, ensureHierarchicalRootFilter, ensureLayoutPropertyView, ensureLayoutSection, ensureListActions, eventDispatchMiddleware, fetchHydratedEntityAttachments, filterSortEntityRows, filterTouchesParentKey, findEntityListRowDataInTree, fingerprintAttachmentItem, fingerprintAttachments, formatLookupItemDisplay, formatLookupItemDisplayAsync, getDataSourcePageIndex, getEntityListRowId, getMasterInterfacePropertySortKey, hasFileUploaderTitleOrDescriptionFields, hydrateAttachmentFieldToFileList, isAXPMiddlewareAbortError, isAttachmentFieldPresentOnRow, isAttachmentListEntry, isAttachmentStorageRef, isCategoryEntity, isCategoryFilter, isFileListItem, isFileUploaderEditDialogAuto, isLazyAttachmentFieldPath, isLegacyEntityDataSelectorOptions, layoutOrderingMiddlewareFactory, layoutOrderingMiddlewareProvider, mapEntityStorageErrorToCommandResult, mapLegacyEntityDataSelectorOptions, normalizeEntityDataSelectorOptions, normalizeEntityFieldToFileList, normalizeEntityListPersistenceMode, normalizeListPaging, persistedAttachments, provideEntity, resetPagingForTreeChildrenLoad, resolveAttachmentFieldPath, resolveEntityAttachmentFieldNames, resolveEntityPluginDetailPageOrder, resolveFileUploaderEditDialog, resolveFileUploaderEntityScope, resolveLookupDisplayField, resolveLookupDisplayTemplate, restoreEntityListExpandedRows, runEntityQuery, searchResultDescriptionMiddleware, searchResultDescriptionMiddlewareProvider, shouldLoadEntityListStateFromStorage, shouldResetEntityListStateOnRouteEntry };
|
|
26892
27052
|
//# sourceMappingURL=acorex-platform-layout-entity.mjs.map
|