@acorex/platform 20.3.0-next.23 → 20.3.0-next.24

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.
@@ -18,6 +18,7 @@ import { CommonModule } from '@angular/common';
18
18
  import { castArray, get, cloneDeep, set, merge, isEqual, isNil, isEmpty, sortBy } from 'lodash-es';
19
19
  import { AXDataSource } from '@acorex/cdk/common';
20
20
  import { AXFormatService } from '@acorex/core/format';
21
+ import * as i4$1 from '@acorex/platform/common';
21
22
  import { AXPFilterOperatorMiddlewareService, AXPEntityCommandScope, getEntityInfo, AXPSettingService, AXPRefreshEvent, AXPReloadEvent, AXPCommonSettings, AXPCleanNestedFilters, AXPWorkflowNavigateAction, AXPToastAction, AXP_SEARCH_DEFINITION_PROVIDER } from '@acorex/platform/common';
22
23
  import * as i1$2 from '@acorex/platform/core';
23
24
  import { resolveActionLook, AXPExpressionEvaluatorService, AXPDistributedEventListenerService, AXPBroadcastEventService, AXPPlatformScope, getChangedPaths, extractValue, setSmart, AXPSystemActionType } from '@acorex/platform/core';
@@ -32,7 +33,7 @@ import { AXPopupService } from '@acorex/components/popup';
32
33
  import { AXPlatform } from '@acorex/core/platform';
33
34
  import * as i3$2 from '@acorex/components/decorators';
34
35
  import { AXDecoratorModule } from '@acorex/components/decorators';
35
- import * as i4$1 from '@acorex/components/dropdown';
36
+ import * as i4$2 from '@acorex/components/dropdown';
36
37
  import { AXDropdownModule } from '@acorex/components/dropdown';
37
38
  import { AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY, AXP_DISABLED_PROPERTY, AXP_ALLOW_CLEAR_PROPERTY, AXP_DATA_PROPERTY_GROUP, AXP_ALLOW_MULTIPLE_PROPERTY, AXPFileUploaderWidgetService } from '@acorex/platform/layout/widgets';
38
39
  import * as i1$1 from '@angular/forms';
@@ -3309,7 +3310,7 @@ class AXPPageListConverter extends AXPBaseRelatedEntityConverter {
3309
3310
  return await context.expressionEvaluator.evaluate(actionData, scope);
3310
3311
  };
3311
3312
  const evaluatedActions = await evaluateExpressions(relatedEntity?.actions);
3312
- const filters = relatedEntity.conditions?.map(async (c) => {
3313
+ const filters = await Promise.all(relatedEntity.conditions?.map(async (c) => {
3313
3314
  const value = await evaluateExpressions(c.value);
3314
3315
  return {
3315
3316
  field: c.name,
@@ -3317,7 +3318,8 @@ class AXPPageListConverter extends AXPBaseRelatedEntityConverter {
3317
3318
  value: value,
3318
3319
  hidden: true,
3319
3320
  };
3320
- }) ?? [];
3321
+ }) ?? []);
3322
+ const transformedFilters = await context.filterOperatorMiddleware?.transformFilters(filters);
3321
3323
  return {
3322
3324
  id: entityDef?.name ?? '',
3323
3325
  title: `${context.rootTitle}`,
@@ -3397,7 +3399,7 @@ class AXPPageListConverter extends AXPBaseRelatedEntityConverter {
3397
3399
  name: 'page-list',
3398
3400
  defaultValue: {
3399
3401
  toolbar: {
3400
- filters: await Promise.all(filters),
3402
+ filters: await Promise.all(transformedFilters),
3401
3403
  },
3402
3404
  },
3403
3405
  options: {
@@ -3480,7 +3482,7 @@ class AXPTabListConverter extends AXPBaseRelatedEntityConverter {
3480
3482
  return await context.expressionEvaluator.evaluate(actionData, scope);
3481
3483
  };
3482
3484
  // console.log({ relatedEntity });
3483
- const filters = relatedEntity.conditions?.map(async (c) => {
3485
+ const filters = await Promise.all(relatedEntity.conditions?.map(async (c) => {
3484
3486
  const value = await evaluateExpressions(c.value);
3485
3487
  return {
3486
3488
  field: c.name,
@@ -3488,8 +3490,9 @@ class AXPTabListConverter extends AXPBaseRelatedEntityConverter {
3488
3490
  value: value,
3489
3491
  hidden: true,
3490
3492
  };
3491
- }) ?? [];
3493
+ }) ?? []);
3492
3494
  const actions = await evaluateExpressions(relatedEntity.actions);
3495
+ const transformedFilters = await Promise.all(context.filterOperatorMiddleware?.transformFilters(filters));
3493
3496
  return {
3494
3497
  id: entityDef?.name ?? '',
3495
3498
  title: relatedEntity.title ?? entityDef?.title ?? '',
@@ -3500,7 +3503,7 @@ class AXPTabListConverter extends AXPBaseRelatedEntityConverter {
3500
3503
  name: `${relatedEntity.entity}-tab-list`,
3501
3504
  defaultValue: {
3502
3505
  toolbar: {
3503
- filters: await Promise.all(filters),
3506
+ filters: transformedFilters,
3504
3507
  },
3505
3508
  },
3506
3509
  options: {
@@ -3558,6 +3561,7 @@ class AXPMainEntityContentBuilder {
3558
3561
  this.relatedEntityConverterFactory = relatedEntityConverterFactory;
3559
3562
  this.workflowService = inject(AXPWorkflowService);
3560
3563
  this.commandService = inject(AXPCommandService);
3564
+ this.filterOperatorMiddleware = inject(AXPFilterOperatorMiddlewareService);
3561
3565
  }
3562
3566
  async build(entity, rootContext, dependencies, rootTitle) {
3563
3567
  const groups = entity?.groups ?? [];
@@ -4142,6 +4146,7 @@ class AXPMainEntityContentBuilder {
4142
4146
  entityResolver: dependencies.entityResolver,
4143
4147
  expressionEvaluator: dependencies.expressionEvaluator,
4144
4148
  context: rootContext,
4149
+ filterOperatorMiddleware: this.filterOperatorMiddleware,
4145
4150
  }));
4146
4151
  }
4147
4152
  return tabs;
@@ -4157,10 +4162,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImpor
4157
4162
  }], ctorParameters: () => [{ type: AXPRelatedEntityConverterFactory }] });
4158
4163
 
4159
4164
  class AXPLayoutAdapterFactory {
4160
- constructor(relatedEntityConverterFactory, mainEntityContentBuilder, layoutAdapterBuilder) {
4165
+ constructor(relatedEntityConverterFactory, mainEntityContentBuilder, layoutAdapterBuilder, filterOperatorMiddleware) {
4161
4166
  this.relatedEntityConverterFactory = relatedEntityConverterFactory;
4162
4167
  this.mainEntityContentBuilder = mainEntityContentBuilder;
4163
4168
  this.layoutAdapterBuilder = layoutAdapterBuilder;
4169
+ this.filterOperatorMiddleware = filterOperatorMiddleware;
4164
4170
  }
4165
4171
  async createDetailsViewAdapter(entityResolver, moduleName, entityName, id, dependencies) {
4166
4172
  const entity = await entityResolver.resolve(moduleName, entityName);
@@ -4209,6 +4215,7 @@ class AXPLayoutAdapterFactory {
4209
4215
  ...dependencies,
4210
4216
  context: rootContext,
4211
4217
  rootTitle: rootTitle,
4218
+ filterOperatorMiddleware: this.filterOperatorMiddleware,
4212
4219
  }));
4213
4220
  }
4214
4221
  // Include nested page-related entities from merge-detail related entities
@@ -4288,7 +4295,7 @@ class AXPLayoutAdapterFactory {
4288
4295
  const title = await dependencies.expressionEvaluator.evaluate(entity.interfaces?.master?.single?.title, rootContext);
4289
4296
  return title;
4290
4297
  }
4291
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPLayoutAdapterFactory, deps: [{ token: AXPRelatedEntityConverterFactory }, { token: AXPMainEntityContentBuilder }, { token: AXPLayoutAdapterBuilder }], target: i0.ɵɵFactoryTarget.Injectable }); }
4298
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPLayoutAdapterFactory, deps: [{ token: AXPRelatedEntityConverterFactory }, { token: AXPMainEntityContentBuilder }, { token: AXPLayoutAdapterBuilder }, { token: i4$1.AXPFilterOperatorMiddlewareService }], target: i0.ɵɵFactoryTarget.Injectable }); }
4292
4299
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPLayoutAdapterFactory, providedIn: 'root' }); }
4293
4300
  }
4294
4301
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPLayoutAdapterFactory, decorators: [{
@@ -4296,7 +4303,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImpor
4296
4303
  args: [{
4297
4304
  providedIn: 'root',
4298
4305
  }]
4299
- }], ctorParameters: () => [{ type: AXPRelatedEntityConverterFactory }, { type: AXPMainEntityContentBuilder }, { type: AXPLayoutAdapterBuilder }] });
4306
+ }], ctorParameters: () => [{ type: AXPRelatedEntityConverterFactory }, { type: AXPMainEntityContentBuilder }, { type: AXPLayoutAdapterBuilder }, { type: i4$1.AXPFilterOperatorMiddlewareService }] });
4300
4307
 
4301
4308
  const AXPLayoutDetailsViewRouteResolver = async (route, state, entityResolver = inject(AXPEntityDefinitionRegistryService), expressionEvaluator = inject(AXPExpressionEvaluatorService), session = inject(AXPSessionService), formatService = inject(AXFormatService), workflowService = inject(AXPWorkflowService), layoutAdapterFactory = inject(AXPLayoutAdapterFactory)) => {
4302
4309
  const moduleName = route.parent?.paramMap.get('module');
@@ -5156,7 +5163,7 @@ class AXPEntityListWidgetViewComponent extends AXPValueWidgetComponent {
5156
5163
  ></ng-container>
5157
5164
  }
5158
5165
  </div>
5159
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3$2.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i3$2.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: AXPWidgetCoreModule }, { kind: "directive", type: i3$1.AXPWidgetRendererDirective, selector: "[axp-widget-renderer]", inputs: ["parentNode", "index", "mode", "node"], outputs: ["onOptionsChanged", "onValueChanged"], exportAs: ["widgetRenderer"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i3.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "component", type: i3.AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "component", type: i3.AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items"], outputs: ["onItemClick"] }, { kind: "ngmodule", type: AXDropdownModule }, { kind: "component", type: i4$1.AXDropdownPanelComponent, selector: "ax-dropdown-panel", inputs: ["isOpen", "fitParent", "dropdownWidth", "position", "placement", "_target", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5166
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3$2.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i3$2.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: AXPWidgetCoreModule }, { kind: "directive", type: i3$1.AXPWidgetRendererDirective, selector: "[axp-widget-renderer]", inputs: ["parentNode", "index", "mode", "node"], outputs: ["onOptionsChanged", "onValueChanged"], exportAs: ["widgetRenderer"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i3.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "component", type: i3.AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "component", type: i3.AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items"], outputs: ["onItemClick"] }, { kind: "ngmodule", type: AXDropdownModule }, { kind: "component", type: i4$2.AXDropdownPanelComponent, selector: "ax-dropdown-panel", inputs: ["isOpen", "fitParent", "dropdownWidth", "position", "placement", "_target", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5160
5167
  }
5161
5168
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPEntityListWidgetViewComponent, decorators: [{
5162
5169
  type: Component,
@@ -7115,12 +7122,12 @@ class AXPQuickEntityModifyPopupAction extends AXPWorkflowAction {
7115
7122
  if (parentKey) {
7116
7123
  context.setVariable('parentKey', parentKey);
7117
7124
  }
7125
+ console.log(`${this.translateService.translateSync('entity.modify')}`);
7118
7126
  const com = await this.config.viewers.master.modify();
7119
7127
  const popup = await this.popupService.open(com, {
7120
7128
  title: headerTitle
7121
7129
  ? headerTitle
7122
- : (title ??
7123
- `${this.translateService.translateSync('entity.modify')} ${this.translateService.translateSync(entityRef.formats.individual)}`),
7130
+ : `${this.translateService.translateSync('@general:actions.modify.title')} ${this.translateService.translateSync(entityRef.formats.individual)}`,
7124
7131
  size: this.platform.is('Mobile') || this.platform.is('SM') ? 'full' : size ? size : 'md',
7125
7132
  data: {
7126
7133
  vm,