@acorex/modules 19.4.14 → 19.4.15

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 (74) hide show
  1. package/assets/images/weather/cloudy-day-1.svg +175 -0
  2. package/assets/images/weather/cloudy-day-2.svg +176 -0
  3. package/assets/images/weather/cloudy-day-3.svg +175 -0
  4. package/assets/images/weather/cloudy-night-1.svg +198 -0
  5. package/assets/images/weather/cloudy-night-2.svg +198 -0
  6. package/assets/images/weather/cloudy-night-3.svg +198 -0
  7. package/assets/images/weather/cloudy.svg +500 -0
  8. package/assets/images/weather/day.svg +521 -0
  9. package/assets/images/weather/night.svg +503 -0
  10. package/assets/images/weather/rainy-1.svg +157 -0
  11. package/assets/images/weather/rainy-2.svg +133 -0
  12. package/assets/images/weather/rainy-3.svg +157 -0
  13. package/assets/images/weather/rainy-4.svg +66 -0
  14. package/assets/images/weather/rainy-5.svg +90 -0
  15. package/assets/images/weather/rainy-6.svg +91 -0
  16. package/assets/images/weather/rainy-7.svg +91 -0
  17. package/assets/images/weather/snowy-1.svg +230 -0
  18. package/assets/images/weather/snowy-2.svg +237 -0
  19. package/assets/images/weather/snowy-3.svg +268 -0
  20. package/assets/images/weather/snowy-4.svg +94 -0
  21. package/assets/images/weather/snowy-5.svg +166 -0
  22. package/assets/images/weather/snowy-6.svg +225 -0
  23. package/assets/images/weather/thunder.svg +268 -0
  24. package/assets/images/weather/weather-sprite.svg +1245 -0
  25. package/assets/images/weather/weather.svg +1245 -0
  26. package/assets/images/weather/weather_sagittarius.svg +9 -0
  27. package/assets/images/weather/weather_sunset.svg +14 -0
  28. package/conversation/lib/features/chat/components/chat-preview/chat-preview.component.d.ts +0 -1
  29. package/conversation/lib/features/index.d.ts +1 -0
  30. package/conversation/lib/features/widget/share/comment/comment-widget-view.component.d.ts +66 -0
  31. package/conversation/lib/features/widget/share/comment/comment-widget.config.d.ts +2 -0
  32. package/conversation/lib/features/widget/share/comment/index.d.ts +2 -0
  33. package/dashboard-management/lib/features/home-dashboard/dashboard-popups/index.d.ts +3 -0
  34. package/dashboard-management/lib/features/home-dashboard/index.d.ts +3 -0
  35. package/dashboard-management/lib/features/home-dashboard/setrting.keys.d.ts +3 -0
  36. package/dashboard-management/lib/features/home-dashboard/widget-wrapper/index.d.ts +1 -0
  37. package/dashboard-management/lib/features/shared/widgets/analog-clock/analog-clock-widget-view.component.d.ts +9 -0
  38. package/dashboard-management/lib/features/shared/widgets/analog-clock/analog-clock-widget.config.d.ts +7 -0
  39. package/dashboard-management/lib/features/shared/widgets/analog-clock/analog-clock.component.d.ts +28 -0
  40. package/dashboard-management/lib/features/shared/widgets/analog-clock/index.d.ts +3 -0
  41. package/dashboard-management/lib/features/shared/widgets/index.d.ts +1 -0
  42. package/dashboard-management/lib/features/shared/widgets/weather/advanced-weather/advanced-weather.component.d.ts +32 -0
  43. package/dashboard-management/lib/features/shared/widgets/weather/advanced-weather/advanced-weather.config.d.ts +14 -0
  44. package/dashboard-management/lib/features/shared/widgets/weather/advanced-weather/index.d.ts +2 -0
  45. package/dashboard-management/lib/features/shared/widgets/weather/index.d.ts +2 -0
  46. package/dashboard-management/lib/features/shared/widgets/weather/minimal-weather/index.d.ts +2 -0
  47. package/dashboard-management/lib/features/shared/widgets/weather/minimal-weather/minimal-weather.component.d.ts +22 -0
  48. package/dashboard-management/lib/features/shared/widgets/weather/minimal-weather/minimal-weather.config.d.ts +14 -0
  49. package/dashboard-management/lib/features/shared/widgets/weather/weather-services/weather-api.abstract.d.ts +19 -0
  50. package/dashboard-management/lib/features/shared/widgets/weather/weather-widget.component.d.ts +5 -5
  51. package/fesm2022/{acorex-modules-application-management-module-designer.component-BJp8imYd.mjs → acorex-modules-application-management-module-designer.component-ZKzHxJ0D.mjs} +2 -2
  52. package/fesm2022/{acorex-modules-application-management-module-designer.component-BJp8imYd.mjs.map → acorex-modules-application-management-module-designer.component-ZKzHxJ0D.mjs.map} +1 -1
  53. package/fesm2022/acorex-modules-application-management.mjs +1 -1
  54. package/fesm2022/acorex-modules-conversation.mjs +476 -15
  55. package/fesm2022/acorex-modules-conversation.mjs.map +1 -1
  56. package/fesm2022/acorex-modules-dashboard-management.mjs +1224 -30
  57. package/fesm2022/acorex-modules-dashboard-management.mjs.map +1 -1
  58. package/fesm2022/acorex-modules-notification-management.mjs +7 -7
  59. package/fesm2022/acorex-modules-notification-management.mjs.map +1 -1
  60. package/fesm2022/{acorex-modules-platform-management-acorex-modules-platform-management-CzMi7CBH.mjs → acorex-modules-platform-management-acorex-modules-platform-management-CGGoHpYi.mjs} +119 -27
  61. package/fesm2022/acorex-modules-platform-management-acorex-modules-platform-management-CGGoHpYi.mjs.map +1 -0
  62. package/fesm2022/{acorex-modules-platform-management-list-version.component-DfbMc2hn.mjs → acorex-modules-platform-management-list-version.component-CGxYFnd9.mjs} +2 -2
  63. package/fesm2022/{acorex-modules-platform-management-list-version.component-DfbMc2hn.mjs.map → acorex-modules-platform-management-list-version.component-CGxYFnd9.mjs.map} +1 -1
  64. package/fesm2022/{acorex-modules-platform-management-settings.provider-B-19OJn0.mjs → acorex-modules-platform-management-settings.provider-CHAI3QHV.mjs} +2 -2
  65. package/fesm2022/{acorex-modules-platform-management-settings.provider-B-19OJn0.mjs.map → acorex-modules-platform-management-settings.provider-CHAI3QHV.mjs.map} +1 -1
  66. package/fesm2022/acorex-modules-platform-management.mjs +1 -1
  67. package/fesm2022/acorex-modules-project-management.mjs +95 -21
  68. package/fesm2022/acorex-modules-project-management.mjs.map +1 -1
  69. package/fesm2022/{acorex-modules-security-management-permissions-editor.component-Ccx0_9L_.mjs → acorex-modules-security-management-permissions-editor.component-B2OIvMs7.mjs} +2 -2
  70. package/fesm2022/{acorex-modules-security-management-permissions-editor.component-Ccx0_9L_.mjs.map → acorex-modules-security-management-permissions-editor.component-B2OIvMs7.mjs.map} +1 -1
  71. package/fesm2022/acorex-modules-security-management.mjs +1 -1
  72. package/package.json +1 -1
  73. package/platform-management/lib/features/common/regional/data-source.provider.d.ts +1 -0
  74. package/fesm2022/acorex-modules-platform-management-acorex-modules-platform-management-CzMi7CBH.mjs.map +0 -1
@@ -181,7 +181,7 @@ class AXPPermissionsEditorComponent extends AXPPopupLayoutBaseComponent {
181
181
  // Angular
182
182
  CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type:
183
183
  // ACoreX
184
- AXFormModule }, { kind: "ngmodule", type: AXTextBoxModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "ngmodule", type: AXLabelModule }, { kind: "component", type: i3.AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }, { kind: "ngmodule", type: AXCheckBoxModule }, { kind: "component", type: i4.AXCheckBoxComponent, selector: "ax-check-box", inputs: ["disabled", "tabIndex", "readonly", "color", "value", "name", "id", "checked", "indeterminate"], outputs: ["onBlur", "onFocus", "valueChange", "onValueChanged"] }, { kind: "ngmodule", type: AXTabsModule }, { kind: "component", type: i5.AXTabsComponent, selector: "ax-tabs", inputs: ["look", "location", "fitParent", "minWidth", "content"], outputs: ["onActiveTabChanged"] }, { kind: "component", type: i5.AXTabItemComponent, selector: "ax-tab-item", inputs: ["disabled", "text", "key", "headerTemplate", "active"], outputs: ["disabledChange", "onClick", "onBlur", "onFocus", "activeChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i6.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: AXTranslationModule }, { kind: "ngmodule", type: AXBadgeModule }, { kind: "component", type: i7.AXBadgeComponent, selector: "ax-badge", inputs: ["color", "look", "text"] }, { kind: "ngmodule", type: AXTooltipModule }, { kind: "component", type:
184
+ AXFormModule }, { kind: "ngmodule", type: AXTextBoxModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "ngmodule", type: AXLabelModule }, { kind: "component", type: i3.AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }, { kind: "ngmodule", type: AXCheckBoxModule }, { kind: "component", type: i4.AXCheckBoxComponent, selector: "ax-check-box", inputs: ["disabled", "tabIndex", "readonly", "color", "value", "name", "id", "checked", "indeterminate"], outputs: ["onBlur", "onFocus", "valueChange", "onValueChanged"] }, { kind: "ngmodule", type: AXTabsModule }, { kind: "component", type: i5.AXTabsComponent, selector: "ax-tabs", inputs: ["look", "location", "fitParent", "minWidth", "content"], outputs: ["onActiveTabChanged"] }, { kind: "component", type: i5.AXTabItemComponent, selector: "ax-tab-item", inputs: ["disabled", "text", "key", "headerTemplate", "active"], outputs: ["disabledChange", "onClick", "onBlur", "onFocus", "activeChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i6.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: AXTranslationModule }, { kind: "ngmodule", type: AXBadgeModule }, { kind: "component", type: i7.AXBadgeComponent, selector: "ax-badge", inputs: ["color", "text", "look"] }, { kind: "ngmodule", type: AXTooltipModule }, { kind: "component", type:
185
185
  // Platform
186
186
  AXPPopupLayoutComponent, selector: "axp-popup-layout" }, { kind: "component", type: AXPThemeLayoutBlockComponent, selector: " axp-page-content, axp-page-footer-container, axp-page-footer, axp-page-header, axp-page-header-container, axp-page-toolbar, axp-layout-content, axp-layout-page-content, axp-layout-sections, axp-layout-body, axp-layout-page-body, axp-layout-prefix, axp-layout-suffix, axp-layout-title-bar, axp-layout-title, axp-layout-title-actions, axp-layout-nav-button, axp-layout-description, axp-layout-breadcrumbs, axp-layout-list-action, " }], encapsulation: i0.ViewEncapsulation.None }); }
187
187
  }
@@ -215,4 +215,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
215
215
  }] });
216
216
 
217
217
  export { AXPPermissionsEditorComponent };
218
- //# sourceMappingURL=acorex-modules-security-management-permissions-editor.component-Ccx0_9L_.mjs.map
218
+ //# sourceMappingURL=acorex-modules-security-management-permissions-editor.component-B2OIvMs7.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-modules-security-management-permissions-editor.component-Ccx0_9L_.mjs","sources":["../../../../libs/modules/security-management/src/lib/features/permissions/permissions-editor/permissions-editor.component.ts","../../../../libs/modules/security-management/src/lib/features/permissions/permissions-editor/permissions-editor.component.html"],"sourcesContent":["// #region ---------------- Imports ----------------\nimport { Component, ViewEncapsulation, computed, inject, signal } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { AXCheckBoxModule } from '@acorex/components/check-box';\nimport { AXLabelModule } from '@acorex/components/label';\nimport { AXPPopupLayoutBase, AXPPopupLayoutBaseComponent, AXPPopupLayoutComponent } from '@acorex/platform/layout/views';\nimport { AXPThemeLayoutBlockComponent } from '@acorex/platform/layout/components';\nimport { AXPPermissionDefinition, AXPPermissionDefinitionService, AXPPermissionGroupDefinition } from '@acorex/platform/auth';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPActionMenuItem, AXPExecuteCommand } from '@acorex/platform/core';\nimport { AXTabsModule } from '@acorex/components/tabs';\nimport { AXBadgeModule } from '@acorex/components/badge';\nimport { FormsModule } from '@angular/forms';\nimport { AXValueChangedEvent } from \"@acorex/cdk/common\";\nimport { AXTooltipModule } from '@acorex/components/tooltip';\n// #endregion\n\n@Component({\n selector: 'axm-permissions-editor',\n templateUrl: './permissions-editor.component.html',\n styleUrl: './permissions-editor.component.scss',\n imports: [\n // Angular\n CommonModule,\n FormsModule,\n // ACoreX\n AXFormModule,\n AXTextBoxModule,\n AXButtonModule,\n AXLabelModule,\n AXCheckBoxModule,\n AXTabsModule,\n AXDecoratorModule,\n AXTranslationModule,\n AXBadgeModule,\n AXCheckBoxModule,\n AXTooltipModule,\n // Platform\n AXPPopupLayoutComponent,\n AXPThemeLayoutBlockComponent\n ],\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: AXPPopupLayoutBase,\n useExisting: AXPPermissionsEditorComponent\n }\n\n ],\n})\nexport class AXPPermissionsEditorComponent extends AXPPopupLayoutBaseComponent {\n\n // #region ---------------- Class Properties ----------------\n /** Service for fetching permission groups and definitions */\n private permissionService = inject(AXPPermissionDefinitionService);\n\n /** Currently selected permission group */\n protected selectedGroup = signal<AXPPermissionGroupDefinition | null>(null);\n\n /** All available permission groups */\n protected groups = signal<AXPPermissionGroupDefinition[]>([]);\n\n /** Initial permissions to be selected */\n protected initialPermissions = [];\n\n /** List of selected permission names */\n protected selectedPermissions = signal<string[]>([]);\n // #endregion\n\n // #region ---------------- Computed Properties ----------------\n /**\n * Recursively maps permissions to include selection state and children.\n */\n private mapPermissions(items: any[]): any[] {\n return (items || []).map(item => {\n const hasChild = Array.isArray(item.children) && item.children.length > 0;\n return {\n ...item,\n isSelected: this.isSelected(item.name),\n children: hasChild ? this.mapPermissions(item.children) : null\n };\n });\n }\n\n /**\n * Computed: Returns mapped permissions for the selected group.\n */\n protected items = computed(() => {\n const permissions = this.selectedGroup()?.permissions || [];\n return this.mapPermissions(permissions);\n });\n\n /**\n * Computed: Returns groups with badge counts.\n */\n protected groupsWithBadge = computed(() => {\n const groups = this.groups();\n const result = groups.map(group => {\n return {\n ...group,\n badge: this.getBadge(group) || ''\n };\n });\n return result;\n });\n // #endregion\n\n // #region ---------------- Utility Methods ----------------\n /**\n * Recursively collects all permission names (parents and children) from an array.\n */\n private collectAllPermissionNames(permissions: any[]): string[] {\n let names: string[] = [];\n for (const item of permissions) {\n names.push(item.name);\n if (Array.isArray(item.children) && item.children.length > 0) {\n names = names.concat(this.collectAllPermissionNames(item.children));\n }\n }\n return names;\n }\n\n /**\n * Returns the badge count for a group (all selected permissions, including parents).\n */\n private getBadge(group: AXPPermissionGroupDefinition): string {\n const allNames = this.collectAllPermissionNames(group.permissions || []);\n const selectedPermissions = this.selectedPermissions();\n const count = allNames.filter(name => selectedPermissions.includes(name)).length;\n return count.toString();\n }\n\n /**\n * Checks if a permission is selected.\n */\n private isSelected(name: string): boolean {\n return this.selectedPermissions().includes(name);\n }\n\n /**\n * Recursively collects all descendant permission names for a single item (including itself).\n */\n private collectPermissionNames(item: any): string[] {\n let names = [item.name];\n if (Array.isArray(item.children) && item.children.length > 0) {\n for (const child of item.children) {\n names = names.concat(this.collectPermissionNames(child));\n }\n }\n return names;\n }\n // #endregion\n\n // #region ---------------- Lifecycle Methods ----------------\n /**\n * Initializes the component and loads permission groups.\n */\n override async ngOnInit() {\n super.ngOnInit();\n const groups = await this.permissionService.getGroups();\n this.groups.set(groups);\n this.selectedGroup.set(groups[0]);\n this.selectedPermissions.set(this.initialPermissions);\n }\n // #endregion\n\n // #region ---------------- UI Handlers ----------------\n /**\n * Handles group tab/menu item click.\n */\n protected handleMenuItemClick(item: AXPPermissionGroupDefinition) {\n this.selectedGroup.set(item);\n }\n\n /**\n * Returns the primary menu items for the popup layout.\n */\n protected override getPrimaryMenuItems(): AXPActionMenuItem[] | Promise<AXPActionMenuItem[]> {\n return [\n {\n title: 't(\"select\")',\n icon: 'fa-solid',\n command: {\n name: 'select'\n }\n }\n ]\n }\n\n /**\n * Handles permission checkbox toggle (checks/unchecks all children recursively).\n */\n protected onPermissionToggle(item: any, e: AXValueChangedEvent): void {\n const names = this.collectPermissionNames(item);\n if (e.value) {\n // Add all names (parent + children), avoiding duplicates\n const set = new Set([...this.selectedPermissions(), ...names]);\n this.selectedPermissions.set(Array.from(set));\n } else {\n // Remove all names (parent + children)\n this.selectedPermissions.set(\n this.selectedPermissions().filter(name => !names.includes(name))\n );\n }\n }\n\n override execute(command: AXPExecuteCommand): void | Promise<void> {\n if (command.name === 'select') {\n this.close(this.selectedPermissions());\n }\n }\n\n // #endregion\n\n}\n","<axp-popup-layout>\n <axp-page-content>\n <div class=\"ax-flex ax-min-h-96\">\n <div class=\"ax-p-4 ax-min-h-full ax-overflow-auto ax-w-2/5\">\n <ax-tabs location=\"start\" look=\"with-line-color\" class=\"ax-h-full\">\n @for (group of groupsWithBadge(); track $index) {\n <ax-tab-item\n [active]=\"group.name === selectedGroup()?.name\"\n [text]=\"group.title\"\n (onClick)=\"handleMenuItemClick(group)\"\n >\n <ax-suffix>\n <ax-badge color=\"primary\" [text]=\"group.badge\"></ax-badge>\n </ax-suffix>\n </ax-tab-item>\n }\n </ax-tabs>\n </div>\n <div class=\"ax-flex ax-h-full ax-overflow-auto ax-flex-col ax-w-3/5 ax-border-s\">\n <div class=\"ax-p-4 ax-border-b ax-border-lightest\">\n <span class=\"ax-h6\">{{ selectedGroup()?.title! }}</span>\n </div>\n <div class=\"ax-flex ax-p-4\">\n <ul class=\"\">\n <ng-template #recursiveList let-items>\n @for (item of items; track $index) {\n <li class=\"ax-py-1\">\n <ax-check-box [ngModel]=\"item.isSelected\" (onValueChanged)=\"onPermissionToggle(item, $event)\">\n <ax-label>\n {{ item.title }}\n @if (item.description) {\n <i class=\"ax-ps-2 ax-text-xs fa-light fa-circle-info\" [title]=\"item.description\"></i>\n }\n </ax-label>\n </ax-check-box>\n @if (item.children && item.children.length > 0) {\n <ul class=\"ax-p-2 ax-mt-1 ax-ms-1\">\n <ng-container\n *ngTemplateOutlet=\"recursiveList; context: { $implicit: item.children }\"\n ></ng-container>\n </ul>\n }\n </li>\n }\n </ng-template>\n <ng-container *ngTemplateOutlet=\"recursiveList; context: { $implicit: items() }\"></ng-container>\n </ul>\n </div>\n </div>\n </div>\n </axp-page-content>\n</axp-popup-layout>\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-modules-security-management-permissions-editor.component-B2OIvMs7.mjs","sources":["../../../../libs/modules/security-management/src/lib/features/permissions/permissions-editor/permissions-editor.component.ts","../../../../libs/modules/security-management/src/lib/features/permissions/permissions-editor/permissions-editor.component.html"],"sourcesContent":["// #region ---------------- Imports ----------------\nimport { Component, ViewEncapsulation, computed, inject, signal } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { AXCheckBoxModule } from '@acorex/components/check-box';\nimport { AXLabelModule } from '@acorex/components/label';\nimport { AXPPopupLayoutBase, AXPPopupLayoutBaseComponent, AXPPopupLayoutComponent } from '@acorex/platform/layout/views';\nimport { AXPThemeLayoutBlockComponent } from '@acorex/platform/layout/components';\nimport { AXPPermissionDefinition, AXPPermissionDefinitionService, AXPPermissionGroupDefinition } from '@acorex/platform/auth';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPActionMenuItem, AXPExecuteCommand } from '@acorex/platform/core';\nimport { AXTabsModule } from '@acorex/components/tabs';\nimport { AXBadgeModule } from '@acorex/components/badge';\nimport { FormsModule } from '@angular/forms';\nimport { AXValueChangedEvent } from \"@acorex/cdk/common\";\nimport { AXTooltipModule } from '@acorex/components/tooltip';\n// #endregion\n\n@Component({\n selector: 'axm-permissions-editor',\n templateUrl: './permissions-editor.component.html',\n styleUrl: './permissions-editor.component.scss',\n imports: [\n // Angular\n CommonModule,\n FormsModule,\n // ACoreX\n AXFormModule,\n AXTextBoxModule,\n AXButtonModule,\n AXLabelModule,\n AXCheckBoxModule,\n AXTabsModule,\n AXDecoratorModule,\n AXTranslationModule,\n AXBadgeModule,\n AXCheckBoxModule,\n AXTooltipModule,\n // Platform\n AXPPopupLayoutComponent,\n AXPThemeLayoutBlockComponent\n ],\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: AXPPopupLayoutBase,\n useExisting: AXPPermissionsEditorComponent\n }\n\n ],\n})\nexport class AXPPermissionsEditorComponent extends AXPPopupLayoutBaseComponent {\n\n // #region ---------------- Class Properties ----------------\n /** Service for fetching permission groups and definitions */\n private permissionService = inject(AXPPermissionDefinitionService);\n\n /** Currently selected permission group */\n protected selectedGroup = signal<AXPPermissionGroupDefinition | null>(null);\n\n /** All available permission groups */\n protected groups = signal<AXPPermissionGroupDefinition[]>([]);\n\n /** Initial permissions to be selected */\n protected initialPermissions = [];\n\n /** List of selected permission names */\n protected selectedPermissions = signal<string[]>([]);\n // #endregion\n\n // #region ---------------- Computed Properties ----------------\n /**\n * Recursively maps permissions to include selection state and children.\n */\n private mapPermissions(items: any[]): any[] {\n return (items || []).map(item => {\n const hasChild = Array.isArray(item.children) && item.children.length > 0;\n return {\n ...item,\n isSelected: this.isSelected(item.name),\n children: hasChild ? this.mapPermissions(item.children) : null\n };\n });\n }\n\n /**\n * Computed: Returns mapped permissions for the selected group.\n */\n protected items = computed(() => {\n const permissions = this.selectedGroup()?.permissions || [];\n return this.mapPermissions(permissions);\n });\n\n /**\n * Computed: Returns groups with badge counts.\n */\n protected groupsWithBadge = computed(() => {\n const groups = this.groups();\n const result = groups.map(group => {\n return {\n ...group,\n badge: this.getBadge(group) || ''\n };\n });\n return result;\n });\n // #endregion\n\n // #region ---------------- Utility Methods ----------------\n /**\n * Recursively collects all permission names (parents and children) from an array.\n */\n private collectAllPermissionNames(permissions: any[]): string[] {\n let names: string[] = [];\n for (const item of permissions) {\n names.push(item.name);\n if (Array.isArray(item.children) && item.children.length > 0) {\n names = names.concat(this.collectAllPermissionNames(item.children));\n }\n }\n return names;\n }\n\n /**\n * Returns the badge count for a group (all selected permissions, including parents).\n */\n private getBadge(group: AXPPermissionGroupDefinition): string {\n const allNames = this.collectAllPermissionNames(group.permissions || []);\n const selectedPermissions = this.selectedPermissions();\n const count = allNames.filter(name => selectedPermissions.includes(name)).length;\n return count.toString();\n }\n\n /**\n * Checks if a permission is selected.\n */\n private isSelected(name: string): boolean {\n return this.selectedPermissions().includes(name);\n }\n\n /**\n * Recursively collects all descendant permission names for a single item (including itself).\n */\n private collectPermissionNames(item: any): string[] {\n let names = [item.name];\n if (Array.isArray(item.children) && item.children.length > 0) {\n for (const child of item.children) {\n names = names.concat(this.collectPermissionNames(child));\n }\n }\n return names;\n }\n // #endregion\n\n // #region ---------------- Lifecycle Methods ----------------\n /**\n * Initializes the component and loads permission groups.\n */\n override async ngOnInit() {\n super.ngOnInit();\n const groups = await this.permissionService.getGroups();\n this.groups.set(groups);\n this.selectedGroup.set(groups[0]);\n this.selectedPermissions.set(this.initialPermissions);\n }\n // #endregion\n\n // #region ---------------- UI Handlers ----------------\n /**\n * Handles group tab/menu item click.\n */\n protected handleMenuItemClick(item: AXPPermissionGroupDefinition) {\n this.selectedGroup.set(item);\n }\n\n /**\n * Returns the primary menu items for the popup layout.\n */\n protected override getPrimaryMenuItems(): AXPActionMenuItem[] | Promise<AXPActionMenuItem[]> {\n return [\n {\n title: 't(\"select\")',\n icon: 'fa-solid',\n command: {\n name: 'select'\n }\n }\n ]\n }\n\n /**\n * Handles permission checkbox toggle (checks/unchecks all children recursively).\n */\n protected onPermissionToggle(item: any, e: AXValueChangedEvent): void {\n const names = this.collectPermissionNames(item);\n if (e.value) {\n // Add all names (parent + children), avoiding duplicates\n const set = new Set([...this.selectedPermissions(), ...names]);\n this.selectedPermissions.set(Array.from(set));\n } else {\n // Remove all names (parent + children)\n this.selectedPermissions.set(\n this.selectedPermissions().filter(name => !names.includes(name))\n );\n }\n }\n\n override execute(command: AXPExecuteCommand): void | Promise<void> {\n if (command.name === 'select') {\n this.close(this.selectedPermissions());\n }\n }\n\n // #endregion\n\n}\n","<axp-popup-layout>\n <axp-page-content>\n <div class=\"ax-flex ax-min-h-96\">\n <div class=\"ax-p-4 ax-min-h-full ax-overflow-auto ax-w-2/5\">\n <ax-tabs location=\"start\" look=\"with-line-color\" class=\"ax-h-full\">\n @for (group of groupsWithBadge(); track $index) {\n <ax-tab-item\n [active]=\"group.name === selectedGroup()?.name\"\n [text]=\"group.title\"\n (onClick)=\"handleMenuItemClick(group)\"\n >\n <ax-suffix>\n <ax-badge color=\"primary\" [text]=\"group.badge\"></ax-badge>\n </ax-suffix>\n </ax-tab-item>\n }\n </ax-tabs>\n </div>\n <div class=\"ax-flex ax-h-full ax-overflow-auto ax-flex-col ax-w-3/5 ax-border-s\">\n <div class=\"ax-p-4 ax-border-b ax-border-lightest\">\n <span class=\"ax-h6\">{{ selectedGroup()?.title! }}</span>\n </div>\n <div class=\"ax-flex ax-p-4\">\n <ul class=\"\">\n <ng-template #recursiveList let-items>\n @for (item of items; track $index) {\n <li class=\"ax-py-1\">\n <ax-check-box [ngModel]=\"item.isSelected\" (onValueChanged)=\"onPermissionToggle(item, $event)\">\n <ax-label>\n {{ item.title }}\n @if (item.description) {\n <i class=\"ax-ps-2 ax-text-xs fa-light fa-circle-info\" [title]=\"item.description\"></i>\n }\n </ax-label>\n </ax-check-box>\n @if (item.children && item.children.length > 0) {\n <ul class=\"ax-p-2 ax-mt-1 ax-ms-1\">\n <ng-container\n *ngTemplateOutlet=\"recursiveList; context: { $implicit: item.children }\"\n ></ng-container>\n </ul>\n }\n </li>\n }\n </ng-template>\n <ng-container *ngTemplateOutlet=\"recursiveList; context: { $implicit: items() }\"></ng-container>\n </ul>\n </div>\n </div>\n </div>\n </axp-page-content>\n</axp-popup-layout>\n"],"names":[],"mappings":"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"}
@@ -2217,7 +2217,7 @@ class AXMOpenPermissionsEditorAction extends AXPWorkflowAction {
2217
2217
  }
2218
2218
  async execute(context) {
2219
2219
  const role = context.getVariable('data');
2220
- const component = await import('./acorex-modules-security-management-permissions-editor.component-Ccx0_9L_.mjs').then(m => m.AXPPermissionsEditorComponent);
2220
+ const component = await import('./acorex-modules-security-management-permissions-editor.component-B2OIvMs7.mjs').then(m => m.AXPPermissionsEditorComponent);
2221
2221
  const title = await this.translateService.translateAsync("@security-management:features.permissions.terms.permissions-editor");
2222
2222
  const result = await this.modalService.open(component, {
2223
2223
  title: `${title} - ${role.title}`,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@acorex/modules",
3
- "version": "19.4.14",
3
+ "version": "19.4.15",
4
4
  "peerDependencies": {
5
5
  "@angular/common": ">=19.0.0",
6
6
  "@angular/core": ">=19.0.0",
@@ -6,5 +6,6 @@ export declare class AXPRegionalWidgetDataSourceProvider implements AXPWidgetDat
6
6
  private provinces;
7
7
  private currencies;
8
8
  private languages;
9
+ private timezones;
9
10
  items(): Promise<AXPWidgetDataSource[]>;
10
11
  }