@acorex/platform 20.9.19 → 20.9.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/acorex-platform-common.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-entity.mjs +181 -25
- package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
- package/fesm2022/acorex-platform-themes-default.mjs +31 -8
- package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
- package/package.json +1 -1
- package/types/acorex-platform-layout-entity.d.ts +47 -2
|
@@ -5491,6 +5491,8 @@ class AXPEntityMasterListViewModel {
|
|
|
5491
5491
|
/** When true, pager changes are not persisted (programmatic UI sync). */
|
|
5492
5492
|
this.skipListPagingPersistence = false;
|
|
5493
5493
|
this.listPersistenceMode = null;
|
|
5494
|
+
/** Serializes user-setting updates for this entity list to avoid lost merges (e.g. filters vs paging). */
|
|
5495
|
+
this.settingsUpdateChain = Promise.resolve();
|
|
5494
5496
|
this.events$ = new Subject();
|
|
5495
5497
|
//****************** Views ******************//
|
|
5496
5498
|
this.allViews = computed(() => {
|
|
@@ -5774,7 +5776,10 @@ class AXPEntityMasterListViewModel {
|
|
|
5774
5776
|
return this.listPersistenceMode;
|
|
5775
5777
|
}
|
|
5776
5778
|
const value = await this.settings.get(AXPCommonSettings.EntityListPersistenceMode);
|
|
5777
|
-
|
|
5779
|
+
const resolved = value != null && typeof value === 'object' && 'value' in value
|
|
5780
|
+
? value.value
|
|
5781
|
+
: value;
|
|
5782
|
+
this.listPersistenceMode = normalizeEntityListPersistenceMode(resolved);
|
|
5778
5783
|
return this.listPersistenceMode;
|
|
5779
5784
|
}
|
|
5780
5785
|
async shouldLoadPersistedListState() {
|
|
@@ -5923,17 +5928,41 @@ class AXPEntityMasterListViewModel {
|
|
|
5923
5928
|
const wasExpanded = meta?.['expanded'] === true;
|
|
5924
5929
|
this.updateExpandedRowId(rowId, !wasExpanded);
|
|
5925
5930
|
}
|
|
5931
|
+
/**
|
|
5932
|
+
* User-applied filters to persist (excludes hidden view conditions and empty values).
|
|
5933
|
+
*/
|
|
5934
|
+
getPersistableFilterQueries(queries = this.filterQueries()) {
|
|
5935
|
+
return queries.filter((f) => {
|
|
5936
|
+
if (f.hidden === true) {
|
|
5937
|
+
return false;
|
|
5938
|
+
}
|
|
5939
|
+
if (f.readOnly === true) {
|
|
5940
|
+
return false;
|
|
5941
|
+
}
|
|
5942
|
+
const value = f.value;
|
|
5943
|
+
if (value === undefined || value === null || value === '') {
|
|
5944
|
+
return false;
|
|
5945
|
+
}
|
|
5946
|
+
if (Array.isArray(value) && value.length === 0) {
|
|
5947
|
+
return false;
|
|
5948
|
+
}
|
|
5949
|
+
return true;
|
|
5950
|
+
});
|
|
5951
|
+
}
|
|
5952
|
+
enqueueSettingsUpdate(updateFn) {
|
|
5953
|
+
const run = () => this.settings.scope(AXPPlatformScope.User).update(this.settingEntityKey, updateFn);
|
|
5954
|
+
const next = this.settingsUpdateChain.then(run);
|
|
5955
|
+
this.settingsUpdateChain = next.catch(() => undefined);
|
|
5956
|
+
return next;
|
|
5957
|
+
}
|
|
5926
5958
|
async saveSettings(changesType, data) {
|
|
5927
5959
|
if (!(await this.shouldPersistListState())) {
|
|
5928
5960
|
return;
|
|
5929
5961
|
}
|
|
5930
|
-
const updateSettings = (updateFn) => {
|
|
5931
|
-
this.settings.scope(AXPPlatformScope.User).update(this.settingEntityKey, updateFn);
|
|
5932
|
-
};
|
|
5933
5962
|
switch (changesType) {
|
|
5934
5963
|
case 'columnSizes': {
|
|
5935
5964
|
const columnSizeData = data;
|
|
5936
|
-
|
|
5965
|
+
await this.enqueueSettingsUpdate((prev) => {
|
|
5937
5966
|
const field = columnSizeData.dataField.split('-')[1];
|
|
5938
5967
|
const newSettings = { ...prev };
|
|
5939
5968
|
const existingColumns = prev?.list?.views?.[this.view().name]?.columns;
|
|
@@ -5960,7 +5989,7 @@ class AXPEntityMasterListViewModel {
|
|
|
5960
5989
|
}
|
|
5961
5990
|
case 'columnOrders': {
|
|
5962
5991
|
const orderedColumns = data;
|
|
5963
|
-
|
|
5992
|
+
await this.enqueueSettingsUpdate((prev) => {
|
|
5964
5993
|
const newSettings = { ...prev };
|
|
5965
5994
|
set(newSettings, `list.views.${this.view().name}.columns`, orderedColumns.map((c) => ({
|
|
5966
5995
|
name: c.column?.options?.dataPath ?? c.name,
|
|
@@ -5972,7 +6001,7 @@ class AXPEntityMasterListViewModel {
|
|
|
5972
6001
|
break;
|
|
5973
6002
|
}
|
|
5974
6003
|
case 'view':
|
|
5975
|
-
|
|
6004
|
+
await this.enqueueSettingsUpdate((prev) => ({
|
|
5976
6005
|
...prev,
|
|
5977
6006
|
list: {
|
|
5978
6007
|
...prev?.list,
|
|
@@ -5981,7 +6010,7 @@ class AXPEntityMasterListViewModel {
|
|
|
5981
6010
|
}));
|
|
5982
6011
|
break;
|
|
5983
6012
|
case 'pageSize':
|
|
5984
|
-
|
|
6013
|
+
await this.enqueueSettingsUpdate((prev) => ({
|
|
5985
6014
|
...prev,
|
|
5986
6015
|
list: {
|
|
5987
6016
|
...prev?.list,
|
|
@@ -6000,7 +6029,7 @@ class AXPEntityMasterListViewModel {
|
|
|
6000
6029
|
}));
|
|
6001
6030
|
break;
|
|
6002
6031
|
case 'listPaging':
|
|
6003
|
-
|
|
6032
|
+
await this.enqueueSettingsUpdate((prev) => ({
|
|
6004
6033
|
...prev,
|
|
6005
6034
|
list: {
|
|
6006
6035
|
...prev?.list,
|
|
@@ -6016,7 +6045,7 @@ class AXPEntityMasterListViewModel {
|
|
|
6016
6045
|
}));
|
|
6017
6046
|
break;
|
|
6018
6047
|
case 'filters':
|
|
6019
|
-
|
|
6048
|
+
await this.enqueueSettingsUpdate((prev) => ({
|
|
6020
6049
|
...prev,
|
|
6021
6050
|
list: {
|
|
6022
6051
|
...prev?.list,
|
|
@@ -6031,7 +6060,7 @@ class AXPEntityMasterListViewModel {
|
|
|
6031
6060
|
}));
|
|
6032
6061
|
break;
|
|
6033
6062
|
case 'sorts':
|
|
6034
|
-
|
|
6063
|
+
await this.enqueueSettingsUpdate((prev) => ({
|
|
6035
6064
|
...prev,
|
|
6036
6065
|
list: {
|
|
6037
6066
|
...prev?.list,
|
|
@@ -6046,7 +6075,7 @@ class AXPEntityMasterListViewModel {
|
|
|
6046
6075
|
}));
|
|
6047
6076
|
break;
|
|
6048
6077
|
case 'expandedRows':
|
|
6049
|
-
|
|
6078
|
+
await this.enqueueSettingsUpdate((prev) => ({
|
|
6050
6079
|
...prev,
|
|
6051
6080
|
list: {
|
|
6052
6081
|
...prev?.list,
|
|
@@ -6061,7 +6090,7 @@ class AXPEntityMasterListViewModel {
|
|
|
6061
6090
|
}));
|
|
6062
6091
|
break;
|
|
6063
6092
|
case 'listLayout':
|
|
6064
|
-
|
|
6093
|
+
await this.enqueueSettingsUpdate((prev) => ({
|
|
6065
6094
|
...prev,
|
|
6066
6095
|
list: {
|
|
6067
6096
|
...prev?.list,
|
|
@@ -6070,7 +6099,7 @@ class AXPEntityMasterListViewModel {
|
|
|
6070
6099
|
}));
|
|
6071
6100
|
break;
|
|
6072
6101
|
case 'cardContentExpanded':
|
|
6073
|
-
|
|
6102
|
+
await this.enqueueSettingsUpdate((prev) => ({
|
|
6074
6103
|
...prev,
|
|
6075
6104
|
list: {
|
|
6076
6105
|
...prev?.list,
|
|
@@ -6336,9 +6365,7 @@ class AXPEntityMasterListViewModel {
|
|
|
6336
6365
|
}
|
|
6337
6366
|
async syncFiltersFromRouteQueryParam(filtersJson) {
|
|
6338
6367
|
const nextCanonical = AXPEntityMasterListViewModel.parseQueryParamFiltersToCanonical(filtersJson);
|
|
6339
|
-
const currentCanonical = this.
|
|
6340
|
-
? this.filtersQueryParamCanonical(this.filterQueries())
|
|
6341
|
-
: null;
|
|
6368
|
+
const currentCanonical = this.filtersQueryParamCanonical(this.filterQueries());
|
|
6342
6369
|
if (nextCanonical === currentCanonical) {
|
|
6343
6370
|
return false;
|
|
6344
6371
|
}
|
|
@@ -6855,12 +6882,12 @@ const AXPEntityListViewModelResolver = async (route, state, service = inject(AXP
|
|
|
6855
6882
|
const entityName = route.paramMap.get('entity');
|
|
6856
6883
|
try {
|
|
6857
6884
|
const vm = await service.create(moduleName, entityName);
|
|
6858
|
-
//
|
|
6885
|
+
// URL `filters` are for one-off deep links only; persisted list state loads from user settings.
|
|
6859
6886
|
const filtersParam = route.queryParamMap.get('filters');
|
|
6860
|
-
|
|
6887
|
+
const shouldLoadPersisted = await vm.shouldLoadPersistedListState();
|
|
6888
|
+
if (filtersParam && !shouldLoadPersisted) {
|
|
6861
6889
|
const applied = vm.applyFiltersFromQueryParams(filtersParam);
|
|
6862
6890
|
if (applied) {
|
|
6863
|
-
// Trigger filter and sort application
|
|
6864
6891
|
await vm.applyFilterAndSort();
|
|
6865
6892
|
}
|
|
6866
6893
|
}
|
|
@@ -19522,11 +19549,74 @@ function resolveFileUploaderEntityScope(options, rowData, fieldFallback) {
|
|
|
19522
19549
|
}
|
|
19523
19550
|
return { name: entityName.trim(), id: entityId, field: field.trim() };
|
|
19524
19551
|
}
|
|
19552
|
+
/**
|
|
19553
|
+
* Attachment field names registered by the attachments plugin (`extensions.attachments`)
|
|
19554
|
+
* or properties using the `attachments` widget interface.
|
|
19555
|
+
*/
|
|
19556
|
+
function resolveEntityAttachmentFieldNames(def) {
|
|
19557
|
+
const fields = new Set();
|
|
19558
|
+
const attachCfg = def?.extensions?.attachments;
|
|
19559
|
+
if (attachCfg != null && typeof attachCfg === 'object') {
|
|
19560
|
+
for (const key of Object.keys(attachCfg)) {
|
|
19561
|
+
if (key.trim()) {
|
|
19562
|
+
fields.add(key);
|
|
19563
|
+
}
|
|
19564
|
+
}
|
|
19565
|
+
}
|
|
19566
|
+
const props = def?.properties ?? [];
|
|
19567
|
+
for (const prop of props) {
|
|
19568
|
+
if (prop?.name?.trim() && prop.schema?.interface?.type === 'attachments') {
|
|
19569
|
+
fields.add(prop.name);
|
|
19570
|
+
}
|
|
19571
|
+
}
|
|
19572
|
+
return fields;
|
|
19573
|
+
}
|
|
19574
|
+
/** True when a hydrated key path belongs to a lazy attachment plugin field (top-level property). */
|
|
19575
|
+
function isLazyAttachmentFieldPath(keyPath, lazyFields) {
|
|
19576
|
+
if (!lazyFields.size || !keyPath.trim()) {
|
|
19577
|
+
return false;
|
|
19578
|
+
}
|
|
19579
|
+
const root = keyPath.split(/[.[\]]/)[0];
|
|
19580
|
+
return lazyFields.has(root);
|
|
19581
|
+
}
|
|
19525
19582
|
//#endregion
|
|
19526
19583
|
|
|
19527
19584
|
/** Trace namespace for file-uploader attachment column, load/save, and hydration. */
|
|
19528
19585
|
const FILE_UPLOADER_TRACE_NS = 'file-uploader-attachments';
|
|
19529
19586
|
|
|
19587
|
+
/**
|
|
19588
|
+
* Loads and hydrates entity attachment field values via `FileUploader:LoadFiles`.
|
|
19589
|
+
* Used when read middleware keeps storage refs and the UI mounts the attachments widget.
|
|
19590
|
+
*/
|
|
19591
|
+
async function fetchHydratedEntityAttachments(queryExecutor, scope) {
|
|
19592
|
+
AXPDebugService.instance?.trace(FILE_UPLOADER_TRACE_NS, 'lazy-hydrate', 'Loading attachments on widget display', () => ({
|
|
19593
|
+
entity: scope.name,
|
|
19594
|
+
entityId: scope.id,
|
|
19595
|
+
field: scope.field,
|
|
19596
|
+
}));
|
|
19597
|
+
try {
|
|
19598
|
+
const result = await queryExecutor.fetch('FileUploader:LoadFiles', scope);
|
|
19599
|
+
const files = result?.files ?? [];
|
|
19600
|
+
AXPDebugService.instance?.trace(FILE_UPLOADER_TRACE_NS, 'lazy-hydrate', 'Attachments loaded on widget display', () => ({
|
|
19601
|
+
entity: scope.name,
|
|
19602
|
+
entityId: scope.id,
|
|
19603
|
+
field: scope.field,
|
|
19604
|
+
fileCount: files.length,
|
|
19605
|
+
fileNames: files.map((file) => file.name),
|
|
19606
|
+
}));
|
|
19607
|
+
return files;
|
|
19608
|
+
}
|
|
19609
|
+
catch (error) {
|
|
19610
|
+
AXPDebugService.instance?.warn(FILE_UPLOADER_TRACE_NS, 'lazy-hydrate', 'Failed to load attachments on widget display', () => ({
|
|
19611
|
+
entity: scope.name,
|
|
19612
|
+
entityId: scope.id,
|
|
19613
|
+
field: scope.field,
|
|
19614
|
+
error: error instanceof Error ? error.message : String(error),
|
|
19615
|
+
}));
|
|
19616
|
+
throw error;
|
|
19617
|
+
}
|
|
19618
|
+
}
|
|
19619
|
+
|
|
19530
19620
|
class AXPFileUploaderLoadFilesQuery {
|
|
19531
19621
|
constructor() {
|
|
19532
19622
|
//#region ---- Services & Dependencies ----
|
|
@@ -19839,6 +19929,7 @@ class AXPFileUploaderWidgetEditComponent extends AXPValueWidgetComponent {
|
|
|
19839
19929
|
this.hooks = inject(AXPHookService);
|
|
19840
19930
|
this.fileActionsService = inject(AXPFileActionsService);
|
|
19841
19931
|
this.commandExecutor = inject(AXPCommandExecutor);
|
|
19932
|
+
this.queryExecutor = inject(AXPQueryExecutor);
|
|
19842
19933
|
this.toastService = inject(AXToastService);
|
|
19843
19934
|
this.translateService = inject(AXTranslationService);
|
|
19844
19935
|
//#region ---- Dirty tracking (deferred save pages) ----
|
|
@@ -19852,17 +19943,30 @@ class AXPFileUploaderWidgetEditComponent extends AXPValueWidgetComponent {
|
|
|
19852
19943
|
/** Status before soft-delete; used for restore when baseline was not synced (section layout). */
|
|
19853
19944
|
this.statusBeforeDelete = new Map();
|
|
19854
19945
|
this.autoBaselineSynced = signal(false, ...(ngDevMode ? [{ debugName: "autoBaselineSynced" }] : /* istanbul ignore next */ []));
|
|
19946
|
+
this.hydrateRequestId = 0;
|
|
19855
19947
|
/** Sync baseline from context when not wired by a deferred-save page (section layout). */
|
|
19856
19948
|
this.baselineInitEffect = effect(() => {
|
|
19857
19949
|
if (this.autoBaselineSynced()) {
|
|
19858
19950
|
return;
|
|
19859
19951
|
}
|
|
19860
19952
|
const value = this.getValue();
|
|
19861
|
-
if (value == null) {
|
|
19953
|
+
if (value == null || attachmentNeedsHydration(value)) {
|
|
19862
19954
|
return;
|
|
19863
19955
|
}
|
|
19864
19956
|
this.syncBaseline(value);
|
|
19865
19957
|
}, ...(ngDevMode ? [{ debugName: "baselineInitEffect" }] : /* istanbul ignore next */ []));
|
|
19958
|
+
/** Hydrate attachment refs when the widget is shown (read middleware keeps refs lazy). */
|
|
19959
|
+
this.lazyHydrateEffect = effect(() => {
|
|
19960
|
+
const value = this.getValue();
|
|
19961
|
+
if (!attachmentNeedsHydration(value)) {
|
|
19962
|
+
return;
|
|
19963
|
+
}
|
|
19964
|
+
const scope = resolveFileUploaderEntityScope(this.options(), this.contextService.snapshot(), resolveAttachmentFieldPath(this.options(), this.path));
|
|
19965
|
+
if (!scope?.id) {
|
|
19966
|
+
return;
|
|
19967
|
+
}
|
|
19968
|
+
void this.hydrateAttachments(scope);
|
|
19969
|
+
}, ...(ngDevMode ? [{ debugName: "lazyHydrateEffect" }] : /* istanbul ignore next */ []));
|
|
19866
19970
|
//#endregion
|
|
19867
19971
|
this.multiple = computed(() => this.options()['multiple'], ...(ngDevMode ? [{ debugName: "multiple" }] : /* istanbul ignore next */ []));
|
|
19868
19972
|
this.acceptOverride = signal(undefined, ...(ngDevMode ? [{ debugName: "acceptOverride" }] : /* istanbul ignore next */ []));
|
|
@@ -19939,6 +20043,24 @@ class AXPFileUploaderWidgetEditComponent extends AXPValueWidgetComponent {
|
|
|
19939
20043
|
this.configureFromHooks();
|
|
19940
20044
|
this.loadActions();
|
|
19941
20045
|
}
|
|
20046
|
+
async hydrateAttachments(scope) {
|
|
20047
|
+
const requestId = ++this.hydrateRequestId;
|
|
20048
|
+
try {
|
|
20049
|
+
const files = await fetchHydratedEntityAttachments(this.queryExecutor, scope);
|
|
20050
|
+
if (requestId !== this.hydrateRequestId) {
|
|
20051
|
+
return;
|
|
20052
|
+
}
|
|
20053
|
+
this.skipDirtyEvaluation = true;
|
|
20054
|
+
this.setValue(cloneDeep(files));
|
|
20055
|
+
this.skipDirtyEvaluation = false;
|
|
20056
|
+
this.syncBaseline(files);
|
|
20057
|
+
}
|
|
20058
|
+
catch {
|
|
20059
|
+
if (requestId !== this.hydrateRequestId) {
|
|
20060
|
+
return;
|
|
20061
|
+
}
|
|
20062
|
+
}
|
|
20063
|
+
}
|
|
19942
20064
|
setValue(value) {
|
|
19943
20065
|
super.setValue(value);
|
|
19944
20066
|
if (this.skipDirtyEvaluation) {
|
|
@@ -20496,8 +20618,21 @@ var fileUploaderWidgetEdit_component = /*#__PURE__*/Object.freeze({
|
|
|
20496
20618
|
|
|
20497
20619
|
class AXPFileUploaderWidgetViewComponent extends AXPValueWidgetComponent {
|
|
20498
20620
|
constructor() {
|
|
20499
|
-
super(
|
|
20621
|
+
super();
|
|
20622
|
+
this.queryExecutor = inject(AXPQueryExecutor);
|
|
20623
|
+
this.hydrateRequestId = 0;
|
|
20500
20624
|
this.files = computed(() => (this.getValue() ?? []).filter(file => file.status !== 'deleted') ?? [], ...(ngDevMode ? [{ debugName: "files" }] : /* istanbul ignore next */ []));
|
|
20625
|
+
effect(() => {
|
|
20626
|
+
const value = this.getValue();
|
|
20627
|
+
if (!attachmentNeedsHydration(value)) {
|
|
20628
|
+
return;
|
|
20629
|
+
}
|
|
20630
|
+
const scope = resolveFileUploaderEntityScope(this.options(), this.contextService.snapshot(), resolveAttachmentFieldPath(this.options(), this.path));
|
|
20631
|
+
if (!scope?.id) {
|
|
20632
|
+
return;
|
|
20633
|
+
}
|
|
20634
|
+
void this.hydrateAttachments(scope);
|
|
20635
|
+
});
|
|
20501
20636
|
}
|
|
20502
20637
|
get __class() {
|
|
20503
20638
|
const cls = {};
|
|
@@ -20505,7 +20640,24 @@ class AXPFileUploaderWidgetViewComponent extends AXPValueWidgetComponent {
|
|
|
20505
20640
|
cls[`ax-flex-1`] = true;
|
|
20506
20641
|
return cls;
|
|
20507
20642
|
}
|
|
20508
|
-
|
|
20643
|
+
async hydrateAttachments(scope) {
|
|
20644
|
+
const requestId = ++this.hydrateRequestId;
|
|
20645
|
+
try {
|
|
20646
|
+
const files = await fetchHydratedEntityAttachments(this.queryExecutor, scope);
|
|
20647
|
+
if (requestId !== this.hydrateRequestId) {
|
|
20648
|
+
return;
|
|
20649
|
+
}
|
|
20650
|
+
const path = this.fullPath();
|
|
20651
|
+
if (!path) {
|
|
20652
|
+
return;
|
|
20653
|
+
}
|
|
20654
|
+
this.contextService.update(path, files, { origin: 'system' });
|
|
20655
|
+
}
|
|
20656
|
+
catch {
|
|
20657
|
+
/* keep refs; popover / edit can retry */
|
|
20658
|
+
}
|
|
20659
|
+
}
|
|
20660
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPFileUploaderWidgetViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
20509
20661
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.9", type: AXPFileUploaderWidgetViewComponent, isStandalone: true, selector: "axp-file-uploader-widget-view", host: { properties: { "class": "this.__class" } }, usesInheritance: true, ngImport: i0, template: `
|
|
20510
20662
|
<axp-file-list [files]="files()" [readonly]="true"></axp-file-list>
|
|
20511
20663
|
`, isInline: true, dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "ngmodule", type: AXUploaderModule }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "component", type: AXPFileListComponent, selector: "axp-file-list", inputs: ["readonly", "fileEditable", "enableTitleDescription", "multiple", "look", "titleKey", "showLabel", "linksLayout", "files", "plugins", "excludePlugins", "capabilities"], outputs: ["onRemove", "onRevert", "onRename"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
@@ -20530,7 +20682,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
20530
20682
|
],
|
|
20531
20683
|
inputs: [],
|
|
20532
20684
|
}]
|
|
20533
|
-
}], propDecorators: { __class: [{
|
|
20685
|
+
}], ctorParameters: () => [], propDecorators: { __class: [{
|
|
20534
20686
|
type: HostBinding,
|
|
20535
20687
|
args: ['class']
|
|
20536
20688
|
}] } });
|
|
@@ -20698,10 +20850,12 @@ var index = /*#__PURE__*/Object.freeze({
|
|
|
20698
20850
|
AXPFileUploaderWidgetEditComponent: AXPFileUploaderWidgetEditComponent,
|
|
20699
20851
|
AXPFileUploaderWidgetService: AXPFileUploaderWidgetService,
|
|
20700
20852
|
AXPFileUploaderWidgetViewComponent: AXPFileUploaderWidgetViewComponent,
|
|
20853
|
+
FILE_UPLOADER_TRACE_NS: FILE_UPLOADER_TRACE_NS,
|
|
20701
20854
|
attachmentFieldCount: attachmentFieldCount,
|
|
20702
20855
|
attachmentNeedsHydration: attachmentNeedsHydration,
|
|
20703
20856
|
attachmentsSemanticallyEqual: attachmentsSemanticallyEqual,
|
|
20704
20857
|
committedAttachments: committedAttachments,
|
|
20858
|
+
fetchHydratedEntityAttachments: fetchHydratedEntityAttachments,
|
|
20705
20859
|
fingerprintAttachmentItem: fingerprintAttachmentItem,
|
|
20706
20860
|
fingerprintAttachments: fingerprintAttachments,
|
|
20707
20861
|
hasFileUploaderTitleOrDescriptionFields: hasFileUploaderTitleOrDescriptionFields,
|
|
@@ -20711,9 +20865,11 @@ var index = /*#__PURE__*/Object.freeze({
|
|
|
20711
20865
|
isAttachmentStorageRef: isAttachmentStorageRef,
|
|
20712
20866
|
isFileListItem: isFileListItem,
|
|
20713
20867
|
isFileUploaderEditDialogAuto: isFileUploaderEditDialogAuto,
|
|
20868
|
+
isLazyAttachmentFieldPath: isLazyAttachmentFieldPath,
|
|
20714
20869
|
normalizeEntityFieldToFileList: normalizeEntityFieldToFileList,
|
|
20715
20870
|
persistedAttachments: persistedAttachments,
|
|
20716
20871
|
resolveAttachmentFieldPath: resolveAttachmentFieldPath,
|
|
20872
|
+
resolveEntityAttachmentFieldNames: resolveEntityAttachmentFieldNames,
|
|
20717
20873
|
resolveFileUploaderEditDialog: resolveFileUploaderEditDialog,
|
|
20718
20874
|
resolveFileUploaderEntityScope: resolveFileUploaderEntityScope
|
|
20719
20875
|
});
|
|
@@ -26508,5 +26664,5 @@ function detectEntityChanges(oldObj, newObj) {
|
|
|
26508
26664
|
* Generated bundle index. Do not edit.
|
|
26509
26665
|
*/
|
|
26510
26666
|
|
|
26511
|
-
export { ATTACHMENTS_PAGE_COMPONENT_KEY, AXMEntityCrudService, AXMEntityCrudServiceImpl, AXPCategoryTreeService, AXPCreateEntityCommand, AXPCreateEntityWorkflow, AXPDataSeederService, AXPDeleteEntityWorkflow, AXPEditFileUploaderCommand, AXPEntitiesListDataSourceDefinition, AXPEntityApplyUpdatesAction, AXPEntityCategoryTreeSelectorComponent, AXPEntityCategoryWidget, AXPEntityCategoryWidgetColumnComponent, AXPEntityCategoryWidgetEditComponent, AXPEntityCategoryWidgetViewComponent, AXPEntityCommandTriggerViewModel, AXPEntityCreateEvent, AXPEntityCreatePopupAction, AXPEntityCreateSubmittedAction, AXPEntityCreateViewElementViewModel, AXPEntityCreateViewModelFactory, AXPEntityCreateViewSectionViewModel, AXPEntityDataProvider, AXPEntityDataProviderImpl, AXPEntityDataSelectorRowActionsService, AXPEntityDataSelectorService, AXPEntityDefinitionProviderWidget, AXPEntityDefinitionProviderWidgetEditComponent, AXPEntityDefinitionRegistryService, AXPEntityDeletedEvent, AXPEntityDetailListViewModel, AXPEntityDetailPopoverComponent, AXPEntityDetailPopoverService, AXPEntityDetailViewModelFactory, AXPEntityDetailViewModelResolver, AXPEntityEventDispatcherService, AXPEntityFormBuilderService, AXPEntityListPersistenceModeDefault, AXPEntityListTableService, AXPEntityListToolbarService, AXPEntityListViewCardFieldViewModel, AXPEntityListViewColumnViewModel, AXPEntityListViewModelFactory, AXPEntityListViewModelResolver, AXPEntityListWidget, AXPEntityListWidgetViewComponent, AXPEntityMasterCreateViewModel, AXPEntityMasterListCardSelectActionName, AXPEntityMasterListViewModel, AXPEntityMasterListViewQueryViewModel, AXPEntityMasterSingleElementViewModel, AXPEntityMasterSingleViewGroupViewModel, AXPEntityMasterSingleViewModel, AXPEntityMasterUpdateElementViewModel, AXPEntityMasterUpdateViewModel, AXPEntityMasterUpdateViewModelFactory, AXPEntityMiddleware, AXPEntityModifyConfirmedAction, AXPEntityModifyEvent, AXPEntityModifySectionPopupAction, AXPEntityModule, AXPEntityPerformDeleteAction, AXPEntityPreloadFiltersContainerComponent, AXPEntityPreloadFiltersViewModel, AXPEntityPreloadFiltersViewModelResolver, AXPEntityResolver, AXPEntityService, AXPEntityStorageService, AXPEntityUpdateViewSectionViewModel, AXPFileListComponent, AXPFileUploaderLoadFilesQuery, AXPFileUploaderSaveFilesCommand, AXPFileUploaderWidget, AXPFileUploaderWidgetColumnComponent, AXPFileUploaderWidgetEditComponent, AXPFileUploaderWidgetService, AXPFileUploaderWidgetViewComponent, AXPGetEntityDetailsQuery, AXPLayoutOrderingConfigService, AXPLookupWidget, AXPLookupWidgetColumnComponent, AXPLookupWidgetEditComponent, AXPLookupWidgetViewComponent, AXPMiddlewareAbortError, AXPMiddlewareEntityStorageService, AXPModifyEntitySectionWorkflow, AXPMultiSourceDefinitionProviderContext, AXPMultiSourceDefinitionProviderService, AXPMultiSourceFederatedSearchService, AXPMultiSourceSelectorComponent, AXPMultiSourceSelectorService, AXPMultiSourceSelectorWidget, AXPMultiSourceSelectorWidgetColumnComponent, AXPMultiSourceSelectorWidgetEditComponent, AXPMultiSourceSelectorWidgetViewComponent, AXPMultiSourceType, AXPOpenEntityDetailsCommand, AXPQuickEntityModifyPopupAction, AXPQuickModifyEntityWorkflow, AXPRelatedColumnEnrichmentService, AXPRelatedColumnMetadataResolver, AXPSelectorStructureWidget, AXPSelectorStructureWidgetColumnComponent, AXPSelectorStructureWidgetEditComponent, AXPSelectorStructureWidgetViewComponent, AXPShowDetailViewAction, AXPShowDetailsViewWorkflow, AXPShowListViewAction, AXPShowListViewWorkflow, AXPTruncatedBreadcrumbComponent, AXPUpdateEntityCommand, AXPViewEntityDetailsCommand, AXP_APPEARANCE_SECTION_ORDER, AXP_CATEGORY_TREE_ROOT_TITLE_I18N_KEY, AXP_CLASSIFICATION_SECTION_ORDER, AXP_DATA_SEEDER_TOKEN, AXP_ENTITY_ACTION_PLUGIN, AXP_ENTITY_CONFIG_TOKEN, AXP_ENTITY_DEFINITION_LOADER, AXP_ENTITY_MODIFIER, AXP_ENTITY_STORAGE_BACKEND, AXP_ENTITY_STORAGE_MIDDLEWARE, AXP_MULTI_SOURCE_DEFINITION_PROVIDER, DEFAULT_COLUMN_ORDER, DEFAULT_PAIR_SPAN_RULES, DEFAULT_PROPERTY_ORDER, DEFAULT_SECTION_ORDER, ENTITY_FORM_ACTION_FIRST_STEP_CONTINUE, ENTITY_LIST_ROUTE_CONTEXT_SESSION_KEY, EntityBuilder, EntityDataAccessor, actionExists, applyDataSourcePagingWithoutLoad, attachmentFieldCount, attachmentNeedsHydration, attachmentsPlugin, attachmentsSemanticallyEqual, axpCreateEntityAiToolInputDefaults, axpCreateEntityCommandDefinition, canPersistEntityListState, cloneLayoutArrays, columnOrderingMiddleware, columnOrderingMiddlewareProvider, columnWidthMiddleware, columnWidthMiddlewareProvider, commandMessageTextForError, committedAttachments, computeEntityAggregates, createColumnOrderingMiddlewareProvider, createLayoutOrderingMiddlewareProvider, createModifierContext, defaultCardLayoutMiddleware, defaultCardLayoutMiddlewareProvider, defaultMultiLanguageMiddleware, defaultMultiLanguageMiddlewareProvider, detectEntityChanges, ensureLayoutPropertyView, ensureLayoutSection, ensureListActions, eventDispatchMiddleware, filterSortEntityRows, findEntityListRowDataInTree, fingerprintAttachmentItem, fingerprintAttachments, formatLookupItemDisplay, formatLookupItemDisplayAsync, getDataSourcePageIndex, getEntityListRowId, getMasterInterfacePropertySortKey, hasFileUploaderTitleOrDescriptionFields, hydrateAttachmentFieldToFileList, isAXPMiddlewareAbortError, isAttachmentFieldPresentOnRow, isAttachmentListEntry, isAttachmentStorageRef, isCategoryEntity, isCategoryFilter, isFileListItem, isFileUploaderEditDialogAuto, isLegacyEntityDataSelectorOptions, layoutOrderingMiddlewareFactory, layoutOrderingMiddlewareProvider, mapEntityStorageErrorToCommandResult, mapLegacyEntityDataSelectorOptions, normalizeEntityDataSelectorOptions, normalizeEntityFieldToFileList, normalizeEntityListPersistenceMode, normalizeListPaging, persistedAttachments, provideEntity, resolveAttachmentFieldPath, resolveEntityPluginDetailPageOrder, resolveFileUploaderEditDialog, resolveFileUploaderEntityScope, resolveLookupDisplayField, resolveLookupDisplayTemplate, restoreEntityListExpandedRows, runEntityQuery, searchResultDescriptionMiddleware, searchResultDescriptionMiddlewareProvider, shouldLoadEntityListStateFromStorage, shouldResetEntityListStateOnRouteEntry };
|
|
26667
|
+
export { ATTACHMENTS_PAGE_COMPONENT_KEY, AXMEntityCrudService, AXMEntityCrudServiceImpl, AXPCategoryTreeService, AXPCreateEntityCommand, AXPCreateEntityWorkflow, AXPDataSeederService, AXPDeleteEntityWorkflow, AXPEditFileUploaderCommand, AXPEntitiesListDataSourceDefinition, AXPEntityApplyUpdatesAction, AXPEntityCategoryTreeSelectorComponent, AXPEntityCategoryWidget, AXPEntityCategoryWidgetColumnComponent, AXPEntityCategoryWidgetEditComponent, AXPEntityCategoryWidgetViewComponent, AXPEntityCommandTriggerViewModel, AXPEntityCreateEvent, AXPEntityCreatePopupAction, AXPEntityCreateSubmittedAction, AXPEntityCreateViewElementViewModel, AXPEntityCreateViewModelFactory, AXPEntityCreateViewSectionViewModel, AXPEntityDataProvider, AXPEntityDataProviderImpl, AXPEntityDataSelectorRowActionsService, AXPEntityDataSelectorService, AXPEntityDefinitionProviderWidget, AXPEntityDefinitionProviderWidgetEditComponent, AXPEntityDefinitionRegistryService, AXPEntityDeletedEvent, AXPEntityDetailListViewModel, AXPEntityDetailPopoverComponent, AXPEntityDetailPopoverService, AXPEntityDetailViewModelFactory, AXPEntityDetailViewModelResolver, AXPEntityEventDispatcherService, AXPEntityFormBuilderService, AXPEntityListPersistenceModeDefault, AXPEntityListTableService, AXPEntityListToolbarService, AXPEntityListViewCardFieldViewModel, AXPEntityListViewColumnViewModel, AXPEntityListViewModelFactory, AXPEntityListViewModelResolver, AXPEntityListWidget, AXPEntityListWidgetViewComponent, AXPEntityMasterCreateViewModel, AXPEntityMasterListCardSelectActionName, AXPEntityMasterListViewModel, AXPEntityMasterListViewQueryViewModel, AXPEntityMasterSingleElementViewModel, AXPEntityMasterSingleViewGroupViewModel, AXPEntityMasterSingleViewModel, AXPEntityMasterUpdateElementViewModel, AXPEntityMasterUpdateViewModel, AXPEntityMasterUpdateViewModelFactory, AXPEntityMiddleware, AXPEntityModifyConfirmedAction, AXPEntityModifyEvent, AXPEntityModifySectionPopupAction, AXPEntityModule, AXPEntityPerformDeleteAction, AXPEntityPreloadFiltersContainerComponent, AXPEntityPreloadFiltersViewModel, AXPEntityPreloadFiltersViewModelResolver, AXPEntityResolver, AXPEntityService, AXPEntityStorageService, AXPEntityUpdateViewSectionViewModel, AXPFileListComponent, AXPFileUploaderLoadFilesQuery, AXPFileUploaderSaveFilesCommand, AXPFileUploaderWidget, AXPFileUploaderWidgetColumnComponent, AXPFileUploaderWidgetEditComponent, AXPFileUploaderWidgetService, AXPFileUploaderWidgetViewComponent, AXPGetEntityDetailsQuery, AXPLayoutOrderingConfigService, AXPLookupWidget, AXPLookupWidgetColumnComponent, AXPLookupWidgetEditComponent, AXPLookupWidgetViewComponent, AXPMiddlewareAbortError, AXPMiddlewareEntityStorageService, AXPModifyEntitySectionWorkflow, AXPMultiSourceDefinitionProviderContext, AXPMultiSourceDefinitionProviderService, AXPMultiSourceFederatedSearchService, AXPMultiSourceSelectorComponent, AXPMultiSourceSelectorService, AXPMultiSourceSelectorWidget, AXPMultiSourceSelectorWidgetColumnComponent, AXPMultiSourceSelectorWidgetEditComponent, AXPMultiSourceSelectorWidgetViewComponent, AXPMultiSourceType, AXPOpenEntityDetailsCommand, AXPQuickEntityModifyPopupAction, AXPQuickModifyEntityWorkflow, AXPRelatedColumnEnrichmentService, AXPRelatedColumnMetadataResolver, AXPSelectorStructureWidget, AXPSelectorStructureWidgetColumnComponent, AXPSelectorStructureWidgetEditComponent, AXPSelectorStructureWidgetViewComponent, AXPShowDetailViewAction, AXPShowDetailsViewWorkflow, AXPShowListViewAction, AXPShowListViewWorkflow, AXPTruncatedBreadcrumbComponent, AXPUpdateEntityCommand, AXPViewEntityDetailsCommand, AXP_APPEARANCE_SECTION_ORDER, AXP_CATEGORY_TREE_ROOT_TITLE_I18N_KEY, AXP_CLASSIFICATION_SECTION_ORDER, AXP_DATA_SEEDER_TOKEN, AXP_ENTITY_ACTION_PLUGIN, AXP_ENTITY_CONFIG_TOKEN, AXP_ENTITY_DEFINITION_LOADER, AXP_ENTITY_MODIFIER, AXP_ENTITY_STORAGE_BACKEND, AXP_ENTITY_STORAGE_MIDDLEWARE, AXP_MULTI_SOURCE_DEFINITION_PROVIDER, DEFAULT_COLUMN_ORDER, DEFAULT_PAIR_SPAN_RULES, DEFAULT_PROPERTY_ORDER, DEFAULT_SECTION_ORDER, ENTITY_FORM_ACTION_FIRST_STEP_CONTINUE, ENTITY_LIST_ROUTE_CONTEXT_SESSION_KEY, EntityBuilder, EntityDataAccessor, FILE_UPLOADER_TRACE_NS, actionExists, applyDataSourcePagingWithoutLoad, attachmentFieldCount, attachmentNeedsHydration, attachmentsPlugin, attachmentsSemanticallyEqual, axpCreateEntityAiToolInputDefaults, axpCreateEntityCommandDefinition, canPersistEntityListState, cloneLayoutArrays, columnOrderingMiddleware, columnOrderingMiddlewareProvider, columnWidthMiddleware, columnWidthMiddlewareProvider, commandMessageTextForError, committedAttachments, computeEntityAggregates, createColumnOrderingMiddlewareProvider, createLayoutOrderingMiddlewareProvider, createModifierContext, defaultCardLayoutMiddleware, defaultCardLayoutMiddlewareProvider, defaultMultiLanguageMiddleware, defaultMultiLanguageMiddlewareProvider, detectEntityChanges, ensureLayoutPropertyView, ensureLayoutSection, ensureListActions, eventDispatchMiddleware, fetchHydratedEntityAttachments, filterSortEntityRows, findEntityListRowDataInTree, fingerprintAttachmentItem, fingerprintAttachments, formatLookupItemDisplay, formatLookupItemDisplayAsync, getDataSourcePageIndex, getEntityListRowId, getMasterInterfacePropertySortKey, hasFileUploaderTitleOrDescriptionFields, hydrateAttachmentFieldToFileList, isAXPMiddlewareAbortError, isAttachmentFieldPresentOnRow, isAttachmentListEntry, isAttachmentStorageRef, isCategoryEntity, isCategoryFilter, isFileListItem, isFileUploaderEditDialogAuto, isLazyAttachmentFieldPath, isLegacyEntityDataSelectorOptions, layoutOrderingMiddlewareFactory, layoutOrderingMiddlewareProvider, mapEntityStorageErrorToCommandResult, mapLegacyEntityDataSelectorOptions, normalizeEntityDataSelectorOptions, normalizeEntityFieldToFileList, normalizeEntityListPersistenceMode, normalizeListPaging, persistedAttachments, provideEntity, resolveAttachmentFieldPath, resolveEntityAttachmentFieldNames, resolveEntityPluginDetailPageOrder, resolveFileUploaderEditDialog, resolveFileUploaderEntityScope, resolveLookupDisplayField, resolveLookupDisplayTemplate, restoreEntityListExpandedRows, runEntityQuery, searchResultDescriptionMiddleware, searchResultDescriptionMiddlewareProvider, shouldLoadEntityListStateFromStorage, shouldResetEntityListStateOnRouteEntry };
|
|
26512
26668
|
//# sourceMappingURL=acorex-platform-layout-entity.mjs.map
|