@acorex/platform 19.1.8 → 19.1.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/common/lib/app/application.types.d.ts +4 -0
- package/common/lib/common.module.d.ts +2 -2
- package/common/lib/layout/menu/menu.types.d.ts +2 -1
- package/common/lib/search/search-definition.builder.d.ts +5 -2
- package/common/lib/search/search.provider.d.ts +1 -1
- package/common/lib/search/search.service.d.ts +1 -0
- package/common/lib/search/search.types.d.ts +21 -5
- package/common/lib/settings/settings.service.d.ts +11 -5
- package/common/lib/workflows/navigate.workflow.d.ts +4 -0
- package/fesm2022/acorex-platform-common.mjs +105 -126
- package/fesm2022/acorex-platform-common.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-builder.mjs +2 -0
- package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-designer.mjs +3 -3
- package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-entity.mjs +107 -62
- package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-search.mjs +76 -17
- package/fesm2022/acorex-platform-layout-search.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-setting.mjs +111 -5
- package/fesm2022/acorex-platform-layout-setting.mjs.map +1 -1
- package/fesm2022/{acorex-platform-themes-default-entity-master-list-view.component-BUL6ti4U.mjs → acorex-platform-themes-default-entity-master-list-view.component-BDjcOo6R.mjs} +3 -3
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-BDjcOo6R.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default-search-popup.component-gkiSZXm-.mjs +122 -0
- package/fesm2022/acorex-platform-themes-default-search-popup.component-gkiSZXm-.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default.mjs +11 -11
- package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
- package/fesm2022/acorex-platform-themes-shared.mjs +9 -9
- package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
- package/fesm2022/acorex-platform-widgets.mjs +1271 -816
- package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
- package/fesm2022/acorex-platform-workflow.mjs +10 -3
- package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
- package/layout/builder/lib/builder/widget-map.d.ts +2 -0
- package/layout/designer/lib/preview/preview.component.d.ts +2 -2
- package/layout/entity/lib/entity-master-single.viewmodel.d.ts +6 -6
- package/layout/entity/lib/search-definition-command.provider.d.ts +4 -0
- package/layout/entity/lib/widgets/lookup-widget/lookup-widget-edit.component.d.ts +1 -1
- package/layout/search/lib/search.viewmodel.d.ts +17 -1
- package/layout/setting/index.d.ts +1 -0
- package/{common/lib/settings → layout/setting/lib}/search-definition.provider.d.ts +1 -1
- package/layout/setting/lib/search.provider.d.ts +9 -0
- package/layout/setting/lib/settings.module.d.ts +9 -0
- package/package.json +9 -9
- package/themes/default/lib/layouts/entity-layouts/entity-master-list-view/list-view-option-columns/list-view-option-columns.component.d.ts +2 -2
- package/themes/default/lib/layouts/search-layout/search-popup.component.d.ts +7 -0
- package/themes/shared/lib/components/layout-elements/layout-list.component.d.ts +3 -3
- package/widgets/lib/widgets/index.d.ts +1 -0
- package/widgets/lib/widgets/layout/advanced-grid/advanced-grid-widget-designer.component.d.ts +28 -0
- package/widgets/lib/widgets/layout/advanced-grid/advanced-grid-widget-view.component.d.ts +9 -0
- package/widgets/lib/widgets/layout/advanced-grid/advanced-grid-widget.config.d.ts +7 -0
- package/widgets/lib/widgets/layout/advanced-grid/index.d.ts +3 -0
- package/widgets/lib/widgets/layout/grid/grid-widget-designer.component.d.ts +6 -3
- package/widgets/lib/widgets/property-editors/flex-options/flex-options-widget-editor.component.d.ts +6 -6
- package/widgets/lib/widgets/property-editors/grid-options/grid-options-widget-editor.component.d.ts +23 -12
- package/widgets/lib/widgets/property-editors/grid-options/grid-options-widget.type.d.ts +4 -2
- package/widgets/lib/widgets/property-editors/property-editor-helper.d.ts +2 -2
- package/widgets/lib/widgets/property-editors/property-editor.type.d.ts +5 -0
- package/workflow/lib/workflow.service.d.ts +1 -0
- package/workflow/lib/workflow.types.d.ts +1 -1
- package/common/lib/settings/search.provider.d.ts +0 -10
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-BUL6ti4U.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-search-popup.component-BiKt6Mvr.mjs +0 -84
- package/fesm2022/acorex-platform-themes-default-search-popup.component-BiKt6Mvr.mjs.map +0 -1
- package/layout/entity/lib/search.provider.d.ts +0 -4
|
@@ -2,7 +2,7 @@ import * as i2$1 from '@acorex/components/common';
|
|
|
2
2
|
import { AXDataSource, AXCommonModule } from '@acorex/components/common';
|
|
3
3
|
import { AXFormatService } from '@acorex/core/format';
|
|
4
4
|
import * as i1$3 from '@acorex/platform/common';
|
|
5
|
-
import { resolveActionLook, AXPFilterOperatorMiddlewareService, AXPEntityCommandScope, getEntityInfo, AXPSettingScope,
|
|
5
|
+
import { resolveActionLook, AXPFilterOperatorMiddlewareService, AXPEntityCommandScope, getEntityInfo, AXPSettingScope, AXPSettingService, AXPRefreshEvent, AXPWorkflowNavigateAction, AXP_SEARCH_DEFINITION_PROVIDER, AXPToastAction } from '@acorex/platform/common';
|
|
6
6
|
import * as i2$3 from '@acorex/platform/workflow';
|
|
7
7
|
import { AXPWorkflowService, ofType, createWorkFlowEvent, AXPWorkflowAction, AXPWorkflowModule } from '@acorex/platform/workflow';
|
|
8
8
|
import * as i0 from '@angular/core';
|
|
@@ -13,10 +13,10 @@ import { AXPSessionService, AXPAuthGuard } from '@acorex/platform/auth';
|
|
|
13
13
|
import * as i7 from '@acorex/platform/layout/builder';
|
|
14
14
|
import { AXPWidgetRegistryService, AXPWidgetComponent, AXPLayoutBuilderModule, AXPColumnWidgetComponent, AXP_WIDGETS_EDITOR_GROUP, AXPWidgetsCatalog } from '@acorex/platform/layout/builder';
|
|
15
15
|
import { Subject, takeUntil } from 'rxjs';
|
|
16
|
-
import { AXDialogService } from '@acorex/components/dialog';
|
|
17
|
-
import { AXLoadingDialogService } from '@acorex/components/loading-dialog';
|
|
18
16
|
import * as i8 from '@acorex/core/translation';
|
|
19
17
|
import { AXTranslationService, AXTranslationModule } from '@acorex/core/translation';
|
|
18
|
+
import { AXDialogService } from '@acorex/components/dialog';
|
|
19
|
+
import { AXLoadingDialogService } from '@acorex/components/loading-dialog';
|
|
20
20
|
import { AXPopupService } from '@acorex/components/popup';
|
|
21
21
|
import { AXPlatform } from '@acorex/core/platform';
|
|
22
22
|
import { RouterModule, ROUTES } from '@angular/router';
|
|
@@ -278,9 +278,18 @@ class AXPEntityDetailListViewModel {
|
|
|
278
278
|
data[relatedColumn] = this.parent.data['id'];
|
|
279
279
|
}
|
|
280
280
|
}
|
|
281
|
+
console.log({ action, detailEntity: this.detailEntity });
|
|
281
282
|
await this.workflow.execute(commandName, {
|
|
282
283
|
entity: getEntityInfo(this.detailEntity()).source,
|
|
283
284
|
data: action?.scope == AXPEntityCommandScope.Selected ? this.selectedItems() : data,
|
|
285
|
+
entityInfo: {
|
|
286
|
+
name: this.detailEntity()?.name,
|
|
287
|
+
module: this.detailEntity()?.module,
|
|
288
|
+
title: this.detailEntity()?.title,
|
|
289
|
+
parentKey: this.detailEntity()?.parentKey,
|
|
290
|
+
source: this.detailEntity()?.source,
|
|
291
|
+
},
|
|
292
|
+
options: action?.options,
|
|
284
293
|
});
|
|
285
294
|
}
|
|
286
295
|
}
|
|
@@ -555,7 +564,7 @@ class AXPEntityMasterListViewModel {
|
|
|
555
564
|
this.formatService = this.injector.get(AXFormatService);
|
|
556
565
|
this.session = this.injector.get(AXPSessionService);
|
|
557
566
|
this.workflow = this.injector.get(AXPWorkflowService);
|
|
558
|
-
this.settings = this.injector.get(
|
|
567
|
+
this.settings = this.injector.get(AXPSettingService);
|
|
559
568
|
this.widgetResolver = this.injector.get(AXPWidgetRegistryService);
|
|
560
569
|
this.filterOperatorMiddleware = this.injector.get(AXPFilterOperatorMiddlewareService);
|
|
561
570
|
this.settingListViewKey = '';
|
|
@@ -1207,7 +1216,7 @@ class AXPEntityMasterSingleViewGroupViewModel {
|
|
|
1207
1216
|
constructor(entity, section) {
|
|
1208
1217
|
this.entity = entity;
|
|
1209
1218
|
this.section = section;
|
|
1210
|
-
this.group = this.entity.groups?.find(c => c.id == this.section.id);
|
|
1219
|
+
this.group = this.entity.groups?.find((c) => c.id == this.section.id);
|
|
1211
1220
|
this.name = signal(this.group.id);
|
|
1212
1221
|
this.isLoading = signal(false);
|
|
1213
1222
|
this.title = computed(() => {
|
|
@@ -1218,7 +1227,7 @@ class AXPEntityMasterSingleViewGroupViewModel {
|
|
|
1218
1227
|
});
|
|
1219
1228
|
this.layout = computed(() => {
|
|
1220
1229
|
const source = cloneDeep(this.section.layout ?? {});
|
|
1221
|
-
set(source,
|
|
1230
|
+
set(source, 'positions.default.colSpan', 12);
|
|
1222
1231
|
return source;
|
|
1223
1232
|
});
|
|
1224
1233
|
this.props = computed(() => {
|
|
@@ -1228,13 +1237,13 @@ class AXPEntityMasterSingleViewGroupViewModel {
|
|
|
1228
1237
|
.filter(({ groupId, schema }) => groupId === this.group.id && !schema.hidden)
|
|
1229
1238
|
.map(({ name }) => name);
|
|
1230
1239
|
const viewProperties = interfaces?.master?.single?.properties?.filter(({ name }) => groupProperties.includes(name)) ?? [];
|
|
1231
|
-
return viewProperties.map(prop => new AXPEntityMasterSingleElementViewModel(this.entity, this, prop));
|
|
1240
|
+
return viewProperties.map((prop) => new AXPEntityMasterSingleElementViewModel(this.entity, this, prop));
|
|
1232
1241
|
});
|
|
1233
1242
|
this.editableProps = computed(() => {
|
|
1234
1243
|
const { properties, interfaces } = this.entity;
|
|
1235
1244
|
const editablePropertyNames = interfaces?.master?.update?.properties?.map(({ name }) => name) ?? [];
|
|
1236
1245
|
const filteredProperties = properties.filter(({ groupId, schema, name }) => groupId === this.group.id && !schema.hidden && editablePropertyNames.includes(name));
|
|
1237
|
-
return filteredProperties.map(prop => new AXPEntityMasterSingleElementViewModel(this.entity, this, prop));
|
|
1246
|
+
return filteredProperties.map((prop) => new AXPEntityMasterSingleElementViewModel(this.entity, this, prop));
|
|
1238
1247
|
});
|
|
1239
1248
|
this.editable = computed(() => {
|
|
1240
1249
|
return this.editableProps().length > 0;
|
|
@@ -1246,15 +1255,15 @@ class AXPEntityMasterSingleElementViewModel {
|
|
|
1246
1255
|
this.entity = entity;
|
|
1247
1256
|
this.section = section;
|
|
1248
1257
|
this.propertyView = propertyView;
|
|
1249
|
-
this.property = this.entity.properties.find(c => c.name == this.propertyView.name);
|
|
1258
|
+
this.property = this.entity.properties.find((c) => c.name == this.propertyView.name);
|
|
1250
1259
|
this.name = signal(this.property.name);
|
|
1251
1260
|
this.title = signal(this.property.title);
|
|
1252
1261
|
this.showLabel = signal(this.propertyView.layout?.label?.visible != false);
|
|
1253
1262
|
this.description = signal(this.property.description);
|
|
1254
1263
|
this.layout = computed(() => {
|
|
1255
|
-
const viewProp = this.entity.interfaces?.master?.single?.properties?.find(c => c.name == this.property.name);
|
|
1264
|
+
const viewProp = this.entity.interfaces?.master?.single?.properties?.find((c) => c.name == this.property.name);
|
|
1256
1265
|
const source = cloneDeep(viewProp?.layout ?? {});
|
|
1257
|
-
set(source,
|
|
1266
|
+
set(source, 'positions.default.colSpan', 12);
|
|
1258
1267
|
return source;
|
|
1259
1268
|
});
|
|
1260
1269
|
this.node = computed(() => {
|
|
@@ -1266,7 +1275,10 @@ class AXPEntityMasterSingleElementViewModel {
|
|
|
1266
1275
|
path: this.name(),
|
|
1267
1276
|
children: widget.children,
|
|
1268
1277
|
formula: widget.formula,
|
|
1269
|
-
options: merge(schema.interface?.options
|
|
1278
|
+
options: merge(schema.interface?.options
|
|
1279
|
+
//this.property.options?.create?.widget,
|
|
1280
|
+
//{ validationRules: this.property.validations },
|
|
1281
|
+
),
|
|
1270
1282
|
};
|
|
1271
1283
|
});
|
|
1272
1284
|
}
|
|
@@ -1285,20 +1297,20 @@ class AXPEntityMasterSingleViewModel {
|
|
|
1285
1297
|
this.translateService = this.injector.get(AXTranslationService);
|
|
1286
1298
|
this.context = signal(cloneDeep(this.entityData));
|
|
1287
1299
|
this.actions = computed(() => {
|
|
1288
|
-
return this.entityDef.interfaces?.master?.single?.actions?.map((tr) => new AXPEntityCommandTriggerViewModel(this.entityDef, tr)) ?? [];
|
|
1300
|
+
return (this.entityDef.interfaces?.master?.single?.actions?.map((tr) => new AXPEntityCommandTriggerViewModel(this.entityDef, tr)) ?? []);
|
|
1289
1301
|
});
|
|
1290
1302
|
this.primaryActions = computed(() => {
|
|
1291
|
-
return this.actions().filter(c => c.priority == 'primary');
|
|
1303
|
+
return this.actions().filter((c) => c.priority == 'primary');
|
|
1292
1304
|
});
|
|
1293
1305
|
this.secondaryActions = computed(() => {
|
|
1294
|
-
return this.actions().filter(c => c.priority == 'secondary');
|
|
1306
|
+
return this.actions().filter((c) => c.priority == 'secondary');
|
|
1295
1307
|
});
|
|
1296
1308
|
this.sections = computed(() => {
|
|
1297
1309
|
const { interfaces, properties } = this.entityDef;
|
|
1298
1310
|
const viewProps = interfaces?.master?.single?.properties?.map(({ name }) => name) ?? [];
|
|
1299
1311
|
const filteredProperties = properties.filter(({ groupId, schema, name }) => groupId && !schema.hidden && viewProps.includes(name));
|
|
1300
1312
|
const groups = interfaces?.master?.single?.sections?.filter(({ id }) => filteredProperties.some(({ groupId }) => groupId === id)) ?? [];
|
|
1301
|
-
return groups.map(section => new AXPEntityMasterSingleViewGroupViewModel(this.entityDef, section));
|
|
1313
|
+
return groups.map((section) => new AXPEntityMasterSingleViewGroupViewModel(this.entityDef, section));
|
|
1302
1314
|
});
|
|
1303
1315
|
//****************** Title ******************//
|
|
1304
1316
|
this.title = computed(() => {
|
|
@@ -1310,27 +1322,36 @@ class AXPEntityMasterSingleViewModel {
|
|
|
1310
1322
|
});
|
|
1311
1323
|
//****************** Description ******************//
|
|
1312
1324
|
this.description = computed(() => {
|
|
1313
|
-
return this._viewDef.description
|
|
1325
|
+
return this._viewDef.description
|
|
1326
|
+
? this.formatService.format(this._viewDef.description, 'string', this.context())
|
|
1327
|
+
: null;
|
|
1314
1328
|
});
|
|
1315
1329
|
//****************** Beardcrumbs ******************//
|
|
1316
1330
|
this.beardcrumbs = computed(() => {
|
|
1317
1331
|
return [
|
|
1318
1332
|
{
|
|
1319
1333
|
title: this.translateService.translateSync('entity.home'),
|
|
1320
|
-
icon:
|
|
1321
|
-
url: [`/${this.session.application?.name}`]
|
|
1334
|
+
icon: 'fa-solid fa-home ax-text-xs ax-me-2',
|
|
1335
|
+
url: [`/${this.session.application?.name}`],
|
|
1322
1336
|
},
|
|
1323
1337
|
{
|
|
1324
1338
|
title: this.entityDef.formats.plural ?? this.entityDef.formats.individual,
|
|
1325
|
-
url: [
|
|
1339
|
+
url: [
|
|
1340
|
+
`/${this.session.application?.name}`,
|
|
1341
|
+
'm',
|
|
1342
|
+
`${this.entityDef.module}`,
|
|
1343
|
+
'e',
|
|
1344
|
+
`${this.entityDef.name}`,
|
|
1345
|
+
'list',
|
|
1346
|
+
],
|
|
1326
1347
|
},
|
|
1327
1348
|
{
|
|
1328
1349
|
title: this.title(),
|
|
1329
|
-
}
|
|
1350
|
+
},
|
|
1330
1351
|
];
|
|
1331
1352
|
});
|
|
1332
1353
|
this.relatedEntities = computed(() => {
|
|
1333
|
-
return this.entityDef.relatedEntities?.map(re => new AXPEntityDetailListViewModel(this.injector, re, { entity: this.entityDef, data: this.entityData })) ?? [];
|
|
1354
|
+
return (this.entityDef.relatedEntities?.map((re) => new AXPEntityDetailListViewModel(this.injector, re, { entity: this.entityDef, data: this.entityData })) ?? []);
|
|
1334
1355
|
});
|
|
1335
1356
|
this.workflow.events$
|
|
1336
1357
|
.pipe(ofType(AXPEntityDeletedEvent))
|
|
@@ -1339,7 +1360,7 @@ class AXPEntityMasterSingleViewModel {
|
|
|
1339
1360
|
if (event.payload.entity == getEntityInfo(this.entityDef).source &&
|
|
1340
1361
|
event.payload.ids.includes(this.context().id)) {
|
|
1341
1362
|
this.workflow.execute('show-list-view', {
|
|
1342
|
-
entity: getEntityInfo(this.entityDef).source
|
|
1363
|
+
entity: getEntityInfo(this.entityDef).source,
|
|
1343
1364
|
});
|
|
1344
1365
|
}
|
|
1345
1366
|
});
|
|
@@ -1361,19 +1382,18 @@ class AXPEntityMasterSingleViewModel {
|
|
|
1361
1382
|
entity: getEntityInfo(this.entityDef).source,
|
|
1362
1383
|
data: {
|
|
1363
1384
|
id: this.context().id,
|
|
1364
|
-
properties: data.editableProps().map(m => m.name()),
|
|
1385
|
+
properties: data.editableProps().map((m) => m.name()),
|
|
1365
1386
|
},
|
|
1366
1387
|
});
|
|
1367
1388
|
break;
|
|
1368
1389
|
}
|
|
1369
|
-
default:
|
|
1370
|
-
|
|
1371
|
-
|
|
1372
|
-
this.
|
|
1373
|
-
|
|
1374
|
-
|
|
1375
|
-
|
|
1376
|
-
}
|
|
1390
|
+
default: {
|
|
1391
|
+
const action = this.actions().find((c) => c.name == commandName);
|
|
1392
|
+
this.workflow.execute(commandName, {
|
|
1393
|
+
entity: getEntityInfo(this.entityDef).source,
|
|
1394
|
+
data: action?.scope == AXPEntityCommandScope.Individual ? this.context() : null,
|
|
1395
|
+
});
|
|
1396
|
+
}
|
|
1377
1397
|
}
|
|
1378
1398
|
}
|
|
1379
1399
|
//
|
|
@@ -1416,35 +1436,57 @@ const AXPEntityDetailViewModelResolver = (route, state, service = inject(AXPEnti
|
|
|
1416
1436
|
return service.create(moduleName, entityName, id);
|
|
1417
1437
|
};
|
|
1418
1438
|
|
|
1439
|
+
class AXPEntityCommandSearchDefinitionProvider {
|
|
1440
|
+
async provide(context) {
|
|
1441
|
+
context.addDefinition('command', 'Commands', 'fa-solid fa-command', 1, {
|
|
1442
|
+
format: {
|
|
1443
|
+
id: '{{id}}',
|
|
1444
|
+
},
|
|
1445
|
+
actions: [
|
|
1446
|
+
{
|
|
1447
|
+
name: 'open-entity',
|
|
1448
|
+
type: 'view',
|
|
1449
|
+
priority: 'primary',
|
|
1450
|
+
},
|
|
1451
|
+
],
|
|
1452
|
+
});
|
|
1453
|
+
}
|
|
1454
|
+
}
|
|
1455
|
+
|
|
1419
1456
|
class AXPEntitySearchDefinitionProvider {
|
|
1420
1457
|
constructor() {
|
|
1421
1458
|
this.entityRegister = inject(AXPEntityDefinitionRegistryService);
|
|
1422
1459
|
}
|
|
1423
1460
|
async provide(context) {
|
|
1461
|
+
const moduleDefinitions = new Map();
|
|
1424
1462
|
this.entityRegister.getAll().forEach((entity) => {
|
|
1425
|
-
|
|
1426
|
-
|
|
1427
|
-
|
|
1428
|
-
|
|
1429
|
-
|
|
1430
|
-
|
|
1431
|
-
|
|
1432
|
-
|
|
1463
|
+
if (!moduleDefinitions.has(entity.module)) {
|
|
1464
|
+
moduleDefinitions.set(`Module.${entity.module}`, {
|
|
1465
|
+
name: `Module.${entity.module}`,
|
|
1466
|
+
title: entity.formats.searchResult?.description ?? entity.module,
|
|
1467
|
+
icon: 'fa-solid fa-objects-column',
|
|
1468
|
+
order: 4,
|
|
1469
|
+
actions: [
|
|
1470
|
+
{
|
|
1471
|
+
name: 'open-entity',
|
|
1472
|
+
type: 'view',
|
|
1473
|
+
priority: 'primary',
|
|
1433
1474
|
},
|
|
1434
|
-
|
|
1435
|
-
|
|
1475
|
+
],
|
|
1476
|
+
format: {
|
|
1477
|
+
title: entity.formats.searchResult?.title,
|
|
1478
|
+
description: (entity.formats.searchResult?.description ?? entity.module) + ' / ' + entity.title,
|
|
1479
|
+
id: '{{data.id}}',
|
|
1436
1480
|
},
|
|
1437
|
-
|
|
1481
|
+
});
|
|
1438
1482
|
}
|
|
1439
1483
|
});
|
|
1440
|
-
|
|
1441
|
-
|
|
1442
|
-
|
|
1443
|
-
|
|
1444
|
-
|
|
1445
|
-
|
|
1446
|
-
{ name: 'open', command: { name: 'view', options: {} }, type: 'view', priority: 'primary' },
|
|
1447
|
-
]);
|
|
1484
|
+
moduleDefinitions.forEach((definition) => {
|
|
1485
|
+
context.addDefinition(definition.name, definition.title, definition.icon, definition.order, {
|
|
1486
|
+
format: definition.format,
|
|
1487
|
+
actions: definition.actions,
|
|
1488
|
+
});
|
|
1489
|
+
});
|
|
1448
1490
|
}
|
|
1449
1491
|
}
|
|
1450
1492
|
|
|
@@ -1865,9 +1907,9 @@ class AXPLookupWidgetEditComponent extends AXPWidgetComponent {
|
|
|
1865
1907
|
this.translateService = inject(AXTranslationService);
|
|
1866
1908
|
this.expose = computed(() => this.options()['expose']);
|
|
1867
1909
|
this.entity = computed(() => this.options()['entity']);
|
|
1868
|
-
this.validationRules = computed(() => this.options()[
|
|
1910
|
+
this.validationRules = computed(() => this.options()['validationRules'] ?? []);
|
|
1869
1911
|
this.textField = computed(() => {
|
|
1870
|
-
return this.entityDef()?.formats.lookup ?? this.entityDef()?.properties.find((c) => c.name != 'id')?.name ?? 'title';
|
|
1912
|
+
return (this.entityDef()?.formats.lookup ?? this.entityDef()?.properties.find((c) => c.name != 'id')?.name ?? 'title');
|
|
1871
1913
|
});
|
|
1872
1914
|
this.entityDef = signal(null);
|
|
1873
1915
|
this.searchTerm = signal(null);
|
|
@@ -2086,7 +2128,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
|
|
|
2086
2128
|
AXLoadingModule,
|
|
2087
2129
|
AXValidationModule,
|
|
2088
2130
|
AXFormModule,
|
|
2089
|
-
]
|
|
2131
|
+
],
|
|
2090
2132
|
}]
|
|
2091
2133
|
}], propDecorators: { textbox: [{
|
|
2092
2134
|
type: ViewChild,
|
|
@@ -2385,6 +2427,7 @@ class AXPEntityCreatePopupAction extends AXPWorkflowAction {
|
|
|
2385
2427
|
const [module, entity] = context.getVariable('entity').split('.');
|
|
2386
2428
|
const data = context.getVariable('data');
|
|
2387
2429
|
const options = context.getVariable('options');
|
|
2430
|
+
console.log('options', options);
|
|
2388
2431
|
const process = options?.['process'];
|
|
2389
2432
|
const decoration = options?.['decoration'];
|
|
2390
2433
|
const headerTitle = decoration?.header?.title;
|
|
@@ -2656,14 +2699,14 @@ function routesFacory() {
|
|
|
2656
2699
|
class AXPEntityModule {
|
|
2657
2700
|
constructor(appInitService, injector) {
|
|
2658
2701
|
const service = injector.get(AXPEntityDefinitionRegistryService);
|
|
2659
|
-
appInitService.registerTask({
|
|
2660
|
-
|
|
2661
|
-
|
|
2662
|
-
|
|
2663
|
-
|
|
2664
|
-
|
|
2665
|
-
|
|
2666
|
-
});
|
|
2702
|
+
// appInitService.registerTask({
|
|
2703
|
+
// name: 'layout-theme',
|
|
2704
|
+
// statusText: 'Preload entities ...',
|
|
2705
|
+
// run: async () => {
|
|
2706
|
+
// // load in background
|
|
2707
|
+
// service.preload();
|
|
2708
|
+
// },
|
|
2709
|
+
// });
|
|
2667
2710
|
}
|
|
2668
2711
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPEntityModule, deps: [{ token: i1$3.AXPAppStartUpService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
2669
2712
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.3", ngImport: i0, type: AXPEntityModule, imports: [RouterModule, i2$3.AXPWorkflowModule, i7.AXPLayoutBuilderModule] }); }
|
|
@@ -2706,6 +2749,7 @@ class AXPEntityModule {
|
|
|
2706
2749
|
'open-entity': AXPShowDetailsViewWorkflow,
|
|
2707
2750
|
'show-list-view': AXPShowListViewWorkflow,
|
|
2708
2751
|
},
|
|
2752
|
+
functions: {},
|
|
2709
2753
|
}),
|
|
2710
2754
|
AXPLayoutBuilderModule.forChild({
|
|
2711
2755
|
widgets: [AXPLookupWidget, AXPWidgetSelectorWidget],
|
|
@@ -2738,6 +2782,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
|
|
|
2738
2782
|
'open-entity': AXPShowDetailsViewWorkflow,
|
|
2739
2783
|
'show-list-view': AXPShowListViewWorkflow,
|
|
2740
2784
|
},
|
|
2785
|
+
functions: {},
|
|
2741
2786
|
}),
|
|
2742
2787
|
AXPLayoutBuilderModule.forChild({
|
|
2743
2788
|
widgets: [AXPLookupWidget, AXPWidgetSelectorWidget],
|