@acorex/modules 19.1.15 → 19.1.16

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 (121) hide show
  1. package/application-management/lib/menu.provider.d.ts +0 -1
  2. package/auth/lib/pages/account/avatar/avatar.component.d.ts +20 -0
  3. package/auth/lib/pages/account/profile/profile-slot.component.d.ts +2 -9
  4. package/auth/lib/pages/account/user-profile-card/user-profile-card.component.d.ts +26 -0
  5. package/fesm2022/{acorex-modules-application-management-module-designer.component-DjX4Ixc9.mjs → acorex-modules-application-management-module-designer.component-uLfQYtpy.mjs} +3 -3
  6. package/fesm2022/{acorex-modules-application-management-module-designer.component-DjX4Ixc9.mjs.map → acorex-modules-application-management-module-designer.component-uLfQYtpy.mjs.map} +1 -1
  7. package/fesm2022/acorex-modules-application-management.mjs +14 -21
  8. package/fesm2022/acorex-modules-application-management.mjs.map +1 -1
  9. package/fesm2022/{acorex-modules-auth-acorex-modules-auth-BukQhL3i.mjs → acorex-modules-auth-acorex-modules-auth-DnTshxIU.mjs} +164 -36
  10. package/fesm2022/acorex-modules-auth-acorex-modules-auth-DnTshxIU.mjs.map +1 -0
  11. package/fesm2022/{acorex-modules-auth-app-chooser.component-Co9UVNs7.mjs → acorex-modules-auth-app-chooser.component-Dx-ehe1v.mjs} +6 -6
  12. package/fesm2022/acorex-modules-auth-app-chooser.component-Dx-ehe1v.mjs.map +1 -0
  13. package/fesm2022/{acorex-modules-auth-login.module-DF8O2Xsc.mjs → acorex-modules-auth-login.module-DERpkzkP.mjs} +4 -4
  14. package/fesm2022/{acorex-modules-auth-login.module-DF8O2Xsc.mjs.map → acorex-modules-auth-login.module-DERpkzkP.mjs.map} +1 -1
  15. package/fesm2022/acorex-modules-auth-master.layout-CzDJVkRY.mjs +23 -0
  16. package/fesm2022/acorex-modules-auth-master.layout-CzDJVkRY.mjs.map +1 -0
  17. package/fesm2022/{acorex-modules-auth-password.component-4qadgU3K.mjs → acorex-modules-auth-password.component-B7P-Z5__.mjs} +5 -5
  18. package/fesm2022/{acorex-modules-auth-password.component-4qadgU3K.mjs.map → acorex-modules-auth-password.component-B7P-Z5__.mjs.map} +1 -1
  19. package/fesm2022/{acorex-modules-auth-password.component-C7dIOlgw.mjs → acorex-modules-auth-password.component-BeuD87_s.mjs} +5 -5
  20. package/fesm2022/{acorex-modules-auth-password.component-C7dIOlgw.mjs.map → acorex-modules-auth-password.component-BeuD87_s.mjs.map} +1 -1
  21. package/fesm2022/{acorex-modules-auth-routes-CGtWtEQI.mjs → acorex-modules-auth-routes-BtJMFRjd.mjs} +2 -2
  22. package/fesm2022/{acorex-modules-auth-routes-CGtWtEQI.mjs.map → acorex-modules-auth-routes-BtJMFRjd.mjs.map} +1 -1
  23. package/fesm2022/acorex-modules-auth-tenant-chooser.component-Cx3fK__H.mjs +83 -0
  24. package/fesm2022/acorex-modules-auth-tenant-chooser.component-Cx3fK__H.mjs.map +1 -0
  25. package/fesm2022/{acorex-modules-auth-two-factor-code.component-BEsTVMeC.mjs → acorex-modules-auth-two-factor-code.component-YhAHhKIr.mjs} +3 -3
  26. package/fesm2022/{acorex-modules-auth-two-factor-code.component-BEsTVMeC.mjs.map → acorex-modules-auth-two-factor-code.component-YhAHhKIr.mjs.map} +1 -1
  27. package/fesm2022/{acorex-modules-auth-two-factor.module-CqzFrEEK.mjs → acorex-modules-auth-two-factor.module-CC27kfrm.mjs} +3 -3
  28. package/fesm2022/{acorex-modules-auth-two-factor.module-CqzFrEEK.mjs.map → acorex-modules-auth-two-factor.module-CC27kfrm.mjs.map} +1 -1
  29. package/fesm2022/acorex-modules-auth.mjs +1 -1
  30. package/fesm2022/acorex-modules-conversation.mjs +9 -9
  31. package/fesm2022/acorex-modules-conversation.mjs.map +1 -1
  32. package/fesm2022/acorex-modules-form-template-management-template-picker.component-DW0iMqAA.mjs +126 -0
  33. package/fesm2022/acorex-modules-form-template-management-template-picker.component-DW0iMqAA.mjs.map +1 -0
  34. package/fesm2022/{acorex-modules-form-template-management-template.entity-C1xoo-tl.mjs → acorex-modules-form-template-management-template.entity-BpApQcvG.mjs} +18 -28
  35. package/fesm2022/acorex-modules-form-template-management-template.entity-BpApQcvG.mjs.map +1 -0
  36. package/fesm2022/acorex-modules-form-template-management.mjs +6 -6
  37. package/fesm2022/acorex-modules-form-template-management.mjs.map +1 -1
  38. package/fesm2022/acorex-modules-notification-management.mjs +14 -14
  39. package/fesm2022/acorex-modules-notification-management.mjs.map +1 -1
  40. package/fesm2022/acorex-modules-organization-managment-branch.entity-kuZxLStS.mjs +212 -0
  41. package/fesm2022/acorex-modules-organization-managment-branch.entity-kuZxLStS.mjs.map +1 -0
  42. package/fesm2022/acorex-modules-organization-managment-department.entity-C1PxLx6p.mjs +212 -0
  43. package/fesm2022/acorex-modules-organization-managment-department.entity-C1PxLx6p.mjs.map +1 -0
  44. package/fesm2022/acorex-modules-organization-managment-division.entity-DHVnrP38.mjs +212 -0
  45. package/fesm2022/acorex-modules-organization-managment-division.entity-DHVnrP38.mjs.map +1 -0
  46. package/fesm2022/{acorex-modules-organization-managment-department.entity-BagrypDK.mjs → acorex-modules-organization-managment-employee.entity-oo5Tyyp2.mjs} +89 -112
  47. package/fesm2022/acorex-modules-organization-managment-employee.entity-oo5Tyyp2.mjs.map +1 -0
  48. package/fesm2022/{acorex-modules-organization-managment-employment.entity-BYwBhrym.mjs → acorex-modules-organization-managment-employment-type.entity-Cgbezwio.mjs} +23 -10
  49. package/fesm2022/acorex-modules-organization-managment-employment-type.entity-Cgbezwio.mjs.map +1 -0
  50. package/fesm2022/acorex-modules-organization-managment-org-chart.page-ubxepOmw.mjs +55 -0
  51. package/fesm2022/acorex-modules-organization-managment-org-chart.page-ubxepOmw.mjs.map +1 -0
  52. package/fesm2022/{acorex-modules-organization-managment-position.entity-CAQfoCEm.mjs → acorex-modules-organization-managment-position.entity-Bbb5KAkm.mjs} +10 -210
  53. package/fesm2022/acorex-modules-organization-managment-position.entity-Bbb5KAkm.mjs.map +1 -0
  54. package/fesm2022/acorex-modules-organization-managment.mjs +268 -149
  55. package/fesm2022/acorex-modules-organization-managment.mjs.map +1 -1
  56. package/fesm2022/acorex-modules-platform-management.mjs +115 -60
  57. package/fesm2022/acorex-modules-platform-management.mjs.map +1 -1
  58. package/fesm2022/acorex-modules-scheduler-job-management.mjs +2 -2
  59. package/fesm2022/acorex-modules-scheduler-job-management.mjs.map +1 -1
  60. package/fesm2022/acorex-modules-security-management.mjs +8 -8
  61. package/fesm2022/acorex-modules-security-management.mjs.map +1 -1
  62. package/fesm2022/acorex-modules-text-template-management.mjs +7 -7
  63. package/fesm2022/acorex-modules-text-template-management.mjs.map +1 -1
  64. package/organization-managment/index.d.ts +1 -6
  65. package/organization-managment/lib/const.d.ts +25 -1
  66. package/organization-managment/lib/entities/{employment/employment.module.d.ts → branch/branch.module.d.ts} +4 -4
  67. package/organization-managment/lib/entities/branch/branch.service.d.ts +10 -0
  68. package/organization-managment/lib/entities/branch/branch.types.d.ts +4 -0
  69. package/organization-managment/lib/entities/branch/index.d.ts +3 -0
  70. package/organization-managment/lib/entities/chart/chart.types.d.ts +12 -2
  71. package/organization-managment/lib/entities/chart/index.d.ts +3 -0
  72. package/organization-managment/lib/entities/company/index.d.ts +3 -0
  73. package/organization-managment/lib/entities/department/department.types.d.ts +0 -6
  74. package/organization-managment/lib/entities/department/index.d.ts +3 -0
  75. package/organization-managment/lib/entities/division/division.entity.d.ts +3 -0
  76. package/organization-managment/lib/entities/division/division.module.d.ts +6 -0
  77. package/organization-managment/lib/entities/division/division.service.d.ts +10 -0
  78. package/organization-managment/lib/entities/division/division.types.d.ts +4 -0
  79. package/organization-managment/lib/entities/division/index.d.ts +3 -0
  80. package/organization-managment/lib/entities/employee/employee.entity.d.ts +3 -0
  81. package/organization-managment/lib/entities/employee/employee.module.d.ts +6 -0
  82. package/organization-managment/lib/entities/employee/employee.service.d.ts +10 -0
  83. package/organization-managment/lib/entities/employee/employee.types.d.ts +7 -0
  84. package/organization-managment/lib/entities/employee/index.d.ts +3 -0
  85. package/organization-managment/lib/entities/employment-type/employment-type.entity.d.ts +3 -0
  86. package/organization-managment/lib/entities/employment-type/employment-type.module.d.ts +6 -0
  87. package/organization-managment/lib/entities/employment-type/employment-type.service.d.ts +10 -0
  88. package/organization-managment/lib/entities/employment-type/employment-type.types.d.ts +4 -0
  89. package/organization-managment/lib/entities/employment-type/index.d.ts +3 -0
  90. package/organization-managment/lib/entities/index.d.ts +8 -5
  91. package/organization-managment/lib/entities/position/index.d.ts +3 -0
  92. package/organization-managment/lib/entities/position/position.types.d.ts +0 -8
  93. package/organization-managment/lib/menu.provider.d.ts +1 -0
  94. package/organization-managment/lib/organization-managment.module.d.ts +7 -5
  95. package/organization-managment/lib/pages/org-chart/org-chart.page.d.ts +8 -0
  96. package/package.json +5 -5
  97. package/platform-management/lib/entities/app-version/check-version.d.ts +11 -0
  98. package/platform-management/lib/entities/app-version/workflow/test/test.component.d.ts +13 -4
  99. package/platform-management/lib/platform-management.module.d.ts +5 -0
  100. package/fesm2022/acorex-modules-auth-acorex-modules-auth-BukQhL3i.mjs.map +0 -1
  101. package/fesm2022/acorex-modules-auth-app-chooser.component-Co9UVNs7.mjs.map +0 -1
  102. package/fesm2022/acorex-modules-auth-master.layout-Bql93CSW.mjs +0 -23
  103. package/fesm2022/acorex-modules-auth-master.layout-Bql93CSW.mjs.map +0 -1
  104. package/fesm2022/acorex-modules-auth-tenant-chooser.component-CFT3i6iA.mjs +0 -83
  105. package/fesm2022/acorex-modules-auth-tenant-chooser.component-CFT3i6iA.mjs.map +0 -1
  106. package/fesm2022/acorex-modules-form-template-management-template-picker.component-vh_xdN7Z.mjs +0 -126
  107. package/fesm2022/acorex-modules-form-template-management-template-picker.component-vh_xdN7Z.mjs.map +0 -1
  108. package/fesm2022/acorex-modules-form-template-management-template.entity-C1xoo-tl.mjs.map +0 -1
  109. package/fesm2022/acorex-modules-organization-managment-chart-design.page-eE-nOaMw.mjs +0 -305
  110. package/fesm2022/acorex-modules-organization-managment-chart-design.page-eE-nOaMw.mjs.map +0 -1
  111. package/fesm2022/acorex-modules-organization-managment-department.entity-BagrypDK.mjs.map +0 -1
  112. package/fesm2022/acorex-modules-organization-managment-employment.entity-BYwBhrym.mjs.map +0 -1
  113. package/fesm2022/acorex-modules-organization-managment-position.entity-CAQfoCEm.mjs.map +0 -1
  114. package/organization-managment/lib/entities/employment/employment.service.d.ts +0 -10
  115. package/organization-managment/lib/entities/employment/employment.types.d.ts +0 -4
  116. package/organization-managment/lib/pages/chart-design/add-item/add-item.component.d.ts +0 -14
  117. package/organization-managment/lib/pages/chart-design/chart-design.page.d.ts +0 -26
  118. package/organization-managment/lib/pages/chart-design/chart-design.service.d.ts +0 -23
  119. package/organization-managment/lib/pages/chart-design/chart.type.d.ts +0 -9
  120. package/organization-managment/lib/workflows/chart.workflow.d.ts +0 -12
  121. /package/organization-managment/lib/entities/{employment/employment.entity.d.ts → branch/branch.entity.d.ts} +0 -0
@@ -0,0 +1,126 @@
1
+ import * as i4 from '@acorex/components/button';
2
+ import { AXButtonModule } from '@acorex/components/button';
3
+ import * as i2 from '@acorex/components/common';
4
+ import { AXCommonModule } from '@acorex/components/common';
5
+ import * as i5 from '@acorex/components/decorators';
6
+ import { AXDecoratorModule } from '@acorex/components/decorators';
7
+ import { AXBasePageComponent } from '@acorex/components/page';
8
+ import * as i7 from '@acorex/components/search-box';
9
+ import { AXSearchBoxModule } from '@acorex/components/search-box';
10
+ import * as i6 from '@acorex/components/tabs';
11
+ import { AXTabsModule } from '@acorex/components/tabs';
12
+ import { AXPSettingService, AXPSettingScope, AXPStickyDirective } from '@acorex/platform/common';
13
+ import * as i1 from '@angular/common';
14
+ import { CommonModule } from '@angular/common';
15
+ import * as i0 from '@angular/core';
16
+ import { inject, model, signal, computed, Component, ViewEncapsulation } from '@angular/core';
17
+ import * as i3 from '@angular/forms';
18
+ import { FormsModule } from '@angular/forms';
19
+ import { orderBy, uniqBy } from 'lodash-es';
20
+
21
+ class AXPTemplateWidgetPickerComponent extends AXBasePageComponent {
22
+ constructor() {
23
+ super(...arguments);
24
+ this.settingService = inject(AXPSettingService);
25
+ this.pinnedSettingKey = 'forms:templates:picker:pinned';
26
+ this.searchTerm = model('');
27
+ // Signals
28
+ this.widgets = [];
29
+ this.displayWidgets = signal([]);
30
+ // Signal to track selected widgets
31
+ this.selectedWidgets = signal([]);
32
+ // Computed for filtered and ordered widget list
33
+ this.orderedList = computed(() => {
34
+ const search = this.searchTerm().toLowerCase();
35
+ const selectedTabName = this.selectedTab().name;
36
+ return orderBy(this.displayWidgets().filter((w) => {
37
+ const matchesTab = selectedTabName === 'all' || w.group.name === selectedTabName;
38
+ const matchesSearch = !search || w.title.toLowerCase().includes(search) || w.description?.toLowerCase().includes(search);
39
+ return matchesTab && matchesSearch;
40
+ }), ['pinned', 'title'], ['desc', 'asc']);
41
+ });
42
+ // Pinned and regular lists
43
+ this.pinnedList = computed(() => this.orderedList().filter((c) => c.pinned));
44
+ this.regularList = computed(() => this.orderedList().filter((c) => !c.pinned));
45
+ this.tabs = computed(() => {
46
+ const uniqueOrderedWidgets = orderBy(uniqBy([{ name: 'all', title: 'All', order: 0 }, ...this.widgets.map(c => c.group)], (c) => c.name // or another property to ensure uniqueness
47
+ ), (c) => c.order);
48
+ return uniqueOrderedWidgets;
49
+ });
50
+ this.currentTabIndex = signal(0);
51
+ this.selectedTab = computed(() => this.tabs()[this.currentTabIndex()]);
52
+ }
53
+ async ngOnInit() {
54
+ super.ngOnInit();
55
+ const pinnedWidgets = (await this.settingService.get(this.pinnedSettingKey)) || [];
56
+ this.displayWidgets.set(this.widgets.map((c) => ({ ...c, pinned: pinnedWidgets.includes(c.id), icon: c.icon ?? 'fa-solid fa-file-invoice' })));
57
+ }
58
+ handleTabChange(event) {
59
+ const indx = event.index;
60
+ if (this.currentTabIndex() != indx) {
61
+ this.currentTabIndex.set(indx);
62
+ }
63
+ }
64
+ handleClick(event, widget) {
65
+ if (event.ctrlKey) {
66
+ const currentSelection = this.selectedWidgets();
67
+ const isAlreadySelected = currentSelection.some((w) => w === widget);
68
+ if (isAlreadySelected) {
69
+ // Deselect widget if already selected
70
+ this.selectedWidgets.set(currentSelection.filter((w) => w !== widget));
71
+ }
72
+ else {
73
+ // Add widget to selection
74
+ this.selectedWidgets.set([...currentSelection, widget]);
75
+ }
76
+ }
77
+ else {
78
+ // If CTRL is not pressed, select only the clicked widget
79
+ this.close({ widgets: [widget] });
80
+ }
81
+ }
82
+ async handlePinClick(e, widget) {
83
+ e.stopPropagation();
84
+ widget.pinned = !widget.pinned;
85
+ // Get the current list of pinned widgets from settings
86
+ let pinnedWidgets = (await this.settingService.get(this.pinnedSettingKey)) || [];
87
+ // Update the list of pinned widgets based on the pinned status
88
+ if (widget.pinned) {
89
+ if (!pinnedWidgets.includes(widget.id)) {
90
+ pinnedWidgets.push(widget.id);
91
+ }
92
+ }
93
+ else {
94
+ pinnedWidgets = pinnedWidgets.filter((name) => name !== widget.id);
95
+ }
96
+ // Save the updated list of pinned widgets
97
+ await this.settingService.scope(AXPSettingScope.User).set(this.pinnedSettingKey, pinnedWidgets);
98
+ // Trigger a re-render of the widgets
99
+ this.displayWidgets.set([...this.displayWidgets()]);
100
+ }
101
+ // Check if a widget is selected
102
+ isWidgetSelected(widget) {
103
+ return this.selectedWidgets().includes(widget);
104
+ }
105
+ handleConfirmSelection() {
106
+ this.close({ widgets: this.selectedWidgets() });
107
+ }
108
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPTemplateWidgetPickerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
109
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXPTemplateWidgetPickerComponent, isStandalone: true, selector: "ng-component", inputs: { searchTerm: { classPropertyName: "searchTerm", publicName: "searchTerm", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { searchTerm: "searchTermChange" }, usesInheritance: true, ngImport: i0, template: "<div class=\"ax-flex ax-flex-col lg:ax-h-[75vh]\">\n <div>\n <ax-tabs [look]=\"'with-line'\" (onActiveTabChanged)=\"handleTabChange($event)\">\n @for(w of tabs();track $index)\n {\n <ax-tab-item [text]=\"w.title\" [key]=\"$index.toString()\"\n [active]=\"currentTabIndex() === $index\"></ax-tab-item>\n }\n </ax-tabs>\n </div>\n <div class=\"ax-overflow-auto\" #content>\n <div class=\"ax-p-4 ax-sticky ax-top-0 ax-z-10 ax-transition-all \" #sticky=\"axpSticky\"\n [axpSticky]=\"'ax-bg-surface-lowest ax-shadow-xl'\" [stickyParent]=\"content\" [stickyOffset]=\"10\">\n <ax-search-box look=\"fill\" placeholder=\"e.g. Button, Text, ...\" [(ngModel)]=\"searchTerm\" [delayTime]=\"300\"\n [axAutoFocus]=\"true\">\n <ax-clear-button></ax-clear-button>\n </ax-search-box>\n </div>\n <div class=\"ax-flex ax-flex-col ax-p-4 ax-pt-0\">\n <ng-template #itemTpl let-w>\n <div (click)=\"handleClick($event,w)\"\n class=\"ax-py-2 ax-px-3 ax-rounded-md ax-flex ax-gap-3 ax-items-center ax-group hover:ax-bg-primary-100 dark:hover:ax-bg-primary-800 ax-cursor-pointer\"\n [class.ax-bg-primary-100]=\"isWidgetSelected(w)\">\n <div class=\"ax-w-10 ax-h-10 ax-flex ax-items-center ax-justify-center ax-rounded-md ax-border ax-border-neutral-200 ax-text-neutral-500 ax-bg-on-surface group-hover:ax-bg-primary-200\"\n [class.ax-bg-primary-200]=\"isWidgetSelected(w)\">\n <i [ngClass]=\"w.icon\" class=\"ax-text-lg group-hover:ax-text-primary-700 ax-text-on-surface-fore\"\n [class.ax-text-primary-700]=\"isWidgetSelected(w)\"></i>\n </div>\n <div class=\"ax-flex ax-flex-col ax-gap-1 ax-flex-1\">\n <div class=\"ax-flex ax-items-center ax-gap-2\">\n <div class=\"ax-font-semibold ax-text-sm\">{{w.title}}</div>\n <div (click)=\"handlePinClick($event,w)\">\n @if (w.pinned) {\n <i class=\"fa-solid fa-thumbtack ax-text-sm ax-text-neutral-500 ax-rotate-45\"></i>\n }\n @else {\n <i\n class=\"fa-light fa-thumbtack ax-text-sm ax-text-neutral-500 ax-rotate-45 ax-invisible group-hover:ax-visible\"></i>\n }\n </div>\n </div>\n <span class=\"ax-text-xs ax-text-neutral-400 ax-truncate\">\n {{w.description}}\n </span>\n </div>\n </div>\n </ng-template>\n <div class=\"ax-grid ax-grid-cols-2 ax-gap-2 \">\n @for(w of pinnedList();track $index)\n {\n <ng-container *ngTemplateOutlet=\"itemTpl;context:{ $implicit: w}\"></ng-container>\n }\n </div>\n @if(pinnedList().length)\n {\n <hr class=\"ax-my-4 ax-border-dashed\">\n }\n <div class=\"ax-grid ax-grid-cols-2 ax-gap-2 \">\n @for(w of regularList();track $index)\n {\n <ng-container *ngTemplateOutlet=\"itemTpl;context:{ $implicit: w}\"></ng-container>\n }\n </div>\n </div>\n </div>\n</div>\n@if(selectedWidgets().length)\n{\n<ax-footer>\n <ax-suffix>\n <ax-button look=\"solid\" color=\"primary\" text=\"{{ selectedWidgets().length }} Selected\"\n (onClick)=\"handleConfirmSelection()\"></ax-button>\n </ax-suffix>\n</ax-footer>\n}", styles: [".selected-widget{border-width:1px;--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-primary-500),var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-primary-100),var(--tw-bg-opacity, 1))}.selected-widget i{--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-primary-500),var(--tw-text-opacity, 1))}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: AXCommonModule }, { kind: "directive", type: i2.AXAutoFocusDirective, selector: "[axAutoFocus]", inputs: ["axAutoFocus", "axAutoFocusTime"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i4.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i5.AXDecoratorClearButtonComponent, selector: "ax-clear-button", inputs: ["icon"] }, { kind: "component", type: i5.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: AXTabsModule }, { kind: "component", type: i6.AXTabsComponent, selector: "ax-tabs", inputs: ["look", "location", "fitParent", "minWidth", "content"], outputs: ["onActiveTabChanged"] }, { kind: "component", type: i6.AXTabItemComponent, selector: "ax-tab-item", inputs: ["disabled", "text", "key", "headerTemplate", "active"], outputs: ["disabledChange", "onClick", "onBlur", "onFocus", "activeChange"] }, { kind: "ngmodule", type: AXSearchBoxModule }, { kind: "component", type: i7.AXSearchBoxComponent, selector: "ax-search-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "class", "delayTime"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "directive", type: AXPStickyDirective, selector: "[axpSticky]", inputs: ["axpSticky", "stickyOffset", "stickyParent", "stickyTarget"], outputs: ["isStickyChange"], exportAs: ["axpSticky"] }], encapsulation: i0.ViewEncapsulation.None }); }
110
+ }
111
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPTemplateWidgetPickerComponent, decorators: [{
112
+ type: Component,
113
+ args: [{ imports: [
114
+ CommonModule,
115
+ AXCommonModule,
116
+ FormsModule,
117
+ AXButtonModule,
118
+ AXDecoratorModule,
119
+ AXTabsModule,
120
+ AXSearchBoxModule,
121
+ AXPStickyDirective,
122
+ ], encapsulation: ViewEncapsulation.None, template: "<div class=\"ax-flex ax-flex-col lg:ax-h-[75vh]\">\n <div>\n <ax-tabs [look]=\"'with-line'\" (onActiveTabChanged)=\"handleTabChange($event)\">\n @for(w of tabs();track $index)\n {\n <ax-tab-item [text]=\"w.title\" [key]=\"$index.toString()\"\n [active]=\"currentTabIndex() === $index\"></ax-tab-item>\n }\n </ax-tabs>\n </div>\n <div class=\"ax-overflow-auto\" #content>\n <div class=\"ax-p-4 ax-sticky ax-top-0 ax-z-10 ax-transition-all \" #sticky=\"axpSticky\"\n [axpSticky]=\"'ax-bg-surface-lowest ax-shadow-xl'\" [stickyParent]=\"content\" [stickyOffset]=\"10\">\n <ax-search-box look=\"fill\" placeholder=\"e.g. Button, Text, ...\" [(ngModel)]=\"searchTerm\" [delayTime]=\"300\"\n [axAutoFocus]=\"true\">\n <ax-clear-button></ax-clear-button>\n </ax-search-box>\n </div>\n <div class=\"ax-flex ax-flex-col ax-p-4 ax-pt-0\">\n <ng-template #itemTpl let-w>\n <div (click)=\"handleClick($event,w)\"\n class=\"ax-py-2 ax-px-3 ax-rounded-md ax-flex ax-gap-3 ax-items-center ax-group hover:ax-bg-primary-100 dark:hover:ax-bg-primary-800 ax-cursor-pointer\"\n [class.ax-bg-primary-100]=\"isWidgetSelected(w)\">\n <div class=\"ax-w-10 ax-h-10 ax-flex ax-items-center ax-justify-center ax-rounded-md ax-border ax-border-neutral-200 ax-text-neutral-500 ax-bg-on-surface group-hover:ax-bg-primary-200\"\n [class.ax-bg-primary-200]=\"isWidgetSelected(w)\">\n <i [ngClass]=\"w.icon\" class=\"ax-text-lg group-hover:ax-text-primary-700 ax-text-on-surface-fore\"\n [class.ax-text-primary-700]=\"isWidgetSelected(w)\"></i>\n </div>\n <div class=\"ax-flex ax-flex-col ax-gap-1 ax-flex-1\">\n <div class=\"ax-flex ax-items-center ax-gap-2\">\n <div class=\"ax-font-semibold ax-text-sm\">{{w.title}}</div>\n <div (click)=\"handlePinClick($event,w)\">\n @if (w.pinned) {\n <i class=\"fa-solid fa-thumbtack ax-text-sm ax-text-neutral-500 ax-rotate-45\"></i>\n }\n @else {\n <i\n class=\"fa-light fa-thumbtack ax-text-sm ax-text-neutral-500 ax-rotate-45 ax-invisible group-hover:ax-visible\"></i>\n }\n </div>\n </div>\n <span class=\"ax-text-xs ax-text-neutral-400 ax-truncate\">\n {{w.description}}\n </span>\n </div>\n </div>\n </ng-template>\n <div class=\"ax-grid ax-grid-cols-2 ax-gap-2 \">\n @for(w of pinnedList();track $index)\n {\n <ng-container *ngTemplateOutlet=\"itemTpl;context:{ $implicit: w}\"></ng-container>\n }\n </div>\n @if(pinnedList().length)\n {\n <hr class=\"ax-my-4 ax-border-dashed\">\n }\n <div class=\"ax-grid ax-grid-cols-2 ax-gap-2 \">\n @for(w of regularList();track $index)\n {\n <ng-container *ngTemplateOutlet=\"itemTpl;context:{ $implicit: w}\"></ng-container>\n }\n </div>\n </div>\n </div>\n</div>\n@if(selectedWidgets().length)\n{\n<ax-footer>\n <ax-suffix>\n <ax-button look=\"solid\" color=\"primary\" text=\"{{ selectedWidgets().length }} Selected\"\n (onClick)=\"handleConfirmSelection()\"></ax-button>\n </ax-suffix>\n</ax-footer>\n}", styles: [".selected-widget{border-width:1px;--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-primary-500),var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-primary-100),var(--tw-bg-opacity, 1))}.selected-widget i{--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-primary-500),var(--tw-text-opacity, 1))}\n"] }]
123
+ }] });
124
+
125
+ export { AXPTemplateWidgetPickerComponent };
126
+ //# sourceMappingURL=acorex-modules-form-template-management-template-picker.component-DW0iMqAA.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-modules-form-template-management-template-picker.component-DW0iMqAA.mjs","sources":["../../../../libs/modules/form-template-management/src/lib/components/widgets/template-picker/template-picker.component.ts","../../../../libs/modules/form-template-management/src/lib/components/widgets/template-picker/template-picker.component.html"],"sourcesContent":["import { AXButtonModule } from '@acorex/components/button';\nimport { AXCommonModule } from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXBasePageComponent } from '@acorex/components/page';\nimport { AXSearchBoxModule } from '@acorex/components/search-box';\nimport { AXTabsModule, AXTabStripChangedEvent } from '@acorex/components/tabs';\nimport { AXPSettingScope, AXPSettingService, AXPStickyDirective } from '@acorex/platform/common';\nimport { AXPWidgetGroup } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { Component, computed, inject, model, signal, ViewEncapsulation } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { orderBy, uniqBy } from 'lodash-es';\nimport { AXPTemplateWidgetListItem } from './template.provider';\n\nexport interface AXPDisplayWidgetProvided extends AXPTemplateWidgetListItem {\n pinned: boolean;\n}\n\n@Component({\n imports: [\n CommonModule,\n AXCommonModule,\n FormsModule,\n AXButtonModule,\n AXDecoratorModule,\n AXTabsModule,\n AXSearchBoxModule,\n AXPStickyDirective,\n ],\n templateUrl: './template-picker.component.html',\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./template-picker.component.scss']\n})\nexport class AXPTemplateWidgetPickerComponent extends AXBasePageComponent {\n private settingService = inject(AXPSettingService);\n\n private readonly pinnedSettingKey = 'forms:templates:picker:pinned';\n\n protected searchTerm = model('');\n\n // Signals\n private widgets: AXPDisplayWidgetProvided[] = [];\n private displayWidgets = signal<AXPDisplayWidgetProvided[]>([]);\n\n // Signal to track selected widgets\n protected selectedWidgets = signal<AXPDisplayWidgetProvided[]>([]);\n\n // Computed for filtered and ordered widget list\n private orderedList = computed(() => {\n const search = this.searchTerm().toLowerCase();\n const selectedTabName = this.selectedTab().name;\n\n return orderBy(\n this.displayWidgets().filter((w) => {\n const matchesTab = selectedTabName === 'all' || w.group.name === selectedTabName;\n const matchesSearch =\n !search || w.title.toLowerCase().includes(search) || w.description?.toLowerCase().includes(search);\n return matchesTab && matchesSearch;\n }),\n ['pinned', 'title'],\n ['desc', 'asc']\n );\n });\n\n // Pinned and regular lists\n protected pinnedList = computed(() => this.orderedList().filter((c) => c.pinned));\n protected regularList = computed(() => this.orderedList().filter((c) => !c.pinned));\n\n protected tabs = computed<AXPWidgetGroup[]>(() => {\n const uniqueOrderedWidgets = orderBy(\n uniqBy(\n [{ name: 'all', title: 'All', order: 0 }, ...this.widgets.map(c => c.group)],\n (c) => c.name // or another property to ensure uniqueness\n ),\n (c) => c.order\n );\n return uniqueOrderedWidgets;\n })\n protected currentTabIndex = signal(0);\n protected selectedTab = computed(() => this.tabs()[this.currentTabIndex()]);\n\n protected override async ngOnInit() {\n super.ngOnInit();\n const pinnedWidgets = (await this.settingService.get<string[]>(this.pinnedSettingKey)) || [];\n this.displayWidgets.set(this.widgets.map((c) => ({ ...c, pinned: pinnedWidgets.includes(c.id), icon: c.icon ?? 'fa-solid fa-file-invoice' })));\n }\n\n protected handleTabChange(event: AXTabStripChangedEvent): void {\n const indx = event.index;\n if (this.currentTabIndex() != indx) {\n this.currentTabIndex.set(indx);\n }\n }\n\n protected handleClick(event: MouseEvent, widget: AXPDisplayWidgetProvided) {\n if (event.ctrlKey) {\n const currentSelection = this.selectedWidgets();\n const isAlreadySelected = currentSelection.some((w) => w === widget);\n\n if (isAlreadySelected) {\n // Deselect widget if already selected\n this.selectedWidgets.set(currentSelection.filter((w) => w !== widget));\n } else {\n // Add widget to selection\n this.selectedWidgets.set([...currentSelection, widget]);\n }\n } else {\n // If CTRL is not pressed, select only the clicked widget\n this.close({ widgets: [widget] });\n }\n }\n\n protected async handlePinClick(e: MouseEvent, widget: AXPDisplayWidgetProvided) {\n e.stopPropagation();\n widget.pinned = !widget.pinned;\n // Get the current list of pinned widgets from settings\n let pinnedWidgets = (await this.settingService.get<string[]>(this.pinnedSettingKey)) || [];\n\n // Update the list of pinned widgets based on the pinned status\n if (widget.pinned) {\n if (!pinnedWidgets.includes(widget.id)) {\n pinnedWidgets.push(widget.id);\n }\n } else {\n pinnedWidgets = pinnedWidgets.filter((name) => name !== widget.id);\n }\n\n // Save the updated list of pinned widgets\n await this.settingService.scope(AXPSettingScope.User).set(this.pinnedSettingKey, pinnedWidgets);\n\n // Trigger a re-render of the widgets\n this.displayWidgets.set([...this.displayWidgets()]);\n }\n\n // Check if a widget is selected\n protected isWidgetSelected(widget: AXPDisplayWidgetProvided): boolean {\n return this.selectedWidgets().includes(widget);\n }\n\n protected handleConfirmSelection(): void {\n this.close({ widgets: this.selectedWidgets() });\n }\n}\n","<div class=\"ax-flex ax-flex-col lg:ax-h-[75vh]\">\n <div>\n <ax-tabs [look]=\"'with-line'\" (onActiveTabChanged)=\"handleTabChange($event)\">\n @for(w of tabs();track $index)\n {\n <ax-tab-item [text]=\"w.title\" [key]=\"$index.toString()\"\n [active]=\"currentTabIndex() === $index\"></ax-tab-item>\n }\n </ax-tabs>\n </div>\n <div class=\"ax-overflow-auto\" #content>\n <div class=\"ax-p-4 ax-sticky ax-top-0 ax-z-10 ax-transition-all \" #sticky=\"axpSticky\"\n [axpSticky]=\"'ax-bg-surface-lowest ax-shadow-xl'\" [stickyParent]=\"content\" [stickyOffset]=\"10\">\n <ax-search-box look=\"fill\" placeholder=\"e.g. Button, Text, ...\" [(ngModel)]=\"searchTerm\" [delayTime]=\"300\"\n [axAutoFocus]=\"true\">\n <ax-clear-button></ax-clear-button>\n </ax-search-box>\n </div>\n <div class=\"ax-flex ax-flex-col ax-p-4 ax-pt-0\">\n <ng-template #itemTpl let-w>\n <div (click)=\"handleClick($event,w)\"\n class=\"ax-py-2 ax-px-3 ax-rounded-md ax-flex ax-gap-3 ax-items-center ax-group hover:ax-bg-primary-100 dark:hover:ax-bg-primary-800 ax-cursor-pointer\"\n [class.ax-bg-primary-100]=\"isWidgetSelected(w)\">\n <div class=\"ax-w-10 ax-h-10 ax-flex ax-items-center ax-justify-center ax-rounded-md ax-border ax-border-neutral-200 ax-text-neutral-500 ax-bg-on-surface group-hover:ax-bg-primary-200\"\n [class.ax-bg-primary-200]=\"isWidgetSelected(w)\">\n <i [ngClass]=\"w.icon\" class=\"ax-text-lg group-hover:ax-text-primary-700 ax-text-on-surface-fore\"\n [class.ax-text-primary-700]=\"isWidgetSelected(w)\"></i>\n </div>\n <div class=\"ax-flex ax-flex-col ax-gap-1 ax-flex-1\">\n <div class=\"ax-flex ax-items-center ax-gap-2\">\n <div class=\"ax-font-semibold ax-text-sm\">{{w.title}}</div>\n <div (click)=\"handlePinClick($event,w)\">\n @if (w.pinned) {\n <i class=\"fa-solid fa-thumbtack ax-text-sm ax-text-neutral-500 ax-rotate-45\"></i>\n }\n @else {\n <i\n class=\"fa-light fa-thumbtack ax-text-sm ax-text-neutral-500 ax-rotate-45 ax-invisible group-hover:ax-visible\"></i>\n }\n </div>\n </div>\n <span class=\"ax-text-xs ax-text-neutral-400 ax-truncate\">\n {{w.description}}\n </span>\n </div>\n </div>\n </ng-template>\n <div class=\"ax-grid ax-grid-cols-2 ax-gap-2 \">\n @for(w of pinnedList();track $index)\n {\n <ng-container *ngTemplateOutlet=\"itemTpl;context:{ $implicit: w}\"></ng-container>\n }\n </div>\n @if(pinnedList().length)\n {\n <hr class=\"ax-my-4 ax-border-dashed\">\n }\n <div class=\"ax-grid ax-grid-cols-2 ax-gap-2 \">\n @for(w of regularList();track $index)\n {\n <ng-container *ngTemplateOutlet=\"itemTpl;context:{ $implicit: w}\"></ng-container>\n }\n </div>\n </div>\n </div>\n</div>\n@if(selectedWidgets().length)\n{\n<ax-footer>\n <ax-suffix>\n <ax-button look=\"solid\" color=\"primary\" text=\"{{ selectedWidgets().length }} Selected\"\n (onClick)=\"handleConfirmSelection()\"></ax-button>\n </ax-suffix>\n</ax-footer>\n}"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { AXPEntityQueryType, AXPEntityCommandScope } from '@acorex/platform/common';
1
+ import { AXPEntityQueryType, AXPEntityCommandScope, createAllQueryView, createQueryView } from '@acorex/platform/common';
2
2
  import { AXPWidgetsCatalog } from '@acorex/platform/layout/builder';
3
3
  import { AXMFormTemplateManagementTemplateEntityService, RootConfig, AXMFormTemplateTypes } from './acorex-modules-form-template-management.mjs';
4
4
 
@@ -389,6 +389,13 @@ async function factory(injector) {
389
389
  type: 'create',
390
390
  scope: AXPEntityCommandScope.TypeLevel,
391
391
  },
392
+ {
393
+ title: `t("design", { scope: "common" })`,
394
+ command: 'design-form-template',
395
+ priority: 'primary',
396
+ type: 'design',
397
+ scope: AXPEntityCommandScope.Individual,
398
+ },
392
399
  {
393
400
  title: 't("delete", { scope: "common" })',
394
401
  command: 'delete-entity',
@@ -419,19 +426,8 @@ async function factory(injector) {
419
426
  },
420
427
  ],
421
428
  views: [
422
- {
423
- name: 'all',
424
- title: 't("allItem", { scope: "common" })',
425
- fixed: true,
426
- columns: [],
427
- conditions: [],
428
- sorts: [{ name: 'title', dir: 'asc' }],
429
- },
430
- {
431
- name: 'forms',
432
- title: `t("forms", { scope: "${i18n}" })`,
433
- fixed: true,
434
- columns: [],
429
+ createAllQueryView({ sorts: [{ name: 'title', dir: 'asc' }] }),
430
+ createQueryView('forms', `t("forms", { scope: "${i18n}" })`, true, {
435
431
  conditions: [
436
432
  {
437
433
  name: 'type.value',
@@ -439,15 +435,10 @@ async function factory(injector) {
439
435
  type: 'equal',
440
436
  },
441
437
  value: 10,
442
- },
443
- ],
444
- sorts: [{ name: 'title', dir: 'asc' }],
445
- },
446
- {
447
- name: 'widgets',
448
- title: `t("widgets", { scope: "${i18n}" })`,
449
- fixed: true,
450
- columns: [],
438
+ }
439
+ ]
440
+ }),
441
+ createQueryView('widgets', `t("widgets", { scope: "${i18n}" })`, true, {
451
442
  conditions: [
452
443
  {
453
444
  name: 'type.value',
@@ -455,10 +446,9 @@ async function factory(injector) {
455
446
  type: 'equal',
456
447
  },
457
448
  value: 20,
458
- },
459
- ],
460
- sorts: [{ name: 'title', dir: 'asc' }],
461
- },
449
+ }
450
+ ]
451
+ }),
462
452
  ],
463
453
  },
464
454
  },
@@ -468,4 +458,4 @@ async function factory(injector) {
468
458
  }
469
459
 
470
460
  export { factory };
471
- //# sourceMappingURL=acorex-modules-form-template-management-template.entity-C1xoo-tl.mjs.map
461
+ //# sourceMappingURL=acorex-modules-form-template-management-template.entity-BpApQcvG.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-modules-form-template-management-template.entity-BpApQcvG.mjs","sources":["../../../../libs/modules/form-template-management/src/lib/entities/template/template.entity.ts"],"sourcesContent":["import { AXPEntity, AXPEntityCommandScope, AXPEntityQueryType, createAllQueryView, createQueryView } from '@acorex/platform/common';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/builder';\nimport { Injector } from '@angular/core';\n\nimport { RootConfig } from '../../const';\nimport { AXMFormTemplateManagementTemplateEntityService } from './template.service';\nimport { AXMFormTemplateTypes } from './template.types';\n\nexport async function factory(injector: Injector): Promise<AXPEntity | null> {\n const dataService = injector.get(AXMFormTemplateManagementTemplateEntityService);\n const i18n = RootConfig.config.i18n;\n\n const entityDef: AXPEntity = {\n module: RootConfig.module.name,\n name: RootConfig.entities.template.name,\n source: '',\n title: RootConfig.entities.template.title,\n formats: {\n individual: `t(\"template\",{scope:\"${i18n}\"})`,\n plural: `t(\"templates\",{scope:\"${i18n}\"})`,\n searchResult: {\n title: '{{ title }}',\n description: RootConfig.module.title,\n },\n },\n relatedEntities: [],\n groups: [\n {\n id: 'section',\n title: `t(\"information\",{scope:\"common\"})`,\n },\n ],\n properties: [\n {\n name: 'documentId',\n title: `t(\"document-id\",{scope:\"${i18n}\"})`,\n groupId: 'section',\n options: {\n filter: {\n inline: { enabled: true },\n },\n sort: {\n enabled: true,\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'title',\n title: `t(\"title\",{scope:\"common\"})`,\n groupId: 'section',\n options: {\n filter: {\n inline: { enabled: true },\n },\n sort: {\n enabled: true,\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'categoryId',\n title: `t(\"categoryId\",{scope:\"${i18n}\"})`,\n groupId: 'section',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.lookup,\n options: {\n entity: `${RootConfig.module.name}.${RootConfig.entities.category.name}`,\n expose: [\n { source: 'id', target: 'categoryId' },\n { source: 'title', target: 'category.title' },\n ],\n },\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'type',\n title: `t(\"template-type\",{scope:\"${i18n}\"})`,\n groupId: 'section',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.select,\n options: {\n valueField: 'id',\n textField: 'title',\n defaultValue: AXMFormTemplateTypes.Form,\n dataSource: [AXMFormTemplateTypes.Form, AXMFormTemplateTypes.Widget],\n multiple: false,\n },\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'template',\n title: `t(\"template\",{scope:\"${i18n}\"})`,\n groupId: 'section',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.templateDesigner,\n },\n },\n },\n {\n name: 'isArchived',\n title: `t(\"isArchived\",{scope:\"${i18n}\"})`,\n groupId: 'application',\n schema: {\n dataType: 'boolean',\n interface: {\n type: AXPWidgetsCatalog.toggle,\n },\n },\n },\n ],\n columns: [\n { name: 'documentId' },\n { name: 'title' },\n { name: 'type' },\n { name: 'categoryId', options: { dataPath: 'category.title' } },\n { name: 'isArchived' },\n ],\n commands: {\n create: {\n execute: async (data: any) => {\n const res = await dataService.insertOne(data);\n return { id: res };\n },\n },\n delete: {\n execute: async (id: any) => {\n return await dataService.deleteOne(id);\n },\n },\n update: {\n execute: async (data: any) => {\n return await dataService.updateOne(data.id, data);\n },\n },\n },\n queries: {\n byKey: {\n execute: async (id: string) => {\n return await dataService.getOne(id);\n },\n type: AXPEntityQueryType.Single,\n },\n list: {\n execute: async (e: any) => {\n return await dataService.query({ skip: e.skip, take: e.take, filter: e.filter });\n },\n type: AXPEntityQueryType.List,\n },\n },\n interfaces: {\n master: {\n create: {\n sections: [\n {\n id: 'section',\n },\n ],\n properties: [\n {\n name: 'documentId',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'type',\n layout: {\n order: 10,\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'categoryId',\n layout: {\n order: 20,\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n ],\n },\n update: {\n sections: [\n {\n id: 'section',\n },\n ],\n properties: [\n {\n name: 'documentId',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'categoryId',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'type',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n ],\n },\n single: {\n title: '{{title}} {{documentId}}',\n sections: [\n {\n id: 'section',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n id: 'template',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n properties: [\n {\n name: 'documentId',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'type',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'categoryId',\n layout: {\n positions: {\n lg: {\n colSpan: 4,\n },\n },\n },\n },\n {\n name: 'template',\n layout: {\n label: {\n visible: false,\n },\n positions: {\n lg: {\n colSpan: 4,\n },\n },\n },\n },\n ],\n actions: [\n {\n command: 'archive-entity',\n priority: 'secondary',\n scope: AXPEntityCommandScope.Individual,\n type: 'archive',\n title: `t(\"archive\", { scope: \"common\" })`,\n },\n {\n title: 't(\"delete\", { scope: \"common\" })',\n command: 'delete-entity',\n priority: 'secondary',\n type: 'delete',\n scope: AXPEntityCommandScope.Individual,\n },\n ],\n },\n list: {\n actions: [\n {\n title: `t(\"create\", { scope: \"common\" })`,\n command: 'create-form-template',\n priority: 'primary',\n type: 'create',\n scope: AXPEntityCommandScope.TypeLevel,\n },\n {\n title: `t(\"design\", { scope: \"common\" })`,\n command: 'design-form-template',\n priority: 'primary',\n type: 'design',\n scope: AXPEntityCommandScope.Individual,\n },\n {\n title: 't(\"delete\", { scope: \"common\" })',\n command: 'delete-entity',\n priority: 'primary',\n type: 'delete',\n scope: AXPEntityCommandScope.Selected,\n },\n {\n title: 't(\"detail\", { scope: \"common\" })',\n command: 'open-entity',\n priority: 'secondary',\n type: 'view',\n scope: AXPEntityCommandScope.Individual,\n },\n {\n title: 't(\"delete\", { scope: \"common\" })',\n command: 'delete-entity',\n priority: 'secondary',\n type: 'delete',\n scope: AXPEntityCommandScope.Individual,\n },\n {\n command: 'archive-entity',\n priority: 'secondary',\n scope: AXPEntityCommandScope.Selected,\n type: 'archive',\n title: `t(\"archive\", { scope: \"common\" })`,\n },\n ],\n views: [\n createAllQueryView({ sorts: [{ name: 'title', dir: 'asc' }] }),\n createQueryView('forms', `t(\"forms\", { scope: \"${i18n}\" })`, true,\n {\n conditions: [\n {\n name: 'type.value',\n operator: {\n type: 'equal',\n },\n value: 10,\n }\n ]\n }),\n createQueryView('widgets', `t(\"widgets\", { scope: \"${i18n}\" })`, true,\n {\n conditions: [\n {\n name: 'type.value',\n operator: {\n type: 'equal',\n },\n value: 20,\n }\n ]\n }),\n ],\n },\n },\n },\n };\n\n return entityDef;\n}\n"],"names":[],"mappings":"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"}
@@ -51,7 +51,7 @@ class AXPTemplateWidgetProviderService {
51
51
  return null;
52
52
  }
53
53
  async chooseTemplate() {
54
- const com = await import('./acorex-modules-form-template-management-template-picker.component-vh_xdN7Z.mjs').then((c) => c.AXPTemplateWidgetPickerComponent);
54
+ const com = await import('./acorex-modules-form-template-management-template-picker.component-DW0iMqAA.mjs').then((c) => c.AXPTemplateWidgetPickerComponent);
55
55
  const widgets = await this.items({
56
56
  skip: 0,
57
57
  take: 100,
@@ -397,18 +397,18 @@ const RootConfig = {
397
397
  route: 'form-template-management',
398
398
  name: 'FormTemplateManagement',
399
399
  title: `t('module-name', {scope:"${config.i18n}"})`,
400
- icon: 'fa-solid fa-file-invoice'
400
+ icon: 'fa-light fa-file-invoice'
401
401
  },
402
402
  entities: {
403
403
  category: {
404
404
  name: 'Category',
405
405
  title: 't("category", { scope: "common" })',
406
- icon: 'fa-solid fa-list'
406
+ icon: 'fa-light fa-list'
407
407
  },
408
408
  template: {
409
409
  name: 'Template',
410
410
  title: `t("template",{scope:"${config.i18n}"})`,
411
- icon: 'fa-solid fa-file-code'
411
+ icon: 'fa-light fa-file-code'
412
412
  }
413
413
  },
414
414
  };
@@ -511,7 +511,7 @@ class AXMEntityProvider {
511
511
  case RootConfig.entities.category.name:
512
512
  return (await import('./acorex-modules-form-template-management-category.entity-BcfMw_wb.mjs')).factory(this.injector);
513
513
  case RootConfig.entities.template.name:
514
- return (await import('./acorex-modules-form-template-management-template.entity-C1xoo-tl.mjs')).factory(this.injector);
514
+ return (await import('./acorex-modules-form-template-management-template.entity-BpApQcvG.mjs')).factory(this.injector);
515
515
  }
516
516
  }
517
517
  return null;
@@ -533,7 +533,7 @@ class AXMMenuProvider {
533
533
  context.addItems([
534
534
  {
535
535
  priority: 9001,
536
- text: `t('module-name', {scope:"${scope}"})`,
536
+ text: `t('root-menu', {scope:"${scope}"})`,
537
537
  icon: module.icon,
538
538
  children: [
539
539
  {