@acorex-platform/framework-client 0.0.49 → 0.0.51

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 (23) hide show
  1. package/fesm2022/acorex-platform-framework-client-layout-components.mjs +7 -7
  2. package/fesm2022/acorex-platform-framework-client-layout-components.mjs.map +1 -1
  3. package/fesm2022/{acorex-platform-framework-client-layout-entity-acorex-platform-framework-client-layout-entity-CkqVHcl9.mjs → acorex-platform-framework-client-layout-entity-acorex-platform-framework-client-layout-entity-DS3F1_EN.mjs} +169 -21
  4. package/fesm2022/acorex-platform-framework-client-layout-entity-acorex-platform-framework-client-layout-entity-DS3F1_EN.mjs.map +1 -0
  5. package/fesm2022/{acorex-platform-framework-client-layout-entity-attachments-page.component-CEtWy70B.mjs → acorex-platform-framework-client-layout-entity-attachments-page.component-CWeKcj8t.mjs} +2 -2
  6. package/fesm2022/{acorex-platform-framework-client-layout-entity-attachments-page.component-CEtWy70B.mjs.map → acorex-platform-framework-client-layout-entity-attachments-page.component-CWeKcj8t.mjs.map} +1 -1
  7. package/fesm2022/{acorex-platform-framework-client-layout-entity-bulk-entity.command-BnH5XK5M.mjs → acorex-platform-framework-client-layout-entity-bulk-entity.command-CgsgFxT8.mjs} +2 -2
  8. package/fesm2022/{acorex-platform-framework-client-layout-entity-bulk-entity.command-BnH5XK5M.mjs.map → acorex-platform-framework-client-layout-entity-bulk-entity.command-CgsgFxT8.mjs.map} +1 -1
  9. package/fesm2022/{acorex-platform-framework-client-layout-entity-gallery-page.component-COjqVu_3.mjs → acorex-platform-framework-client-layout-entity-gallery-page.component-Pfp7Lw_A.mjs} +2 -2
  10. package/fesm2022/{acorex-platform-framework-client-layout-entity-gallery-page.component-COjqVu_3.mjs.map → acorex-platform-framework-client-layout-entity-gallery-page.component-Pfp7Lw_A.mjs.map} +1 -1
  11. package/fesm2022/acorex-platform-framework-client-layout-entity.mjs +1 -1
  12. package/fesm2022/{acorex-platform-framework-client-layout-widgets-acorex-platform-framework-client-layout-widgets-BwwxqHzR.mjs → acorex-platform-framework-client-layout-widgets-acorex-platform-framework-client-layout-widgets-CWvC9Eh2.mjs} +157 -47
  13. package/fesm2022/acorex-platform-framework-client-layout-widgets-acorex-platform-framework-client-layout-widgets-CWvC9Eh2.mjs.map +1 -0
  14. package/fesm2022/{acorex-platform-framework-client-layout-widgets-repeater-widget-column.component-DYpd-XXJ.mjs → acorex-platform-framework-client-layout-widgets-repeater-widget-column.component-MHOUqz2l.mjs} +2 -2
  15. package/fesm2022/{acorex-platform-framework-client-layout-widgets-repeater-widget-column.component-DYpd-XXJ.mjs.map → acorex-platform-framework-client-layout-widgets-repeater-widget-column.component-MHOUqz2l.mjs.map} +1 -1
  16. package/fesm2022/{acorex-platform-framework-client-layout-widgets-text-block-widget-designer.component-DfgIxNyy.mjs → acorex-platform-framework-client-layout-widgets-text-block-widget-designer.component-oLFeaHdz.mjs} +2 -2
  17. package/fesm2022/{acorex-platform-framework-client-layout-widgets-text-block-widget-designer.component-DfgIxNyy.mjs.map → acorex-platform-framework-client-layout-widgets-text-block-widget-designer.component-oLFeaHdz.mjs.map} +1 -1
  18. package/fesm2022/acorex-platform-framework-client-layout-widgets.mjs +1 -1
  19. package/package.json +7 -7
  20. package/types/acorex-platform-framework-client-layout-entity.d.ts +11 -0
  21. package/types/acorex-platform-framework-client-layout-widgets.d.ts +10 -1
  22. package/fesm2022/acorex-platform-framework-client-layout-entity-acorex-platform-framework-client-layout-entity-CkqVHcl9.mjs.map +0 -1
  23. package/fesm2022/acorex-platform-framework-client-layout-widgets-acorex-platform-framework-client-layout-widgets-BwwxqHzR.mjs.map +0 -1
@@ -5,7 +5,7 @@ import * as i3$1 from '@acorex/core/translation';
5
5
  import { AXTranslationService, AXTranslationModule, resolveMultiLanguageString, translateSync } from '@acorex/core/translation';
6
6
  import * as i4$3 from '@acorex-platform/framework-client/common';
7
7
  import { AXPNotFoundError, AXPMenuRouteAccessService, AXPSettingsService, AXPCommonSettings, resolveEntityCreateListBehavior, platformErrorI18nKey, extractRequestErrorInfo, axpNavigateAppPath, AXPFileTypeProviderService, AXPFileStorageService, resolveFileTypeDisplay, resolveEntityRowDisplayTitle, resolveEntityModifyPopupTitle, commandMessageTextForError, resolveStoredImageDisplayUrl, isStoredImageFileId, AXPFilterOperatorMiddlewareService, AXP_ENTITY_LIST_DISPLAY_MODE_DEFAULT, ENTITY_LIST_DEFAULT_INSTANCE_ID, axpNormalizeEntityListInstanceId, axpGetEntityListInstanceIdFromParamMap, axpRedirectToNotFound, CONTAINS_OPER, toExecuteCommandFailureResult, AXPLocalEntityEngine, AXPLocalEntityRealtimeBridge, AXP_LOCAL_ENTITY_DEFAULT_MAX_ITEMS, resolveSearchableText, evaluateEntityDisplayTemplate, AXPCleanNestedFilters, AXPEntityDetailsNavTrailService, axpComposeEntityDetailsNavTrail, axpIsEntityRecordNotFound, coerceAXPSettingRawValueByKind, AXPDefaultMultiLanguageConfigService, withDefaultMultiLanguageOnWidgetNodeTree, axpIsEntityListPath, axpIsEntityDetailsPath, axpParseEntityListRoute, axpParseEntityDetailsRoute, axpSaveEntityListReturnUrl, AXPMenuRouteGuard, AXP_NOT_FOUND_ROUTE, AXP_PROTECTED_ROUTE_GUARDS, AXP_SEARCH_DEFINITION_PROVIDER, AXP_SEARCH_DEFINITION_LAZY_RESOLVER } from '@acorex-platform/framework-client/common';
8
- import { AXPWidgetsCatalog, runtimeCommandPayloadData, createRandomUuid, AXPRequestError, runtimeQueryPayloadData, runtimeQueryCollectionData, runtimeQueryFailure, runtimeQuerySuccessObject, runtimeCommandFailure, runtimeCommandSuccessObject, resolveActionLook, listThemeSurfaceClasses, parseRuntimeHexSurface, AXP_THEME_SURFACE_STYLES, AXPWidgetsList, AXPSystemActionType, AXPPlatformScope, flattenQueryFilterUserGroups, AXP_QUERY_QUICK_SEARCH_FIELD, wrapQueryFilterRoot, isPersistableFilterQuery, isCompleteFilterCondition, resolveFilterQueryIdentityField, extractValue, setSmart, getChangedPaths, isSelectionValueEqual, toAxpGridItemWidgetOptions, runtimeQuerySuccessCollection } from '@acorex-platform/framework-shared/core';
8
+ import { AXPWidgetsCatalog, runtimeCommandPayloadData, createRandomUuid, AXPRequestError, runtimeQueryPayloadData, runtimeQueryCollectionData, runtimeQueryFailure, runtimeQuerySuccessObject, runtimeCommandFailure, runtimeCommandSuccessObject, resolveActionLook, listThemeSurfaceClasses, parseRuntimeHexSurface, AXP_THEME_SURFACE_STYLES, AXPWidgetsList, AXPSystemActionType, coerceFilterDisplayText, AXPPlatformScope, flattenQueryFilterUserGroups, AXP_QUERY_QUICK_SEARCH_FIELD, wrapQueryFilterRoot, isPersistableFilterQuery, isCompleteFilterCondition, resolveFilterQueryIdentityField, extractValue, setSmart, getChangedPaths, isSelectionValueEqual, toAxpGridItemWidgetOptions, runtimeQuerySuccessCollection } from '@acorex-platform/framework-shared/core';
9
9
  import { AXPDeviceService, AXPExpressionEvaluatorService, AXPEntityBroadcastService, AXPHookService, AXPDebugService, AXPDataGenerator, AXPContextEvalFactory, ensureRuntimeSurfaceClass, applyFilterArray, createCommandExpressionScope, toExpressionRecord, AXPDistributedEventListenerService, applySortArray, AXHighlightService, AXPColumnWidthService, objectKeyValueTransforms, setupPopupFooterKeyboardShortcuts, AXPContextStore, AXPModuleManifestRegistry, provideAppStartUpTask, AXP_APP_STARTUP_PRIORITY, defaultColumnWidthProvider, AXP_COLUMN_WIDTH_PROVIDER } from '@acorex-platform/framework-client/core';
10
10
  import * as i0 from '@angular/core';
11
11
  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';
@@ -1667,7 +1667,11 @@ class PropertyFilter {
1667
1667
  return aOrder - bOrder;
1668
1668
  });
1669
1669
  applySectionScaleToProperties(orderedProps, args.sectionScaleFactors.get(groupId));
1670
- normalizeLayoutFillRowGaps(orderedProps, (p) => p.__layout);
1670
+ const firstRuntimeVisibleIndex = orderedProps.findIndex((p) => {
1671
+ const visible = p.schema?.visible;
1672
+ return typeof visible === 'string' && this.expressionEvaluator.isExpression(visible);
1673
+ });
1674
+ normalizeLayoutFillRowGaps(orderedProps, (p) => p.__layout, undefined, firstRuntimeVisibleIndex >= 0 ? firstRuntimeVisibleIndex : undefined);
1671
1675
  for (const prop of orderedProps) {
1672
1676
  const mergedProp = prop;
1673
1677
  const dataPath = mergedProp.__dataPath;
@@ -1942,8 +1946,10 @@ function setColSpanAt(layout, breakpoint, colSpan) {
1942
1946
  * Use after include/exclude so that hidden items do not leave empty row gaps.
1943
1947
  * When getItemId is provided (e.g. for sections), returns scale factors (newColSpan/oldColSpan)
1944
1948
  * per breakpoint for each expanded item so that child properties can be scaled proportionally.
1949
+ * `skipFillFromIndex` leaves that item and later rows at their declared colSpan so a runtime
1950
+ * `visible` expression can collapse into the gap instead of stretching a later field at build time.
1945
1951
  */
1946
- function normalizeLayoutFillRowGaps(items, getLayout, getItemId) {
1952
+ function normalizeLayoutFillRowGaps(items, getLayout, getItemId, skipFillFromIndex) {
1947
1953
  const scaleFactors = new Map();
1948
1954
  if (items.length === 0)
1949
1955
  return scaleFactors;
@@ -1996,6 +2002,9 @@ function normalizeLayoutFillRowGaps(items, getLayout, getItemId) {
1996
2002
  }
1997
2003
  if (sequentialRowSum < GRID_COLUMNS && sequentialRowSum > 0 && i > rowStart) {
1998
2004
  const lastIdx = i - 1;
2005
+ if (skipFillFromIndex != null && lastIdx >= skipFillFromIndex) {
2006
+ continue;
2007
+ }
1999
2008
  const oldColSpan = getColSpanAt(getLayout(items[lastIdx]), breakpoint);
2000
2009
  const fill = GRID_COLUMNS - sequentialRowSum;
2001
2010
  const newColSpan = Math.min(GRID_COLUMNS, oldColSpan + fill);
@@ -8502,8 +8511,9 @@ class AXPEntityPreloadFiltersContainerComponent extends AXPPageLayoutBaseCompone
8502
8511
  operator,
8503
8512
  value: entry.value,
8504
8513
  };
8505
- if (isString(entry.displayText)) {
8506
- filterQuery.displayText = entry.displayText;
8514
+ const displayText = coerceFilterDisplayText(entry.displayText);
8515
+ if (displayText) {
8516
+ filterQuery.displayText = displayText;
8507
8517
  }
8508
8518
  filters.push(filterQuery);
8509
8519
  }
@@ -8524,7 +8534,7 @@ class AXPEntityPreloadFiltersContainerComponent extends AXPPageLayoutBaseCompone
8524
8534
  return {
8525
8535
  value: entry.value,
8526
8536
  operator: coercePreloadFilterOperator(entry.operation?.type),
8527
- displayText: isString(entry.displayText) ? entry.displayText : undefined,
8537
+ displayText: coerceFilterDisplayText(entry.displayText),
8528
8538
  };
8529
8539
  }
8530
8540
  buildListQueryFilter(filterQueries) {
@@ -11404,6 +11414,10 @@ class AXPEntityMasterListViewModel {
11404
11414
  const filtersChanged = await this.syncFiltersFromRouteQueryParam(queryParamMap.get('filters'));
11405
11415
  await this.refreshVisibleViews();
11406
11416
  const viewChanged = this.view().name !== previousViewName;
11417
+ // Query-filter chips follow toolbar `initialFilters`, re-seeded only when this epoch changes.
11418
+ if (viewChanged) {
11419
+ this.listFilterSeedEpoch.update((epoch) => epoch + 1);
11420
+ }
11407
11421
  if (filtersChanged || viewChanged || instanceChanged) {
11408
11422
  this.lastAppliedFilterKey = null;
11409
11423
  this.lastAppliedSortKey = null;
@@ -13821,7 +13835,7 @@ class AXMAttachmentsPageComponentProvider {
13821
13835
  return [
13822
13836
  {
13823
13837
  key: ATTACHMENTS_PAGE_COMPONENT_KEY,
13824
- loader: () => import('./acorex-platform-framework-client-layout-entity-attachments-page.component-CEtWy70B.mjs').then((m) => m.AXMAttachmentsPageComponent),
13838
+ loader: () => import('./acorex-platform-framework-client-layout-entity-attachments-page.component-CWeKcj8t.mjs').then((m) => m.AXMAttachmentsPageComponent),
13825
13839
  },
13826
13840
  ];
13827
13841
  }
@@ -14358,7 +14372,7 @@ class AXMGalleryPageComponentProvider {
14358
14372
  return [
14359
14373
  {
14360
14374
  key: GALLERY_PAGE_COMPONENT_KEY,
14361
- loader: () => import('./acorex-platform-framework-client-layout-entity-gallery-page.component-COjqVu_3.mjs').then((m) => m.AXMGalleryPageComponent),
14375
+ loader: () => import('./acorex-platform-framework-client-layout-entity-gallery-page.component-Pfp7Lw_A.mjs').then((m) => m.AXMGalleryPageComponent),
14362
14376
  },
14363
14377
  ];
14364
14378
  }
@@ -23792,6 +23806,8 @@ class AXPLookupWidgetEditComponent extends AXPValueWidgetComponent {
23792
23806
  ...(ngDevMode ? [{ debugName: "lookup" }] : /* istanbul ignore next */ []));
23793
23807
  this.tableLookupHost = viewChild(AXPLookupWidgetTableHostComponent, /* @ts-ignore */
23794
23808
  ...(ngDevMode ? [{ debugName: "tableLookupHost" }] : /* istanbul ignore next */ []));
23809
+ this.popupTagBox = viewChild('popupTagBox', /* @ts-ignore */
23810
+ ...(ngDevMode ? [{ debugName: "popupTagBox" }] : /* istanbul ignore next */ []));
23795
23811
  //#endregion
23796
23812
  //#region ----- State Signals -----
23797
23813
  /** Toggled to remount ax-lookup after locale / language changes. */
@@ -23863,8 +23879,10 @@ class AXPLookupWidgetEditComponent extends AXPValueWidgetComponent {
23863
23879
  ...(ngDevMode ? [{ debugName: "multiple" }] : /* istanbul ignore next */ []));
23864
23880
  this.look = computed(() => this.options()['look'] ?? 'lookup', /* @ts-ignore */
23865
23881
  ...(ngDevMode ? [{ debugName: "look" }] : /* istanbul ignore next */ []));
23882
+ this.isPopupLook = computed(() => this.look() === 'popup', /* @ts-ignore */
23883
+ ...(ngDevMode ? [{ debugName: "isPopupLook" }] : /* istanbul ignore next */ []));
23866
23884
  this.lookupMode = computed(() => {
23867
- if (this.entityDef()?.parentKey && this.look() !== 'select') {
23885
+ if (this.entityDef()?.parentKey && this.look() !== 'select' && this.look() !== 'popup') {
23868
23886
  return this.multiple() ? 'multi-select-tree' : 'multi-column-tree';
23869
23887
  }
23870
23888
  if (this.multiple()) {
@@ -23959,7 +23977,7 @@ class AXPLookupWidgetEditComponent extends AXPValueWidgetComponent {
23959
23977
  this.localeEpoch();
23960
23978
  this.customFilter();
23961
23979
  const entity = this.entityDef();
23962
- if (!entity?.parentKey || this.look() === 'select') {
23980
+ if (!entity?.parentKey || this.look() === 'select' || this.look() === 'popup') {
23963
23981
  return EMPTY_TREE_DATA_SOURCE;
23964
23982
  }
23965
23983
  if (this.hasPendingCascadeFilter()) {
@@ -24123,7 +24141,7 @@ class AXPLookupWidgetEditComponent extends AXPValueWidgetComponent {
24123
24141
  return;
24124
24142
  }
24125
24143
  const keys = items.map((item) => get(item, this.valueField()));
24126
- const text = items.map((item) => this.mlsResolver.resolve(get(item, displayField)));
24144
+ const labels = this.resolveSelectedDisplayLabels(items);
24127
24145
  const newValue = this.singleOrMultiple(keys);
24128
24146
  const widgetPath = this.fullPath();
24129
24147
  const savedWidgetValue = widgetPath ? this.contextService.getSavedValue(widgetPath) : undefined;
@@ -24139,7 +24157,7 @@ class AXPLookupWidgetEditComponent extends AXPValueWidgetComponent {
24139
24157
  if (this.filterMode()) {
24140
24158
  this.setValue({
24141
24159
  value: newValue,
24142
- displayText: text,
24160
+ displayText: this.multiple() ? labels.join(', ') : (labels[0] ?? ''),
24143
24161
  operation: {
24144
24162
  type: this.multiple() ? 'in' : 'equal',
24145
24163
  },
@@ -24210,6 +24228,108 @@ class AXPLookupWidgetEditComponent extends AXPValueWidgetComponent {
24210
24228
  }
24211
24229
  await this.executeCreate(mode);
24212
24230
  }
24231
+ handlePopupTriggerClick(event) {
24232
+ if (event instanceof MouseEvent) {
24233
+ event.stopPropagation();
24234
+ }
24235
+ void this.openPopupSelector();
24236
+ }
24237
+ handlePopupKeyUp(event) {
24238
+ const keyEvent = event.nativeEvent;
24239
+ if (keyEvent.code === 'Enter' || keyEvent.code === 'NumpadEnter' || keyEvent.code === 'ArrowDown') {
24240
+ void this.openPopupSelector();
24241
+ }
24242
+ }
24243
+ handlePopupBlur(_event) {
24244
+ this.popupTagBox()?.inputValue.set('');
24245
+ }
24246
+ handlePopupValueChange(event) {
24247
+ if (!event.isUserInteraction) {
24248
+ return;
24249
+ }
24250
+ if (isNil(event.value) || isEmpty(event.value)) {
24251
+ this.setItems([]);
24252
+ }
24253
+ }
24254
+ handlePopupClearClick() {
24255
+ this.setItems([]);
24256
+ }
24257
+ handlePopupRemoveItem(event, index) {
24258
+ event.stopPropagation();
24259
+ if (this.isLookupDisabled() || this.isReadonly()) {
24260
+ return;
24261
+ }
24262
+ const currentItems = this.selectedItems();
24263
+ if (index < 0 || index >= currentItems.length) {
24264
+ return;
24265
+ }
24266
+ const nextItems = currentItems.filter((_, i) => i !== index);
24267
+ this.setItems(nextItems);
24268
+ }
24269
+ //#endregion
24270
+ //#region ----- Popup Selector -----
24271
+ async openPopupSelector() {
24272
+ if (this.isLookupDisabled() || this.isReadonly() || this.isLoading()) {
24273
+ return;
24274
+ }
24275
+ const entity = this.entityDef();
24276
+ if (!entity) {
24277
+ return;
24278
+ }
24279
+ this.isLoading.set(true);
24280
+ try {
24281
+ const hydration = this.getHydrationOptions();
24282
+ const selectedItemIds = getLookupSelectionIds(this.getValue(), hydration);
24283
+ const resolvedCreate = this.resolvedCreate();
24284
+ const title = this.mlsResolver.resolve(entity.title) || entity.name;
24285
+ const rowActions = this.options()['rowActions'];
24286
+ const result = await this.entityDataSelectorService.open({
24287
+ entity,
24288
+ title,
24289
+ selection: {
24290
+ multiple: this.multiple(),
24291
+ selectedItemIds,
24292
+ allowUnselect: true,
24293
+ },
24294
+ grid: {
24295
+ columns: this.columns().length ? this.columns() : undefined,
24296
+ },
24297
+ filter: {
24298
+ value: this.customFilter(),
24299
+ },
24300
+ create: resolvedCreate.enabled
24301
+ ? {
24302
+ enable: true,
24303
+ mode: resolvedCreate.mode === 'none' ? undefined : resolvedCreate.mode,
24304
+ context: resolvedCreate.context,
24305
+ title: resolvedCreate.title,
24306
+ }
24307
+ : { enable: false },
24308
+ contextStore: this.contextService,
24309
+ rowActions,
24310
+ });
24311
+ if (result == null) {
24312
+ return;
24313
+ }
24314
+ const items = result.items ?? [];
24315
+ const entityKey = this.entity();
24316
+ const valueField = this.valueField();
24317
+ for (const item of items) {
24318
+ const key = get(item, valueField);
24319
+ if (key != null) {
24320
+ this.lookupByKeyCache.remember(entityKey, key, item);
24321
+ }
24322
+ }
24323
+ const decorated = await Promise.all(items.map((item) => this.decorateLookupItem(item)));
24324
+ this.handleComponentValueChanged(decorated);
24325
+ }
24326
+ catch (error) {
24327
+ console.error('[LookupWidget] popup selector failed:', error);
24328
+ }
24329
+ finally {
24330
+ this.isLoading.set(false);
24331
+ }
24332
+ }
24213
24333
  async findByValue() {
24214
24334
  const rawValue = this.getValue();
24215
24335
  const hydration = this.getHydrationOptions();
@@ -24492,17 +24612,31 @@ class AXPLookupWidgetEditComponent extends AXPValueWidgetComponent {
24492
24612
  if (!items.length) {
24493
24613
  return false;
24494
24614
  }
24495
- const displayField = this.displayField();
24496
24615
  const valueField = this.valueField();
24497
24616
  return items.every((item) => {
24498
24617
  if (item == null || typeof item !== 'object') {
24499
24618
  return false;
24500
24619
  }
24501
24620
  const id = get(item, valueField);
24502
- const title = get(item, displayField);
24503
- return id != null && title === id;
24621
+ const label = this.resolveSelectedDisplayLabels([item])[0] ?? '';
24622
+ return id != null && (label.length === 0 || label === String(id));
24504
24623
  });
24505
24624
  }
24625
+ /** Label shown in the lookup list (`textField` / formatted text), never the raw value key. */
24626
+ resolveSelectedDisplayLabels(items) {
24627
+ return items
24628
+ .map((item) => {
24629
+ if (item == null || typeof item !== 'object') {
24630
+ return '';
24631
+ }
24632
+ const label = this.getLookupItemLabel(item);
24633
+ if (label != null && typeof label === 'object') {
24634
+ return this.mlsResolver.resolve(label).trim();
24635
+ }
24636
+ return String(label ?? '').trim();
24637
+ })
24638
+ .filter((label) => label.length > 0);
24639
+ }
24506
24640
  //#endregion
24507
24641
  //#region ----- Component Methods -----
24508
24642
  async refresh() {
@@ -24512,20 +24646,34 @@ class AXPLookupWidgetEditComponent extends AXPValueWidgetComponent {
24512
24646
  }
24513
24647
  clear() {
24514
24648
  this.selectedItems.set([]);
24649
+ this.popupTagBox()?.reset(false);
24515
24650
  this.tableLookupHost()?.reset(false) ?? this.lookup()?.reset(false);
24516
24651
  }
24517
24652
  focus() {
24518
24653
  this.shouldFocus.set(true);
24519
24654
  }
24520
24655
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXPLookupWidgetEditComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
24521
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: AXPLookupWidgetEditComponent, isStandalone: true, selector: "axp-lookup-widget-edit", host: { classAttribute: "w-full" }, viewQueries: [{ propertyName: "lookup", first: true, predicate: AXLookupComponent, descendants: true, isSignal: true }, { propertyName: "tableLookupHost", first: true, predicate: AXPLookupWidgetTableHostComponent, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "@if (entityDef() && editorKey()) {\n <!-- ----- Entity lookup editor ----- -->\n <div class=\"flex items-center gap-1 w-full\">\n <!--------------------------------------------------------------->\n @if (effectiveDataSource(); as dataSource) {\n <!-- ----- Multi-column modes: platform widget column renderer ----- -->\n @if (isTableLookupMode()) {\n <axp-lookup-widget-table-host\n class=\"flex-1 min-w-0\"\n [name]=\"name ?? ''\"\n [placeholder]=\"(placeholderText() | translate | async) ?? ''\"\n [caption]=\"(placeholderText() | translate | async) ?? ''\"\n [searchPlaceholder]=\"('@general:widgets.lookup.search.placeholder' | translate | async) ?? ''\"\n [dataSource]=\"dataSource\"\n [columns]=\"lookupWidgetTableColumns()\"\n [valueField]=\"valueField()\"\n [textField]=\"displayField()\"\n [disabledField]=\"'disabled'\"\n [parentField]=\"lookupMode() === 'multi-column-tree' ? treeParentField() : undefined\"\n [treeDataSource]=\"lookupMode() === 'multi-column-tree' ? entityTreeDataSource() : undefined\"\n [searchFields]=\"lookupTreeSearchFields()\"\n [value]=\"boundValue()\"\n [valueItems]=\"selectedItems()\"\n [disabled]=\"isLookupDisabled()\"\n [readonly]=\"isReadonly()\"\n [searchable]=\"true\"\n [selectedTemplate]=\"lookupItemTemplate\"\n (valueChange)=\"handleLookupModelChange($event)\"\n (onItemSelected)=\"handleLookupItemSelected($event)\"\n >\n @if (hasClearButton()) {\n <ax-clear-button></ax-clear-button>\n }\n @for (validation of validationRules(); track $index) {\n <ax-validation-rule\n [rule]=\"validation.rule\"\n [message]=\"$safeNavigationMigration(validation.options?.message)\"\n [options]=\"validation.options\"\n ></ax-validation-rule>\n }\n </axp-lookup-widget-table-host>\n }\n <!-- ----- List / tree chip modes: ax-lookup ----- -->\n @else {\n <ax-lookup\n class=\"flex-1 min-w-0\"\n [name]=\"name ?? ''\"\n [placeholder]=\"(placeholderText() | translate | async) ?? ''\"\n [caption]=\"(placeholderText() | translate | async) ?? ''\"\n [searchPlaceholder]=\"('@general:widgets.lookup.search.placeholder' | translate | async) ?? ''\"\n [mode]=\"lookupMode()\"\n [treeParentField]=\"treeParentField()\"\n [dataSource]=\"dataSource\"\n [treeDataSource]=\"entityTreeDataSource()\"\n [valueField]=\"valueField()\"\n [textField]=\"displayField()\"\n [value]=\"boundValue()\"\n [valueItems]=\"selectedItems()\"\n [disabled]=\"isLookupDisabled()\"\n [readonly]=\"isReadonly()\"\n [searchable]=\"true\"\n [itemTemplate]=\"$any(multiple() ? lookupItemTemplate : lookupDropDownListItemTemplate)\"\n [selectedTemplate]=\"lookupItemTemplate\"\n (valueChange)=\"handleLookupModelChange($event)\"\n (onItemSelected)=\"handleLookupItemSelected($event)\"\n >\n @if (hasClearButton()) {\n <ax-clear-button></ax-clear-button>\n }\n @for (validation of validationRules(); track $index) {\n <ax-validation-rule\n [rule]=\"validation.rule\"\n [message]=\"$safeNavigationMigration(validation.options?.message)\"\n [options]=\"validation.options\"\n ></ax-validation-rule>\n }\n </ax-lookup>\n }\n }\n <!--------------------------------------------------------------->\n <!-- ----- Inline create for the lookup entity ----- -->\n @if (resolvedCreate().enabled) {\n <ax-button\n color=\"primary\"\n look=\"twotone\"\n [disabled]=\"isLookupDisabled() || isLoading()\"\n (onClick)=\"handleCreateClick($event)\"\n [title]=\"'@general:actions.create.title' | translate | async\"\n >\n <ax-icon icon=\"far fa-plus\"></ax-icon>\n </ax-button>\n }\n </div>\n}\n\n<!-- ----- Lookup item and selected-value label ----- -->\n<ng-template #lookupItemTemplate let-item let-highlightText=\"highlightText\">\n <span class=\"ax-lookup-option-text\">\n <ax-highlight-text\n [text]=\"(getLookupItemLabel(item) | translate | async) ?? ''\"\n [query]=\"highlightText ?? ''\"\n ></ax-highlight-text>\n </span>\n</ng-template>\n<!-- ----- Drop-down-list rows: library skips .ax-lookup-option chrome when itemTemplate is set ----- -->\n<ng-template #lookupDropDownListItemTemplate let-item let-highlightText=\"highlightText\">\n <span class=\"flex h-full w-full min-w-0 items-center px-3 text-sm\">\n <span class=\"ax-lookup-option-text min-w-0 flex-1 truncate\">\n <ax-highlight-text\n [text]=\"(getLookupItemLabel(item) | translate | async) ?? ''\"\n [query]=\"highlightText ?? ''\"\n ></ax-highlight-text>\n </span>\n </span>\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i3.AXDecoratorClearButtonComponent, selector: "ax-clear-button", inputs: ["icon"] }, { kind: "ngmodule", type: AXFormModule }, { kind: "directive", type: i5.AXValidationRuleDirective, selector: "ax-validation-rule", inputs: ["rule", "options", "message", "disabled"] }, { kind: "component", type: AXHighlightTextComponent, selector: "ax-highlight-text", inputs: ["text", "query", "highlightDisabled", "highlightOptions"] }, { kind: "component", type: AXLookupComponent, selector: "ax-lookup", inputs: ["name", "mode", "dataSource", "treeDataSource", "valueField", "textField", "disabledField", "columns", "treeParentField", "hasChildrenField", "searchable", "adaptivityEnabled", "caption", "alternate", "searchPlaceholder", "placeholder", "disabled", "readonly", "look", "itemHeight", "maxVisibleItems", "treeSelectionBehavior", "highlightSearch", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "value", "valueItems"], outputs: ["lookChange", "valueChange", "onValueChanged", "onSelectionChanged", "onFocus", "onBlur", "onItemClick", "onItemSelected", "onOpened", "onClosed"] }, { kind: "component", type: AXPLookupWidgetTableHostComponent, selector: "axp-lookup-widget-table-host", inputs: ["name", "placeholder", "caption", "searchPlaceholder", "dataSource", "treeDataSource", "columns", "valueField", "textField", "disabledField", "parentField", "hasChildrenField", "searchFields", "value", "valueItems", "disabled", "readonly", "searchable", "selectedTemplate"], outputs: ["valueChange", "onItemSelected"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "ngmodule", type: AXValidationModule }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: i3$1.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
24656
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: AXPLookupWidgetEditComponent, isStandalone: true, selector: "axp-lookup-widget-edit", host: { classAttribute: "w-full" }, viewQueries: [{ propertyName: "lookup", first: true, predicate: AXLookupComponent, descendants: true, isSignal: true }, { propertyName: "tableLookupHost", first: true, predicate: AXPLookupWidgetTableHostComponent, descendants: true, isSignal: true }, { propertyName: "popupTagBox", first: true, predicate: ["popupTagBox"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "@if (entityDef() && editorKey()) {\n <!-- ----- Entity lookup editor ----- -->\n <div class=\"flex items-center gap-1 w-full\">\n <!--------------------------------------------------------------->\n <!-- ----- Popup look: full entity data selector ----- -->\n @if (isPopupLook()) {\n <ax-tag-box\n #popupTagBox\n class=\"flex-1 min-w-0\"\n [tagTemplate]=\"popupTagTemplate\"\n [ngModel]=\"selectedItems()\"\n [textField]=\"displayField()\"\n [valueField]=\"valueField()\"\n (onValueChanged)=\"handlePopupValueChange($event)\"\n [placeholder]=\"selectedItems().length ? '' : ((placeholderText() | translate | async) ?? '')\"\n [addOnEnter]=\"false\"\n [addOnComma]=\"false\"\n [readonly]=\"true\"\n [disabled]=\"isLookupDisabled()\"\n (click)=\"handlePopupTriggerClick($event)\"\n (onKeyUp)=\"handlePopupKeyUp($event)\"\n (onBlur)=\"handlePopupBlur($event)\"\n >\n @if (hasClearButton() && selectedItems().length > 0) {\n <ax-clear-button (click)=\"handlePopupClearClick()\"></ax-clear-button>\n }\n @for (validation of validationRules(); track $index) {\n <ax-validation-rule\n [rule]=\"validation.rule\"\n [message]=\"$safeNavigationMigration(validation.options?.message)\"\n [options]=\"validation.options\"\n ></ax-validation-rule>\n }\n <ax-suffix>\n <ax-button\n color=\"ghost\"\n look=\"blank\"\n [disabled]=\"isLookupDisabled() || isReadonly() || isLoading()\"\n (onClick)=\"handlePopupTriggerClick($event)\"\n >\n @if (isLoading()) {\n <ax-loading></ax-loading>\n }\n <!-- ----- Search icon opens entity selector ----- -->\n @else {\n <ax-icon icon=\"far fa-search\"></ax-icon>\n }\n </ax-button>\n </ax-suffix>\n </ax-tag-box>\n }\n <!-- ----- Inline ax-lookup / table host ----- -->\n @else if (effectiveDataSource(); as dataSource) {\n <!-- ----- Multi-column modes: platform widget column renderer ----- -->\n @if (isTableLookupMode()) {\n <axp-lookup-widget-table-host\n class=\"flex-1 min-w-0\"\n [name]=\"name ?? ''\"\n [placeholder]=\"(placeholderText() | translate | async) ?? ''\"\n [caption]=\"(placeholderText() | translate | async) ?? ''\"\n [searchPlaceholder]=\"('@general:widgets.lookup.search.placeholder' | translate | async) ?? ''\"\n [dataSource]=\"dataSource\"\n [columns]=\"lookupWidgetTableColumns()\"\n [valueField]=\"valueField()\"\n [textField]=\"displayField()\"\n [disabledField]=\"'disabled'\"\n [parentField]=\"lookupMode() === 'multi-column-tree' ? treeParentField() : undefined\"\n [treeDataSource]=\"lookupMode() === 'multi-column-tree' ? entityTreeDataSource() : undefined\"\n [searchFields]=\"lookupTreeSearchFields()\"\n [value]=\"boundValue()\"\n [valueItems]=\"selectedItems()\"\n [disabled]=\"isLookupDisabled()\"\n [readonly]=\"isReadonly()\"\n [searchable]=\"true\"\n [selectedTemplate]=\"lookupItemTemplate\"\n (valueChange)=\"handleLookupModelChange($event)\"\n (onItemSelected)=\"handleLookupItemSelected($event)\"\n >\n @if (hasClearButton()) {\n <ax-clear-button></ax-clear-button>\n }\n @for (validation of validationRules(); track $index) {\n <ax-validation-rule\n [rule]=\"validation.rule\"\n [message]=\"$safeNavigationMigration(validation.options?.message)\"\n [options]=\"validation.options\"\n ></ax-validation-rule>\n }\n </axp-lookup-widget-table-host>\n }\n <!-- ----- List / tree chip modes: ax-lookup ----- -->\n @else {\n <ax-lookup\n class=\"flex-1 min-w-0\"\n [name]=\"name ?? ''\"\n [placeholder]=\"(placeholderText() | translate | async) ?? ''\"\n [caption]=\"(placeholderText() | translate | async) ?? ''\"\n [searchPlaceholder]=\"('@general:widgets.lookup.search.placeholder' | translate | async) ?? ''\"\n [mode]=\"lookupMode()\"\n [treeParentField]=\"treeParentField()\"\n [dataSource]=\"dataSource\"\n [treeDataSource]=\"entityTreeDataSource()\"\n [valueField]=\"valueField()\"\n [textField]=\"displayField()\"\n [value]=\"boundValue()\"\n [valueItems]=\"selectedItems()\"\n [disabled]=\"isLookupDisabled()\"\n [readonly]=\"isReadonly()\"\n [searchable]=\"true\"\n [itemTemplate]=\"$any(multiple() ? lookupItemTemplate : lookupDropDownListItemTemplate)\"\n [selectedTemplate]=\"lookupItemTemplate\"\n (valueChange)=\"handleLookupModelChange($event)\"\n (onItemSelected)=\"handleLookupItemSelected($event)\"\n >\n @if (hasClearButton()) {\n <ax-clear-button></ax-clear-button>\n }\n @for (validation of validationRules(); track $index) {\n <ax-validation-rule\n [rule]=\"validation.rule\"\n [message]=\"$safeNavigationMigration(validation.options?.message)\"\n [options]=\"validation.options\"\n ></ax-validation-rule>\n }\n </ax-lookup>\n }\n }\n <!--------------------------------------------------------------->\n <!-- ----- Inline create for the lookup entity ----- -->\n @if (resolvedCreate().enabled) {\n <ax-button\n color=\"primary\"\n look=\"twotone\"\n [disabled]=\"isLookupDisabled() || isLoading()\"\n (onClick)=\"handleCreateClick($event)\"\n [title]=\"'@general:actions.create.title' | translate | async\"\n >\n <ax-icon icon=\"far fa-plus\"></ax-icon>\n </ax-button>\n }\n </div>\n}\n\n<!-- ----- Lookup item and selected-value label ----- -->\n<ng-template #lookupItemTemplate let-item let-highlightText=\"highlightText\">\n <span class=\"ax-lookup-option-text\">\n <ax-highlight-text\n [text]=\"(getLookupItemLabel(item) | translate | async) ?? ''\"\n [query]=\"highlightText ?? ''\"\n ></ax-highlight-text>\n </span>\n</ng-template>\n<!-- ----- Drop-down-list rows: library skips .ax-lookup-option chrome when itemTemplate is set ----- -->\n<ng-template #lookupDropDownListItemTemplate let-item let-highlightText=\"highlightText\">\n <span class=\"flex h-full w-full min-w-0 items-center px-3 text-sm\">\n <span class=\"ax-lookup-option-text min-w-0 flex-1 truncate\">\n <ax-highlight-text\n [text]=\"(getLookupItemLabel(item) | translate | async) ?? ''\"\n [query]=\"highlightText ?? ''\"\n ></ax-highlight-text>\n </span>\n </span>\n</ng-template>\n<!-- ----- Popup look selected chips ----- -->\n<ng-template #popupTagTemplate let-item let-index=\"index\">\n <div class=\"inline-flex items-center gap-1.5 rounded-md px-3 py-1 text-sm surface\">\n <span>{{ (getLookupItemLabel(item) | translate | async) ?? '' }}</span>\n @if (!isReadonly() && !isLookupDisabled()) {\n <button type=\"button\" (click)=\"handlePopupRemoveItem($event, index)\">\n <ax-icon class=\"ax-icon ax-icon-close\"></ax-icon>\n </button>\n }\n </div>\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i3.AXDecoratorClearButtonComponent, selector: "ax-clear-button", inputs: ["icon"] }, { kind: "component", type: i3.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXFormModule }, { kind: "directive", type: i5.AXValidationRuleDirective, selector: "ax-validation-rule", inputs: ["rule", "options", "message", "disabled"] }, { kind: "component", type: AXHighlightTextComponent, selector: "ax-highlight-text", inputs: ["text", "query", "highlightDisabled", "highlightOptions"] }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "component", type: i1$2.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "component", type: AXLookupComponent, selector: "ax-lookup", inputs: ["name", "mode", "dataSource", "treeDataSource", "valueField", "textField", "disabledField", "columns", "treeParentField", "hasChildrenField", "searchable", "adaptivityEnabled", "caption", "alternate", "searchPlaceholder", "placeholder", "disabled", "readonly", "look", "itemHeight", "maxVisibleItems", "treeSelectionBehavior", "highlightSearch", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "value", "valueItems"], outputs: ["lookChange", "valueChange", "onValueChanged", "onSelectionChanged", "onFocus", "onBlur", "onItemClick", "onItemSelected", "onOpened", "onClosed"] }, { kind: "component", type: AXPLookupWidgetTableHostComponent, selector: "axp-lookup-widget-table-host", inputs: ["name", "placeholder", "caption", "searchPlaceholder", "dataSource", "treeDataSource", "columns", "valueField", "textField", "disabledField", "parentField", "hasChildrenField", "searchFields", "value", "valueItems", "disabled", "readonly", "searchable", "selectedTemplate"], outputs: ["valueChange", "onItemSelected"] }, { kind: "ngmodule", type: AXTagBoxModule }, { kind: "component", type: i6$1.AXTagBoxComponent, selector: "ax-tag-box", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "id", "placeholder", "allowNull", "type", "look", "addOnComma", "addOnEnter", "valueField", "textField", "readonlyField", "allowDuplicateValues", "tagTemplate"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress", "onTagClick", "onTagDblClick", "onTagContextMenu"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "ngmodule", type: AXValidationModule }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: i3$1.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
24522
24657
  }
24523
24658
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXPLookupWidgetEditComponent, decorators: [{
24524
24659
  type: Component,
24525
24660
  args: [{ selector: 'axp-lookup-widget-edit', host: {
24526
24661
  class: 'w-full',
24527
- }, changeDetection: ChangeDetectionStrategy.OnPush, imports: [AsyncPipe, AXButtonModule, AXDecoratorModule, AXFormModule, AXHighlightTextComponent, AXLookupComponent, AXPLookupWidgetTableHostComponent, AXTranslationModule, AXValidationModule], template: "@if (entityDef() && editorKey()) {\n <!-- ----- Entity lookup editor ----- -->\n <div class=\"flex items-center gap-1 w-full\">\n <!--------------------------------------------------------------->\n @if (effectiveDataSource(); as dataSource) {\n <!-- ----- Multi-column modes: platform widget column renderer ----- -->\n @if (isTableLookupMode()) {\n <axp-lookup-widget-table-host\n class=\"flex-1 min-w-0\"\n [name]=\"name ?? ''\"\n [placeholder]=\"(placeholderText() | translate | async) ?? ''\"\n [caption]=\"(placeholderText() | translate | async) ?? ''\"\n [searchPlaceholder]=\"('@general:widgets.lookup.search.placeholder' | translate | async) ?? ''\"\n [dataSource]=\"dataSource\"\n [columns]=\"lookupWidgetTableColumns()\"\n [valueField]=\"valueField()\"\n [textField]=\"displayField()\"\n [disabledField]=\"'disabled'\"\n [parentField]=\"lookupMode() === 'multi-column-tree' ? treeParentField() : undefined\"\n [treeDataSource]=\"lookupMode() === 'multi-column-tree' ? entityTreeDataSource() : undefined\"\n [searchFields]=\"lookupTreeSearchFields()\"\n [value]=\"boundValue()\"\n [valueItems]=\"selectedItems()\"\n [disabled]=\"isLookupDisabled()\"\n [readonly]=\"isReadonly()\"\n [searchable]=\"true\"\n [selectedTemplate]=\"lookupItemTemplate\"\n (valueChange)=\"handleLookupModelChange($event)\"\n (onItemSelected)=\"handleLookupItemSelected($event)\"\n >\n @if (hasClearButton()) {\n <ax-clear-button></ax-clear-button>\n }\n @for (validation of validationRules(); track $index) {\n <ax-validation-rule\n [rule]=\"validation.rule\"\n [message]=\"$safeNavigationMigration(validation.options?.message)\"\n [options]=\"validation.options\"\n ></ax-validation-rule>\n }\n </axp-lookup-widget-table-host>\n }\n <!-- ----- List / tree chip modes: ax-lookup ----- -->\n @else {\n <ax-lookup\n class=\"flex-1 min-w-0\"\n [name]=\"name ?? ''\"\n [placeholder]=\"(placeholderText() | translate | async) ?? ''\"\n [caption]=\"(placeholderText() | translate | async) ?? ''\"\n [searchPlaceholder]=\"('@general:widgets.lookup.search.placeholder' | translate | async) ?? ''\"\n [mode]=\"lookupMode()\"\n [treeParentField]=\"treeParentField()\"\n [dataSource]=\"dataSource\"\n [treeDataSource]=\"entityTreeDataSource()\"\n [valueField]=\"valueField()\"\n [textField]=\"displayField()\"\n [value]=\"boundValue()\"\n [valueItems]=\"selectedItems()\"\n [disabled]=\"isLookupDisabled()\"\n [readonly]=\"isReadonly()\"\n [searchable]=\"true\"\n [itemTemplate]=\"$any(multiple() ? lookupItemTemplate : lookupDropDownListItemTemplate)\"\n [selectedTemplate]=\"lookupItemTemplate\"\n (valueChange)=\"handleLookupModelChange($event)\"\n (onItemSelected)=\"handleLookupItemSelected($event)\"\n >\n @if (hasClearButton()) {\n <ax-clear-button></ax-clear-button>\n }\n @for (validation of validationRules(); track $index) {\n <ax-validation-rule\n [rule]=\"validation.rule\"\n [message]=\"$safeNavigationMigration(validation.options?.message)\"\n [options]=\"validation.options\"\n ></ax-validation-rule>\n }\n </ax-lookup>\n }\n }\n <!--------------------------------------------------------------->\n <!-- ----- Inline create for the lookup entity ----- -->\n @if (resolvedCreate().enabled) {\n <ax-button\n color=\"primary\"\n look=\"twotone\"\n [disabled]=\"isLookupDisabled() || isLoading()\"\n (onClick)=\"handleCreateClick($event)\"\n [title]=\"'@general:actions.create.title' | translate | async\"\n >\n <ax-icon icon=\"far fa-plus\"></ax-icon>\n </ax-button>\n }\n </div>\n}\n\n<!-- ----- Lookup item and selected-value label ----- -->\n<ng-template #lookupItemTemplate let-item let-highlightText=\"highlightText\">\n <span class=\"ax-lookup-option-text\">\n <ax-highlight-text\n [text]=\"(getLookupItemLabel(item) | translate | async) ?? ''\"\n [query]=\"highlightText ?? ''\"\n ></ax-highlight-text>\n </span>\n</ng-template>\n<!-- ----- Drop-down-list rows: library skips .ax-lookup-option chrome when itemTemplate is set ----- -->\n<ng-template #lookupDropDownListItemTemplate let-item let-highlightText=\"highlightText\">\n <span class=\"flex h-full w-full min-w-0 items-center px-3 text-sm\">\n <span class=\"ax-lookup-option-text min-w-0 flex-1 truncate\">\n <ax-highlight-text\n [text]=\"(getLookupItemLabel(item) | translate | async) ?? ''\"\n [query]=\"highlightText ?? ''\"\n ></ax-highlight-text>\n </span>\n </span>\n</ng-template>\n" }]
24528
- }], propDecorators: { lookup: [{ type: i0.ViewChild, args: [i0.forwardRef(() => AXLookupComponent), { isSignal: true }] }], tableLookupHost: [{ type: i0.ViewChild, args: [i0.forwardRef(() => AXPLookupWidgetTableHostComponent), { isSignal: true }] }] } });
24662
+ }, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
24663
+ AsyncPipe,
24664
+ FormsModule,
24665
+ AXButtonModule,
24666
+ AXDecoratorModule,
24667
+ AXFormModule,
24668
+ AXHighlightTextComponent,
24669
+ AXLoadingModule,
24670
+ AXLookupComponent,
24671
+ AXPLookupWidgetTableHostComponent,
24672
+ AXTagBoxModule,
24673
+ AXTranslationModule,
24674
+ AXValidationModule,
24675
+ ], template: "@if (entityDef() && editorKey()) {\n <!-- ----- Entity lookup editor ----- -->\n <div class=\"flex items-center gap-1 w-full\">\n <!--------------------------------------------------------------->\n <!-- ----- Popup look: full entity data selector ----- -->\n @if (isPopupLook()) {\n <ax-tag-box\n #popupTagBox\n class=\"flex-1 min-w-0\"\n [tagTemplate]=\"popupTagTemplate\"\n [ngModel]=\"selectedItems()\"\n [textField]=\"displayField()\"\n [valueField]=\"valueField()\"\n (onValueChanged)=\"handlePopupValueChange($event)\"\n [placeholder]=\"selectedItems().length ? '' : ((placeholderText() | translate | async) ?? '')\"\n [addOnEnter]=\"false\"\n [addOnComma]=\"false\"\n [readonly]=\"true\"\n [disabled]=\"isLookupDisabled()\"\n (click)=\"handlePopupTriggerClick($event)\"\n (onKeyUp)=\"handlePopupKeyUp($event)\"\n (onBlur)=\"handlePopupBlur($event)\"\n >\n @if (hasClearButton() && selectedItems().length > 0) {\n <ax-clear-button (click)=\"handlePopupClearClick()\"></ax-clear-button>\n }\n @for (validation of validationRules(); track $index) {\n <ax-validation-rule\n [rule]=\"validation.rule\"\n [message]=\"$safeNavigationMigration(validation.options?.message)\"\n [options]=\"validation.options\"\n ></ax-validation-rule>\n }\n <ax-suffix>\n <ax-button\n color=\"ghost\"\n look=\"blank\"\n [disabled]=\"isLookupDisabled() || isReadonly() || isLoading()\"\n (onClick)=\"handlePopupTriggerClick($event)\"\n >\n @if (isLoading()) {\n <ax-loading></ax-loading>\n }\n <!-- ----- Search icon opens entity selector ----- -->\n @else {\n <ax-icon icon=\"far fa-search\"></ax-icon>\n }\n </ax-button>\n </ax-suffix>\n </ax-tag-box>\n }\n <!-- ----- Inline ax-lookup / table host ----- -->\n @else if (effectiveDataSource(); as dataSource) {\n <!-- ----- Multi-column modes: platform widget column renderer ----- -->\n @if (isTableLookupMode()) {\n <axp-lookup-widget-table-host\n class=\"flex-1 min-w-0\"\n [name]=\"name ?? ''\"\n [placeholder]=\"(placeholderText() | translate | async) ?? ''\"\n [caption]=\"(placeholderText() | translate | async) ?? ''\"\n [searchPlaceholder]=\"('@general:widgets.lookup.search.placeholder' | translate | async) ?? ''\"\n [dataSource]=\"dataSource\"\n [columns]=\"lookupWidgetTableColumns()\"\n [valueField]=\"valueField()\"\n [textField]=\"displayField()\"\n [disabledField]=\"'disabled'\"\n [parentField]=\"lookupMode() === 'multi-column-tree' ? treeParentField() : undefined\"\n [treeDataSource]=\"lookupMode() === 'multi-column-tree' ? entityTreeDataSource() : undefined\"\n [searchFields]=\"lookupTreeSearchFields()\"\n [value]=\"boundValue()\"\n [valueItems]=\"selectedItems()\"\n [disabled]=\"isLookupDisabled()\"\n [readonly]=\"isReadonly()\"\n [searchable]=\"true\"\n [selectedTemplate]=\"lookupItemTemplate\"\n (valueChange)=\"handleLookupModelChange($event)\"\n (onItemSelected)=\"handleLookupItemSelected($event)\"\n >\n @if (hasClearButton()) {\n <ax-clear-button></ax-clear-button>\n }\n @for (validation of validationRules(); track $index) {\n <ax-validation-rule\n [rule]=\"validation.rule\"\n [message]=\"$safeNavigationMigration(validation.options?.message)\"\n [options]=\"validation.options\"\n ></ax-validation-rule>\n }\n </axp-lookup-widget-table-host>\n }\n <!-- ----- List / tree chip modes: ax-lookup ----- -->\n @else {\n <ax-lookup\n class=\"flex-1 min-w-0\"\n [name]=\"name ?? ''\"\n [placeholder]=\"(placeholderText() | translate | async) ?? ''\"\n [caption]=\"(placeholderText() | translate | async) ?? ''\"\n [searchPlaceholder]=\"('@general:widgets.lookup.search.placeholder' | translate | async) ?? ''\"\n [mode]=\"lookupMode()\"\n [treeParentField]=\"treeParentField()\"\n [dataSource]=\"dataSource\"\n [treeDataSource]=\"entityTreeDataSource()\"\n [valueField]=\"valueField()\"\n [textField]=\"displayField()\"\n [value]=\"boundValue()\"\n [valueItems]=\"selectedItems()\"\n [disabled]=\"isLookupDisabled()\"\n [readonly]=\"isReadonly()\"\n [searchable]=\"true\"\n [itemTemplate]=\"$any(multiple() ? lookupItemTemplate : lookupDropDownListItemTemplate)\"\n [selectedTemplate]=\"lookupItemTemplate\"\n (valueChange)=\"handleLookupModelChange($event)\"\n (onItemSelected)=\"handleLookupItemSelected($event)\"\n >\n @if (hasClearButton()) {\n <ax-clear-button></ax-clear-button>\n }\n @for (validation of validationRules(); track $index) {\n <ax-validation-rule\n [rule]=\"validation.rule\"\n [message]=\"$safeNavigationMigration(validation.options?.message)\"\n [options]=\"validation.options\"\n ></ax-validation-rule>\n }\n </ax-lookup>\n }\n }\n <!--------------------------------------------------------------->\n <!-- ----- Inline create for the lookup entity ----- -->\n @if (resolvedCreate().enabled) {\n <ax-button\n color=\"primary\"\n look=\"twotone\"\n [disabled]=\"isLookupDisabled() || isLoading()\"\n (onClick)=\"handleCreateClick($event)\"\n [title]=\"'@general:actions.create.title' | translate | async\"\n >\n <ax-icon icon=\"far fa-plus\"></ax-icon>\n </ax-button>\n }\n </div>\n}\n\n<!-- ----- Lookup item and selected-value label ----- -->\n<ng-template #lookupItemTemplate let-item let-highlightText=\"highlightText\">\n <span class=\"ax-lookup-option-text\">\n <ax-highlight-text\n [text]=\"(getLookupItemLabel(item) | translate | async) ?? ''\"\n [query]=\"highlightText ?? ''\"\n ></ax-highlight-text>\n </span>\n</ng-template>\n<!-- ----- Drop-down-list rows: library skips .ax-lookup-option chrome when itemTemplate is set ----- -->\n<ng-template #lookupDropDownListItemTemplate let-item let-highlightText=\"highlightText\">\n <span class=\"flex h-full w-full min-w-0 items-center px-3 text-sm\">\n <span class=\"ax-lookup-option-text min-w-0 flex-1 truncate\">\n <ax-highlight-text\n [text]=\"(getLookupItemLabel(item) | translate | async) ?? ''\"\n [query]=\"highlightText ?? ''\"\n ></ax-highlight-text>\n </span>\n </span>\n</ng-template>\n<!-- ----- Popup look selected chips ----- -->\n<ng-template #popupTagTemplate let-item let-index=\"index\">\n <div class=\"inline-flex items-center gap-1.5 rounded-md px-3 py-1 text-sm surface\">\n <span>{{ (getLookupItemLabel(item) | translate | async) ?? '' }}</span>\n @if (!isReadonly() && !isLookupDisabled()) {\n <button type=\"button\" (click)=\"handlePopupRemoveItem($event, index)\">\n <ax-icon class=\"ax-icon ax-icon-close\"></ax-icon>\n </button>\n }\n </div>\n</ng-template>\n" }]
24676
+ }], propDecorators: { lookup: [{ type: i0.ViewChild, args: [i0.forwardRef(() => AXLookupComponent), { isSignal: true }] }], tableLookupHost: [{ type: i0.ViewChild, args: [i0.forwardRef(() => AXPLookupWidgetTableHostComponent), { isSignal: true }] }], popupTagBox: [{ type: i0.ViewChild, args: ['popupTagBox', { isSignal: true }] }] } });
24529
24677
 
24530
24678
  var lookupWidgetEdit_component = /*#__PURE__*/Object.freeze({
24531
24679
  __proto__: null,
@@ -31835,7 +31983,7 @@ class AXPEntityModule {
31835
31983
  },
31836
31984
  {
31837
31985
  key: 'Entity:Bulk',
31838
- command: () => import('./acorex-platform-framework-client-layout-entity-bulk-entity.command-BnH5XK5M.mjs').then((c) => c.AXPBulkEntityCommand),
31986
+ command: () => import('./acorex-platform-framework-client-layout-entity-bulk-entity.command-CgsgFxT8.mjs').then((c) => c.AXPBulkEntityCommand),
31839
31987
  },
31840
31988
  {
31841
31989
  key: 'Entity:OpenList',
@@ -31996,7 +32144,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
31996
32144
  },
31997
32145
  {
31998
32146
  key: 'Entity:Bulk',
31999
- command: () => import('./acorex-platform-framework-client-layout-entity-bulk-entity.command-BnH5XK5M.mjs').then((c) => c.AXPBulkEntityCommand),
32147
+ command: () => import('./acorex-platform-framework-client-layout-entity-bulk-entity.command-CgsgFxT8.mjs').then((c) => c.AXPBulkEntityCommand),
32000
32148
  },
32001
32149
  {
32002
32150
  key: 'Entity:OpenList',
@@ -32322,4 +32470,4 @@ function detectEntityChanges(oldObj, newObj) {
32322
32470
  */
32323
32471
 
32324
32472
  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, detectEntityChanges 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, axpUpdateEntityStatusCommandDefinition as bA, buildDataSourceTraceSnapshot as bB, canPersistEntityListState as bC, clientLocalPlugin as bD, cloneLayoutArrays as bE, columnOrderingMiddleware as bF, columnOrderingMiddlewareProvider as bG, columnWidthMiddleware as bH, columnWidthMiddlewareProvider as bI, committedAttachments as bJ, composeEntityMiddlewares as bK, composeEntityStorageMiddlewares as bL, computeEntityAggregates as bM, configureEntityListColumnsSettingsMigrateDrop as bN, configureEntityListColumnsSettingsVersion as bO, createColumnOrderingMiddlewareProvider as bP, createEntityCardDisplayScope as bQ, createEntityCardLogicScope as bR, createEntityMiddlewareContext as bS, createEntityStorageContext as bT, createLayoutOrderingMiddlewareProvider as bU, defaultCardLayoutMiddleware as bV, defaultCardLayoutMiddlewareProvider as bW, defaultMultiLanguageMiddleware as bX, defaultMultiLanguageMiddlewareProvider as bY, defaultSortPresetsMiddleware as bZ, defaultSortPresetsMiddlewareProvider as b_, AXP_MULTI_SOURCE_DEFINITION_PROVIDER as ba, DEFAULT_COLUMN_ORDER as bb, DEFAULT_PAIR_SPAN_RULES as bc, DEFAULT_PROPERTY_ORDER as bd, DEFAULT_SECTION_ORDER as be, ENTITY_FORM_ACTION_FIRST_STEP_CONTINUE as bf, ENTITY_LIST_LAYOUT_META as bg, ENTITY_LIST_ROUTE_CONTEXT_SESSION_KEY as bh, ENTITY_MASTER_LIST_TRACE_NS as bi, EntityBuilder as bj, EntityDataAccessor as bk, GALLERY_PAGE_COMPONENT_KEY as bl, TREE_CHILDREN_QUERY_TAKE as bm, actionExists as bn, applyDataSourcePagingWithoutLoad as bo, attachmentFieldCount as bp, attachmentNeedsHydration as bq, attachmentsPlugin as br, attachmentsSemanticallyEqual as bs, axpBuildEntityListPageContextSnapshot as bt, axpCreateEntityAiToolInputDefaults as bu, axpCreateEntityCommandDefinition as bv, axpDeleteEntityCommandDefinition as bw, axpOpenEntityListCommandDefinition as bx, axpRunEntityListPageContextAction as by, axpShowFileUploaderPopupCommandDefinition as bz, ATTACHMENTS_PAGE_COMPONENT_KEY as c, readPersistedEntityListInstanceCurrentView as c$, dispatchEntityModifiedSideEffects as c0, ensureHierarchicalRootFilter as c1, ensureLayoutPropertyView as c2, ensureLayoutSection as c3, ensureListActions as c4, entityCreateBridgeMiddleware as c5, entityDeleteBridgeMiddleware as c6, entityGetOneBridgeMiddleware as c7, entityListInstanceCurrentViewPath as c8, entityListInstanceFilterPath as c9, hydrateAttachmentFieldToFileList as cA, isAXPMiddlewareAbortError as cB, isAttachmentFieldPresentOnRow as cC, isAttachmentListEntry as cD, isAttachmentStorageRef as cE, isCategoryEntity as cF, isCategoryFilter as cG, isFileListItem as cH, isFileUploaderEditDialogAuto as cI, isLegacyEntityDataSelectorOptions as cJ, layoutOrderingMiddlewareFactory as cK, layoutOrderingMiddlewareProvider as cL, mapEntityStorageErrorToCommandResult as cM, mapLegacyEntityDataSelectorOptions as cN, mergeEntityListViewAndPersistedFilters as cO, normalizeEntityCardHeaderDisplayValue as cP, normalizeEntityDataSelectorColumnSpecs as cQ, normalizeEntityDataSelectorOptions as cR, normalizeEntityFieldToFileList as cS, normalizeEntityListPersistenceMode as cT, normalizeListPaging as cU, prefetchClientLocalRelated as cV, provideEntity as cW, provideEntityMiddlewareBridge as cX, provideEntityRealtimeHandlers as cY, provideEntityStorageMiddlewareBridge as cZ, provideLocalEntityCatalog as c_, entityListStylingRulesPath as ca, entityQueryBridgeMiddleware as cb, entityStorageCreateBridgeMiddleware as cc, entityStorageDeleteBridgeMiddleware as cd, entityStorageGetOneBridgeMiddleware as ce, entityStorageQueryBridgeMiddleware as cf, entityStorageUpdateBridgeMiddleware as cg, entityUpdateBridgeMiddleware as ch, eventDispatchMiddleware as ci, filterEntityMiddlewares as cj, filterEntityStorageMiddlewares as ck, filterSortEntityRows as cl, filterTouchesParentKey as cm, findEntityListRowDataInTree as cn, fingerprintAttachmentItem as co, fingerprintAttachments as cp, fireEntityLifecycleHook as cq, formatLookupItemDisplay as cr, formatLookupItemDisplayAsync as cs, galleryPlugin as ct, getDataSourcePageIndex as cu, getEntityListColumnsSettingsMigrateDrop as cv, getEntityListColumnsSettingsVersion as cw, getEntityListRowId as cx, getMasterInterfacePropertySortKey as cy, hasFileUploaderTitleOrDescriptionFields as cz, AXMEntityCrudService as d, readPersistedEntityListInstanceFilters as d0, readPersistedEntityListStylingRules as d1, resetPagingForTreeChildrenLoad as d2, resolveAttachmentFieldPath as d3, resolveEntityCardBadgeColorValue as d4, resolveEntityCardHeaderValue as d5, resolveEntityMasterFieldStylingClass as d6, resolveEntityMasterRecordStylingClass as d7, resolveEntityMasterStylingClass as d8, resolveEntityPluginDetailPageOrder as d9, resolveFileUploaderEditDialog as da, resolveFileUploaderEntityScope as db, resolveLookupDisplayField as dc, resolveLookupDisplayTemplate as dd, resolveLookupEntityCacheKey as de, resolveLookupEntityKey as df, resolveMasterInterfacePropertyOrder as dg, restoreEntityListExpandedRows as dh, runEntityMiddlewarePipeline as di, runEntityQuery as dj, runEntityStorageMiddlewarePipeline as dk, searchResultDescriptionMiddleware as dl, searchResultDescriptionMiddlewareProvider as dm, shouldLoadEntityListStateFromStorage as dn, shouldResetEntityListStateOnRouteEntry as dp, traceEntityMasterList as dq, 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 };
32325
- //# sourceMappingURL=acorex-platform-framework-client-layout-entity-acorex-platform-framework-client-layout-entity-CkqVHcl9.mjs.map
32473
+ //# sourceMappingURL=acorex-platform-framework-client-layout-entity-acorex-platform-framework-client-layout-entity-DS3F1_EN.mjs.map