@acorex/platform 18.1.2 → 18.1.4

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 (76) hide show
  1. package/common/lib/schema/widgets/text/largetext-widget-edit.component.d.ts +1 -1
  2. package/esm2022/common/lib/schema/widgets/text/largetext-widget-edit.component.mjs +15 -16
  3. package/esm2022/layout/builder/lib/builder/widget-catalog.mjs +2 -1
  4. package/esm2022/layout/builder/lib/builder/widget.types.mjs +4 -2
  5. package/esm2022/layout/designer/lib/designer/index.mjs +5 -4
  6. package/esm2022/layout/entity/lib/entity.module.mjs +4 -3
  7. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-edit.component.mjs +22 -5
  8. package/esm2022/layout/entity/lib/widgets/widget-selector/index.mjs +4 -0
  9. package/esm2022/layout/entity/lib/widgets/widget-selector/widget-selector-widget-edit.component.mjs +130 -0
  10. package/esm2022/layout/entity/lib/widgets/widget-selector/widget-selector-widget-view.component.mjs +18 -0
  11. package/esm2022/layout/entity/lib/widgets/widget-selector/widget-selector-widget.config.mjs +19 -0
  12. package/esm2022/layouts/lib/admin/entity-layout/workflows/delete-entity.workflow.mjs +2 -1
  13. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-detail-list-view/entity-detail-list-view.component.mjs +3 -3
  14. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-single-view/entity-master-single-view.component.mjs +2 -2
  15. package/esm2022/themes/default/lib/layouts/entity-layouts/index.mjs +1 -2
  16. package/esm2022/themes/shared/acorex-platform-themes-shared.mjs +5 -0
  17. package/esm2022/themes/shared/index.mjs +6 -0
  18. package/esm2022/themes/shared/lib/comments/comment-list-view.component.mjs +421 -0
  19. package/esm2022/themes/{default/lib/layouts/entity-layouts/entity-master-single-view → shared/lib}/comments/comment-lookup-popup.component.mjs +1 -1
  20. package/esm2022/themes/shared/lib/comments/comments.service.mjs +3 -0
  21. package/esm2022/themes/shared/lib/comments/comments.type.mjs +2 -0
  22. package/esm2022/themes/shared/lib/shared.module.mjs +16 -0
  23. package/esm2022/widgets/lib/widgets/editors/contact/contact-widget-edit.component.mjs +25 -8
  24. package/esm2022/widgets/lib/widgets/editors/large-text/large-text-widget-edit.component.mjs +32 -22
  25. package/esm2022/widgets/lib/widgets/editors/select/select-box-widget-edit.component.mjs +23 -11
  26. package/fesm2022/{acorex-platform-common-largetext-widget-edit.component-CrqPJ58V.mjs → acorex-platform-common-largetext-widget-edit.component-DD7S5j12.mjs} +15 -16
  27. package/fesm2022/acorex-platform-common-largetext-widget-edit.component-DD7S5j12.mjs.map +1 -0
  28. package/fesm2022/acorex-platform-common.mjs +1 -1
  29. package/fesm2022/acorex-platform-layout-builder.mjs +4 -1
  30. package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
  31. package/fesm2022/acorex-platform-layout-designer.mjs +190 -100
  32. package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
  33. package/fesm2022/acorex-platform-layout-entity.mjs +177 -8
  34. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  35. package/fesm2022/acorex-platform-layouts.mjs +1 -0
  36. package/fesm2022/acorex-platform-layouts.mjs.map +1 -1
  37. package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-LyEomIA6.mjs → acorex-platform-themes-default-entity-master-create-view.component-Q8eTfAVx.mjs} +3 -3
  38. package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-LyEomIA6.mjs.map → acorex-platform-themes-default-entity-master-create-view.component-Q8eTfAVx.mjs.map} +1 -1
  39. package/fesm2022/{acorex-platform-themes-default-entity-master-list-view.component-CKRwvJTp.mjs → acorex-platform-themes-default-entity-master-list-view.component-fZ6QEYcd.mjs} +8 -8
  40. package/fesm2022/{acorex-platform-themes-default-entity-master-list-view.component-CKRwvJTp.mjs.map → acorex-platform-themes-default-entity-master-list-view.component-fZ6QEYcd.mjs.map} +1 -1
  41. package/fesm2022/{acorex-platform-themes-default-entity-master-modify-view.component-CMRfspMB.mjs → acorex-platform-themes-default-entity-master-modify-view.component-BijYXMme.mjs} +3 -3
  42. package/fesm2022/{acorex-platform-themes-default-entity-master-modify-view.component-CMRfspMB.mjs.map → acorex-platform-themes-default-entity-master-modify-view.component-BijYXMme.mjs.map} +1 -1
  43. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-Bnrabotu.mjs +145 -0
  44. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-Bnrabotu.mjs.map +1 -0
  45. package/fesm2022/acorex-platform-themes-default.mjs +13 -16
  46. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
  47. package/fesm2022/acorex-platform-themes-shared.mjs +493 -0
  48. package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -0
  49. package/fesm2022/acorex-platform-widgets.mjs +94 -57
  50. package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
  51. package/layout/builder/lib/builder/widget.types.d.ts +1 -0
  52. package/layout/designer/lib/designer/index.d.ts +4 -3
  53. package/layout/entity/lib/widgets/widget-selector/index.d.ts +3 -0
  54. package/layout/entity/lib/widgets/widget-selector/widget-selector-widget-edit.component.d.ts +25 -0
  55. package/layout/entity/lib/widgets/widget-selector/widget-selector-widget-view.component.d.ts +6 -0
  56. package/layout/entity/lib/widgets/widget-selector/widget-selector-widget.config.d.ts +7 -0
  57. package/package.json +19 -13
  58. package/themes/default/lib/layouts/entity-layouts/index.d.ts +0 -1
  59. package/themes/shared/README.md +3 -0
  60. package/themes/shared/index.d.ts +5 -0
  61. package/themes/{default/lib/layouts/entity-layouts/entity-master-single-view → shared/lib}/comments/comment-list-view.component.d.ts +22 -16
  62. package/themes/shared/lib/shared.module.d.ts +6 -0
  63. package/widgets/lib/widgets/editors/contact/contact-widget-edit.component.d.ts +4 -2
  64. package/widgets/lib/widgets/editors/large-text/large-text-widget-edit.component.d.ts +1 -3
  65. package/widgets/lib/widgets/editors/select/select-box-widget-edit.component.d.ts +2 -0
  66. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-single-view/comments/comment-list-view.component.mjs +0 -284
  67. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-single-view/comments/comments.service.mjs +0 -3
  68. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-single-view/comments/comments.type.mjs +0 -2
  69. package/fesm2022/acorex-platform-common-largetext-widget-edit.component-CrqPJ58V.mjs.map +0 -1
  70. package/fesm2022/acorex-platform-layout-designer-widget-picker.component-BZryrCyh.mjs +0 -100
  71. package/fesm2022/acorex-platform-layout-designer-widget-picker.component-BZryrCyh.mjs.map +0 -1
  72. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-DhcKSyrX.mjs +0 -457
  73. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-DhcKSyrX.mjs.map +0 -1
  74. /package/themes/{default/lib/layouts/entity-layouts/entity-master-single-view → shared/lib}/comments/comment-lookup-popup.component.d.ts +0 -0
  75. /package/themes/{default/lib/layouts/entity-layouts/entity-master-single-view → shared/lib}/comments/comments.service.d.ts +0 -0
  76. /package/themes/{default/lib/layouts/entity-layouts/entity-master-single-view → shared/lib}/comments/comments.type.d.ts +0 -0
@@ -1,5 +1,5 @@
1
1
  import { AXFormatService } from '@acorex/core/format';
2
- import { cloneDeep, set, merge, get } from 'lodash-es';
2
+ import { cloneDeep, set, merge, get, sortBy } from 'lodash-es';
3
3
  import * as i0 from '@angular/core';
4
4
  import { InjectionToken, inject, Injectable, computed, signal, Injector, Component, ChangeDetectionStrategy, DestroyRef, ViewChild, NgModule } from '@angular/core';
5
5
  import * as i1$3 from '@acorex/platform/workflow';
@@ -16,7 +16,7 @@ import { Subject, takeUntil } from 'rxjs';
16
16
  import * as i8 from '@acorex/core/translation';
17
17
  import { AXTranslationService, AXTranslationModule } from '@acorex/core/translation';
18
18
  import * as i7 from '@acorex/platform/layout/builder';
19
- import { AXPWidgetComponent, AXPLayoutBuilderModule, AXPLayoutBuilderService, AXPColumnWidgetComponent, AXP_WIDGETS_EDITOR_GROUP, AXPWidgetsCatalog } from '@acorex/platform/layout/builder';
19
+ import { AXPWidgetComponent, AXPLayoutBuilderModule, AXPLayoutBuilderService, AXPColumnWidgetComponent, AXP_WIDGETS_EDITOR_GROUP, AXPWidgetsCatalog, AXPWidgetRegistryService } from '@acorex/platform/layout/builder';
20
20
  import { RouterModule, ROUTES } from '@angular/router';
21
21
  import * as i1 from '@acorex/components/loading';
22
22
  import { AXLoadingModule } from '@acorex/components/loading';
@@ -41,7 +41,8 @@ import { AXDropdownButtonModule } from '@acorex/components/dropdown-button';
41
41
  import { AXBasePageComponent } from '@acorex/components/page';
42
42
  import * as i6 from '@acorex/components/search-box';
43
43
  import { AXSearchBoxModule } from '@acorex/components/search-box';
44
- import { AXP_DISABLED_PROPERTY, AXP_DATA_PATH_PROPERTY, AXP_DATA_PROPERTY_GROUP } from '@acorex/platform/widgets';
44
+ import { AXP_DISABLED_PROPERTY, AXP_DATA_PATH_PROPERTY, AXP_DATA_PROPERTY_GROUP, AXP_NAME_PROPERTY } from '@acorex/platform/widgets';
45
+ import { AXPWidgetPropertyViewerComponent } from '@acorex/platform/layout/designer';
45
46
 
46
47
  const AXP_ENTITY_CONFIG_TOKEN = new InjectionToken('AXP_ENTITY_CONFIG_TOKEN');
47
48
  const AXP_ENTITY_DEFINITION_LOADER = new InjectionToken('AXP_ENTITY_DEFINITION_LOADER');
@@ -1600,7 +1601,7 @@ class AXPLookupWidgetEditComponent extends AXPWidgetComponent {
1600
1601
  this.isOpen = signal(false);
1601
1602
  this.vm = signal(null);
1602
1603
  this.placeholder = computed(() => {
1603
- return this.translateService.translateSync('widget.lookup.search') + this.vm()?.inlineFiltersPlaceholders().join(', ');
1604
+ return (this.translateService.translateSync('widget.lookup.search') + this.vm()?.inlineFiltersPlaceholders().join(', '));
1604
1605
  });
1605
1606
  }
1606
1607
  async ngOnInit() {
@@ -1695,21 +1696,30 @@ class AXPLookupWidgetEditComponent extends AXPWidgetComponent {
1695
1696
  const text = this.formatService.format(this.textField(), 'string', item);
1696
1697
  this.displayText.set(text);
1697
1698
  this.setValue(item.id);
1699
+ // extract data from valueField and set context by expose path
1698
1700
  if (this.expose()) {
1699
1701
  if (typeof this.expose() == 'string') {
1700
1702
  this.builderService.setValue(this.expose(), item);
1701
1703
  }
1704
+ // support multiple expose items
1702
1705
  else if (Array.isArray(this.expose())) {
1703
1706
  this.expose().forEach((i) => {
1704
1707
  if (typeof i == 'string') {
1705
1708
  this.builderService.setValue(i, item);
1706
1709
  }
1707
1710
  else {
1711
+ // extract data from item by source path and set context by target path
1708
1712
  const key = get(item, i.source);
1709
1713
  this.builderService.setValue(i.target, key);
1710
1714
  }
1711
1715
  });
1712
1716
  }
1717
+ // extract data from item by source path and set context by target path
1718
+ else if (typeof this.expose() == 'object') {
1719
+ const i = this.expose();
1720
+ const key = get(item, i.source);
1721
+ this.builderService.setValue(i.target, key);
1722
+ }
1713
1723
  }
1714
1724
  }
1715
1725
  handleClearClick() {
@@ -1731,7 +1741,11 @@ class AXPLookupWidgetEditComponent extends AXPWidgetComponent {
1731
1741
  (onBlur)="handleOnBlur($event)"
1732
1742
  >
1733
1743
  @for (validation of validationRules; track $index) {
1734
- <ax-validation-rule [rule]="validation.rule" [message]="validation.options?.message" [options]="validation.options"></ax-validation-rule>
1744
+ <ax-validation-rule
1745
+ [rule]="validation.rule"
1746
+ [message]="validation.options?.message"
1747
+ [options]="validation.options"
1748
+ ></ax-validation-rule>
1735
1749
  }
1736
1750
  <ax-clear-button (click)="handleClearClick()"></ax-clear-button>
1737
1751
 
@@ -1759,7 +1773,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
1759
1773
  (onBlur)="handleOnBlur($event)"
1760
1774
  >
1761
1775
  @for (validation of validationRules; track $index) {
1762
- <ax-validation-rule [rule]="validation.rule" [message]="validation.options?.message" [options]="validation.options"></ax-validation-rule>
1776
+ <ax-validation-rule
1777
+ [rule]="validation.rule"
1778
+ [message]="validation.options?.message"
1779
+ [options]="validation.options"
1780
+ ></ax-validation-rule>
1763
1781
  }
1764
1782
  <ax-clear-button (click)="handleClearClick()"></ax-clear-button>
1765
1783
 
@@ -1918,6 +1936,157 @@ const AXPLookupWidget = {
1918
1936
  },
1919
1937
  };
1920
1938
 
1939
+ class AXPWidgetSelectorWidgetEditComponent extends AXPWidgetComponent {
1940
+ constructor() {
1941
+ super(...arguments);
1942
+ this.popupService = inject(AXPopupService);
1943
+ this.widgetRegisteryService = inject(AXPWidgetRegistryService);
1944
+ this.searchTerm = signal(null);
1945
+ this.isOpen = signal(false);
1946
+ this.textField = signal('');
1947
+ this.displayText = computed(() => this.getValue()?.title || '');
1948
+ this.selectedWidgetNode = signal(null);
1949
+ this.selectedItem = signal(null);
1950
+ this.placeholder = computed(() => this.options()['placeholder'] ?? '');
1951
+ this.loading = computed(() => this.options()['loading'] ?? false);
1952
+ this.validationRules = computed(() => this.options()['validationRules']);
1953
+ }
1954
+ ngAfterViewInit() {
1955
+ if (this.getValue()) {
1956
+ this.selectedWidgetNode.set(this.getValue());
1957
+ }
1958
+ }
1959
+ async showSelector() {
1960
+ const com = await import('@acorex/platform/layout/designer').then((c) => c.AXPDesignerWidgetPickerComponent);
1961
+ const result = await this.popupService.open(com, {
1962
+ title: 'Widget Gallery',
1963
+ size: 'md',
1964
+ closeButton: true,
1965
+ data: {
1966
+ widgets: sortBy(this.widgetRegisteryService.all().filter((c) => c.visible != false), (c) => c.title),
1967
+ },
1968
+ });
1969
+ if ((result.data?.widgets ?? []).length) {
1970
+ const selected = result.data?.widgets;
1971
+ const selectedNode = this.convertWidgetConfigToNode(selected[0]);
1972
+ this.selectedWidgetNode.set(selectedNode);
1973
+ }
1974
+ }
1975
+ convertWidgetConfigToNode(config) {
1976
+ return {
1977
+ type: config.name,
1978
+ };
1979
+ }
1980
+ handleChangeWidget(e) {
1981
+ const widget = this.widgetRegisteryService.resolve(e.values.type);
1982
+ this.setValue({ title: widget?.title, ...e.values });
1983
+ }
1984
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPWidgetSelectorWidgetEditComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1985
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXPWidgetSelectorWidgetEditComponent, isStandalone: true, selector: "ng-component", viewQueries: [{ propertyName: "textbox", first: true, predicate: AXTextBoxComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: `
1986
+ <ax-text-box [ngModel]="displayText()" [placeholder]="placeholder()" [readonly]="true">
1987
+ @for (validation of validationRules(); track $index) {
1988
+ <ax-validation-rule
1989
+ [rule]="validation.rule"
1990
+ [message]="validation.options?.message"
1991
+ [options]="validation.options"
1992
+ ></ax-validation-rule>
1993
+ }
1994
+ <ax-suffix>
1995
+ <ax-button color="ghost" look="twotone" (onClick)="showSelector()">
1996
+ <ax-icon icon="far fa-search"> </ax-icon>
1997
+ </ax-button>
1998
+ </ax-suffix>
1999
+ </ax-text-box>
2000
+ @if(selectedWidgetNode()){
2001
+ <axp-widget-property-viewer [widget]="selectedWidgetNode()!" (onChanged)="handleChangeWidget($event)">
2002
+ </axp-widget-property-viewer>
2003
+ }
2004
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AXSelectBoxModule }, { kind: "ngmodule", type: AXTextBoxModule }, { kind: "component", type: i2$1.AXTextBoxComponent, selector: "ax-text-box", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "id", "placeholder", "maxLength", "allowNull", "type", "autoComplete", "look", "mask-options", "class"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i3.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "responsiveOn", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "responsiveOnChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i4.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i4.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "ngmodule", type: AXValidationModule }, { kind: "ngmodule", type: AXFormModule }, { kind: "directive", type: i6$1.AXValidationRuleDirective, selector: "ax-validation-rule", inputs: ["rule", "options", "message"] }, { kind: "component", type: AXPWidgetPropertyViewerComponent, selector: "axp-widget-property-viewer", inputs: ["widget"], outputs: ["onChanged"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2005
+ }
2006
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPWidgetSelectorWidgetEditComponent, decorators: [{
2007
+ type: Component,
2008
+ args: [{
2009
+ template: `
2010
+ <ax-text-box [ngModel]="displayText()" [placeholder]="placeholder()" [readonly]="true">
2011
+ @for (validation of validationRules(); track $index) {
2012
+ <ax-validation-rule
2013
+ [rule]="validation.rule"
2014
+ [message]="validation.options?.message"
2015
+ [options]="validation.options"
2016
+ ></ax-validation-rule>
2017
+ }
2018
+ <ax-suffix>
2019
+ <ax-button color="ghost" look="twotone" (onClick)="showSelector()">
2020
+ <ax-icon icon="far fa-search"> </ax-icon>
2021
+ </ax-button>
2022
+ </ax-suffix>
2023
+ </ax-text-box>
2024
+ @if(selectedWidgetNode()){
2025
+ <axp-widget-property-viewer [widget]="selectedWidgetNode()!" (onChanged)="handleChangeWidget($event)">
2026
+ </axp-widget-property-viewer>
2027
+ }
2028
+ `,
2029
+ standalone: true,
2030
+ changeDetection: ChangeDetectionStrategy.OnPush,
2031
+ imports: [
2032
+ CommonModule,
2033
+ FormsModule,
2034
+ AXSelectBoxModule,
2035
+ AXTextBoxModule,
2036
+ AXButtonModule,
2037
+ AXDecoratorModule,
2038
+ AXLoadingModule,
2039
+ AXValidationModule,
2040
+ AXFormModule,
2041
+ AXPWidgetPropertyViewerComponent,
2042
+ ],
2043
+ }]
2044
+ }], propDecorators: { textbox: [{
2045
+ type: ViewChild,
2046
+ args: [AXTextBoxComponent]
2047
+ }] } });
2048
+
2049
+ var widgetSelectorWidgetEdit_component = /*#__PURE__*/Object.freeze({
2050
+ __proto__: null,
2051
+ AXPWidgetSelectorWidgetEditComponent: AXPWidgetSelectorWidgetEditComponent
2052
+ });
2053
+
2054
+ class AXPWidgetSelectorWidgetViewComponent extends AXPWidgetComponent {
2055
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPWidgetSelectorWidgetViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
2056
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: AXPWidgetSelectorWidgetViewComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `{{ getValue()?.title }}`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2057
+ }
2058
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPWidgetSelectorWidgetViewComponent, decorators: [{
2059
+ type: Component,
2060
+ args: [{
2061
+ template: `{{ getValue()?.title }}`,
2062
+ standalone: true,
2063
+ changeDetection: ChangeDetectionStrategy.OnPush,
2064
+ imports: [CommonModule],
2065
+ }]
2066
+ }] });
2067
+
2068
+ var widgetSelectorWidgetView_component = /*#__PURE__*/Object.freeze({
2069
+ __proto__: null,
2070
+ AXPWidgetSelectorWidgetViewComponent: AXPWidgetSelectorWidgetViewComponent
2071
+ });
2072
+
2073
+ const AXPWidgetSelectorWidget = {
2074
+ name: 'widget-selector',
2075
+ title: 'Widget Selector',
2076
+ group: AXP_WIDGETS_EDITOR_GROUP,
2077
+ type: 'editor',
2078
+ icon: 'fa-solid fa-square',
2079
+ properties: [AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY, AXP_DISABLED_PROPERTY],
2080
+ components: {
2081
+ view: {
2082
+ component: () => Promise.resolve().then(function () { return widgetSelectorWidgetView_component; }).then((c) => c.AXPWidgetSelectorWidgetViewComponent),
2083
+ },
2084
+ edit: {
2085
+ component: () => Promise.resolve().then(function () { return widgetSelectorWidgetEdit_component; }).then((c) => c.AXPWidgetSelectorWidgetEditComponent),
2086
+ },
2087
+ },
2088
+ };
2089
+
1921
2090
  const AXPEntityCreateEvent = createWorkFlowEvent('[Entity] Created!');
1922
2091
  class AXPEntityCreatePopupAction extends AXPWorkflowAction {
1923
2092
  constructor() {
@@ -2143,7 +2312,7 @@ class AXPEntityModule {
2143
2312
  },
2144
2313
  }),
2145
2314
  AXPLayoutBuilderModule.forChild({
2146
- widgets: [AXPLookupWidget],
2315
+ widgets: [AXPLookupWidget, AXPWidgetSelectorWidget],
2147
2316
  })] }); }
2148
2317
  }
2149
2318
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPEntityModule, decorators: [{
@@ -2171,7 +2340,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
2171
2340
  },
2172
2341
  }),
2173
2342
  AXPLayoutBuilderModule.forChild({
2174
- widgets: [AXPLookupWidget],
2343
+ widgets: [AXPLookupWidget, AXPWidgetSelectorWidget],
2175
2344
  }),
2176
2345
  ],
2177
2346
  exports: [],