@acorex/modules 19.2.6 → 19.2.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (186) hide show
  1. package/application-management/lib/layouts/module-entity-detail-view/module-entity-detail-view.component.d.ts +2 -2
  2. package/fesm2022/{acorex-modules-auth-acorex-modules-auth-D75igkfc.mjs → acorex-modules-auth-acorex-modules-auth-HwJJs-3A.mjs} +12 -12
  3. package/fesm2022/acorex-modules-auth-acorex-modules-auth-HwJJs-3A.mjs.map +1 -0
  4. package/fesm2022/{acorex-modules-auth-app-chooser.component-BZb8n5Ag.mjs → acorex-modules-auth-app-chooser.component-BvxMkXPp.mjs} +2 -2
  5. package/fesm2022/{acorex-modules-auth-app-chooser.component-BZb8n5Ag.mjs.map → acorex-modules-auth-app-chooser.component-BvxMkXPp.mjs.map} +1 -1
  6. package/fesm2022/{acorex-modules-auth-login.module-DAtJYcHZ.mjs → acorex-modules-auth-login.module-CDvLUxls.mjs} +4 -4
  7. package/fesm2022/{acorex-modules-auth-login.module-DAtJYcHZ.mjs.map → acorex-modules-auth-login.module-CDvLUxls.mjs.map} +1 -1
  8. package/fesm2022/acorex-modules-auth-master.layout-CnKBnl8W.mjs +23 -0
  9. package/fesm2022/acorex-modules-auth-master.layout-CnKBnl8W.mjs.map +1 -0
  10. package/fesm2022/{acorex-modules-auth-password.component-20Ofs9FL.mjs → acorex-modules-auth-password.component-1FnIjiZ8.mjs} +2 -2
  11. package/fesm2022/{acorex-modules-auth-password.component-20Ofs9FL.mjs.map → acorex-modules-auth-password.component-1FnIjiZ8.mjs.map} +1 -1
  12. package/fesm2022/{acorex-modules-auth-password.component-CRvI9sIa.mjs → acorex-modules-auth-password.component-C16jeHuJ.mjs} +2 -2
  13. package/fesm2022/{acorex-modules-auth-password.component-CRvI9sIa.mjs.map → acorex-modules-auth-password.component-C16jeHuJ.mjs.map} +1 -1
  14. package/fesm2022/{acorex-modules-auth-routes-BDED-qaZ.mjs → acorex-modules-auth-routes-ZDDUhAWd.mjs} +2 -2
  15. package/fesm2022/{acorex-modules-auth-routes-BDED-qaZ.mjs.map → acorex-modules-auth-routes-ZDDUhAWd.mjs.map} +1 -1
  16. package/fesm2022/{acorex-modules-auth-setting.provider-GJeEbIRd.mjs → acorex-modules-auth-setting.provider-DDl3OHw6.mjs} +2 -2
  17. package/fesm2022/{acorex-modules-auth-setting.provider-GJeEbIRd.mjs.map → acorex-modules-auth-setting.provider-DDl3OHw6.mjs.map} +1 -1
  18. package/fesm2022/{acorex-modules-auth-two-factor.module-B0C2aBWh.mjs → acorex-modules-auth-two-factor.module-C32MVGby.mjs} +2 -2
  19. package/fesm2022/{acorex-modules-auth-two-factor.module-B0C2aBWh.mjs.map → acorex-modules-auth-two-factor.module-C32MVGby.mjs.map} +1 -1
  20. package/fesm2022/acorex-modules-auth.mjs +1 -1
  21. package/fesm2022/acorex-modules-form-template-management-acorex-modules-form-template-management-DGGKoVbL.mjs +908 -0
  22. package/fesm2022/acorex-modules-form-template-management-acorex-modules-form-template-management-DGGKoVbL.mjs.map +1 -0
  23. package/fesm2022/{acorex-modules-form-template-management-category.entity-BcfMw_wb.mjs → acorex-modules-form-template-management-category.entity-B1X2QyYV.mjs} +2 -2
  24. package/fesm2022/{acorex-modules-form-template-management-category.entity-BcfMw_wb.mjs.map → acorex-modules-form-template-management-category.entity-B1X2QyYV.mjs.map} +1 -1
  25. package/fesm2022/acorex-modules-form-template-management-designer.page-BLbPLLdP.mjs.map +1 -1
  26. package/fesm2022/{acorex-modules-form-template-management-setting.provider-ceq0ZtxA.mjs → acorex-modules-form-template-management-setting.provider-D-HyCbH7.mjs} +2 -2
  27. package/fesm2022/{acorex-modules-form-template-management-setting.provider-ceq0ZtxA.mjs.map → acorex-modules-form-template-management-setting.provider-D-HyCbH7.mjs.map} +1 -1
  28. package/fesm2022/acorex-modules-form-template-management-template-picker.component-xiRKc4FF.mjs.map +1 -1
  29. package/fesm2022/{acorex-modules-form-template-management-template-widget-edit.component-CVyFN7D9.mjs → acorex-modules-form-template-management-template-widget-edit.component-CyZLM6M9.mjs} +2 -2
  30. package/fesm2022/acorex-modules-form-template-management-template-widget-edit.component-CyZLM6M9.mjs.map +1 -0
  31. package/fesm2022/{acorex-modules-form-template-management-template.entity-BpApQcvG.mjs → acorex-modules-form-template-management-template.entity-DXIhxJeU.mjs} +2 -2
  32. package/fesm2022/{acorex-modules-form-template-management-template.entity-BpApQcvG.mjs.map → acorex-modules-form-template-management-template.entity-DXIhxJeU.mjs.map} +1 -1
  33. package/fesm2022/acorex-modules-form-template-management.mjs +1 -907
  34. package/fesm2022/acorex-modules-form-template-management.mjs.map +1 -1
  35. package/fesm2022/acorex-modules-notification-management.mjs +49 -66
  36. package/fesm2022/acorex-modules-notification-management.mjs.map +1 -1
  37. package/fesm2022/acorex-modules-organization-management-add-item.component-D0tN7Se4.mjs +83 -0
  38. package/fesm2022/acorex-modules-organization-management-add-item.component-D0tN7Se4.mjs.map +1 -0
  39. package/fesm2022/{acorex-modules-organization-managment-branch.entity-kuZxLStS.mjs → acorex-modules-organization-management-branch.entity-CbmnpHl2.mjs} +2 -2
  40. package/fesm2022/acorex-modules-organization-management-branch.entity-CbmnpHl2.mjs.map +1 -0
  41. package/fesm2022/{acorex-modules-organization-managment-chart.entity-BqUE8fbV.mjs → acorex-modules-organization-management-chart.entity-Bk4WgsYr.mjs} +2 -2
  42. package/fesm2022/acorex-modules-organization-management-chart.entity-Bk4WgsYr.mjs.map +1 -0
  43. package/fesm2022/{acorex-modules-organization-managment-company.entity-DJt8tCqO.mjs → acorex-modules-organization-management-company.entity-d7GaCVei.mjs} +2 -2
  44. package/fesm2022/acorex-modules-organization-management-company.entity-d7GaCVei.mjs.map +1 -0
  45. package/fesm2022/{acorex-modules-organization-managment-department.entity-C1PxLx6p.mjs → acorex-modules-organization-management-department.entity-Dl7y4Rva.mjs} +2 -2
  46. package/fesm2022/acorex-modules-organization-management-department.entity-Dl7y4Rva.mjs.map +1 -0
  47. package/fesm2022/{acorex-modules-organization-managment-division.entity-DHVnrP38.mjs → acorex-modules-organization-management-division.entity-Ckmu2Tj9.mjs} +2 -2
  48. package/fesm2022/acorex-modules-organization-management-division.entity-Ckmu2Tj9.mjs.map +1 -0
  49. package/fesm2022/{acorex-modules-organization-managment-employee.entity-D4BSxGAW.mjs → acorex-modules-organization-management-employee.entity-PwlBjkYo.mjs} +2 -2
  50. package/fesm2022/acorex-modules-organization-management-employee.entity-PwlBjkYo.mjs.map +1 -0
  51. package/fesm2022/{acorex-modules-organization-managment-employment-type.entity-Cgbezwio.mjs → acorex-modules-organization-management-employment-type.entity-9aOaYT_-.mjs} +2 -2
  52. package/fesm2022/acorex-modules-organization-management-employment-type.entity-9aOaYT_-.mjs.map +1 -0
  53. package/fesm2022/{acorex-modules-organization-managment-org-chart-configuration.page-DEFgztyn.mjs → acorex-modules-organization-management-org-chart-configuration.page-BzjTyYyS.mjs} +6 -6
  54. package/fesm2022/acorex-modules-organization-management-org-chart-configuration.page-BzjTyYyS.mjs.map +1 -0
  55. package/fesm2022/{acorex-modules-organization-managment-org-chart-configuration.service-D-LkPUIw.mjs → acorex-modules-organization-management-org-chart-configuration.service-DObuNZKQ.mjs} +2 -2
  56. package/fesm2022/acorex-modules-organization-management-org-chart-configuration.service-DObuNZKQ.mjs.map +1 -0
  57. package/fesm2022/acorex-modules-organization-management-org-chart.page-Cz4ENQRa.mjs +868 -0
  58. package/fesm2022/acorex-modules-organization-management-org-chart.page-Cz4ENQRa.mjs.map +1 -0
  59. package/fesm2022/{acorex-modules-organization-managment-position.entity-Bbb5KAkm.mjs → acorex-modules-organization-management-position.entity-DDkiBefn.mjs} +2 -2
  60. package/fesm2022/acorex-modules-organization-management-position.entity-DDkiBefn.mjs.map +1 -0
  61. package/fesm2022/{acorex-modules-organization-managment-setting.keys-CF6Giykz.mjs → acorex-modules-organization-management-setting.keys-CF6Giykz.mjs} +1 -1
  62. package/fesm2022/acorex-modules-organization-management-setting.keys-CF6Giykz.mjs.map +1 -0
  63. package/fesm2022/{acorex-modules-organization-managment-setting.provider-nKs53GcA.mjs → acorex-modules-organization-management-setting.provider-eLv_qnmE.mjs} +3 -3
  64. package/fesm2022/acorex-modules-organization-management-setting.provider-eLv_qnmE.mjs.map +1 -0
  65. package/fesm2022/{acorex-modules-organization-managment.mjs → acorex-modules-organization-management.mjs} +66 -22
  66. package/fesm2022/acorex-modules-organization-management.mjs.map +1 -0
  67. package/fesm2022/acorex-modules-platform-management.mjs +1443 -155
  68. package/fesm2022/acorex-modules-platform-management.mjs.map +1 -1
  69. package/form-template-management/index.d.ts +0 -1
  70. package/form-template-management/lib/features/designer/index.d.ts +5 -0
  71. package/form-template-management/lib/{services → features/designer}/template.provider.d.ts +1 -1
  72. package/form-template-management/lib/features/index.d.ts +1 -0
  73. package/notification-management/lib/entities/channel/channel.types.d.ts +3 -1
  74. package/organization-management/README.md +3 -0
  75. package/organization-management/index.d.ts +4 -0
  76. package/{organization-managment → organization-management}/lib/entities/chart/chart.types.d.ts +10 -5
  77. package/organization-management/lib/features/index.d.ts +1 -0
  78. package/organization-management/lib/features/organization-chart/add-item/add-item.component.d.ts +21 -0
  79. package/organization-management/lib/features/organization-chart/index.d.ts +1 -0
  80. package/{organization-managment → organization-management}/lib/features/organization-chart/org-chart-configuration.page.d.ts +2 -2
  81. package/{organization-managment → organization-management}/lib/features/organization-chart/org-chart-configuration.service.d.ts +6 -5
  82. package/organization-management/lib/features/organization-chart/org-chart-print.service.d.ts +45 -0
  83. package/{organization-managment → organization-management}/lib/features/organization-chart/org-chart.page.d.ts +78 -7
  84. package/organization-management/lib/features/organization-chart/org-chart.service.d.ts +63 -0
  85. package/organization-management/lib/features/organization-chart/org-chart.type.d.ts +46 -0
  86. package/{organization-managment/lib/organization-managment.module.d.ts → organization-management/lib/organization-management.module.d.ts} +4 -4
  87. package/package.json +8 -8
  88. package/platform-management/lib/const.d.ts +12 -0
  89. package/platform-management/lib/entities/app-term/components/notify-app/notify-app.component.d.ts +1 -2
  90. package/platform-management/lib/entities/data-source/coulmn-def.widget.d.ts +56 -0
  91. package/platform-management/lib/entities/data-source/data-source.entity.d.ts +3 -0
  92. package/platform-management/lib/entities/data-source/data-source.service.d.ts +10 -0
  93. package/platform-management/lib/entities/data-source/data-source.types.d.ts +7 -0
  94. package/platform-management/lib/entities/data-source/datasource-provider.dynamic.d.ts +6 -0
  95. package/platform-management/lib/entities/data-source/index.d.ts +3 -0
  96. package/platform-management/lib/entities/index.d.ts +2 -0
  97. package/platform-management/lib/entities/promotion/components/index.d.ts +1 -0
  98. package/{notification-management/lib → platform-management/lib/entities/promotion}/components/promotion-slot/promotion-slot.component.d.ts +5 -3
  99. package/platform-management/lib/entities/promotion/index.d.ts +4 -0
  100. package/platform-management/lib/entities/promotion/promotion.entity.d.ts +3 -0
  101. package/platform-management/lib/entities/promotion/promotion.service.d.ts +10 -0
  102. package/platform-management/lib/entities/promotion/promotion.types.d.ts +15 -0
  103. package/platform-management/lib/platform-management.module.d.ts +2 -1
  104. package/fesm2022/acorex-modules-auth-acorex-modules-auth-D75igkfc.mjs.map +0 -1
  105. package/fesm2022/acorex-modules-auth-master.layout-qeAQTygT.mjs +0 -23
  106. package/fesm2022/acorex-modules-auth-master.layout-qeAQTygT.mjs.map +0 -1
  107. package/fesm2022/acorex-modules-form-template-management-template-widget-edit.component-CVyFN7D9.mjs.map +0 -1
  108. package/fesm2022/acorex-modules-organization-managment-branch.entity-kuZxLStS.mjs.map +0 -1
  109. package/fesm2022/acorex-modules-organization-managment-chart.entity-BqUE8fbV.mjs.map +0 -1
  110. package/fesm2022/acorex-modules-organization-managment-company.entity-DJt8tCqO.mjs.map +0 -1
  111. package/fesm2022/acorex-modules-organization-managment-department.entity-C1PxLx6p.mjs.map +0 -1
  112. package/fesm2022/acorex-modules-organization-managment-division.entity-DHVnrP38.mjs.map +0 -1
  113. package/fesm2022/acorex-modules-organization-managment-employee.entity-D4BSxGAW.mjs.map +0 -1
  114. package/fesm2022/acorex-modules-organization-managment-employment-type.entity-Cgbezwio.mjs.map +0 -1
  115. package/fesm2022/acorex-modules-organization-managment-org-chart-configuration.page-DEFgztyn.mjs.map +0 -1
  116. package/fesm2022/acorex-modules-organization-managment-org-chart-configuration.service-D-LkPUIw.mjs.map +0 -1
  117. package/fesm2022/acorex-modules-organization-managment-org-chart.page-B3aaLlm2.mjs +0 -597
  118. package/fesm2022/acorex-modules-organization-managment-org-chart.page-B3aaLlm2.mjs.map +0 -1
  119. package/fesm2022/acorex-modules-organization-managment-position.entity-Bbb5KAkm.mjs.map +0 -1
  120. package/fesm2022/acorex-modules-organization-managment-setting.keys-CF6Giykz.mjs.map +0 -1
  121. package/fesm2022/acorex-modules-organization-managment-setting.provider-nKs53GcA.mjs.map +0 -1
  122. package/fesm2022/acorex-modules-organization-managment.mjs.map +0 -1
  123. package/organization-managment/README.md +0 -3
  124. package/organization-managment/index.d.ts +0 -3
  125. package/organization-managment/lib/features/organization-chart/org-chart-print.service.d.ts +0 -22
  126. package/organization-managment/lib/features/organization-chart/org-chart.service.d.ts +0 -19
  127. package/organization-managment/lib/features/organization-chart/org-chart.type.d.ts +0 -25
  128. /package/form-template-management/lib/{services → features/designer}/designer-connector.service.d.ts +0 -0
  129. /package/form-template-management/lib/{pages → features}/designer/designer.page.d.ts +0 -0
  130. /package/form-template-management/lib/{components → features/designer}/widgets/template/index.d.ts +0 -0
  131. /package/form-template-management/lib/{components → features/designer}/widgets/template/template-widget-designer.component.d.ts +0 -0
  132. /package/form-template-management/lib/{components → features/designer}/widgets/template/template-widget-edit.component.d.ts +0 -0
  133. /package/form-template-management/lib/{components → features/designer}/widgets/template/template-widget-view.component.d.ts +0 -0
  134. /package/form-template-management/lib/{components → features/designer}/widgets/template/template-widget.config.d.ts +0 -0
  135. /package/form-template-management/lib/{components → features/designer}/widgets/template-designer/index.d.ts +0 -0
  136. /package/form-template-management/lib/{components → features/designer}/widgets/template-designer/template-designer-widget-view.component.d.ts +0 -0
  137. /package/form-template-management/lib/{components → features/designer}/widgets/template-designer/template-designer-widget.config.d.ts +0 -0
  138. /package/form-template-management/lib/{components → features/designer}/widgets/template-picker/template-picker.component.d.ts +0 -0
  139. /package/form-template-management/lib/{components → features/designer}/widgets/template-picker/template.provider.d.ts +0 -0
  140. /package/form-template-management/lib/{workflows → features/designer/workflows}/create-template.workflow.d.ts +0 -0
  141. /package/form-template-management/lib/{workflows → features/designer/workflows}/design-template.workflow.d.ts +0 -0
  142. /package/{organization-managment → organization-management}/lib/const.d.ts +0 -0
  143. /package/{organization-managment → organization-management}/lib/entities/branch/branch.entity.d.ts +0 -0
  144. /package/{organization-managment → organization-management}/lib/entities/branch/branch.module.d.ts +0 -0
  145. /package/{organization-managment → organization-management}/lib/entities/branch/branch.service.d.ts +0 -0
  146. /package/{organization-managment → organization-management}/lib/entities/branch/branch.types.d.ts +0 -0
  147. /package/{organization-managment → organization-management}/lib/entities/branch/index.d.ts +0 -0
  148. /package/{organization-managment → organization-management}/lib/entities/chart/chart.entity.d.ts +0 -0
  149. /package/{organization-managment → organization-management}/lib/entities/chart/chart.module.d.ts +0 -0
  150. /package/{organization-managment → organization-management}/lib/entities/chart/chart.service.d.ts +0 -0
  151. /package/{organization-managment → organization-management}/lib/entities/chart/index.d.ts +0 -0
  152. /package/{organization-managment → organization-management}/lib/entities/company/company.entity.d.ts +0 -0
  153. /package/{organization-managment → organization-management}/lib/entities/company/company.module.d.ts +0 -0
  154. /package/{organization-managment → organization-management}/lib/entities/company/company.service.d.ts +0 -0
  155. /package/{organization-managment → organization-management}/lib/entities/company/company.types.d.ts +0 -0
  156. /package/{organization-managment → organization-management}/lib/entities/company/index.d.ts +0 -0
  157. /package/{organization-managment → organization-management}/lib/entities/department/department.entity.d.ts +0 -0
  158. /package/{organization-managment → organization-management}/lib/entities/department/department.module.d.ts +0 -0
  159. /package/{organization-managment → organization-management}/lib/entities/department/department.service.d.ts +0 -0
  160. /package/{organization-managment → organization-management}/lib/entities/department/department.types.d.ts +0 -0
  161. /package/{organization-managment → organization-management}/lib/entities/department/index.d.ts +0 -0
  162. /package/{organization-managment → organization-management}/lib/entities/division/division.entity.d.ts +0 -0
  163. /package/{organization-managment → organization-management}/lib/entities/division/division.module.d.ts +0 -0
  164. /package/{organization-managment → organization-management}/lib/entities/division/division.service.d.ts +0 -0
  165. /package/{organization-managment → organization-management}/lib/entities/division/division.types.d.ts +0 -0
  166. /package/{organization-managment → organization-management}/lib/entities/division/index.d.ts +0 -0
  167. /package/{organization-managment → organization-management}/lib/entities/employee/employee.entity.d.ts +0 -0
  168. /package/{organization-managment → organization-management}/lib/entities/employee/employee.module.d.ts +0 -0
  169. /package/{organization-managment → organization-management}/lib/entities/employee/employee.service.d.ts +0 -0
  170. /package/{organization-managment → organization-management}/lib/entities/employee/employee.types.d.ts +0 -0
  171. /package/{organization-managment → organization-management}/lib/entities/employee/index.d.ts +0 -0
  172. /package/{organization-managment → organization-management}/lib/entities/employment-type/employment-type.entity.d.ts +0 -0
  173. /package/{organization-managment → organization-management}/lib/entities/employment-type/employment-type.module.d.ts +0 -0
  174. /package/{organization-managment → organization-management}/lib/entities/employment-type/employment-type.service.d.ts +0 -0
  175. /package/{organization-managment → organization-management}/lib/entities/employment-type/employment-type.types.d.ts +0 -0
  176. /package/{organization-managment → organization-management}/lib/entities/employment-type/index.d.ts +0 -0
  177. /package/{organization-managment → organization-management}/lib/entities/index.d.ts +0 -0
  178. /package/{organization-managment → organization-management}/lib/entities/position/index.d.ts +0 -0
  179. /package/{organization-managment → organization-management}/lib/entities/position/position.entity.d.ts +0 -0
  180. /package/{organization-managment → organization-management}/lib/entities/position/position.module.d.ts +0 -0
  181. /package/{organization-managment → organization-management}/lib/entities/position/position.service.d.ts +0 -0
  182. /package/{organization-managment → organization-management}/lib/entities/position/position.types.d.ts +0 -0
  183. /package/{organization-managment → organization-management}/lib/entity.provider.d.ts +0 -0
  184. /package/{organization-managment → organization-management}/lib/menu.provider.d.ts +0 -0
  185. /package/{organization-managment → organization-management}/lib/setting.keys.d.ts +0 -0
  186. /package/{organization-managment → organization-management}/lib/setting.provider.d.ts +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-modules-organization-management-org-chart.page-Cz4ENQRa.mjs","sources":["../../../../libs/modules/organization-management/src/lib/features/organization-chart/org-chart-print.service.ts","../../../../libs/modules/organization-management/src/lib/features/organization-chart/org-chart.service.ts","../../../../libs/modules/organization-management/src/lib/features/organization-chart/org-chart.page.ts","../../../../libs/modules/organization-management/src/lib/features/organization-chart/org-chart.page.html"],"sourcesContent":["import { AXStyleColorType } from '@acorex/components/common';\nimport { AXDialogRef, AXLoadingDialogService } from '@acorex/components/loading-dialog';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPExportService } from '@acorex/platform/common';\nimport { inject, Injectable } from '@angular/core';\n\n/**\n * Service for printing organization charts.\n */\n@Injectable()\nexport class AXMOrgChartPrintService {\n private loadingDialog = inject(AXLoadingDialogService);\n private exportService = inject(AXPExportService);\n private translationService = inject(AXTranslationService);\n\n /**\n * Prints the organization chart.\n * @param element - The HTMLElement representing the chart to be printed.\n * @returns A promise that resolves when the print process is complete.\n */\n async printChart(element: HTMLElement): Promise<void> {\n const d = this.loadingDialog.show({\n title: 'Printing Organization Chart...',\n mode: 'determinate',\n progressColor: 'primary',\n progressValue: 0,\n status: '0/10',\n text: 'Initializing print process...',\n buttons: [\n {\n text: 'Cancel',\n color: 'danger',\n onClick: () => {\n d.close();\n },\n },\n ],\n });\n\n try {\n await this.HandleStep(d, await this.translateStatements('preparing-document'), 10, '1/10');\n const chartElement = element;\n const { originalStyles, modifiedStyles } = this.expandChart(chartElement);\n\n await this.HandleStep(d, await this.translateStatements('rendering-chart-image'), 25, '2.5/10');\n const canvasBlob = await this.exportService.generateBlobFromElement(chartElement, {\n popup: true,\n filter: (node: Node) => {\n if (node instanceof Element && node.classList.contains('--toggle')) {\n return false;\n }\n return true;\n },\n bgcolor: 'transparent',\n scale: 2,\n quality: 1,\n height: Number.parseInt(modifiedStyles.modifiedHeight),\n width: Number.parseInt(modifiedStyles.modifiedWidth),\n });\n\n await this.HandleStep(d, await this.translateStatements('finalizing-image-processing'), 50, '5/10');\n this.restoreChartStyles(chartElement, originalStyles);\n\n await this.HandleStep(d, await this.translateStatements('downloading-image'), 75, '7.5/10');\n this.exportService.download(canvasBlob, 'org-chart.png');\n\n await this.HandleStep(d, await this.translateStatements('process-complete'), 100, '10/10');\n\n setTimeout(() => d.close(), 1500);\n } catch (err) {\n console.error('Error capturing chart:', err);\n await this.HandleStep(\n d,\n await this.translateStatements('failed-to-generate-chart-image'),\n 100,\n 'Error',\n 'danger'\n );\n d.close();\n }\n }\n\n /**\n * Expands the chart temporarily to capture the full view.\n * @param chartElement - The HTMLElement representing the chart.\n * @returns An object containing the original and modified styles of the chart.\n */\n private expandChart(chartElement: HTMLElement): {\n originalStyles: {\n originalOverflow: string;\n originalWidth: string;\n originalHeight: string;\n };\n modifiedStyles: {\n modifiedOverflow: string;\n modifiedWidth: string;\n modifiedHeight: string;\n };\n } {\n const originalStyles = {\n originalOverflow: chartElement.style.overflow,\n originalWidth: chartElement.style.width,\n originalHeight: chartElement.style.height,\n };\n\n const modifiedStyles = {\n modifiedOverflow: 'visible',\n modifiedWidth: `${chartElement.scrollWidth}px`,\n modifiedHeight: `${chartElement.scrollHeight}px`,\n };\n\n chartElement.style.overflow = modifiedStyles.modifiedOverflow;\n chartElement.style.width = modifiedStyles.modifiedWidth;\n chartElement.style.height = modifiedStyles.modifiedHeight;\n\n return { originalStyles, modifiedStyles };\n }\n\n /**\n * Restores chart styles after capturing.\n * @param chartElement - The HTMLElement representing the chart.\n * @param originalStyles - The original styles to be restored.\n */\n private restoreChartStyles(\n chartElement: HTMLElement,\n originalStyles: { originalOverflow: string; originalWidth: string; originalHeight: string }\n ): void {\n chartElement.style.overflow = originalStyles.originalOverflow;\n chartElement.style.width = originalStyles.originalWidth;\n chartElement.style.height = originalStyles.originalHeight;\n }\n\n /**\n * Handles updating the progress dialog step.\n * @param dialog - The dialog reference.\n * @param text - The text to display in the dialog.\n * @param progress - The progress value to set.\n * @param status - The status to display.\n * @param color - The color of the progress bar.\n * @returns A promise that resolves when the dialog is updated.\n */\n private async HandleStep(\n dialog: AXDialogRef,\n text: string,\n progress: number,\n status: string,\n color: AXStyleColorType = 'primary'\n ): Promise<void> {\n return new Promise((resolve) => {\n dialog.setProgressColor(color);\n dialog.setProgressText(text);\n dialog.setProgressValue(progress);\n dialog.setProgressStatus(status);\n resolve();\n });\n }\n\n /**\n * Translates a statement using the translation service.\n * @param key - The translation key.\n * @returns A promise that resolves to the translated string.\n */\n private async translateStatements(key: string): Promise<string> {\n return (await this.translationService.translateAsync(key, { scope: 'organization-management' })) + '...';\n }\n}\n","import { computed, inject, Injectable, signal } from '@angular/core';\nimport {\n AXMOrganizationManagementDepartmentEntityService,\n AXMOrganizationManagementBranchEntityService,\n AXMOrganizationManagementEmployeeEntityService,\n AXMOrganizationManagementDivisionEntityService,\n AXMOrganizationManagementPositionEntityService,\n AXMOrganizationManagementChartEntityService\n} from '../../entities';\nimport { AXPDataGenerator, AXPPagedListResult, AXPQueryRequest } from '@acorex/platform/common';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { AXMOrgChartConfigService } from './org-chart-configuration.service';\nimport { AXMenuItem } from '@acorex/components/menu';\nimport { AXMOrganizationNode, AXMOrganizationNodeType, AXMOrganizationNodeTypeCategory, AXM_ORG_CHART_NODE_TYPE_ENTITY_MAPPINGS } from './org-chart.type';\nimport get from 'lodash-es/get';\nimport { cloneDeep } from 'lodash-es';\nimport { AXPopupService } from '@acorex/components/popup';\nimport { AXPLayoutThemeService } from '@acorex/platform/themes/shared';\nimport { AXDataSourceQuery } from '@acorex/components/common';\n\n\n@Injectable()\nexport class AXMOrgChartService {\n\n private departmentService = inject(AXMOrganizationManagementDepartmentEntityService);\n private divisionService = inject(AXMOrganizationManagementDivisionEntityService);\n private branchService = inject(AXMOrganizationManagementBranchEntityService);\n private employmentService = inject(AXMOrganizationManagementEmployeeEntityService);\n private positionService = inject(AXMOrganizationManagementPositionEntityService);\n private chartService = inject(AXMOrganizationManagementChartEntityService);\n\n private sessionService = inject(AXPSessionService);\n private configService = inject(AXMOrgChartConfigService);\n private popupService = inject(AXPopupService);\n private layoutService = inject(AXPLayoutThemeService);\n\n\n private readonly _rootNode = signal<AXMOrganizationNode>({ id: AXPDataGenerator.uuid(), title: \"Company\" });\n\n public readonly rootNode = this._rootNode.asReadonly();\n\n // The clipboard holds the node being cut or copied.\n private clipboard = signal<{ mode: 'cut' | 'copy', node: AXMOrganizationNode } | null>(null);\n\n\n //#region Load/Save\n\n public async load(): Promise<void> {\n const first = (await this.chartService.query({\n skip: 0,\n take: 1,\n sort: [\n { field: 'version', dir: 'desc' }\n ]\n })).items[0];\n //\n if (first) {\n const data = first.data as AXMOrganizationNode;\n this._rootNode.set(data);\n }\n else {\n await this.createNew();\n await this.load();\n }\n }\n\n private async createNew(): Promise<void> {\n const tenant = this.sessionService.tenant!;\n const record = {\n id: AXPDataGenerator.uuid(),\n createAt: new Date(),\n updateAt: new Date(),\n version: '0.0.0',\n data: {\n id: AXPDataGenerator.uuid(),\n title: tenant.name,\n type: AXMOrganizationNodeType.Company,\n entity: {\n id: tenant.id,\n source: 'tenant',\n },\n children: []\n },\n };\n await this.chartService.insertOne({ data: record.data, version: record.version });\n }\n\n public async save(): Promise<void> {\n const first = (await this.chartService.query()).items[0];\n await this.chartService.updateOne(first.id!, { version: first.version, data: this._rootNode(), updateAt: new Date() });\n }\n\n //#endregion\n\n\n //#region Context Menu\n\n public async getAllowedAddMenuItems(node: AXMOrganizationNode): Promise<AXMenuItem[]> {\n const allowedCategories = await this.getAllowedChildCategoriesForParent(node);\n const allowedMenuItems: AXMenuItem[] = [];\n // Group items by category for visual breaks.\n const groupedMenuItems: Record<AXMOrganizationNodeTypeCategory, AXMenuItem[]> = {\n Company: [],\n Location: [],\n BusinessUnit: [],\n Role: [],\n Employee: []\n };\n\n Object.entries(AXM_ORG_CHART_NODE_TYPE_ENTITY_MAPPINGS).forEach(([entitySource, config]) => {\n if (allowedCategories.includes(config.category)) {\n groupedMenuItems[config.category].push({\n name: 'add',\n text: `${config.title}`,\n icon: config.icon,\n data: {\n node,\n config,\n source: entitySource\n },\n });\n }\n });\n\n Object.values(groupedMenuItems).forEach(group => {\n if (group.length > 0) {\n allowedMenuItems.push(...group);\n group[group.length - 1].break = true;\n }\n });\n\n if (allowedMenuItems.length > 0) {\n allowedMenuItems[allowedMenuItems.length - 1].break = false;\n }\n return allowedMenuItems;\n }\n\n //#endregion\n\n\n //#region Check Permission \n\n private async getAllowedChildCategoriesForParent(parent: AXMOrganizationNode): Promise<AXMOrganizationNodeTypeCategory[]> {\n await this.configService.load();\n const types = this.configService.types; // e.g. ['Company', 'Location', 'BusinessUnit', 'Role', 'Employee']\n const currentType = get(parent, 'category') as any as AXMOrganizationNodeTypeCategory;\n if (!parent || !currentType) {\n return [];\n }\n const allowedCategories: Set<AXMOrganizationNodeTypeCategory> = new Set();\n Object.entries(AXM_ORG_CHART_NODE_TYPE_ENTITY_MAPPINGS).forEach(([entitySource, config]) => {\n if (this.configService.isAllowed(currentType, config.category) && types.includes(config.category)) {\n allowedCategories.add(config.category);\n }\n });\n return Array.from(allowedCategories);\n }\n\n //#endregion \n\n\n //#region Remove/Cut/Copy/Past\n\n public async removeNode(id: string) {\n this._rootNode.update((node) => this.removeNodeRecursively(node, id)!);\n await this.save();\n }\n\n private removeNodeRecursively(node: AXMOrganizationNode, id: string): AXMOrganizationNode | null {\n // If the node itself is the one to be deleted, return null\n if (node.id === id) {\n return null;\n }\n // Otherwise, recursively check children\n if (node.children) {\n node.children = node.children.filter(child => child.id !== id)\n .map(child => {\n return { ...child, children: this.removeNodeRecursively(child, id)?.children };\n });\n }\n\n return node;\n }\n\n public isPasteAvailable(): boolean {\n return this.clipboard() != null && this.clipboard()?.node != null;\n }\n\n public async allowPaste(target: AXMOrganizationNode): Promise<boolean> {\n if (!this.isPasteAvailable()) {\n return false;\n }\n const allowedCategories = await this.getAllowedChildCategoriesForParent(target);\n // Compare using the clipboard node's category.\n return allowedCategories.includes(get(this.clipboard()?.node, 'category')!);\n }\n\n\n /**\n * Cuts the node with the given id.\n * The node is removed from the tree and stored in the clipboard.\n * Cutting the root node is not allowed.\n */\n public async cutNode(id: string): Promise<void> {\n const tree = this._rootNode();\n if (tree.id === id) {\n throw new Error(\"Cannot cut the root node.\");\n }\n const result = this.findNodeAndParent(tree, id);\n if (!result) {\n throw new Error(\"Node not found.\");\n }\n // Set the clipboard signal with mode 'cut'\n this.clipboard.set({ mode: 'cut', node: result.node });\n // Remove the node from the tree.\n const newTree = this.removeNodeRecursively(tree, id);\n this._rootNode.set(newTree!);\n await this.save();\n }\n\n /**\n * Copies the node with the given id.\n * A deep clone of the node is stored in the clipboard.\n */\n public copyNode(id: string): void {\n const tree = this._rootNode();\n const result = this.findNodeAndParent(tree, id);\n if (!result) {\n throw new Error(\"Node not found.\");\n }\n // Use lodash's cloneDeep to create a deep clone.\n const copiedNode = cloneDeep(result.node);\n this.clipboard.set({ mode: 'copy', node: copiedNode });\n }\n\n /**\n * Pastes the node in the clipboard as a child of the node with the given parentId.\n * For a cut, the node is moved; for a copy, new IDs are generated so the pasted node is unique.\n */\n public async pasteNode(parentId: string): Promise<void> {\n const clipboardValue = this.clipboard();\n if (!clipboardValue) {\n throw new Error(\"Clipboard is empty.\");\n }\n const tree = this._rootNode();\n const parentResult = this.findNodeAndParent(tree, parentId);\n if (!parentResult) {\n throw new Error(\"Parent node not found.\");\n }\n let nodeToPaste: AXMOrganizationNode;\n if (clipboardValue.mode === 'cut') {\n nodeToPaste = clipboardValue.node;\n // Clear the clipboard after pasting.\n this.clipboard.set(null);\n } else {\n nodeToPaste = this.cloneNodeWithNewIds(clipboardValue.node);\n }\n const newTree = this.insertNodeRecursively(tree, parentId, nodeToPaste);\n this._rootNode.set(newTree);\n await this.save();\n }\n\n /**\n * Recursively searches the tree for the node with the given id,\n * returning both the node and its parent.\n */\n private findNodeAndParent(\n node: AXMOrganizationNode,\n id: string,\n parent: AXMOrganizationNode | null = null\n ): { node: AXMOrganizationNode, parent: AXMOrganizationNode | null } | null {\n if (node.id === id) {\n return { node, parent };\n }\n if (node.children) {\n for (const child of node.children) {\n const result = this.findNodeAndParent(child, id, node);\n if (result) {\n return result;\n }\n }\n }\n return null;\n }\n\n\n /**\n * Clones a node recursively and generates new IDs for the node and its children.\n */\n private cloneNodeWithNewIds(node: AXMOrganizationNode): AXMOrganizationNode {\n // First, clone the node using lodash.\n const newNode = cloneDeep(node);\n // Then, assign new IDs recursively.\n this.assignNewIds(newNode);\n return newNode;\n }\n\n /**\n * Recursively assigns new unique IDs to the given node and its children.\n */\n private assignNewIds(node: AXMOrganizationNode): void {\n node.id = AXPDataGenerator.uuid();\n if (node.children) {\n node.children.forEach(child => this.assignNewIds(child));\n }\n }\n\n /**\n * Recursively traverses the tree to insert newNode as a child of the node with parentId.\n */\n private insertNodeRecursively(\n node: AXMOrganizationNode,\n parentId: string,\n newNode: AXMOrganizationNode\n ): AXMOrganizationNode {\n if (node.id === parentId) {\n const newChildren = node.children ? [...node.children, newNode] : [newNode];\n return { ...node, children: newChildren };\n }\n if (node.children) {\n return {\n ...node,\n children: node.children.map(child =>\n this.insertNodeRecursively(child, parentId, newNode)\n )\n };\n }\n return node;\n }\n\n //#endregion\n\n\n //#region Add Node\n\n\n public async addNode(data: any): Promise<boolean> {\n console.log(data);\n this.layoutService.setNavigationLoading(true);\n const comp = (await import('./add-item/add-item.component')).AddItemComponent;\n const node = get(data, 'node') as AXMOrganizationNode;\n const type = get(data, 'config.type');\n const source = get(data, 'source');\n let query: (request: AXPQueryRequest) => Promise<AXPPagedListResult<unknown>>;\n\n switch (type) {\n case AXMOrganizationNodeType.Department:\n query = this.departmentService.query.bind(this.departmentService);\n break;\n case AXMOrganizationNodeType.Division:\n query = this.divisionService.query.bind(this.divisionService);\n break;\n case AXMOrganizationNodeType.Branch:\n query = this.branchService.query.bind(this.branchService);\n break;\n case AXMOrganizationNodeType.Position:\n query = this.positionService.query.bind(this.positionService);\n break;\n case AXMOrganizationNodeType.Employee:\n query = this.employmentService.query.bind(this.employmentService);\n break;\n default:\n break;\n }\n const result = await this.popupService.open(comp, {\n title: `Add ${get(data, 'config.title')}`,\n size: 'md',\n data: {\n config: {\n valueField: 'id',\n textField: 'title',\n query: query!\n }\n }\n })\n\n const newNode: AXMOrganizationNode = {\n id: AXPDataGenerator.uuid(),\n title: result.data.title,\n description: result.data.description,\n subtitle: result.data.subtitle,\n type: type,\n parentId: node.id,\n entity: {\n id: result.data.id,\n source: source\n }\n }\n\n const tree = this._rootNode();\n const newTree = this.insertNodeRecursively(tree, node.id, newNode);\n this._rootNode.set(newTree);\n await this.save();\n\n this.layoutService.setNavigationLoading(false);\n return result.data != null;\n }\n\n\n //#endregion\n\n}\n","import { AXPanViewDirective } from '@acorex/cdk/pan-view';\nimport { AXBadgeModule } from '@acorex/components/badge';\nimport { AXBreadcrumbsModule } from '@acorex/components/breadcrumbs';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDropdownButtonModule } from '@acorex/components/dropdown-button';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXContextMenuComponent, AXContextMenuItemsClickEvent, AXContextMenuOpeningEvent, AXMenuItem, AXMenuModule } from '@acorex/components/menu';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPSimplePageLayout } from '@acorex/platform/themes/default';\nimport {\n AXPLayoutThemeService,\n AXPThemeLayoutActionsComponent,\n AXPThemeLayoutBlockComponent,\n AXPThemeLayoutFooterComponent,\n AXPThemeLayoutHeaderTemplateComponent,\n AXPThemeLayoutPagePrimaryActionsComponent,\n AXPThemeLayoutPageSecondaryActionsComponent,\n} from '@acorex/platform/themes/shared';\nimport { CommonModule } from '@angular/common';\nimport {\n afterNextRender,\n ChangeDetectionStrategy,\n Component,\n effect,\n ElementRef,\n inject,\n NgZone,\n signal,\n TemplateRef,\n viewChild,\n ViewContainerRef,\n ViewEncapsulation,\n} from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport get from 'lodash-es/get';\nimport { RootConfig } from '../../const';\nimport { AXMOrgChartConfigService } from './org-chart-configuration.service';\nimport { AXMOrgChartPrintService } from './org-chart-print.service';\nimport { AXMOrgChartService } from './org-chart.service';\nimport { AXM_ORG_CHART_NODE_TYPE_ENTITY_MAPPINGS, AXMOrganizationNode, AXMOrganizationNodeType, AXMOrganizationNodeTypeCategory } from './org-chart.type';\nimport set from 'lodash-es/set';\n\n/**\n * Component for displaying and interacting with an organizational chart.\n */\n@Component({\n templateUrl: './org-chart.page.html',\n styleUrls: ['./org-chart.page.scss'],\n imports: [\n CommonModule,\n RouterModule,\n AXPSimplePageLayout,\n AXPThemeLayoutBlockComponent,\n AXPThemeLayoutHeaderTemplateComponent,\n AXPThemeLayoutActionsComponent,\n AXPThemeLayoutPageSecondaryActionsComponent,\n AXPThemeLayoutPagePrimaryActionsComponent,\n AXPThemeLayoutFooterComponent,\n AXMenuModule,\n AXButtonModule,\n AXDropdownButtonModule,\n AXTranslationModule,\n AXDecoratorModule,\n AXPanViewDirective,\n AXLoadingModule,\n AXBreadcrumbsModule,\n AXBadgeModule,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [AXMOrgChartConfigService, AXMOrgChartService, AXMOrgChartPrintService],\n})\nexport class AXMOrgChartPage {\n\n\n protected readonly layout = inject(AXPLayoutThemeService);\n protected readonly rootConfig = RootConfig;\n\n private d3!: typeof import('d3');\n\n private nodeTemplate = viewChild.required<TemplateRef<any>>('nodeTemplate');\n private treeContainer = viewChild.required<ElementRef<HTMLDivElement>>('chart');\n private parent = viewChild.required<ElementRef<HTMLDivElement>>('parent');\n private contextMenu = viewChild(AXContextMenuComponent);\n private panView = viewChild(AXPanViewDirective);\n\n private ngzone = inject(NgZone);\n private viewContainerRef = inject(ViewContainerRef);\n private chartPrintService = inject(AXMOrgChartPrintService);\n private chartService = inject(AXMOrgChartService);\n\n\n private readonly NODE_STROKE_COLOR = 'rgba(var(--ax-sys-color-primary-400))';\n private readonly LINK_STROKE_WIDTH = 1;\n\n protected readonly NodeTypes = AXMOrganizationNodeTypeCategory;\n\n protected isFullscreen = signal(false);\n protected panX = signal(0);\n protected panY = signal(0);\n protected panZoomLevel = signal(100);\n\n protected isChartRendered = false;\n\n\n protected nodeTypes = Object.entries(AXM_ORG_CHART_NODE_TYPE_ENTITY_MAPPINGS).map(c =>\n (\n {\n title: c[1].title,\n color: c[1].color,\n icon: c[1].icon,\n category: c[1].category\n })\n );\n\n #initialize = afterNextRender(async () => {\n this.d3 = await import('d3');\n await this.chartService.load();\n await this.refreshChart();\n });\n\n\n /**\n * Zooms in the chart.\n */\n protected zoomIn() {\n this.panZoomLevel.update((prev) => prev + 5);\n }\n\n /**\n * Zooms out the chart.\n */\n protected zoomOut() {\n this.panZoomLevel.update((prev) => prev - 5);\n }\n\n /**\n * Resets the zoom level and pan position of the chart.\n */\n protected zoomReset() {\n this.panView()?.resetPosition();\n }\n\n /**\n * Toggles fullscreen mode for the chart.\n */\n protected toggleFullscreen() {\n if (this.isFullscreen()) {\n document.exitFullscreen();\n this.isFullscreen.set(false);\n } else {\n this.parent().nativeElement.requestFullscreen();\n this.isFullscreen.set(true);\n }\n document.querySelector(`foreignObject[node=\"node-${this.chartService.rootNode().id}\"]`)?.scrollIntoView({\n behavior: 'smooth',\n block: 'start',\n inline: 'center',\n });\n }\n\n /**\n * Calculates the maximum depth of the organizational chart.\n * @param node - The root node of the chart.\n * @returns The maximum depth of the chart.\n */\n private calculateMaxDepth(node: AXMOrganizationNode): number {\n if (!node.children || node.children.length === 0 || node.isExpanded === false) {\n return 1;\n }\n return 1 + Math.max(...node.children.map((child) => this.calculateMaxDepth(child)));\n }\n\n /**\n * Calculates the maximum breadth of the organizational chart.\n * @param node - The root node of the chart.\n * @returns The maximum breadth of the chart.\n */\n private calculateMaxBreadth(node: AXMOrganizationNode): number {\n if (!node.children || node.children.length === 0 || node.isExpanded === false) {\n return 1;\n }\n return node.children.reduce((acc, child) => acc + this.calculateMaxBreadth(child), 0);\n }\n\n /**\n * Creates and renders the organizational chart.\n * @param el - The container element for the chart.\n * @param data - The root node of the organizational chart.\n */\n createChart(el: Element, data: AXMOrganizationNode): void {\n if (!this.d3) {\n return;\n }\n this.ngzone.runOutsideAngular(() => {\n const NODE_WIDTH_BASE = 260;\n const NODE_HEIGHT_BASE = 180;\n const HORIZONTAL_SPACING = 20;\n const VERTICAL_SPACING = 40;\n\n this.clearChart(el);\n const newSvg = this.d3.select(el).append('svg');\n\n const root = this.d3.hierarchy(data);\n\n root.descendants().forEach((node: any) => {\n if (node.data.isExpanded === false) {\n node.children = undefined;\n }\n });\n\n const treeLayout = this.d3\n .tree<AXMOrganizationNode>()\n .nodeSize([NODE_WIDTH_BASE + HORIZONTAL_SPACING, NODE_HEIGHT_BASE + VERTICAL_SPACING]);\n\n treeLayout(root);\n\n let minX = Infinity,\n maxX = -Infinity,\n minY = Infinity,\n maxY = -Infinity;\n root.descendants().forEach((d: any) => {\n if (d.x < minX) minX = d.x;\n if (d.x > maxX) maxX = d.x;\n if (d.y < minY) minY = d.y;\n if (d.y > maxY) maxY = d.y;\n });\n\n const CONTAINER_WIDTH = maxX - minX + NODE_WIDTH_BASE + 2 * HORIZONTAL_SPACING;\n const CONTAINER_HEIGHT = maxY - minY + NODE_HEIGHT_BASE + 2 * VERTICAL_SPACING;\n\n newSvg.attr('width', CONTAINER_WIDTH).attr('height', CONTAINER_HEIGHT);\n\n const g = newSvg\n .append('g')\n .attr(\n 'transform',\n `translate(${-minX + NODE_WIDTH_BASE / 2 + HORIZONTAL_SPACING / 2}, ${-minY + NODE_HEIGHT_BASE / 2 + VERTICAL_SPACING / 2\n })`\n );\n\n const link = g\n .selectAll('.link')\n .data(root.links())\n .enter()\n .append('path')\n .attr('class', 'link')\n .attr('d', (d: any) => {\n const source = d.source;\n const target = d.target;\n return `M${source.x},${source.y}V${(source.y + target.y) / 2}H${target.x}V${target.y - 10}`;\n })\n .attr('fill', 'none')\n .attr('stroke', this.NODE_STROKE_COLOR)\n .attr('stroke-width', this.LINK_STROKE_WIDTH)\n .attr('from', (d: any) => `node-${d.source.data.id}`)\n .attr('to', (d: any) => `node-${d.target.data.id}`);\n\n const node = g\n .selectAll('.axp-chart-node')\n .data(root.descendants())\n .enter()\n .append('foreignObject')\n .attr('class', 'axp-chart-node')\n .attr('node', (d: any) => `node-${d.data.id}`)\n .attr('x', (d: any) => d.x - NODE_WIDTH_BASE / 2)\n .attr('y', (d: any) => d.y - NODE_HEIGHT_BASE / 2 + 10)\n .attr('width', NODE_WIDTH_BASE)\n .attr('height', NODE_HEIGHT_BASE)\n .each((d: any) => this.renderNodeTemplate(d.data, d.x, d.y));\n\n this.contextMenu()?.refresh();\n });\n if (!this.isChartRendered) {\n // document.querySelector(`foreignObject[node=\"node-${data.id}\"] .--heading-container`)?.scrollIntoView({\n // behavior: 'smooth',\n // block: 'center',\n // inline: 'center',\n // });\n this.isChartRendered = true;\n this.panView()?.resetPosition();\n }\n }\n\n /**\n * Renders the node template for a given organizational node.\n * @param data - The node data.\n * @param x - The x-coordinate of the node.\n * @param y - The y-coordinate of the node.\n */\n private renderNodeTemplate(data: AXMOrganizationNode, x: number, y: number): void {\n\n // Find the key that matches the node type\n const entityKey = Object.keys(AXM_ORG_CHART_NODE_TYPE_ENTITY_MAPPINGS).find(key => {\n const keyName = key.split('.').pop(); // Get the last part after splitting by '.'\n return keyName === data.type; // Compare with data.type\n });\n\n if (entityKey) {\n const categoryMapping = AXM_ORG_CHART_NODE_TYPE_ENTITY_MAPPINGS[entityKey];\n\n // Add the category to the data object\n set(data, 'category', categoryMapping.category);\n }\n\n const viewRef = this.viewContainerRef.createEmbeddedView(this.nodeTemplate(), {\n $implicit: data,\n });\n\n const nodeElement = this.d3.select(this.treeContainer().nativeElement).select(`[node=\"node-${data.id}\"]`);\n const element = nodeElement.node() as HTMLElement | null;\n if (element) {\n element.appendChild(viewRef.rootNodes[0]);\n }\n }\n\n /**\n * Toggles the expansion state of a node.\n * @param data - The node data.\n * @param el - The HTML element representing the node.\n */\n protected toggleNode(data: AXMOrganizationNode, el: HTMLDivElement) {\n data.isExpanded = data.isExpanded === undefined ? false : !data.isExpanded;\n this.createChart(this.treeContainer().nativeElement, this.chartService.rootNode());\n // el.scrollIntoView({\n // behavior: 'smooth',\n // });\n }\n\n /**\n * Clears the chart from the container element.\n * @param el - The container element.\n */\n private clearChart(el: Element): void {\n if (this.d3) {\n this.d3.select(el).select('svg').remove();\n this.viewContainerRef.clear();\n }\n }\n\n private async refreshChart() {\n if (this.d3) {\n this.createChart(this.treeContainer().nativeElement, this.chartService.rootNode());\n }\n }\n\n\n\n //#region Context Menu\n\n protected async handleContextMenuOnOpening(e: AXContextMenuOpeningEvent) {\n const node = get(e.targetElement, '__data__.data') as any as AXMOrganizationNode;\n const allowedAddItems = await this.chartService.getAllowedAddMenuItems(node);\n const allowDelete = node.type != AXMOrganizationNodeType.Company;\n const isPasteAvailable = await this.chartService.isPasteAvailable();\n const allowPaste = await this.chartService.allowPaste(node);\n //\n if (allowedAddItems.length) {\n e.items.push({\n text: 'Add New',\n icon: 'fa-light fa-plus',\n items: allowedAddItems,\n break: allowDelete,\n });\n }\n //\n if (allowDelete) {\n e.items.push({\n name: 'cut',\n text: 'Cut',\n icon: 'fa-light fa-cut',\n data: node\n });\n e.items.push({\n name: 'copy',\n text: 'Copy',\n icon: 'fa-light fa-copy',\n data: node,\n break: !isPasteAvailable\n });\n }\n if (isPasteAvailable) {\n e.items.push({\n name: 'paste',\n text: 'Paste',\n icon: 'fa-light fa-paste',\n data: node,\n break: true,\n disabled: !allowPaste\n });\n }\n //\n if (allowDelete) {\n e.items.push({\n name: 'remove',\n text: 'Remove',\n color: 'danger',\n icon: 'fa-light fa-trash-can',\n data: node,\n });\n }\n //\n if (e.items.length == 0) {\n e.canceled = true;\n }\n }\n\n protected async handleContextMenuItemClick(e: AXContextMenuItemsClickEvent) {\n //\n if (e.item.name == 'add') {\n if (await this.chartService.addNode(e.item.data)) {\n await this.refreshChart();\n }\n }\n //\n else if (e.item.name == 'remove') {\n await this.chartService.removeNode(e.item.data.id)\n await this.refreshChart();\n }\n //\n else if (e.item.name == 'copy') {\n await this.chartService.copyNode(e.item.data.id)\n }\n else if (e.item.name == 'cut') {\n await this.chartService.cutNode(e.item.data.id);\n await this.refreshChart();\n }\n else if (e.item.name == 'paste') {\n await this.chartService.pasteNode(e.item.data.id);\n await this.refreshChart();\n }\n }\n\n //#endregion\n\n /**\n * Prints the organizational chart.\n */\n protected async printChart() {\n let [panX, panY, panZoomLevel] = [this.panX(), this.panY(), this.panZoomLevel()];\n this.panX.set(0), this.panY.set(0), this.panZoomLevel.set(100);\n await this.chartPrintService.printChart(this.treeContainer().nativeElement);\n this.panX.set(panX), this.panY.set(panY), this.panZoomLevel.set(panZoomLevel);\n }\n\n /**\n * Gets the node colors based on the provided color.\n * @param color - The color to use for the node.\n * @returns An object containing the node's background, text, and border colors.\n */\n protected getNodeColors(color: string) {\n if (color.includes('surface')) {\n return {\n '--node-bg-color': `var(--ax-sys-color-${color})`,\n '--node-text-color': `var(--ax-sys-color-on-${color})`,\n '--node-border-color': `var(--ax-sys-color-border-${color})`,\n };\n }\n return {\n '--node-bg-color': `var(--ax-sys-color-${color}-surface)`,\n '--node-text-color': `var(--ax-sys-color-on-${color}-surface)`,\n '--node-border-color': `var(--ax-sys-color-border-${color}-surface)`,\n };\n }\n\n protected updateVar(oldValue: any, newValue: AXMOrganizationNodeTypeCategory) {\n oldValue.cat = newValue;\n }\n\n ngOnDestroy(): void {\n this.clearChart(this.treeContainer().nativeElement);\n }\n}\n","<axp-layout-simple-page *translate=\"let t\">\n <axp-layout-header>\n <axp-layout-title> {{t(rootConfig.entities.chart.title) | async}} </axp-layout-title>\n\n <axp-layout-description> Clear and dynamic view of your organization's structure </axp-layout-description>\n\n <axp-layout-actions>\n <axp-layout-actions-primary> </axp-layout-actions-primary>\n\n <axp-layout-actions-secondary>\n <ax-button-item [text]=\"(t('print') | async)!\" (onClick)=\"printChart()\">\n <ax-prefix>\n <ax-icon [icon]=\"'fa-solid fa-print'\"> </ax-icon>\n </ax-prefix>\n </ax-button-item>\n </axp-layout-actions-secondary>\n </axp-layout-actions>\n\n <axp-layout-breadcrumbs>\n <ax-breadcrumbs [class.ax-hidden]=\"layout.isSmall()\">\n <ng-template #divider>\n <i class=\"fa-regular fa-slash-forward\"></i>\n </ng-template>\n <ax-breadcrumbs-item> {{(t('home') | async)}} </ax-breadcrumbs-item>\n <ax-breadcrumbs-item> Organization </ax-breadcrumbs-item>\n </ax-breadcrumbs>\n </axp-layout-breadcrumbs>\n </axp-layout-header>\n\n <axp-layout-content class=\"ax-overflow-hidden\">\n <div class=\"ax-h-[calc(100vh-290px)]\" #parent id=\"parent\">\n <div #chart axPanView [(panX)]=\"panX\" [(panY)]=\"panY\" [(zoom)]=\"panZoomLevel\" [fitContent]=\"true\"\n wrapperClasses=\"h\" class=\"ax-light\"></div>\n <ax-context-menu [target]=\"'.axp-chart-node'\" [orientation]=\"'vertical'\" [closeOn]=\"'leave'\"\n (onItemClick)=\"handleContextMenuItemClick($event)\" (onOpening)=\"handleContextMenuOnOpening($event)\">\n </ax-context-menu>\n </div>\n </axp-layout-content>\n <axp-layout-footer>\n <axp-layout-prefix>\n <div class=\"ax-flex ax-gap-1 ax-light ax-flex-wrap ax-justify-center\">\n @let v = {cat:'Company'};\n @for (item of nodeTypes; track $index) {\n <div class=\"axp-node-hint\" [style]=\"getNodeColors(item.color)\" [class.ax-ms-4]=\"v.cat!=item.category\">\n <div class=\"--badge\">\n </div>\n {{item.title}}\n </div>\n {{updateVar(v,item.category)}}\n }\n </div>\n </axp-layout-prefix>\n <axp-layout-suffix>\n <div class=\"ax-flex ax-gap-2 \">\n <ax-button (onClick)=\"zoomOut()\">\n <ax-icon class=\"fa-solid fa-minus\"> </ax-icon>\n </ax-button>\n <ax-button [text]=\"panZoomLevel()\" (onClick)=\"zoomReset()\"></ax-button>\n <ax-button (onClick)=\"zoomIn()\">\n <ax-icon class=\"fa-solid fa-add\"> </ax-icon>\n </ax-button>\n <ax-button (onClick)=\"toggleFullscreen()\">\n <ax-icon>\n <i class=\"fa-solid\" [class]=\"isFullscreen()? 'fa-compress' : 'fa-expand'\"></i>\n </ax-icon>\n </ax-button>\n </div>\n </axp-layout-suffix>\n </axp-layout-footer>\n</axp-layout-simple-page>\n\n<ng-template #nodeTemplate let-data>\n <div>\n @switch (data.category) {\n <!-- Company -->\n @case (NodeTypes.Company) {\n <ng-container *ngTemplateOutlet=\"generalTemplate; context: { data,color:'primary' }\"></ng-container>\n }\n <!-- Location -->\n @case (NodeTypes.Location) {\n <ng-container *ngTemplateOutlet=\"generalTemplate; context: { data,color:'accent1' }\"></ng-container>\n }\n <!-- BusinessUnit -->\n @case (NodeTypes.BusinessUnit) {\n <ng-container *ngTemplateOutlet=\"generalTemplate; context: { data,color:'accent2' }\"></ng-container>\n }\n <!-- Role -->\n @case (NodeTypes.Role) {\n <ng-container *ngTemplateOutlet=\"generalTemplate; context: { data,color:'accent3' }\"></ng-container>\n }\n <!-- Employee -->\n @case (NodeTypes.Employee) {\n <ng-container *ngTemplateOutlet=\"generalTemplate; context: { data,color:'surface' }\"></ng-container>\n }\n }\n </div>\n</ng-template>\n\n<!----------------------------------- General Node Template ----------------------------------->\n<ng-template #generalTemplate let-data=\"data\" let-color=\"color\">\n <div #node class=\"--node-container\" [style]=\"getNodeColors(color)\">\n <div class=\"--container\">\n <div class=\"--heading-container\">\n <div class=\"--content\">\n <div class=\"--icon\">\n <i class=\"fa-light fa-xl fa-fw\" [class]=\"data.icon\"></i>\n </div>\n <div class=\"--titles\">\n <span class=\"--title\">{{data.title}}</span>\n <span class=\"--sub-title\">{{data.subtitle}}</span>\n </div>\n @if(data?.children?.length){\n <div class=\"--badge\">\n <span>{{data?.children?.length ?? 0}}</span>\n </div>\n }\n </div>\n </div>\n <div class=\"--body-container\">\n <div class=\"--description\" [class.ax-pb-3]=\"data.children && data.children.length > 0\">\n {{data.description}}\n </div>\n </div>\n @if(data.children && data.children.length > 0){\n <div class=\"--toggle\">\n <ax-button class=\"ax-xs ax-rounded-sm\" (onClick)=\"toggleNode(data,node)\">\n <ax-icon icon=\"fa-solid\" [class]=\"data.isExpanded === false ? 'fa-chevron-down' : 'fa-chevron-up'\"></ax-icon>\n </ax-button>\n </div>\n }\n </div>\n </div>\n</ng-template>"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { AXPEntityQueryType, AXPEntityCommandScope } from '@acorex/platform/common';
2
2
  import { AXPWidgetsCatalog } from '@acorex/platform/layout/builder';
3
- import { AXMOrganizationManagementPositionEntityService, RootConfig } from './acorex-modules-organization-managment.mjs';
3
+ import { AXMOrganizationManagementPositionEntityService, RootConfig } from './acorex-modules-organization-management.mjs';
4
4
 
5
5
  async function factory(injector) {
6
6
  const dataService = injector.get(AXMOrganizationManagementPositionEntityService);
@@ -209,4 +209,4 @@ async function factory(injector) {
209
209
  }
210
210
 
211
211
  export { factory };
212
- //# sourceMappingURL=acorex-modules-organization-managment-position.entity-Bbb5KAkm.mjs.map
212
+ //# sourceMappingURL=acorex-modules-organization-management-position.entity-DDkiBefn.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-modules-organization-management-position.entity-DDkiBefn.mjs","sources":["../../../../libs/modules/organization-management/src/lib/entities/position/position.entity.ts"],"sourcesContent":["import { AXPEntity, AXPEntityCommandScope, AXPEntityQueryType } from '@acorex/platform/common';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/builder';\nimport { Injector } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport { AXMOrganizationManagementPositionEntityService } from './position.service';\n\nexport async function factory(injector: Injector): Promise<AXPEntity | null> {\n const dataService = injector.get(AXMOrganizationManagementPositionEntityService);\n const i18n = RootConfig.config.i18n;\n\n const entityDef: AXPEntity = {\n module: RootConfig.module.name,\n name: RootConfig.entities.position.name,\n source: '',\n title: `t(\"position\", { scope: \"${i18n}\" })`,\n formats: {\n individual: `t(\"position\", { scope: \"${i18n}\" })`,\n plural: `t(\"positions\", { scope: \"${i18n}\" })`,\n searchResult: {\n title: '{{ title }}',\n description: RootConfig.module.title,\n },\n },\n relatedEntities: [],\n groups: [\n {\n id: 'section',\n title: `t(\"position\", { scope: \"${i18n}\" })`,\n },\n ],\n properties: [\n {\n name: 'id',\n title: 'ID',\n schema: {\n dataType: 'uuid',\n hidden: true,\n nullable: false,\n readonly: true,\n unique: {\n enabled: true,\n },\n },\n },\n {\n name: 'title',\n title: `t(\"title\", { scope: \"common\" })`,\n groupId: 'section',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n options: {\n width: '400px',\n },\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n ],\n columns: [{ name: 'title' }],\n commands: {\n create: {\n execute: async (data: any) => {\n const res = await dataService.insertOne(data);\n return { id: res };\n },\n },\n delete: {\n execute: async (id: any) => {\n return await dataService.deleteOne(id);\n },\n },\n update: {\n execute: async (data: any) => {\n return await dataService.updateOne(data.id, data);\n },\n },\n },\n queries: {\n byKey: {\n execute: async (id: string) => {\n return await dataService.getOne(id);\n },\n type: AXPEntityQueryType.Single,\n },\n list: {\n execute: async (e: any) => {\n return await dataService.query({ skip: e.skip, take: e.take, filter: e.filter, sort: e.sort });\n },\n type: AXPEntityQueryType.List,\n },\n },\n interfaces: {\n master: {\n create: {\n sections: [\n {\n id: 'section',\n },\n ],\n properties: [\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n },\n update: {\n sections: [\n {\n id: 'section',\n },\n ],\n properties: [\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n ],\n },\n single: {\n title: '{{title}}',\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: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n ],\n actions: [],\n },\n list: {\n actions: [\n {\n title: `t(\"create\", { scope: \"common\" })`,\n command: 'create-entity',\n priority: 'primary',\n type: 'create',\n scope: AXPEntityCommandScope.TypeLevel,\n },\n {\n title: 't(\"deleteItems\", { scope: \"common\" })',\n command: 'delete-entity',\n priority: 'primary',\n type: 'delete',\n scope: AXPEntityCommandScope.Selected,\n },\n {\n title: 't(\"detail\", { scope: \"common\" })',\n command: 'open-entity',\n priority: 'secondary',\n type: 'view',\n scope: AXPEntityCommandScope.Individual,\n },\n {\n title: 't(\"delete\", { scope: \"common\" })',\n command: 'delete-entity',\n priority: 'secondary',\n type: 'delete',\n scope: AXPEntityCommandScope.Individual,\n },\n ],\n views: [\n {\n name: 'all',\n title: 't(\"allItem\", { scope: \"common\" })',\n fixed: true,\n columns: [],\n conditions: [],\n sorts: [],\n },\n ],\n },\n },\n },\n };\n\n return entityDef;\n}\n"],"names":[],"mappings":"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"}
@@ -19,4 +19,4 @@ var AXPOrganizationSetting;
19
19
  })(AXPOrganizationSetting || (AXPOrganizationSetting = {}));
20
20
 
21
21
  export { AXPOrganizationSetting as A };
22
- //# sourceMappingURL=acorex-modules-organization-managment-setting.keys-CF6Giykz.mjs.map
22
+ //# sourceMappingURL=acorex-modules-organization-management-setting.keys-CF6Giykz.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-modules-organization-management-setting.keys-CF6Giykz.mjs","sources":["../../../../libs/modules/organization-management/src/lib/setting.keys.ts"],"sourcesContent":["const path = 'organization:';\n\nexport enum AXPOrganizationSetting {\n OrganizationName = `${path}organization-name`,\n OrganizationID = `${path}organization-id`,\n ContactEmail = `${path}contact-email`,\n ContactPhone = `${path}contact-phone`,\n OrganizationAddress = `${path}organization-address`,\n OrganizationCity = `${path}organization-city`,\n OrganizationCountry = `${path}organization-country`,\n BrandingColor = `${path}branding-color`,\n BrandingLogo = `${path}branding-logo`,\n CopyrightText = `${path}copyright-text`,\n ApplicationHeaderTitle = `${path}application-header-title`,\n SupportEmail = `${path}support-email`,\n InfoEmail = `${path}info-email`,\n FaxNumber = `${path}fax-number`,\n Relations = `${path}:relations`,\n}\n"],"names":[],"mappings":"AAAA,MAAM,IAAI,GAAG,eAAe;IAEhB;AAAZ,CAAA,UAAY,sBAAsB,EAAA;AAC9B,IAAA,sBAAA,CAAA,kBAAA,CAAA,GAAA,gCAA6C;AAC7C,IAAA,sBAAA,CAAA,gBAAA,CAAA,GAAA,8BAAyC;AACzC,IAAA,sBAAA,CAAA,cAAA,CAAA,GAAA,4BAAqC;AACrC,IAAA,sBAAA,CAAA,cAAA,CAAA,GAAA,4BAAqC;AACrC,IAAA,sBAAA,CAAA,qBAAA,CAAA,GAAA,mCAAmD;AACnD,IAAA,sBAAA,CAAA,kBAAA,CAAA,GAAA,gCAA6C;AAC7C,IAAA,sBAAA,CAAA,qBAAA,CAAA,GAAA,mCAAmD;AACnD,IAAA,sBAAA,CAAA,eAAA,CAAA,GAAA,6BAAuC;AACvC,IAAA,sBAAA,CAAA,cAAA,CAAA,GAAA,4BAAqC;AACrC,IAAA,sBAAA,CAAA,eAAA,CAAA,GAAA,6BAAuC;AACvC,IAAA,sBAAA,CAAA,wBAAA,CAAA,GAAA,uCAA0D;AAC1D,IAAA,sBAAA,CAAA,cAAA,CAAA,GAAA,4BAAqC;AACrC,IAAA,sBAAA,CAAA,WAAA,CAAA,GAAA,yBAA+B;AAC/B,IAAA,sBAAA,CAAA,WAAA,CAAA,GAAA,yBAA+B;AAC/B,IAAA,sBAAA,CAAA,WAAA,CAAA,GAAA,yBAA+B;AACnC,CAAC,EAhBW,sBAAsB,KAAtB,sBAAsB,GAgBjC,EAAA,CAAA,CAAA;;;;"}
@@ -1,5 +1,5 @@
1
1
  import { AXPWidgetsCatalog } from '@acorex/platform/layout/builder';
2
- import { A as AXPOrganizationSetting } from './acorex-modules-organization-managment-setting.keys-CF6Giykz.mjs';
2
+ import { A as AXPOrganizationSetting } from './acorex-modules-organization-management-setting.keys-CF6Giykz.mjs';
3
3
 
4
4
  class AXMSettingProvider {
5
5
  constructor(sessionService) {
@@ -7,7 +7,7 @@ class AXMSettingProvider {
7
7
  }
8
8
  async provide(context) {
9
9
  context
10
- .addGroup('organization-settings', 'Organization Settings', 'Manage organizational preferences.', 'fa-solid fa-building')
10
+ .addGroup('organization-settings', 'Organization Settings', 'Manage organizational preferences.', 'fa-light fa-building')
11
11
  // Branding Section
12
12
  .addSection('branding', 'Branding', 'Configure company branding.')
13
13
  .addSetting({
@@ -180,4 +180,4 @@ class AXMSettingProvider {
180
180
  }
181
181
 
182
182
  export { AXMSettingProvider };
183
- //# sourceMappingURL=acorex-modules-organization-managment-setting.provider-nKs53GcA.mjs.map
183
+ //# sourceMappingURL=acorex-modules-organization-management-setting.provider-eLv_qnmE.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-modules-organization-management-setting.provider-eLv_qnmE.mjs","sources":["../../../../libs/modules/organization-management/src/lib/setting.provider.ts"],"sourcesContent":["import { AXPSettingDefinitionProvider, AXPSettingDefinitionProviderContext } from '@acorex/platform/common';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/builder';\nimport { AXPOrganizationSetting } from './setting.keys';\nimport { AXPSessionService } from '@acorex/platform/auth';\n\nexport class AXMSettingProvider implements AXPSettingDefinitionProvider {\n\n constructor(private sessionService: AXPSessionService) {\n\n }\n\n async provide(context: AXPSettingDefinitionProviderContext): Promise<void> {\n context\n .addGroup('organization-settings', 'Organization Settings', 'Manage organizational preferences.', 'fa-light fa-building')\n\n // Branding Section\n .addSection('branding', 'Branding', 'Configure company branding.')\n .addSetting({\n key: AXPOrganizationSetting.OrganizationName,\n title: 'Company Name',\n scope: 'T',\n isInherited: false,\n defaultValue: this.sessionService.tenant?.title,\n widget: {\n type: AXPWidgetsCatalog.text,\n },\n description: 'Specify the official name of the company.',\n })\n .addSetting({\n key: 'branding-logo',\n title: 'Company Logo',\n scope: 'T',\n isInherited: false,\n defaultValue: '',\n widget: {\n type: AXPWidgetsCatalog.avatar,\n options: {\n fileTypes: ['image/png', 'image/jpeg'],\n },\n },\n description: 'Upload the company logo.',\n })\n .addSetting({\n key: 'copyright-text',\n title: 'Copyright Text',\n scope: 'T',\n isInherited: true,\n defaultValue: '© 2024 Your Company',\n widget: {\n type: AXPWidgetsCatalog.text,\n },\n description: 'Text displayed in the footer of the application.',\n })\n .addSetting({\n key: 'application-header-title',\n title: 'Application Header Title',\n scope: 'T',\n isInherited: true,\n defaultValue: this.sessionService.application?.title,\n widget: {\n type: AXPWidgetsCatalog.text,\n },\n description: 'Title displayed in the application header.',\n })\n .endSection()\n\n // Contact Details Section\n .addSection('contact', 'Contact Details', 'Set company contact information.')\n .addSetting({\n key: AXPOrganizationSetting.ContactEmail,\n title: 'Company Email',\n scope: 'T',\n isInherited: false,\n defaultValue: '',\n widget: {\n type: AXPWidgetsCatalog.contact,\n options: {\n type: 'email',\n hasLabel: false,\n }\n },\n description: 'Primary email address for the company.',\n })\n .addSetting({\n key: 'support-email',\n title: 'Support Email',\n scope: 'T',\n isInherited: false,\n defaultValue: '',\n widget: {\n type: AXPWidgetsCatalog.contact,\n options: {\n type: 'email',\n hasLabel: false,\n }\n },\n description: 'Support email address for customer inquiries.',\n })\n .addSetting({\n key: 'info-email',\n title: 'Info Email',\n scope: 'T',\n isInherited: false,\n defaultValue: '',\n widget: {\n type: AXPWidgetsCatalog.contact,\n options: {\n type: 'email',\n hasLabel: false,\n }\n },\n description: 'General information email address.',\n })\n .addSetting({\n key: AXPOrganizationSetting.ContactPhone,\n title: 'Company Phone',\n scope: 'T',\n isInherited: false,\n defaultValue: '',\n widget: {\n type: AXPWidgetsCatalog.contact,\n options: {\n type: 'phone',\n hasLabel: false,\n }\n },\n description: 'Primary contact phone number.',\n })\n .addSetting({\n key: 'fax-number',\n title: 'Fax Number',\n scope: 'T',\n isInherited: false,\n defaultValue: '',\n widget: {\n type: AXPWidgetsCatalog.contact,\n options: {\n type: 'phone',\n hasLabel: false,\n }\n },\n description: 'Fax number for the company.',\n })\n .endSection()\n\n // Address Section\n .addSection('address', 'Address', 'Manage company address details.')\n .addSetting({\n key: AXPOrganizationSetting.OrganizationAddress,\n title: 'Street Address',\n scope: 'T',\n isInherited: false,\n defaultValue: '',\n widget: {\n type: AXPWidgetsCatalog.text,\n },\n description: 'Street address of the company.',\n })\n .addSetting({\n key: AXPOrganizationSetting.OrganizationCity,\n title: 'City',\n scope: 'T',\n isInherited: false,\n defaultValue: '',\n widget: {\n type: AXPWidgetsCatalog.text,\n },\n description: 'City where the company is located.',\n })\n .addSetting({\n key: AXPOrganizationSetting.OrganizationCountry,\n title: 'Country',\n scope: 'T',\n isInherited: false,\n defaultValue: '',\n widget: {\n type: AXPWidgetsCatalog.select,\n options: {\n dataSource: ['United States', 'United Kingdom', 'France', 'Germany', 'Japan', 'China'],\n },\n },\n description: 'Country where the company is based.',\n })\n .endSection()\n\n .endGroup();\n }\n}\n"],"names":[],"mappings":"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"}
@@ -29,13 +29,13 @@ const RootConfig = {
29
29
  name: 'Division',
30
30
  source: `${config.module}.Division`,
31
31
  title: `t("division",{scope:"${config.i18n}"})`,
32
- icon: 'fa-light fa-object-subtract',
32
+ icon: 'fa-light fa-sitemap',
33
33
  },
34
34
  department: {
35
35
  name: 'Department',
36
36
  source: `${config.module}.Department`,
37
37
  title: `t("department",{scope:"${config.i18n}"})`,
38
- icon: 'fa-light fa-layer-group',
38
+ icon: 'fa-light fa-building-user',
39
39
  },
40
40
  branch: {
41
41
  name: 'Branch',
@@ -47,7 +47,7 @@ const RootConfig = {
47
47
  name: 'Position',
48
48
  source: `${config.module}.Position`,
49
49
  title: `t("position",{scope:"${config.i18n}"})`,
50
- icon: 'fa-light fa-user-tag',
50
+ icon: 'fa-light fa-user-tie',
51
51
  },
52
52
  employee: {
53
53
  name: 'Employee',
@@ -386,6 +386,50 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
386
386
  }]
387
387
  }] });
388
388
 
389
+ var AXMOrganizationNodeTypeCategory;
390
+ (function (AXMOrganizationNodeTypeCategory) {
391
+ AXMOrganizationNodeTypeCategory["Company"] = "Company";
392
+ AXMOrganizationNodeTypeCategory["Location"] = "Location";
393
+ AXMOrganizationNodeTypeCategory["BusinessUnit"] = "BusinessUnit";
394
+ AXMOrganizationNodeTypeCategory["Role"] = "Role";
395
+ AXMOrganizationNodeTypeCategory["Employee"] = "Employee"; // Employee
396
+ })(AXMOrganizationNodeTypeCategory || (AXMOrganizationNodeTypeCategory = {}));
397
+ const AXM_ORG_CHART_NODE_TYPE_CATEGORY_LIST = {
398
+ "Company": { title: "Company", icon: "fal fa-building", color: 'primary' },
399
+ "Location": { title: "Location", icon: "fal fa-map", color: 'accent1' },
400
+ "BusinessUnit": { title: "Business Unit", icon: "fal fa-network-wired", color: 'accent2' },
401
+ "Role": { title: "Role", icon: "fal fa-user-tie", color: 'accent3' },
402
+ "Employee": { title: "Employee", icon: "fal a-address-card", color: 'surface' },
403
+ };
404
+ var AXMOrganizationNodeType;
405
+ (function (AXMOrganizationNodeType) {
406
+ AXMOrganizationNodeType["Company"] = "Company";
407
+ AXMOrganizationNodeType["Country"] = "Country";
408
+ AXMOrganizationNodeType["State"] = "State";
409
+ AXMOrganizationNodeType["City"] = "City";
410
+ AXMOrganizationNodeType["Division"] = "Division";
411
+ AXMOrganizationNodeType["Department"] = "Department";
412
+ AXMOrganizationNodeType["Branch"] = "Branch";
413
+ AXMOrganizationNodeType["Position"] = "Position";
414
+ AXMOrganizationNodeType["Employee"] = "Employee";
415
+ })(AXMOrganizationNodeType || (AXMOrganizationNodeType = {}));
416
+ // Define a mapping between entity sources, organization node types, titles, and icons
417
+ const AXM_ORG_CHART_NODE_TYPE_ENTITY_MAPPINGS = {
418
+ 'OrganizationManagement.Company': { category: AXMOrganizationNodeTypeCategory.Company, type: AXMOrganizationNodeType.Company, title: 'Company', icon: 'fal fa-building', color: "primary" },
419
+ // Location
420
+ 'OrganizationManagement.Country': { category: AXMOrganizationNodeTypeCategory.Location, type: AXMOrganizationNodeType.Country, title: 'Country', icon: 'fal fa-globe', color: "accent1" },
421
+ 'OrganizationManagement.State': { category: AXMOrganizationNodeTypeCategory.Location, type: AXMOrganizationNodeType.State, title: 'State', icon: 'fal fa-map', color: "accent1" },
422
+ 'OrganizationManagement.City': { category: AXMOrganizationNodeTypeCategory.Location, type: AXMOrganizationNodeType.City, title: 'City', icon: 'fal fa-city', color: "accent1" },
423
+ // Business Unit
424
+ 'OrganizationManagement.Division': { category: AXMOrganizationNodeTypeCategory.BusinessUnit, type: AXMOrganizationNodeType.Division, title: 'Division', icon: 'fal fa-sitemap', color: "accent2" },
425
+ 'OrganizationManagement.Department': { category: AXMOrganizationNodeTypeCategory.BusinessUnit, type: AXMOrganizationNodeType.Department, title: 'Department', icon: 'fal fa-building-user', color: "accent2" },
426
+ 'OrganizationManagement.Branch': { category: AXMOrganizationNodeTypeCategory.BusinessUnit, type: AXMOrganizationNodeType.Branch, title: 'Branch', icon: 'fal fa-network-wired', color: "accent2" },
427
+ // Role
428
+ 'OrganizationManagement.Position': { category: AXMOrganizationNodeTypeCategory.Role, type: AXMOrganizationNodeType.Position, title: 'Position', icon: 'fal fa-user-tie', color: "accent3" },
429
+ // Employee
430
+ 'OrganizationManagement.Employee': { category: AXMOrganizationNodeTypeCategory.Employee, type: AXMOrganizationNodeType.Employee, title: 'Employee', icon: 'fal fa-address-card', color: "surface" }
431
+ };
432
+
389
433
  class AXMOrganizationModuleEntityProvider {
390
434
  constructor() {
391
435
  this.injector = inject(Injector);
@@ -401,21 +445,21 @@ class AXMOrganizationModuleEntityProvider {
401
445
  if (moduleName == RootConfig.module.name) {
402
446
  switch (entityName) {
403
447
  case RootConfig.entities.company.name:
404
- return (await import('./acorex-modules-organization-managment-company.entity-DJt8tCqO.mjs')).factory(this.injector);
448
+ return (await import('./acorex-modules-organization-management-company.entity-d7GaCVei.mjs')).factory(this.injector);
405
449
  case RootConfig.entities.division.name:
406
- return (await import('./acorex-modules-organization-managment-division.entity-DHVnrP38.mjs')).factory(this.injector);
450
+ return (await import('./acorex-modules-organization-management-division.entity-Ckmu2Tj9.mjs')).factory(this.injector);
407
451
  case RootConfig.entities.department.name:
408
- return (await import('./acorex-modules-organization-managment-department.entity-C1PxLx6p.mjs')).factory(this.injector);
452
+ return (await import('./acorex-modules-organization-management-department.entity-Dl7y4Rva.mjs')).factory(this.injector);
409
453
  case RootConfig.entities.branch.name:
410
- return (await import('./acorex-modules-organization-managment-branch.entity-kuZxLStS.mjs')).factory(this.injector);
454
+ return (await import('./acorex-modules-organization-management-branch.entity-CbmnpHl2.mjs')).factory(this.injector);
411
455
  case RootConfig.entities.employee.name:
412
- return (await import('./acorex-modules-organization-managment-employee.entity-D4BSxGAW.mjs')).factory(this.injector);
456
+ return (await import('./acorex-modules-organization-management-employee.entity-PwlBjkYo.mjs')).factory(this.injector);
413
457
  case RootConfig.entities.employmentType.name:
414
- return (await import('./acorex-modules-organization-managment-employment-type.entity-Cgbezwio.mjs')).factory(this.injector);
458
+ return (await import('./acorex-modules-organization-management-employment-type.entity-9aOaYT_-.mjs')).factory(this.injector);
415
459
  case RootConfig.entities.position.name:
416
- return (await import('./acorex-modules-organization-managment-position.entity-Bbb5KAkm.mjs')).factory(this.injector);
460
+ return (await import('./acorex-modules-organization-management-position.entity-DDkiBefn.mjs')).factory(this.injector);
417
461
  case RootConfig.entities.chart.name:
418
- return (await import('./acorex-modules-organization-managment-chart.entity-BqUE8fbV.mjs')).factory(this.injector);
462
+ return (await import('./acorex-modules-organization-management-chart.entity-Bk4WgsYr.mjs')).factory(this.injector);
419
463
  }
420
464
  }
421
465
  return null;
@@ -515,20 +559,20 @@ function routesFacory() {
515
559
  children: [
516
560
  {
517
561
  path: 'chart',
518
- loadComponent: () => import('./acorex-modules-organization-managment-org-chart.page-B3aaLlm2.mjs').then((c) => c.AXMOrgChartPage),
562
+ loadComponent: () => import('./acorex-modules-organization-management-org-chart.page-Cz4ENQRa.mjs').then(function (n) { return n.o; }).then((c) => c.AXMOrgChartPage),
519
563
  },
520
564
  {
521
565
  path: 'configuration',
522
- loadComponent: () => import('./acorex-modules-organization-managment-org-chart-configuration.page-DEFgztyn.mjs').then((c) => c.AXMOrgChartConfigurationPage),
566
+ loadComponent: () => import('./acorex-modules-organization-management-org-chart-configuration.page-BzjTyYyS.mjs').then((c) => c.AXMOrgChartConfigurationPage),
523
567
  },
524
568
  ],
525
569
  },
526
570
  ];
527
571
  return routes;
528
572
  }
529
- class AXMOrganizationManagmentModule {
530
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXMOrganizationManagmentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
531
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.3", ngImport: i0, type: AXMOrganizationManagmentModule, imports: [CommonModule,
573
+ class AXMOrganizationManagementModule {
574
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXMOrganizationManagementModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
575
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.3", ngImport: i0, type: AXMOrganizationManagementModule, imports: [CommonModule,
532
576
  AXMOrganizationManagementCompanyEntityModule,
533
577
  AXMOrganizationManagementDepartmentEntityModule,
534
578
  AXMOrganizationManagementDivisionEntityModule,
@@ -537,7 +581,7 @@ class AXMOrganizationManagmentModule {
537
581
  AXMOrganizationManagementPositionEntityModule,
538
582
  AXMOrganizationManagementChartEntityModule,
539
583
  AXMOrganizationManagementEmploymentTypeEntityModule] }); }
540
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXMOrganizationManagmentModule, providers: [
584
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXMOrganizationManagementModule, providers: [
541
585
  {
542
586
  provide: AXP_ENTITY_DEFINITION_LOADER,
543
587
  useClass: AXMOrganizationModuleEntityProvider,
@@ -547,7 +591,7 @@ class AXMOrganizationManagmentModule {
547
591
  provide: AXP_SETTING_DEFINITION_PROVIDER,
548
592
  useFactory: async () => {
549
593
  const injector = inject(Injector);
550
- const provider = (await import('./acorex-modules-organization-managment-setting.provider-nKs53GcA.mjs')).AXMSettingProvider;
594
+ const provider = (await import('./acorex-modules-organization-management-setting.provider-eLv_qnmE.mjs')).AXMSettingProvider;
551
595
  return new provider(injector.get(AXPSessionService));
552
596
  },
553
597
  multi: true,
@@ -572,7 +616,7 @@ class AXMOrganizationManagmentModule {
572
616
  AXMOrganizationManagementChartEntityModule,
573
617
  AXMOrganizationManagementEmploymentTypeEntityModule] }); }
574
618
  }
575
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXMOrganizationManagmentModule, decorators: [{
619
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXMOrganizationManagementModule, decorators: [{
576
620
  type: NgModule,
577
621
  args: [{
578
622
  imports: [
@@ -596,7 +640,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
596
640
  provide: AXP_SETTING_DEFINITION_PROVIDER,
597
641
  useFactory: async () => {
598
642
  const injector = inject(Injector);
599
- const provider = (await import('./acorex-modules-organization-managment-setting.provider-nKs53GcA.mjs')).AXMSettingProvider;
643
+ const provider = (await import('./acorex-modules-organization-management-setting.provider-eLv_qnmE.mjs')).AXMSettingProvider;
600
644
  return new provider(injector.get(AXPSessionService));
601
645
  },
602
646
  multi: true,
@@ -619,5 +663,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
619
663
  * Generated bundle index. Do not edit.
620
664
  */
621
665
 
622
- export { AXMOrganizationManagementBranchEntityModule, AXMOrganizationManagementBranchEntityService, AXMOrganizationManagementBranchEntityServiceImpl, AXMOrganizationManagementChartEntityModule, AXMOrganizationManagementChartEntityService, AXMOrganizationManagementChartEntityServiceImpl, AXMOrganizationManagementCompanyEntityModule, AXMOrganizationManagementCompanyEntityService, AXMOrganizationManagementCompanyEntityServiceImpl, AXMOrganizationManagementDepartmentEntityModule, AXMOrganizationManagementDepartmentEntityService, AXMOrganizationManagementDepartmentEntityServiceImpl, AXMOrganizationManagementDivisionEntityModule, AXMOrganizationManagementDivisionEntityService, AXMOrganizationManagementDivisionEntityServiceImpl, AXMOrganizationManagementEmployeeEntityModule, AXMOrganizationManagementEmployeeEntityService, AXMOrganizationManagementEmployeeEntityServiceImpl, AXMOrganizationManagementEmploymentTypeEntityModule, AXMOrganizationManagementEmploymentTypeEntityService, AXMOrganizationManagementEmploymentTypeEntityServiceImpl, AXMOrganizationManagementPositionEntityModule, AXMOrganizationManagementPositionEntityService, AXMOrganizationManagementPositionEntityServiceImpl, AXMOrganizationManagmentModule, RootConfig };
623
- //# sourceMappingURL=acorex-modules-organization-managment.mjs.map
666
+ export { AXMOrganizationManagementBranchEntityModule, AXMOrganizationManagementBranchEntityService, AXMOrganizationManagementBranchEntityServiceImpl, AXMOrganizationManagementChartEntityModule, AXMOrganizationManagementChartEntityService, AXMOrganizationManagementChartEntityServiceImpl, AXMOrganizationManagementCompanyEntityModule, AXMOrganizationManagementCompanyEntityService, AXMOrganizationManagementCompanyEntityServiceImpl, AXMOrganizationManagementDepartmentEntityModule, AXMOrganizationManagementDepartmentEntityService, AXMOrganizationManagementDepartmentEntityServiceImpl, AXMOrganizationManagementDivisionEntityModule, AXMOrganizationManagementDivisionEntityService, AXMOrganizationManagementDivisionEntityServiceImpl, AXMOrganizationManagementEmployeeEntityModule, AXMOrganizationManagementEmployeeEntityService, AXMOrganizationManagementEmployeeEntityServiceImpl, AXMOrganizationManagementEmploymentTypeEntityModule, AXMOrganizationManagementEmploymentTypeEntityService, AXMOrganizationManagementEmploymentTypeEntityServiceImpl, AXMOrganizationManagementModule, AXMOrganizationManagementPositionEntityModule, AXMOrganizationManagementPositionEntityService, AXMOrganizationManagementPositionEntityServiceImpl, AXMOrganizationNodeType, AXMOrganizationNodeTypeCategory, AXM_ORG_CHART_NODE_TYPE_CATEGORY_LIST, AXM_ORG_CHART_NODE_TYPE_ENTITY_MAPPINGS, RootConfig };
667
+ //# sourceMappingURL=acorex-modules-organization-management.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-modules-organization-management.mjs","sources":["../../../../libs/modules/organization-management/src/lib/const.ts","../../../../libs/modules/organization-management/src/lib/entities/company/company.service.ts","../../../../libs/modules/organization-management/src/lib/entities/company/company.module.ts","../../../../libs/modules/organization-management/src/lib/entities/division/division.service.ts","../../../../libs/modules/organization-management/src/lib/entities/division/division.module.ts","../../../../libs/modules/organization-management/src/lib/entities/department/department.service.ts","../../../../libs/modules/organization-management/src/lib/entities/department/department.module.ts","../../../../libs/modules/organization-management/src/lib/entities/branch/branch.service.ts","../../../../libs/modules/organization-management/src/lib/entities/branch/branch.module.ts","../../../../libs/modules/organization-management/src/lib/entities/position/position.service.ts","../../../../libs/modules/organization-management/src/lib/entities/position/position.module.ts","../../../../libs/modules/organization-management/src/lib/entities/employee/employee.service.ts","../../../../libs/modules/organization-management/src/lib/entities/employee/employee.module.ts","../../../../libs/modules/organization-management/src/lib/entities/employment-type/employment-type.service.ts","../../../../libs/modules/organization-management/src/lib/entities/employment-type/employment-type.module.ts","../../../../libs/modules/organization-management/src/lib/entities/chart/chart.service.ts","../../../../libs/modules/organization-management/src/lib/entities/chart/chart.module.ts","../../../../libs/modules/organization-management/src/lib/features/organization-chart/org-chart.type.ts","../../../../libs/modules/organization-management/src/lib/entity.provider.ts","../../../../libs/modules/organization-management/src/lib/menu.provider.ts","../../../../libs/modules/organization-management/src/lib/organization-management.module.ts","../../../../libs/modules/organization-management/src/acorex-modules-organization-management.ts"],"sourcesContent":["const config = {\n i18n: 'organization-management',\n module: 'OrganizationManagement',\n};\nexport const RootConfig = {\n config,\n module: {\n route: 'organization-management',\n name: config.module,\n title: `t('module-name', {scope:\"${config.i18n}\"})`,\n icon: 'fa-light fa-sitemap',\n },\n entities: {\n company: {\n name: 'Company',\n source: `${config.module}.Company`,\n title: `t(\"company\", {scope:\"${config.i18n}\"})`,\n icon: 'fa-light fa-building',\n },\n division: {\n name: 'Division',\n source: `${config.module}.Division`,\n title: `t(\"division\",{scope:\"${config.i18n}\"})`,\n icon: 'fa-light fa-sitemap',\n },\n department: {\n name: 'Department',\n source: `${config.module}.Department`,\n title: `t(\"department\",{scope:\"${config.i18n}\"})`,\n icon: 'fa-light fa-building-user',\n },\n branch: {\n name: 'Branch',\n source: `${config.module}.Branch`,\n title: `t(\"branch\",{scope:\"${config.i18n}\"})`,\n icon: 'fa-light fa-network-wired',\n },\n position: {\n name: 'Position',\n source: `${config.module}.Position`,\n title: `t(\"position\",{scope:\"${config.i18n}\"})`,\n icon: 'fa-light fa-user-tie',\n },\n employee: {\n name: 'Employee',\n source: `${config.module}.Employee`,\n title: `t(\"employee\",{scope:\"${config.i18n}\"})`,\n icon: 'fa-light fa-address-card',\n },\n employmentType: {\n name: 'EmploymentType',\n source: `${config.module}.EmploymentType`,\n title: `t(\"employment-type\",{scope:\"${config.i18n}\"})`,\n icon: 'fa-light fa-file-signature',\n },\n structure: {\n name: 'ChartStructure',\n source: `${config.module}.ChartStructure`,\n title: `t(\"org-conf-long\",{scope:\"${config.i18n}\"})`,\n menu: {\n title: `t(\"org-conf-short\",{scope:\"${config.i18n}\"})`,\n },\n icon: 'fa-light fa-gear',\n },\n chart: {\n name: 'Chart',\n source: `${config.module}.Chart`,\n title: `t(\"org-chart-long\",{scope:\"${config.i18n}\"})`,\n menu: {\n title: `t(\"org-chart-short\",{scope:\"${config.i18n}\"})`,\n },\n icon: 'fa-light fa-chart-diagram',\n },\n },\n};\n","import { AXMEntityCrudServiceImpl } from '@acorex/platform/common';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport { AXMOrganizationManagementCompanyEntityModel } from './company.types';\n\nexport abstract class AXMOrganizationManagementCompanyEntityService extends AXMEntityCrudServiceImpl<\n string,\n AXMOrganizationManagementCompanyEntityModel\n> { }\n\n@Injectable()\nexport class AXMOrganizationManagementCompanyEntityServiceImpl extends AXMOrganizationManagementCompanyEntityService {\n constructor() {\n super(RootConfig.entities.company.source);\n }\n}\n","import { NgModule } from '@angular/core';\nimport {\n AXMOrganizationManagementCompanyEntityService,\n AXMOrganizationManagementCompanyEntityServiceImpl,\n} from './company.service';\n\n@NgModule({\n imports: [],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXMOrganizationManagementCompanyEntityService,\n useClass: AXMOrganizationManagementCompanyEntityServiceImpl,\n },\n ],\n})\nexport class AXMOrganizationManagementCompanyEntityModule {}\n","import { AXMEntityCrudServiceImpl } from '@acorex/platform/common';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport { AXMOrganizationManagementDivisionEntityModel } from './division.types';\n\nexport abstract class AXMOrganizationManagementDivisionEntityService extends AXMEntityCrudServiceImpl<\n string,\n AXMOrganizationManagementDivisionEntityModel\n> { }\n\n@Injectable()\nexport class AXMOrganizationManagementDivisionEntityServiceImpl extends AXMOrganizationManagementDivisionEntityService {\n constructor() {\n super(RootConfig.entities.division.source);\n }\n}\n","import { NgModule } from '@angular/core';\nimport {\n AXMOrganizationManagementDivisionEntityService,\n AXMOrganizationManagementDivisionEntityServiceImpl,\n} from './division.service';\n\n@NgModule({\n imports: [],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXMOrganizationManagementDivisionEntityService,\n useClass: AXMOrganizationManagementDivisionEntityServiceImpl,\n },\n ],\n})\nexport class AXMOrganizationManagementDivisionEntityModule { }\n","import { AXMEntityCrudServiceImpl } from '@acorex/platform/common';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport { AXMOrganizationManagementDepartmentEntityModel } from './department.types';\n\nexport abstract class AXMOrganizationManagementDepartmentEntityService extends AXMEntityCrudServiceImpl<\n string,\n AXMOrganizationManagementDepartmentEntityModel\n> { }\n\n@Injectable()\nexport class AXMOrganizationManagementDepartmentEntityServiceImpl extends AXMOrganizationManagementDepartmentEntityService {\n constructor() {\n super(RootConfig.entities.department.source);\n }\n}\n","import { NgModule } from '@angular/core';\nimport {\n AXMOrganizationManagementDepartmentEntityService,\n AXMOrganizationManagementDepartmentEntityServiceImpl,\n} from './department.service';\n\n@NgModule({\n imports: [],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXMOrganizationManagementDepartmentEntityService,\n useClass: AXMOrganizationManagementDepartmentEntityServiceImpl,\n },\n ],\n})\nexport class AXMOrganizationManagementDepartmentEntityModule {}\n","import { AXMEntityCrudServiceImpl } from '@acorex/platform/common';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport { AXMOrganizationManagementBranchEntityModel } from './branch.types';\n\nexport abstract class AXMOrganizationManagementBranchEntityService extends AXMEntityCrudServiceImpl<\n string,\n AXMOrganizationManagementBranchEntityModel\n> { }\n\n@Injectable()\nexport class AXMOrganizationManagementBranchEntityServiceImpl extends AXMOrganizationManagementBranchEntityService {\n constructor() {\n super(RootConfig.entities.branch.source);\n }\n}\n","import { NgModule } from '@angular/core';\nimport {\n AXMOrganizationManagementBranchEntityService,\n AXMOrganizationManagementBranchEntityServiceImpl,\n} from './branch.service';\n\n@NgModule({\n imports: [],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXMOrganizationManagementBranchEntityService,\n useClass: AXMOrganizationManagementBranchEntityServiceImpl,\n },\n ],\n})\nexport class AXMOrganizationManagementBranchEntityModule { }\n","import { AXMEntityCrudServiceImpl } from '@acorex/platform/common';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport { AXMOrganizationManagementPositionEntityModel } from './position.types';\nexport abstract class AXMOrganizationManagementPositionEntityService extends AXMEntityCrudServiceImpl<\n string,\n AXMOrganizationManagementPositionEntityModel\n> { }\n\n@Injectable()\nexport class AXMOrganizationManagementPositionEntityServiceImpl extends AXMOrganizationManagementPositionEntityService {\n constructor() {\n super(RootConfig.entities.position.source);\n }\n}\n","import { NgModule } from '@angular/core';\nimport {\n AXMOrganizationManagementPositionEntityService,\n AXMOrganizationManagementPositionEntityServiceImpl,\n} from './position.service';\n\n@NgModule({\n imports: [],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXMOrganizationManagementPositionEntityService,\n useClass: AXMOrganizationManagementPositionEntityServiceImpl,\n },\n ],\n})\nexport class AXMOrganizationManagementPositionEntityModule {}\n","import { AXMEntityCrudServiceImpl } from '@acorex/platform/common';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport { AXMOrganizationManagementEmployeeEntityModel } from './employee.types';\n\nexport abstract class AXMOrganizationManagementEmployeeEntityService extends AXMEntityCrudServiceImpl<\n string,\n AXMOrganizationManagementEmployeeEntityModel\n> { }\n\n@Injectable()\nexport class AXMOrganizationManagementEmployeeEntityServiceImpl extends AXMOrganizationManagementEmployeeEntityService {\n constructor() {\n super(RootConfig.entities.employee.source);\n }\n}\n","import { NgModule } from '@angular/core';\nimport {\n AXMOrganizationManagementEmployeeEntityService,\n AXMOrganizationManagementEmployeeEntityServiceImpl,\n} from './employee.service';\n\n@NgModule({\n imports: [],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXMOrganizationManagementEmployeeEntityService,\n useClass: AXMOrganizationManagementEmployeeEntityServiceImpl,\n },\n ],\n})\nexport class AXMOrganizationManagementEmployeeEntityModule { }\n","import { AXMEntityCrudServiceImpl } from '@acorex/platform/common';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport { AXMOrganizationManagementEmploymentTypeEntityModel } from './employment-type.types';\n\nexport abstract class AXMOrganizationManagementEmploymentTypeEntityService extends AXMEntityCrudServiceImpl<\n string,\n AXMOrganizationManagementEmploymentTypeEntityModel\n> { }\n\n@Injectable()\nexport class AXMOrganizationManagementEmploymentTypeEntityServiceImpl extends AXMOrganizationManagementEmploymentTypeEntityService {\n constructor() {\n super(RootConfig.entities.employmentType.source);\n }\n}\n","import { NgModule } from '@angular/core';\nimport {\n AXMOrganizationManagementEmploymentTypeEntityService,\n AXMOrganizationManagementEmploymentTypeEntityServiceImpl,\n} from './employment-type.service';\n\n@NgModule({\n imports: [],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXMOrganizationManagementEmploymentTypeEntityService,\n useClass: AXMOrganizationManagementEmploymentTypeEntityServiceImpl,\n },\n ],\n})\nexport class AXMOrganizationManagementEmploymentTypeEntityModule { }\n","import { AXMEntityCrudServiceImpl } from '@acorex/platform/common';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport { AXMOrganizationManagementChartEntityModel } from './chart.types';\nexport abstract class AXMOrganizationManagementChartEntityService extends AXMEntityCrudServiceImpl<\n string,\n AXMOrganizationManagementChartEntityModel\n> { }\n\n@Injectable()\nexport class AXMOrganizationManagementChartEntityServiceImpl extends AXMOrganizationManagementChartEntityService {\n constructor() {\n super(RootConfig.entities.chart.source);\n }\n}\n","import { NgModule } from '@angular/core';\nimport {\n AXMOrganizationManagementChartEntityService,\n AXMOrganizationManagementChartEntityServiceImpl,\n} from './chart.service';\n\n@NgModule({\n imports: [],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXMOrganizationManagementChartEntityService,\n useClass: AXMOrganizationManagementChartEntityServiceImpl,\n },\n ],\n})\nexport class AXMOrganizationManagementChartEntityModule {}\n","export enum AXMOrganizationNodeTypeCategory {\n Company = 'Company', // Company\n Location = 'Location', // Country, State, City\n BusinessUnit = 'BusinessUnit', // Division, Department, Branch\n Role = 'Role', // Position\n Employee = 'Employee' // Employee\n}\n\nexport const AXM_ORG_CHART_NODE_TYPE_CATEGORY_LIST: Record<string, { title: string; icon: string, color: string }> = {\n \"Company\": { title: \"Company\", icon: \"fal fa-building\", color: 'primary' },\n \"Location\": { title: \"Location\", icon: \"fal fa-map\", color: 'accent1' },\n \"BusinessUnit\": { title: \"Business Unit\", icon: \"fal fa-network-wired\", color: 'accent2' },\n \"Role\": { title: \"Role\", icon: \"fal fa-user-tie\", color: 'accent3' },\n \"Employee\": { title: \"Employee\", icon: \"fal a-address-card\", color: 'surface' },\n}\n\nexport enum AXMOrganizationNodeType {\n Company = 'Company',\n Country = 'Country',\n State = 'State',\n City = 'City',\n Division = 'Division',\n Department = 'Department',\n Branch = 'Branch',\n Position = 'Position',\n Employee = 'Employee',\n}\n\n\n// Define a mapping between entity sources, organization node types, titles, and icons \nexport const AXM_ORG_CHART_NODE_TYPE_ENTITY_MAPPINGS: Record<string, { category: AXMOrganizationNodeTypeCategory; type: AXMOrganizationNodeType, title: string; icon: string, color: string }> = {\n 'OrganizationManagement.Company': { category: AXMOrganizationNodeTypeCategory.Company, type: AXMOrganizationNodeType.Company, title: 'Company', icon: 'fal fa-building', color: \"primary\" },\n // Location\n 'OrganizationManagement.Country': { category: AXMOrganizationNodeTypeCategory.Location, type: AXMOrganizationNodeType.Country, title: 'Country', icon: 'fal fa-globe', color: \"accent1\" },\n 'OrganizationManagement.State': { category: AXMOrganizationNodeTypeCategory.Location, type: AXMOrganizationNodeType.State, title: 'State', icon: 'fal fa-map', color: \"accent1\" },\n 'OrganizationManagement.City': { category: AXMOrganizationNodeTypeCategory.Location, type: AXMOrganizationNodeType.City, title: 'City', icon: 'fal fa-city', color: \"accent1\" },\n // Business Unit\n 'OrganizationManagement.Division': { category: AXMOrganizationNodeTypeCategory.BusinessUnit, type: AXMOrganizationNodeType.Division, title: 'Division', icon: 'fal fa-sitemap', color: \"accent2\" },\n 'OrganizationManagement.Department': { category: AXMOrganizationNodeTypeCategory.BusinessUnit, type: AXMOrganizationNodeType.Department, title: 'Department', icon: 'fal fa-building-user', color: \"accent2\" },\n 'OrganizationManagement.Branch': { category: AXMOrganizationNodeTypeCategory.BusinessUnit, type: AXMOrganizationNodeType.Branch, title: 'Branch', icon: 'fal fa-network-wired', color: \"accent2\" },\n // Role\n 'OrganizationManagement.Position': { category: AXMOrganizationNodeTypeCategory.Role, type: AXMOrganizationNodeType.Position, title: 'Position', icon: 'fal fa-user-tie', color: \"accent3\" },\n // Employee\n 'OrganizationManagement.Employee': { category: AXMOrganizationNodeTypeCategory.Employee, type: AXMOrganizationNodeType.Employee, title: 'Employee', icon: 'fal fa-address-card', color: \"surface\" }\n};\n\n\nexport interface AXMOrganizationNode {\n id: string; // Unique identifier for the node\n title: string,// Title of the node\n subtitle?: string;\n description?: string | null,// Description of the node\n isExpanded?: boolean; // Add this property\n children?: AXMOrganizationNode[];\n icon?: string;\n type?: AXMOrganizationNodeType; // Type of the node\n parentId?: string | null; // ID of the parent node (null for root)\n entity?: {\n id: string; // ID of the linked entity\n source: string; // Source of the linked entity (e.g., 'OrganizationManagement.Branch', 'OrganizationManagement.Department', etc.)\n }\n metadata?: Record<string, any>; // Additional metadata (e.g., roles, counts, etc.)\n}","import { AXPEntity } from '@acorex/platform/common';\nimport { AXPEntityDefinitionLoader, AXPEntityPreloadEntity } from '@acorex/platform/layout/entity';\nimport { Injectable, Injector, inject } from '@angular/core';\nimport { RootConfig } from './const';\n\n@Injectable()\nexport class AXMOrganizationModuleEntityProvider implements AXPEntityDefinitionLoader {\n public preload(): AXPEntityPreloadEntity[] {\n const module = RootConfig.module.name;\n return Array.from(Object.values(RootConfig.entities)).map((entity: any) => ({\n module: module,\n entity: entity.name,\n }));\n }\n\n private injector = inject(Injector);\n\n async get(moduleName: string, entityName: string): Promise<AXPEntity | null> {\n if (moduleName == RootConfig.module.name) {\n switch (entityName) {\n case RootConfig.entities.company.name:\n return (await import('./entities/company/company.entity')).factory(this.injector);\n case RootConfig.entities.division.name:\n return (await import('./entities/division/division.entity')).factory(this.injector);\n case RootConfig.entities.department.name:\n return (await import('./entities/department/department.entity')).factory(this.injector);\n case RootConfig.entities.branch.name:\n return (await import('./entities/branch/branch.entity')).factory(this.injector);\n case RootConfig.entities.employee.name:\n return (await import('./entities/employee/employee.entity')).factory(this.injector);\n case RootConfig.entities.employmentType.name:\n return (await import('./entities/employment-type/employment-type.entity')).factory(this.injector);\n case RootConfig.entities.position.name:\n return (await import('./entities/position/position.entity')).factory(this.injector);\n case RootConfig.entities.chart.name:\n return (await import('./entities/chart/chart.entity')).factory(this.injector);\n }\n }\n return null;\n }\n}\n","import { AXPMenuProvider, AXPMenuProviderContext } from '@acorex/platform/common';\nimport { AXPEntityService } from '@acorex/platform/layout/entity';\nimport { inject } from '@angular/core';\nimport { RootConfig } from './const';\nimport { AXPSessionService } from '@acorex/platform/auth';\n\nexport class AXMMenuProvider implements AXPMenuProvider {\n private entityService = inject(AXPEntityService);\n private sessionService = inject(AXPSessionService);\n\n async provide(context: AXPMenuProviderContext): Promise<void> {\n const scope = RootConfig.config.i18n;\n const module = RootConfig.module;\n\n context.addItems([\n {\n priority: 9001,\n text: `t('root-menu', {scope: \"${scope}\"})`,\n icon: 'fa-light fa-file-invoice',\n children: [\n // {\n // text: `t(\"companies\", {scope:\"${scope}\"})`,\n // path: this.entityService.createPath(module.name, RootConfig.entities.company.name),\n // priority: 10000,\n // icon: RootConfig.entities.company.icon,\n // },\n {\n text: `t('divisions', {scope:\"${scope}\"})`,\n path: this.entityService.createPath(module.name, RootConfig.entities.division.name),\n priority: 12,\n icon: RootConfig.entities.division.icon,\n },\n {\n text: `t('departments', {scope:\"${scope}\"})`,\n path: this.entityService.createPath(module.name, RootConfig.entities.department.name),\n priority: 13,\n icon: RootConfig.entities.department.icon,\n },\n {\n text: `t('branches', {scope:\"${scope}\"})`,\n path: this.entityService.createPath(module.name, RootConfig.entities.branch.name),\n priority: 14,\n icon: RootConfig.entities.branch.icon,\n },\n {\n text: `t('positions', {scope:\"${scope}\"})`,\n path: this.entityService.createPath(module.name, RootConfig.entities.position.name),\n priority: 15,\n icon: RootConfig.entities.position.icon,\n },\n {\n text: `t('employment-types', {scope:\"${scope}\"})`,\n path: this.entityService.createPath(module.name, RootConfig.entities.employmentType.name),\n priority: 21,\n icon: RootConfig.entities.employmentType.icon,\n },\n {\n text: `t('employees', {scope:\"${scope}\"})`,\n path: this.entityService.createPath(module.name, RootConfig.entities.employee.name),\n priority: 22,\n icon: RootConfig.entities.employee.icon,\n },\n {\n text: `Chart`,\n type: 'break',\n priority: 30,\n },\n {\n text: RootConfig.entities.structure.menu.title,\n path: `${this.sessionService.application?.name}/organization/configuration`,\n priority: 31,\n icon: RootConfig.entities.structure.icon,\n },\n {\n text: RootConfig.entities.chart.menu.title,\n path: `${this.sessionService.application?.name}/organization/chart`,\n priority: 31,\n icon: RootConfig.entities.chart.icon,\n },\n ],\n },\n ]);\n }\n}\n","import { AXP_MENU_PROVIDER, AXP_SETTING_DEFINITION_PROVIDER } from '@acorex/platform/common';\nimport { AXP_ENTITY_CONFIG_TOKEN, AXP_ENTITY_DEFINITION_LOADER } from '@acorex/platform/layout/entity';\nimport { CommonModule } from '@angular/common';\nimport { inject, Injector, NgModule } from '@angular/core';\nimport { Routes, ROUTES } from '@angular/router';\nimport { AXMOrganizationManagementChartEntityModule } from './entities/chart/chart.module';\nimport { AXMOrganizationManagementCompanyEntityModule } from './entities/company/company.module';\nimport { AXMOrganizationManagementDepartmentEntityModule } from './entities/department/department.module';\nimport { AXMOrganizationManagementEmployeeEntityModule } from './entities/employee/employee.module';\nimport { AXMOrganizationManagementPositionEntityModule } from './entities/position/position.module';\nimport { AXMOrganizationModuleEntityProvider } from './entity.provider';\nimport { AXMMenuProvider } from './menu.provider';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { AXMOrganizationManagementDivisionEntityModule } from './entities/division/division.module';\nimport { AXMOrganizationManagementBranchEntityModule } from './entities/branch/branch.module';\nimport { AXMOrganizationManagementEmploymentTypeEntityModule } from './entities/employment-type';\n\nfunction routesFacory() {\n const config = inject(AXP_ENTITY_CONFIG_TOKEN);\n const routes: Routes = [\n {\n component: config.viewers.root(),\n path: ':app/organization',\n children: [\n {\n path: 'chart',\n loadComponent: () => import('./features/organization-chart/org-chart.page').then((c) => c.AXMOrgChartPage),\n },\n {\n path: 'configuration',\n loadComponent: () => import('./features/organization-chart/org-chart-configuration.page').then((c) => c.AXMOrgChartConfigurationPage),\n },\n ],\n },\n ];\n return routes;\n}\n\n@NgModule({\n imports: [\n CommonModule,\n AXMOrganizationManagementCompanyEntityModule,\n AXMOrganizationManagementDepartmentEntityModule,\n AXMOrganizationManagementDivisionEntityModule,\n AXMOrganizationManagementBranchEntityModule,\n AXMOrganizationManagementEmployeeEntityModule,\n AXMOrganizationManagementPositionEntityModule,\n AXMOrganizationManagementChartEntityModule,\n AXMOrganizationManagementEmploymentTypeEntityModule\n ],\n providers: [\n {\n provide: AXP_ENTITY_DEFINITION_LOADER,\n useClass: AXMOrganizationModuleEntityProvider,\n multi: true,\n },\n {\n provide: AXP_SETTING_DEFINITION_PROVIDER,\n useFactory: async () => {\n const injector = inject(Injector);\n const provider = (await import('./setting.provider')).AXMSettingProvider;\n return new provider(injector.get(AXPSessionService));\n },\n multi: true,\n },\n {\n provide: AXP_MENU_PROVIDER,\n useClass: AXMMenuProvider,\n multi: true,\n },\n {\n provide: ROUTES,\n multi: true,\n useFactory: routesFacory,\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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"}