@acorex/modules 21.0.0-next.37 → 21.0.0-next.39
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.
- package/fesm2022/{acorex-modules-ai-management-acorex-modules-ai-management-WuqoH4OL.mjs → acorex-modules-ai-management-acorex-modules-ai-management-CU2FvMTx.mjs} +260 -80
- package/fesm2022/acorex-modules-ai-management-acorex-modules-ai-management-CU2FvMTx.mjs.map +1 -0
- package/fesm2022/{acorex-modules-ai-management-agent.entity-DK9GNMdR.mjs → acorex-modules-ai-management-agent.entity-CUO9Jczk.mjs} +14 -19
- package/fesm2022/acorex-modules-ai-management-agent.entity-CUO9Jczk.mjs.map +1 -0
- package/fesm2022/{acorex-modules-ai-management-ai-delegated-agent-transcript-popup.component-CWXEW9yL.mjs → acorex-modules-ai-management-ai-delegated-agent-transcript-popup.component-daTGJ1Rd.mjs} +52 -8
- package/fesm2022/acorex-modules-ai-management-ai-delegated-agent-transcript-popup.component-daTGJ1Rd.mjs.map +1 -0
- package/fesm2022/{acorex-modules-ai-management-assist-delegated-agent-configurator-widget-edit.component-CNKwIqUE.mjs → acorex-modules-ai-management-assist-delegated-agent-configurator-widget-edit.component-Cmprtps-.mjs} +49 -7
- package/fesm2022/acorex-modules-ai-management-assist-delegated-agent-configurator-widget-edit.component-Cmprtps-.mjs.map +1 -0
- package/fesm2022/{acorex-modules-ai-management-assist.entity-DX2U9sd5.mjs → acorex-modules-ai-management-assist.entity-C1nM_x4Z.mjs} +2 -2
- package/fesm2022/{acorex-modules-ai-management-assist.entity-DX2U9sd5.mjs.map → acorex-modules-ai-management-assist.entity-C1nM_x4Z.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-ai-management-index-KX3TVRXr.mjs → acorex-modules-ai-management-index-CjTjfydP.mjs} +2 -2
- package/fesm2022/{acorex-modules-ai-management-index-KX3TVRXr.mjs.map → acorex-modules-ai-management-index-CjTjfydP.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-ai-management-model.entity-BeuDUahR.mjs → acorex-modules-ai-management-model.entity-CPHxj8h7.mjs} +2 -2
- package/fesm2022/{acorex-modules-ai-management-model.entity-BeuDUahR.mjs.map → acorex-modules-ai-management-model.entity-CPHxj8h7.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-ai-management-open-ai-endpoint.entity-D-9unl6i.mjs → acorex-modules-ai-management-open-ai-endpoint.entity-a6MjMiXF.mjs} +2 -2
- package/fesm2022/{acorex-modules-ai-management-open-ai-endpoint.entity-D-9unl6i.mjs.map → acorex-modules-ai-management-open-ai-endpoint.entity-a6MjMiXF.mjs.map} +1 -1
- package/fesm2022/acorex-modules-ai-management.mjs +1 -1
- package/fesm2022/{acorex-modules-assessment-management-acorex-modules-assessment-management-BNK6C-Ng.mjs → acorex-modules-assessment-management-acorex-modules-assessment-management-DniyhnPK.mjs} +509 -436
- package/fesm2022/acorex-modules-assessment-management-acorex-modules-assessment-management-DniyhnPK.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-assessment-case.entity-Ds8pRzvE.mjs → acorex-modules-assessment-management-assessment-case.entity-BggEmLhz.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-assessment-case.entity-Ds8pRzvE.mjs.map → acorex-modules-assessment-management-assessment-case.entity-BggEmLhz.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-assessment-session.entity-tq1Q4wkS.mjs → acorex-modules-assessment-management-assessment-session.entity-CWR1QZv1.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-assessment-session.entity-tq1Q4wkS.mjs.map → acorex-modules-assessment-management-assessment-session.entity-CWR1QZv1.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-fill-assessment-session.command-yf0PnWC0.mjs → acorex-modules-assessment-management-fill-assessment-session.command-qajn_XDh.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-fill-assessment-session.command-yf0PnWC0.mjs.map → acorex-modules-assessment-management-fill-assessment-session.command-qajn_XDh.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-index-B2SncZAW.mjs → acorex-modules-assessment-management-index-B2l5Se1l.mjs} +25 -26
- package/fesm2022/acorex-modules-assessment-management-index-B2l5Se1l.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-preview-question.command-DPzL8C44.mjs → acorex-modules-assessment-management-preview-question.command-BCS477_k.mjs} +10 -11
- package/fesm2022/acorex-modules-assessment-management-preview-question.command-BCS477_k.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-preview-questionnaire.command-BrI5gFtx.mjs → acorex-modules-assessment-management-preview-questionnaire.command-C8lyuqE-.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-preview-questionnaire.command-BrI5gFtx.mjs.map → acorex-modules-assessment-management-preview-questionnaire.command-C8lyuqE-.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-question-bank-interface-editor-widget-edit.component-XD5IJpvW.mjs → acorex-modules-assessment-management-question-bank-interface-editor-widget-edit.component-DtowOBLy.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-question-bank-interface-editor-widget-edit.component-XD5IJpvW.mjs.map → acorex-modules-assessment-management-question-bank-interface-editor-widget-edit.component-DtowOBLy.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-question-bank-item.entity-CZ32sQ9M.mjs → acorex-modules-assessment-management-question-bank-item.entity-Br7XcU_u.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-question-bank-item.entity-CZ32sQ9M.mjs.map → acorex-modules-assessment-management-question-bank-item.entity-Br7XcU_u.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-questionnaire-calculation.entity-C7gf4s1y.mjs → acorex-modules-assessment-management-questionnaire-calculation.entity-DNUf5RD3.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-questionnaire-calculation.entity-C7gf4s1y.mjs.map → acorex-modules-assessment-management-questionnaire-calculation.entity-DNUf5RD3.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-questionnaire-viewer-popup.component-BZyIlYWg.mjs → acorex-modules-assessment-management-questionnaire-viewer-popup.component-BdBKHvHP.mjs} +3 -3
- package/fesm2022/{acorex-modules-assessment-management-questionnaire-viewer-popup.component-BZyIlYWg.mjs.map → acorex-modules-assessment-management-questionnaire-viewer-popup.component-BdBKHvHP.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-questionnaire.entity-CmmThk2f.mjs → acorex-modules-assessment-management-questionnaire.entity-B5aP_P4z.mjs} +3 -3
- package/fesm2022/{acorex-modules-assessment-management-questionnaire.entity-CmmThk2f.mjs.map → acorex-modules-assessment-management-questionnaire.entity-B5aP_P4z.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-save-questionnaire-questions.command-GLqvK8wB.mjs → acorex-modules-assessment-management-save-questionnaire-questions.command-C3Qt5fmY.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-save-questionnaire-questions.command-GLqvK8wB.mjs.map → acorex-modules-assessment-management-save-questionnaire-questions.command-C3Qt5fmY.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-view-session-answers.command-CU1TVonZ.mjs → acorex-modules-assessment-management-view-session-answers.command-C9VS-Tp3.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-view-session-answers.command-CU1TVonZ.mjs.map → acorex-modules-assessment-management-view-session-answers.command-C9VS-Tp3.mjs.map} +1 -1
- package/fesm2022/acorex-modules-assessment-management.mjs +1 -1
- package/fesm2022/{acorex-modules-asset-management-acorex-modules-asset-management-BDs0ZgD5.mjs → acorex-modules-asset-management-acorex-modules-asset-management-F7Ok5dhs.mjs} +519 -81
- package/fesm2022/acorex-modules-asset-management-acorex-modules-asset-management-F7Ok5dhs.mjs.map +1 -0
- package/fesm2022/{acorex-modules-asset-management-asset-system-history.entity-CSCwWY_F.mjs → acorex-modules-asset-management-asset-system-history.entity-D1HZG9wO.mjs} +2 -2
- package/fesm2022/{acorex-modules-asset-management-asset-system-history.entity-CSCwWY_F.mjs.map → acorex-modules-asset-management-asset-system-history.entity-D1HZG9wO.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-asset-management-asset-system-type.entity-CcefMT8J.mjs → acorex-modules-asset-management-asset-system-type.entity-DDh5RK5M.mjs} +60 -38
- package/fesm2022/acorex-modules-asset-management-asset-system-type.entity-DDh5RK5M.mjs.map +1 -0
- package/fesm2022/{acorex-modules-asset-management-asset-type-section-component.entity-6Rauu2Z1.mjs → acorex-modules-asset-management-asset-type-section-component.entity-em7lQ1eu.mjs} +2 -2
- package/fesm2022/{acorex-modules-asset-management-asset-type-section-component.entity-6Rauu2Z1.mjs.map → acorex-modules-asset-management-asset-type-section-component.entity-em7lQ1eu.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-asset-management-asset-type-section.entity-r_H1QGwp.mjs → acorex-modules-asset-management-asset-type-section.entity-BtcNy6Ra.mjs} +6 -48
- package/fesm2022/acorex-modules-asset-management-asset-type-section.entity-BtcNy6Ra.mjs.map +1 -0
- package/fesm2022/{acorex-modules-asset-management-asset-type.entity-cWVqpbHH.mjs → acorex-modules-asset-management-asset-type.entity-DWhrFVFI.mjs} +53 -100
- package/fesm2022/acorex-modules-asset-management-asset-type.entity-DWhrFVFI.mjs.map +1 -0
- package/fesm2022/{acorex-modules-asset-management-asset.entity-CamZGWTM.mjs → acorex-modules-asset-management-asset.entity-BEjXfkPD.mjs} +66 -56
- package/fesm2022/acorex-modules-asset-management-asset.entity-BEjXfkPD.mjs.map +1 -0
- package/fesm2022/{acorex-modules-asset-management-assetSystem.entity-Dq2ASslk.mjs → acorex-modules-asset-management-assetSystem.entity-CJCVALaz.mjs} +2 -2
- package/fesm2022/{acorex-modules-asset-management-assetSystem.entity-Dq2ASslk.mjs.map → acorex-modules-asset-management-assetSystem.entity-CJCVALaz.mjs.map} +1 -1
- package/fesm2022/acorex-modules-asset-management.mjs +1 -1
- package/fesm2022/acorex-modules-common.mjs +38 -41
- package/fesm2022/acorex-modules-common.mjs.map +1 -1
- package/fesm2022/acorex-modules-conversation.mjs +1046 -249
- package/fesm2022/acorex-modules-conversation.mjs.map +1 -1
- package/fesm2022/acorex-modules-dashboard-management.mjs +1098 -706
- package/fesm2022/acorex-modules-dashboard-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-data-management.mjs +63 -35
- package/fesm2022/acorex-modules-data-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-document-management.mjs +101 -57
- package/fesm2022/acorex-modules-document-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-employee.entity-BRpqFRuI.mjs → acorex-modules-human-capital-management-employee.entity-BmF6_P6d.mjs} +48 -21
- package/fesm2022/acorex-modules-human-capital-management-employee.entity-BmF6_P6d.mjs.map +1 -0
- package/fesm2022/acorex-modules-human-capital-management.mjs +1 -1
- package/fesm2022/acorex-modules-location-management.mjs +18 -99
- package/fesm2022/acorex-modules-location-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-maintenance-management-acorex-modules-maintenance-management-DtODwbIN.mjs +7137 -0
- package/fesm2022/acorex-modules-maintenance-management-acorex-modules-maintenance-management-DtODwbIN.mjs.map +1 -0
- package/fesm2022/{acorex-modules-maintenance-management-failure-effect.entity-DQJJtCqU.mjs → acorex-modules-maintenance-management-failure-effect.entity-BtczD4wu.mjs} +2 -2
- package/fesm2022/{acorex-modules-maintenance-management-failure-effect.entity-DQJJtCqU.mjs.map → acorex-modules-maintenance-management-failure-effect.entity-BtczD4wu.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-maintenance-management-failure-mode-asset-type.entity-gg2fpT2N.mjs → acorex-modules-maintenance-management-failure-mode-asset-type.entity-CDUdEH-e.mjs} +2 -2
- package/fesm2022/{acorex-modules-maintenance-management-failure-mode-asset-type.entity-gg2fpT2N.mjs.map → acorex-modules-maintenance-management-failure-mode-asset-type.entity-CDUdEH-e.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-maintenance-management-failure-mode-mechanism.entity-CHUaAnID.mjs → acorex-modules-maintenance-management-failure-mode-mechanism.entity-re5UvGp7.mjs} +2 -2
- package/fesm2022/{acorex-modules-maintenance-management-failure-mode-mechanism.entity-CHUaAnID.mjs.map → acorex-modules-maintenance-management-failure-mode-mechanism.entity-re5UvGp7.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-maintenance-management-failure-mode-solution.entity-B93x1uP_.mjs → acorex-modules-maintenance-management-failure-mode-solution.entity-nbFz4LAe.mjs} +2 -2
- package/fesm2022/{acorex-modules-maintenance-management-failure-mode-solution.entity-B93x1uP_.mjs.map → acorex-modules-maintenance-management-failure-mode-solution.entity-nbFz4LAe.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-maintenance-management-failure-register-cause.entity-McM3l12Q.mjs → acorex-modules-maintenance-management-failure-register-cause.entity-CW2NlX59.mjs} +2 -2
- package/fesm2022/{acorex-modules-maintenance-management-failure-register-cause.entity-McM3l12Q.mjs.map → acorex-modules-maintenance-management-failure-register-cause.entity-CW2NlX59.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-maintenance-management-failure-register-effect.entity-_jjy1oeg.mjs → acorex-modules-maintenance-management-failure-register-effect.entity-Bi5XgfoL.mjs} +2 -2
- package/fesm2022/{acorex-modules-maintenance-management-failure-register-effect.entity-_jjy1oeg.mjs.map → acorex-modules-maintenance-management-failure-register-effect.entity-Bi5XgfoL.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-maintenance-management-failure-register-mechanism.entity-5CmdhowW.mjs → acorex-modules-maintenance-management-failure-register-mechanism.entity-DcW6sK01.mjs} +2 -2
- package/fesm2022/{acorex-modules-maintenance-management-failure-register-mechanism.entity-5CmdhowW.mjs.map → acorex-modules-maintenance-management-failure-register-mechanism.entity-DcW6sK01.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-maintenance-management-failure-register.entity-D_lQrda5.mjs → acorex-modules-maintenance-management-failure-register.entity-CUxVZo0w.mjs} +3 -3
- package/fesm2022/acorex-modules-maintenance-management-failure-register.entity-CUxVZo0w.mjs.map +1 -0
- package/fesm2022/{acorex-modules-maintenance-management-failure-severity.entity-BIZxoVIS.mjs → acorex-modules-maintenance-management-failure-severity.entity-B7LBO-UA.mjs} +2 -2
- package/fesm2022/{acorex-modules-maintenance-management-failure-severity.entity-BIZxoVIS.mjs.map → acorex-modules-maintenance-management-failure-severity.entity-B7LBO-UA.mjs.map} +1 -1
- package/fesm2022/acorex-modules-maintenance-management-maintenance-template.entity-D6ATa-HR.mjs +443 -0
- package/fesm2022/acorex-modules-maintenance-management-maintenance-template.entity-D6ATa-HR.mjs.map +1 -0
- package/fesm2022/acorex-modules-maintenance-management.mjs +1 -3579
- package/fesm2022/acorex-modules-maintenance-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-notification-management.mjs +11 -5
- package/fesm2022/acorex-modules-notification-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-organization-management-acorex-modules-organization-management-BrVNMCi_.mjs +356 -0
- package/fesm2022/acorex-modules-organization-management-acorex-modules-organization-management-BrVNMCi_.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-business-unit-type.entity-CO8jMwVJ.mjs +181 -0
- package/fesm2022/acorex-modules-organization-management-business-unit-type.entity-CO8jMwVJ.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-business-unit.entity-WiTemBLu.mjs +359 -0
- package/fesm2022/acorex-modules-organization-management-business-unit.entity-WiTemBLu.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-chart.entity-bRxA8XHZ.mjs → acorex-modules-organization-management-chart.entity-D6Y7kZfM.mjs} +33 -29
- package/fesm2022/acorex-modules-organization-management-chart.entity-D6Y7kZfM.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-company.entity-BohMJQNi.mjs → acorex-modules-organization-management-company.entity-wpNiu8g3.mjs} +6 -8
- package/fesm2022/acorex-modules-organization-management-company.entity-wpNiu8g3.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-data-source-evaluator-scope.provider-BrKtojM9.mjs +48 -0
- package/fesm2022/acorex-modules-organization-management-data-source-evaluator-scope.provider-BrKtojM9.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-entity.provider-B0XbUW1I.mjs +59 -0
- package/fesm2022/acorex-modules-organization-management-entity.provider-B0XbUW1I.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-feature-definition.provider-D7t_nNNk.mjs +19 -0
- package/fesm2022/acorex-modules-organization-management-feature-definition.provider-D7t_nNNk.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-job-definition.entity-S9Jlmr-o.mjs → acorex-modules-organization-management-job-definition.entity-Cb6zEf65.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-job-definition.entity-S9Jlmr-o.mjs.map → acorex-modules-organization-management-job-definition.entity-Cb6zEf65.mjs.map} +1 -1
- package/fesm2022/acorex-modules-organization-management-job-level.datasource-RDGmLrqD.mjs +95 -0
- package/fesm2022/acorex-modules-organization-management-job-level.datasource-RDGmLrqD.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-job-level.entity-oedF18Xm.mjs +274 -0
- package/fesm2022/acorex-modules-organization-management-job-level.entity-oedF18Xm.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-menu.provider-DAKmAxld.mjs +193 -0
- package/fesm2022/acorex-modules-organization-management-menu.provider-DAKmAxld.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-org-chart.page-mHV0AWGZ.mjs +1081 -0
- package/fesm2022/acorex-modules-organization-management-org-chart.page-mHV0AWGZ.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-permission-definition.provider-Be8mvS_Z.mjs +77 -0
- package/fesm2022/acorex-modules-organization-management-permission-definition.provider-Be8mvS_Z.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-permission.keys-DwZNBc12.mjs +56 -0
- package/fesm2022/acorex-modules-organization-management-permission.keys-DwZNBc12.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-position.entity-DLPufeWz.mjs → acorex-modules-organization-management-position.entity-BveMCKMd.mjs} +108 -106
- package/fesm2022/acorex-modules-organization-management-position.entity-BveMCKMd.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix-widget-edit.component-mMZywr0X.mjs → acorex-modules-organization-management-responsibilities-matrix-widget-edit.component-ivufxxLL.mjs} +25 -29
- package/fesm2022/acorex-modules-organization-management-responsibilities-matrix-widget-edit.component-ivufxxLL.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix-widget-view.component-CfRBMxLk.mjs → acorex-modules-organization-management-responsibilities-matrix-widget-view.component-DptdG1Nt.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix-widget-view.component-CfRBMxLk.mjs.map → acorex-modules-organization-management-responsibilities-matrix-widget-view.component-DptdG1Nt.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix.component-B06t1G1E.mjs → acorex-modules-organization-management-responsibilities-matrix.component-qO33kvo_.mjs} +14 -21
- package/fesm2022/acorex-modules-organization-management-responsibilities-matrix.component-qO33kvo_.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-responsibility-level.entity-zOjyjm5H.mjs +137 -0
- package/fesm2022/acorex-modules-organization-management-responsibility-level.entity-zOjyjm5H.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-responsibility.entity-CMmr3wJa.mjs → acorex-modules-organization-management-responsibility.entity-jWEiPi5-.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-responsibility.entity-CMmr3wJa.mjs.map → acorex-modules-organization-management-responsibility.entity-jWEiPi5-.mjs.map} +1 -1
- package/fesm2022/acorex-modules-organization-management-settings.provider-D3ged-4h.mjs +228 -0
- package/fesm2022/acorex-modules-organization-management-settings.provider-D3ged-4h.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-team-member-role.entity-CZ4MibH4.mjs → acorex-modules-organization-management-team-member-role.entity-D9TZoACE.mjs} +68 -8
- package/fesm2022/acorex-modules-organization-management-team-member-role.entity-D9TZoACE.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-team-member.entity-8sTjn5Jn.mjs → acorex-modules-organization-management-team-member.entity-Bz4o7c3d.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-team-member.entity-8sTjn5Jn.mjs.map → acorex-modules-organization-management-team-member.entity-Bz4o7c3d.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-team.entity-CGR0UlYl.mjs → acorex-modules-organization-management-team.entity-uVffZPeg.mjs} +100 -37
- package/fesm2022/acorex-modules-organization-management-team.entity-uVffZPeg.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-widget-definition.provider-D4yjuqwx.mjs +48 -0
- package/fesm2022/acorex-modules-organization-management-widget-definition.provider-D4yjuqwx.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management.mjs +1 -2216
- package/fesm2022/acorex-modules-organization-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-platform-dev-tools-menu.provider-BFueKnuF.mjs +40 -0
- package/fesm2022/acorex-modules-platform-dev-tools-menu.provider-BFueKnuF.mjs.map +1 -0
- package/fesm2022/acorex-modules-platform-dev-tools-settings.provider-CGyf-4eq.mjs +33 -0
- package/fesm2022/acorex-modules-platform-dev-tools-settings.provider-CGyf-4eq.mjs.map +1 -0
- package/fesm2022/acorex-modules-platform-dev-tools.mjs +14 -94
- package/fesm2022/acorex-modules-platform-dev-tools.mjs.map +1 -1
- package/fesm2022/{acorex-modules-report-management-report-runner-root-page.component-DPSNAAct.mjs → acorex-modules-report-management-report-runner-root-page.component-BjKrHoBg.mjs} +107 -107
- package/fesm2022/acorex-modules-report-management-report-runner-root-page.component-BjKrHoBg.mjs.map +1 -0
- package/fesm2022/acorex-modules-report-management.mjs +1 -1
- package/fesm2022/{acorex-modules-reservation-management-acorex-modules-reservation-management-BMemqW2V.mjs → acorex-modules-reservation-management-acorex-modules-reservation-management-BoUiTlmu.mjs} +65 -76
- package/fesm2022/acorex-modules-reservation-management-acorex-modules-reservation-management-BoUiTlmu.mjs.map +1 -0
- package/fesm2022/{acorex-modules-reservation-management-reservation-class-status.entity-Bg7d38wV.mjs → acorex-modules-reservation-management-reservation-class-status.entity-D-ZdqKa8.mjs} +2 -2
- package/fesm2022/{acorex-modules-reservation-management-reservation-class-status.entity-Bg7d38wV.mjs.map → acorex-modules-reservation-management-reservation-class-status.entity-D-ZdqKa8.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-reservation-management-reservation-resource-type.entity-BK-rLEXi.mjs → acorex-modules-reservation-management-reservation-resource-type.entity-zPD-Psml.mjs} +2 -2
- package/fesm2022/{acorex-modules-reservation-management-reservation-resource-type.entity-BK-rLEXi.mjs.map → acorex-modules-reservation-management-reservation-resource-type.entity-zPD-Psml.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-reservation-management-reservation-status-transition.entity-2ngXhKAV.mjs → acorex-modules-reservation-management-reservation-status-transition.entity-CQ85ZAGF.mjs} +2 -2
- package/fesm2022/{acorex-modules-reservation-management-reservation-status-transition.entity-2ngXhKAV.mjs.map → acorex-modules-reservation-management-reservation-status-transition.entity-CQ85ZAGF.mjs.map} +1 -1
- package/fesm2022/acorex-modules-reservation-management.mjs +1 -1
- package/fesm2022/acorex-modules-security-management.mjs +269 -190
- package/fesm2022/acorex-modules-security-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-task-management-task-board.page-C1H_GTqy.mjs → acorex-modules-task-management-task-board.page-DA2563QE.mjs} +15 -10
- package/fesm2022/acorex-modules-task-management-task-board.page-DA2563QE.mjs.map +1 -0
- package/fesm2022/acorex-modules-task-management.mjs +27 -13
- package/fesm2022/acorex-modules-task-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-workflow-management-WORKFLOW_DEFINITION_ACTIVITIES_PAGE_COMPONENT_KEY-D6q__Ewd.mjs +5 -0
- package/fesm2022/acorex-modules-workflow-management-WORKFLOW_DEFINITION_ACTIVITIES_PAGE_COMPONENT_KEY-D6q__Ewd.mjs.map +1 -0
- package/fesm2022/{acorex-modules-workflow-management-activity-command-configurator-widget-column.component-C8lgSjfc.mjs → acorex-modules-workflow-management-activity-command-configurator-widget-column.component-CDo0QVFy.mjs} +14 -6
- package/fesm2022/acorex-modules-workflow-management-activity-command-configurator-widget-column.component-CDo0QVFy.mjs.map +1 -0
- package/fesm2022/{acorex-modules-workflow-management-activity-command-configurator-widget-edit.component-BGUPxGXP.mjs → acorex-modules-workflow-management-activity-command-configurator-widget-edit.component-BYJpDQRs.mjs} +31 -16
- package/fesm2022/acorex-modules-workflow-management-activity-command-configurator-widget-edit.component-BYJpDQRs.mjs.map +1 -0
- package/fesm2022/{acorex-modules-workflow-management-activity-definition.entity-Bvs1OfE_.mjs → acorex-modules-workflow-management-activity-definition.entity-B3DkgDQb.mjs} +10 -12
- package/fesm2022/acorex-modules-workflow-management-activity-definition.entity-B3DkgDQb.mjs.map +1 -0
- package/fesm2022/{acorex-modules-workflow-management-index-DWIDQsWq.mjs → acorex-modules-workflow-management-index-C9Qc07oK.mjs} +125 -3
- package/fesm2022/acorex-modules-workflow-management-index-C9Qc07oK.mjs.map +1 -0
- package/fesm2022/acorex-modules-workflow-management-index-D8fjNgQJ.mjs +726 -0
- package/fesm2022/acorex-modules-workflow-management-index-D8fjNgQJ.mjs.map +1 -0
- package/fesm2022/acorex-modules-workflow-management-index-DMnJRDbq.mjs +294 -0
- package/fesm2022/acorex-modules-workflow-management-index-DMnJRDbq.mjs.map +1 -0
- package/fesm2022/acorex-modules-workflow-management-save-workflow-definition-activities.command-fFO152ni.mjs +56 -0
- package/fesm2022/acorex-modules-workflow-management-save-workflow-definition-activities.command-fFO152ni.mjs.map +1 -0
- package/fesm2022/{acorex-modules-workflow-management-workflow-definition.entity-aJou58ED.mjs → acorex-modules-workflow-management-workflow-definition.entity-DqPVpcSv.mjs} +101 -140
- package/fesm2022/acorex-modules-workflow-management-workflow-definition.entity-DqPVpcSv.mjs.map +1 -0
- package/fesm2022/{acorex-modules-workflow-management-workflow-instance.entity-Cq7LE7u5.mjs → acorex-modules-workflow-management-workflow-instance.entity-sfsoT0is.mjs} +10 -1
- package/fesm2022/acorex-modules-workflow-management-workflow-instance.entity-sfsoT0is.mjs.map +1 -0
- package/fesm2022/{acorex-modules-workflow-management-workflow-task-popover.component-CIakASVR.mjs → acorex-modules-workflow-management-workflow-task-popover.component-NpUx0sB5.mjs} +11 -7
- package/fesm2022/acorex-modules-workflow-management-workflow-task-popover.component-NpUx0sB5.mjs.map +1 -0
- package/fesm2022/acorex-modules-workflow-management.mjs +746 -402
- package/fesm2022/acorex-modules-workflow-management.mjs.map +1 -1
- package/organization-management/README.md +1 -1
- package/package.json +2 -2
- package/types/acorex-modules-ai-management.d.ts +64 -16
- package/types/acorex-modules-asset-management.d.ts +115 -58
- package/types/acorex-modules-common.d.ts +2 -4
- package/types/acorex-modules-dashboard-management.d.ts +226 -109
- package/types/acorex-modules-data-management.d.ts +2 -2
- package/types/acorex-modules-document-management.d.ts +1 -2
- package/types/acorex-modules-human-capital-management.d.ts +6 -0
- package/types/acorex-modules-maintenance-management.d.ts +561 -41
- package/types/acorex-modules-notification-management.d.ts +7 -3
- package/types/acorex-modules-organization-management.d.ts +52 -107
- package/types/acorex-modules-security-management.d.ts +15 -1
- package/types/acorex-modules-task-management.d.ts +8 -13
- package/types/acorex-modules-workflow-management.d.ts +67 -13
- package/fesm2022/acorex-modules-ai-management-acorex-modules-ai-management-WuqoH4OL.mjs.map +0 -1
- package/fesm2022/acorex-modules-ai-management-agent.entity-DK9GNMdR.mjs.map +0 -1
- package/fesm2022/acorex-modules-ai-management-ai-delegated-agent-transcript-popup.component-CWXEW9yL.mjs.map +0 -1
- package/fesm2022/acorex-modules-ai-management-assist-delegated-agent-configurator-widget-edit.component-CNKwIqUE.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-acorex-modules-assessment-management-BNK6C-Ng.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-index-B2SncZAW.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-preview-question.command-DPzL8C44.mjs.map +0 -1
- package/fesm2022/acorex-modules-asset-management-acorex-modules-asset-management-BDs0ZgD5.mjs.map +0 -1
- package/fesm2022/acorex-modules-asset-management-asset-system-type.entity-CcefMT8J.mjs.map +0 -1
- package/fesm2022/acorex-modules-asset-management-asset-type-section.entity-r_H1QGwp.mjs.map +0 -1
- package/fesm2022/acorex-modules-asset-management-asset-type.entity-cWVqpbHH.mjs.map +0 -1
- package/fesm2022/acorex-modules-asset-management-asset.entity-CamZGWTM.mjs.map +0 -1
- package/fesm2022/acorex-modules-human-capital-management-employee.entity-BRpqFRuI.mjs.map +0 -1
- package/fesm2022/acorex-modules-maintenance-management-failure-register.entity-D_lQrda5.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-business-unit-type.entity-C-EKX6Oy.mjs +0 -91
- package/fesm2022/acorex-modules-organization-management-business-unit-type.entity-C-EKX6Oy.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-chart.entity-bRxA8XHZ.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-company.entity-BohMJQNi.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-org-chart.page-eRTHzLDQ.mjs +0 -784
- package/fesm2022/acorex-modules-organization-management-org-chart.page-eRTHzLDQ.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-position.entity-DLPufeWz.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-responsibilities-matrix-widget-edit.component-mMZywr0X.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-responsibilities-matrix.component-B06t1G1E.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-team-member-role.entity-CZ4MibH4.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-team.entity-CGR0UlYl.mjs.map +0 -1
- package/fesm2022/acorex-modules-report-management-report-runner-root-page.component-DPSNAAct.mjs.map +0 -1
- package/fesm2022/acorex-modules-reservation-management-acorex-modules-reservation-management-BMemqW2V.mjs.map +0 -1
- package/fesm2022/acorex-modules-task-management-task-board.page-C1H_GTqy.mjs.map +0 -1
- package/fesm2022/acorex-modules-workflow-management-activity-command-configurator-widget-column.component-C8lgSjfc.mjs.map +0 -1
- package/fesm2022/acorex-modules-workflow-management-activity-command-configurator-widget-edit.component-BGUPxGXP.mjs.map +0 -1
- package/fesm2022/acorex-modules-workflow-management-activity-definition.entity-Bvs1OfE_.mjs.map +0 -1
- package/fesm2022/acorex-modules-workflow-management-index-DWIDQsWq.mjs.map +0 -1
- package/fesm2022/acorex-modules-workflow-management-workflow-definition.entity-aJou58ED.mjs.map +0 -1
- package/fesm2022/acorex-modules-workflow-management-workflow-instance.entity-Cq7LE7u5.mjs.map +0 -1
- package/fesm2022/acorex-modules-workflow-management-workflow-task-popover.component-CIakASVR.mjs.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-modules-organization-management-org-chart.page-eRTHzLDQ.mjs","sources":["../../../../libs/modules/organization-management/src/lib/features/organization-chart/org-chart-host.token.ts","../../../../libs/modules/organization-management/src/lib/features/organization-chart/employee-card/employee-card.component.ts","../../../../libs/modules/organization-management/src/lib/features/organization-chart/employee-card/employee-card.component.html","../../../../libs/modules/organization-management/src/lib/features/organization-chart/nodes/default-card/org-chart-default-node-card.component.ts","../../../../libs/modules/organization-management/src/lib/features/organization-chart/nodes/default-card/org-chart-default-node-card.component.html","../../../../libs/modules/organization-management/src/lib/features/organization-chart/nodes/business-unit/org-chart-business-unit-node.component.ts","../../../../libs/modules/organization-management/src/lib/features/organization-chart/nodes/business-unit/org-chart-business-unit-node.component.html","../../../../libs/modules/organization-management/src/lib/features/organization-chart/nodes/company/org-chart-company-node.component.ts","../../../../libs/modules/organization-management/src/lib/features/organization-chart/nodes/company/org-chart-company-node.component.html","../../../../libs/modules/organization-management/src/lib/features/organization-chart/nodes/employee/org-chart-employee-node.component.ts","../../../../libs/modules/organization-management/src/lib/features/organization-chart/nodes/employee/org-chart-employee-node.component.html","../../../../libs/modules/organization-management/src/lib/features/organization-chart/nodes/position/org-chart-position-node.component.ts","../../../../libs/modules/organization-management/src/lib/features/organization-chart/nodes/position/org-chart-position-node.component.html","../../../../libs/modules/organization-management/src/lib/features/organization-chart/nodes/org-chart-node-outlet.component.ts","../../../../libs/modules/organization-management/src/lib/features/organization-chart/nodes/org-chart-node-outlet.component.html","../../../../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 { InjectionToken } from '@angular/core';\nimport { AXPMultiLanguageString } from '@acorex/platform/core';\nimport { AXMOrganizationNode } from './org-chart.type';\n\n/**\n * Injected by org chart node components to access colors, i18n labels, and expand/collapse.\n */\nexport interface AXMOrgChartHostApi {\n getNodeColors(color: string): Record<string, string>;\n readonly chartML: {\n vacant: AXPMultiLanguageString;\n directReports: AXPMultiLanguageString;\n teamMembers: AXPMultiLanguageString;\n };\n toggleNode(data: AXMOrganizationNode, el?: HTMLDivElement | null): void;\n}\n\nexport const AXM_ORG_CHART_HOST = new InjectionToken<AXMOrgChartHostApi>('AXM_ORG_CHART_HOST');\n","//#region ---- Imports ----\n\nimport { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { AXPAvatarComponent } from '@acorex/platform/layout/components';\n\n//#endregion\n\n//#region ---- Employee card (org chart node) ----\n\n/**\n * Compact row for org-chart employee nodes: initials avatar, full name, and optional position line.\n */\n@Component({\n selector: 'axm-org-chart-employee-card',\n templateUrl: './employee-card.component.html',\n imports: [AXPAvatarComponent],\n host: {\n class: '--org-chart-person-row',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXMOrgChartEmployeeCardComponent {\n /** When true, shows {@link vacantLabel} and placeholder avatar instead of the name. */\n readonly isVacant = input(false);\n\n /** Resolved display name (e.g. employee full name); ignored when {@link isVacant} is true. */\n readonly fullName = input('');\n\n /** Resolved “Vacant” (or equivalent) label when {@link isVacant} is true. */\n readonly vacantLabel = input<string | undefined>(undefined);\n\n /** Resolved job title, description, or other secondary line; omit or empty to hide. */\n readonly position = input<string | undefined>(undefined);\n\n /** Whether the avatar uses placeholder styling (vacant or missing name). */\n protected readonly avatarPlaceholder = computed(() => this.isVacant() || !this.fullName().trim());\n}\n\n//#endregion\n","<axp-avatar [fullName]=\"fullName()\" [placeholder]=\"avatarPlaceholder()\" [size]=\"44\" />\n<div class=\"--merged-role-text\">\n @if (isVacant()) {\n @if (vacantLabel(); as vacant) {\n <span class=\"--merged-vacant\">{{ vacant }}</span>\n }\n @if (position()) {\n <span class=\"--merged-position\">{{ position() }}</span>\n }\n } @else {\n @if (fullName()) {\n <span class=\"--merged-name\">{{ fullName() }}</span>\n }\n @if (position()) {\n <span class=\"--merged-position\">{{ position() }}</span>\n }\n }\n</div>\n","//#region ---- Imports ----\n\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { ChangeDetectionStrategy, Component, inject, input, ViewEncapsulation } from '@angular/core';\nimport { AXPResolveMultiLanguageStringPipe } from '@acorex/platform/core';\nimport { AXM_ORG_CHART_HOST } from '../../org-chart-host.token';\nimport { AXMOrganizationNode } from '../../org-chart.type';\n\n//#endregion\n\n//#region ---- Component ----\n\n/** Standard icon + title card used when a node is not using a merged template. */\n@Component({\n selector: 'axm-org-chart-default-node-card',\n templateUrl: './org-chart-default-node-card.component.html',\n imports: [AXButtonModule, AXDecoratorModule, AXPResolveMultiLanguageStringPipe],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXMOrgChartDefaultNodeCardComponent {\n protected readonly host = inject(AXM_ORG_CHART_HOST);\n\n readonly data = input.required<AXMOrganizationNode>();\n /** Semantic color token passed to {@link AXMOrgChartHostApi.getNodeColors}. */\n readonly colorKey = input.required<string>();\n}\n\n//#endregion\n","<div #node class=\"--node-container\" [style]=\"host.getNodeColors(colorKey())\">\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\" [title]=\"data().title | axpResolveMultiLanguageString\">{{\n data().title | axpResolveMultiLanguageString\n }}</span>\n @if (data().subtitle) {\n <span class=\"--sub-title\" [title]=\"data().subtitle! | axpResolveMultiLanguageString\">{{\n data().subtitle! | axpResolveMultiLanguageString\n }}</span>\n }\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 @if (data().description) {\n <div class=\"--body-container\">\n <div class=\"--description\" [class.ax-pb-3]=\"data().children && data().children!.length > 0\">\n <span>{{ data().description | axpResolveMultiLanguageString }}</span>\n </div>\n </div>\n }\n @if (data().children && data().children!.length > 0) {\n <div class=\"--toggle\">\n <ax-button class=\"ax-xs ax-rounded-sm\" (onClick)=\"host.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","//#region ---- Imports ----\n\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { ChangeDetectionStrategy, Component, inject, input, ViewEncapsulation } from '@angular/core';\nimport { AXPResolveMultiLanguageStringPipe } from '@acorex/platform/core';\nimport { AXM_ORG_CHART_HOST } from '../../org-chart-host.token';\nimport { AXMOrganizationNode } from '../../org-chart.type';\nimport { AXMOrgChartEmployeeCardComponent } from '../../employee-card/employee-card.component';\nimport { AXMOrgChartDefaultNodeCardComponent } from '../default-card/org-chart-default-node-card.component';\n\n//#endregion\n\n//#region ---- Component ----\n\n/** Business unit node (division / department / branch): merged unit or default card. */\n@Component({\n selector: 'axm-org-chart-business-unit-node',\n templateUrl: './org-chart-business-unit-node.component.html',\n imports: [\n AXButtonModule,\n AXDecoratorModule,\n AXPResolveMultiLanguageStringPipe,\n AXMOrgChartEmployeeCardComponent,\n AXMOrgChartDefaultNodeCardComponent,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXMOrgChartBusinessUnitNodeComponent {\n protected readonly host = inject(AXM_ORG_CHART_HOST);\n\n readonly data = input.required<AXMOrganizationNode>();\n\n protected isRegional(): boolean {\n return this.data().metadata?.['isRegional'] === true;\n }\n\n protected getColorKey(): string {\n return this.isRegional() ? 'accent1' : 'accent2';\n }\n}\n\n//#endregion\n","<div>\n @if (data().metadata?.['chartTemplate'] === 'merged-unit') {\n <div #node class=\"--node-container --merged-card --merged-unit\" [class.--vacant]=\"data().metadata?.['unitHead']?.['vacant']\"\n [style]=\"host.getNodeColors(getColorKey())\">\n <div class=\"--container\">\n <div class=\"--merged-top\">\n <span class=\"--merged-entity-title\" [title]=\"data().title | axpResolveMultiLanguageString\">{{\n data().title | axpResolveMultiLanguageString\n }}</span>\n @if (data().description) {\n <span class=\"--merged-entity-desc\">{{ data().description | axpResolveMultiLanguageString }}</span>\n }\n </div>\n @if (data().metadata?.['unitHead']; as unitHead) {\n <axm-org-chart-employee-card\n [isVacant]=\"unitHead['vacant'] || !unitHead['employeeName']\"\n [fullName]=\"unitHead['employeeName'] ?? ''\"\n [vacantLabel]=\"host.chartML.vacant | axpResolveMultiLanguageString\"\n [position]=\"unitHead['positionTitle'] | axpResolveMultiLanguageString\" />\n }\n @if (data().metadata?.['stats']?.['directChildren'] != null) {\n <div class=\"--merged-stats\">\n <span class=\"--merged-stat-n\">{{ data().metadata!['stats']!['directChildren'] }}</span>\n <span class=\"--merged-stat-label\">{{ host.chartML.teamMembers | axpResolveMultiLanguageString }}</span>\n </div>\n }\n @if (data().children && data().children!.length > 0) {\n <div class=\"--toggle\">\n <ax-button class=\"ax-xs ax-rounded-sm\" (onClick)=\"host.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 } @else {\n <axm-org-chart-default-node-card [data]=\"data()\" [colorKey]=\"getColorKey()\" />\n }\n</div>\n","//#region ---- Imports ----\n\nimport { ChangeDetectionStrategy, Component, inject, input, ViewEncapsulation } from '@angular/core';\nimport { AXPResolveMultiLanguageStringPipe } from '@acorex/platform/core';\nimport { AXM_ORG_CHART_HOST } from '../../org-chart-host.token';\nimport { AXMOrganizationNode } from '../../org-chart.type';\nimport { AXMOrgChartEmployeeCardComponent } from '../../employee-card/employee-card.component';\nimport { AXMOrgChartDefaultNodeCardComponent } from '../default-card/org-chart-default-node-card.component';\n\n//#endregion\n\n//#region ---- Component ----\n\n/** Company node: merged executive (CEO block) or default card. */\n@Component({\n selector: 'axm-org-chart-company-node',\n templateUrl: './org-chart-company-node.component.html',\n imports: [AXPResolveMultiLanguageStringPipe, AXMOrgChartEmployeeCardComponent, AXMOrgChartDefaultNodeCardComponent],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXMOrgChartCompanyNodeComponent {\n protected readonly host = inject(AXM_ORG_CHART_HOST);\n\n readonly data = input.required<AXMOrganizationNode>();\n}\n\n//#endregion\n","<div>\n @if (data().metadata?.['chartTemplate'] === 'merged-executive') {\n <div #node class=\"--node-container --merged-card\" [class.--vacant]=\"data().metadata?.['topRole']?.['vacant']\"\n [style]=\"host.getNodeColors('primary')\">\n <div class=\"--container\">\n <div class=\"--merged-top\">\n <span class=\"--merged-entity-title\" [title]=\"data().title | axpResolveMultiLanguageString\">{{\n data().title | axpResolveMultiLanguageString\n }}</span>\n </div>\n @if (data().metadata?.['topRole']; as topRole) {\n <axm-org-chart-employee-card\n [isVacant]=\"topRole['vacant'] || !topRole['employeeName']\"\n [fullName]=\"topRole['employeeName'] ?? ''\"\n [vacantLabel]=\"host.chartML.vacant | axpResolveMultiLanguageString\"\n [position]=\"topRole['positionTitle'] | axpResolveMultiLanguageString\" />\n }\n @if (data().metadata?.['stats']?.['directChildren'] != null) {\n <div class=\"--merged-stats\">\n <span class=\"--merged-stat-n\">{{ data().metadata!['stats']!['directChildren'] }}</span>\n <span class=\"--merged-stat-label\">{{ host.chartML.teamMembers | axpResolveMultiLanguageString }}</span>\n </div>\n }\n </div>\n </div>\n } @else {\n <axm-org-chart-default-node-card [data]=\"data()\" colorKey=\"primary\" />\n }\n</div>\n","//#region ---- Imports ----\n\nimport { ChangeDetectionStrategy, Component, inject, input, ViewEncapsulation } from '@angular/core';\nimport { AXPResolveMultiLanguageStringPipe } from '@acorex/platform/core';\nimport { AXM_ORG_CHART_HOST } from '../../org-chart-host.token';\nimport { AXMOrganizationNode } from '../../org-chart.type';\nimport { AXMOrgChartEmployeeCardComponent } from '../../employee-card/employee-card.component';\nimport { AXMOrgChartDefaultNodeCardComponent } from '../default-card/org-chart-default-node-card.component';\n\n//#endregion\n\n//#region ---- Component ----\n\n/** Employee node: compact employee card or default card. */\n@Component({\n selector: 'axm-org-chart-employee-node',\n templateUrl: './org-chart-employee-node.component.html',\n imports: [AXPResolveMultiLanguageStringPipe, AXMOrgChartEmployeeCardComponent, AXMOrgChartDefaultNodeCardComponent],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXMOrgChartEmployeeNodeComponent {\n protected readonly host = inject(AXM_ORG_CHART_HOST);\n\n readonly data = input.required<AXMOrganizationNode>();\n}\n\n//#endregion\n","<div>\n @if (data().metadata?.['chartTemplate'] === 'employee-card') {\n <div #node class=\"--node-container --employee-card\" [style]=\"host.getNodeColors('surface')\">\n <div class=\"--container\">\n <axm-org-chart-employee-card [fullName]=\"data().title | axpResolveMultiLanguageString\" [position]=\"\n data().subtitle ? (data().subtitle! | axpResolveMultiLanguageString) : undefined\n \" />\n </div>\n </div>\n } @else {\n <axm-org-chart-default-node-card [data]=\"data()\" colorKey=\"surface\" />\n }\n</div>","//#region ---- Imports ----\n\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { ChangeDetectionStrategy, Component, inject, input, ViewEncapsulation } from '@angular/core';\nimport { AXPResolveMultiLanguageStringPipe } from '@acorex/platform/core';\nimport { AXM_ORG_CHART_HOST } from '../../org-chart-host.token';\nimport { AXMOrganizationNode } from '../../org-chart.type';\nimport { AXMOrgChartEmployeeCardComponent } from '../../employee-card/employee-card.component';\nimport { AXMOrgChartDefaultNodeCardComponent } from '../default-card/org-chart-default-node-card.component';\n\n//#endregion\n\n//#region ---- Component ----\n\n/** Position node: merged manager, IC seat, or default card. */\n@Component({\n selector: 'axm-org-chart-position-node',\n templateUrl: './org-chart-position-node.component.html',\n imports: [\n AXButtonModule,\n AXDecoratorModule,\n AXPResolveMultiLanguageStringPipe,\n AXMOrgChartEmployeeCardComponent,\n AXMOrgChartDefaultNodeCardComponent,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXMOrgChartPositionNodeComponent {\n protected readonly host = inject(AXM_ORG_CHART_HOST);\n\n readonly data = input.required<AXMOrganizationNode>();\n}\n\n//#endregion\n","<div>\n @if (data().metadata?.['chartTemplate'] === 'merged-manager') {\n <div #node class=\"--node-container --merged-card --merged-manager\" [class.--vacant]=\"data().metadata?.['vacant']\"\n [style]=\"host.getNodeColors('accent3')\">\n <div class=\"--container\">\n <div class=\"--merged-top --merged-top-compact\">\n <i class=\"fa-light fa-user-tie fa-fw --merged-type-icon\"></i>\n <span class=\"--merged-entity-title\" [title]=\"data().title | axpResolveMultiLanguageString\">{{\n data().title | axpResolveMultiLanguageString\n }}</span>\n </div>\n <axm-org-chart-employee-card\n [isVacant]=\"!!data().metadata?.['vacant'] || !data().metadata?.['occupant']?.['displayName']\"\n [fullName]=\"data().metadata?.['occupant']?.['displayName'] ?? ''\"\n [vacantLabel]=\"host.chartML.vacant | axpResolveMultiLanguageString\"\n [position]=\"\n data().description && !data().metadata?.['vacant'] && data().metadata?.['occupant']?.['displayName']\n ? (data().description! | axpResolveMultiLanguageString)\n : undefined\n \" />\n @if (data().metadata?.['stats']; as s) {\n @if (s['directReports'] != null && s['directReports'] > 0) {\n <div class=\"--merged-stats\">\n <span class=\"--merged-stat-n\">{{ s['directReports'] }}</span>\n <span class=\"--merged-stat-label\">{{ host.chartML.directReports | axpResolveMultiLanguageString }}</span>\n </div>\n }\n }\n @if (data().children && data().children!.length > 0) {\n <div class=\"--toggle\">\n <ax-button class=\"ax-xs ax-rounded-sm\" (onClick)=\"host.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 } @else if (data().metadata?.['chartTemplate'] === 'position-ic') {\n <div #node class=\"--node-container --ic-position\" [class.--vacant]=\"data().metadata?.['vacant']\"\n [style]=\"host.getNodeColors('accent3')\">\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\" [title]=\"data().title | axpResolveMultiLanguageString\">{{\n data().title | axpResolveMultiLanguageString\n }}</span>\n @if (data().metadata?.['vacant']) {\n <span class=\"--sub-title\">{{ host.chartML.vacant | axpResolveMultiLanguageString }}</span>\n }\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 @if (data().children && data().children!.length > 0) {\n <div class=\"--toggle\">\n <ax-button class=\"ax-xs ax-rounded-sm\" (onClick)=\"host.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 } @else {\n <axm-org-chart-default-node-card [data]=\"data()\" colorKey=\"accent3\" />\n }\n</div>\n","//#region ---- Imports ----\n\nimport { ChangeDetectionStrategy, Component, input, ViewEncapsulation } from '@angular/core';\nimport { AXMOrgChartNodeType, AXMOrganizationNode } from '../org-chart.type';\nimport { AXMOrgChartBusinessUnitNodeComponent } from './business-unit/org-chart-business-unit-node.component';\nimport { AXMOrgChartCompanyNodeComponent } from './company/org-chart-company-node.component';\nimport { AXMOrgChartEmployeeNodeComponent } from './employee/org-chart-employee-node.component';\nimport { AXMOrgChartPositionNodeComponent } from './position/org-chart-position-node.component';\n\n//#endregion\n\n//#region ---- Component ----\n\n/**\n * Picks the org chart card by node type. Uses a static @switch (not NgComponentOutlet) so\n * components render reliably when the host is created in code and moved into an SVG foreignObject.\n */\n@Component({\n selector: 'axm-org-chart-node-outlet',\n templateUrl: './org-chart-node-outlet.component.html',\n imports: [\n AXMOrgChartCompanyNodeComponent,\n AXMOrgChartBusinessUnitNodeComponent,\n AXMOrgChartPositionNodeComponent,\n AXMOrgChartEmployeeNodeComponent,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'axm-org-chart-node-outlet',\n style: 'display: block; width: 100%; min-height: 1px; box-sizing: border-box;',\n },\n})\nexport class AXMOrgChartNodeOutletComponent {\n protected readonly NodeTypes = AXMOrgChartNodeType;\n\n readonly data = input.required<AXMOrganizationNode>();\n}\n\n//#endregion\n","@switch (data().type) {\n@case (NodeTypes.Company) {\n<axm-org-chart-company-node [data]=\"data()\" />\n} @case (NodeTypes.BusinessUnit) {\n<axm-org-chart-business-unit-node [data]=\"data()\" />\n} @case (NodeTypes.Position) {\n<axm-org-chart-position-node [data]=\"data()\" />\n} @case (NodeTypes.Employee) {\n<axm-org-chart-employee-node [data]=\"data()\" />\n} @default {\n<axm-org-chart-company-node [data]=\"data()\" />\n} }","import { AXStyleColorType } from '@acorex/cdk/common';\nimport { AXLoadingDialogService } from '@acorex/components/loading-dialog';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPExportService } from '@acorex/platform/common';\nimport { AXPCommandService } from '@acorex/platform/runtime';\nimport { AXPLayoutBuilderService } from '@acorex/platform/layout/builder';\n\nimport { AXPDataGenerator, createMultiLanguageString } from '@acorex/platform/core';\nimport { inject, Injectable, signal } from '@angular/core';\n\nimport { AXMOrganizationNode, AXMOrgChartNodeType } from './org-chart.type';\nimport { AXMOrganizationManagementChartEntityService } from '../../entities';\n\nexport type OrgChartMode = 'location' | 'structure' | 'reporting';\n\nexport type OrgChartGenerateInput = {\n mode?: OrgChartMode;\n};\n\nexport interface OrgChartDialogResult {\n cancelled: boolean;\n input?: OrgChartGenerateInput;\n}\n\n@Injectable()\nexport class AXMOrgChartService {\n\n // Employee moved to HCM; resolve via runtime query mapping instead of direct service\n private chartService = inject(AXMOrganizationManagementChartEntityService);\n\n private loadingDialog = inject(AXLoadingDialogService);\n private exportService = inject(AXPExportService);\n private translationService = inject(AXTranslationService);\n private commandService = inject(AXPCommandService);\n private layoutBuilder = inject(AXPLayoutBuilderService);\n\n\n private readonly _rootNode = signal<AXMOrganizationNode>({\n id: AXPDataGenerator.uuid(),\n type: AXMOrgChartNodeType.Company,\n /** Until `load()`; keep in sync with `organization-management.organization-chart.nodes.company`. */\n title: createMultiLanguageString('Company', 'شرکت'),\n });\n\n public readonly rootNode = this._rootNode.asReadonly();\n\n\n public async load(): Promise<void> {\n const first = (\n await this.chartService.query({\n skip: 0,\n take: 1,\n sort: [{ field: 'version', dir: 'desc' }],\n })\n ).items[0];\n //\n if (first && first.data) {\n const data = first.data as AXMOrganizationNode;\n this._rootNode.set(data);\n } else {\n await this.generate();\n await this.load();\n }\n }\n\n public async generate(): Promise<void> {\n const dialogResult = await this.showGenerateDialog();\n\n if (dialogResult.cancelled) {\n return;\n }\n\n const input = dialogResult.input || { mode: 'structure' };\n\n await this.commandService.execute('OrganizationManagement.OrgChart:Generate', input);\n }\n\n /**\n * Show dialog to get OrgChart generation parameters from user\n */\n private async showGenerateDialog(): Promise<OrgChartDialogResult> {\n const modeLabel = await this.translationService.translateAsync('@organization-management:organization-chart.components.generate-dialog.fields.mode.label');\n\n return this.layoutBuilder\n .create()\n .dialog<OrgChartDialogResult>(dialog => {\n dialog\n .setTitle('@organization-management:organization-chart.components.generate-dialog.title')\n .setMessage('@organization-management:organization-chart.components.generate-dialog.message')\n .setContext({\n mode: 'structure' as OrgChartMode,\n })\n .content(flex => {\n flex.formField(modeLabel, (field) => {\n field.path('mode');\n field.selectionList({\n valueField: 'value',\n textField: 'text',\n dataSource: [\n { value: 'structure', text: '@organization-management:organization-chart.options.mode.structure' },\n { value: 'location', text: '@organization-management:organization-chart.options.mode.location' },\n { value: 'reporting', text: '@organization-management:organization-chart.options.mode.reporting' }\n ]\n });\n });\n })\n .setActions(actions => {\n actions\n .cancel()\n .submit('@general:generate');\n })\n .onAction(async (dialogRef) => {\n const context = dialogRef.context();\n const action = dialogRef.action();\n\n if (!context || action === 'cancel') {\n return { cancelled: true };\n }\n\n // dialogRef.setLoading(true);\n // await new Promise((r) => setTimeout(r, 800));\n // dialogRef.setLoading(false);\n\n // if (1 == 1) {\n // throw new Error('test');\n // }\n\n return {\n cancelled: false,\n input: context as OrgChartGenerateInput\n };\n });\n })\n .show();\n }\n\n //#region ---- Printing ----\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 { text: 'Cancel', color: 'danger', onClick: () => d.close() }\n ],\n });\n\n try {\n await this.updateStep(d, await this.translate('@organization-management:organization-chart.states.preparing-document'), 10, '1/10');\n const chartElement = element;\n const { originalStyles, modifiedStyles } = this.expandChart(chartElement);\n\n await this.updateStep(d, await this.translate('@organization-management:organization-chart.states.rendering-chart-image'), 25, '2.5/10');\n const blob = await this.exportService.generateBlobFromElement(chartElement, {\n popup: true,\n filter: (node: Node) => !(node instanceof Element && node.classList.contains('--toggle')),\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.updateStep(d, await this.translate('@organization-management:organization-chart.states.finalizing-image-processing'), 50, '5/10');\n this.restoreChartStyles(chartElement, originalStyles);\n\n await this.updateStep(d, await this.translate('@organization-management:organization-chart.states.downloading-image'), 75, '7.5/10');\n this.exportService.download(blob, 'org-chart.png');\n\n await this.updateStep(d, await this.translate('@organization-management:organization-chart.states.process-complete'), 100, '10/10');\n setTimeout(() => d.close(), 1500);\n } catch (err) {\n console.error('Error capturing chart:', err);\n await this.updateStep(d, await this.translate('@organization-management:organization-chart.states.failed-to-generate-chart-image'), 100, 'Error', 'danger');\n d.close();\n }\n }\n\n private expandChart(chartElement: HTMLElement) {\n const originalStyles = {\n originalOverflow: chartElement.style.overflow,\n originalWidth: chartElement.style.width,\n originalHeight: chartElement.style.height,\n };\n const modifiedStyles = {\n modifiedOverflow: 'visible',\n modifiedWidth: `${chartElement.scrollWidth}px`,\n modifiedHeight: `${chartElement.scrollHeight}px`,\n };\n chartElement.style.overflow = modifiedStyles.modifiedOverflow;\n chartElement.style.width = modifiedStyles.modifiedWidth;\n chartElement.style.height = modifiedStyles.modifiedHeight;\n return { originalStyles, modifiedStyles };\n }\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 private async updateStep(\n dialog: any,\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 private async translate(key: string): Promise<string> {\n return (await this.translationService.translateAsync(key)) + '...';\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 {\n AXContextMenuComponent,\n AXContextMenuItemsClickEvent,\n AXContextMenuOpeningEvent,\n AXMenuModule,\n} from '@acorex/components/menu';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPPageLayoutBase, AXPPageLayoutBaseComponent, AXPPageLayoutComponent } from '@acorex/platform/layout/views';\nimport { AXPThemeLayoutBlockComponent } from '@acorex/platform/layout/components';\nimport { CommonModule } from '@angular/common';\nimport {\n afterNextRender,\n ChangeDetectionStrategy,\n Component,\n ComponentRef,\n ElementRef,\n inject,\n Injector,\n NgZone,\n signal,\n viewChild,\n ViewContainerRef,\n ViewEncapsulation,\n} from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport get from 'lodash-es/get';\nimport set from 'lodash-es/set';\nimport { RootConfig } from '../../const';\nimport { AXM_ORG_CHART_HOST, type AXMOrgChartHostApi } from './org-chart-host.token';\nimport { AXMOrgChartNodeOutletComponent } from './nodes/org-chart-node-outlet.component';\nimport { AXMOrgChartService } from './org-chart.service';\nimport { AXMOrganizationNode, AXMOrgChartCategory, AXMOrgChartNodeType } from './org-chart.type';\nimport {\n AXPActionMenuItem,\n AXPBreadcrumbItem,\n AXPExecuteCommand,\n createMultiLanguageString,\n getActionButton,\n resolveActionLook,\n} from '@acorex/platform/core';\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 //\n AXMenuModule,\n AXButtonModule,\n AXDropdownButtonModule,\n AXTranslationModule,\n AXDecoratorModule,\n AXPanViewDirective,\n AXLoadingModule,\n AXBreadcrumbsModule,\n AXBadgeModule,\n //\n AXPThemeLayoutBlockComponent,\n AXPPageLayoutComponent,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n AXMOrgChartService,\n {\n provide: AXPPageLayoutBase,\n useExisting: AXMOrgChartPage\n },\n { provide: AXM_ORG_CHART_HOST, useExisting: AXMOrgChartPage }\n ],\n})\nexport class AXMOrgChartPage extends AXPPageLayoutBaseComponent implements AXMOrgChartHostApi {\n protected readonly rootConfig = RootConfig;\n\n private d3!: typeof import('d3');\n\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 pageInjector = inject(Injector);\n private viewContainerRef = inject(ViewContainerRef);\n // printing is handled by service itself\n private chartService = inject(AXMOrgChartService);\n\n private readonly NODE_STROKE_COLOR = 'rgba(var(--ax-sys-color-primary-400))';\n private readonly LINK_STROKE_WIDTH = 1;\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 protected nodeTypes = [\n { title: 'Company', color: 'primary', icon: 'fal fa-building', category: AXMOrgChartCategory.Company },\n { title: 'Business Unit', color: 'accent2', icon: 'fal fa-sitemap', category: AXMOrgChartCategory.BusinessUnit },\n { title: 'Position', color: 'accent3', icon: 'fal fa-user-tie', category: AXMOrgChartCategory.Position },\n { title: 'Employee', color: 'surface', icon: 'fal fa-address-card', category: AXMOrgChartCategory.Employee },\n ];\n\n /**\n * UI chrome for chart cards; align copy with `organization-chart.organization-chart.nodes` / mock `org-chart-labels`.\n */\n public readonly chartML = {\n vacant: createMultiLanguageString('Vacant', 'خالی'),\n directReports: createMultiLanguageString('Direct reports', 'گزارش مستقیم'),\n teamMembers: createMultiLanguageString('Team members', 'اعضای تیم'),\n };\n\n #initialize = afterNextRender(async () => {\n this.d3 = await import('d3');\n\n await this.refresh();\n });\n\n /**\n * Zooms in the chart.\n */\n protected zoomIn() {\n this.panView()?.zoomIn();\n }\n\n /**\n * Zooms out the chart.\n */\n protected zoomOut() {\n this.panView()?.zoomOut();\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 = 300;\n const NODE_HEIGHT_BASE = 220;\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 if (data.type == null) {\n set(data, 'type', AXMOrgChartNodeType.Company);\n }\n set(data, 'category', data.type);\n\n // D3 runs inside runOutsideAngular; created views must be updated inside the zone.\n this.ngzone.run(() => {\n // Dynamic subviews can use an injector that does not inherit the page `providers`.\n // Bridge `AXM_ORG_CHART_HOST` explicitly so child node components can inject it.\n const nodeTreeInjector = Injector.create({\n parent: this.pageInjector,\n providers: [{ provide: AXM_ORG_CHART_HOST, useValue: this as AXMOrgChartHostApi }],\n });\n\n const ref: ComponentRef<AXMOrgChartNodeOutletComponent> = this.viewContainerRef.createComponent(\n AXMOrgChartNodeOutletComponent,\n { injector: nodeTreeInjector }\n );\n ref.setInput('data', data);\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(ref.location.nativeElement);\n ref.changeDetectorRef.detectChanges();\n } else {\n ref.destroy();\n }\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 public toggleNode(data: AXMOrganizationNode, _el?: HTMLDivElement | null) {\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 refresh() {\n if (this.d3) {\n await this.chartService.load();\n this.createChart(this.treeContainer().nativeElement, this.chartService.rootNode());\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 }\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.chartService.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 public 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: AXMOrgChartCategory) {\n oldValue.cat = newValue;\n }\n\n\n\n override async getPageTitle(): Promise<string> {\n return await this.translateService.translateAsync('@organization-management:organization-chart.components.chart.title');\n }\n\n override async getPageDescription(): Promise<string> {\n return await this.translateService.translateAsync('@organization-management:organization-chart.components.chart.description');\n }\n\n override async getSecondaryMenuItems(): Promise<AXPActionMenuItem[]> {\n return [\n {\n ...getActionButton('print'),\n command: {\n name: 'print',\n },\n },\n {\n ...getActionButton('refresh'),\n command: {\n name: 'refresh',\n },\n }\n ];\n }\n override async getPageBreadcrumbs(): Promise<AXPBreadcrumbItem[]> {\n return [\n {\n title: await this.translateService.translateAsync('@organization-management:module.menus.root.title')\n },\n ];\n }\n\n override async execute(command: AXPExecuteCommand) {\n if (command.name == 'print') {\n await this.printChart();\n }\n if (command.name == 'refresh') {\n await this.chartService.generate();\n await this.refresh();\n }\n }\n\n ngOnDestroy(): void {\n this.clearChart(this.treeContainer().nativeElement);\n }\n}\n","<axp-page-layout *translate=\"let t\">\n <axp-page-content class=\"ax-overflow-hidden\">\n <div class=\"ax-h-[calc(100vh-290px)]\" #parent id=\"parent\">\n <div #chart axPanView [(panX)]=\"panX\" [(panY)]=\"panY\" [freeMode]=\"true\" [(zoom)]=\"panZoomLevel\"\n [fitContent]=\"true\" wrapperClasses=\"h\" class=\"ax-light\"></div>\n </div>\n </axp-page-content>\n <axp-page-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'}; @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\"></div>\n {{item.title}}\n </div>\n {{updateVar(v, item.category)}} }\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-page-footer>\n</axp-page-layout>"],"names":["i2","i3"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-modules-organization-management-position.entity-DLPufeWz.mjs","sources":["../../../../libs/modules/organization-management/src/lib/entities/position/position.entity.ts"],"sourcesContent":["import { AXPEntity, createAllQueryView } from '@acorex/platform/common';\nimport { entityMasterCrudActions, entityMasterDeleteAction } from '@acorex/platform/layout/entity';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/widget-core';\nimport { Injector } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport { AXPWidgetsList } from '@acorex/modules/common';\n\nexport async function factory(injector: Injector): Promise<AXPEntity | null> {\n\n const entityDef: AXPEntity = {\n module: RootConfig.module.name,\n name: RootConfig.entities.position.name,\n plugins: [{ name: 'history' }, { name: 'lock' }, { name: 'compare' }, { name: 'clone' }, { name: 'category' }],\n title: RootConfig.entities.position.title,\n icon: RootConfig.entities.position.icon,\n formats: {\n individual: '@organization-management:positions.entities.position.title',\n plural: '@organization-management:positions.entities.position.plural',\n searchResult: {\n title: '{{ title }}',\n description: RootConfig.module.title,\n },\n },\n relatedEntities: [],\n groups: [\n {\n id: 'basic-info',\n title: `@general:terms.interface.basic-info`,\n },\n {\n id: 'organizational-details',\n title: '@organization-management:positions.entities.position.groups.organizational-details',\n },\n ],\n properties: [\n {\n name: 'id',\n title: 'ID',\n groupId: 'basic-info',\n schema: {\n dataType: 'uuid',\n visible: false,\n nullable: false,\n readonly: true,\n unique: {\n enabled: true,\n },\n },\n },\n {\n name: 'title',\n title: `@general:terms.common.title`,\n groupId: 'basic-info',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n options: {\n sort: {\n enabled: true,\n },\n filter: {\n advance: {\n enabled: true,\n },\n inline: {\n enabled: true,\n },\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n\n {\n name: 'code',\n title: `@general:terms.common.code`,\n groupId: 'basic-info',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n options: {\n sort: {\n enabled: true,\n },\n filter: {\n advance: {\n enabled: true,\n },\n inline: {\n enabled: true,\n },\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'description',\n title: `@general:terms.common.description`,\n groupId: 'basic-info',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.largeText,\n },\n },\n },\n {\n name: 'jobDefinitionId',\n title: '@organization-management:positions.entities.position.fields.job-definition.title',\n groupId: 'organizational-details',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsList.Editors.LookupBox,\n options: {\n entity: `${RootConfig.module.name}.${RootConfig.entities.jobDefinition.name}`,\n textField: 'title',\n valueField: 'id',\n expose: [\n { source: 'id', target: 'jobDefinition.id' },\n { source: 'title', target: 'jobDefinition.title' },\n { source: 'jobLevelIds', target: 'jobDefinition.jobLevelIds' },\n ],\n },\n },\n },\n },\n {\n name: 'jobLevelId',\n title: '@organization-management:positions.entities.position.fields.job-level.title',\n groupId: 'organizational-details',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsList.Editors.LookupBox,\n options: {\n entity: `${RootConfig.module.name}.${RootConfig.entities.jobLevel.name}`,\n textField: 'title',\n valueField: 'id',\n look: 'select',\n disabled: '{{ !context.eval(\"jobDefinitionId\") }}',\n expose: [\n { source: 'id', target: 'jobLevel.id' },\n { source: 'title', target: 'jobLevel.title' },\n ],\n filter: {\n logic: 'and',\n filters: [\n {\n field: 'id',\n operator: { type: 'in' },\n value: '{{ context.eval(\"jobDefinition.jobLevelIds\") }}',\n },\n ],\n },\n },\n triggers: [\n {\n event: \"{{ events.context('jobDefinitionId') }}\",\n action: `{{ widget.refresh() }}`,\n },\n ],\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'capacity',\n title: '@organization-management:positions.entities.position.fields.capacity.title',\n groupId: 'organizational-details',\n schema: {\n dataType: 'number',\n interface: {\n type: AXPWidgetsList.Editors.NumberBox,\n options: {\n minValue: 0,\n },\n },\n },\n },\n {\n name: 'reportsToPositionId',\n title: '@organization-management:positions.entities.position.fields.reports-to-position.title',\n groupId: 'organizational-details',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsList.Editors.LookupBox,\n options: {\n entity: `${RootConfig.module.name}.${RootConfig.entities.position.name}`,\n textField: 'title',\n valueField: 'id',\n look: 'select',\n hasClearButton: true,\n expose: [\n { source: 'id', target: 'reportsToPosition.id' },\n { source: 'title', target: 'reportsToPosition.title' },\n ],\n filter: {\n logic: 'and',\n filters: [\n {\n field: 'id',\n operator: { type: 'notEqual' },\n value: '{{ context.eval(\"id\") }}',\n },\n ],\n },\n },\n },\n },\n },\n {\n name: 'isManager',\n title: '@organization-management:positions.entities.position.fields.is-manager.title',\n groupId: 'organizational-details',\n schema: {\n dataType: 'boolean',\n interface: {\n type: AXPWidgetsCatalog.toggle,\n },\n },\n options: {\n sort: { enabled: true },\n filter: { advance: { enabled: true }, inline: { enabled: true } },\n },\n },\n ],\n columns: [\n { name: 'title' },\n { name: 'description' },\n { name: 'reportsToPositionId', options: { dataPath: 'reportsToPosition.title' } },\n { name: 'isManager' },\n ],\n\n interfaces: {\n master: {\n create: {\n sections: [\n {\n id: 'basic-info',\n },\n {\n id: 'organizational-details',\n },\n ],\n properties: [\n {\n name: 'code',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 1,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 2,\n },\n },\n },\n },\n {\n name: 'description',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n order: 3,\n },\n },\n },\n },\n {\n name: 'jobDefinitionId',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 1,\n },\n },\n },\n },\n {\n name: 'jobLevelId',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 2,\n },\n },\n },\n },\n {\n name: 'capacity',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 3,\n },\n },\n },\n },\n {\n name: 'reportsToPositionId',\n layout: { positions: { lg: { colSpan: 6, order: 4 } } },\n },\n {\n name: 'isManager',\n layout: { positions: { lg: { colSpan: 6, order: 5 } } },\n },\n ],\n },\n update: {\n sections: [\n {\n id: 'basic-info',\n },\n {\n id: 'organizational-details',\n },\n ],\n properties: [\n {\n name: 'code',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 1,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 2,\n },\n },\n },\n },\n {\n name: 'description',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n order: 3,\n },\n },\n },\n },\n {\n name: 'jobDefinitionId',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 1,\n },\n },\n },\n },\n {\n name: 'jobLevelId',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 2,\n },\n },\n },\n },\n {\n name: 'capacity',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 3,\n },\n },\n },\n },\n {\n name: 'reportsToPositionId',\n layout: { positions: { lg: { colSpan: 6, order: 4 } } },\n },\n {\n name: 'isManager',\n layout: { positions: { lg: { colSpan: 6, order: 5 } } },\n },\n ],\n },\n single: {\n title: '{{title}}',\n sections: [\n {\n id: 'basic-info',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n order: 1,\n },\n },\n },\n },\n {\n id: 'organizational-details',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n order: 2,\n },\n },\n },\n },\n ],\n properties: [\n {\n name: 'code',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 1,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 2,\n },\n },\n },\n },\n {\n name: 'description',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n order: 3,\n },\n },\n },\n },\n {\n name: 'jobDefinitionId',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 1,\n },\n },\n },\n },\n {\n name: 'jobLevelId',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 2,\n },\n },\n },\n },\n {\n name: 'capacity',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 3,\n },\n },\n },\n },\n {\n name: 'reportsToPositionId',\n layout: { positions: { lg: { colSpan: 6, order: 4 } } },\n },\n {\n name: 'isManager',\n layout: { positions: { lg: { colSpan: 6, order: 5 } } },\n },\n ],\n actions: [entityMasterDeleteAction()],\n },\n list: {\n actions: [...entityMasterCrudActions()],\n views: [createAllQueryView({ sorts: [{ name: 'title', dir: 'asc' }] })],\n },\n },\n },\n };\n\n return entityDef;\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-modules-organization-management-responsibilities-matrix-widget-edit.component-mMZywr0X.mjs","sources":["../../../../libs/modules/organization-management/src/lib/features/responsibilities-matrix/responsibilities-matrix-widget-edit.component.ts"],"sourcesContent":["//#region ---- Imports ----\n\n\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n inject,\n ViewEncapsulation,\n} from '@angular/core';\nimport { AXPMultiLanguageStringResolverService } from '@acorex/platform/core';\nimport { AXPValueWidgetComponent } from '@acorex/platform/layout/widget-core';\nimport { AXPSpreadsheetData, AXPSpreadsheetItem } from '@acorex/platform/layout/components';\nimport { get } from 'lodash-es';\nimport { AXMOrganizationManagementResponsibilitiesMatrixComponent } from './responsibilities-matrix.component';\n\n//#endregion\n\n//#region ---- Component Definition ----\n\n@Component({\n selector: 'axm-responsibilities-matrix-widget-edit',\n standalone: true,\n imports: [\n AXMOrganizationManagementResponsibilitiesMatrixComponent\n],\n template: `\n <axm-responsibilities-matrix\n [titles]=\"titles()\"\n [value]=\"matrixValue()\"\n [responsibilityIds]=\"responsibilityIds()\"\n [readonly]=\"readonly()\"\n (valueChange)=\"handleValueChange($any($event))\"\n (responsibilityIdsChange)=\"handleResponsibilityIdsChange($any($event))\"\n ></axm-responsibilities-matrix>\n `,\n host: {\n class: 'ax-block ax-w-full',\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXMResponsibilitiesMatrixWidgetEditComponent extends AXPValueWidgetComponent<AXPSpreadsheetData> {\n //#endregion\n\n private readonly multiLanguageResolver = inject(AXPMultiLanguageStringResolverService);\n\n //#region ---- Computed Properties ----\n\n /**\n * Readonly mode from options\n */\n protected readonly = computed<boolean>(() => {\n const options = this.options();\n return options?.['readonly'] ?? false;\n });\n\n /**\n * Titles from context - reactively reads from context data signal\n * This ensures the titles update immediately when jobLevels changes in context\n */\n protected titles = computed<AXPSpreadsheetItem[]>(() => {\n const resolve = (v: unknown) => this.multiLanguageResolver.resolve(v as any);\n const toItem = (item: any): AXPSpreadsheetItem => {\n if (typeof item === 'string') {\n return { id: item, title: item };\n }\n const id = item.id || item.value || String(item);\n const rawTitle = item.title ?? item.name ?? String(item);\n return {\n id,\n title: resolve(rawTitle) || String(rawTitle),\n description:\n item.description != null && item.description !== ''\n ? resolve(item.description)\n : undefined,\n };\n };\n\n // Read directly from context data signal for reactive updates\n const contextData = this.contextService.data();\n const jobLevelsFromContext = get(contextData, 'jobLevels') as any[] | undefined;\n\n if (Array.isArray(jobLevelsFromContext) && jobLevelsFromContext.length > 0) {\n return jobLevelsFromContext.map(toItem);\n }\n\n // Fallback to options (for initial load or when context is not yet available)\n const options = this.options();\n const rawTitles = options?.['titles'];\n\n if (!rawTitles) {\n return [];\n }\n\n if (Array.isArray(rawTitles)) {\n return rawTitles.map(toItem);\n }\n\n return [];\n });\n\n /**\n * Current matrix value\n */\n protected matrixValue = computed<AXPSpreadsheetData>(() => {\n return (this.getValue() as AXPSpreadsheetData) || {};\n });\n\n /**\n * Responsibility IDs extracted from value or from options\n */\n protected responsibilityIds = computed<string[]>(() => {\n const options = this.options();\n const responsibilityIdsFromOptions = options?.['responsibilityIds'] ?? [];\n\n // If responsibilityIds from options is an array, use it\n if (Array.isArray(responsibilityIdsFromOptions) && responsibilityIdsFromOptions.length > 0) {\n return responsibilityIdsFromOptions;\n }\n\n // Otherwise, extract from value (only if value exists and has items)\n const value = this.matrixValue();\n if (value && typeof value === 'object' && Object.keys(value).length > 0) {\n return Object.keys(value).filter((id) => id != null);\n }\n\n // Return empty array to prevent undefined issues\n return [];\n });\n\n //#endregion\n\n //#region ---- Event Handlers ----\n\n /**\n * Handle value change from responsibilities-matrix component\n */\n protected handleValueChange(data: AXPSpreadsheetData): void {\n if (data) {\n this.setValue(data);\n }\n }\n\n /**\n * Handle responsibility IDs change from responsibilities-matrix component\n */\n protected handleResponsibilityIdsChange(responsibilityIds: string[]): void {\n // Responsibility IDs are already reflected in the value\n // This handler is here for potential future use or side effects\n }\n\n //#endregion\n}\n\n//#endregion\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-modules-organization-management-responsibilities-matrix.component-B06t1G1E.mjs","sources":["../../../../libs/modules/organization-management/src/lib/features/responsibilities-matrix/responsibilities-matrix.component.ts","../../../../libs/modules/organization-management/src/lib/features/responsibilities-matrix/responsibilities-matrix.component.html"],"sourcesContent":["//#region ---- Imports ----\n\nimport { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n effect,\n inject,\n input,\n output,\n signal,\n ViewEncapsulation,\n Injector,\n} from '@angular/core';\nimport {\n AXPSpreadsheetComponent,\n AXPSpreadsheetColumn,\n AXPSpreadsheetData,\n AXPSpreadsheetItem,\n AXPSpreadsheetCellChangeEvent,\n AXPSpreadsheetRowChangeEvent,\n} from '@acorex/platform/layout/components';\nimport { AXPWidgetsList } from '@acorex/modules/common';\nimport { AXPWidgetNode } from '@acorex/platform/layout/widget-core';\nimport {\n AXPEntityDataSelectorService,\n AXPEntityDefinitionRegistryService,\n AXPEntityService,\n} from '@acorex/platform/layout/entity';\nimport { AXPEntity } from '@acorex/platform/common';\nimport { RootConfig } from '../../const';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPMultiLanguageStringResolverService } from '@acorex/platform/core';\nimport { AXMOrganizationManagementResponsibilityEntityModel } from '../../entities/responsibility/responsibility.types';\nimport { AXMOrganizationManagementResponsibilityLevelEntityModel } from '../../entities/responsibility-level/responsibility-level.types';\n\n//#endregion\n\n//#region ---- Component Definition ----\n\n@Component({\n selector: 'axm-responsibilities-matrix',\n standalone: true,\n imports: [\n CommonModule,\n AXPSpreadsheetComponent,\n AXButtonModule,\n AXDecoratorModule,\n AXTranslationModule,\n ],\n templateUrl: './responsibilities-matrix.component.html',\n styleUrl: './responsibilities-matrix.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'axm-responsibilities-matrix',\n },\n})\nexport class AXMOrganizationManagementResponsibilitiesMatrixComponent {\n //#endregion\n\n //#region ---- Services & Dependencies ----\n\n private readonly entityService = inject(AXPEntityService);\n private readonly responsibilityLevelDataAccessor = this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.responsibilityLevel.name)\n .data<string, AXMOrganizationManagementResponsibilityLevelEntityModel>();\n private readonly responsibilityDataAccessor = this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.responsibility.name)\n .data<string, AXMOrganizationManagementResponsibilityEntityModel>();\n private readonly entityDataSelectorService = inject(AXPEntityDataSelectorService);\n private readonly entityResolver = inject(AXPEntityDefinitionRegistryService);\n private readonly multiLanguageResolver = inject(AXPMultiLanguageStringResolverService);\n\n //#endregion\n\n //#region ---- Inputs ----\n\n /**\n * Array of job levels to display as columns (e.g., Junior, Mid-Level, Senior)\n */\n titles = input<AXPSpreadsheetItem[]>([]);\n\n /**\n * Initial matrix data: { [responsibilityId]: { [title.id]: responsibilityLevelId } }\n */\n value = input<AXPSpreadsheetData>({});\n\n /**\n * Whether the matrix is in readonly mode\n */\n readonly = input<boolean>(false);\n\n /**\n * Initial responsibility IDs (for syncing with parent entity)\n */\n responsibilityIds = input<string[]>([]);\n\n //#endregion\n\n //#region ---- Outputs ----\n\n /**\n * Emitted when the matrix value changes\n */\n valueChange = output<AXPSpreadsheetData>();\n\n /**\n * Emitted when a single cell value changes\n */\n cellChange = output<AXPSpreadsheetCellChangeEvent>();\n\n /**\n * Emitted when selected responsibilities change (responsibility IDs array)\n */\n responsibilityIdsChange = output<string[]>();\n\n //#endregion\n\n //#region ---- Class Properties ----\n\n /**\n * Responsibility levels loaded from the service\n */\n private responsibilityLevels = signal<AXMOrganizationManagementResponsibilityLevelEntityModel[]>([]);\n\n /**\n * Selected responsibilities (internal state)\n */\n protected selectedResponsibilities = signal<AXMOrganizationManagementResponsibilityEntityModel[]>([]);\n\n /**\n * Responsibility entity definition\n */\n private responsibilityEntityDef = signal<AXPEntity | null>(null);\n\n /**\n * Loading state\n */\n protected isLoading = signal<boolean>(true);\n\n /**\n * Loading state for responsibility entity\n */\n protected isLoadingResponsibilityEntity = signal<boolean>(false);\n\n //#endregion\n\n //#region ---- Computed Properties ----\n\n /**\n * Vertical titles (responsibilities) - rows of the matrix\n */\n protected verticalTitles = computed<AXPSpreadsheetItem[]>(() => {\n const responsibilities = this.selectedResponsibilities();\n const resolve = (v: unknown) => this.multiLanguageResolver.resolve(v as any);\n const result = (responsibilities ?? []).map((responsibility) => ({\n id: responsibility.id,\n title: resolve(responsibility.title),\n description: responsibility.description ? resolve(responsibility.description) : undefined,\n }));\n return result;\n });\n\n /**\n * Horizontal titles (job levels) - columns of the matrix\n */\n protected horizontalTitles = computed<AXPSpreadsheetItem[]>(() => {\n const titlesInput = this.titles();\n const resolve = (v: unknown) => this.multiLanguageResolver.resolve(v as any);\n const result = (titlesInput ?? []).map((title) => ({\n id: title.id,\n title: resolve(title.title),\n description: title.description ? resolve(title.description) : undefined,\n }));\n return result;\n });\n\n /**\n * Cell options (responsibility levels) - dropdown options for each cell, loaded from service\n */\n protected cellOptions = computed<AXPSpreadsheetItem[]>(() => {\n const levels = this.responsibilityLevels();\n const resolve = (v: unknown) => this.multiLanguageResolver.resolve(v as any);\n const result = (levels ?? []).map((level) => ({\n id: level.id,\n title: resolve(level.title),\n description: level.description ? resolve(level.description) : undefined,\n }));\n return result;\n });\n\n /**\n * Spreadsheet columns - converted from horizontalTitles (job levels)\n */\n protected spreadsheetColumns = computed<AXPSpreadsheetColumn[]>(() => {\n const horizontalTitles = this.horizontalTitles();\n const cellOptions = this.cellOptions();\n\n // Create SelectBox widget configuration for responsibility levels\n const selectBoxWidget: AXPWidgetNode = {\n type: AXPWidgetsList.Editors.SelectBox,\n options: {\n valueField: 'id',\n textField: 'title',\n dataSource: cellOptions.map((option) => ({\n id: option.id,\n title: option.title,\n description: option.description,\n })),\n },\n };\n\n // Convert horizontal titles to columns\n return horizontalTitles.map((title) => ({\n name: title.id,\n title: title.title,\n description: title.description,\n path: title.id, // Path to access the value in row object\n widget: selectBoxWidget,\n }));\n });\n\n /**\n * Spreadsheet rows - converted from matrix data and vertical titles\n */\n protected spreadsheetRows = computed<Record<string, any>[]>(() => {\n const verticalTitles = this.verticalTitles();\n const horizontalTitles = this.horizontalTitles();\n const matrixData = this.value();\n\n // Convert matrix data to spreadsheet rows\n return verticalTitles.map((responsibility) => {\n const row: Record<string, any> = {\n name: responsibility.id, // Required for fixed mode row identification\n _responsibilityTitle: responsibility.title, // For row header display\n _responsibilityDescription: responsibility.description, // For row header description\n };\n\n // Add cell values for each horizontal title (column)\n horizontalTitles.forEach((title) => {\n const cellValue = matrixData[responsibility.id]?.[title.id] ?? null;\n row[title.id] = cellValue;\n });\n\n return row;\n });\n });\n\n //#endregion\n\n //#region ---- Lifecycle Methods ----\n\n constructor() {\n // Load responsibility levels and responsibility entity definition when component initializes\n this.loadResponsibilityLevels();\n this.loadResponsibilityEntityDef();\n\n // Watch for responsibilityIds input changes and sync selected responsibilities\n effect(() => {\n const ids = this.responsibilityIds();\n if (ids && ids.length > 0 && this.responsibilityEntityDef()) {\n this.loadResponsibilitiesByIds(ids);\n } else if (!ids || ids.length === 0) {\n // Try to extract responsibility IDs from matrix data keys\n const matrixData = this.value();\n const responsibilityIdsFromMatrix = Object.keys(matrixData || {});\n if (responsibilityIdsFromMatrix.length > 0 && this.responsibilityEntityDef()) {\n this.loadResponsibilitiesByIds(responsibilityIdsFromMatrix);\n } else {\n this.selectedResponsibilities.set([]);\n }\n }\n });\n\n // Watch for matrix value changes and extract responsibility IDs\n effect(() => {\n const matrixData = this.value();\n const currentResponsibilityIds = this.selectedResponsibilities().map((r) => r.id);\n const responsibilityIdsFromMatrix = Object.keys(matrixData || {});\n\n // If matrix has responsibilities that aren't in selectedResponsibilities, load them\n const missingIds = responsibilityIdsFromMatrix.filter((id) => !currentResponsibilityIds.includes(id));\n if (missingIds.length > 0 && this.responsibilityEntityDef()) {\n this.loadResponsibilitiesByIds(missingIds);\n }\n });\n }\n\n //#endregion\n\n //#region ---- Data Loading Methods ----\n\n /**\n * Load responsibility levels from the service\n */\n private async loadResponsibilityLevels(): Promise<void> {\n try {\n this.isLoading.set(true);\n const query = {\n skip: 0,\n take: 1000,\n sort: [{ field: 'level', dir: 'asc' as const }],\n };\n const result = await this.responsibilityLevelDataAccessor.query(query);\n this.responsibilityLevels.set(result.items || []);\n } catch (error) {\n console.error('Error loading responsibility levels:', error);\n this.responsibilityLevels.set([]);\n } finally {\n this.isLoading.set(false);\n }\n }\n\n /**\n * Load responsibility entity definition\n */\n private async loadResponsibilityEntityDef(): Promise<void> {\n try {\n this.isLoadingResponsibilityEntity.set(true);\n const entityDef = await this.entityResolver.resolve(\n RootConfig.module.name,\n RootConfig.entities.responsibility.name\n );\n this.responsibilityEntityDef.set(entityDef);\n } catch (error) {\n console.error('Error loading responsibility entity definition:', error);\n this.responsibilityEntityDef.set(null);\n } finally {\n this.isLoadingResponsibilityEntity.set(false);\n }\n }\n\n /**\n * Load responsibilities by IDs\n */\n private async loadResponsibilitiesByIds(ids: string[]): Promise<void> {\n try {\n const responsibilities: AXMOrganizationManagementResponsibilityEntityModel[] = [];\n\n for (const id of ids) {\n try {\n const responsibility = await this.responsibilityDataAccessor.byKey(id);\n if (responsibility) {\n responsibilities.push(responsibility);\n }\n } catch (error) {\n console.error(`Error loading responsibility ${id}:`, error);\n }\n }\n\n this.selectedResponsibilities.set(responsibilities);\n } catch (error) {\n console.error('Error loading responsibilities by IDs:', error);\n }\n }\n\n //#endregion\n\n //#region ---- Data Transformation Methods ----\n\n /**\n * Convert spreadsheet rows back to matrix data format\n */\n private convertSpreadsheetRowsToMatrixData(rows: Record<string, any>[]): AXPSpreadsheetData {\n const horizontalTitles = this.horizontalTitles();\n const matrixData: AXPSpreadsheetData = {};\n\n rows.forEach((row) => {\n const responsibilityId = row['name']; // Row identifier (responsibility ID)\n if (!responsibilityId) {\n return;\n }\n\n matrixData[responsibilityId] = {};\n\n // Extract cell values for each column\n horizontalTitles.forEach((title) => {\n const cellValue = row[title.id] ?? null;\n matrixData[responsibilityId][title.id] = cellValue;\n });\n });\n\n return matrixData;\n }\n\n //#endregion\n\n //#region ---- Event Handlers ----\n\n /**\n * Handle spreadsheet change event - convert to matrix format\n */\n protected handleSpreadsheetChange(rows: Record<string, any>[]): void {\n const matrixData = this.convertSpreadsheetRowsToMatrixData(rows);\n this.valueChange.emit(matrixData);\n\n // Extract responsibility IDs from row names and emit\n const responsibilityIds = rows.map((row) => row['name']).filter((id) => id != null);\n this.responsibilityIdsChange.emit(responsibilityIds);\n }\n\n /**\n * Handle cell change event from spreadsheet\n */\n protected handleCellChange(event: AXPSpreadsheetCellChangeEvent): void {\n this.cellChange.emit(event);\n }\n\n /**\n * Open responsibility selector dialog\n */\n protected async handleSelectResponsibilities(): Promise<void> {\n const entityDef = this.responsibilityEntityDef();\n if (!entityDef) {\n console.error('Responsibility entity definition not loaded');\n return;\n }\n\n try {\n // Get currently selected responsibility IDs\n const selectedItemIds = this.selectedResponsibilities()\n .map((responsibility) => responsibility.id)\n .filter((id) => id != null);\n\n const result = await this.entityDataSelectorService.open({\n entity: entityDef,\n title: 'Select Responsibilities',\n allowMultiple: true,\n selectedItemIds: selectedItemIds.length > 0 ? selectedItemIds : undefined,\n });\n\n if (result && result.items && result.items.length > 0) {\n // Update selected responsibilities\n this.selectedResponsibilities.set(result.items);\n // Emit responsibility IDs change\n const responsibilityIds = result.items.map((item) => item.id).filter((id) => id != null);\n this.responsibilityIdsChange.emit(responsibilityIds);\n }\n } catch (error) {\n console.error('Error opening responsibility selector:', error);\n }\n }\n\n /**\n * Remove a responsibility from selection\n */\n protected handleRemoveResponsibility(responsibilityId: string): void {\n const currentResponsibilities = this.selectedResponsibilities();\n const updatedResponsibilities = currentResponsibilities.filter(\n (responsibility) => responsibility.id !== responsibilityId\n );\n this.selectedResponsibilities.set(updatedResponsibilities);\n\n // Remove responsibility data from matrix value\n const currentMatrixData = this.value();\n const updatedMatrixData = { ...currentMatrixData };\n delete updatedMatrixData[responsibilityId];\n\n // Emit updated matrix data\n this.valueChange.emit(updatedMatrixData);\n\n // Emit responsibility IDs change\n const responsibilityIds = updatedResponsibilities.map((r) => r.id).filter((id) => id != null);\n this.responsibilityIdsChange.emit(responsibilityIds);\n }\n\n /**\n * Handle row change event from spreadsheet (add/remove)\n */\n protected handleRowChange(event: AXPSpreadsheetRowChangeEvent): void {\n if (event.type === 'remove') {\n // Remove responsibility from selection\n this.handleRemoveResponsibility(event.rowId);\n }\n // Note: 'add' type shouldn't happen in fixed mode, but if it does, we can handle it here\n }\n\n //#endregion\n}\n\n//#endregion\n","<div class=\"__container\">\n <div class=\"__matrix-section\">\n <div class=\"__matrix-header ax-sm\">\n @if (!readonly()) {\n <ax-button color=\"primary\"\n [text]=\"'@organization-management:job-definitions.components.responsibilities-matrix.actions.choose-responsibilities.title' | translate | async\"\n (onClick)=\"handleSelectResponsibilities()\" [disabled]=\"isLoadingResponsibilityEntity()\">\n <ax-icon icon=\"far fa-plus\"></ax-icon>\n </ax-button>\n }\n </div>\n @if (isLoading()) {\n <div class=\"__loading\">\n <span>{{ '@organization-management:job-definitions.components.responsibilities-matrix.messages.loading-responsibility-levels' | translate | async\n }}</span>\n </div>\n } @else {\n <axp-spreadsheet [title]=\"'Responsibility / Level'\" [columns]=\"spreadsheetColumns()\" [rowsInput]=\"spreadsheetRows()\"\n [rowMode]=\"'fixed'\" [readonly]=\"readonly()\" [allowRemoveRows]=\"true\" [rowTitlePath]=\"'_responsibilityTitle'\"\n [rowDescriptionPath]=\"'_responsibilityDescription'\" (cellChange)=\"handleCellChange($event)\"\n (spreadsheetChange)=\"handleSpreadsheetChange($event)\" (rowChange)=\"handleRowChange($event)\"></axp-spreadsheet>\n }\n </div>\n</div>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;AAuCA;AAEA;MAoBa,wDAAwD,CAAA;;;AAmMjE,IAAA,WAAA,GAAA;;;AA9LiB,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,gBAAgB,CAAC;QACxC,IAAA,CAAA,+BAA+B,GAAG,IAAI,CAAC;AACnD,aAAA,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI;AAC/E,aAAA,IAAI,EAAmE;QAC3D,IAAA,CAAA,0BAA0B,GAAG,IAAI,CAAC;AAC9C,aAAA,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI;AAC1E,aAAA,IAAI,EAA8D;AACtD,QAAA,IAAA,CAAA,yBAAyB,GAAG,MAAM,CAAC,4BAA4B,CAAC;AAChE,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,kCAAkC,CAAC;AAC3D,QAAA,IAAA,CAAA,qBAAqB,GAAG,MAAM,CAAC,qCAAqC,CAAC;;;AAMtF;;AAEG;AACH,QAAA,IAAA,CAAA,MAAM,GAAG,KAAK,CAAuB,EAAE,6EAAC;AAExC;;AAEG;AACH,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAqB,EAAE,4EAAC;AAErC;;AAEG;AACH,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAU,KAAK,+EAAC;AAEhC;;AAEG;AACH,QAAA,IAAA,CAAA,iBAAiB,GAAG,KAAK,CAAW,EAAE,wFAAC;;;AAMvC;;AAEG;QACH,IAAA,CAAA,WAAW,GAAG,MAAM,EAAsB;AAE1C;;AAEG;QACH,IAAA,CAAA,UAAU,GAAG,MAAM,EAAiC;AAEpD;;AAEG;QACH,IAAA,CAAA,uBAAuB,GAAG,MAAM,EAAY;;;AAM5C;;AAEG;AACK,QAAA,IAAA,CAAA,oBAAoB,GAAG,MAAM,CAA4D,EAAE,2FAAC;AAEpG;;AAEG;AACO,QAAA,IAAA,CAAA,wBAAwB,GAAG,MAAM,CAAuD,EAAE,+FAAC;AAErG;;AAEG;AACK,QAAA,IAAA,CAAA,uBAAuB,GAAG,MAAM,CAAmB,IAAI,8FAAC;AAEhE;;AAEG;AACO,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAU,IAAI,gFAAC;AAE3C;;AAEG;AACO,QAAA,IAAA,CAAA,6BAA6B,GAAG,MAAM,CAAU,KAAK,oGAAC;;;AAMhE;;AAEG;AACO,QAAA,IAAA,CAAA,cAAc,GAAG,QAAQ,CAAuB,MAAK;AAC3D,YAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,wBAAwB,EAAE;AACxD,YAAA,MAAM,OAAO,GAAG,CAAC,CAAU,KAAK,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAQ,CAAC;AAC5E,YAAA,MAAM,MAAM,GAAG,CAAC,gBAAgB,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,cAAc,MAAM;gBAC7D,EAAE,EAAE,cAAc,CAAC,EAAE;AACrB,gBAAA,KAAK,EAAE,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC;AACpC,gBAAA,WAAW,EAAE,cAAc,CAAC,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,GAAG,SAAS;AAC5F,aAAA,CAAC,CAAC;AACH,YAAA,OAAO,MAAM;AACjB,QAAA,CAAC,qFAAC;AAEF;;AAEG;AACO,QAAA,IAAA,CAAA,gBAAgB,GAAG,QAAQ,CAAuB,MAAK;AAC7D,YAAA,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,EAAE;AACjC,YAAA,MAAM,OAAO,GAAG,CAAC,CAAU,KAAK,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAQ,CAAC;AAC5E,YAAA,MAAM,MAAM,GAAG,CAAC,WAAW,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,KAAK,MAAM;gBAC/C,EAAE,EAAE,KAAK,CAAC,EAAE;AACZ,gBAAA,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;AAC3B,gBAAA,WAAW,EAAE,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,SAAS;AAC1E,aAAA,CAAC,CAAC;AACH,YAAA,OAAO,MAAM;AACjB,QAAA,CAAC,uFAAC;AAEF;;AAEG;AACO,QAAA,IAAA,CAAA,WAAW,GAAG,QAAQ,CAAuB,MAAK;AACxD,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,EAAE;AAC1C,YAAA,MAAM,OAAO,GAAG,CAAC,CAAU,KAAK,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAQ,CAAC;AAC5E,YAAA,MAAM,MAAM,GAAG,CAAC,MAAM,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,KAAK,MAAM;gBAC1C,EAAE,EAAE,KAAK,CAAC,EAAE;AACZ,gBAAA,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;AAC3B,gBAAA,WAAW,EAAE,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,SAAS;AAC1E,aAAA,CAAC,CAAC;AACH,YAAA,OAAO,MAAM;AACjB,QAAA,CAAC,kFAAC;AAEF;;AAEG;AACO,QAAA,IAAA,CAAA,kBAAkB,GAAG,QAAQ,CAAyB,MAAK;AACjE,YAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,EAAE;AAChD,YAAA,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE;;AAGtC,YAAA,MAAM,eAAe,GAAkB;AACnC,gBAAA,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,SAAS;AACtC,gBAAA,OAAO,EAAE;AACL,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,SAAS,EAAE,OAAO;oBAClB,UAAU,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,MAAM;wBACrC,EAAE,EAAE,MAAM,CAAC,EAAE;wBACb,KAAK,EAAE,MAAM,CAAC,KAAK;wBACnB,WAAW,EAAE,MAAM,CAAC,WAAW;AAClC,qBAAA,CAAC,CAAC;AACN,iBAAA;aACJ;;YAGD,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC,KAAK,MAAM;gBACpC,IAAI,EAAE,KAAK,CAAC,EAAE;gBACd,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,WAAW,EAAE,KAAK,CAAC,WAAW;AAC9B,gBAAA,IAAI,EAAE,KAAK,CAAC,EAAE;AACd,gBAAA,MAAM,EAAE,eAAe;AAC1B,aAAA,CAAC,CAAC;AACP,QAAA,CAAC,yFAAC;AAEF;;AAEG;AACO,QAAA,IAAA,CAAA,eAAe,GAAG,QAAQ,CAAwB,MAAK;AAC7D,YAAA,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,EAAE;AAC5C,YAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,EAAE;AAChD,YAAA,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,EAAE;;AAG/B,YAAA,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC,cAAc,KAAI;AACzC,gBAAA,MAAM,GAAG,GAAwB;AAC7B,oBAAA,IAAI,EAAE,cAAc,CAAC,EAAE;AACvB,oBAAA,oBAAoB,EAAE,cAAc,CAAC,KAAK;AAC1C,oBAAA,0BAA0B,EAAE,cAAc,CAAC,WAAW;iBACzD;;AAGD,gBAAA,gBAAgB,CAAC,OAAO,CAAC,CAAC,KAAK,KAAI;AAC/B,oBAAA,MAAM,SAAS,GAAG,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,IAAI,IAAI;AACnE,oBAAA,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,SAAS;AAC7B,gBAAA,CAAC,CAAC;AAEF,gBAAA,OAAO,GAAG;AACd,YAAA,CAAC,CAAC;AACN,QAAA,CAAC,sFAAC;;QAQE,IAAI,CAAC,wBAAwB,EAAE;QAC/B,IAAI,CAAC,2BAA2B,EAAE;;QAGlC,MAAM,CAAC,MAAK;AACR,YAAA,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,EAAE;AACpC,YAAA,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,uBAAuB,EAAE,EAAE;AACzD,gBAAA,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC;YACvC;iBAAO,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE;;AAEjC,gBAAA,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,EAAE;gBAC/B,MAAM,2BAA2B,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;gBACjE,IAAI,2BAA2B,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,uBAAuB,EAAE,EAAE;AAC1E,oBAAA,IAAI,CAAC,yBAAyB,CAAC,2BAA2B,CAAC;gBAC/D;qBAAO;AACH,oBAAA,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,EAAE,CAAC;gBACzC;YACJ;AACJ,QAAA,CAAC,CAAC;;QAGF,MAAM,CAAC,MAAK;AACR,YAAA,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,EAAE;AAC/B,YAAA,MAAM,wBAAwB,GAAG,IAAI,CAAC,wBAAwB,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YACjF,MAAM,2BAA2B,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;;AAGjE,YAAA,MAAM,UAAU,GAAG,2BAA2B,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,wBAAwB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACrG,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,uBAAuB,EAAE,EAAE;AACzD,gBAAA,IAAI,CAAC,yBAAyB,CAAC,UAAU,CAAC;YAC9C;AACJ,QAAA,CAAC,CAAC;IACN;;;AAMA;;AAEG;AACK,IAAA,MAAM,wBAAwB,GAAA;AAClC,QAAA,IAAI;AACA,YAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;AACxB,YAAA,MAAM,KAAK,GAAG;AACV,gBAAA,IAAI,EAAE,CAAC;AACP,gBAAA,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,KAAc,EAAE,CAAC;aAClD;YACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,+BAA+B,CAAC,KAAK,CAAC,KAAK,CAAC;YACtE,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;QACrD;QAAE,OAAO,KAAK,EAAE;AACZ,YAAA,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,KAAK,CAAC;AAC5D,YAAA,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC;QACrC;gBAAU;AACN,YAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC;QAC7B;IACJ;AAEA;;AAEG;AACK,IAAA,MAAM,2BAA2B,GAAA;AACrC,QAAA,IAAI;AACA,YAAA,IAAI,CAAC,6BAA6B,CAAC,GAAG,CAAC,IAAI,CAAC;YAC5C,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC/C,UAAU,CAAC,MAAM,CAAC,IAAI,EACtB,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAC1C;AACD,YAAA,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,SAAS,CAAC;QAC/C;QAAE,OAAO,KAAK,EAAE;AACZ,YAAA,OAAO,CAAC,KAAK,CAAC,iDAAiD,EAAE,KAAK,CAAC;AACvE,YAAA,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC;QAC1C;gBAAU;AACN,YAAA,IAAI,CAAC,6BAA6B,CAAC,GAAG,CAAC,KAAK,CAAC;QACjD;IACJ;AAEA;;AAEG;IACK,MAAM,yBAAyB,CAAC,GAAa,EAAA;AACjD,QAAA,IAAI;YACA,MAAM,gBAAgB,GAAyD,EAAE;AAEjF,YAAA,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE;AAClB,gBAAA,IAAI;oBACA,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,EAAE,CAAC;oBACtE,IAAI,cAAc,EAAE;AAChB,wBAAA,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC;oBACzC;gBACJ;gBAAE,OAAO,KAAK,EAAE;oBACZ,OAAO,CAAC,KAAK,CAAC,CAAA,6BAAA,EAAgC,EAAE,CAAA,CAAA,CAAG,EAAE,KAAK,CAAC;gBAC/D;YACJ;AAEA,YAAA,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,gBAAgB,CAAC;QACvD;QAAE,OAAO,KAAK,EAAE;AACZ,YAAA,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,KAAK,CAAC;QAClE;IACJ;;;AAMA;;AAEG;AACK,IAAA,kCAAkC,CAAC,IAA2B,EAAA;AAClE,QAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,EAAE;QAChD,MAAM,UAAU,GAAuB,EAAE;AAEzC,QAAA,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,KAAI;YACjB,MAAM,gBAAgB,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;YACrC,IAAI,CAAC,gBAAgB,EAAE;gBACnB;YACJ;AAEA,YAAA,UAAU,CAAC,gBAAgB,CAAC,GAAG,EAAE;;AAGjC,YAAA,gBAAgB,CAAC,OAAO,CAAC,CAAC,KAAK,KAAI;gBAC/B,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,IAAI;gBACvC,UAAU,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,SAAS;AACtD,YAAA,CAAC,CAAC;AACN,QAAA,CAAC,CAAC;AAEF,QAAA,OAAO,UAAU;IACrB;;;AAMA;;AAEG;AACO,IAAA,uBAAuB,CAAC,IAA2B,EAAA;QACzD,MAAM,UAAU,GAAG,IAAI,CAAC,kCAAkC,CAAC,IAAI,CAAC;AAChE,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;;AAGjC,QAAA,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,IAAI,CAAC;AACnF,QAAA,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,iBAAiB,CAAC;IACxD;AAEA;;AAEG;AACO,IAAA,gBAAgB,CAAC,KAAoC,EAAA;AAC3D,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;IAC/B;AAEA;;AAEG;AACO,IAAA,MAAM,4BAA4B,GAAA;AACxC,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,uBAAuB,EAAE;QAChD,IAAI,CAAC,SAAS,EAAE;AACZ,YAAA,OAAO,CAAC,KAAK,CAAC,6CAA6C,CAAC;YAC5D;QACJ;AAEA,QAAA,IAAI;;AAEA,YAAA,MAAM,eAAe,GAAG,IAAI,CAAC,wBAAwB;iBAChD,GAAG,CAAC,CAAC,cAAc,KAAK,cAAc,CAAC,EAAE;iBACzC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,IAAI,CAAC;YAE/B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC;AACrD,gBAAA,MAAM,EAAE,SAAS;AACjB,gBAAA,KAAK,EAAE,yBAAyB;AAChC,gBAAA,aAAa,EAAE,IAAI;AACnB,gBAAA,eAAe,EAAE,eAAe,CAAC,MAAM,GAAG,CAAC,GAAG,eAAe,GAAG,SAAS;AAC5E,aAAA,CAAC;AAEF,YAAA,IAAI,MAAM,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;;gBAEnD,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC;;AAE/C,gBAAA,MAAM,iBAAiB,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,IAAI,CAAC;AACxF,gBAAA,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACxD;QACJ;QAAE,OAAO,KAAK,EAAE;AACZ,YAAA,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,KAAK,CAAC;QAClE;IACJ;AAEA;;AAEG;AACO,IAAA,0BAA0B,CAAC,gBAAwB,EAAA;AACzD,QAAA,MAAM,uBAAuB,GAAG,IAAI,CAAC,wBAAwB,EAAE;AAC/D,QAAA,MAAM,uBAAuB,GAAG,uBAAuB,CAAC,MAAM,CAC1D,CAAC,cAAc,KAAK,cAAc,CAAC,EAAE,KAAK,gBAAgB,CAC7D;AACD,QAAA,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,uBAAuB,CAAC;;AAG1D,QAAA,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,EAAE;AACtC,QAAA,MAAM,iBAAiB,GAAG,EAAE,GAAG,iBAAiB,EAAE;AAClD,QAAA,OAAO,iBAAiB,CAAC,gBAAgB,CAAC;;AAG1C,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,iBAAiB,CAAC;;QAGxC,MAAM,iBAAiB,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,IAAI,CAAC;AAC7F,QAAA,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,iBAAiB,CAAC;IACxD;AAEA;;AAEG;AACO,IAAA,eAAe,CAAC,KAAmC,EAAA;AACzD,QAAA,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE;;AAEzB,YAAA,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,KAAK,CAAC;QAChD;;IAEJ;8GAlaS,wDAAwD,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAxD,wDAAwD,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,UAAA,EAAA,YAAA,EAAA,uBAAA,EAAA,yBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,6BAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC7DrE,+vCAwBA,EAAA,MAAA,EAAA,CAAA,kgBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDuBQ,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACZ,uBAAuB,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,SAAA,EAAA,WAAA,EAAA,WAAA,EAAA,UAAA,EAAA,sBAAA,EAAA,cAAA,EAAA,oBAAA,EAAA,cAAA,EAAA,iBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,iBAAA,EAAA,YAAA,EAAA,WAAA,EAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACvB,cAAc,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,MAAA,EAAA,UAAA,EAAA,OAAA,EAAA,MAAA,EAAA,MAAA,EAAA,YAAA,EAAA,UAAA,EAAA,UAAA,EAAA,MAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACd,iBAAiB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,wBAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACjB,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAUd,wDAAwD,EAAA,UAAA,EAAA,CAAA;kBAlBpE,SAAS;+BACI,6BAA6B,EAAA,UAAA,EAC3B,IAAI,EAAA,OAAA,EACP;wBACL,YAAY;wBACZ,uBAAuB;wBACvB,cAAc;wBACd,iBAAiB;wBACjB,mBAAmB;AACtB,qBAAA,EAAA,aAAA,EAGc,iBAAiB,CAAC,IAAI,mBACpB,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC;AACF,wBAAA,KAAK,EAAE,6BAA6B;AACvC,qBAAA,EAAA,QAAA,EAAA,+vCAAA,EAAA,MAAA,EAAA,CAAA,kgBAAA,CAAA,EAAA;;;;;"}
|
package/fesm2022/acorex-modules-organization-management-team-member-role.entity-CZ4MibH4.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-modules-organization-management-team-member-role.entity-CZ4MibH4.mjs","sources":["../../../../libs/modules/organization-management/src/lib/entities/team-member-role/team-member-role.entity.ts"],"sourcesContent":["import { AXPEntity, createAllQueryView } from '@acorex/platform/common';\nimport { entityMasterCrudActions, entityMasterRecordActions } from '@acorex/platform/layout/entity';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/widget-core';\nimport { Injector } from '@angular/core';\nimport { RootConfig } from '../../const';\n\nexport async function factory(injector: Injector): Promise<AXPEntity | null> {\n const entityDef: AXPEntity = {\n module: RootConfig.module.name,\n name: RootConfig.entities.teamMemberRole.name,\n title: '@organization-management:team-member-roles.entities.team-member-role.title',\n icon: 'fa-light fa-user-tag',\n formats: {\n individual: '@organization-management:team-member-roles.entities.team-member-role.title',\n plural: '@organization-management:team-member-roles.entities.team-member-role.plural',\n searchResult: { title: '{{ title }}', description: RootConfig.module.title },\n },\n groups: [{ id: 'basic-info', title: '@general:terms.interface.basic-info' }],\n properties: [\n {\n name: 'id',\n title: 'ID',\n groupId: 'basic-info',\n schema: { dataType: 'uuid', visible: false, nullable: false, readonly: true, unique: { enabled: true } },\n },\n {\n name: 'title',\n title: '@general:terms.common.title',\n groupId: 'basic-info',\n schema: {\n dataType: 'string',\n interface: { type: AXPWidgetsCatalog.text, options: { multiLanguage: true } },\n },\n validations: [{ rule: 'required' }],\n options: {\n sort: { enabled: true },\n filter: { advance: { enabled: true }, inline: { enabled: true } },\n },\n },\n {\n name: 'name',\n title: '@general:terms.common.name',\n groupId: 'basic-info',\n schema: { dataType: 'string', interface: { type: AXPWidgetsCatalog.text } },\n validations: [{ rule: 'required' }],\n options: {\n sort: { enabled: true },\n filter: { advance: { enabled: true }, inline: { enabled: true } },\n },\n },\n ],\n columns: [{ name: 'title' }, { name: 'name' }],\n interfaces: {\n master: {\n create: {\n sections: [{ id: 'basic-info' }],\n properties: [\n { name: 'title', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'name', layout: { positions: { lg: { colSpan: 6 } } } },\n ],\n },\n update: {\n sections: [{ id: 'basic-info' }],\n properties: [\n { name: 'title', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'name', layout: { positions: { lg: { colSpan: 6 } } } },\n ],\n },\n single: {\n title: '{{title}}',\n sections: [{ id: 'basic-info' }],\n properties: [\n { name: 'title', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'name', layout: { positions: { lg: { colSpan: 6 } } } },\n ],\n actions: [...entityMasterRecordActions()],\n },\n list: {\n actions: [...entityMasterCrudActions()],\n views: [createAllQueryView({ sorts: [{ name: 'title', dir: 'asc' }] })],\n },\n },\n },\n };\n\n return entityDef;\n}\n\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-modules-organization-management-team.entity-CGR0UlYl.mjs","sources":["../../../../libs/modules/organization-management/src/lib/entities/team/team.entity.ts"],"sourcesContent":["import { AXPEntity, createAllQueryView } from '@acorex/platform/common';\nimport { entityDetailsCrudActions, entityDetailsSimpleCondition, entityMasterCrudActions, entityMasterDeleteAction } from '@acorex/platform/layout/entity';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/widget-core';\nimport { Injector } from '@angular/core';\nimport { RootConfig } from '../../const';\n\nexport async function factory(injector: Injector): Promise<AXPEntity | null> {\n\n const entityDef: AXPEntity = {\n module: RootConfig.module.name,\n name: RootConfig.entities.team.name,\n icon: RootConfig.entities.team.icon,\n\n title: RootConfig.entities.team.title,\n formats: {\n individual: '@organization-management:teams.entities.team.title',\n plural: '@organization-management:teams.entities.team.plural',\n searchResult: {\n title: '{{ title }}',\n description: RootConfig.module.title,\n },\n },\n relatedEntities: [\n {\n entity: `${RootConfig.module.name}.${RootConfig.entities.teamMember.name}`,\n title: '@organization-management:teams.related-entities.members.title',\n columns: ['employeeId', 'roleId'],\n conditions: [entityDetailsSimpleCondition('teamId')],\n actions: [...entityDetailsCrudActions('teamId')],\n layout: { type: 'tab-list' },\n },\n ],\n groups: [\n {\n id: 'basic-info',\n title: '@general:terms.interface.basic-info',\n },\n ],\n properties: [\n {\n name: 'id',\n title: 'ID',\n schema: {\n dataType: 'uuid',\n visible: false,\n nullable: false,\n readonly: true,\n unique: {\n enabled: true,\n },\n },\n },\n {\n name: 'title',\n title: `@general:terms.common.title`,\n groupId: 'basic-info',\n options: {\n sort: {\n enabled: true,\n },\n filter: {\n advance: {\n enabled: true,\n },\n inline: {\n enabled: true,\n },\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n options: { multiLanguage: true },\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'description',\n title: `@general:terms.common.description`,\n groupId: 'basic-info',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.largeText,\n options: { multiLanguage: true },\n },\n },\n },\n ],\n columns: [\n { name: 'title' },\n { name: 'description' },\n ],\n\n interfaces: {\n master: {\n create: {\n sections: [\n {\n id: 'basic-info',\n layout: {\n positions: {\n sm: { colSpan: 12 },\n md: { colSpan: 12 },\n lg: { colSpan: 12 },\n },\n },\n },\n ],\n properties: [\n {\n name: 'title',\n layout: {\n positions: {\n sm: { colSpan: 12 },\n md: { colSpan: 12 },\n lg: { colSpan: 8 },\n },\n label: {\n visible: true,\n },\n },\n },\n {\n name: 'description',\n layout: {\n positions: {\n sm: { colSpan: 12 },\n md: { colSpan: 12 },\n lg: { colSpan: 12 },\n },\n label: {\n visible: true,\n },\n },\n },\n ],\n },\n update: {\n sections: [\n {\n id: 'basic-info',\n layout: {\n positions: {\n sm: { colSpan: 12 },\n md: { colSpan: 12 },\n lg: { colSpan: 12 },\n },\n },\n },\n ],\n properties: [\n {\n name: 'title',\n layout: {\n positions: {\n sm: { colSpan: 12 },\n md: { colSpan: 12 },\n lg: { colSpan: 12 },\n },\n label: {\n visible: true,\n },\n },\n },\n {\n name: 'description',\n layout: {\n positions: {\n sm: { colSpan: 12 },\n md: { colSpan: 12 },\n lg: { colSpan: 12 },\n },\n label: {\n visible: true,\n },\n },\n },\n ],\n },\n single: {\n title: '{{title}}',\n sections: [\n {\n id: 'basic-info',\n layout: {\n positions: {\n sm: { colSpan: 12 },\n md: { colSpan: 12 },\n lg: { colSpan: 12 },\n },\n },\n },\n ],\n properties: [\n {\n name: 'title',\n layout: {\n positions: {\n sm: { colSpan: 12 },\n md: { colSpan: 8 },\n lg: { colSpan: 6 },\n },\n label: {\n visible: true,\n },\n },\n },\n {\n name: 'description',\n layout: {\n positions: {\n sm: { colSpan: 12 },\n md: { colSpan: 12 },\n lg: { colSpan: 12 },\n },\n label: {\n visible: true,\n },\n },\n },\n ],\n actions: [entityMasterDeleteAction()],\n },\n list: {\n actions: [...entityMasterCrudActions()],\n views: [createAllQueryView({ sorts: [{ name: 'title', dir: 'asc' }] })],\n },\n },\n },\n };\n\n return entityDef;\n}\n"],"names":[],"mappings":"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"}
|
package/fesm2022/acorex-modules-report-management-report-runner-root-page.component-DPSNAAct.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-modules-report-management-report-runner-root-page.component-DPSNAAct.mjs","sources":["../../../../libs/modules/report-management/src/lib/features/report-runner/report-runner.viewmodel.ts","../../../../libs/modules/report-management/src/lib/features/report-runner/report-categories-tree/report-categories-tree.component.ts","../../../../libs/modules/report-management/src/lib/features/report-runner/report-categories-tree/report-categories-tree.component.html","../../../../libs/modules/report-management/src/lib/features/report-runner/report-runner-root-page/report-runner-root-page.component.ts","../../../../libs/modules/report-management/src/lib/features/report-runner/report-runner-root-page/report-runner-root-page.component.html"],"sourcesContent":["import { AXLocaleService } from '@acorex/core/locale';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPDeviceService } from '@acorex/platform/core';\nimport { AXPPageStatus } from '@acorex/platform/layout/widget-core';\nimport { computed, inject } from '@angular/core';\nimport { patchState, signalStore, withComputed, withHooks, withMethods, withState } from '@ngrx/signals';\nimport { isEmpty, isNil } from 'lodash-es';\nimport { merge } from 'rxjs';\nimport { RootConfig } from '../../const';\nimport { AXPReportCategory, AXPReportDefinition, AXPReportViewerService } from '../../reports';\n\nexport const AXPReportRunnerRootViewModel = signalStore(\n withState(() => ({\n activeCategory: undefined as AXPReportCategory | undefined,\n categories: [] as AXPReportCategory[],\n reports: [] as AXPReportDefinition[],\n activeCategoriesPath: [] as AXPReportCategory[],\n //\n searchExpression: null as string | null,\n //\n status: AXPPageStatus.Processing,\n })),\n withComputed((store, deviceService = inject(AXPDeviceService)) => ({\n searchResults: computed(() => []),\n hasActiveCategory: computed(() => store.activeCategory() != null),\n showSideMenu: computed(() => deviceService.isLarge()),\n isSearching: computed(() => store.searchExpression() != null),\n isBusy: computed(() => store.status() == AXPPageStatus.Processing),\n isLoaded: computed(() => store.activeCategory() != null),\n title: computed(() => store.activeCategory()?.title ?? `@${RootConfig.config.i18n}:report-runner.terms.page-title`),\n description: computed(\n () =>\n store.activeCategory()?.description ??\n `@${RootConfig.config.i18n}:report-runner.components.report-runner.description`,\n ),\n })),\n withMethods((store, reportDefinitionService = inject(AXPReportViewerService)) => ({\n /**\n * Load root categories\n *\n * Optimization: Service caches result, subsequent calls are instant\n */\n async loadRootCategories(): Promise<void> {\n patchState(store, {\n activeCategory: undefined,\n reports: [],\n activeCategoriesPath: [],\n status: AXPPageStatus.Processing,\n });\n\n const categories = await reportDefinitionService.getCategories();\n\n patchState(store, {\n categories,\n status: AXPPageStatus.Idle,\n });\n },\n\n /**\n * Get categories by parentId (cached by service)\n */\n async getCategories(parentId?: string): Promise<AXPReportCategory[]> {\n patchState(store, { status: AXPPageStatus.Processing });\n\n const result = await reportDefinitionService.getCategories(parentId);\n\n patchState(store, { status: AXPPageStatus.Idle });\n\n return result;\n },\n\n /**\n * Get reports for a category\n *\n * Optimization: Service checks itemsCount before querying\n * - If itemsCount = 0, returns empty array (no API call)\n * - If cached, returns instantly\n */\n async getReports(categoryId: string): Promise<AXPReportDefinition[]> {\n patchState(store, { status: AXPPageStatus.Processing });\n\n const result = await reportDefinitionService.getReportsByCategoryId(categoryId);\n\n patchState(store, { status: AXPPageStatus.Idle });\n\n return result;\n },\n\n /**\n * Set active category and load its data\n *\n * Optimization: All 3 queries benefit from caching\n * - Categories: Cached from previous navigation\n * - Reports: Skipped if itemsCount = 0\n * - Path: Built from cached categories\n */\n async setActiveCategory(category: AXPReportCategory): Promise<void> {\n patchState(store, {\n status: AXPPageStatus.Processing,\n activeCategory: category,\n });\n\n // ✅ Parallel loading for better performance\n const [categories, reports, activeCategoriesPath] = await Promise.all([\n reportDefinitionService.getCategories(category.id),\n reportDefinitionService.getReportsByCategoryId(category.id),\n reportDefinitionService.getCategoriesPathById(category.id),\n ]);\n\n patchState(store, {\n categories,\n reports,\n activeCategoriesPath,\n status: AXPPageStatus.Idle,\n });\n },\n\n /**\n * Set active category by ID\n *\n * Optimization: getCategoryById uses O(1) cache lookup\n */\n async setActiveCategoryById(id: string): Promise<void> {\n patchState(store, { status: AXPPageStatus.Processing });\n\n const category = await reportDefinitionService.getCategoryById(id);\n\n if (category) {\n patchState(store, { activeCategory: category });\n\n // ✅ Parallel loading\n const [categories, reports, activeCategoriesPath] = await Promise.all([\n reportDefinitionService.getCategories(category.id),\n reportDefinitionService.getReportsByCategoryId(category.id),\n reportDefinitionService.getCategoriesPathById(category.id),\n ]);\n\n patchState(store, {\n categories,\n reports,\n activeCategoriesPath,\n });\n }\n\n patchState(store, { status: AXPPageStatus.Idle });\n },\n\n /**\n * Search for reports (to be implemented)\n */\n async search(expression: string): Promise<void> {\n if (!isNil(expression) && !isEmpty(expression)) {\n patchState(store, { searchExpression: expression });\n } else {\n patchState(store, { searchExpression: null });\n }\n },\n\n /**\n * Clear search\n */\n clearSearch(): void {\n patchState(store, { searchExpression: null });\n },\n })),\n withHooks((store, translationService = inject(AXTranslationService), localeService = inject(AXLocaleService)) => ({\n async onInit() {\n merge(translationService.langChanges$, localeService.profileChanged$).subscribe(async () => { });\n //\n await store.loadRootCategories();\n },\n onDestroy() { },\n })),\n);\n","//#region ---- Imports ----\n\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXTreeItemClickBaseEventLegacy, AXTreeViewLegacyModule } from '@acorex/components/tree-view-legacy';\n\nimport { ChangeDetectionStrategy, Component, inject, output, ViewEncapsulation } from '@angular/core';\nimport { AXPMultiLanguageStringResolverService } from '@acorex/platform/core';\nimport { AXPReportCategory, AXPReportDefinition, AXPReportViewerService } from '../../../reports';\n\n//#endregion\n\n//#region ---- Interface ----\n\n/**\n * Tree view item with optimized metadata\n *\n * Uses count properties for efficient rendering:\n * - hasChild: Determined by childrenCount + itemsCount\n * - No need to query API to know if expandable\n */\nexport interface TreeViewItem {\n id: string;\n title: string;\n hasChild: boolean; // childrenCount > 0 || itemsCount > 0\n children?: TreeViewItem[];\n item?: AXPReportCategory | AXPReportDefinition;\n type: 'category' | 'definition';\n expanded: boolean;\n}\n\n//#endregion\n\n@Component({\n selector: 'axp-report-categories-tree',\n standalone: true,\n imports: [AXDecoratorModule, AXTreeViewLegacyModule],\n templateUrl: './report-categories-tree.component.html',\n styleUrl: './report-categories-tree.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: { class: 'axp-report-categories-tree' },\n})\nexport class AXPReportCategoriesTreeComponent {\n //#region ---- Services & Dependencies ----\n\n private readonly reportDefinitionService = inject(AXPReportViewerService);\n private readonly multiLanguageResolver = inject(AXPMultiLanguageStringResolverService);\n\n //#endregion\n\n //#region ---- Output Events ----\n\n /**\n * Emitted when a category node is clicked\n */\n categoryClick = output<AXPReportCategory>();\n\n /**\n * Emitted when a report node is clicked\n */\n reportClick = output<AXPReportDefinition>();\n\n //#endregion\n\n //#region ---- Data Loading Methods ----\n\n /**\n * Provide lazy loading tree data with optimized queries\n *\n * Optimizations:\n * 1. Uses childrenCount to determine expandability (no extra query)\n * 2. Uses itemsCount to skip report queries when count = 0\n * 3. Returns cached data on subsequent calls (via service layer)\n * 4. Single API call per category includes all metadata\n *\n * Performance: Most navigation is instant (cached), only first visit queries API\n */\n protected provideLazyTreeView = async (selectedItemId?: string | number): Promise<TreeViewItem[]> => {\n if (selectedItemId) {\n // ✅ Load child categories (includes childrenCount & itemsCount metadata)\n const categories = await this.reportDefinitionService.getCategories(selectedItemId as string);\n\n const categoryItems: TreeViewItem[] = categories.map((item) => ({\n id: item.id,\n title: this.multiLanguageResolver.resolve(item.title),\n // ✅ Optimization: Use count properties to determine expandability\n hasChild: item.childrenCount > 0 || (item.itemsCount ?? 0) > 0,\n item: item,\n type: 'category' as const,\n expanded: false,\n }));\n\n // ✅ Load report definitions for this category\n // Optimization: Service checks itemsCount before querying (skip if 0)\n const definitions = await this.reportDefinitionService.getReportsByCategoryId(selectedItemId as string);\n\n const definitionItems: TreeViewItem[] = definitions.map((item) => ({\n id: item.id,\n title: item.title,\n hasChild: false, // Reports are leaf nodes\n item: item,\n type: 'definition' as const,\n expanded: false,\n }));\n\n // ✅ Return categories first, then reports (sorted)\n return [...categoryItems, ...definitionItems];\n } else {\n // ✅ Root level - load root categories only\n const categories = await this.reportDefinitionService.getCategories();\n\n return categories.map((item) => ({\n id: item.id,\n title: this.multiLanguageResolver.resolve(item.title),\n // ✅ Optimization: Use count properties\n hasChild: item.childrenCount > 0 || (item.itemsCount ?? 0) > 0,\n item: item,\n type: 'category' as const,\n expanded: false,\n }));\n }\n };\n\n //#endregion\n\n //#region ---- Event Handlers ----\n\n /**\n * Handle tree node click events\n *\n * Emits appropriate event based on node type:\n * - category → categoryClick\n * - definition → reportClick\n */\n protected handleNodeClick(event: AXTreeItemClickBaseEventLegacy): void {\n const node = event.data as TreeViewItem;\n\n if (node.type === 'category') {\n this.categoryClick.emit(node.item as AXPReportCategory);\n } else if (node.type === 'definition') {\n this.reportClick.emit(node.item as AXPReportDefinition);\n }\n }\n\n //#endregion\n}\n","<ax-tree-view-legacy\n [showCheckbox]=\"false\"\n [itemTemplate]=\"itemTemplate\"\n [textField]=\"'title'\"\n [hasChildField]=\"'hasChild'\"\n [valueField]=\"'id'\"\n [expandedField]=\"'expanded'\"\n [items]=\"provideLazyTreeView\"\n (onNodeClick)=\"handleNodeClick($event)\"\n>\n</ax-tree-view-legacy>\n\n<ng-template #itemTemplate let-item>\n @if (item.type === 'category') {\n <ax-icon class=\"fas ax-text-warning fa-folder\"></ax-icon>\n } @else {\n <ax-icon class=\"fas ax-text-accent1 fa-file-chart-column\"></ax-icon>\n }\n {{ item.title }}\n</ng-template>\n","import { 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 { AXSearchBoxModule } from '@acorex/components/search-box';\nimport { AXTabsModule } from '@acorex/components/tabs';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXUnsubscriber } from '@acorex/core/utils';\nimport { AXPReportCategory, AXPReportDefinition, AXPReportViewerService } from '../../../reports';\nimport {\n AXPActionMenuItem,\n AXPBackButton,\n AXPBreadcrumbItem,\n AXPExecuteCommand,\n AXPMultiLanguageStringResolverService,\n} from '@acorex/platform/core';\nimport {\n AXPThemeLayoutBlockComponent,\n AXPThemeLayoutHeaderComponent,\n AXPThemeLayoutStartSideComponent,\n AXPThemeLayoutToolbarComponent,\n AXPStateMessageComponent,\n} from '@acorex/platform/layout/components';\nimport { AXPPageLayoutBase, AXPPageLayoutBaseComponent, AXPPageLayoutComponent } from '@acorex/platform/layout/views';\nimport { AXPLayoutThemeService } from '@acorex/platform/themes/shared';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject, ViewEncapsulation } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { ActivatedRoute, NavigationEnd, Router, RouterModule } from '@angular/router';\nimport { filter, firstValueFrom, startWith } from 'rxjs';\nimport { AXPReportRunnerRootViewModel } from '../report-runner.viewmodel';\nimport { AXPReportCategoriesTreeComponent } from '../report-categories-tree/report-categories-tree.component';\nimport { AXPWorkflowService } from '@acorex/platform/workflow';\nimport { RootConfig } from '../../../const';\n\n@Component({\n standalone: true,\n imports: [\n CommonModule,\n FormsModule,\n RouterModule,\n //\n AXSearchBoxModule,\n AXDecoratorModule,\n AXBreadcrumbsModule,\n AXTranslationModule,\n AXButtonModule,\n AXTabsModule,\n AXBadgeModule,\n AXLoadingModule,\n AXDropdownButtonModule,\n //\n AXPPageLayoutComponent,\n AXPThemeLayoutBlockComponent,\n AXPThemeLayoutToolbarComponent,\n AXPThemeLayoutHeaderComponent,\n AXPThemeLayoutStartSideComponent,\n //\n AXPReportCategoriesTreeComponent,\n AXPStateMessageComponent,\n ],\n templateUrl: './report-runner-root-page.component.html',\n styleUrl: './report-runner-root-page.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n AXUnsubscriber,\n AXPReportRunnerRootViewModel,\n {\n provide: AXPPageLayoutBase,\n useExisting: AXMReportRunnerRootPageComponent,\n },\n ],\n host: { class: 'axp-report-runner-root-page' },\n})\nexport class AXMReportRunnerRootPageComponent extends AXPPageLayoutBaseComponent {\n protected vm = inject(AXPReportRunnerRootViewModel);\n protected override layoutService = inject(AXPLayoutThemeService);\n private activatedRoute = inject(ActivatedRoute);\n private unsubscribe = inject(AXUnsubscriber);\n private reportDefinitionService = inject(AXPReportViewerService);\n private workflow = inject(AXPWorkflowService);\n private router = inject(Router);\n private multiLanguageResolver = inject(AXPMultiLanguageStringResolverService);\n\n private baseRoutes = [this.sessionService.application?.name, 'report-management', 'reports'];\n\n override async ngOnInit(): Promise<void> {\n await super.ngOnInit();\n //\n this.router.events\n .pipe(\n this.unsubscribe.takeUntilDestroy,\n filter((event) => event instanceof NavigationEnd),\n startWith(null),\n )\n .subscribe(async () => {\n await this.loadFromRoute();\n });\n }\n\n private async loadFromRoute(): Promise<void> {\n const snapshot = this.activatedRoute.snapshot;\n const segments = await firstValueFrom(this.activatedRoute.url);\n\n let categoryId = segments[segments.length - 1]?.path ?? null;\n if (categoryId) {\n await this.vm.setActiveCategoryById(categoryId);\n }\n else {\n await this.vm.loadRootCategories();\n return\n }\n //\n\n let reportId = snapshot.queryParamMap.get('report') ?? null;\n\n if (reportId) {\n // Navigate directly to viewer instead of showing parameters\n await this.navigateToViewer(reportId);\n }\n }\n\n //#region ---- Event Handlers ----\n\n /**\n * Handle category selection from tree\n */\n protected async onCategoryClick(category: AXPReportCategory): Promise<void> {\n await this.navigateToCategory(category);\n }\n\n /**\n * Handle report selection from tree\n */\n protected async onReportClick(report: AXPReportDefinition): Promise<void> {\n await this.navigateToReport(report);\n }\n\n /**\n * Navigate directly to report viewer with the selected report\n */\n private async navigateToViewer(reportId: string): Promise<void> {\n const baseViewerRoute = [this.sessionService.application?.name, 'report-management', 'viewer'];\n await this.router.navigate(baseViewerRoute, {\n queryParams: { reportId }\n });\n }\n\n //#endregion\n\n protected async navigateToCategory(category: AXPReportCategory): Promise<void> {\n // Find the path to this category\n const path = await this.reportDefinitionService.getCategoriesPathById(category.id);\n // Find the index of the target category in the path\n let urlParts = [...this.baseRoutes];\n for (const cat of path) {\n urlParts.push(cat.id);\n }\n await this.router.navigate(urlParts);\n }\n\n protected async navigateToReport(report: AXPReportDefinition): Promise<void> {\n // Navigate directly to viewer instead of showing parameters in runner\n await this.navigateToViewer(report.id);\n }\n\n //#region ---- Page Configuration Overrides ----\n\n protected override async getPageBreadcrumbs(): Promise<AXPBreadcrumbItem[]> {\n const path = this.vm.activeCategoriesPath();\n const report = {\n name: 'reports',\n title: await this.translateService.translateAsync('@report-management:module.menus.root.title'),\n command: {\n name: 'navigate-to-reports-root',\n },\n };\n if (!path || path.length === 0) {\n return [report];\n }\n const breadcrumbs: AXPBreadcrumbItem[] = [report];\n let urlParts = [...this.baseRoutes];\n for (const cat of path) {\n urlParts = [...urlParts, cat.id];\n breadcrumbs.push({\n name: cat.id,\n title: this.multiLanguageResolver.resolve(cat.title),\n command: {\n name: 'navigate-to-category',\n options: {\n category: cat,\n },\n },\n });\n }\n return breadcrumbs;\n }\n\n override async getSecondaryMenuItems(): Promise<AXPActionMenuItem[]> {\n return [];\n }\n\n override async getPageTitle(): Promise<string> {\n return this.multiLanguageResolver.resolve(this.vm.title() ?? '');\n }\n\n override async getPageDescription(): Promise<string | null> {\n const d = this.multiLanguageResolver.resolve(this.vm.description() ?? '');\n return d || null;\n }\n\n override async getBackButton(): Promise<AXPBackButton | null> {\n const categoriesPath = this.vm.activeCategoriesPath();\n\n if (!categoriesPath || categoriesPath.length === 0) {\n // At root level, no back button\n return null;\n }\n\n if (categoriesPath.length === 1) {\n // At first level category, back to reports root\n return {\n title: await this.translateService.translateAsync('@report-management:module.menus.root.title'),\n };\n }\n\n // At deeper level, back to parent category\n const parentCategory = categoriesPath[categoriesPath.length - 2];\n return {\n title: this.multiLanguageResolver.resolve(parentCategory.title),\n };\n }\n\n override async onBackButtonClick(): Promise<void> {\n const categoriesPath = this.vm.activeCategoriesPath();\n\n if (!categoriesPath || categoriesPath.length <= 1) {\n // Navigate back to reports root\n await this.router.navigate([...this.baseRoutes]);\n } else {\n // Navigate to parent category\n const parentCategoriesPath = categoriesPath.slice(0, -1);\n let urlParts = [...this.baseRoutes];\n for (const cat of parentCategoriesPath) {\n urlParts.push(cat.id);\n }\n await this.router.navigate(urlParts);\n }\n }\n\n override async execute(command: AXPExecuteCommand): Promise<void> {\n switch (command.name) {\n case 'navigate-to-category':\n await this.navigateToCategory(command.options?.['category'] as AXPReportCategory);\n break;\n case 'navigate-to-reports-root':\n await this.router.navigate([...this.baseRoutes]);\n break;\n case 'create-report':\n await this.workflow.execute('report-create', {\n data: {\n categoryId: this.vm.activeCategory()?.id ?? null,\n },\n });\n break;\n }\n }\n\n override async getPrimaryMenuItems(): Promise<AXPActionMenuItem[]> {\n return [\n // {\n // title: '@general:actions.create.title',\n // icon: 'fa-light fa-plus',\n // color: 'primary',\n // command: {\n // name: 'create-report',\n // },\n // },\n ];\n }\n\n //#endregion\n}\n","<axp-page-layout *translate=\"let t\">\n @if (vm.showSideMenu()) {\n <axp-layout-start-side>\n <axp-layout-header>\n <axp-layout-title>{{ t('@report-management:report-runner.terms.menu-title') | async }}</axp-layout-title>\n <axp-layout-toolbar>\n <ax-search-box\n [delayTime]=\"300\"\n [ngModel]=\"vm.searchExpression()\"\n (onValueChanged)=\"vm.search($event.value)\"\n [placeholder]=\"t('@report-management:report-runner.terms.search-placeholder') | async\"\n >\n <ax-clear-button></ax-clear-button>\n </ax-search-box>\n </axp-layout-toolbar>\n </axp-layout-header>\n <axp-layout-content>\n <axp-report-categories-tree (categoryClick)=\"onCategoryClick($event)\" (reportClick)=\"onReportClick($event)\" />\n </axp-layout-content>\n </axp-layout-start-side>\n }\n\n <axp-page-content>\n <!-- Desktop and Mobile: Always show desktop template -->\n <ng-container *ngTemplateOutlet=\"desktop\"> </ng-container>\n </axp-page-content>\n\n <!-- Desktop: Grid-based browser for main content -->\n <ng-template #desktop>\n <div class=\"__reports-browser\">\n @if (vm.categories().length > 0) {\n <div class=\"__section\">\n <h3 class=\"__section-title\">{{ t('@report-management:reports.terms.categories') | async }}</h3>\n <div class=\"__items-grid\">\n @for (category of vm.categories(); track category.id) {\n <div class=\"__item __category\" (click)=\"navigateToCategory(category)\">\n <div class=\"__item-icon\">\n <ax-icon class=\"fa-solid fa-folder\"></ax-icon>\n </div>\n <div class=\"__item-content\">\n <div class=\"__item-title\">{{ category.title }}</div>\n @if (category.description) {\n <div class=\"__item-description\">{{ category.description }}</div>\n }\n </div>\n </div>\n }\n </div>\n </div>\n }\n\n @if (vm.reports().length > 0) {\n <div class=\"__section\">\n <h3 class=\"__section-title\">{{ t('@report-management:reports.terms.reports') | async }}</h3>\n <div class=\"__items-grid\">\n @for (report of vm.reports(); track report.id) {\n <div class=\"__item __report\" (click)=\"navigateToReport(report)\">\n <div class=\"__item-icon\">\n <ax-icon class=\"fa-solid fa-file-chart-column\"></ax-icon>\n </div>\n <div class=\"__item-content\">\n <div class=\"__item-title\">{{ report.title }}</div>\n @if (report.description) {\n <div class=\"__item-description\">{{ report.description }}</div>\n }\n </div>\n </div>\n }\n </div>\n </div>\n }\n\n @if (vm.categories().length === 0 && vm.reports().length === 0) {\n <axp-state-message\n icon=\"fa-light fa-folder-open\"\n [title]=\"'@report-management:report-runner.components.report-runner.empty-states.no-items-found.title'\"\n [description]=\"'@report-management:report-runner.components.report-runner.empty-states.no-items-found.description'\"\n >\n </axp-state-message>\n }\n </div>\n </ng-template>\n</axp-page-layout>\n"],"names":["i3","i4","i5"],"mappings":"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"}
|