@acorex/platform 19.2.6 → 19.2.7

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 (78) hide show
  1. package/common/lib/app/application.types.d.ts +3 -1
  2. package/common/lib/settings/settings.service.d.ts +3 -2
  3. package/common/lib/utils/export-popup.d.ts +2 -1
  4. package/common/lib/utils/expression-evaluator.service.d.ts +11 -0
  5. package/common/lib/utils/index.d.ts +1 -0
  6. package/fesm2022/acorex-platform-common.mjs +86 -28
  7. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  8. package/fesm2022/acorex-platform-layout-builder.mjs +14 -4
  9. package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
  10. package/fesm2022/acorex-platform-layout-designer.mjs +5 -5
  11. package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
  12. package/fesm2022/acorex-platform-layout-entity.mjs +29 -7
  13. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  14. package/fesm2022/{acorex-platform-themes-default-entity-master-list-view.component-ClNKQnoc.mjs → acorex-platform-themes-default-entity-master-list-view.component-De61n012.mjs} +28 -15
  15. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-De61n012.mjs.map +1 -0
  16. package/fesm2022/{acorex-platform-themes-default-search-popup.component-BZJTLnlM.mjs → acorex-platform-themes-default-search-popup.component-Blkpqvqa.mjs} +4 -4
  17. package/fesm2022/{acorex-platform-themes-default-search-popup.component-BZJTLnlM.mjs.map → acorex-platform-themes-default-search-popup.component-Blkpqvqa.mjs.map} +1 -1
  18. package/fesm2022/{acorex-platform-themes-default-setting-page.component-oA4kM_-3.mjs → acorex-platform-themes-default-setting-page.component-BERYnJnp.mjs} +8 -8
  19. package/fesm2022/acorex-platform-themes-default-setting-page.component-BERYnJnp.mjs.map +1 -0
  20. package/fesm2022/{acorex-platform-themes-default-setting-view.component-CJZBhtKE.mjs → acorex-platform-themes-default-setting-view.component-BagAWM4W.mjs} +2 -2
  21. package/fesm2022/{acorex-platform-themes-default-setting-view.component-CJZBhtKE.mjs.map → acorex-platform-themes-default-setting-view.component-BagAWM4W.mjs.map} +1 -1
  22. package/fesm2022/{acorex-platform-themes-default-theme-palette-preview.page-D_AK8uVB.mjs → acorex-platform-themes-default-theme-palette-preview.page-D-yzbISw.mjs} +25 -5
  23. package/fesm2022/acorex-platform-themes-default-theme-palette-preview.page-D-yzbISw.mjs.map +1 -0
  24. package/fesm2022/acorex-platform-themes-default.mjs +24 -17
  25. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
  26. package/fesm2022/acorex-platform-themes-shared.mjs +112 -54
  27. package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
  28. package/fesm2022/acorex-platform-widgets-tabular-data-edit-popup.component-D2-nHqYy.mjs +144 -0
  29. package/fesm2022/acorex-platform-widgets-tabular-data-edit-popup.component-D2-nHqYy.mjs.map +1 -0
  30. package/fesm2022/acorex-platform-widgets-tabular-data-view-popup.component-BBRVgZLu.mjs +48 -0
  31. package/fesm2022/acorex-platform-widgets-tabular-data-view-popup.component-BBRVgZLu.mjs.map +1 -0
  32. package/fesm2022/acorex-platform-widgets.mjs +555 -92
  33. package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
  34. package/layout/builder/lib/builder/widget-groups.d.ts +1 -0
  35. package/layout/builder/lib/builder/widget-map.d.ts +3 -0
  36. package/layout/builder/lib/builder/widget.types.d.ts +1 -1
  37. package/layout/entity/lib/entity-master-list.viewmodel.d.ts +2 -1
  38. package/layout/entity/lib/entity.viewmodel.d.ts +2 -0
  39. package/layout/setting/lib/setting.viewmodel.d.ts +2 -2
  40. package/package.json +1 -1
  41. package/themes/default/lib/layouts/base/simple-page/simple-page.layout.d.ts +4 -3
  42. package/themes/default/lib/layouts/entity-layouts/entity-detail-list-view/entity-detail-list-view.component.d.ts +2 -2
  43. package/themes/default/lib/layouts/entity-layouts/entity-master-list-view/entity-master-list-view.component.d.ts +4 -4
  44. package/themes/default/lib/layouts/entity-layouts/entity-master-single-view/entity-master-single-view.component.d.ts +2 -2
  45. package/themes/default/lib/layouts/root-layout/components/header/header.component.d.ts +2 -2
  46. package/themes/default/lib/layouts/root-layout/root-layout.component.d.ts +2 -2
  47. package/themes/default/lib/layouts/setting-layout/setting-view/setting-view.component.d.ts +2 -2
  48. package/themes/default/lib/pages/theme-palette-preview/theme-palette-preview.page.d.ts +3 -2
  49. package/themes/shared/lib/components/layout-elements/index.d.ts +1 -0
  50. package/themes/shared/lib/components/layout-elements/layout-blocks.component.d.ts +1 -1
  51. package/themes/shared/lib/components/layout-elements/layout-footer.component.d.ts +5 -0
  52. package/themes/shared/lib/components/slots/theme-slot.component.d.ts +2 -2
  53. package/themes/shared/lib/theme.service.d.ts +2 -2
  54. package/widgets/lib/widgets/advance/file/file-box-widget-edit.component.d.ts +3 -1
  55. package/widgets/lib/widgets/charts/bar-chart/bar-chart-widget-edit.component.d.ts +13 -0
  56. package/widgets/lib/widgets/charts/bar-chart/bar-chart-widget.config.d.ts +7 -0
  57. package/widgets/lib/widgets/charts/bar-chart/bar-chart.type.d.ts +15 -0
  58. package/widgets/lib/widgets/charts/bar-chart/index.d.ts +2 -0
  59. package/widgets/lib/widgets/charts/chart.type.d.ts +4 -0
  60. package/widgets/lib/widgets/charts/donut-chart/donut-chart-widget-edit.component.d.ts +14 -0
  61. package/widgets/lib/widgets/charts/donut-chart/donut-chart-widget.config.d.ts +7 -0
  62. package/widgets/lib/widgets/charts/donut-chart/donut-chart.type.d.ts +13 -0
  63. package/widgets/lib/widgets/charts/donut-chart/index.d.ts +2 -0
  64. package/widgets/lib/widgets/editors/tabular-data/index.d.ts +6 -0
  65. package/widgets/lib/widgets/editors/tabular-data/table-widget-column.component.d.ts +6 -0
  66. package/widgets/lib/widgets/editors/tabular-data/table-widget-filter.component.d.ts +6 -0
  67. package/widgets/lib/widgets/editors/tabular-data/table-widget-print.component.d.ts +6 -0
  68. package/widgets/lib/widgets/editors/tabular-data/table-widget.config.d.ts +7 -0
  69. package/widgets/lib/widgets/editors/tabular-data/tabular-data-edit-popup.component.d.ts +18 -0
  70. package/widgets/lib/widgets/editors/tabular-data/tabular-data-view-popup.component.d.ts +10 -0
  71. package/widgets/lib/widgets/editors/tabular-data/tabular-data-widget-edit.component.d.ts +12 -0
  72. package/widgets/lib/widgets/editors/tabular-data/tabular-data-widget-view.component.d.ts +13 -0
  73. package/widgets/lib/widgets/editors/tabular-data/tabular-widget.types.d.ts +11 -0
  74. package/widgets/lib/widgets/editors/text/text-box-widget-edit.component.d.ts +0 -1
  75. package/widgets/lib/widgets/index.d.ts +2 -0
  76. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-ClNKQnoc.mjs.map +0 -1
  77. package/fesm2022/acorex-platform-themes-default-setting-page.component-oA4kM_-3.mjs.map +0 -1
  78. package/fesm2022/acorex-platform-themes-default-theme-palette-preview.page-D_AK8uVB.mjs.map +0 -1
@@ -2,13 +2,13 @@ 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, AXPSettingService, AXPRefreshEvent, AXPWorkflowNavigateAction, AXP_SEARCH_DEFINITION_PROVIDER, AXPToastAction } from '@acorex/platform/common';
5
+ import { resolveActionLook, AXPFilterOperatorMiddlewareService, AXPEntityCommandScope, getEntityInfo, AXPSettingScope, AXPSettingService, AXPExpressionEvaluatorService, 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';
9
9
  import { InjectionToken, inject, Injectable, computed, signal, Injector, effect, Component, ChangeDetectionStrategy, HostBinding, DestroyRef, ViewChild, NgModule } from '@angular/core';
10
10
  import { AXPLayoutThemeService } from '@acorex/platform/themes/shared';
11
- import { cloneDeep, set, merge, isNil, get, sortBy } from 'lodash-es';
11
+ import { cloneDeep, set, merge, get, isNil, sortBy } from 'lodash-es';
12
12
  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';
@@ -85,6 +85,8 @@ class AXPEntityCommandTriggerViewModel {
85
85
  this.separated = action.separated ?? false;
86
86
  this.color = action.color ?? resolvedLook.color;
87
87
  this.icon = action.icon ?? resolvedLook.icon;
88
+ this.hidden = action.hidden ?? false;
89
+ this.disabled = action.disabled ?? false;
88
90
  this.scope = action.scope;
89
91
  }
90
92
  }
@@ -580,6 +582,7 @@ class AXPEntityMasterListViewModel {
580
582
  this.workflow = this.injector.get(AXPWorkflowService);
581
583
  this.settings = this.injector.get(AXPSettingService);
582
584
  this.widgetResolver = this.injector.get(AXPWidgetRegistryService);
585
+ this.expressionEvaluator = this.injector.get(AXPExpressionEvaluatorService);
583
586
  this.filterOperatorMiddleware = this.injector.get(AXPFilterOperatorMiddlewareService);
584
587
  this.settingListViewKey = '';
585
588
  this.settingSelectedViewKey = '';
@@ -667,7 +670,6 @@ class AXPEntityMasterListViewModel {
667
670
  return this.allActions().filter((a) => a.scope == AXPEntityCommandScope.Selected).length;
668
671
  });
669
672
  this.primaryRowActions = computed(() => this.allActions().filter((a) => a.scope == AXPEntityCommandScope.Individual && a.priority === 'primary'));
670
- this.secondaryRowActions = computed(() => this.allActions().filter((a) => a.scope == AXPEntityCommandScope.Individual && a.priority === 'secondary'));
671
673
  //****************** Filter ******************//
672
674
  this.simpleFilters = signal({
673
675
  field: null,
@@ -730,7 +732,6 @@ class AXPEntityMasterListViewModel {
730
732
  .pipe(ofType(AXPRefreshEvent))
731
733
  .pipe(takeUntil(this.destroyed))
732
734
  .subscribe((event) => {
733
- debugger;
734
735
  if (event.payload.entity == getEntityInfo(this.entityDef).source) {
735
736
  this.selectedItems.set([]);
736
737
  this.events$.next({ action: 'refresh', meta: event.payload.meta });
@@ -752,6 +753,30 @@ class AXPEntityMasterListViewModel {
752
753
  clearSelection() {
753
754
  this.selectedItems.set([]);
754
755
  }
756
+ // public secondaryRowActions = computed<AXPEntityCommandTriggerViewModel[]>(() =>
757
+ // this.allActions().filter((a) => a.scope == AXPEntityCommandScope.Individual && a.priority === 'secondary')
758
+ // );
759
+ async secondaryRowActions(rowData) {
760
+ const scope = {
761
+ context: {
762
+ eval: (path) => get(rowData, path),
763
+ },
764
+ };
765
+ const actions = await Promise.all(this.allActions()
766
+ .filter((a) => a.scope === AXPEntityCommandScope.Individual && a.priority === 'secondary')
767
+ .map(async (a) => {
768
+ const isHidden = typeof a.hidden === 'string' && a.hidden.includes('{{')
769
+ ? await this.expressionEvaluator.evaluateExpression(rowData, a.hidden, scope)
770
+ : a.hidden;
771
+ if (isHidden)
772
+ return null;
773
+ const disabled = typeof a.disabled === 'string' && a.disabled.includes('{{')
774
+ ? await this.expressionEvaluator.evaluateExpression(rowData, a.disabled, scope)
775
+ : a.disabled;
776
+ return { ...a, disabled };
777
+ }));
778
+ return actions.filter(Boolean);
779
+ }
755
780
  get filtersDef() {
756
781
  const props = this.entityDef.properties.filter((c) => c.options?.filter?.advance?.enabled);
757
782
  return props.map((e) => {
@@ -989,7 +1014,6 @@ class AXPEntityPerformDeleteAction extends AXPWorkflowAction {
989
1014
  const showResult = process?.showResult ?? true;
990
1015
  const ids = Array.isArray(data) ? data.map((c) => c.id) : [data.id];
991
1016
  const entity = await this.entityRegistery.resolve(moduleName, entityName);
992
- debugger;
993
1017
  if (entity.parentKey && data[entity.parentKey]) {
994
1018
  context.setVariable('meta', { ...meta, refreshTargetId: data[entity.parentKey] });
995
1019
  }
@@ -2539,7 +2563,6 @@ class AXPEntityCreatePopupAction extends AXPWorkflowAction {
2539
2563
  const prevData = context.getVariable('data');
2540
2564
  const prevMeta = context.getVariable('meta');
2541
2565
  context.setVariable('data', { ...prevData, ...result.data.item });
2542
- debugger;
2543
2566
  if (entityRef.parentKey && result.data.item[entityRef.parentKey]) {
2544
2567
  context.setVariable('meta', { ...prevMeta, refreshTargetId: result.data.item[entityRef.parentKey] });
2545
2568
  }
@@ -2614,7 +2637,6 @@ class AXPQuickEntityModifyPopupAction extends AXPWorkflowAction {
2614
2637
  this.factory = inject(AXPEntityMasterUpdateViewModelFactory);
2615
2638
  }
2616
2639
  async execute(context) {
2617
- debugger;
2618
2640
  const [moduleName, entityName] = context.getVariable('entity').split('.');
2619
2641
  const data = context.getVariable('data');
2620
2642
  const entityRef = await this.entityRegistery.resolve(moduleName, entityName);