@acorex-platform/module-organization-management-client 0.0.38 → 0.0.46

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 (92) hide show
  1. package/fesm2022/{acorex-platform-module-organization-management-client-acorex-platform-module-organization-management-client-ZM6X7IDO.mjs → acorex-platform-module-organization-management-client-acorex-platform-module-organization-management-client-BCtoUvYP.mjs} +13 -46
  2. package/fesm2022/acorex-platform-module-organization-management-client-acorex-platform-module-organization-management-client-BCtoUvYP.mjs.map +1 -0
  3. package/fesm2022/acorex-platform-module-organization-management-client-contracts-entities-business-unit-type.mjs +11 -0
  4. package/fesm2022/acorex-platform-module-organization-management-client-contracts-entities-business-unit-type.mjs.map +1 -1
  5. package/fesm2022/acorex-platform-module-organization-management-client-contracts-entities-business-unit.mjs +13 -0
  6. package/fesm2022/acorex-platform-module-organization-management-client-contracts-entities-business-unit.mjs.map +1 -1
  7. package/fesm2022/acorex-platform-module-organization-management-client-contracts-entities-chart.mjs +13 -0
  8. package/fesm2022/acorex-platform-module-organization-management-client-contracts-entities-chart.mjs.map +1 -1
  9. package/fesm2022/acorex-platform-module-organization-management-client-contracts-entities-company.mjs +12 -0
  10. package/fesm2022/acorex-platform-module-organization-management-client-contracts-entities-company.mjs.map +1 -1
  11. package/fesm2022/acorex-platform-module-organization-management-client-contracts-entities-job-definition.mjs +13 -0
  12. package/fesm2022/acorex-platform-module-organization-management-client-contracts-entities-job-definition.mjs.map +1 -1
  13. package/fesm2022/acorex-platform-module-organization-management-client-contracts-entities-job-level.mjs +12 -0
  14. package/fesm2022/acorex-platform-module-organization-management-client-contracts-entities-job-level.mjs.map +1 -1
  15. package/fesm2022/acorex-platform-module-organization-management-client-contracts-entities-position.mjs +14 -0
  16. package/fesm2022/acorex-platform-module-organization-management-client-contracts-entities-position.mjs.map +1 -1
  17. package/fesm2022/acorex-platform-module-organization-management-client-contracts-entities-responsibility-level.mjs +12 -0
  18. package/fesm2022/acorex-platform-module-organization-management-client-contracts-entities-responsibility-level.mjs.map +1 -1
  19. package/fesm2022/acorex-platform-module-organization-management-client-contracts-entities-responsibility.mjs +11 -0
  20. package/fesm2022/acorex-platform-module-organization-management-client-contracts-entities-responsibility.mjs.map +1 -1
  21. package/fesm2022/acorex-platform-module-organization-management-client-contracts-entities-team-business-unit.mjs +12 -0
  22. package/fesm2022/acorex-platform-module-organization-management-client-contracts-entities-team-business-unit.mjs.map +1 -1
  23. package/fesm2022/acorex-platform-module-organization-management-client-contracts-entities-team-member-role.mjs +11 -0
  24. package/fesm2022/acorex-platform-module-organization-management-client-contracts-entities-team-member-role.mjs.map +1 -1
  25. package/fesm2022/acorex-platform-module-organization-management-client-contracts-entities-team-member.mjs +13 -0
  26. package/fesm2022/acorex-platform-module-organization-management-client-contracts-entities-team-member.mjs.map +1 -1
  27. package/fesm2022/acorex-platform-module-organization-management-client-contracts-entities-team.mjs +12 -0
  28. package/fesm2022/acorex-platform-module-organization-management-client-contracts-entities-team.mjs.map +1 -1
  29. package/fesm2022/{acorex-platform-module-organization-management-client-contracts-entity-catalog-acorex-platform-module-organization-management-client-contracts-entity-catalog-vMiwmkDK.mjs → acorex-platform-module-organization-management-client-contracts-entity-catalog-acorex-platform-module-organization-management-client-contracts-entity-catalog-DumiBwUm.mjs} +14 -14
  30. package/fesm2022/{acorex-platform-module-organization-management-client-contracts-entity-catalog-acorex-platform-module-organization-management-client-contracts-entity-catalog-vMiwmkDK.mjs.map → acorex-platform-module-organization-management-client-contracts-entity-catalog-acorex-platform-module-organization-management-client-contracts-entity-catalog-DumiBwUm.mjs.map} +1 -1
  31. package/fesm2022/{acorex-platform-module-organization-management-client-contracts-entity-catalog-business-unit-type.entity-BmhCZeXd.mjs → acorex-platform-module-organization-management-client-contracts-entity-catalog-business-unit-type.entity-DrzNeJUR.mjs} +13 -2
  32. package/fesm2022/acorex-platform-module-organization-management-client-contracts-entity-catalog-business-unit-type.entity-DrzNeJUR.mjs.map +1 -0
  33. package/fesm2022/{acorex-platform-module-organization-management-client-contracts-entity-catalog-business-unit.entity-CIPmfbsM.mjs → acorex-platform-module-organization-management-client-contracts-entity-catalog-business-unit.entity-DGjlbflW.mjs} +15 -2
  34. package/fesm2022/acorex-platform-module-organization-management-client-contracts-entity-catalog-business-unit.entity-DGjlbflW.mjs.map +1 -0
  35. package/fesm2022/{acorex-platform-module-organization-management-client-contracts-entity-catalog-chart.entity-sg_rI9It.mjs → acorex-platform-module-organization-management-client-contracts-entity-catalog-chart.entity-C4hedpyp.mjs} +15 -2
  36. package/fesm2022/acorex-platform-module-organization-management-client-contracts-entity-catalog-chart.entity-C4hedpyp.mjs.map +1 -0
  37. package/fesm2022/{acorex-platform-module-organization-management-client-contracts-entity-catalog-company.entity-BSDO_7eL.mjs → acorex-platform-module-organization-management-client-contracts-entity-catalog-company.entity-DSHQFbRF.mjs} +14 -2
  38. package/fesm2022/acorex-platform-module-organization-management-client-contracts-entity-catalog-company.entity-DSHQFbRF.mjs.map +1 -0
  39. package/fesm2022/{acorex-platform-module-organization-management-client-contracts-entity-catalog-job-definition.entity-0W6OSQH-.mjs → acorex-platform-module-organization-management-client-contracts-entity-catalog-job-definition.entity-Dve7k1KM.mjs} +15 -2
  40. package/fesm2022/acorex-platform-module-organization-management-client-contracts-entity-catalog-job-definition.entity-Dve7k1KM.mjs.map +1 -0
  41. package/fesm2022/{acorex-platform-module-organization-management-client-contracts-entity-catalog-job-level.entity-DbMjRbn9.mjs → acorex-platform-module-organization-management-client-contracts-entity-catalog-job-level.entity-jEuDeK2D.mjs} +14 -2
  42. package/fesm2022/acorex-platform-module-organization-management-client-contracts-entity-catalog-job-level.entity-jEuDeK2D.mjs.map +1 -0
  43. package/fesm2022/{acorex-platform-module-organization-management-client-contracts-entity-catalog-position.entity-BkauiyPn.mjs → acorex-platform-module-organization-management-client-contracts-entity-catalog-position.entity-BjTA1xLo.mjs} +16 -2
  44. package/fesm2022/acorex-platform-module-organization-management-client-contracts-entity-catalog-position.entity-BjTA1xLo.mjs.map +1 -0
  45. package/fesm2022/{acorex-platform-module-organization-management-client-contracts-entity-catalog-responsibility-level.entity-BagFwJmO.mjs → acorex-platform-module-organization-management-client-contracts-entity-catalog-responsibility-level.entity-B0CHxc7v.mjs} +14 -2
  46. package/fesm2022/acorex-platform-module-organization-management-client-contracts-entity-catalog-responsibility-level.entity-B0CHxc7v.mjs.map +1 -0
  47. package/fesm2022/{acorex-platform-module-organization-management-client-contracts-entity-catalog-responsibility.entity-DHhT7rSq.mjs → acorex-platform-module-organization-management-client-contracts-entity-catalog-responsibility.entity-CEt27vXa.mjs} +13 -2
  48. package/fesm2022/acorex-platform-module-organization-management-client-contracts-entity-catalog-responsibility.entity-CEt27vXa.mjs.map +1 -0
  49. package/fesm2022/{acorex-platform-module-organization-management-client-contracts-entity-catalog-team-business-unit.entity-hkCAl8so.mjs → acorex-platform-module-organization-management-client-contracts-entity-catalog-team-business-unit.entity-N_LeeUxl.mjs} +14 -2
  50. package/fesm2022/acorex-platform-module-organization-management-client-contracts-entity-catalog-team-business-unit.entity-N_LeeUxl.mjs.map +1 -0
  51. package/fesm2022/{acorex-platform-module-organization-management-client-contracts-entity-catalog-team-member-role.entity-BeGE4JUl.mjs → acorex-platform-module-organization-management-client-contracts-entity-catalog-team-member-role.entity-CNok-ULB.mjs} +13 -2
  52. package/fesm2022/acorex-platform-module-organization-management-client-contracts-entity-catalog-team-member-role.entity-CNok-ULB.mjs.map +1 -0
  53. package/fesm2022/{acorex-platform-module-organization-management-client-contracts-entity-catalog-team-member.entity-10nYBrN4.mjs → acorex-platform-module-organization-management-client-contracts-entity-catalog-team-member.entity-DwF5LHAB.mjs} +15 -2
  54. package/fesm2022/acorex-platform-module-organization-management-client-contracts-entity-catalog-team-member.entity-DwF5LHAB.mjs.map +1 -0
  55. package/fesm2022/{acorex-platform-module-organization-management-client-contracts-entity-catalog-team.entity-Bygn5B_k.mjs → acorex-platform-module-organization-management-client-contracts-entity-catalog-team.entity-ujsFAjEX.mjs} +14 -2
  56. package/fesm2022/acorex-platform-module-organization-management-client-contracts-entity-catalog-team.entity-ujsFAjEX.mjs.map +1 -0
  57. package/fesm2022/acorex-platform-module-organization-management-client-contracts-entity-catalog.mjs +1 -1
  58. package/fesm2022/acorex-platform-module-organization-management-client-contracts.mjs +22 -1
  59. package/fesm2022/acorex-platform-module-organization-management-client-contracts.mjs.map +1 -1
  60. package/fesm2022/{acorex-platform-module-organization-management-client-job-definition-pages-component.provider-XH_rXGwz.mjs → acorex-platform-module-organization-management-client-job-definition-pages-component.provider-qOqAdl0L.mjs} +2 -2
  61. package/fesm2022/{acorex-platform-module-organization-management-client-job-definition-pages-component.provider-XH_rXGwz.mjs.map → acorex-platform-module-organization-management-client-job-definition-pages-component.provider-qOqAdl0L.mjs.map} +1 -1
  62. package/fesm2022/{acorex-platform-module-organization-management-client-job-definition-responsibilities-page.component-CpirrInU.mjs → acorex-platform-module-organization-management-client-job-definition-responsibilities-page.component-B1hFwmaF.mjs} +2 -2
  63. package/fesm2022/{acorex-platform-module-organization-management-client-job-definition-responsibilities-page.component-CpirrInU.mjs.map → acorex-platform-module-organization-management-client-job-definition-responsibilities-page.component-B1hFwmaF.mjs.map} +1 -1
  64. package/fesm2022/{acorex-platform-module-organization-management-client-org-chart-employee-flyout-contribution.provider-ZnMtkQSg.mjs → acorex-platform-module-organization-management-client-org-chart-employee-flyout-contribution.provider-BABjabWX.mjs} +2 -2
  65. package/fesm2022/{acorex-platform-module-organization-management-client-org-chart-employee-flyout-contribution.provider-ZnMtkQSg.mjs.map → acorex-platform-module-organization-management-client-org-chart-employee-flyout-contribution.provider-BABjabWX.mjs.map} +1 -1
  66. package/fesm2022/{acorex-platform-module-organization-management-client-org-chart-ux-node-contribution.provider-uZkFZFPA.mjs → acorex-platform-module-organization-management-client-org-chart-ux-node-contribution.provider-_T2S2dXE.mjs} +2 -2
  67. package/fesm2022/{acorex-platform-module-organization-management-client-org-chart-ux-node-contribution.provider-uZkFZFPA.mjs.map → acorex-platform-module-organization-management-client-org-chart-ux-node-contribution.provider-_T2S2dXE.mjs.map} +1 -1
  68. package/fesm2022/{acorex-platform-module-organization-management-client-org-chart.page-BhXvP2qN.mjs → acorex-platform-module-organization-management-client-org-chart.page-BKWoyv7D.mjs} +6 -6
  69. package/fesm2022/{acorex-platform-module-organization-management-client-org-chart.page-BhXvP2qN.mjs.map → acorex-platform-module-organization-management-client-org-chart.page-BKWoyv7D.mjs.map} +1 -1
  70. package/fesm2022/{acorex-platform-module-organization-management-client-responsibilities-matrix-widget-edit.component-m4S5GRko.mjs → acorex-platform-module-organization-management-client-responsibilities-matrix-widget-edit.component-Bo-lM5Rd.mjs} +2 -2
  71. package/fesm2022/{acorex-platform-module-organization-management-client-responsibilities-matrix-widget-edit.component-m4S5GRko.mjs.map → acorex-platform-module-organization-management-client-responsibilities-matrix-widget-edit.component-Bo-lM5Rd.mjs.map} +1 -1
  72. package/fesm2022/{acorex-platform-module-organization-management-client-responsibilities-matrix-widget-view.component-Cbua852d.mjs → acorex-platform-module-organization-management-client-responsibilities-matrix-widget-view.component-CfhbdP-c.mjs} +2 -2
  73. package/fesm2022/{acorex-platform-module-organization-management-client-responsibilities-matrix-widget-view.component-Cbua852d.mjs.map → acorex-platform-module-organization-management-client-responsibilities-matrix-widget-view.component-CfhbdP-c.mjs.map} +1 -1
  74. package/fesm2022/{acorex-platform-module-organization-management-client-responsibilities-matrix.component-Cpgdxtw-.mjs → acorex-platform-module-organization-management-client-responsibilities-matrix.component-DoktMNuL.mjs} +2 -2
  75. package/fesm2022/{acorex-platform-module-organization-management-client-responsibilities-matrix.component-Cpgdxtw-.mjs.map → acorex-platform-module-organization-management-client-responsibilities-matrix.component-DoktMNuL.mjs.map} +1 -1
  76. package/fesm2022/acorex-platform-module-organization-management-client.mjs +1 -1
  77. package/package.json +2 -2
  78. package/types/acorex-platform-module-organization-management-client-contracts.d.ts +8 -2
  79. package/fesm2022/acorex-platform-module-organization-management-client-acorex-platform-module-organization-management-client-ZM6X7IDO.mjs.map +0 -1
  80. package/fesm2022/acorex-platform-module-organization-management-client-contracts-entity-catalog-business-unit-type.entity-BmhCZeXd.mjs.map +0 -1
  81. package/fesm2022/acorex-platform-module-organization-management-client-contracts-entity-catalog-business-unit.entity-CIPmfbsM.mjs.map +0 -1
  82. package/fesm2022/acorex-platform-module-organization-management-client-contracts-entity-catalog-chart.entity-sg_rI9It.mjs.map +0 -1
  83. package/fesm2022/acorex-platform-module-organization-management-client-contracts-entity-catalog-company.entity-BSDO_7eL.mjs.map +0 -1
  84. package/fesm2022/acorex-platform-module-organization-management-client-contracts-entity-catalog-job-definition.entity-0W6OSQH-.mjs.map +0 -1
  85. package/fesm2022/acorex-platform-module-organization-management-client-contracts-entity-catalog-job-level.entity-DbMjRbn9.mjs.map +0 -1
  86. package/fesm2022/acorex-platform-module-organization-management-client-contracts-entity-catalog-position.entity-BkauiyPn.mjs.map +0 -1
  87. package/fesm2022/acorex-platform-module-organization-management-client-contracts-entity-catalog-responsibility-level.entity-BagFwJmO.mjs.map +0 -1
  88. package/fesm2022/acorex-platform-module-organization-management-client-contracts-entity-catalog-responsibility.entity-DHhT7rSq.mjs.map +0 -1
  89. package/fesm2022/acorex-platform-module-organization-management-client-contracts-entity-catalog-team-business-unit.entity-hkCAl8so.mjs.map +0 -1
  90. package/fesm2022/acorex-platform-module-organization-management-client-contracts-entity-catalog-team-member-role.entity-BeGE4JUl.mjs.map +0 -1
  91. package/fesm2022/acorex-platform-module-organization-management-client-contracts-entity-catalog-team-member.entity-10nYBrN4.mjs.map +0 -1
  92. package/fesm2022/acorex-platform-module-organization-management-client-contracts-entity-catalog-team.entity-Bygn5B_k.mjs.map +0 -1
@@ -3,7 +3,7 @@ import { AXPValueWidgetComponent } from '@acorex-platform/framework-client/layou
3
3
  import * as i0 from '@angular/core';
4
4
  import { inject, computed, ChangeDetectionStrategy, ViewEncapsulation, Component } from '@angular/core';
5
5
  import { get } from 'lodash';
6
- import { A as AXMOrganizationManagementResponsibilitiesMatrixComponent } from './acorex-platform-module-organization-management-client-responsibilities-matrix.component-Cpgdxtw-.mjs';
6
+ import { A as AXMOrganizationManagementResponsibilitiesMatrixComponent } from './acorex-platform-module-organization-management-client-responsibilities-matrix.component-DoktMNuL.mjs';
7
7
 
8
8
  //#region ---- Imports ----
9
9
  //#endregion
@@ -140,4 +140,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
140
140
  }] });
141
141
 
142
142
  export { AXMResponsibilitiesMatrixWidgetEditComponent };
143
- //# sourceMappingURL=acorex-platform-module-organization-management-client-responsibilities-matrix-widget-edit.component-m4S5GRko.mjs.map
143
+ //# sourceMappingURL=acorex-platform-module-organization-management-client-responsibilities-matrix-widget-edit.component-Bo-lM5Rd.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-platform-module-organization-management-client-responsibilities-matrix-widget-edit.component-m4S5GRko.mjs","sources":["../../../../libs/modules/organization-management/client/src/lib/features/responsibilities-matrix/responsibilities-matrix-widget-edit.component.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPSpreadsheetData, AXPSpreadsheetItem } from '@acorex-platform/framework-client/layout/components';\nimport { AXPValueWidgetComponent } from '@acorex-platform/framework-client/layout/widget-core';\nimport { ChangeDetectionStrategy, Component, computed, inject, ViewEncapsulation } from '@angular/core';\nimport { get } from 'lodash';\nimport { AXMOrganizationManagementResponsibilitiesMatrixComponent } from './responsibilities-matrix.component';\n\n//#endregion\n\n//#region ---- Component Definition ----\n\n@Component({\n selector: 'axm-responsibilities-matrix-widget-edit',\n standalone: true,\n imports: [AXMOrganizationManagementResponsibilitiesMatrixComponent],\n template: `\n <axm-responsibilities-matrix\n [titles]=\"titles()\"\n [value]=\"matrixValue()\"\n [responsibilityIds]=\"responsibilityIds()\"\n [readonly]=\"readonly()\"\n (valueChange)=\"handleValueChange($any($event))\"\n (responsibilityIdsChange)=\"handleResponsibilityIdsChange($any($event))\"\n ></axm-responsibilities-matrix>\n `,\n host: {\n class: 'block w-full',\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXMResponsibilitiesMatrixWidgetEditComponent extends AXPValueWidgetComponent<AXPSpreadsheetData> {\n //#region ---- Services & Dependencies ----\n\n private readonly multiLanguageResolver = inject(AXTranslationService);\n\n //#endregion\n\n //#region ---- Computed Properties ----\n\n /**\n * Readonly mode from options\n */\n protected readonly = computed<boolean>(() => {\n const options = this.options();\n return options?.['readonly'] ?? false;\n });\n\n /**\n * Titles from context - reactively reads from context data signal\n * This ensures the titles update immediately when jobLevelsList changes in context\n */\n protected titles = computed<AXPSpreadsheetItem[]>(() => {\n const resolve = (v: unknown) => this.multiLanguageResolver.resolve(v as any);\n const toItem = (item: any): AXPSpreadsheetItem => {\n if (typeof item === 'string') {\n return { id: item, title: item };\n }\n const id = item.id || item.value || String(item);\n const rawTitle = item.title ?? item.name ?? String(item);\n return {\n id,\n title: resolve(rawTitle) || String(rawTitle),\n description: item.description != null && item.description !== '' ? resolve(item.description) : undefined,\n };\n };\n\n // Read directly from context data signal for reactive updates\n const contextData = this.contextService.data();\n const jobLevelsFromContext = get(contextData, 'jobLevelsList') as any[] | undefined;\n\n if (Array.isArray(jobLevelsFromContext) && jobLevelsFromContext.length > 0) {\n return jobLevelsFromContext.map(toItem);\n }\n\n // Fallback to options (for initial load or when context is not yet available)\n const options = this.options();\n const rawTitles = options?.['titles'];\n\n if (!rawTitles) {\n return [];\n }\n\n if (Array.isArray(rawTitles)) {\n return rawTitles.map(toItem);\n }\n\n return [];\n });\n\n /**\n * Current matrix value\n */\n protected matrixValue = computed<AXPSpreadsheetData>(() => {\n return (this.getValue() as AXPSpreadsheetData) || {};\n });\n\n /**\n * Responsibility IDs extracted from value or from options\n */\n protected responsibilityIds = computed<string[]>(() => {\n const options = this.options();\n const responsibilityIdsFromOptions = options?.['responsibilityIds'] ?? [];\n\n // If responsibilityIds from options is an array, use it\n if (Array.isArray(responsibilityIdsFromOptions) && responsibilityIdsFromOptions.length > 0) {\n return responsibilityIdsFromOptions;\n }\n\n // Otherwise, extract from value (only if value exists and has items)\n const value = this.matrixValue();\n if (value && typeof value === 'object' && Object.keys(value).length > 0) {\n return Object.keys(value).filter((id) => id != null);\n }\n\n // Return empty array to prevent undefined issues\n return [];\n });\n\n //#endregion\n\n //#region ---- Event Handlers ----\n\n /**\n * Handle value change from responsibilities-matrix component\n */\n protected handleValueChange(data: AXPSpreadsheetData): void {\n if (data) {\n this.setValue(data);\n }\n }\n\n /**\n * Handle responsibility IDs change from responsibilities-matrix component\n */\n protected handleResponsibilityIdsChange(responsibilityIds: string[]): void {\n // Responsibility IDs are already reflected in the value\n // This handler is here for potential future use or side effects\n }\n\n //#endregion\n}\n\n//#endregion\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-platform-module-organization-management-client-responsibilities-matrix-widget-edit.component-Bo-lM5Rd.mjs","sources":["../../../../libs/modules/organization-management/client/src/lib/features/responsibilities-matrix/responsibilities-matrix-widget-edit.component.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPSpreadsheetData, AXPSpreadsheetItem } from '@acorex-platform/framework-client/layout/components';\nimport { AXPValueWidgetComponent } from '@acorex-platform/framework-client/layout/widget-core';\nimport { ChangeDetectionStrategy, Component, computed, inject, ViewEncapsulation } from '@angular/core';\nimport { get } from 'lodash';\nimport { AXMOrganizationManagementResponsibilitiesMatrixComponent } from './responsibilities-matrix.component';\n\n//#endregion\n\n//#region ---- Component Definition ----\n\n@Component({\n selector: 'axm-responsibilities-matrix-widget-edit',\n standalone: true,\n imports: [AXMOrganizationManagementResponsibilitiesMatrixComponent],\n template: `\n <axm-responsibilities-matrix\n [titles]=\"titles()\"\n [value]=\"matrixValue()\"\n [responsibilityIds]=\"responsibilityIds()\"\n [readonly]=\"readonly()\"\n (valueChange)=\"handleValueChange($any($event))\"\n (responsibilityIdsChange)=\"handleResponsibilityIdsChange($any($event))\"\n ></axm-responsibilities-matrix>\n `,\n host: {\n class: 'block w-full',\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXMResponsibilitiesMatrixWidgetEditComponent extends AXPValueWidgetComponent<AXPSpreadsheetData> {\n //#region ---- Services & Dependencies ----\n\n private readonly multiLanguageResolver = inject(AXTranslationService);\n\n //#endregion\n\n //#region ---- Computed Properties ----\n\n /**\n * Readonly mode from options\n */\n protected readonly = computed<boolean>(() => {\n const options = this.options();\n return options?.['readonly'] ?? false;\n });\n\n /**\n * Titles from context - reactively reads from context data signal\n * This ensures the titles update immediately when jobLevelsList changes in context\n */\n protected titles = computed<AXPSpreadsheetItem[]>(() => {\n const resolve = (v: unknown) => this.multiLanguageResolver.resolve(v as any);\n const toItem = (item: any): AXPSpreadsheetItem => {\n if (typeof item === 'string') {\n return { id: item, title: item };\n }\n const id = item.id || item.value || String(item);\n const rawTitle = item.title ?? item.name ?? String(item);\n return {\n id,\n title: resolve(rawTitle) || String(rawTitle),\n description: item.description != null && item.description !== '' ? resolve(item.description) : undefined,\n };\n };\n\n // Read directly from context data signal for reactive updates\n const contextData = this.contextService.data();\n const jobLevelsFromContext = get(contextData, 'jobLevelsList') as any[] | undefined;\n\n if (Array.isArray(jobLevelsFromContext) && jobLevelsFromContext.length > 0) {\n return jobLevelsFromContext.map(toItem);\n }\n\n // Fallback to options (for initial load or when context is not yet available)\n const options = this.options();\n const rawTitles = options?.['titles'];\n\n if (!rawTitles) {\n return [];\n }\n\n if (Array.isArray(rawTitles)) {\n return rawTitles.map(toItem);\n }\n\n return [];\n });\n\n /**\n * Current matrix value\n */\n protected matrixValue = computed<AXPSpreadsheetData>(() => {\n return (this.getValue() as AXPSpreadsheetData) || {};\n });\n\n /**\n * Responsibility IDs extracted from value or from options\n */\n protected responsibilityIds = computed<string[]>(() => {\n const options = this.options();\n const responsibilityIdsFromOptions = options?.['responsibilityIds'] ?? [];\n\n // If responsibilityIds from options is an array, use it\n if (Array.isArray(responsibilityIdsFromOptions) && responsibilityIdsFromOptions.length > 0) {\n return responsibilityIdsFromOptions;\n }\n\n // Otherwise, extract from value (only if value exists and has items)\n const value = this.matrixValue();\n if (value && typeof value === 'object' && Object.keys(value).length > 0) {\n return Object.keys(value).filter((id) => id != null);\n }\n\n // Return empty array to prevent undefined issues\n return [];\n });\n\n //#endregion\n\n //#region ---- Event Handlers ----\n\n /**\n * Handle value change from responsibilities-matrix component\n */\n protected handleValueChange(data: AXPSpreadsheetData): void {\n if (data) {\n this.setValue(data);\n }\n }\n\n /**\n * Handle responsibility IDs change from responsibilities-matrix component\n */\n protected handleResponsibilityIdsChange(responsibilityIds: string[]): void {\n // Responsibility IDs are already reflected in the value\n // This handler is here for potential future use or side effects\n }\n\n //#endregion\n}\n\n//#endregion\n"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { computed, ChangeDetectionStrategy, ViewEncapsulation, Component } from '@angular/core';
3
3
  import { AXPValueWidgetComponent } from '@acorex-platform/framework-client/layout/widget-core';
4
- import { A as AXMOrganizationManagementResponsibilitiesMatrixComponent } from './acorex-platform-module-organization-management-client-responsibilities-matrix.component-Cpgdxtw-.mjs';
4
+ import { A as AXMOrganizationManagementResponsibilitiesMatrixComponent } from './acorex-platform-module-organization-management-client-responsibilities-matrix.component-DoktMNuL.mjs';
5
5
 
6
6
  //#region ---- Imports ----
7
7
  //#endregion
@@ -62,4 +62,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
62
62
  }] });
63
63
 
64
64
  export { AXMResponsibilitiesMatrixWidgetViewComponent };
65
- //# sourceMappingURL=acorex-platform-module-organization-management-client-responsibilities-matrix-widget-view.component-Cbua852d.mjs.map
65
+ //# sourceMappingURL=acorex-platform-module-organization-management-client-responsibilities-matrix-widget-view.component-CfhbdP-c.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-platform-module-organization-management-client-responsibilities-matrix-widget-view.component-Cbua852d.mjs","sources":["../../../../libs/modules/organization-management/client/src/lib/features/responsibilities-matrix/responsibilities-matrix-widget-view.component.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n ViewEncapsulation,\n} from '@angular/core';\nimport { AXPValueWidgetComponent } from '@acorex-platform/framework-client/layout/widget-core';\nimport { AXPSpreadsheetData } from '@acorex-platform/framework-client/layout/components';\nimport { AXMOrganizationManagementResponsibilitiesMatrixComponent } from './responsibilities-matrix.component';\n\n//#endregion\n\n//#region ---- Component Definition ----\n\n@Component({\n selector: 'axm-responsibilities-matrix-widget-view',\n standalone: true,\n imports: [\n AXMOrganizationManagementResponsibilitiesMatrixComponent\n],\n template: `\n <axm-responsibilities-matrix\n [value]=\"matrixValue()\"\n [readonly]=\"true\"\n (valueChange)=\"handleValueChange($any($event))\"\n ></axm-responsibilities-matrix>\n `,\n host: {\n class: 'block w-full',\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXMResponsibilitiesMatrixWidgetViewComponent extends AXPValueWidgetComponent<AXPSpreadsheetData> {\n //#endregion\n\n //#region ---- Computed Properties ----\n\n /**\n * Current matrix value\n */\n protected matrixValue = computed<AXPSpreadsheetData>(() => {\n return (this.getValue() as AXPSpreadsheetData) || {};\n });\n\n //#endregion\n\n //#region ---- Event Handlers ----\n\n /**\n * Handle value change from responsibilities-matrix component\n */\n protected handleValueChange(data: AXPSpreadsheetData): void {\n if (data) {\n this.setValue(data);\n }\n }\n\n //#endregion\n}\n\n//#endregion\n"],"names":[],"mappings":";;;;;AAAA;AAYA;AAEA;AAqBM,MAAO,4CAA6C,SAAQ,uBAA2C,CAAA;AAnB7G,IAAA,WAAA,GAAA;;;;AAwBI;;AAEG;AACO,QAAA,IAAA,CAAA,WAAW,GAAG,QAAQ,CAAqB,MAAK;AACtD,YAAA,OAAQ,IAAI,CAAC,QAAQ,EAAyB,IAAI,EAAE;QACxD,CAAC;wFAAC;AAgBL,IAAA;;;AAVG;;AAEG;AACO,IAAA,iBAAiB,CAAC,IAAwB,EAAA;QAChD,IAAI,IAAI,EAAE;AACN,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QACvB;IACJ;8GAvBS,4CAA4C,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA5C,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,4CAA4C,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,yCAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,cAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAb3C;;;;;;AAMT,IAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EARD,wDAAwD,EAAA,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,OAAA,EAAA,UAAA,EAAA,mBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,EAAA,YAAA,EAAA,yBAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAe/C,4CAA4C,EAAA,UAAA,EAAA,CAAA;kBAnBxD,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,yCAAyC;AACnD,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,OAAO,EAAE;wBACT;AACH,qBAAA;AACG,oBAAA,QAAQ,EAAE;;;;;;AAMT,IAAA,CAAA;AACD,oBAAA,IAAI,EAAE;AACF,wBAAA,KAAK,EAAE,cAAc;AACxB,qBAAA;oBACD,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAClD,iBAAA;;;"}
1
+ {"version":3,"file":"acorex-platform-module-organization-management-client-responsibilities-matrix-widget-view.component-CfhbdP-c.mjs","sources":["../../../../libs/modules/organization-management/client/src/lib/features/responsibilities-matrix/responsibilities-matrix-widget-view.component.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n ViewEncapsulation,\n} from '@angular/core';\nimport { AXPValueWidgetComponent } from '@acorex-platform/framework-client/layout/widget-core';\nimport { AXPSpreadsheetData } from '@acorex-platform/framework-client/layout/components';\nimport { AXMOrganizationManagementResponsibilitiesMatrixComponent } from './responsibilities-matrix.component';\n\n//#endregion\n\n//#region ---- Component Definition ----\n\n@Component({\n selector: 'axm-responsibilities-matrix-widget-view',\n standalone: true,\n imports: [\n AXMOrganizationManagementResponsibilitiesMatrixComponent\n],\n template: `\n <axm-responsibilities-matrix\n [value]=\"matrixValue()\"\n [readonly]=\"true\"\n (valueChange)=\"handleValueChange($any($event))\"\n ></axm-responsibilities-matrix>\n `,\n host: {\n class: 'block w-full',\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXMResponsibilitiesMatrixWidgetViewComponent extends AXPValueWidgetComponent<AXPSpreadsheetData> {\n //#endregion\n\n //#region ---- Computed Properties ----\n\n /**\n * Current matrix value\n */\n protected matrixValue = computed<AXPSpreadsheetData>(() => {\n return (this.getValue() as AXPSpreadsheetData) || {};\n });\n\n //#endregion\n\n //#region ---- Event Handlers ----\n\n /**\n * Handle value change from responsibilities-matrix component\n */\n protected handleValueChange(data: AXPSpreadsheetData): void {\n if (data) {\n this.setValue(data);\n }\n }\n\n //#endregion\n}\n\n//#endregion\n"],"names":[],"mappings":";;;;;AAAA;AAYA;AAEA;AAqBM,MAAO,4CAA6C,SAAQ,uBAA2C,CAAA;AAnB7G,IAAA,WAAA,GAAA;;;;AAwBI;;AAEG;AACO,QAAA,IAAA,CAAA,WAAW,GAAG,QAAQ,CAAqB,MAAK;AACtD,YAAA,OAAQ,IAAI,CAAC,QAAQ,EAAyB,IAAI,EAAE;QACxD,CAAC;wFAAC;AAgBL,IAAA;;;AAVG;;AAEG;AACO,IAAA,iBAAiB,CAAC,IAAwB,EAAA;QAChD,IAAI,IAAI,EAAE;AACN,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QACvB;IACJ;8GAvBS,4CAA4C,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA5C,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,4CAA4C,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,yCAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,cAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAb3C;;;;;;AAMT,IAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EARD,wDAAwD,EAAA,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,OAAA,EAAA,UAAA,EAAA,mBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,EAAA,YAAA,EAAA,yBAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAe/C,4CAA4C,EAAA,UAAA,EAAA,CAAA;kBAnBxD,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,yCAAyC;AACnD,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,OAAO,EAAE;wBACT;AACH,qBAAA;AACG,oBAAA,QAAQ,EAAE;;;;;;AAMT,IAAA,CAAA;AACD,oBAAA,IAAI,EAAE;AACF,wBAAA,KAAK,EAAE,cAAc;AACxB,qBAAA;oBACD,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAClD,iBAAA;;;"}
@@ -387,7 +387,7 @@ class AXMOrganizationManagementResponsibilitiesMatrixComponent {
387
387
  // Note: 'add' type shouldn't happen in fixed mode, but if it does, we can handle it here
388
388
  }
389
389
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMOrganizationManagementResponsibilitiesMatrixComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
390
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: AXMOrganizationManagementResponsibilitiesMatrixComponent, isStandalone: true, selector: "axm-responsibilities-matrix", inputs: { titles: { classPropertyName: "titles", publicName: "titles", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, responsibilityIds: { classPropertyName: "responsibilityIds", publicName: "responsibilityIds", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valueChange: "valueChange", cellChange: "cellChange", responsibilityIdsChange: "responsibilityIdsChange" }, host: { classAttribute: "axm-responsibilities-matrix" }, ngImport: i0, template: "<div class=\"__container\">\n <div class=\"__matrix-section\">\n <div class=\"__matrix-header ax-sm\">\n @if (!readonly()) {\n <ax-button color=\"primary\"\n [text]=\"'@organization-management:job-definitions.components.responsibilities-matrix.actions.choose-responsibilities.title' | translate | async\"\n (onClick)=\"handleSelectResponsibilities()\" [disabled]=\"isLoadingResponsibilityEntity()\">\n <ax-icon icon=\"far fa-plus\"></ax-icon>\n </ax-button>\n }\n </div>\n @if (isLoading()) {\n <div class=\"__loading\">\n <span>{{ '@organization-management:job-definitions.components.responsibilities-matrix.messages.loading-responsibility-levels' | translate | async\n }}</span>\n </div>\n } @else {\n <axp-spreadsheet [title]=\"'Responsibility / Level'\" [columns]=\"spreadsheetColumns()\" [rowsInput]=\"spreadsheetRows()\"\n [rowMode]=\"'fixed'\" [readonly]=\"readonly()\" [allowRemoveRows]=\"true\" [rowTitlePath]=\"'_responsibilityTitle'\"\n [rowDescriptionPath]=\"'_responsibilityDescription'\" (cellChange)=\"handleCellChange($event)\"\n (spreadsheetChange)=\"handleSpreadsheetChange($event)\" (rowChange)=\"handleRowChange($event)\"></axp-spreadsheet>\n }\n </div>\n</div>\n", styles: [".responsibilities-matrix{display:block;height:100%;width:100%}.responsibilities-matrix .__container,.responsibilities-matrix .__matrix-section{display:flex;flex-direction:column}.responsibilities-matrix .__matrix-header{margin-bottom:calc(var(--spacing, .25rem) * 3);display:flex;justify-content:flex-end}.responsibilities-matrix .__loading{display:flex;align-items:center;justify-content:center;padding:calc(var(--spacing, .25rem) * 8);font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));color:var(--color-neutral-600, oklch(43.9% 0 none))}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: AXPSpreadsheetComponent, selector: "axp-spreadsheet", inputs: ["title", "columns", "rowMode", "rowsInput", "rowsModel", "readonly", "emptyCellPlaceholder", "rowTitlePath", "rowDescriptionPath", "allowAddRows", "allowRemoveRows"], outputs: ["rowsModelChange", "cellChange", "rowChange", "spreadsheetChange"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i2.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i3$1.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
390
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: AXMOrganizationManagementResponsibilitiesMatrixComponent, isStandalone: true, selector: "axm-responsibilities-matrix", inputs: { titles: { classPropertyName: "titles", publicName: "titles", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, responsibilityIds: { classPropertyName: "responsibilityIds", publicName: "responsibilityIds", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valueChange: "valueChange", cellChange: "cellChange", responsibilityIdsChange: "responsibilityIdsChange" }, host: { classAttribute: "axm-responsibilities-matrix" }, ngImport: i0, template: "<div class=\"__container\">\n <div class=\"__matrix-section\">\n <div class=\"__matrix-header ax-sm\">\n @if (!readonly()) {\n <ax-button color=\"primary\"\n [text]=\"'@organization-management:job-definitions.components.responsibilities-matrix.actions.choose-responsibilities.title' | translate | async\"\n (onClick)=\"handleSelectResponsibilities()\" [disabled]=\"isLoadingResponsibilityEntity()\">\n <ax-icon icon=\"far fa-plus\"></ax-icon>\n </ax-button>\n }\n </div>\n @if (isLoading()) {\n <div class=\"__loading\">\n <span>{{ '@organization-management:job-definitions.components.responsibilities-matrix.messages.loading-responsibility-levels' | translate | async\n }}</span>\n </div>\n } @else {\n <axp-spreadsheet [title]=\"'Responsibility / Level'\" [columns]=\"spreadsheetColumns()\" [rowsInput]=\"spreadsheetRows()\"\n [rowMode]=\"'fixed'\" [readonly]=\"readonly()\" [allowRemoveRows]=\"true\" [rowTitlePath]=\"'_responsibilityTitle'\"\n [rowDescriptionPath]=\"'_responsibilityDescription'\" (cellChange)=\"handleCellChange($event)\"\n (spreadsheetChange)=\"handleSpreadsheetChange($event)\" (rowChange)=\"handleRowChange($event)\"></axp-spreadsheet>\n }\n </div>\n</div>\n", styles: [".responsibilities-matrix{display:block;height:100%;width:100%}.responsibilities-matrix .__container,.responsibilities-matrix .__matrix-section{display:flex;flex-direction:column}.responsibilities-matrix .__matrix-header{margin-bottom:calc(var(--spacing, .25rem) * 3);display:flex;justify-content:flex-end}.responsibilities-matrix .__loading{display:flex;align-items:center;justify-content:center;padding:calc(var(--spacing, .25rem) * 8);font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));color:var(--color-neutral-600, oklch(43.9% 0 none))}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: AXPSpreadsheetComponent, selector: "axp-spreadsheet", inputs: ["title", "columns", "rowMode", "rowsInput", "rowsModel", "readonly", "emptyCellPlaceholder", "rowTitlePath", "rowDescriptionPath", "allowAddRows", "allowRemoveRows", "allowAddColumns", "allowRemoveColumns", "showCellActions"], outputs: ["rowsModelChange", "cellChange", "rowChange", "columnChange", "columnsChange", "spreadsheetChange"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i2.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i3$1.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
391
391
  }
392
392
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMOrganizationManagementResponsibilitiesMatrixComponent, decorators: [{
393
393
  type: Component,
@@ -397,4 +397,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
397
397
  }], ctorParameters: () => [], propDecorators: { titles: [{ type: i0.Input, args: [{ isSignal: true, alias: "titles", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], responsibilityIds: [{ type: i0.Input, args: [{ isSignal: true, alias: "responsibilityIds", required: false }] }], valueChange: [{ type: i0.Output, args: ["valueChange"] }], cellChange: [{ type: i0.Output, args: ["cellChange"] }], responsibilityIdsChange: [{ type: i0.Output, args: ["responsibilityIdsChange"] }] } });
398
398
 
399
399
  export { AXMOrganizationManagementResponsibilitiesMatrixComponent as A };
400
- //# sourceMappingURL=acorex-platform-module-organization-management-client-responsibilities-matrix.component-Cpgdxtw-.mjs.map
400
+ //# sourceMappingURL=acorex-platform-module-organization-management-client-responsibilities-matrix.component-DoktMNuL.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-platform-module-organization-management-client-responsibilities-matrix.component-Cpgdxtw-.mjs","sources":["../../../../libs/modules/organization-management/client/src/lib/features/responsibilities-matrix/responsibilities-matrix.component.ts","../../../../libs/modules/organization-management/client/src/lib/features/responsibilities-matrix/responsibilities-matrix.component.html"],"sourcesContent":["//#region ---- Imports ----\n\nimport { AXPEntity } from '@acorex-platform/framework-shared/entity';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXTranslationModule, AXTranslationService } from '@acorex/core/translation';\nimport { type AXPWidgetNode, AXPWidgetsList } from '@acorex-platform/framework-shared/core';\n\nimport {\n AXPSpreadsheetCellChangeEvent,\n AXPSpreadsheetColumn,\n AXPSpreadsheetComponent,\n AXPSpreadsheetData,\n AXPSpreadsheetItem,\n AXPSpreadsheetRowChangeEvent,\n} from '@acorex-platform/framework-client/layout/components';\nimport {\n AXPEntityDataSelectorService,\n AXPEntityDefinitionRegistryService,\n AXPEntityService,\n} from '@acorex-platform/framework-client/layout/entity';\nimport { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n effect,\n inject,\n input,\n output,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport { RootConfig } from '@acorex-platform/module-organization-management-client/contracts';\nimport { AXMOrganizationManagementResponsibilityLevelEntityModel } from '@acorex-platform/module-organization-management-client/contracts';\nimport { AXMOrganizationManagementResponsibilityEntityModel } from '@acorex-platform/module-organization-management-client/contracts';\n\n//#endregion\n\n//#region ---- Component Definition ----\n\n@Component({\n selector: 'axm-responsibilities-matrix',\n standalone: true,\n imports: [CommonModule, AXPSpreadsheetComponent, AXButtonModule, AXDecoratorModule, AXTranslationModule],\n templateUrl: './responsibilities-matrix.component.html',\n styleUrl: './responsibilities-matrix.component.css',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'axm-responsibilities-matrix',\n },\n})\nexport class AXMOrganizationManagementResponsibilitiesMatrixComponent {\n //#endregion\n\n //#region ---- Services & Dependencies ----\n\n private readonly entityService = inject(AXPEntityService);\n private readonly responsibilityLevelDataAccessor = this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.responsibilityLevel.name)\n .data<string, AXMOrganizationManagementResponsibilityLevelEntityModel>();\n private readonly responsibilityDataAccessor = this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.responsibility.name)\n .data<string, AXMOrganizationManagementResponsibilityEntityModel>();\n private readonly entityDataSelectorService = inject(AXPEntityDataSelectorService);\n private readonly entityResolver = inject(AXPEntityDefinitionRegistryService);\n private readonly multiLanguageResolver = inject(AXTranslationService);\n\n //#endregion\n\n //#region ---- Inputs ----\n\n /**\n * Array of job levels to display as columns (e.g., Junior, Mid-Level, Senior)\n */\n titles = input<AXPSpreadsheetItem[]>([]);\n\n /**\n * Initial matrix data: { [responsibilityId]: { [title.id]: responsibilityLevelId } }\n */\n value = input<AXPSpreadsheetData>({});\n\n /**\n * Whether the matrix is in readonly mode\n */\n readonly = input<boolean>(false);\n\n /**\n * Initial responsibility IDs (for syncing with parent entity)\n */\n responsibilityIds = input<string[]>([]);\n\n //#endregion\n\n //#region ---- Outputs ----\n\n /**\n * Emitted when the matrix value changes\n */\n valueChange = output<AXPSpreadsheetData>();\n\n /**\n * Emitted when a single cell value changes\n */\n cellChange = output<AXPSpreadsheetCellChangeEvent>();\n\n /**\n * Emitted when selected responsibilities change (responsibility IDs array)\n */\n responsibilityIdsChange = output<string[]>();\n\n //#endregion\n\n //#region ---- Class Properties ----\n\n /**\n * Responsibility levels loaded from the service\n */\n private responsibilityLevels = signal<AXMOrganizationManagementResponsibilityLevelEntityModel[]>([]);\n\n /**\n * Selected responsibilities (internal state)\n */\n protected selectedResponsibilities = signal<AXMOrganizationManagementResponsibilityEntityModel[]>([]);\n\n /**\n * Responsibility entity definition\n */\n private responsibilityEntityDef = signal<AXPEntity | null>(null);\n\n /**\n * Loading state\n */\n protected isLoading = signal<boolean>(true);\n\n /**\n * Loading state for responsibility entity\n */\n protected isLoadingResponsibilityEntity = signal<boolean>(false);\n\n //#endregion\n\n //#region ---- Computed Properties ----\n\n /**\n * Vertical titles (responsibilities) - rows of the matrix\n */\n protected verticalTitles = computed<AXPSpreadsheetItem[]>(() => {\n const responsibilities = this.selectedResponsibilities();\n const resolve = (v: unknown) => this.multiLanguageResolver.resolve(v as any);\n const result = (responsibilities ?? []).map((responsibility) => ({\n id: responsibility.id,\n title: resolve(responsibility.title),\n description: responsibility.description ? resolve(responsibility.description) : undefined,\n }));\n return result;\n });\n\n /**\n * Horizontal titles (job levels) - columns of the matrix\n */\n protected horizontalTitles = computed<AXPSpreadsheetItem[]>(() => {\n const titlesInput = this.titles();\n const resolve = (v: unknown) => this.multiLanguageResolver.resolve(v as any);\n const result = (titlesInput ?? []).map((title) => ({\n id: title.id,\n title: resolve(title.title),\n description: title.description ? resolve(title.description) : undefined,\n }));\n return result;\n });\n\n /**\n * Cell options (responsibility levels) - dropdown options for each cell, loaded from service\n */\n protected cellOptions = computed<AXPSpreadsheetItem[]>(() => {\n const levels = this.responsibilityLevels();\n const resolve = (v: unknown) => this.multiLanguageResolver.resolve(v as any);\n const result = (levels ?? []).map((level) => ({\n id: level.id,\n title: resolve(level.title),\n description: level.description ? resolve(level.description) : undefined,\n }));\n return result;\n });\n\n /**\n * Spreadsheet columns - converted from horizontalTitles (job levels)\n */\n protected spreadsheetColumns = computed<AXPSpreadsheetColumn[]>(() => {\n const horizontalTitles = this.horizontalTitles();\n const cellOptions = this.cellOptions();\n\n // Create SelectBox widget configuration for responsibility levels\n const selectBoxWidget: AXPWidgetNode = {\n type: AXPWidgetsList.Editors.SelectBox,\n options: {\n valueField: 'id',\n textField: 'title',\n dataSource: cellOptions.map((option) => ({\n id: option.id,\n title: option.title,\n description: option.description,\n })),\n },\n };\n\n // Convert horizontal titles to columns\n return horizontalTitles.map((title) => ({\n name: title.id,\n title: title.title,\n description: title.description,\n path: title.id, // Path to access the value in row object\n widget: selectBoxWidget,\n }));\n });\n\n /**\n * Spreadsheet rows - converted from matrix data and vertical titles\n */\n protected spreadsheetRows = computed<Record<string, any>[]>(() => {\n const verticalTitles = this.verticalTitles();\n const horizontalTitles = this.horizontalTitles();\n const matrixData = this.value();\n\n // Convert matrix data to spreadsheet rows\n return verticalTitles.map((responsibility) => {\n const row: Record<string, any> = {\n name: responsibility.id, // Required for fixed mode row identification\n _responsibilityTitle: responsibility.title, // For row header display\n _responsibilityDescription: responsibility.description, // For row header description\n };\n\n // Add cell values for each horizontal title (column)\n horizontalTitles.forEach((title) => {\n const cellValue = matrixData[responsibility.id]?.[title.id] ?? null;\n row[title.id] = cellValue;\n });\n\n return row;\n });\n });\n\n //#endregion\n\n //#region ---- Lifecycle Methods ----\n\n constructor() {\n // Load responsibility levels and responsibility entity definition when component initializes\n this.loadResponsibilityLevels();\n this.loadResponsibilityEntityDef();\n\n // Watch for responsibilityIds input changes and sync selected responsibilities\n effect(() => {\n const ids = this.responsibilityIds();\n if (ids && ids.length > 0 && this.responsibilityEntityDef()) {\n this.loadResponsibilitiesByIds(ids);\n } else if (!ids || ids.length === 0) {\n // Try to extract responsibility IDs from matrix data keys\n const matrixData = this.value();\n const responsibilityIdsFromMatrix = Object.keys(matrixData || {});\n if (responsibilityIdsFromMatrix.length > 0 && this.responsibilityEntityDef()) {\n this.loadResponsibilitiesByIds(responsibilityIdsFromMatrix);\n } else {\n this.selectedResponsibilities.set([]);\n }\n }\n });\n\n // Watch for matrix value changes and extract responsibility IDs\n effect(() => {\n const matrixData = this.value();\n const currentResponsibilityIds = this.selectedResponsibilities().map((r) => r.id);\n const responsibilityIdsFromMatrix = Object.keys(matrixData || {});\n\n // If matrix has responsibilities that aren't in selectedResponsibilities, load them\n const missingIds = responsibilityIdsFromMatrix.filter((id) => !currentResponsibilityIds.includes(id));\n if (missingIds.length > 0 && this.responsibilityEntityDef()) {\n this.loadResponsibilitiesByIds(missingIds);\n }\n });\n }\n\n //#endregion\n\n //#region ---- Data Loading Methods ----\n\n /**\n * Load responsibility levels from the service\n */\n private async loadResponsibilityLevels(): Promise<void> {\n try {\n this.isLoading.set(true);\n const query = {\n skip: 0,\n take: 1000,\n sort: [{ field: 'level', dir: 'asc' as const }],\n };\n const result = await this.responsibilityLevelDataAccessor.query(query);\n this.responsibilityLevels.set(result.items || []);\n } catch (error) {\n console.error('Error loading responsibility levels:', error);\n this.responsibilityLevels.set([]);\n } finally {\n this.isLoading.set(false);\n }\n }\n\n /**\n * Load responsibility entity definition\n */\n private async loadResponsibilityEntityDef(): Promise<void> {\n try {\n this.isLoadingResponsibilityEntity.set(true);\n const entityDef = await this.entityResolver.resolve(\n RootConfig.module.name,\n RootConfig.entities.responsibility.name,\n );\n this.responsibilityEntityDef.set(entityDef);\n } catch (error) {\n console.error('Error loading responsibility entity definition:', error);\n this.responsibilityEntityDef.set(null);\n } finally {\n this.isLoadingResponsibilityEntity.set(false);\n }\n }\n\n /**\n * Load responsibilities by IDs\n */\n private async loadResponsibilitiesByIds(ids: string[]): Promise<void> {\n try {\n const responsibilities: AXMOrganizationManagementResponsibilityEntityModel[] = [];\n\n for (const id of ids) {\n try {\n const responsibility = await this.responsibilityDataAccessor.byKey(id);\n if (responsibility) {\n responsibilities.push(responsibility);\n }\n } catch (error) {\n console.error(`Error loading responsibility ${id}:`, error);\n }\n }\n\n this.selectedResponsibilities.set(responsibilities);\n } catch (error) {\n console.error('Error loading responsibilities by IDs:', error);\n }\n }\n\n //#endregion\n\n //#region ---- Data Transformation Methods ----\n\n /**\n * Convert spreadsheet rows back to matrix data format\n */\n private convertSpreadsheetRowsToMatrixData(rows: Record<string, any>[]): AXPSpreadsheetData {\n const horizontalTitles = this.horizontalTitles();\n const matrixData: AXPSpreadsheetData = {};\n\n rows.forEach((row) => {\n const responsibilityId = row['name']; // Row identifier (responsibility ID)\n if (!responsibilityId) {\n return;\n }\n\n matrixData[responsibilityId] = {};\n\n // Extract cell values for each column\n horizontalTitles.forEach((title) => {\n const cellValue = row[title.id] ?? null;\n matrixData[responsibilityId][title.id] = cellValue;\n });\n });\n\n return matrixData;\n }\n\n //#endregion\n\n //#region ---- Event Handlers ----\n\n /**\n * Handle spreadsheet change event - convert to matrix format\n */\n protected handleSpreadsheetChange(rows: Record<string, any>[]): void {\n const matrixData = this.convertSpreadsheetRowsToMatrixData(rows);\n this.valueChange.emit(matrixData);\n\n // Extract responsibility IDs from row names and emit\n const responsibilityIds = rows.map((row) => row['name']).filter((id) => id != null);\n this.responsibilityIdsChange.emit(responsibilityIds);\n }\n\n /**\n * Handle cell change event from spreadsheet\n */\n protected handleCellChange(event: AXPSpreadsheetCellChangeEvent): void {\n this.cellChange.emit(event);\n }\n\n /**\n * Open responsibility selector dialog\n */\n protected async handleSelectResponsibilities(): Promise<void> {\n const entityDef = this.responsibilityEntityDef();\n if (!entityDef) {\n console.error('Responsibility entity definition not loaded');\n return;\n }\n\n try {\n // Get currently selected responsibility IDs\n const selectedItemIds = this.selectedResponsibilities()\n .map((responsibility) => responsibility.id)\n .filter((id) => id != null);\n\n const result = await this.entityDataSelectorService.open({\n entity: entityDef,\n title: 'Select Responsibilities',\n allowMultiple: true,\n selectedItemIds: selectedItemIds.length > 0 ? selectedItemIds : undefined,\n });\n\n if (result && result.items && result.items.length > 0) {\n // Update selected responsibilities\n this.selectedResponsibilities.set(result.items);\n // Emit responsibility IDs change\n const responsibilityIds = result.items.map((item) => item.id).filter((id) => id != null);\n this.responsibilityIdsChange.emit(responsibilityIds);\n }\n } catch (error) {\n console.error('Error opening responsibility selector:', error);\n }\n }\n\n /**\n * Remove a responsibility from selection\n */\n protected handleRemoveResponsibility(responsibilityId: string): void {\n const currentResponsibilities = this.selectedResponsibilities();\n const updatedResponsibilities = currentResponsibilities.filter(\n (responsibility) => responsibility.id !== responsibilityId,\n );\n this.selectedResponsibilities.set(updatedResponsibilities);\n\n // Remove responsibility data from matrix value\n const currentMatrixData = this.value();\n const updatedMatrixData = { ...currentMatrixData };\n delete updatedMatrixData[responsibilityId];\n\n // Emit updated matrix data\n this.valueChange.emit(updatedMatrixData);\n\n // Emit responsibility IDs change\n const responsibilityIds = updatedResponsibilities.map((r) => r.id).filter((id) => id != null);\n this.responsibilityIdsChange.emit(responsibilityIds);\n }\n\n /**\n * Handle row change event from spreadsheet (add/remove)\n */\n protected handleRowChange(event: AXPSpreadsheetRowChangeEvent): void {\n if (event.type === 'remove') {\n // Remove responsibility from selection\n this.handleRemoveResponsibility(event.rowId);\n }\n // Note: 'add' type shouldn't happen in fixed mode, but if it does, we can handle it here\n }\n\n //#endregion\n}\n\n//#endregion\n","<div class=\"__container\">\n <div class=\"__matrix-section\">\n <div class=\"__matrix-header ax-sm\">\n @if (!readonly()) {\n <ax-button color=\"primary\"\n [text]=\"'@organization-management:job-definitions.components.responsibilities-matrix.actions.choose-responsibilities.title' | translate | async\"\n (onClick)=\"handleSelectResponsibilities()\" [disabled]=\"isLoadingResponsibilityEntity()\">\n <ax-icon icon=\"far fa-plus\"></ax-icon>\n </ax-button>\n }\n </div>\n @if (isLoading()) {\n <div class=\"__loading\">\n <span>{{ '@organization-management:job-definitions.components.responsibilities-matrix.messages.loading-responsibility-levels' | translate | async\n }}</span>\n </div>\n } @else {\n <axp-spreadsheet [title]=\"'Responsibility / Level'\" [columns]=\"spreadsheetColumns()\" [rowsInput]=\"spreadsheetRows()\"\n [rowMode]=\"'fixed'\" [readonly]=\"readonly()\" [allowRemoveRows]=\"true\" [rowTitlePath]=\"'_responsibilityTitle'\"\n [rowDescriptionPath]=\"'_responsibilityDescription'\" (cellChange)=\"handleCellChange($event)\"\n (spreadsheetChange)=\"handleSpreadsheetChange($event)\" (rowChange)=\"handleRowChange($event)\"></axp-spreadsheet>\n }\n </div>\n</div>\n"],"names":["i4"],"mappings":"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"}
1
+ {"version":3,"file":"acorex-platform-module-organization-management-client-responsibilities-matrix.component-DoktMNuL.mjs","sources":["../../../../libs/modules/organization-management/client/src/lib/features/responsibilities-matrix/responsibilities-matrix.component.ts","../../../../libs/modules/organization-management/client/src/lib/features/responsibilities-matrix/responsibilities-matrix.component.html"],"sourcesContent":["//#region ---- Imports ----\n\nimport { AXPEntity } from '@acorex-platform/framework-shared/entity';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXTranslationModule, AXTranslationService } from '@acorex/core/translation';\nimport { type AXPWidgetNode, AXPWidgetsList } from '@acorex-platform/framework-shared/core';\n\nimport {\n AXPSpreadsheetCellChangeEvent,\n AXPSpreadsheetColumn,\n AXPSpreadsheetComponent,\n AXPSpreadsheetData,\n AXPSpreadsheetItem,\n AXPSpreadsheetRowChangeEvent,\n} from '@acorex-platform/framework-client/layout/components';\nimport {\n AXPEntityDataSelectorService,\n AXPEntityDefinitionRegistryService,\n AXPEntityService,\n} from '@acorex-platform/framework-client/layout/entity';\nimport { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n effect,\n inject,\n input,\n output,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport { RootConfig } from '@acorex-platform/module-organization-management-client/contracts';\nimport { AXMOrganizationManagementResponsibilityLevelEntityModel } from '@acorex-platform/module-organization-management-client/contracts';\nimport { AXMOrganizationManagementResponsibilityEntityModel } from '@acorex-platform/module-organization-management-client/contracts';\n\n//#endregion\n\n//#region ---- Component Definition ----\n\n@Component({\n selector: 'axm-responsibilities-matrix',\n standalone: true,\n imports: [CommonModule, AXPSpreadsheetComponent, AXButtonModule, AXDecoratorModule, AXTranslationModule],\n templateUrl: './responsibilities-matrix.component.html',\n styleUrl: './responsibilities-matrix.component.css',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'axm-responsibilities-matrix',\n },\n})\nexport class AXMOrganizationManagementResponsibilitiesMatrixComponent {\n //#endregion\n\n //#region ---- Services & Dependencies ----\n\n private readonly entityService = inject(AXPEntityService);\n private readonly responsibilityLevelDataAccessor = this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.responsibilityLevel.name)\n .data<string, AXMOrganizationManagementResponsibilityLevelEntityModel>();\n private readonly responsibilityDataAccessor = this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.responsibility.name)\n .data<string, AXMOrganizationManagementResponsibilityEntityModel>();\n private readonly entityDataSelectorService = inject(AXPEntityDataSelectorService);\n private readonly entityResolver = inject(AXPEntityDefinitionRegistryService);\n private readonly multiLanguageResolver = inject(AXTranslationService);\n\n //#endregion\n\n //#region ---- Inputs ----\n\n /**\n * Array of job levels to display as columns (e.g., Junior, Mid-Level, Senior)\n */\n titles = input<AXPSpreadsheetItem[]>([]);\n\n /**\n * Initial matrix data: { [responsibilityId]: { [title.id]: responsibilityLevelId } }\n */\n value = input<AXPSpreadsheetData>({});\n\n /**\n * Whether the matrix is in readonly mode\n */\n readonly = input<boolean>(false);\n\n /**\n * Initial responsibility IDs (for syncing with parent entity)\n */\n responsibilityIds = input<string[]>([]);\n\n //#endregion\n\n //#region ---- Outputs ----\n\n /**\n * Emitted when the matrix value changes\n */\n valueChange = output<AXPSpreadsheetData>();\n\n /**\n * Emitted when a single cell value changes\n */\n cellChange = output<AXPSpreadsheetCellChangeEvent>();\n\n /**\n * Emitted when selected responsibilities change (responsibility IDs array)\n */\n responsibilityIdsChange = output<string[]>();\n\n //#endregion\n\n //#region ---- Class Properties ----\n\n /**\n * Responsibility levels loaded from the service\n */\n private responsibilityLevels = signal<AXMOrganizationManagementResponsibilityLevelEntityModel[]>([]);\n\n /**\n * Selected responsibilities (internal state)\n */\n protected selectedResponsibilities = signal<AXMOrganizationManagementResponsibilityEntityModel[]>([]);\n\n /**\n * Responsibility entity definition\n */\n private responsibilityEntityDef = signal<AXPEntity | null>(null);\n\n /**\n * Loading state\n */\n protected isLoading = signal<boolean>(true);\n\n /**\n * Loading state for responsibility entity\n */\n protected isLoadingResponsibilityEntity = signal<boolean>(false);\n\n //#endregion\n\n //#region ---- Computed Properties ----\n\n /**\n * Vertical titles (responsibilities) - rows of the matrix\n */\n protected verticalTitles = computed<AXPSpreadsheetItem[]>(() => {\n const responsibilities = this.selectedResponsibilities();\n const resolve = (v: unknown) => this.multiLanguageResolver.resolve(v as any);\n const result = (responsibilities ?? []).map((responsibility) => ({\n id: responsibility.id,\n title: resolve(responsibility.title),\n description: responsibility.description ? resolve(responsibility.description) : undefined,\n }));\n return result;\n });\n\n /**\n * Horizontal titles (job levels) - columns of the matrix\n */\n protected horizontalTitles = computed<AXPSpreadsheetItem[]>(() => {\n const titlesInput = this.titles();\n const resolve = (v: unknown) => this.multiLanguageResolver.resolve(v as any);\n const result = (titlesInput ?? []).map((title) => ({\n id: title.id,\n title: resolve(title.title),\n description: title.description ? resolve(title.description) : undefined,\n }));\n return result;\n });\n\n /**\n * Cell options (responsibility levels) - dropdown options for each cell, loaded from service\n */\n protected cellOptions = computed<AXPSpreadsheetItem[]>(() => {\n const levels = this.responsibilityLevels();\n const resolve = (v: unknown) => this.multiLanguageResolver.resolve(v as any);\n const result = (levels ?? []).map((level) => ({\n id: level.id,\n title: resolve(level.title),\n description: level.description ? resolve(level.description) : undefined,\n }));\n return result;\n });\n\n /**\n * Spreadsheet columns - converted from horizontalTitles (job levels)\n */\n protected spreadsheetColumns = computed<AXPSpreadsheetColumn[]>(() => {\n const horizontalTitles = this.horizontalTitles();\n const cellOptions = this.cellOptions();\n\n // Create SelectBox widget configuration for responsibility levels\n const selectBoxWidget: AXPWidgetNode = {\n type: AXPWidgetsList.Editors.SelectBox,\n options: {\n valueField: 'id',\n textField: 'title',\n dataSource: cellOptions.map((option) => ({\n id: option.id,\n title: option.title,\n description: option.description,\n })),\n },\n };\n\n // Convert horizontal titles to columns\n return horizontalTitles.map((title) => ({\n name: title.id,\n title: title.title,\n description: title.description,\n path: title.id, // Path to access the value in row object\n widget: selectBoxWidget,\n }));\n });\n\n /**\n * Spreadsheet rows - converted from matrix data and vertical titles\n */\n protected spreadsheetRows = computed<Record<string, any>[]>(() => {\n const verticalTitles = this.verticalTitles();\n const horizontalTitles = this.horizontalTitles();\n const matrixData = this.value();\n\n // Convert matrix data to spreadsheet rows\n return verticalTitles.map((responsibility) => {\n const row: Record<string, any> = {\n name: responsibility.id, // Required for fixed mode row identification\n _responsibilityTitle: responsibility.title, // For row header display\n _responsibilityDescription: responsibility.description, // For row header description\n };\n\n // Add cell values for each horizontal title (column)\n horizontalTitles.forEach((title) => {\n const cellValue = matrixData[responsibility.id]?.[title.id] ?? null;\n row[title.id] = cellValue;\n });\n\n return row;\n });\n });\n\n //#endregion\n\n //#region ---- Lifecycle Methods ----\n\n constructor() {\n // Load responsibility levels and responsibility entity definition when component initializes\n this.loadResponsibilityLevels();\n this.loadResponsibilityEntityDef();\n\n // Watch for responsibilityIds input changes and sync selected responsibilities\n effect(() => {\n const ids = this.responsibilityIds();\n if (ids && ids.length > 0 && this.responsibilityEntityDef()) {\n this.loadResponsibilitiesByIds(ids);\n } else if (!ids || ids.length === 0) {\n // Try to extract responsibility IDs from matrix data keys\n const matrixData = this.value();\n const responsibilityIdsFromMatrix = Object.keys(matrixData || {});\n if (responsibilityIdsFromMatrix.length > 0 && this.responsibilityEntityDef()) {\n this.loadResponsibilitiesByIds(responsibilityIdsFromMatrix);\n } else {\n this.selectedResponsibilities.set([]);\n }\n }\n });\n\n // Watch for matrix value changes and extract responsibility IDs\n effect(() => {\n const matrixData = this.value();\n const currentResponsibilityIds = this.selectedResponsibilities().map((r) => r.id);\n const responsibilityIdsFromMatrix = Object.keys(matrixData || {});\n\n // If matrix has responsibilities that aren't in selectedResponsibilities, load them\n const missingIds = responsibilityIdsFromMatrix.filter((id) => !currentResponsibilityIds.includes(id));\n if (missingIds.length > 0 && this.responsibilityEntityDef()) {\n this.loadResponsibilitiesByIds(missingIds);\n }\n });\n }\n\n //#endregion\n\n //#region ---- Data Loading Methods ----\n\n /**\n * Load responsibility levels from the service\n */\n private async loadResponsibilityLevels(): Promise<void> {\n try {\n this.isLoading.set(true);\n const query = {\n skip: 0,\n take: 1000,\n sort: [{ field: 'level', dir: 'asc' as const }],\n };\n const result = await this.responsibilityLevelDataAccessor.query(query);\n this.responsibilityLevels.set(result.items || []);\n } catch (error) {\n console.error('Error loading responsibility levels:', error);\n this.responsibilityLevels.set([]);\n } finally {\n this.isLoading.set(false);\n }\n }\n\n /**\n * Load responsibility entity definition\n */\n private async loadResponsibilityEntityDef(): Promise<void> {\n try {\n this.isLoadingResponsibilityEntity.set(true);\n const entityDef = await this.entityResolver.resolve(\n RootConfig.module.name,\n RootConfig.entities.responsibility.name,\n );\n this.responsibilityEntityDef.set(entityDef);\n } catch (error) {\n console.error('Error loading responsibility entity definition:', error);\n this.responsibilityEntityDef.set(null);\n } finally {\n this.isLoadingResponsibilityEntity.set(false);\n }\n }\n\n /**\n * Load responsibilities by IDs\n */\n private async loadResponsibilitiesByIds(ids: string[]): Promise<void> {\n try {\n const responsibilities: AXMOrganizationManagementResponsibilityEntityModel[] = [];\n\n for (const id of ids) {\n try {\n const responsibility = await this.responsibilityDataAccessor.byKey(id);\n if (responsibility) {\n responsibilities.push(responsibility);\n }\n } catch (error) {\n console.error(`Error loading responsibility ${id}:`, error);\n }\n }\n\n this.selectedResponsibilities.set(responsibilities);\n } catch (error) {\n console.error('Error loading responsibilities by IDs:', error);\n }\n }\n\n //#endregion\n\n //#region ---- Data Transformation Methods ----\n\n /**\n * Convert spreadsheet rows back to matrix data format\n */\n private convertSpreadsheetRowsToMatrixData(rows: Record<string, any>[]): AXPSpreadsheetData {\n const horizontalTitles = this.horizontalTitles();\n const matrixData: AXPSpreadsheetData = {};\n\n rows.forEach((row) => {\n const responsibilityId = row['name']; // Row identifier (responsibility ID)\n if (!responsibilityId) {\n return;\n }\n\n matrixData[responsibilityId] = {};\n\n // Extract cell values for each column\n horizontalTitles.forEach((title) => {\n const cellValue = row[title.id] ?? null;\n matrixData[responsibilityId][title.id] = cellValue;\n });\n });\n\n return matrixData;\n }\n\n //#endregion\n\n //#region ---- Event Handlers ----\n\n /**\n * Handle spreadsheet change event - convert to matrix format\n */\n protected handleSpreadsheetChange(rows: Record<string, any>[]): void {\n const matrixData = this.convertSpreadsheetRowsToMatrixData(rows);\n this.valueChange.emit(matrixData);\n\n // Extract responsibility IDs from row names and emit\n const responsibilityIds = rows.map((row) => row['name']).filter((id) => id != null);\n this.responsibilityIdsChange.emit(responsibilityIds);\n }\n\n /**\n * Handle cell change event from spreadsheet\n */\n protected handleCellChange(event: AXPSpreadsheetCellChangeEvent): void {\n this.cellChange.emit(event);\n }\n\n /**\n * Open responsibility selector dialog\n */\n protected async handleSelectResponsibilities(): Promise<void> {\n const entityDef = this.responsibilityEntityDef();\n if (!entityDef) {\n console.error('Responsibility entity definition not loaded');\n return;\n }\n\n try {\n // Get currently selected responsibility IDs\n const selectedItemIds = this.selectedResponsibilities()\n .map((responsibility) => responsibility.id)\n .filter((id) => id != null);\n\n const result = await this.entityDataSelectorService.open({\n entity: entityDef,\n title: 'Select Responsibilities',\n allowMultiple: true,\n selectedItemIds: selectedItemIds.length > 0 ? selectedItemIds : undefined,\n });\n\n if (result && result.items && result.items.length > 0) {\n // Update selected responsibilities\n this.selectedResponsibilities.set(result.items);\n // Emit responsibility IDs change\n const responsibilityIds = result.items.map((item) => item.id).filter((id) => id != null);\n this.responsibilityIdsChange.emit(responsibilityIds);\n }\n } catch (error) {\n console.error('Error opening responsibility selector:', error);\n }\n }\n\n /**\n * Remove a responsibility from selection\n */\n protected handleRemoveResponsibility(responsibilityId: string): void {\n const currentResponsibilities = this.selectedResponsibilities();\n const updatedResponsibilities = currentResponsibilities.filter(\n (responsibility) => responsibility.id !== responsibilityId,\n );\n this.selectedResponsibilities.set(updatedResponsibilities);\n\n // Remove responsibility data from matrix value\n const currentMatrixData = this.value();\n const updatedMatrixData = { ...currentMatrixData };\n delete updatedMatrixData[responsibilityId];\n\n // Emit updated matrix data\n this.valueChange.emit(updatedMatrixData);\n\n // Emit responsibility IDs change\n const responsibilityIds = updatedResponsibilities.map((r) => r.id).filter((id) => id != null);\n this.responsibilityIdsChange.emit(responsibilityIds);\n }\n\n /**\n * Handle row change event from spreadsheet (add/remove)\n */\n protected handleRowChange(event: AXPSpreadsheetRowChangeEvent): void {\n if (event.type === 'remove') {\n // Remove responsibility from selection\n this.handleRemoveResponsibility(event.rowId);\n }\n // Note: 'add' type shouldn't happen in fixed mode, but if it does, we can handle it here\n }\n\n //#endregion\n}\n\n//#endregion\n","<div class=\"__container\">\n <div class=\"__matrix-section\">\n <div class=\"__matrix-header ax-sm\">\n @if (!readonly()) {\n <ax-button color=\"primary\"\n [text]=\"'@organization-management:job-definitions.components.responsibilities-matrix.actions.choose-responsibilities.title' | translate | async\"\n (onClick)=\"handleSelectResponsibilities()\" [disabled]=\"isLoadingResponsibilityEntity()\">\n <ax-icon icon=\"far fa-plus\"></ax-icon>\n </ax-button>\n }\n </div>\n @if (isLoading()) {\n <div class=\"__loading\">\n <span>{{ '@organization-management:job-definitions.components.responsibilities-matrix.messages.loading-responsibility-levels' | translate | async\n }}</span>\n </div>\n } @else {\n <axp-spreadsheet [title]=\"'Responsibility / Level'\" [columns]=\"spreadsheetColumns()\" [rowsInput]=\"spreadsheetRows()\"\n [rowMode]=\"'fixed'\" [readonly]=\"readonly()\" [allowRemoveRows]=\"true\" [rowTitlePath]=\"'_responsibilityTitle'\"\n [rowDescriptionPath]=\"'_responsibilityDescription'\" (cellChange)=\"handleCellChange($event)\"\n (spreadsheetChange)=\"handleSpreadsheetChange($event)\" (rowChange)=\"handleRowChange($event)\"></axp-spreadsheet>\n }\n </div>\n</div>\n"],"names":["i4"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export { c as AXMOrgChartCategory, A as AXMOrgChartNodeType, b as AXMOrgChartStructureRefreshHub, k as AXMOrganizationManagementModule, l as AXM_ORG_CHART_COMMUNICATION_SUBMENU_GROUP_ID, m as AXM_ORG_CHART_COMMUNICATION_SUBMENU_ICON, o as AXM_ORG_CHART_COMMUNICATION_SUBMENU_TITLE_I18N_KEY, d as AXM_ORG_CHART_EMPLOYEE_SUBMENU_GROUP_ID, f as AXM_ORG_CHART_EMPLOYEE_SUBMENU_ICON, g as AXM_ORG_CHART_EMPLOYEE_SUBMENU_TITLE_I18N_KEY, j as AXM_ORG_CHART_LAYOUT_SUBMENU_GROUP_ID, h as AXM_ORG_CHART_LAYOUT_SUBMENU_ICON, i as AXM_ORG_CHART_LAYOUT_SUBMENU_TITLE_I18N_KEY, a as AXM_ORG_CHART_NODE_CONTRIBUTOR, e as axmResolveOrgChartFlyoutEmployeeId } from './acorex-platform-module-organization-management-client-acorex-platform-module-organization-management-client-ZM6X7IDO.mjs';
1
+ export { c as AXMOrgChartCategory, A as AXMOrgChartNodeType, b as AXMOrgChartStructureRefreshHub, k as AXMOrganizationManagementModule, l as AXM_ORG_CHART_COMMUNICATION_SUBMENU_GROUP_ID, m as AXM_ORG_CHART_COMMUNICATION_SUBMENU_ICON, o as AXM_ORG_CHART_COMMUNICATION_SUBMENU_TITLE_I18N_KEY, d as AXM_ORG_CHART_EMPLOYEE_SUBMENU_GROUP_ID, f as AXM_ORG_CHART_EMPLOYEE_SUBMENU_ICON, g as AXM_ORG_CHART_EMPLOYEE_SUBMENU_TITLE_I18N_KEY, j as AXM_ORG_CHART_LAYOUT_SUBMENU_GROUP_ID, h as AXM_ORG_CHART_LAYOUT_SUBMENU_ICON, i as AXM_ORG_CHART_LAYOUT_SUBMENU_TITLE_I18N_KEY, a as AXM_ORG_CHART_NODE_CONTRIBUTOR, e as axmResolveOrgChartFlyoutEmployeeId } from './acorex-platform-module-organization-management-client-acorex-platform-module-organization-management-client-BCtoUvYP.mjs';
2
2
  //# sourceMappingURL=acorex-platform-module-organization-management-client.mjs.map
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@acorex-platform/module-organization-management-client",
3
- "version": "0.0.38",
3
+ "version": "0.0.46",
4
4
  "sideEffects": false,
5
5
  "peerDependencies": {
6
- "@acorex-platform/module-human-capital-management-client": "0.0.38",
6
+ "@acorex-platform/module-human-capital-management-client": "0.0.46",
7
7
  "@angular/common": "^21.0.0 || ^22.0.0",
8
8
  "@angular/core": "^21.0.0 || ^22.0.0"
9
9
  },
@@ -1,4 +1,4 @@
1
- import { AXPMultiLanguageString, AXPEntityReference, AXPSpreadsheetData, AXPCategoryListItem } from '@acorex-platform/framework-shared/core';
1
+ import { AXPMultiLanguageString, AXPModuleManifest, AXPEntityReference, AXPSpreadsheetData, AXPCategoryListItem } from '@acorex-platform/framework-shared/core';
2
2
  import { AXPEntityModel } from '@acorex-platform/framework-shared/entity';
3
3
 
4
4
  /**
@@ -319,6 +319,12 @@ declare const RootConfig: {
319
319
  };
320
320
  };
321
321
 
322
+ /**
323
+ * Organization Management Module Manifest.
324
+ * Defines module metadata, features, and provider references.
325
+ */
326
+ declare const OrganizationManagementManifest: AXPModuleManifest;
327
+
322
328
  interface AXMOrganizationManagementBusinessUnitEntityModel extends AXPEntityModel<string> {
323
329
  code: string;
324
330
  title: AXPMultiLanguageString;
@@ -508,5 +514,5 @@ interface AXMOrganizationManagementTeamMemberRoleEntityModel extends AXPEntityMo
508
514
  title: AXPMultiLanguageString;
509
515
  }
510
516
 
511
- export { AXMOrganizationManagementCommandKeys, AXMOrganizationManagementServerCommands, AXM_HCM_POSITION_ASSIGNMENT_ASSIGN_COMMAND, AXM_HCM_POSITION_ASSIGNMENT_REVOKE_COMMAND, AXM_ORG_CHART_STRUCTURE_SCHEMA_VERSION, AXPOrganizationManagementFeatureKeys, AXPOrganizationManagementMenuKeys, AXPOrganizationManagementPermissionKeys, AXPOrganizationManagementSettings, AXPPeopleOrganizationPermissionKeys, AXP_ORGANIZATION_COPYRIGHT_TEXT_DEFAULT, COMPANY_EMAIL_ORG_SETTING_KEYS, JOB_DEFINITION_RESPONSIBILITIES_PAGE_COMPONENT_KEY, JOB_DEFINITION_SKILLS_PAGE_COMPONENT_KEY, RootConfig, buildCompanyEmailMergeDefaults, buildCompanyEmailMergeFromOrganization, buildCompanyLogoFileDownloadPath, configureOrgChartMergedBusinessUnitId, extractCompanyLogoFileId, getOrgChartMergedBusinessUnitId };
517
+ export { AXMOrganizationManagementCommandKeys, AXMOrganizationManagementServerCommands, AXM_HCM_POSITION_ASSIGNMENT_ASSIGN_COMMAND, AXM_HCM_POSITION_ASSIGNMENT_REVOKE_COMMAND, AXM_ORG_CHART_STRUCTURE_SCHEMA_VERSION, AXPOrganizationManagementFeatureKeys, AXPOrganizationManagementMenuKeys, AXPOrganizationManagementPermissionKeys, AXPOrganizationManagementSettings, AXPPeopleOrganizationPermissionKeys, AXP_ORGANIZATION_COPYRIGHT_TEXT_DEFAULT, COMPANY_EMAIL_ORG_SETTING_KEYS, JOB_DEFINITION_RESPONSIBILITIES_PAGE_COMPONENT_KEY, JOB_DEFINITION_SKILLS_PAGE_COMPONENT_KEY, OrganizationManagementManifest, RootConfig, buildCompanyEmailMergeDefaults, buildCompanyEmailMergeFromOrganization, buildCompanyLogoFileDownloadPath, configureOrgChartMergedBusinessUnitId, extractCompanyLogoFileId, getOrgChartMergedBusinessUnitId };
512
518
  export type { AXMOrgChartStructurePayload, AXMOrganizationManagementBusinessUnitEntityModel, AXMOrganizationManagementBusinessUnitTypeEntityModel, AXMOrganizationManagementChartEntityModel, AXMOrganizationManagementChartNodeEntityModel, AXMOrganizationManagementCompanyEntityModel, AXMOrganizationManagementJobDefinitionEntityModel, AXMOrganizationManagementJobLevelEntityModel, AXMOrganizationManagementPositionEntityModel, AXMOrganizationManagementResponsibilityEntityModel, AXMOrganizationManagementResponsibilityLevelEntityModel, AXMOrganizationManagementTeamBusinessUnitEntityModel, AXMOrganizationManagementTeamEntityModel, AXMOrganizationManagementTeamMemberEntityModel, AXMOrganizationManagementTeamMemberRoleEntityModel, BuildCompanyEmailMergeInput, CompanyEmailTenantSnapshot };
@@ -1 +0,0 @@
1
- {"version":3,"file":"acorex-platform-module-organization-management-client-acorex-platform-module-organization-management-client-ZM6X7IDO.mjs","sources":["../../../../libs/modules/organization-management/client/src/lib/features/organization-chart/model/org-chart.type.ts","../../../../libs/modules/organization-management/client/src/lib/features/organization-chart/utils/org-chart-resolve-flyout-employee-id.util.ts","../../../../libs/modules/organization-management/client/src/lib/features/organization-chart/constants/org-chart-employee-submenu.const.ts","../../../../libs/modules/organization-management/client/src/lib/features/organization-chart/constants/org-chart-layout-submenu.const.ts","../../../../libs/modules/organization-management/client/src/lib/features/organization-chart/constants/org-chart-communication-submenu.const.ts","../../../../libs/modules/organization-management/client/src/lib/features/organization-chart/tokens/org-chart-node-contribution.token.ts","../../../../libs/modules/organization-management/client/src/lib/features/organization-chart/model/org-chart-structure-refresh.hub.ts","../../../../libs/modules/organization-management/client/src/lib/features/organization-chart/ui/org-chart-user-ui.helper.ts","../../../../libs/modules/organization-management/client/src/lib/features/organization-chart/ui/org-chart-ui.resolver.ts","../../../../libs/modules/organization-management/client/src/lib/manifest.ts","../../../../libs/modules/organization-management/client/src/lib/features/responsibilities-matrix/responsibilities-matrix-widget.config.ts","../../../../libs/modules/organization-management/client/src/lib/widget-definition.provider.ts","../../../../libs/modules/organization-management/client/src/lib/features/organization-chart/organization-chart.module.ts","../../../../libs/modules/organization-management/client/src/lib/organization-management.module.ts","../../../../libs/modules/organization-management/client/src/acorex-platform-module-organization-management-client.ts"],"sourcesContent":["/**\n * Chart node data types for organization chart.\n */\nimport type { AXPEntityReference, AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n\n/**\n * Chart nodes use {@link AXPMultiLanguageString} for every user-visible string on the card\n * (`title`, `subtitle`, `description`) so stored chart JSON and the UI respect locale.\n *\n * - Prefer **locale maps** `{ 'en-US': '…', 'fa-IR': '…' }` (see `createMultiLanguageString` in platform core).\n * - A **plain string** is allowed as a narrow fallback; the resolver treats it as the value for any locale.\n * - **`metadata`** fields that are shown in templates must also be `AXPMultiLanguageString` (or plain string\n * with the same rules), not English-only literals baked into feature code.\n */\nexport enum AXMOrgChartNodeType {\n Company = 'Company',\n BusinessUnit = 'BusinessUnit',\n Position = 'Position',\n Employee = 'Employee',\n}\n\n/** Card layout for organizational (and compatible geographic) charts — see README merging strategy. */\nexport type AXMOrgChartCardTemplate =\n | 'merged-executive'\n | 'merged-unit'\n | 'merged-manager'\n | 'position-ic'\n | 'employee-card'\n | 'compact';\n\n/** Structured head / CEO block for merged cards; `positionTitle` is always localized. */\nexport interface AXMOrgChartMergedRoleBlock {\n positionTitle: AXPMultiLanguageString;\n positionId?: string;\n employeeName?: string;\n employeeId?: string;\n vacant: boolean;\n}\n\n// Minimal high-level categories for rendering/legend only\nexport enum AXMOrgChartCategory {\n Company = 'Company',\n BusinessUnit = 'BusinessUnit',\n Position = 'Position',\n Employee = 'Employee',\n}\n\n/** User-selectable hierarchy chart view in the organization chart page. */\nexport type OrgChartMode = 'location' | 'structure' | 'reporting' | 'positionHierarchy';\n\nexport interface AXMOrganizationNode {\n id: string; // Unique identifier for the node\n /** Primary label; must be multi-language when content is not a proper name. */\n title: AXPMultiLanguageString;\n /** Secondary line (e.g. head summary); use locale map when mixing labels and entity titles. */\n subtitle?: AXPMultiLanguageString;\n /** Body / mission text. */\n description?: AXPMultiLanguageString;\n isExpanded?: boolean; // Add this property\n children?: AXMOrganizationNode[];\n icon?: string;\n type?: AXMOrgChartNodeType; // Type of the node\n parentId?: string | null; // ID of the parent node (null for root)\n entity?: AXPEntityReference;\n /** Rich card data; any **display** field here should use `AXPMultiLanguageString` like the core node fields. */\n metadata?: Record<string, any>;\n}\n\n/**\n * Pill badge on org chart node cards (icon + label). {@link title} is translated in the template.\n */\nexport interface AXMOrgChartNodeBadgeItem {\n /** Font Awesome class segment (e.g. `fa-light fa-building`). */\n icon: string;\n title: AXPMultiLanguageString;\n}\n\n/**\n * Footer metric cell: icon, numeric or short value, and translated label.\n */\nexport interface AXMOrgChartNodeFooterMetric {\n icon: string;\n /** Plain display value (formatted number or short text). */\n value: string;\n title: AXPMultiLanguageString;\n}\n","//#region ---- Imports ----\n\nimport { AXMOrgChartNodeContributionContext } from '../tokens/org-chart-node-contribution.token';\n\n//#endregion\n\nconst HCM_EMPLOYEE_SOURCE = 'HumanCapitalManagement.Employee';\n\n//#region ---- Resolve flyout employee ----\n\n/**\n * Employee id for org chart **Employee** flyout actions: card occupant, unit head, top role, or an `employee` node.\n * Returns undefined when the seat is vacant or no person is linked.\n */\nexport function axmResolveOrgChartFlyoutEmployeeId(\n context: AXMOrgChartNodeContributionContext,\n): string | undefined {\n if (context.nodeKind === 'employee') {\n const entity = context.node.entity;\n if (entity?.id != null && axmIsEmployeeEntityType(entity.type)) {\n const id = String(entity.id).trim();\n return id.length > 0 ? id : undefined;\n }\n return undefined;\n }\n\n if (context.nodeKind === 'company-root') {\n const topRole = context.node.metadata?.['topRole'] as Record<string, unknown> | undefined;\n if (!topRole || topRole['vacant'] === true) {\n return undefined;\n }\n const raw = topRole['employeeId'];\n return typeof raw === 'string' && raw.trim().length > 0 ? raw.trim() : undefined;\n }\n\n if (context.nodeKind === 'business-unit') {\n const unitHead = context.node.metadata?.['unitHead'] as Record<string, unknown> | undefined;\n if (!unitHead || unitHead['vacant'] === true) {\n return undefined;\n }\n const raw = unitHead['employeeId'];\n return typeof raw === 'string' && raw.trim().length > 0 ? raw.trim() : undefined;\n }\n\n if (context.nodeKind === 'position') {\n if (context.node.metadata?.['vacant'] === true) {\n return undefined;\n }\n const occ = context.node.metadata?.['occupant'] as Record<string, unknown> | undefined;\n const raw = occ?.['employeeId'];\n return typeof raw === 'string' && raw.trim().length > 0 ? raw.trim() : undefined;\n }\n\n return undefined;\n}\n\nfunction axmIsEmployeeEntityType(entityType: string | undefined): boolean {\n if (!entityType || typeof entityType !== 'string') {\n return false;\n }\n return entityType === HCM_EMPLOYEE_SOURCE || entityType.endsWith('.Employee');\n}\n\n//#endregion\n","//#region ---- Org chart: employee flyout (assigned person + employee nodes) ----\n\n/**\n * Stable {@link AXMOrgChartNodeMenuAction.submenuGroupId} for actions that target the person on a card\n * (chief executive, unit head, seat occupant) or the {@link AXMOrgChartNodeKind} `employee` node itself.\n * Private chat/email move here from the Communication group.\n */\nexport const AXM_ORG_CHART_EMPLOYEE_SUBMENU_GROUP_ID =\n 'organization-management.org-chart.employee-submenu' as const;\n\n/**\n * i18n key: `organization-chart.employee-submenu.title` in `organization-management` assets.\n */\nexport const AXM_ORG_CHART_EMPLOYEE_SUBMENU_TITLE_I18N_KEY =\n '@organization-management:organization-chart.employee-submenu.title' as const;\n\nexport const AXM_ORG_CHART_EMPLOYEE_SUBMENU_ICON = 'fa-light fa-user' as const;\n\n//#endregion\n","//#region ---- Org chart: view / layout flyout ----\n\n/**\n * Stable {@link AXMOrgChartNodeMenuAction.submenuGroupId} for panel toggle and branch expand/collapse.\n */\nexport const AXM_ORG_CHART_LAYOUT_SUBMENU_GROUP_ID =\n 'organization-management.org-chart.layout-submenu' as const;\n\n/**\n * i18n key: `organization-chart.layout-submenu.title` in `organization-management` assets.\n */\nexport const AXM_ORG_CHART_LAYOUT_SUBMENU_TITLE_I18N_KEY =\n '@organization-management:organization-chart.layout-submenu.title' as const;\n\nexport const AXM_ORG_CHART_LAYOUT_SUBMENU_ICON = 'fa-light fa-sidebar' as const;\n\n//#endregion\n","//#region ---- Org chart: shared communication flyout ----\n\n/**\n * Stable {@link AXMOrgChartNodeMenuAction.submenuGroupId} so chat and email extensions merge\n * their org-chart context actions under one parent flyout.\n */\nexport const AXM_ORG_CHART_COMMUNICATION_SUBMENU_GROUP_ID =\n 'organization-management.org-chart.communication-submenu' as const;\n\n/**\n * i18n key for the flyout parent label (`apps/.../organization-management.json`:\n * `organization-chart.communication-submenu.title`).\n */\nexport const AXM_ORG_CHART_COMMUNICATION_SUBMENU_TITLE_I18N_KEY =\n '@organization-management:organization-chart.communication-submenu.title' as const;\n\n/** Parent row icon when actions from multiple modules supply the same group id. */\nexport const AXM_ORG_CHART_COMMUNICATION_SUBMENU_ICON = 'fa-light fa-comments' as const;\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXStyleColorType } from '@acorex/cdk/common';\nimport { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\nimport { InjectionToken } from '@angular/core';\nimport type { AXMOrgChartHostApi } from './org-chart-host.token';\nimport { AXMOrganizationNode } from '../model/org-chart.type';\n\n//#endregion\n\n//#region ---- Types ----\n\nexport type AXMOrgChartNodeKind = 'company-root' | 'business-unit' | 'position' | 'employee' | 'other';\n\n/** Section separator for org chart context menu rows built from {@link AXMOrgChartNodeMenuAction}. */\nexport type AXMOrgChartNodeMenuBreak = 'before' | 'after' | 'both';\n\nexport interface AXMOrgChartNodeContributionContext {\n node: AXMOrganizationNode;\n nodeKind: AXMOrgChartNodeKind;\n selectedMode: 'location' | 'structure' | 'reporting' | 'positionHierarchy';\n refreshChart: () => Promise<void>;\n /** Page host (detail panel, branch expand/collapse, selection). */\n host: AXMOrgChartHostApi;\n}\n\nexport interface AXMOrgChartNodeMenuAction {\n id: string;\n /** i18n key (`@scope:...`) or {@link AXPMultiLanguageString} locale map (`ax-menu-item` pipes `translate` without forwarding params — use maps for interpolated copy). */\n title: string | AXPMultiLanguageString;\n /** Interpolation helper for contributors; the org chart host does not pipe params into menu `translate` (use `title` maps). */\n titleParams?: Record<string, string | number>;\n icon?: string;\n color?: AXStyleColorType;\n order?: number;\n disabled?: boolean;\n /**\n * Section separator for this row (and for `submenuGroupId` buckets: `before` / `after` / `both` also move the\n * parent flyout's separator relative to siblings). `before` is implemented by setting `AXMenuItem.break` on the\n * **previous** sibling at the same level (no-op when first).\n */\n break?: AXMOrgChartNodeMenuBreak;\n /**\n * Adds a separator after this row. Applies at any menu level (including root when a `submenuGroupId` flyout is\n * flattened, e.g. Employee actions on an employee node). Does not set the parent bucket's trailing break; use\n * {@link break} `after` / `both` on a member when the parent flyout row should also end a section.\n */\n submenuSectionBreak?: boolean;\n /**\n * When true, nested under the chart **Add …** submenu (business unit kinds, add position, and similar).\n */\n nestedInAddFlyout?: boolean;\n /**\n * Optional flyout: actions that share the same `submenuGroupId` render as children of one parent row.\n * Use the same `submenuGroupTitle` for every member; `submenuGroupIcon` may be set on any member (first wins).\n * On grouped members: {@link break} `after` / `both` adds a line inside the flyout below that child and sets the\n * parent row's section break after the flyout; `before` / `both` on any member adds a line before the parent row\n * (previous top-level sibling gets `break`). Use {@link submenuSectionBreak} for a separator after that child\n * without affecting the parent bucket's trailing break.\n * Cross-module chat + email on the org chart should use the communication constants in\n * `org-chart-communication-submenu.const.ts` (`AXM_ORG_CHART_COMMUNICATION_SUBMENU_GROUP_ID`, title key, icon).\n */\n submenuGroupId?: string;\n submenuGroupTitle?: string | AXPMultiLanguageString;\n submenuGroupIcon?: string;\n execute: (context: AXMOrgChartNodeContributionContext) => Promise<void>;\n}\n\nexport interface AXMOrgChartNodeInfoContribution {\n id: string;\n title: AXPMultiLanguageString;\n order?: number;\n load: (context: AXMOrgChartNodeContributionContext) => Promise<unknown>;\n}\n\nexport interface AXMOrgChartNodeContributionProvider {\n getMenuActions(context: AXMOrgChartNodeContributionContext): Promise<AXMOrgChartNodeMenuAction[]>;\n getInfoContributions?(context: AXMOrgChartNodeContributionContext): Promise<AXMOrgChartNodeInfoContribution[]>;\n}\n\n/**\n * One multi-provider slot: an eager instance or a promise from a lazy provider factory (`provideLazyProvider`).\n */\nexport type AXMOrgChartNodeContributorRef =\n | AXMOrgChartNodeContributionProvider\n | Promise<AXMOrgChartNodeContributionProvider>;\n\n//#endregion\n\n//#region ---- Tokens ----\n\nexport const AXM_ORG_CHART_NODE_CONTRIBUTOR = new InjectionToken<AXMOrgChartNodeContributorRef>(\n 'AXM_ORG_CHART_NODE_CONTRIBUTOR',\n);\n\n//#endregion\n","import { Injectable, signal } from '@angular/core';\n\n/**\n * Broadcasts when persisted org chart structure was rebuilt (server regen or optional client listener template).\n * The chart page reloads from storage when {@link structureDataRevision} increments.\n */\n@Injectable({ providedIn: 'root' })\nexport class AXMOrgChartStructureRefreshHub {\n private readonly revision = signal(0);\n\n readonly structureDataRevision = this.revision.asReadonly();\n\n notifyStructureRebuilt(): void {\n this.revision.update((v) => v + 1);\n }\n}\n","import type { OrgChartMode } from '../model/org-chart.type';\n\n/**\n * Chart mode + vacant-seat visibility restored from user settings (route resolver or post-load hydrate).\n */\nexport interface OrgChartHydratedUiPrefs {\n selectedMode?: OrgChartMode;\n showVacantLeafSeats?: boolean;\n}\n\nexport function parseOrgChartMode(value: unknown): OrgChartMode | undefined {\n if (\n value === 'structure' ||\n value === 'location' ||\n value === 'reporting' ||\n value === 'positionHierarchy'\n ) {\n return value;\n }\n return undefined;\n}\n\n/**\n * Normalizes vacant-toggle values from persisted settings or UI widgets (some paths use strings).\n */\nexport function normalizeVacantLeafSeatsSetting(value: unknown): boolean | undefined {\n if (value === true || value === 1) {\n return true;\n }\n if (value === false || value === 0) {\n return false;\n }\n if (typeof value === 'string') {\n const s = value.trim().toLowerCase();\n if (s === 'true' || s === '1' || s === 'yes' || s === 'on') {\n return true;\n }\n if (s === 'false' || s === '0' || s === 'no' || s === 'off') {\n return false;\n }\n }\n return undefined;\n}\n","import { inject } from '@angular/core';\nimport { ResolveFn } from '@angular/router';\nimport { AXPSettingsService } from '@acorex-platform/framework-client/common';\nimport { AXPPlatformScope } from '@acorex-platform/framework-shared/core';\nimport { AXPOrganizationManagementSettings } from '@acorex-platform/module-organization-management-client/contracts';\nimport {\n normalizeVacantLeafSeatsSetting,\n type OrgChartHydratedUiPrefs,\n parseOrgChartMode,\n} from './org-chart-user-ui.helper';\n\n/**\n * Loads user chart UI preferences before {@link AXMOrgChartPage} is created so the first render matches saved state.\n */\nexport const orgChartUiPrefsResolver: ResolveFn<OrgChartHydratedUiPrefs> = async () => {\n const settingsService = inject(AXPSettingsService);\n await settingsService.load();\n\n const userScope = settingsService.scope(AXPPlatformScope.User);\n const modeRaw = await userScope.get<string | undefined>(\n AXPOrganizationManagementSettings.HierarchyChartMode,\n );\n const vacantRaw = await userScope.get<unknown>(\n AXPOrganizationManagementSettings.HierarchyChartShowVacantLeafSeats,\n );\n\n const prefs: OrgChartHydratedUiPrefs = {};\n const mode = parseOrgChartMode(modeRaw);\n if (mode !== undefined) {\n prefs.selectedMode = mode;\n }\n const vacant = normalizeVacantLeafSeatsSetting(vacantRaw);\n if (vacant !== undefined) {\n prefs.showVacantLeafSeats = vacant;\n }\n return prefs;\n};\n","//#region ---- Imports ----\n\nimport { AXPModuleManifest } from '@acorex-platform/framework-client/core';\nimport { RootConfig } from '@acorex-platform/module-organization-management-client/contracts';\n\n//#endregion\n\n//#region ---- Manifest Definition ----\n\n/**\n * Organization Management Module Manifest.\n * Defines module metadata, features, and provider references.\n */\nexport const OrganizationManagementManifest: AXPModuleManifest = {\n name: RootConfig.module.name,\n version: '1.0.0',\n title: RootConfig.module.title,\n icon: RootConfig.module.icon,\n i18n: RootConfig.config.i18n,\n\n type: 'platform',\n domain: 'platform',\n // LearningManagement is optional (job-definition skills page). Do not list it as a\n // hard dependency — feature resolution would auto-enable Learning for every tenant\n // that has OrganizationManagement (e.g. Safetyminder without Learning).\n};\n\n//#endregion\n\n","import { AXPWidgetConfig, AXPWidgetGroupEnum } from '@acorex-platform/framework-shared/widget-core';\nimport { AXP_WIDGETS_EDITOR_CATEGORY } from '@acorex-platform/framework-client/layout/widget-core';\nimport { AXP_DATA_PATH_PROPERTY, AXP_DISABLED_PROPERTY, AXP_LABEL_PROPERTY, AXP_NAME_PROPERTY, AXP_READONLY_PROPERTY } from '@acorex-platform/framework-client/layout/widgets';\n\nexport const AXMResponsibilitiesMatrixWidget: AXPWidgetConfig<AXMResponsibilitiesMatrixWidgetConfigType> = {\n name: 'responsibilities-matrix-editor',\n title: 'Responsibilities Matrix',\n categories: AXP_WIDGETS_EDITOR_CATEGORY,\n groups: [AXPWidgetGroupEnum.UtilityWidget],\n description: 'Matrix widget for managing responsibility levels',\n icon: 'fa-light fa-table',\n type: 'editor',\n options: {\n needLabel: false,\n },\n properties: [\n AXP_NAME_PROPERTY,\n AXP_DATA_PATH_PROPERTY,\n AXP_LABEL_PROPERTY,\n AXP_READONLY_PROPERTY,\n AXP_DISABLED_PROPERTY,\n ],\n components: {\n view: {\n component: () => import('./responsibilities-matrix-widget-view.component').then((c) => c.AXMResponsibilitiesMatrixWidgetViewComponent),\n },\n edit: {\n component: () => import('./responsibilities-matrix-widget-edit.component').then((c) => c.AXMResponsibilitiesMatrixWidgetEditComponent),\n },\n column: {\n component: () => import('./responsibilities-matrix-widget-column.component').then((c) => c.AXMResponsibilitiesMatrixWidgetColumnComponent),\n },\n },\n};\n\nexport type AXMResponsibilitiesMatrixWidgetConfigType = {\n type: 'editor';\n};\n\n","//#region ---- Imports ----\n\nimport { AXPWidgetDefinitionProvider } from '@acorex-platform/framework-client/layout/widget-core';\nimport { Injectable } from '@angular/core';\nimport { AXMResponsibilitiesMatrixWidget } from './features/responsibilities-matrix/responsibilities-matrix-widget.config';\n\n//#endregion\n\n//#region ---- Organization Management Widgets Provider ----\n\n@Injectable()\nexport class AXMOrganizationManagementWidgetsProvider implements AXPWidgetDefinitionProvider {\n getWidgets() {\n return [AXMResponsibilitiesMatrixWidget];\n }\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { provideCommand } from '@acorex-platform/framework-client/runtime';\nimport { provideLazyProvider } from '@acorex-platform/framework-client/core';\n\nimport { NgModule } from '@angular/core';\nimport { AXMOrganizationManagementCommandKeys } from '@acorex-platform/module-organization-management-client/contracts';\n// import {\n// AXM_ORG_CHART_EVENT_LISTENER_GENERATE_PROVIDER,\n// AXM_ORG_CHART_EVENT_LISTENER_RELOAD_PROVIDER,\n// } from './listeners/org-chart-event.listener';\nimport { AXM_ORG_CHART_NODE_CONTRIBUTOR } from './tokens/org-chart-node-contribution.token';\n\n//#endregion\n\n//#region ---- NgModule ----\n\n/**\n * Registers organization chart node contributors and chart-scoped commands for Organization Management.\n */\n@NgModule({\n providers: [\n // AXM_ORG_CHART_EVENT_LISTENER_GENERATE_PROVIDER,\n // AXM_ORG_CHART_EVENT_LISTENER_RELOAD_PROVIDER,\n provideLazyProvider(AXM_ORG_CHART_NODE_CONTRIBUTOR, () =>\n import('./contributions/org-chart-default-node-contribution.provider').then(\n (m) => m.AXMOrgChartDefaultNodeContributionProvider,\n ),\n ),\n provideLazyProvider(AXM_ORG_CHART_NODE_CONTRIBUTOR, () =>\n import('./contributions/org-chart-position-employee-node-contribution.provider').then(\n (m) => m.AXMOrgChartPositionEmployeeNodeContributionProvider,\n ),\n ),\n provideLazyProvider(AXM_ORG_CHART_NODE_CONTRIBUTOR, () =>\n import('./contributions/org-chart-employee-flyout-contribution.provider').then(\n (m) => m.AXMOrgChartEmployeeFlyoutContributionProvider,\n ),\n ),\n provideLazyProvider(AXM_ORG_CHART_NODE_CONTRIBUTOR, () =>\n import('./contributions/org-chart-ux-node-contribution.provider').then(\n (m) => m.AXMOrgChartUxNodeContributionProvider,\n ),\n ),\n provideCommand(AXMOrganizationManagementCommandKeys.OrganizationChart.Generate, () =>\n import('./commands/generate-org-chart.command').then((m) => m.AXMGenerateOrgChartCommand),\n ),\n provideCommand(AXMOrganizationManagementCommandKeys.OrganizationChart.AddPositionToBusinessUnit, () =>\n import('./commands/add-position-to-business-unit.command').then((m) => m.AXMAddPositionToBusinessUnitCommand),\n ),\n provideCommand(AXMOrganizationManagementCommandKeys.OrganizationChart.AddBusinessUnitToBusinessUnit, () =>\n import('./commands/add-business-unit-to-business-unit.command').then(\n (m) => m.AXMAddBusinessUnitToBusinessUnitCommand,\n ),\n ),\n provideCommand(AXMOrganizationManagementCommandKeys.OrganizationChart.AddTeamToBusinessUnit, () =>\n import('./commands/add-team-to-business-unit.command').then((m) => m.AXMAddTeamToBusinessUnitCommand),\n ),\n provideCommand(AXMOrganizationManagementCommandKeys.OrganizationChart.RemovePositionFromBusinessUnit, () =>\n import('./commands/remove-position-from-business-unit.command').then(\n (m) => m.AXMRemovePositionFromBusinessUnitCommand,\n ),\n ),\n provideCommand(AXMOrganizationManagementCommandKeys.OrganizationChart.ReplacePositionAssignee, () =>\n import('./commands/replace-position-assignee.command').then((m) => m.AXMReplacePositionAssigneeCommand),\n ),\n ],\n})\nexport class AXMOrganizationChartModule {}\n\n//#endregion\n","import { AXP_HOME_PAGES, AXP_MENU_PROVIDER, AXP_PROTECTED_ROUTE_GUARDS, AXP_SETTING_DEFINITION_PROVIDER } from '@acorex-platform/framework-client/common';\nimport { AXP_ENTITY_CONFIG_TOKEN } from '@acorex-platform/framework-client/layout/entity';\nimport {\n AXP_MODULE_MANIFEST_PROVIDER,\n AXP_FEATURE_DEFINITION_PROVIDER,\n provideLazyProvider,\n} from '@acorex-platform/framework-client/core';\nimport { orgChartUiPrefsResolver } from './features/organization-chart/ui/org-chart-ui.resolver';\nimport { OrganizationManagementManifest } from './manifest';\nimport { AXP_PERMISSION_DEFINITION_PROVIDER } from '@acorex-platform/framework-client/auth';\nimport { AXP_PAGE_COMPONENT_PROVIDER } from '@acorex-platform/framework-client/layout/components';\nimport { AXP_WIDGET_DEFINITION_PROVIDER, AXPWidgetCoreModule } from '@acorex-platform/framework-client/layout/widget-core';\nimport { CommonModule } from '@angular/common';\nimport { inject, NgModule } from '@angular/core';\nimport { Route, Routes, ROUTES } from '@angular/router';\nimport { AXMOrganizationManagementWidgetsProvider } from './widget-definition.provider';\nimport { AXMOrganizationChartModule } from './features/organization-chart/organization-chart.module';\n\nfunction routesFacory() {\n const config = inject(AXP_ENTITY_CONFIG_TOKEN);\n const routes: Routes = [\n {\n loadComponent: () => {\n return config.viewers.root();\n },\n path: ':app/organization',\n canActivate: [...AXP_PROTECTED_ROUTE_GUARDS],\n data: { rootLayout: true },\n children: [\n {\n path: 'chart',\n resolve: { orgChartUi: orgChartUiPrefsResolver },\n loadComponent: () => import('./features/organization-chart/page/org-chart.page').then((c) => c.AXMOrgChartPage),\n },\n ],\n },\n ];\n return routes;\n}\n\nfunction routesFactory(): Route {\n const config = inject(AXP_ENTITY_CONFIG_TOKEN);\n return {\n path: ':app/organization',\n loadComponent: () => {\n return config.viewers.root();\n },\n data: { rootLayout: true },\n children: [\n {\n path: 'chart',\n resolve: { orgChartUi: orgChartUiPrefsResolver },\n loadComponent: () => import('./features/organization-chart/page/org-chart.page').then((c) => c.AXMOrgChartPage),\n },\n ],\n };\n}\n\n@NgModule({\n imports: [\n CommonModule,\n AXPWidgetCoreModule,\n AXMOrganizationChartModule,\n ],\n providers: [\n // Module-specific providers (not part of manifest system)\n {\n provide: ROUTES,\n multi: true,\n useFactory: routesFacory,\n },\n\n // Module Manifest Provider\n {\n provide: AXP_MODULE_MANIFEST_PROVIDER,\n useValue: OrganizationManagementManifest,\n multi: true,\n },\n provideLazyProvider(AXP_PERMISSION_DEFINITION_PROVIDER, () =>\n import('./permission-definition.provider').then((m) => m.AXMPermissionDefinitionProvider),\n ),\n provideLazyProvider(AXP_MENU_PROVIDER, () => import('./menu.provider').then((m) => m.AXMMenuProvider)),\n \n provideLazyProvider(AXP_FEATURE_DEFINITION_PROVIDER, () =>\n import('./feature-definition.provider').then((m) => m.AXPOrganizationManagementFeatureDefinitionProvider),\n ),\n provideLazyProvider(AXP_PAGE_COMPONENT_PROVIDER, () =>\n import('./features/job-definition-pages/job-definition-pages-component.provider').then(\n (m) => m.AXMJobDefinitionPagesComponentProvider,\n ),\n ),\n provideLazyProvider(\n AXP_SETTING_DEFINITION_PROVIDER,\n () => import('./settings.provider').then((m) => m.AXMSettingProvider),\n ),\n // Widgets must register eagerly: lazy registration can resolve after entity forms bind,\n // so module editors like responsibilities-matrix-editor would not be found (blank UI).\n {\n provide: AXP_WIDGET_DEFINITION_PROVIDER,\n useClass: AXMOrganizationManagementWidgetsProvider,\n multi: true,\n },\n ],\n})\nexport class AXMOrganizationManagementModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"acorex-platform-module-organization-management-client-contracts-entity-catalog-business-unit-type.entity-BmhCZeXd.mjs","sources":["../../../../libs/modules/organization-management/contracts/src/entities/business-unit-type/business-unit-type.entity.ts"],"sourcesContent":["import { AXPWidgetsList } from '@acorex-platform/framework-shared/core';\nimport { AXPEntity, createAllQueryView, entityMasterCrudActions, entityMasterRecordActions } from '@acorex-platform/framework-shared/entity';\nimport { RootConfig } from '../../root-config';\n\nexport async function factoryBusinessUnitType(): Promise<AXPEntity | null> {\n const entityDef: AXPEntity = {\n module: RootConfig.module.name,\n name: RootConfig.entities.businessUnitType.name,\n title: '@organization-management:business-unit-types.entities.business-unit-type.title',\n icon: 'fa-light fa-tags',\n formats: {\n individual: '@organization-management:business-unit-types.entities.business-unit-type.title',\n plural: '@organization-management:business-unit-types.entities.business-unit-type.plural',\n searchResult: { title: '{{ title }}', description: RootConfig.module.title },\n },\n groups: [{ id: 'basic-info', title: '@general:terms.interface.basic-info' }],\n plugins: [{ name: 'color' }, { name: 'icon' }],\n properties: [\n {\n name: 'id',\n title: 'ID',\n groupId: 'basic-info',\n schema: { dataType: 'uuid', visible: false, nullable: false, readonly: true, unique: { enabled: true } },\n },\n {\n name: 'title',\n title: '@general:terms.common.title',\n groupId: 'basic-info',\n schema: {\n dataType: 'string',\n interface: { type: AXPWidgetsList.Editors.TextBox },\n },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'isLocationBased',\n title:\n '@organization-management:business-unit-types.entities.business-unit-type.fields.is-location-based.title',\n groupId: 'basic-info',\n schema: {\n dataType: 'boolean',\n interface: {\n type: AXPWidgetsList.Editors.ToggleSwitch,\n options: {\n trulyText: '@general:terms.common.yes-no.yes',\n falsyText: '@general:terms.common.yes-no.no',\n },\n },\n defaultValue: false,\n },\n },\n {\n name: 'allowsDirectPositions',\n title:\n '@organization-management:business-unit-types.entities.business-unit-type.fields.allows-direct-positions.title',\n groupId: 'basic-info',\n schema: {\n dataType: 'boolean',\n interface: {\n type: AXPWidgetsList.Editors.ToggleSwitch,\n options: {\n trulyText: '@general:terms.common.yes-no.yes',\n falsyText: '@general:terms.common.yes-no.no',\n },\n },\n defaultValue: true,\n },\n },\n ],\n columns: [\n { name: 'title' },\n { name: 'isLocationBased' },\n { name: 'allowsDirectPositions' },\n { name: 'color' },\n ],\n interfaces: {\n master: {\n create: {\n sections: [{ id: 'basic-info' }],\n properties: [\n {\n name: 'title',\n layout: {\n order: 1,\n positions: {\n sm: { colSpan: 12, order: 1 },\n md: { colSpan: 12, order: 1 },\n lg: { colSpan: 12, order: 1 },\n },\n },\n },\n {\n name: 'isLocationBased',\n layout: {\n order: 2,\n positions: {\n sm: { colSpan: 12, order: 2 },\n md: { colSpan: 6, order: 2 },\n lg: { colSpan: 6, order: 2 },\n },\n },\n },\n {\n name: 'allowsDirectPositions',\n layout: {\n order: 3,\n positions: {\n sm: { colSpan: 12, order: 3 },\n md: { colSpan: 6, order: 3 },\n lg: { colSpan: 6, order: 3 },\n },\n },\n },\n ],\n },\n update: {\n sections: [{ id: 'basic-info' }],\n properties: [\n {\n name: 'title',\n layout: {\n order: 1,\n positions: {\n sm: { colSpan: 12, order: 1 },\n md: { colSpan: 12, order: 1 },\n lg: { colSpan: 12, order: 1 },\n },\n },\n },\n {\n name: 'isLocationBased',\n layout: {\n order: 2,\n positions: {\n sm: { colSpan: 12, order: 2 },\n md: { colSpan: 6, order: 2 },\n lg: { colSpan: 6, order: 2 },\n },\n },\n },\n {\n name: 'allowsDirectPositions',\n layout: {\n order: 3,\n positions: {\n sm: { colSpan: 12, order: 3 },\n md: { colSpan: 6, order: 3 },\n lg: { colSpan: 6, order: 3 },\n },\n },\n },\n ],\n },\n single: {\n title: '{{title}}',\n sections: [{ id: 'basic-info' }],\n properties: [\n {\n name: 'title',\n layout: {\n order: 1,\n positions: {\n sm: { colSpan: 12, order: 1 },\n md: { colSpan: 12, order: 1 },\n lg: { colSpan: 12, order: 1 },\n },\n },\n },\n {\n name: 'isLocationBased',\n layout: {\n order: 2,\n positions: {\n sm: { colSpan: 12, order: 2 },\n md: { colSpan: 6, order: 2 },\n lg: { colSpan: 6, order: 2 },\n },\n },\n },\n {\n name: 'allowsDirectPositions',\n layout: {\n order: 3,\n positions: {\n sm: { colSpan: 12, order: 3 },\n md: { colSpan: 6, order: 3 },\n lg: { colSpan: 6, order: 3 },\n },\n },\n },\n ],\n actions: [...entityMasterRecordActions()],\n },\n list: {\n actions: [...entityMasterCrudActions()],\n views: [createAllQueryView({ sorts: [{ name: 'title', dir: 'asc' }] })],\n },\n },\n },\n };\n\n return entityDef;\n}\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"acorex-platform-module-organization-management-client-contracts-entity-catalog-business-unit.entity-CIPmfbsM.mjs","sources":["../../../../libs/modules/organization-management/contracts/src/entities/business-unit/business-unit.entity.ts"],"sourcesContent":["import { AXPWidgetsList } from '@acorex-platform/framework-shared/core';\nimport { AXPEntity, createAllQueryView, entityDetailsCrudActions, entityDetailsSimpleCondition, entityMasterCrudActions, entityMasterRecordActions } from '@acorex-platform/framework-shared/entity';\nimport { RootConfig } from '../../root-config';\n\nexport async function factoryBusinessUnit(): Promise<AXPEntity | null> {\n const i18n = RootConfig.config.i18n;\n const entityName = 'business-unit';\n\n const entityDef: AXPEntity = {\n module: RootConfig.module.name,\n name: RootConfig.entities.businessUnit.name,\n title: '@organization-management:business-units.entities.business-unit.title',\n icon: 'fa-light fa-building-columns',\n parentKey: 'parentId',\n plugins: [\n { name: 'identifier', options: { field: 'code', rule: 'organization-business-unit-code' } },\n { name: 'unique-fields', options: { fields: 'code', scope: 'global' } },\n { name: 'reports' },\n ],\n formats: {\n individual: '@organization-management:business-units.entities.business-unit.title',\n plural: '@organization-management:business-units.entities.business-unit.plural',\n searchResult: { title: '{{ title }}', description: RootConfig.module.title },\n },\n relatedEntities: [\n {\n entity: `${RootConfig.module.name}.${RootConfig.entities.teamBusinessUnit.name}`,\n title: '@organization-management:business-units.related-entities.teams.title',\n columns: ['teamId', 'isPrimary', 'effectiveFrom', 'effectiveTo'],\n conditions: [entityDetailsSimpleCondition('businessUnitId')],\n actions: [...entityDetailsCrudActions('businessUnitId')],\n layout: { type: 'page-list' },\n excludeProperties: ['businessUnitId'],\n },\n ],\n groups: [\n { id: 'basic-info', title: '@general:terms.interface.basic-info' },\n {\n id: 'classification',\n title: '@organization-management:business-units.entities.business-unit.groups.classification',\n },\n {\n id: 'positions',\n title: '@organization-management:business-units.entities.business-unit.fields.positions.title',\n\n },\n ],\n properties: [\n {\n name: 'id',\n title: 'ID',\n groupId: 'basic-info',\n schema: { dataType: 'uuid', visible: false, nullable: false, readonly: true, unique: { enabled: true } },\n },\n {\n name: 'code',\n title: '@organization-management:business-units.entities.business-unit.fields.code.title',\n groupId: 'basic-info',\n options: {\n sort: { enabled: true },\n filter: { advance: { enabled: true }, inline: { enabled: true } },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsList.Editors.TextBox,\n options: {\n placeholder: '@organization-management:business-units.entities.business-unit.fields.code.placeholder',\n },\n },\n },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'title',\n title: '@general:terms.common.title',\n groupId: 'basic-info',\n schema: {\n dataType: 'string',\n interface: { type: AXPWidgetsList.Editors.TextBox },\n },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'description',\n title: '@general:terms.common.description',\n groupId: 'basic-info',\n schema: {\n dataType: 'string',\n interface: { type: AXPWidgetsList.Editors.LargeTextBox },\n },\n },\n {\n name: 'parentId',\n title: '@general:terms.classification.parent',\n groupId: 'basic-info',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsList.Editors.LookupBox,\n options: {\n entity: `${RootConfig.module.name}.BusinessUnit`,\n textField: 'title',\n valueField: 'id',\n expose: [\n { source: 'id', target: 'parent.id' },\n { source: 'title', target: 'parent.title' },\n ],\n },\n },\n },\n },\n {\n name: 'typeId',\n title: '@general:terms.common.type',\n groupId: 'classification',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsList.Editors.LookupBox,\n options: {\n entity: `${RootConfig.module.name}.BusinessUnitType`,\n textField: 'title',\n valueField: 'id',\n look: 'select',\n expose: [\n { source: 'id', target: 'type.id' },\n { source: 'title', target: 'type.title' },\n { source: 'isLocationBased', target: 'type.isLocationBased' },\n { source: 'allowsDirectPositions', target: 'type.allowsDirectPositions' },\n ],\n },\n },\n },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'geographicRegionId',\n title: '@location-management:geographic-regions.entities.geographic-region.title',\n groupId: 'classification',\n schema: {\n dataType: 'string',\n visible: `{{ context.eval('type.isLocationBased') }}`,\n interface: {\n type: AXPWidgetsList.Editors.LookupBox,\n options: {\n entity: `LocationManagement.GeographicRegion`,\n textField: 'title',\n valueField: 'id',\n look: 'lookup',\n expose: [\n { source: 'id', target: 'geographicRegion.id' },\n { source: 'title', target: 'geographicRegion.title' },\n ],\n },\n },\n },\n },\n {\n name: 'positionIds',\n title: '@general:terms.organizations.positions',\n groupId: 'positions',\n schema: {\n visible: `{{ context.eval('type.allowsDirectPositions') !== false }}`,\n dataType: 'string',\n interface: {\n type: AXPWidgetsList.Editors.LookupBox,\n options: {\n entity: `${RootConfig.module.name}.${RootConfig.entities.position.name}`,\n textField: 'title',\n valueField: 'id',\n look: 'select',\n multiple: true,\n expose: [\n { source: 'id', target: 'positionsList.{id}' },\n { source: 'title', target: 'positionsList.{title}' },\n ],\n },\n },\n },\n },\n {\n name: 'headPositionId',\n title: '@organization-management:business-units.entities.business-unit.fields.head-position.title',\n groupId: 'positions',\n schema: {\n visible: `{{ context.eval('type.allowsDirectPositions') !== false }}`,\n dataType: 'string',\n interface: {\n type: AXPWidgetsList.Editors.LookupBox,\n options: {\n entity: `${RootConfig.module.name}.${RootConfig.entities.position.name}`,\n textField: 'title',\n valueField: 'id',\n look: 'select',\n expose: [\n { source: 'id', target: 'headPosition.id' },\n { source: 'title', target: 'headPosition.title' },\n ],\n filter: {\n logic: 'and',\n filters: [\n {\n field: 'id',\n operator: { type: 'in' },\n value: '{{ context.eval(\"positionIds\") }}',\n },\n {\n field: 'isManager',\n operator: { type: 'equal' },\n value: true,\n },\n ],\n },\n },\n triggers: [{ event: \"{{ events.context('positionIds') }}\", action: `{{ widget.refresh() }}` }],\n },\n },\n },\n ],\n columns: [\n { name: 'code' },\n { name: 'title' },\n { name: 'typeId', options: { dataPath: 'type.title' } },\n { name: 'geographicRegionId', options: { dataPath: 'geographicRegion.title' } },\n { name: 'headPositionId', options: { dataPath: 'headPosition.title' } },\n { name: 'positionIds', options: { dataPath: 'positionsList' } },\n ],\n interfaces: {\n master: {\n create: {\n sections: [\n { id: 'basic-info', order: 1 },\n { id: 'classification', order: 2 },\n {\n id: 'positions',\n order: 3,\n layout: {\n visible: `{{ context.eval('type.allowsDirectPositions') !== false }}`,\n },\n },\n ],\n properties: [\n {\n name: 'title',\n layout: {\n order: 1,\n positions: {\n sm: { colSpan: 12, order: 1 },\n md: { colSpan: 8, order: 1 },\n lg: { colSpan: 8, order: 1 },\n },\n },\n },\n {\n name: 'code',\n layout: {\n order: 2,\n positions: {\n sm: { colSpan: 12, order: 2 },\n md: { colSpan: 4, order: 2 },\n lg: { colSpan: 4, order: 2 },\n },\n },\n },\n {\n name: 'description',\n layout: {\n order: 3,\n positions: {\n sm: { colSpan: 12, order: 3 },\n md: { colSpan: 12, order: 3 },\n lg: { colSpan: 12, order: 3 },\n },\n },\n },\n { name: 'parentId', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'typeId', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'geographicRegionId', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'positionIds', layout: { positions: { lg: { colSpan: 12 } } } },\n { name: 'headPositionId', layout: { positions: { lg: { colSpan: 12 } } } },\n ],\n },\n update: {\n sections: [\n { id: 'basic-info', order: 1 },\n { id: 'classification', order: 2 },\n {\n id: 'positions',\n order: 3,\n layout: {\n visible: `{{ context.eval('type.allowsDirectPositions') !== false }}`,\n },\n },\n ],\n properties: [\n {\n name: 'title',\n layout: {\n order: 1,\n positions: {\n sm: { colSpan: 12, order: 1 },\n md: { colSpan: 8, order: 1 },\n lg: { colSpan: 8, order: 1 },\n },\n },\n },\n {\n name: 'code',\n layout: {\n order: 2,\n positions: {\n sm: { colSpan: 12, order: 2 },\n md: { colSpan: 4, order: 2 },\n lg: { colSpan: 4, order: 2 },\n },\n },\n },\n {\n name: 'description',\n layout: {\n order: 3,\n positions: {\n sm: { colSpan: 12, order: 3 },\n md: { colSpan: 12, order: 3 },\n lg: { colSpan: 12, order: 3 },\n },\n },\n },\n { name: 'parentId', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'typeId', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'geographicRegionId', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'positionIds', layout: { positions: { lg: { colSpan: 12 } } } },\n { name: 'headPositionId', layout: { positions: { lg: { colSpan: 12 } } } },\n ],\n },\n single: {\n title: '{{title}}',\n sections: [\n { id: 'basic-info', order: 1 },\n { id: 'classification', order: 2 },\n {\n id: 'positions',\n order: 3,\n layout: {\n visible: `{{ context.eval('type.allowsDirectPositions') !== false }}`,\n },\n },\n ],\n properties: [\n {\n name: 'title',\n layout: {\n order: 1,\n positions: {\n sm: { colSpan: 12, order: 1 },\n md: { colSpan: 8, order: 1 },\n lg: { colSpan: 8, order: 1 },\n },\n },\n },\n {\n name: 'code',\n layout: {\n order: 2,\n positions: {\n sm: { colSpan: 12, order: 2 },\n md: { colSpan: 4, order: 2 },\n lg: { colSpan: 4, order: 2 },\n },\n },\n },\n {\n name: 'description',\n layout: {\n order: 3,\n positions: {\n sm: { colSpan: 12, order: 3 },\n md: { colSpan: 12, order: 3 },\n lg: { colSpan: 12, order: 3 },\n },\n },\n },\n { name: 'parentId', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'typeId', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'geographicRegionId', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'positionIds', layout: { positions: { lg: { colSpan: 12 } } } },\n { name: 'headPositionId', layout: { positions: { lg: { colSpan: 12 } } } },\n ],\n actions: [...entityMasterRecordActions()],\n },\n list: {\n actions: [...entityMasterCrudActions()],\n views: [createAllQueryView({ sorts: [{ name: 'title', dir: 'asc' }] })],\n },\n },\n },\n };\n\n return entityDef;\n}\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"acorex-platform-module-organization-management-client-contracts-entity-catalog-chart.entity-sg_rI9It.mjs","sources":["../../../../libs/modules/organization-management/contracts/src/entities/chart/chart.entity.ts"],"sourcesContent":["import { AXPWidgetsList } from '@acorex-platform/framework-shared/core';\nimport { AXPEntity, AXPEntityCommandScope, createAllQueryView, entityMasterCrudActions, entityMasterDeleteAction } from '@acorex-platform/framework-shared/entity';\nimport { RootConfig } from '../../root-config';\n\nexport async function factoryChart(): Promise<AXPEntity | null> {\n const entityDef: AXPEntity = {\n module: RootConfig.module.name,\n name: RootConfig.entities.chart.name,\n plugins: [\n { name: 'history' },\n { name: 'lock' },\n { name: 'compare' },\n ],\n title: RootConfig.entities.chart.title,\n icon: RootConfig.entities.chart.icon,\n formats: {\n individual: '@organization-management:organization-chart.components.chart.title',\n plural: '@organization-management:organization-chart.entities.chart.plural',\n searchResult: {\n title: '{{ title }}',\n description: RootConfig.module.title,\n },\n },\n relatedEntities: [],\n groups: [\n {\n id: 'section',\n title: '@organization-management:organization-chart.components.chart.title',\n },\n ],\n properties: [\n // {\n // name: 'name',\n // title: '@organization-management:organization-chart.entities.chart.fields.name.title',\n // groupId: 'section',\n // schema: {\n // dataType: 'string',\n // interface: {\n // type: AXPWidgetsList.Editors.TextBox,\n // },\n // },\n // validations: [\n // {\n // rule: 'required',\n // },\n // ],\n // },\n {\n name: 'version',\n title: '@organization-management:organization-chart.entities.chart.fields.version.title',\n groupId: 'section',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsList.Editors.TextBox,\n },\n },\n },\n {\n name: 'structure',\n title: '@organization-management:organization-chart.entities.chart.fields.structure.title',\n groupId: 'section',\n schema: {\n // Persisted org-chart JSON payload (modes tree) — must be object/jsonb, not text.\n dataType: 'object',\n interface: {\n type: 'json',\n },\n },\n },\n ],\n columns: [{ name: 'name' }, { name: 'version' }],\n \n interfaces: {\n master: {\n create: {\n sections: [\n {\n id: 'section',\n },\n ],\n properties: [\n {\n name: 'name',\n layout: {\n order: 1,\n positions: {\n sm: { colSpan: 12, order: 1 },\n md: { colSpan: 8, order: 1 },\n lg: { colSpan: 8, order: 1 },\n },\n },\n },\n {\n name: 'version',\n layout: {\n order: 2,\n positions: {\n sm: { colSpan: 12, order: 2 },\n md: { colSpan: 4, order: 2 },\n lg: { colSpan: 4, order: 2 },\n },\n },\n },\n ],\n },\n update: {\n sections: [\n {\n id: 'section',\n },\n ],\n properties: [\n {\n name: 'name',\n layout: {\n order: 1,\n positions: {\n sm: { colSpan: 12, order: 1 },\n md: { colSpan: 8, order: 1 },\n lg: { colSpan: 8, order: 1 },\n },\n },\n },\n {\n name: 'version',\n layout: {\n order: 2,\n positions: {\n sm: { colSpan: 12, order: 2 },\n md: { colSpan: 4, order: 2 },\n lg: { colSpan: 4, order: 2 },\n },\n },\n },\n ],\n },\n single: {\n title: '{{name}}',\n sections: [\n {\n id: 'section',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n properties: [\n {\n name: 'name',\n layout: {\n order: 1,\n positions: {\n sm: { colSpan: 12, order: 1 },\n md: { colSpan: 8, order: 1 },\n lg: { colSpan: 8, order: 1 },\n },\n },\n },\n {\n name: 'version',\n layout: {\n order: 2,\n positions: {\n sm: { colSpan: 12, order: 2 },\n md: { colSpan: 4, order: 2 },\n lg: { colSpan: 4, order: 2 },\n },\n },\n },\n ],\n actions: [\n entityMasterDeleteAction()\n ],\n },\n list: {\n actions: [\n ...entityMasterCrudActions(),\n {\n title: '@organization-management:organization-chart.entities.chart.actions.view-chart.title',\n command: 'view-chart',\n priority: 'secondary',\n type: 'view',\n scope: AXPEntityCommandScope.Individual,\n },\n ],\n views: [createAllQueryView({ sorts: [{ name: 'name', dir: 'asc' }] })],\n },\n },\n },\n };\n\n return entityDef;\n}\n"],"names":[],"mappings":"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"}