@acorex/platform 21.0.0-beta.3 → 21.0.0-beta.5

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 (31) hide show
  1. package/fesm2022/{acorex-platform-common-common-settings.provider-G9XcXXOG.mjs → acorex-platform-common-common-settings.provider-lWz_f-Ia.mjs} +22 -24
  2. package/fesm2022/acorex-platform-common-common-settings.provider-lWz_f-Ia.mjs.map +1 -0
  3. package/fesm2022/acorex-platform-common.mjs +115 -23
  4. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  5. package/fesm2022/acorex-platform-core.mjs +89 -1
  6. package/fesm2022/acorex-platform-core.mjs.map +1 -1
  7. package/fesm2022/acorex-platform-layout-builder.mjs +104 -13
  8. package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
  9. package/fesm2022/acorex-platform-layout-components.mjs +220 -2
  10. package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
  11. package/fesm2022/acorex-platform-layout-designer.mjs +37 -2
  12. package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
  13. package/fesm2022/acorex-platform-layout-entity.mjs +149 -2
  14. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  15. package/fesm2022/acorex-platform-layout-widgets.mjs +62 -17
  16. package/fesm2022/acorex-platform-layout-widgets.mjs.map +1 -1
  17. package/fesm2022/acorex-platform-runtime.mjs +65 -2
  18. package/fesm2022/acorex-platform-runtime.mjs.map +1 -1
  19. package/fesm2022/{acorex-platform-themes-shared-settings.provider-D13QB3Hr.mjs → acorex-platform-themes-shared-settings.provider-DK6R87Lf.mjs} +23 -24
  20. package/fesm2022/acorex-platform-themes-shared-settings.provider-DK6R87Lf.mjs.map +1 -0
  21. package/fesm2022/acorex-platform-themes-shared.mjs +2 -2
  22. package/package.json +1 -1
  23. package/types/acorex-platform-common.d.ts +38 -4
  24. package/types/acorex-platform-core.d.ts +20 -2
  25. package/types/acorex-platform-layout-builder.d.ts +26 -3
  26. package/types/acorex-platform-layout-components.d.ts +52 -1
  27. package/types/acorex-platform-layout-entity.d.ts +19 -2
  28. package/types/acorex-platform-layout-widgets.d.ts +19 -5
  29. package/types/acorex-platform-runtime.d.ts +6 -0
  30. package/fesm2022/acorex-platform-common-common-settings.provider-G9XcXXOG.mjs.map +0 -1
  31. package/fesm2022/acorex-platform-themes-shared-settings.provider-D13QB3Hr.mjs.map +0 -1
@@ -6107,6 +6107,150 @@ const AXPEntityDetailViewModelResolver = (route, state, service = inject(AXPEnti
6107
6107
  return service.create(moduleName, entityName, id);
6108
6108
  };
6109
6109
 
6110
+ //#endregion
6111
+ //#region ---- Quick search: schema-driven field paths ----
6112
+ const NON_TEXT_DATATYPES = new Set([
6113
+ 'number',
6114
+ 'integer',
6115
+ 'int',
6116
+ 'long',
6117
+ 'float',
6118
+ 'double',
6119
+ 'decimal',
6120
+ 'money',
6121
+ 'currency',
6122
+ 'boolean',
6123
+ 'bool',
6124
+ 'date',
6125
+ 'datetime',
6126
+ 'time',
6127
+ 'object',
6128
+ 'array',
6129
+ 'json',
6130
+ 'image',
6131
+ 'file',
6132
+ 'binary',
6133
+ ]);
6134
+ /**
6135
+ * Whether an entity property likely stores free text worth a `contains` quick-search clause.
6136
+ */
6137
+ function isTextLikeDataType(dataType) {
6138
+ const dt = (dataType ?? 'string').toLowerCase().trim();
6139
+ if (!dt || NON_TEXT_DATATYPES.has(dt)) {
6140
+ return false;
6141
+ }
6142
+ return true;
6143
+ }
6144
+ /**
6145
+ * Lodash-get paths for quick search from a single entity definition: string-like property names
6146
+ * plus lookup `expose[].target` paths (e.g. `brand.title`).
6147
+ */
6148
+ function collectQuickSearchPathsFromSingleEntityDefinition(entity) {
6149
+ if (!entity?.properties?.length) {
6150
+ return [];
6151
+ }
6152
+ const paths = new Set();
6153
+ for (const p of entity.properties) {
6154
+ if (isTextLikeDataType(p.schema?.dataType)) {
6155
+ paths.add(p.name);
6156
+ }
6157
+ const opts = p.schema?.interface?.options;
6158
+ const expose = opts?.['expose'];
6159
+ if (!Array.isArray(expose)) {
6160
+ continue;
6161
+ }
6162
+ for (const row of expose) {
6163
+ if (row && typeof row === 'object' && typeof row.target === 'string') {
6164
+ const t = (row.target).trim();
6165
+ if (t) {
6166
+ paths.add(t);
6167
+ }
6168
+ }
6169
+ }
6170
+ }
6171
+ return [...paths];
6172
+ }
6173
+ //#endregion
6174
+ //#region ---- Column-derived nested paths ----
6175
+ /**
6176
+ * Adds dotted paths from master columns (`name` or `options.dataPath`), e.g. `person.fullName`, `jobDefinition.title`.
6177
+ */
6178
+ function collectNestedFieldPathsFromEntityColumns(entity) {
6179
+ if (!entity?.columns?.length) {
6180
+ return [];
6181
+ }
6182
+ const paths = new Set();
6183
+ for (const col of entity.columns) {
6184
+ const name = col.name.trim();
6185
+ if (name.includes('.')) {
6186
+ paths.add(name);
6187
+ }
6188
+ const rawDp = col.options?.['dataPath'];
6189
+ if (typeof rawDp === 'string') {
6190
+ const dp = rawDp.trim();
6191
+ if (dp.includes('.')) {
6192
+ paths.add(dp);
6193
+ }
6194
+ }
6195
+ }
6196
+ return [...paths];
6197
+ }
6198
+ //#endregion
6199
+ //#region ---- Related merge-detail paths ----
6200
+ function parseRelatedEntityFullName(fullName) {
6201
+ const t = fullName.trim();
6202
+ const idx = t.indexOf('.');
6203
+ if (idx <= 0 || idx >= t.length - 1) {
6204
+ return null;
6205
+ }
6206
+ return {
6207
+ moduleName: t.slice(0, idx),
6208
+ entityName: t.slice(idx + 1),
6209
+ };
6210
+ }
6211
+ //#endregion
6212
+ //#region ---- Public API ----
6213
+ /**
6214
+ * Collects lodash-get field paths used for mock/API quick search (`contains` / OR filters):
6215
+ * host properties and lookup expose targets, dotted column paths, and merge-detail related entities
6216
+ * prefixed with the related entity merge `persistence.dataPath` (e.g. `person.firstName`).
6217
+ */
6218
+ async function collectEntityQuickSearchFieldPaths(entity, resolveRelatedDefinition) {
6219
+ if (!entity) {
6220
+ return [];
6221
+ }
6222
+ const paths = new Set();
6223
+ for (const p of collectQuickSearchPathsFromSingleEntityDefinition(entity)) {
6224
+ paths.add(p);
6225
+ }
6226
+ for (const p of collectNestedFieldPathsFromEntityColumns(entity)) {
6227
+ paths.add(p);
6228
+ }
6229
+ const related = entity.relatedEntities ?? [];
6230
+ for (const rel of related) {
6231
+ const dataPath = rel.persistence?.dataPath?.trim();
6232
+ if (!dataPath || rel.layout?.type !== 'merge-detail') {
6233
+ continue;
6234
+ }
6235
+ const parsed = rel.entity ? parseRelatedEntityFullName(rel.entity) : null;
6236
+ if (!parsed) {
6237
+ continue;
6238
+ }
6239
+ const relatedDef = await resolveRelatedDefinition(parsed.moduleName, parsed.entityName);
6240
+ if (!relatedDef) {
6241
+ continue;
6242
+ }
6243
+ for (const p of collectQuickSearchPathsFromSingleEntityDefinition(relatedDef)) {
6244
+ paths.add(`${dataPath}.${p}`);
6245
+ }
6246
+ for (const p of collectNestedFieldPathsFromEntityColumns(relatedDef)) {
6247
+ paths.add(`${dataPath}.${p}`);
6248
+ }
6249
+ }
6250
+ return [...paths];
6251
+ }
6252
+ //#endregion
6253
+
6110
6254
  class AXPEntityPreloadFiltersViewModel {
6111
6255
  //#region ---- Constructor ----
6112
6256
  constructor(injector, config) {
@@ -13139,7 +13283,7 @@ class AXPLookupWidgetEditComponent extends AXPValueWidgetComponent {
13139
13283
  this.componentLook()?.focus();
13140
13284
  }
13141
13285
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPLookupWidgetEditComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
13142
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: AXPLookupWidgetEditComponent, isStandalone: true, selector: "axp-lookup-widget-edit", viewQueries: [{ propertyName: "componentLook", first: true, predicate: LookupWidgetLookBase, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: `
13286
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: AXPLookupWidgetEditComponent, isStandalone: true, selector: "axp-lookup-widget-edit", host: { classAttribute: "w-full" }, viewQueries: [{ propertyName: "componentLook", first: true, predicate: LookupWidgetLookBase, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: `
13143
13287
  @if (entityDef()) {
13144
13288
  <div class="flex items-center gap-1 w-full">
13145
13289
  @switch (look()) {
@@ -13264,6 +13408,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
13264
13408
  </div>
13265
13409
  }
13266
13410
  `,
13411
+ host: {
13412
+ class: 'w-full',
13413
+ },
13267
13414
  changeDetection: ChangeDetectionStrategy.OnPush,
13268
13415
  imports: [
13269
13416
  CommonModule,
@@ -20338,5 +20485,5 @@ var getEntityDetails_query = /*#__PURE__*/Object.freeze({
20338
20485
  * Generated bundle index. Do not edit.
20339
20486
  */
20340
20487
 
20341
- export { AXMEntityCrudService, AXMEntityCrudServiceImpl, AXPCategoryTreeService, AXPCreateEntityCommand, AXPCreateEntityWorkflow, AXPDataSeederService, AXPDeleteEntityWorkflow, AXPEntitiesListDataSourceDefinition, AXPEntityApplyUpdatesAction, AXPEntityCategoryTreeSelectorComponent, AXPEntityCategoryWidget, AXPEntityCategoryWidgetColumnComponent, AXPEntityCategoryWidgetEditComponent, AXPEntityCategoryWidgetViewComponent, AXPEntityCommandTriggerViewModel, AXPEntityCreateEvent, AXPEntityCreatePopupAction, AXPEntityCreateSubmittedAction, AXPEntityCreateViewElementViewModel, AXPEntityCreateViewModelFactory, AXPEntityCreateViewSectionViewModel, AXPEntityDataProvider, AXPEntityDataProviderImpl, AXPEntityDataSelectorService, AXPEntityDefinitionProviderWidget, AXPEntityDefinitionProviderWidgetEditComponent, AXPEntityDefinitionRegistryService, AXPEntityDeletedEvent, AXPEntityDetailListViewModel, AXPEntityDetailPopoverComponent, AXPEntityDetailPopoverService, AXPEntityDetailViewModelFactory, AXPEntityDetailViewModelResolver, AXPEntityEventDispatcherService, AXPEntityEventsKeys, AXPEntityFormBuilderService, AXPEntityListTableService, AXPEntityListToolbarService, AXPEntityListViewColumnViewModel, AXPEntityListViewModelFactory, AXPEntityListViewModelResolver, AXPEntityListWidget, AXPEntityListWidgetViewComponent, AXPEntityMasterCreateViewModel, AXPEntityMasterListViewModel, AXPEntityMasterListViewQueryViewModel, AXPEntityMasterSingleElementViewModel, AXPEntityMasterSingleViewGroupViewModel, AXPEntityMasterSingleViewModel, AXPEntityMasterUpdateElementViewModel, AXPEntityMasterUpdateViewModel, AXPEntityMasterUpdateViewModelFactory, AXPEntityMiddleware, AXPEntityModifyConfirmedAction, AXPEntityModifyEvent, AXPEntityModifySectionPopupAction, AXPEntityModule, AXPEntityPerformDeleteAction, AXPEntityPreloadFiltersContainerComponent, AXPEntityPreloadFiltersViewModel, AXPEntityPreloadFiltersViewModelResolver, AXPEntityResolver, AXPEntityService, AXPEntityStorageService, AXPEntityUpdateViewSectionViewModel, 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_CATEGORY_TREE_ROOT_TITLE_I18N_KEY, 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, EntityBuilder, EntityDataAccessor, actionExists, axpCreateEntityAiToolInputDefaults, axpCreateEntityCommandDefinition, cloneLayoutArrays, collectNestedCreateHiddenProperties, columnOrderingMiddleware, columnOrderingMiddlewareProvider, columnWidthMiddleware, columnWidthMiddlewareProvider, createColumnOrderingMiddlewareProvider, createLayoutOrderingMiddlewareProvider, createModifierContext, defaultMultiLanguageMiddleware, defaultMultiLanguageMiddlewareProvider, detectEntityChanges, ensureLayoutPropertyView, ensureLayoutSection, ensureListActions, entityDetailsCreateActions, entityDetailsCreateActionsDeferredParent, entityDetailsCrudActions, entityDetailsEditAction, entityDetailsNewEditAction, entityDetailsReferenceCondition, entityDetailsReferenceCreateActions, entityDetailsSimpleCondition, entityMasterBulkDeleteAction, entityMasterCreateAction, entityMasterCrudActions, entityMasterDeleteAction, entityMasterEditAction, entityMasterRecordActions, entityMasterViewAction, entityOverrideDetailsViewAction, eventDispatchMiddleware, getMasterInterfacePropertySortKey, isAXPMiddlewareAbortError, layoutOrderingMiddlewareFactory, layoutOrderingMiddlewareProvider, mergeForeignKeyFieldIntoCreateActions, provideEntity, resolveEntityPluginDetailPageOrder, searchResultDescriptionMiddleware, searchResultDescriptionMiddlewareProvider };
20488
+ export { AXMEntityCrudService, AXMEntityCrudServiceImpl, AXPCategoryTreeService, AXPCreateEntityCommand, AXPCreateEntityWorkflow, AXPDataSeederService, AXPDeleteEntityWorkflow, AXPEntitiesListDataSourceDefinition, AXPEntityApplyUpdatesAction, AXPEntityCategoryTreeSelectorComponent, AXPEntityCategoryWidget, AXPEntityCategoryWidgetColumnComponent, AXPEntityCategoryWidgetEditComponent, AXPEntityCategoryWidgetViewComponent, AXPEntityCommandTriggerViewModel, AXPEntityCreateEvent, AXPEntityCreatePopupAction, AXPEntityCreateSubmittedAction, AXPEntityCreateViewElementViewModel, AXPEntityCreateViewModelFactory, AXPEntityCreateViewSectionViewModel, AXPEntityDataProvider, AXPEntityDataProviderImpl, AXPEntityDataSelectorService, AXPEntityDefinitionProviderWidget, AXPEntityDefinitionProviderWidgetEditComponent, AXPEntityDefinitionRegistryService, AXPEntityDeletedEvent, AXPEntityDetailListViewModel, AXPEntityDetailPopoverComponent, AXPEntityDetailPopoverService, AXPEntityDetailViewModelFactory, AXPEntityDetailViewModelResolver, AXPEntityEventDispatcherService, AXPEntityEventsKeys, AXPEntityFormBuilderService, AXPEntityListTableService, AXPEntityListToolbarService, AXPEntityListViewColumnViewModel, AXPEntityListViewModelFactory, AXPEntityListViewModelResolver, AXPEntityListWidget, AXPEntityListWidgetViewComponent, AXPEntityMasterCreateViewModel, AXPEntityMasterListViewModel, AXPEntityMasterListViewQueryViewModel, AXPEntityMasterSingleElementViewModel, AXPEntityMasterSingleViewGroupViewModel, AXPEntityMasterSingleViewModel, AXPEntityMasterUpdateElementViewModel, AXPEntityMasterUpdateViewModel, AXPEntityMasterUpdateViewModelFactory, AXPEntityMiddleware, AXPEntityModifyConfirmedAction, AXPEntityModifyEvent, AXPEntityModifySectionPopupAction, AXPEntityModule, AXPEntityPerformDeleteAction, AXPEntityPreloadFiltersContainerComponent, AXPEntityPreloadFiltersViewModel, AXPEntityPreloadFiltersViewModelResolver, AXPEntityResolver, AXPEntityService, AXPEntityStorageService, AXPEntityUpdateViewSectionViewModel, 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_CATEGORY_TREE_ROOT_TITLE_I18N_KEY, 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, EntityBuilder, EntityDataAccessor, actionExists, axpCreateEntityAiToolInputDefaults, axpCreateEntityCommandDefinition, cloneLayoutArrays, collectEntityQuickSearchFieldPaths, collectNestedCreateHiddenProperties, collectNestedFieldPathsFromEntityColumns, collectQuickSearchPathsFromSingleEntityDefinition, columnOrderingMiddleware, columnOrderingMiddlewareProvider, columnWidthMiddleware, columnWidthMiddlewareProvider, createColumnOrderingMiddlewareProvider, createLayoutOrderingMiddlewareProvider, createModifierContext, defaultMultiLanguageMiddleware, defaultMultiLanguageMiddlewareProvider, detectEntityChanges, ensureLayoutPropertyView, ensureLayoutSection, ensureListActions, entityDetailsCreateActions, entityDetailsCreateActionsDeferredParent, entityDetailsCrudActions, entityDetailsEditAction, entityDetailsNewEditAction, entityDetailsReferenceCondition, entityDetailsReferenceCreateActions, entityDetailsSimpleCondition, entityMasterBulkDeleteAction, entityMasterCreateAction, entityMasterCrudActions, entityMasterDeleteAction, entityMasterEditAction, entityMasterRecordActions, entityMasterViewAction, entityOverrideDetailsViewAction, eventDispatchMiddleware, getMasterInterfacePropertySortKey, isAXPMiddlewareAbortError, layoutOrderingMiddlewareFactory, layoutOrderingMiddlewareProvider, mergeForeignKeyFieldIntoCreateActions, provideEntity, resolveEntityPluginDetailPageOrder, searchResultDescriptionMiddleware, searchResultDescriptionMiddlewareProvider };
20342
20489
  //# sourceMappingURL=acorex-platform-layout-entity.mjs.map