@acorex-platform/framework-client 0.0.68 → 0.0.69
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-framework-client-layout-entity-acorex-platform-framework-client-layout-entity-Dla4tdzi.mjs → acorex-platform-framework-client-layout-entity-acorex-platform-framework-client-layout-entity-40YjUhSy.mjs} +158 -25
- package/fesm2022/acorex-platform-framework-client-layout-entity-acorex-platform-framework-client-layout-entity-40YjUhSy.mjs.map +1 -0
- package/fesm2022/{acorex-platform-framework-client-layout-entity-attachments-page.component-CDlY8DOy.mjs → acorex-platform-framework-client-layout-entity-attachments-page.component-TJwyeB27.mjs} +2 -2
- package/fesm2022/{acorex-platform-framework-client-layout-entity-attachments-page.component-CDlY8DOy.mjs.map → acorex-platform-framework-client-layout-entity-attachments-page.component-TJwyeB27.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-framework-client-layout-entity-bulk-entity.command-B2mxC3ze.mjs → acorex-platform-framework-client-layout-entity-bulk-entity.command-CgLVcZHZ.mjs} +2 -2
- package/fesm2022/{acorex-platform-framework-client-layout-entity-bulk-entity.command-B2mxC3ze.mjs.map → acorex-platform-framework-client-layout-entity-bulk-entity.command-CgLVcZHZ.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-framework-client-layout-entity-gallery-page.component-mLLnQemg.mjs → acorex-platform-framework-client-layout-entity-gallery-page.component-_ZIlTKUf.mjs} +2 -2
- package/fesm2022/{acorex-platform-framework-client-layout-entity-gallery-page.component-mLLnQemg.mjs.map → acorex-platform-framework-client-layout-entity-gallery-page.component-_ZIlTKUf.mjs.map} +1 -1
- package/fesm2022/acorex-platform-framework-client-layout-entity.mjs +1 -1
- package/package.json +2 -2
- package/types/acorex-platform-framework-client-layout-entity.d.ts +12 -1
- package/fesm2022/acorex-platform-framework-client-layout-entity-acorex-platform-framework-client-layout-entity-Dla4tdzi.mjs.map +0 -1
|
@@ -11,7 +11,7 @@ import { AXPLayoutBuilderService, AXPDialogOpener, LayoutBuilderModule } from '@
|
|
|
11
11
|
import * as i0 from '@angular/core';
|
|
12
12
|
import { InjectionToken, inject, Injector, runInInjectionContext, Injectable, signal, output, input, computed, effect, ChangeDetectionStrategy, Component, viewChild, untracked, HostBinding, model, ViewEncapsulation, ElementRef, EnvironmentInjector, NgModule, ChangeDetectorRef, Input, afterNextRender, viewChildren, linkedSignal, DestroyRef, makeEnvironmentProviders } from '@angular/core';
|
|
13
13
|
import { cloneDeep, merge, get, isNil, set, isArray, isString, castArray, has, isPlainObject, orderBy, defaultTo, isEmpty, isEqual, isObjectLike } from 'lodash-es';
|
|
14
|
-
import { Subject, filter, takeUntil, map, distinctUntilChanged, fromEvent, auditTime, merge as merge$1 } from 'rxjs';
|
|
14
|
+
import { Subject, filter, takeUntil, map, distinctUntilChanged, fromEvent, auditTime, merge as merge$1, combineLatest } from 'rxjs';
|
|
15
15
|
import { AXPSessionService } from '@acorex-platform/framework-client/auth';
|
|
16
16
|
import { Router, NavigationStart, ActivatedRoute, ROUTES } from '@angular/router';
|
|
17
17
|
import { AXDialogService } from '@acorex/components/dialog';
|
|
@@ -71,7 +71,7 @@ import { AXTagBoxModule } from '@acorex/components/tag-box';
|
|
|
71
71
|
import { AXValidationModule } from '@acorex/core/validation';
|
|
72
72
|
import { AXLookupComponent } from '@acorex/components/lookup';
|
|
73
73
|
import { AXHighlightTextComponent } from '@acorex/components/highlight';
|
|
74
|
-
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
74
|
+
import { takeUntilDestroyed, toSignal } from '@angular/core/rxjs-interop';
|
|
75
75
|
import * as i1$7 from '@acorex/components/data-table';
|
|
76
76
|
import { AXDataTableComponent, AXDataTableModule } from '@acorex/components/data-table';
|
|
77
77
|
import * as i2$1 from '@acorex/components/tabs';
|
|
@@ -2412,6 +2412,89 @@ function sortMergedSections(mainSections, extraSections, mainSectionIds) {
|
|
|
2412
2412
|
return [...beforeSections, ...sortedMiddleBlock, ...afterSections];
|
|
2413
2413
|
}
|
|
2414
2414
|
|
|
2415
|
+
/**
|
|
2416
|
+
* Route for `/{app}/m/{module}/e/{entity}/{id}/view`, matching Entity:OpenDetails.
|
|
2417
|
+
* The id segment is not part of menu matching; callers may pass the real record id.
|
|
2418
|
+
*/
|
|
2419
|
+
function buildEntityDetailsRoute(applicationName, entity, id) {
|
|
2420
|
+
const [moduleName, entityName] = entity.split('.');
|
|
2421
|
+
if (!applicationName || !moduleName || !entityName || !id) {
|
|
2422
|
+
return null;
|
|
2423
|
+
}
|
|
2424
|
+
return {
|
|
2425
|
+
commands: ['/', applicationName, 'm', moduleName, 'e', entityName, id, 'view'],
|
|
2426
|
+
queryParams: { page: entityName },
|
|
2427
|
+
};
|
|
2428
|
+
}
|
|
2429
|
+
|
|
2430
|
+
/**
|
|
2431
|
+
* Same menu-policy gate as Entity:OpenDetails.
|
|
2432
|
+
* Lookup column links and the detail popover use this before loading a related record.
|
|
2433
|
+
*/
|
|
2434
|
+
class AXPEntityDetailsAccessService {
|
|
2435
|
+
constructor() {
|
|
2436
|
+
//#region ----- Services & Dependencies -----
|
|
2437
|
+
this.router = inject(Router);
|
|
2438
|
+
this.sessionService = inject(AXPSessionService);
|
|
2439
|
+
this.menuRouteAccess = inject(AXPMenuRouteAccessService);
|
|
2440
|
+
//#endregion
|
|
2441
|
+
//#region ----- State -----
|
|
2442
|
+
this.accessStamp = '';
|
|
2443
|
+
this.decisions = new Map();
|
|
2444
|
+
}
|
|
2445
|
+
//#endregion
|
|
2446
|
+
//#region ----- Public Methods -----
|
|
2447
|
+
/**
|
|
2448
|
+
* Whether the current session may open the entity details route.
|
|
2449
|
+
* Result is per entity key; the record id does not change menu policy.
|
|
2450
|
+
*/
|
|
2451
|
+
async canOpen(entity, id = '0') {
|
|
2452
|
+
const applicationName = this.sessionService.application?.name;
|
|
2453
|
+
const route = buildEntityDetailsRoute(applicationName, entity, id);
|
|
2454
|
+
if (!route) {
|
|
2455
|
+
return false;
|
|
2456
|
+
}
|
|
2457
|
+
this.syncStamp();
|
|
2458
|
+
const cacheKey = entity;
|
|
2459
|
+
const cached = this.decisions.get(cacheKey);
|
|
2460
|
+
if (cached) {
|
|
2461
|
+
return cached;
|
|
2462
|
+
}
|
|
2463
|
+
const url = this.router.serializeUrl(this.router.createUrlTree(route.commands, { queryParams: route.queryParams }));
|
|
2464
|
+
const pending = this.menuRouteAccess.canAccessUrl(url);
|
|
2465
|
+
this.decisions.set(cacheKey, pending);
|
|
2466
|
+
void pending.then(() => undefined, () => {
|
|
2467
|
+
if (this.decisions.get(cacheKey) === pending) {
|
|
2468
|
+
this.decisions.delete(cacheKey);
|
|
2469
|
+
}
|
|
2470
|
+
});
|
|
2471
|
+
return pending;
|
|
2472
|
+
}
|
|
2473
|
+
//#endregion
|
|
2474
|
+
//#region ----- Private Methods -----
|
|
2475
|
+
/** Drop cached decisions when application, permissions, or features change. */
|
|
2476
|
+
syncStamp() {
|
|
2477
|
+
const applicationName = this.sessionService.application?.name ?? '';
|
|
2478
|
+
const permissions = this.sessionService.permissions.join('\n');
|
|
2479
|
+
const features = this.sessionService.features
|
|
2480
|
+
.map((feature) => `${feature.name}:${String(feature.value ?? '')}`)
|
|
2481
|
+
.join('\n');
|
|
2482
|
+
const authorized = this.sessionService.isAuthorized ? '1' : '0';
|
|
2483
|
+
const stamp = `${authorized}|${applicationName}|${permissions}|${features}`;
|
|
2484
|
+
if (stamp === this.accessStamp) {
|
|
2485
|
+
return;
|
|
2486
|
+
}
|
|
2487
|
+
this.accessStamp = stamp;
|
|
2488
|
+
this.decisions.clear();
|
|
2489
|
+
}
|
|
2490
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXPEntityDetailsAccessService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
2491
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXPEntityDetailsAccessService, providedIn: 'root' }); }
|
|
2492
|
+
}
|
|
2493
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXPEntityDetailsAccessService, decorators: [{
|
|
2494
|
+
type: Injectable,
|
|
2495
|
+
args: [{ providedIn: 'root' }]
|
|
2496
|
+
}] });
|
|
2497
|
+
|
|
2415
2498
|
function resolveOpenEntityDetailsInput(input = {}) {
|
|
2416
2499
|
const context = resolveEntityActionCommandInput(input);
|
|
2417
2500
|
return {
|
|
@@ -2431,7 +2514,7 @@ class AXPOpenEntityDetailsCommand {
|
|
|
2431
2514
|
//#region ---- Services & Dependencies ----
|
|
2432
2515
|
this.router = inject(Router);
|
|
2433
2516
|
this.sessionService = inject(AXPSessionService);
|
|
2434
|
-
this.
|
|
2517
|
+
this.detailsAccess = inject(AXPEntityDetailsAccessService);
|
|
2435
2518
|
}
|
|
2436
2519
|
//#endregion
|
|
2437
2520
|
//#region ---- Command Execution ----
|
|
@@ -2457,28 +2540,25 @@ class AXPOpenEntityDetailsCommand {
|
|
|
2457
2540
|
},
|
|
2458
2541
|
};
|
|
2459
2542
|
}
|
|
2460
|
-
const
|
|
2461
|
-
if (!
|
|
2543
|
+
const applicationName = this.sessionService.application?.name;
|
|
2544
|
+
if (!applicationName) {
|
|
2462
2545
|
return {
|
|
2463
2546
|
success: false,
|
|
2464
2547
|
message: {
|
|
2465
|
-
text: '
|
|
2548
|
+
text: 'Application is required for opening details view',
|
|
2466
2549
|
},
|
|
2467
2550
|
};
|
|
2468
2551
|
}
|
|
2469
|
-
const
|
|
2470
|
-
if (!
|
|
2552
|
+
const route = buildEntityDetailsRoute(applicationName, entity, String(data.id));
|
|
2553
|
+
if (!route) {
|
|
2471
2554
|
return {
|
|
2472
2555
|
success: false,
|
|
2473
2556
|
message: {
|
|
2474
|
-
text: '
|
|
2557
|
+
text: 'Entity must be in format "ModuleName.EntityName"',
|
|
2475
2558
|
},
|
|
2476
2559
|
};
|
|
2477
2560
|
}
|
|
2478
|
-
|
|
2479
|
-
const extras = { queryParams: { page: entityName } };
|
|
2480
|
-
const url = this.router.serializeUrl(this.router.createUrlTree(commands, extras));
|
|
2481
|
-
if (!(await this.menuRouteAccess.canAccessUrl(url))) {
|
|
2561
|
+
if (!(await this.detailsAccess.canOpen(entity, String(data.id)))) {
|
|
2482
2562
|
return {
|
|
2483
2563
|
success: false,
|
|
2484
2564
|
message: { text: '@general:errors.codes.FORBIDDEN' },
|
|
@@ -2486,7 +2566,7 @@ class AXPOpenEntityDetailsCommand {
|
|
|
2486
2566
|
}
|
|
2487
2567
|
// Explicit segments so IDs containing `/` (and `http:` prefixes) stay one route param.
|
|
2488
2568
|
// Primary page id is the entity name (`main-entity-content-builder`).
|
|
2489
|
-
const navigated = await this.router.navigate(commands,
|
|
2569
|
+
const navigated = await this.router.navigate(route.commands, { queryParams: route.queryParams });
|
|
2490
2570
|
if (!navigated) {
|
|
2491
2571
|
return {
|
|
2492
2572
|
success: false,
|
|
@@ -8278,6 +8358,7 @@ class AXPEntityDetailPopoverService {
|
|
|
8278
8358
|
this.localeService = inject(AXLocaleService);
|
|
8279
8359
|
this.document = inject(DOCUMENT);
|
|
8280
8360
|
this.router = inject(Router);
|
|
8361
|
+
this.detailsAccess = inject(AXPEntityDetailsAccessService);
|
|
8281
8362
|
//#endregion
|
|
8282
8363
|
//#region ---- Private Properties ----
|
|
8283
8364
|
this.overlayRef = null;
|
|
@@ -8297,6 +8378,9 @@ class AXPEntityDetailPopoverService {
|
|
|
8297
8378
|
if (!anchorElement) {
|
|
8298
8379
|
return;
|
|
8299
8380
|
}
|
|
8381
|
+
if (!(await this.detailsAccess.canOpen(options.entity, String(options.id)))) {
|
|
8382
|
+
return;
|
|
8383
|
+
}
|
|
8300
8384
|
this.hide();
|
|
8301
8385
|
const panelClasses = ['animate-fadeIn', 'animate-faster', 'axp-entity-detail-popover-overlay'];
|
|
8302
8386
|
if (this.platform.isDark()) {
|
|
@@ -14131,7 +14215,7 @@ class AXMAttachmentsPageComponentProvider {
|
|
|
14131
14215
|
return [
|
|
14132
14216
|
{
|
|
14133
14217
|
key: ATTACHMENTS_PAGE_COMPONENT_KEY,
|
|
14134
|
-
loader: () => import('./acorex-platform-framework-client-layout-entity-attachments-page.component-
|
|
14218
|
+
loader: () => import('./acorex-platform-framework-client-layout-entity-attachments-page.component-TJwyeB27.mjs').then((m) => m.AXMAttachmentsPageComponent),
|
|
14135
14219
|
},
|
|
14136
14220
|
];
|
|
14137
14221
|
}
|
|
@@ -14668,7 +14752,7 @@ class AXMGalleryPageComponentProvider {
|
|
|
14668
14752
|
return [
|
|
14669
14753
|
{
|
|
14670
14754
|
key: GALLERY_PAGE_COMPONENT_KEY,
|
|
14671
|
-
loader: () => import('./acorex-platform-framework-client-layout-entity-gallery-page.component-
|
|
14755
|
+
loader: () => import('./acorex-platform-framework-client-layout-entity-gallery-page.component-_ZIlTKUf.mjs').then((m) => m.AXMGalleryPageComponent),
|
|
14672
14756
|
},
|
|
14673
14757
|
];
|
|
14674
14758
|
}
|
|
@@ -17057,6 +17141,7 @@ class AXPEntityCategoryWidgetColumnComponent extends AXPColumnWidgetComponent {
|
|
|
17057
17141
|
this.formatService = inject(AXFormatService);
|
|
17058
17142
|
this.entityResolver = inject(AXPEntityDefinitionRegistryService);
|
|
17059
17143
|
this.categoryBatchResolver = inject(AXPEntityCategoryBatchResolverService);
|
|
17144
|
+
this.detailsAccess = inject(AXPEntityDetailsAccessService);
|
|
17060
17145
|
//#endregion
|
|
17061
17146
|
//#region ---- Inputs ----
|
|
17062
17147
|
this.rawValueSignal = signal(null, /* @ts-ignore */
|
|
@@ -17150,7 +17235,7 @@ class AXPEntityCategoryWidgetColumnComponent extends AXPColumnWidgetComponent {
|
|
|
17150
17235
|
const id = Array.isArray(columnData) ? columnData[index] : columnData;
|
|
17151
17236
|
this.selectedItemIndex.set(index);
|
|
17152
17237
|
const entityKey = this.entity();
|
|
17153
|
-
if (entityKey && id) {
|
|
17238
|
+
if (entityKey && id && (await this.detailsAccess.canOpen(entityKey, String(id)))) {
|
|
17154
17239
|
await this.entityDetailPopoverService.show(anchor ?? this.host.nativeElement, {
|
|
17155
17240
|
entity: entityKey,
|
|
17156
17241
|
id: id,
|
|
@@ -25399,6 +25484,19 @@ class AXPLookupWidgetColumnComponent extends AXPColumnWidgetComponent {
|
|
|
25399
25484
|
this.expressionEvaluator = inject(AXPExpressionEvaluatorService);
|
|
25400
25485
|
this.contextEvalFactory = inject(AXPContextEvalFactory);
|
|
25401
25486
|
this.lookupByKeyCache = inject(AXPLookupByKeyCacheService);
|
|
25487
|
+
this.detailsAccess = inject(AXPEntityDetailsAccessService);
|
|
25488
|
+
this.sessionService = inject(AXPSessionService);
|
|
25489
|
+
/** Re-check lookup links when application, permissions, or features change. */
|
|
25490
|
+
this.accessRevision = toSignal(combineLatest([
|
|
25491
|
+
this.sessionService.application$,
|
|
25492
|
+
this.sessionService.permissions$,
|
|
25493
|
+
this.sessionService.features$,
|
|
25494
|
+
]).pipe(map(([application, permissions, features]) => {
|
|
25495
|
+
const featureStamp = features
|
|
25496
|
+
.map((feature) => `${feature.name}:${String(feature.value ?? '')}`)
|
|
25497
|
+
.join('\n');
|
|
25498
|
+
return `${this.sessionService.isAuthorized ? '1' : '0'}|${application?.name ?? ''}|${permissions.join('\n')}|${featureStamp}`;
|
|
25499
|
+
})), { initialValue: '' });
|
|
25402
25500
|
//#endregion
|
|
25403
25501
|
//#region ---- View Children ----
|
|
25404
25502
|
this.moreButton = viewChild('moreButton', /* @ts-ignore */
|
|
@@ -25436,6 +25534,11 @@ class AXPLookupWidgetColumnComponent extends AXPColumnWidgetComponent {
|
|
|
25436
25534
|
return popover?.enabled !== false;
|
|
25437
25535
|
}, /* @ts-ignore */
|
|
25438
25536
|
...(ngDevMode ? [{ debugName: "detailPopoverEnabled" }] : /* istanbul ignore next */ []));
|
|
25537
|
+
/** Menu policy for the lookup target. False until the check resolves, so the cell is not a link yet. */
|
|
25538
|
+
this.canOpenLinkedEntity = signal(false, /* @ts-ignore */
|
|
25539
|
+
...(ngDevMode ? [{ debugName: "canOpenLinkedEntity" }] : /* istanbul ignore next */ []));
|
|
25540
|
+
this.linkEnabled = computed(() => this.detailPopoverEnabled() && this.canOpenLinkedEntity(), /* @ts-ignore */
|
|
25541
|
+
...(ngDevMode ? [{ debugName: "linkEnabled" }] : /* istanbul ignore next */ []));
|
|
25439
25542
|
//#endregion
|
|
25440
25543
|
//#region ---- Signals ----
|
|
25441
25544
|
this.isMorePopoverOpen = signal(false, /* @ts-ignore */
|
|
@@ -25461,6 +25564,7 @@ class AXPLookupWidgetColumnComponent extends AXPColumnWidgetComponent {
|
|
|
25461
25564
|
this.hydratedDisplayItems = signal(null, /* @ts-ignore */
|
|
25462
25565
|
...(ngDevMode ? [{ debugName: "hydratedDisplayItems" }] : /* istanbul ignore next */ []));
|
|
25463
25566
|
this.hydrateRequestId = 0;
|
|
25567
|
+
this.accessRequestId = 0;
|
|
25464
25568
|
this.mainLabelsVersion = 0;
|
|
25465
25569
|
this.lazyPopoverLabelsVersion = 0;
|
|
25466
25570
|
//#endregion
|
|
@@ -25560,6 +25664,22 @@ class AXPLookupWidgetColumnComponent extends AXPColumnWidgetComponent {
|
|
|
25560
25664
|
: this.displayCount();
|
|
25561
25665
|
void this.refreshPopoverHeader(count);
|
|
25562
25666
|
});
|
|
25667
|
+
effect(() => {
|
|
25668
|
+
this.accessRevision();
|
|
25669
|
+
const key = this.getEntityKey();
|
|
25670
|
+
const popoverEnabled = this.detailPopoverEnabled();
|
|
25671
|
+
if (!popoverEnabled || key.indexOf('.') <= 0) {
|
|
25672
|
+
this.accessRequestId++;
|
|
25673
|
+
this.canOpenLinkedEntity.set(false);
|
|
25674
|
+
return;
|
|
25675
|
+
}
|
|
25676
|
+
const requestId = ++this.accessRequestId;
|
|
25677
|
+
void this.detailsAccess.canOpen(key).then((allowed) => {
|
|
25678
|
+
if (requestId === this.accessRequestId) {
|
|
25679
|
+
this.canOpenLinkedEntity.set(allowed);
|
|
25680
|
+
}
|
|
25681
|
+
});
|
|
25682
|
+
});
|
|
25563
25683
|
effect(() => {
|
|
25564
25684
|
const key = this.getEntityKey();
|
|
25565
25685
|
const dotIndex = key.indexOf('.');
|
|
@@ -25633,7 +25753,17 @@ class AXPLookupWidgetColumnComponent extends AXPColumnWidgetComponent {
|
|
|
25633
25753
|
this.entityDetailPopoverService.hide();
|
|
25634
25754
|
this.openPopoverFromRef(this.moreButton());
|
|
25635
25755
|
}
|
|
25756
|
+
onLazySummaryClick(event) {
|
|
25757
|
+
if (!this.linkEnabled()) {
|
|
25758
|
+
return;
|
|
25759
|
+
}
|
|
25760
|
+
event.stopPropagation();
|
|
25761
|
+
this.openLazyPopover();
|
|
25762
|
+
}
|
|
25636
25763
|
openLazyPopover() {
|
|
25764
|
+
if (!this.linkEnabled()) {
|
|
25765
|
+
return;
|
|
25766
|
+
}
|
|
25637
25767
|
this.entityDetailPopoverService.hide();
|
|
25638
25768
|
this.openPopoverFromRef(this.lazyTrigger());
|
|
25639
25769
|
if (!this.isHydratedStrategy()) {
|
|
@@ -25648,7 +25778,7 @@ class AXPLookupWidgetColumnComponent extends AXPColumnWidgetComponent {
|
|
|
25648
25778
|
}
|
|
25649
25779
|
}
|
|
25650
25780
|
async showItemDetail(item, index, anchor) {
|
|
25651
|
-
if (!this.
|
|
25781
|
+
if (!this.linkEnabled()) {
|
|
25652
25782
|
return;
|
|
25653
25783
|
}
|
|
25654
25784
|
const detailAnchor = this.resolveStableDetailAnchor(anchor);
|
|
@@ -25707,7 +25837,7 @@ class AXPLookupWidgetColumnComponent extends AXPColumnWidgetComponent {
|
|
|
25707
25837
|
});
|
|
25708
25838
|
}
|
|
25709
25839
|
handleItemClick(index, event) {
|
|
25710
|
-
if (!this.
|
|
25840
|
+
if (!this.linkEnabled()) {
|
|
25711
25841
|
return;
|
|
25712
25842
|
}
|
|
25713
25843
|
const items = this.allItems();
|
|
@@ -25716,7 +25846,7 @@ class AXPLookupWidgetColumnComponent extends AXPColumnWidgetComponent {
|
|
|
25716
25846
|
}
|
|
25717
25847
|
}
|
|
25718
25848
|
handleResolvedItemClick(index, event) {
|
|
25719
|
-
if (!this.
|
|
25849
|
+
if (!this.linkEnabled()) {
|
|
25720
25850
|
return;
|
|
25721
25851
|
}
|
|
25722
25852
|
const items = this.resolvedPopoverItems();
|
|
@@ -25725,6 +25855,9 @@ class AXPLookupWidgetColumnComponent extends AXPColumnWidgetComponent {
|
|
|
25725
25855
|
}
|
|
25726
25856
|
}
|
|
25727
25857
|
handlePopoverItemClick(index, _event) {
|
|
25858
|
+
if (!this.linkEnabled()) {
|
|
25859
|
+
return;
|
|
25860
|
+
}
|
|
25728
25861
|
const anchor = this.resolveMorePopoverDetailAnchor();
|
|
25729
25862
|
if (this.isHydratedStrategy()) {
|
|
25730
25863
|
const items = this.allItems();
|
|
@@ -26156,11 +26289,11 @@ class AXPLookupWidgetColumnComponent extends AXPColumnWidgetComponent {
|
|
|
26156
26289
|
return /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(value) || /^\d+$/.test(value);
|
|
26157
26290
|
}
|
|
26158
26291
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXPLookupWidgetColumnComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
26159
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: AXPLookupWidgetColumnComponent, isStandalone: true, selector: "ng-component", inputs: { rawValue: "rawValue", rowData: "rowData" }, viewQueries: [{ propertyName: "moreButton", first: true, predicate: ["moreButton"], descendants: true, isSignal: true }, { propertyName: "lazyTrigger", first: true, predicate: ["lazyTrigger"], descendants: true, isSignal: true }, { propertyName: "morePopover", first: true, predicate: ["morePopover"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "@if (isHydratedStrategy()) {\n <div class=\"relative flex min-w-0 items-center gap-1\">\n @for (item of visibleItems(); track $index) {\n <span\n class=\"min-w-0 truncate\"\n [class.cursor-pointer]=\"
|
|
26292
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: AXPLookupWidgetColumnComponent, isStandalone: true, selector: "ng-component", inputs: { rawValue: "rawValue", rowData: "rowData" }, viewQueries: [{ propertyName: "moreButton", first: true, predicate: ["moreButton"], descendants: true, isSignal: true }, { propertyName: "lazyTrigger", first: true, predicate: ["lazyTrigger"], descendants: true, isSignal: true }, { propertyName: "morePopover", first: true, predicate: ["morePopover"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "@if (isHydratedStrategy()) {\n <div class=\"relative flex min-w-0 items-center gap-1\">\n @for (item of visibleItems(); track $index) {\n <span\n class=\"min-w-0 truncate\"\n [class.cursor-pointer]=\"linkEnabled()\"\n [class.hover:text-primary]=\"linkEnabled()\"\n [class.hover:underline]=\"linkEnabled()\"\n [attr.title]=\"getItemLabel($index)\"\n (click)=\"handleItemClick($index, $event)\"\n >\n {{ getItemLabel($index) }}\n </span>\n @if ($index < visibleItems().length - 1) {\n <span class=\"text-muted\">\u2022</span>\n }\n } @empty {\n <span class=\"text-muted\">---</span>\n }\n @if (hasMoreItems()) {\n <span\n class=\"absolute end-0 flex h-full cursor-pointer items-center px-1 hover:primary-lighter-surface\"\n (click)=\"showMoreItems(); $event.stopPropagation()\"\n #moreButton\n >\n <i class=\"fa-light fa-ellipsis-vertical\"></i>\n </span>\n }\n </div>\n} @else {\n <div class=\"flex min-w-0 items-center gap-1\">\n @if (displayCount() > 0) {\n <span\n class=\"min-w-0 truncate\"\n [class.cursor-pointer]=\"linkEnabled()\"\n [class.text-primary]=\"linkEnabled()\"\n [class.hover:underline]=\"linkEnabled()\"\n [attr.title]=\"summaryLabel()\"\n (click)=\"onLazySummaryClick($event)\"\n #lazyTrigger\n >\n {{ summaryLabel() }}\n </span>\n } @else {\n <span class=\"text-muted\">---</span>\n }\n </div>\n}\n\n<ax-popover [openOn]=\"'manual'\" #morePopover (openChange)=\"onPopoverOpenChange($event)\">\n <div class=\"lightest-surface dark:dark-surface min-w-[280px] rounded-lg p-4 shadow-lg\">\n <div class=\"mb-4 border-b pb-2\">\n <h3 class=\"text-base font-semibold\">{{ popoverHeader() }}</h3>\n </div>\n\n @if (!isHydratedStrategy() && resolveStatus() === 'loading') {\n <div class=\"flex min-h-[120px] items-center justify-center\">\n <ax-loading></ax-loading>\n </div>\n } @else if (!isHydratedStrategy() && resolveStatus() === 'error') {\n <div class=\"text-danger text-sm\">{{ resolveError() }}</div>\n } @else {\n <div class=\"flex max-h-64 flex-col gap-3\">\n @for (item of popoverListItems(); track $index) {\n <span\n [class.cursor-pointer]=\"linkEnabled()\"\n [class.hover:text-primary]=\"linkEnabled()\"\n [class.hover:underline]=\"linkEnabled()\"\n (click)=\"handlePopoverItemClick($index, $event)\"\n >\n {{ getPopoverItemLabel($index) }}\n </span>\n } @empty {\n <span class=\"text-muted\">---</span>\n }\n </div>\n }\n </div>\n</ax-popover>\n", dependencies: [{ kind: "ngmodule", type: AXLoadingModule }, { kind: "component", type: i1$2.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "ngmodule", type: AXPopoverModule }, { kind: "component", type: i1$1.AXPopoverComponent, selector: "ax-popover", inputs: ["width", "disablePanelClass", "visualContextScope", "disabled", "offsetX", "offsetY", "target", "placement", "content", "openOn", "closeOn", "hasBackdrop", "openAfter", "closeAfter", "closeOnScroll", "closeOnNavigation", "backdropClass", "panelClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
26160
26293
|
}
|
|
26161
26294
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXPLookupWidgetColumnComponent, decorators: [{
|
|
26162
26295
|
type: Component,
|
|
26163
|
-
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, imports: [AXLoadingModule, AXPopoverModule], inputs: ['rawValue', 'rowData'], template: "@if (isHydratedStrategy()) {\n <div class=\"relative flex min-w-0 items-center gap-1\">\n @for (item of visibleItems(); track $index) {\n <span\n class=\"min-w-0 truncate\"\n [class.cursor-pointer]=\"
|
|
26296
|
+
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, imports: [AXLoadingModule, AXPopoverModule], inputs: ['rawValue', 'rowData'], template: "@if (isHydratedStrategy()) {\n <div class=\"relative flex min-w-0 items-center gap-1\">\n @for (item of visibleItems(); track $index) {\n <span\n class=\"min-w-0 truncate\"\n [class.cursor-pointer]=\"linkEnabled()\"\n [class.hover:text-primary]=\"linkEnabled()\"\n [class.hover:underline]=\"linkEnabled()\"\n [attr.title]=\"getItemLabel($index)\"\n (click)=\"handleItemClick($index, $event)\"\n >\n {{ getItemLabel($index) }}\n </span>\n @if ($index < visibleItems().length - 1) {\n <span class=\"text-muted\">\u2022</span>\n }\n } @empty {\n <span class=\"text-muted\">---</span>\n }\n @if (hasMoreItems()) {\n <span\n class=\"absolute end-0 flex h-full cursor-pointer items-center px-1 hover:primary-lighter-surface\"\n (click)=\"showMoreItems(); $event.stopPropagation()\"\n #moreButton\n >\n <i class=\"fa-light fa-ellipsis-vertical\"></i>\n </span>\n }\n </div>\n} @else {\n <div class=\"flex min-w-0 items-center gap-1\">\n @if (displayCount() > 0) {\n <span\n class=\"min-w-0 truncate\"\n [class.cursor-pointer]=\"linkEnabled()\"\n [class.text-primary]=\"linkEnabled()\"\n [class.hover:underline]=\"linkEnabled()\"\n [attr.title]=\"summaryLabel()\"\n (click)=\"onLazySummaryClick($event)\"\n #lazyTrigger\n >\n {{ summaryLabel() }}\n </span>\n } @else {\n <span class=\"text-muted\">---</span>\n }\n </div>\n}\n\n<ax-popover [openOn]=\"'manual'\" #morePopover (openChange)=\"onPopoverOpenChange($event)\">\n <div class=\"lightest-surface dark:dark-surface min-w-[280px] rounded-lg p-4 shadow-lg\">\n <div class=\"mb-4 border-b pb-2\">\n <h3 class=\"text-base font-semibold\">{{ popoverHeader() }}</h3>\n </div>\n\n @if (!isHydratedStrategy() && resolveStatus() === 'loading') {\n <div class=\"flex min-h-[120px] items-center justify-center\">\n <ax-loading></ax-loading>\n </div>\n } @else if (!isHydratedStrategy() && resolveStatus() === 'error') {\n <div class=\"text-danger text-sm\">{{ resolveError() }}</div>\n } @else {\n <div class=\"flex max-h-64 flex-col gap-3\">\n @for (item of popoverListItems(); track $index) {\n <span\n [class.cursor-pointer]=\"linkEnabled()\"\n [class.hover:text-primary]=\"linkEnabled()\"\n [class.hover:underline]=\"linkEnabled()\"\n (click)=\"handlePopoverItemClick($index, $event)\"\n >\n {{ getPopoverItemLabel($index) }}\n </span>\n } @empty {\n <span class=\"text-muted\">---</span>\n }\n </div>\n }\n </div>\n</ax-popover>\n" }]
|
|
26164
26297
|
}], ctorParameters: () => [], propDecorators: { moreButton: [{ type: i0.ViewChild, args: ['moreButton', { isSignal: true }] }], lazyTrigger: [{ type: i0.ViewChild, args: ['lazyTrigger', { isSignal: true }] }], morePopover: [{ type: i0.ViewChild, args: ['morePopover', { isSignal: true }] }] } });
|
|
26165
26298
|
|
|
26166
26299
|
var lookupWidgetColumn_component = /*#__PURE__*/Object.freeze({
|
|
@@ -32531,7 +32664,7 @@ class AXPEntityModule {
|
|
|
32531
32664
|
},
|
|
32532
32665
|
{
|
|
32533
32666
|
key: 'Entity:Bulk',
|
|
32534
|
-
command: () => import('./acorex-platform-framework-client-layout-entity-bulk-entity.command-
|
|
32667
|
+
command: () => import('./acorex-platform-framework-client-layout-entity-bulk-entity.command-CgLVcZHZ.mjs').then((c) => c.AXPBulkEntityCommand),
|
|
32535
32668
|
},
|
|
32536
32669
|
{
|
|
32537
32670
|
key: 'Entity:OpenList',
|
|
@@ -32692,7 +32825,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
32692
32825
|
},
|
|
32693
32826
|
{
|
|
32694
32827
|
key: 'Entity:Bulk',
|
|
32695
|
-
command: () => import('./acorex-platform-framework-client-layout-entity-bulk-entity.command-
|
|
32828
|
+
command: () => import('./acorex-platform-framework-client-layout-entity-bulk-entity.command-CgLVcZHZ.mjs').then((c) => c.AXPBulkEntityCommand),
|
|
32696
32829
|
},
|
|
32697
32830
|
{
|
|
32698
32831
|
key: 'Entity:OpenList',
|
|
@@ -33018,4 +33151,4 @@ function detectEntityChanges(oldObj, newObj) {
|
|
|
33018
33151
|
*/
|
|
33019
33152
|
|
|
33020
33153
|
export { AXPEntityListViewModelResolver as $, AXPEntityDefinitionRegistryService as A, AXPEntityCategoryWidgetViewComponent as B, AXPEntityCommandTriggerViewModel as C, AXPEntityCreateViewElementViewModel as D, AXPEntityCreateViewModelFactory as E, AXPEntityCreateViewSectionViewModel as F, AXPEntityDataProvider as G, AXPEntityDataProviderImpl as H, AXPEntityDataSelectorRowActionsService as I, AXPEntityDataSelectorService as J, AXPEntityDefinitionProviderWidget as K, AXPEntityDefinitionProviderWidgetEditComponent as L, AXPEntityDeletePerformService as M, AXPEntityDetailListViewModel as N, AXPEntityDetailPopoverComponent as O, AXPEntityDetailPopoverService as P, AXPEntityDetailViewModelFactory as Q, AXPEntityDetailViewModelResolver as R, AXPEntityEventDispatcherService as S, AXPEntityFormBuilderService as T, AXPEntityLifecycleHookKeys as U, AXPEntityListPersistenceModeDefault as V, AXPEntityListTableService as W, AXPEntityListToolbarService as X, AXPEntityListViewCardFieldViewModel as Y, AXPEntityListViewColumnViewModel as Z, AXPEntityListViewModelFactory as _, showOperationResultToast as a, AXP_CATEGORY_TREE_ROOT_TITLE_I18N_KEY as a$, AXPEntityListWidget as a0, AXPEntityListWidgetViewComponent as a1, AXPEntityMasterCreateViewModel as a2, AXPEntityMasterListCardSelectActionName as a3, AXPEntityMasterListViewModel as a4, AXPEntityMasterListViewQueryViewModel as a5, AXPEntityMasterSingleElementViewModel as a6, AXPEntityMasterSingleViewGroupViewModel as a7, AXPEntityMasterSingleViewModel as a8, AXPEntityMasterUpdateElementViewModel as a9, AXPLookupWidgetViewComponent as aA, AXPMiddlewareAbortError as aB, AXPMiddlewareEntityStorageService as aC, AXPMultiSourceDefinitionProviderContext as aD, AXPMultiSourceDefinitionProviderService as aE, AXPMultiSourceFederatedSearchService as aF, AXPMultiSourceSelectorComponent as aG, AXPMultiSourceSelectorService as aH, AXPMultiSourceSelectorWidget as aI, AXPMultiSourceSelectorWidgetColumnComponent as aJ, AXPMultiSourceSelectorWidgetEditComponent as aK, AXPMultiSourceSelectorWidgetViewComponent as aL, AXPMultiSourceType as aM, AXPOpenEntityDetailsCommand as aN, AXPOpenEntityListCommand as aO, AXPRelatedColumnEnrichmentService as aP, AXPRelatedColumnMetadataResolver as aQ, AXPSelectorStructureWidget as aR, AXPSelectorStructureWidgetColumnComponent as aS, AXPSelectorStructureWidgetEditComponent as aT, AXPSelectorStructureWidgetViewComponent as aU, AXPShowFileUploaderPopupCommand as aV, AXPTruncatedBreadcrumbComponent as aW, AXPUpdateEntityCommand as aX, AXPUpdateEntityStatusCommand as aY, AXPViewEntityDetailsCommand as aZ, AXP_APPEARANCE_SECTION_ORDER as a_, AXPEntityMasterUpdateViewModel as aa, AXPEntityMasterUpdateViewModelFactory as ab, AXPEntityMiddlewareSkipContext as ac, AXPEntityModule as ad, AXPEntityPreloadFiltersContainerComponent as ae, AXPEntityPreloadFiltersViewModel as af, AXPEntityPreloadFiltersViewModelResolver as ag, AXPEntityResolver as ah, AXPEntityRuntimeAccessorService as ai, AXPEntityService as aj, AXPEntityStorageService as ak, AXPEntityUpdateViewSectionViewModel as al, AXPFileListComponent as am, AXPFileUploaderLoadFilesQuery as an, AXPFileUploaderSaveFilesCommand as ao, AXPFileUploaderWidget as ap, AXPFileUploaderWidgetColumnComponent as aq, AXPFileUploaderWidgetEditComponent as ar, AXPFileUploaderWidgetService as as, AXPFileUploaderWidgetViewComponent as at, AXPGetEntityDetailsQuery as au, AXPLayoutOrderingConfigService as av, AXPLookupByKeyCacheService as aw, AXPLookupWidget as ax, AXPLookupWidgetColumnComponent as ay, AXPLookupWidgetEditComponent as az, buildSelectedIdsFilter as b, defaultSortPresetsMiddlewareProvider as b$, AXP_CLASSIFICATION_SECTION_ORDER as b0, AXP_CLIENT_LOCAL_DEFAULT_MAX_ITEMS as b1, AXP_CLIENT_LOCAL_PLUGIN_NAME as b2, AXP_DATA_SEEDER_TOKEN as b3, AXP_ENTITY_ACTION_PLUGIN as b4, AXP_ENTITY_CONFIG_TOKEN as b5, AXP_ENTITY_DEFINITION_LOADER as b6, AXP_ENTITY_MIDDLEWARE as b7, AXP_ENTITY_MODIFIER as b8, AXP_ENTITY_STORAGE_MIDDLEWARE as b9, axpShowFileUploaderPopupCommandDefinition as bA, axpUpdateEntityStatusCommandDefinition as bB, buildDataSourceTraceSnapshot as bC, canPersistEntityListState as bD, clientLocalPlugin as bE, cloneLayoutArrays as bF, columnOrderingMiddleware as bG, columnOrderingMiddlewareProvider as bH, columnWidthMiddleware as bI, columnWidthMiddlewareProvider as bJ, committedAttachments as bK, composeEntityMiddlewares as bL, composeEntityStorageMiddlewares as bM, computeEntityAggregates as bN, configureEntityListColumnsSettingsMigrateDrop as bO, configureEntityListColumnsSettingsVersion as bP, createColumnOrderingMiddlewareProvider as bQ, createEntityCardDisplayScope as bR, createEntityCardLogicScope as bS, createEntityMiddlewareContext as bT, createEntityStorageContext as bU, createLayoutOrderingMiddlewareProvider as bV, defaultCardLayoutMiddleware as bW, defaultCardLayoutMiddlewareProvider as bX, defaultMultiLanguageMiddleware as bY, defaultMultiLanguageMiddlewareProvider as bZ, defaultSortPresetsMiddleware as b_, AXP_LOOKUP_FILTER_DEFAULT_OPERATOR as ba, AXP_MULTI_SOURCE_DEFINITION_PROVIDER as bb, DEFAULT_COLUMN_ORDER as bc, DEFAULT_PAIR_SPAN_RULES as bd, DEFAULT_PROPERTY_ORDER as be, DEFAULT_SECTION_ORDER as bf, ENTITY_FORM_ACTION_FIRST_STEP_CONTINUE as bg, ENTITY_LIST_LAYOUT_META as bh, ENTITY_LIST_ROUTE_CONTEXT_SESSION_KEY as bi, ENTITY_MASTER_LIST_TRACE_NS as bj, EntityBuilder as bk, EntityDataAccessor as bl, GALLERY_PAGE_COMPONENT_KEY as bm, TREE_CHILDREN_QUERY_TAKE as bn, actionExists as bo, applyDataSourcePagingWithoutLoad as bp, attachmentFieldCount as bq, attachmentNeedsHydration as br, attachmentsPlugin as bs, attachmentsSemanticallyEqual as bt, axpBuildEntityListPageContextSnapshot as bu, axpCreateEntityAiToolInputDefaults as bv, axpCreateEntityCommandDefinition as bw, axpDeleteEntityCommandDefinition as bx, axpOpenEntityListCommandDefinition as by, axpRunEntityListPageContextAction as bz, ATTACHMENTS_PAGE_COMPONENT_KEY as c, provideLocalEntityCatalog as c$, detectEntityChanges as c0, dispatchEntityModifiedSideEffects as c1, ensureHierarchicalRootFilter as c2, ensureLayoutPropertyView as c3, ensureLayoutSection as c4, ensureListActions as c5, entityCreateBridgeMiddleware as c6, entityDeleteBridgeMiddleware as c7, entityGetOneBridgeMiddleware as c8, entityListInstanceCurrentViewPath as c9, hasFileUploaderTitleOrDescriptionFields as cA, hydrateAttachmentFieldToFileList as cB, isAXPMiddlewareAbortError as cC, isAttachmentFieldPresentOnRow as cD, isAttachmentListEntry as cE, isAttachmentStorageRef as cF, isCategoryEntity as cG, isCategoryFilter as cH, isFileListItem as cI, isFileUploaderEditDialogAuto as cJ, isLegacyEntityDataSelectorOptions as cK, layoutOrderingMiddlewareFactory as cL, layoutOrderingMiddlewareProvider as cM, mapEntityStorageErrorToCommandResult as cN, mapLegacyEntityDataSelectorOptions as cO, mergeEntityListViewAndPersistedFilters as cP, normalizeEntityCardHeaderDisplayValue as cQ, normalizeEntityDataSelectorColumnSpecs as cR, normalizeEntityDataSelectorOptions as cS, normalizeEntityFieldToFileList as cT, normalizeEntityListPersistenceMode as cU, normalizeListPaging as cV, prefetchClientLocalRelated as cW, provideEntity as cX, provideEntityMiddlewareBridge as cY, provideEntityRealtimeHandlers as cZ, provideEntityStorageMiddlewareBridge as c_, entityListInstanceFilterPath as ca, entityListStylingRulesPath as cb, entityQueryBridgeMiddleware as cc, entityStorageCreateBridgeMiddleware as cd, entityStorageDeleteBridgeMiddleware as ce, entityStorageGetOneBridgeMiddleware as cf, entityStorageQueryBridgeMiddleware as cg, entityStorageUpdateBridgeMiddleware as ch, entityUpdateBridgeMiddleware as ci, eventDispatchMiddleware as cj, filterEntityMiddlewares as ck, filterEntityStorageMiddlewares as cl, filterSortEntityRows as cm, filterTouchesParentKey as cn, findEntityListRowDataInTree as co, fingerprintAttachmentItem as cp, fingerprintAttachments as cq, fireEntityLifecycleHook as cr, formatLookupItemDisplay as cs, formatLookupItemDisplayAsync as ct, galleryPlugin as cu, getDataSourcePageIndex as cv, getEntityListColumnsSettingsMigrateDrop as cw, getEntityListColumnsSettingsVersion as cx, getEntityListRowId as cy, getMasterInterfacePropertySortKey as cz, AXMEntityCrudService as d, readPersistedEntityListInstanceCurrentView as d0, readPersistedEntityListInstanceFilters as d1, readPersistedEntityListStylingRules as d2, resetPagingForTreeChildrenLoad as d3, resolveAttachmentFieldPath as d4, resolveEntityCardBadgeColorValue as d5, resolveEntityCardHeaderValue as d6, resolveEntityMasterFieldStylingClass as d7, resolveEntityMasterRecordStylingClass as d8, resolveEntityMasterStylingClass as d9, resolveEntityPluginDetailPageOrder as da, resolveFileUploaderEditDialog as db, resolveFileUploaderEntityScope as dc, resolveLookupDisplayField as dd, resolveLookupDisplayTemplate as de, resolveLookupEntityCacheKey as df, resolveLookupEntityKey as dg, resolveMasterInterfacePropertyOrder as dh, restoreEntityListExpandedRows as di, runEntityMiddlewarePipeline as dj, runEntityQuery as dk, runEntityStorageMiddlewarePipeline as dl, searchResultDescriptionMiddleware as dm, searchResultDescriptionMiddlewareProvider as dn, shouldLoadEntityListStateFromStorage as dp, shouldResetEntityListStateOnRouteEntry as dq, traceEntityMasterList as dr, AXMEntityCrudServiceImpl as e, AXPCategoryTreeService as f, AXPClientLocalPluginModule as g, AXPCreateEntityCommand as h, AXPDataSeederService as i, AXPDeleteEntityCommand as j, AXPDomainQueryEntityDefinitionLoader as k, AXPEditFileUploaderCommand as l, AXPEntityBulkPatchPerformService as m, newBulkExecutionId as n, AXPEntityCardComponent as o, persistedAttachments as p, AXPEntityCardFieldsResolver as q, resolveBulkFailureBody as r, settleAfterLoadingDialog as s, AXPEntityCardSelectActionName as t, AXPEntityCardSkeletonComponent as u, AXPEntityCategoryTreeSelectorComponent as v, watchBulkProgress as w, AXPEntityCategoryWidget as x, AXPEntityCategoryWidgetColumnComponent as y, AXPEntityCategoryWidgetEditComponent as z };
|
|
33021
|
-
//# sourceMappingURL=acorex-platform-framework-client-layout-entity-acorex-platform-framework-client-layout-entity-
|
|
33154
|
+
//# sourceMappingURL=acorex-platform-framework-client-layout-entity-acorex-platform-framework-client-layout-entity-40YjUhSy.mjs.map
|