@acorex/modules 21.0.0-next.37 → 21.0.0-next.40
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-Bqfx8OTv.mjs} +718 -106
- package/fesm2022/acorex-modules-ai-management-acorex-modules-ai-management-Bqfx8OTv.mjs.map +1 -0
- package/fesm2022/acorex-modules-ai-management-agent-registry-tool-configurator-widget-column.component-D0ruV6aJ.mjs +44 -0
- package/fesm2022/acorex-modules-ai-management-agent-registry-tool-configurator-widget-column.component-D0ruV6aJ.mjs.map +1 -0
- package/fesm2022/acorex-modules-ai-management-agent-registry-tool-configurator-widget-edit.component-DyczMN-R.mjs +256 -0
- package/fesm2022/acorex-modules-ai-management-agent-registry-tool-configurator-widget-edit.component-DyczMN-R.mjs.map +1 -0
- package/fesm2022/{acorex-modules-ai-management-agent.entity-DK9GNMdR.mjs → acorex-modules-ai-management-agent.entity-CpSXisAh.mjs} +83 -94
- package/fesm2022/acorex-modules-ai-management-agent.entity-CpSXisAh.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-CYk2rB36.mjs} +62 -20
- package/fesm2022/acorex-modules-ai-management-ai-delegated-agent-transcript-popup.component-CYk2rB36.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-BDcW8BRI.mjs} +3 -5
- package/fesm2022/{acorex-modules-ai-management-assist-delegated-agent-configurator-widget-edit.component-CNKwIqUE.mjs.map → acorex-modules-ai-management-assist-delegated-agent-configurator-widget-edit.component-BDcW8BRI.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-ai-management-assist.entity-DX2U9sd5.mjs → acorex-modules-ai-management-assist.entity-7uTePpME.mjs} +2 -2
- package/fesm2022/{acorex-modules-ai-management-assist.entity-DX2U9sd5.mjs.map → acorex-modules-ai-management-assist.entity-7uTePpME.mjs.map} +1 -1
- package/fesm2022/acorex-modules-ai-management-index-DUojDUau.mjs +2 -0
- package/fesm2022/{acorex-modules-ai-management-index-KX3TVRXr.mjs.map → acorex-modules-ai-management-index-DUojDUau.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-ai-management-model.entity-BeuDUahR.mjs → acorex-modules-ai-management-model.entity-C9J3trsK.mjs} +2 -2
- package/fesm2022/{acorex-modules-ai-management-model.entity-BeuDUahR.mjs.map → acorex-modules-ai-management-model.entity-C9J3trsK.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-kHsxkjEd.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-kHsxkjEd.mjs.map} +1 -1
- package/fesm2022/acorex-modules-ai-management.mjs +1 -1
- package/fesm2022/acorex-modules-application-management.mjs +1 -1
- package/fesm2022/acorex-modules-application-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-assessment-management-acorex-modules-assessment-management-BNK6C-Ng.mjs → acorex-modules-assessment-management-acorex-modules-assessment-management-CMS2WJDu.mjs} +510 -437
- package/fesm2022/acorex-modules-assessment-management-acorex-modules-assessment-management-CMS2WJDu.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-assessment-case.entity-Ds8pRzvE.mjs → acorex-modules-assessment-management-assessment-case.entity-C-Q4hu8o.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-assessment-case.entity-Ds8pRzvE.mjs.map → acorex-modules-assessment-management-assessment-case.entity-C-Q4hu8o.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-assessment-session.entity-tq1Q4wkS.mjs → acorex-modules-assessment-management-assessment-session.entity-CQI_FpUd.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-assessment-session.entity-tq1Q4wkS.mjs.map → acorex-modules-assessment-management-assessment-session.entity-CQI_FpUd.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-fill-assessment-session.command-yf0PnWC0.mjs → acorex-modules-assessment-management-fill-assessment-session.command-Bpvco5iD.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-fill-assessment-session.command-yf0PnWC0.mjs.map → acorex-modules-assessment-management-fill-assessment-session.command-Bpvco5iD.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-index-B2SncZAW.mjs → acorex-modules-assessment-management-index-_fPuBQeK.mjs} +25 -26
- package/fesm2022/acorex-modules-assessment-management-index-_fPuBQeK.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-preview-question.command-DPzL8C44.mjs → acorex-modules-assessment-management-preview-question.command-drR6nq76.mjs} +10 -11
- package/fesm2022/acorex-modules-assessment-management-preview-question.command-drR6nq76.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-preview-questionnaire.command-BrI5gFtx.mjs → acorex-modules-assessment-management-preview-questionnaire.command-CY8tZWdG.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-preview-questionnaire.command-BrI5gFtx.mjs.map → acorex-modules-assessment-management-preview-questionnaire.command-CY8tZWdG.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-DV9irFZ0.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-DV9irFZ0.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-question-bank-item.entity-CZ32sQ9M.mjs → acorex-modules-assessment-management-question-bank-item.entity-DO4bTKKo.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-question-bank-item.entity-CZ32sQ9M.mjs.map → acorex-modules-assessment-management-question-bank-item.entity-DO4bTKKo.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-questionnaire-calculation.entity-C7gf4s1y.mjs → acorex-modules-assessment-management-questionnaire-calculation.entity-B-N0v4zs.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-questionnaire-calculation.entity-C7gf4s1y.mjs.map → acorex-modules-assessment-management-questionnaire-calculation.entity-B-N0v4zs.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-questionnaire-viewer-popup.component-BZyIlYWg.mjs → acorex-modules-assessment-management-questionnaire-viewer-popup.component-Cc-o6qmY.mjs} +3 -3
- package/fesm2022/{acorex-modules-assessment-management-questionnaire-viewer-popup.component-BZyIlYWg.mjs.map → acorex-modules-assessment-management-questionnaire-viewer-popup.component-Cc-o6qmY.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-questionnaire.entity-CmmThk2f.mjs → acorex-modules-assessment-management-questionnaire.entity-CJWNlaJs.mjs} +3 -3
- package/fesm2022/{acorex-modules-assessment-management-questionnaire.entity-CmmThk2f.mjs.map → acorex-modules-assessment-management-questionnaire.entity-CJWNlaJs.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-save-questionnaire-questions.command-GLqvK8wB.mjs → acorex-modules-assessment-management-save-questionnaire-questions.command-C3gOkZa5.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-save-questionnaire-questions.command-GLqvK8wB.mjs.map → acorex-modules-assessment-management-save-questionnaire-questions.command-C3gOkZa5.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-view-session-answers.command-CU1TVonZ.mjs → acorex-modules-assessment-management-view-session-answers.command-AvTbWvGE.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-view-session-answers.command-CU1TVonZ.mjs.map → acorex-modules-assessment-management-view-session-answers.command-AvTbWvGE.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-BRap9yt6.mjs} +761 -133
- package/fesm2022/acorex-modules-asset-management-acorex-modules-asset-management-BRap9yt6.mjs.map +1 -0
- package/fesm2022/acorex-modules-asset-management-asset-rental-history.entity-B_QZI3Cy.mjs +302 -0
- package/fesm2022/acorex-modules-asset-management-asset-rental-history.entity-B_QZI3Cy.mjs.map +1 -0
- package/fesm2022/acorex-modules-asset-management-asset-status.rules-BL0Osjqv.mjs +98 -0
- package/fesm2022/acorex-modules-asset-management-asset-status.rules-BL0Osjqv.mjs.map +1 -0
- package/fesm2022/{acorex-modules-asset-management-asset-system-history.entity-CSCwWY_F.mjs → acorex-modules-asset-management-asset-system-assignment.entity-BRz8vItS.mjs} +77 -48
- package/fesm2022/acorex-modules-asset-management-asset-system-assignment.entity-BRz8vItS.mjs.map +1 -0
- package/fesm2022/{acorex-modules-asset-management-asset-system-type.entity-CcefMT8J.mjs → acorex-modules-asset-management-asset-system-type.entity-b_o5UnuE.mjs} +72 -40
- package/fesm2022/acorex-modules-asset-management-asset-system-type.entity-b_o5UnuE.mjs.map +1 -0
- package/fesm2022/{acorex-modules-asset-management-assetSystem.entity-Dq2ASslk.mjs → acorex-modules-asset-management-asset-system.entity-C6ak4u9z.mjs} +41 -29
- package/fesm2022/acorex-modules-asset-management-asset-system.entity-C6ak4u9z.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-BQjGo1s1.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-BQjGo1s1.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-C1DJZZFy.mjs} +6 -48
- package/fesm2022/acorex-modules-asset-management-asset-type-section.entity-C1DJZZFy.mjs.map +1 -0
- package/fesm2022/{acorex-modules-asset-management-asset-type.entity-cWVqpbHH.mjs → acorex-modules-asset-management-asset-type.entity-CtOnArR9.mjs} +68 -105
- package/fesm2022/acorex-modules-asset-management-asset-type.entity-CtOnArR9.mjs.map +1 -0
- package/fesm2022/{acorex-modules-asset-management-asset.entity-CamZGWTM.mjs → acorex-modules-asset-management-asset.entity-BaET-kSd.mjs} +257 -245
- package/fesm2022/acorex-modules-asset-management-asset.entity-BaET-kSd.mjs.map +1 -0
- package/fesm2022/acorex-modules-asset-management-assetLifecycleState.provider-DZ5r2zx7.mjs +192 -0
- package/fesm2022/acorex-modules-asset-management-assetLifecycleState.provider-DZ5r2zx7.mjs.map +1 -0
- package/fesm2022/acorex-modules-asset-management-status.provider-C41t4e2U.mjs +363 -0
- package/fesm2022/acorex-modules-asset-management-status.provider-C41t4e2U.mjs.map +1 -0
- package/fesm2022/acorex-modules-asset-management.mjs +1 -1
- package/fesm2022/acorex-modules-business-core.mjs +17 -11
- package/fesm2022/acorex-modules-business-core.mjs.map +1 -1
- package/fesm2022/acorex-modules-common.mjs +166 -122
- package/fesm2022/acorex-modules-common.mjs.map +1 -1
- package/fesm2022/acorex-modules-conversation.mjs +4786 -4080
- package/fesm2022/acorex-modules-conversation.mjs.map +1 -1
- package/fesm2022/acorex-modules-dashboard-management-acorex-modules-dashboard-management-yqfev--M.mjs +8486 -0
- package/fesm2022/acorex-modules-dashboard-management-acorex-modules-dashboard-management-yqfev--M.mjs.map +1 -0
- package/fesm2022/acorex-modules-dashboard-management-index-CYnWQ2od.mjs +127 -0
- package/fesm2022/acorex-modules-dashboard-management-index-CYnWQ2od.mjs.map +1 -0
- package/fesm2022/acorex-modules-dashboard-management.mjs +1 -7708
- 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 +131 -62
- package/fesm2022/acorex-modules-document-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-financial-core.mjs.map +1 -1
- package/fesm2022/acorex-modules-form-template-management.mjs +1 -1
- package/fesm2022/acorex-modules-form-template-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-health-core-allergy-type.entity-CS8a-AUb.mjs → acorex-modules-health-core-allergy-type.entity-BvJmDMcr.mjs} +3 -3
- package/fesm2022/acorex-modules-health-core-allergy-type.entity-BvJmDMcr.mjs.map +1 -0
- package/fesm2022/{acorex-modules-health-core-blood-type.entity-ZgFOuvG4.mjs → acorex-modules-health-core-blood-type.entity-Vpw9y9J5.mjs} +3 -3
- package/fesm2022/acorex-modules-health-core-blood-type.entity-Vpw9y9J5.mjs.map +1 -0
- package/fesm2022/{acorex-modules-health-core-body-part.entity-JGLwrFE2.mjs → acorex-modules-health-core-body-part.entity-Cz2NEAqm.mjs} +3 -3
- package/fesm2022/acorex-modules-health-core-body-part.entity-Cz2NEAqm.mjs.map +1 -0
- package/fesm2022/{acorex-modules-health-core-chronic-condition-type.entity-DrxEPQj1.mjs → acorex-modules-health-core-chronic-condition-type.entity-CKWVW0Rg.mjs} +3 -3
- package/fesm2022/acorex-modules-health-core-chronic-condition-type.entity-CKWVW0Rg.mjs.map +1 -0
- package/fesm2022/{acorex-modules-health-core-disability-status.entity-UaAQFFMC.mjs → acorex-modules-health-core-disability-status.entity-C7NwwT0i.mjs} +3 -3
- package/fesm2022/acorex-modules-health-core-disability-status.entity-C7NwwT0i.mjs.map +1 -0
- package/fesm2022/{acorex-modules-health-core-injury-type.entity-DcIn0rxz.mjs → acorex-modules-health-core-injury-type.entity-bfzL6j8C.mjs} +3 -3
- package/fesm2022/acorex-modules-health-core-injury-type.entity-bfzL6j8C.mjs.map +1 -0
- package/fesm2022/{acorex-modules-health-core-vaccination-type.entity-zYd6KLRC.mjs → acorex-modules-health-core-vaccination-type.entity-CqymQfWK.mjs} +3 -3
- package/fesm2022/acorex-modules-health-core-vaccination-type.entity-CqymQfWK.mjs.map +1 -0
- package/fesm2022/acorex-modules-health-core.mjs +7 -7
- package/fesm2022/acorex-modules-health-core.mjs.map +1 -1
- package/fesm2022/acorex-modules-human-capital-management-acorex-modules-human-capital-management-Ck9q-IWW.mjs +1922 -0
- package/fesm2022/acorex-modules-human-capital-management-acorex-modules-human-capital-management-Ck9q-IWW.mjs.map +1 -0
- package/fesm2022/{acorex-modules-human-capital-management-approve-leave-request.command-BRUrGVh1.mjs → acorex-modules-human-capital-management-approve-leave-request.command-qYSPyG_q.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-approve-leave-request.command-BRUrGVh1.mjs.map → acorex-modules-human-capital-management-approve-leave-request.command-qYSPyG_q.mjs.map} +1 -1
- package/fesm2022/acorex-modules-human-capital-management-assign-position-assignment.command-Da3u1fo5.mjs +90 -0
- package/fesm2022/acorex-modules-human-capital-management-assign-position-assignment.command-Da3u1fo5.mjs.map +1 -0
- package/fesm2022/{acorex-modules-human-capital-management-cancel-leave-request.command-B16M3F8s.mjs → acorex-modules-human-capital-management-cancel-leave-request.command-DstI60jo.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-cancel-leave-request.command-B16M3F8s.mjs.map → acorex-modules-human-capital-management-cancel-leave-request.command-DstI60jo.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-employee.entity-BRpqFRuI.mjs → acorex-modules-human-capital-management-employee.entity-DjMQm3VC.mjs} +71 -25
- package/fesm2022/acorex-modules-human-capital-management-employee.entity-DjMQm3VC.mjs.map +1 -0
- package/fesm2022/{acorex-modules-human-capital-management-employment-type.entity-7ZGZYxGM.mjs → acorex-modules-human-capital-management-employment-type.entity-v8WzEHiE.mjs} +5 -5
- package/fesm2022/acorex-modules-human-capital-management-employment-type.entity-v8WzEHiE.mjs.map +1 -0
- package/fesm2022/{acorex-modules-human-capital-management-leave-request.entity-B3Rk84bJ.mjs → acorex-modules-human-capital-management-leave-request.entity-B9Bf-Nnm.mjs} +71 -21
- package/fesm2022/acorex-modules-human-capital-management-leave-request.entity-B9Bf-Nnm.mjs.map +1 -0
- package/fesm2022/{acorex-modules-human-capital-management-leave-type.entity-OKu8_PP1.mjs → acorex-modules-human-capital-management-leave-type.entity-Bpfd_hNb.mjs} +5 -6
- package/fesm2022/acorex-modules-human-capital-management-leave-type.entity-Bpfd_hNb.mjs.map +1 -0
- package/fesm2022/{acorex-modules-human-capital-management-position-assignment.entity-D_C459kx.mjs → acorex-modules-human-capital-management-position-assignment.entity-f0IDrLSn.mjs} +81 -7
- package/fesm2022/acorex-modules-human-capital-management-position-assignment.entity-f0IDrLSn.mjs.map +1 -0
- package/fesm2022/{acorex-modules-human-capital-management-reject-leave-request.command-C0_moDp9.mjs → acorex-modules-human-capital-management-reject-leave-request.command-DxNsroYI.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-reject-leave-request.command-C0_moDp9.mjs.map → acorex-modules-human-capital-management-reject-leave-request.command-DxNsroYI.mjs.map} +1 -1
- package/fesm2022/acorex-modules-human-capital-management-revoke-position-assignment.command-C3J9pcfh.mjs +97 -0
- package/fesm2022/acorex-modules-human-capital-management-revoke-position-assignment.command-C3J9pcfh.mjs.map +1 -0
- package/fesm2022/acorex-modules-human-capital-management.mjs +1 -1629
- package/fesm2022/acorex-modules-human-capital-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-learning-management-certificate-definition.entity-27VKYxw1.mjs → acorex-modules-learning-management-certificate-definition.entity-C_r1Djcx.mjs} +4 -4
- package/fesm2022/acorex-modules-learning-management-certificate-definition.entity-C_r1Djcx.mjs.map +1 -0
- package/fesm2022/{acorex-modules-learning-management-certificate-type.entity-CBM6N-PD.mjs → acorex-modules-learning-management-certificate-type.entity-DAJNtUya.mjs} +42 -20
- package/fesm2022/acorex-modules-learning-management-certificate-type.entity-DAJNtUya.mjs.map +1 -0
- package/fesm2022/{acorex-modules-learning-management-certificate.entity-BRBJQYji.mjs → acorex-modules-learning-management-certificate.entity-CSD_CX4V.mjs} +5 -5
- package/fesm2022/acorex-modules-learning-management-certificate.entity-CSD_CX4V.mjs.map +1 -0
- package/fesm2022/{acorex-modules-learning-management-course-type.entity-B1c6PDLq.mjs → acorex-modules-learning-management-course-type.entity-DmjeLMxV.mjs} +39 -17
- package/fesm2022/acorex-modules-learning-management-course-type.entity-DmjeLMxV.mjs.map +1 -0
- package/fesm2022/{acorex-modules-learning-management-course.entity-BN8XHAPz.mjs → acorex-modules-learning-management-course.entity-DUUgeikJ.mjs} +3 -3
- package/fesm2022/acorex-modules-learning-management-course.entity-DUUgeikJ.mjs.map +1 -0
- package/fesm2022/{acorex-modules-learning-management-learning-path.entity-8QlM3R4B.mjs → acorex-modules-learning-management-learning-path.entity-Zo--bDto.mjs} +39 -17
- package/fesm2022/acorex-modules-learning-management-learning-path.entity-Zo--bDto.mjs.map +1 -0
- package/fesm2022/{acorex-modules-learning-management-skill-level.entity-DXOWslpB.mjs → acorex-modules-learning-management-skill-level.entity-XVCTHW3O.mjs} +10 -10
- package/fesm2022/acorex-modules-learning-management-skill-level.entity-XVCTHW3O.mjs.map +1 -0
- package/fesm2022/{acorex-modules-learning-management-skill.entity-DrLts807.mjs → acorex-modules-learning-management-skill.entity-VXkLbaD4.mjs} +35 -13
- package/fesm2022/acorex-modules-learning-management-skill.entity-VXkLbaD4.mjs.map +1 -0
- package/fesm2022/{acorex-modules-learning-management-training-definition.entity-NQqJ5avw.mjs → acorex-modules-learning-management-training-definition.entity-BbVZ9_go.mjs} +3 -3
- package/fesm2022/acorex-modules-learning-management-training-definition.entity-BbVZ9_go.mjs.map +1 -0
- package/fesm2022/{acorex-modules-learning-management-training-type.entity-CoyDCeen.mjs → acorex-modules-learning-management-training-type.entity-C1otrA63.mjs} +36 -14
- package/fesm2022/acorex-modules-learning-management-training-type.entity-C1otrA63.mjs.map +1 -0
- package/fesm2022/{acorex-modules-learning-management-training.entity-BCGn0T3H.mjs → acorex-modules-learning-management-training.entity-C4KDv1uh.mjs} +3 -3
- package/fesm2022/acorex-modules-learning-management-training.entity-C4KDv1uh.mjs.map +1 -0
- package/fesm2022/acorex-modules-learning-management.mjs +716 -19
- package/fesm2022/acorex-modules-learning-management.mjs.map +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-CfHMiVos.mjs +7102 -0
- package/fesm2022/acorex-modules-maintenance-management-acorex-modules-maintenance-management-CfHMiVos.mjs.map +1 -0
- package/fesm2022/{acorex-modules-maintenance-management-failure-effect.entity-DQJJtCqU.mjs → acorex-modules-maintenance-management-failure-effect.entity-DKbARwJh.mjs} +2 -2
- package/fesm2022/{acorex-modules-maintenance-management-failure-effect.entity-DQJJtCqU.mjs.map → acorex-modules-maintenance-management-failure-effect.entity-DKbARwJh.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-Br0lvFfu.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-Br0lvFfu.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-maintenance-management-failure-mode-mechanism.entity-CHUaAnID.mjs → acorex-modules-maintenance-management-failure-mode-mechanism.entity-Dydg4AJ7.mjs} +2 -2
- package/fesm2022/{acorex-modules-maintenance-management-failure-mode-mechanism.entity-CHUaAnID.mjs.map → acorex-modules-maintenance-management-failure-mode-mechanism.entity-Dydg4AJ7.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-maintenance-management-failure-mode-solution.entity-B93x1uP_.mjs → acorex-modules-maintenance-management-failure-mode-solution.entity-DHiVJHFj.mjs} +2 -2
- package/fesm2022/{acorex-modules-maintenance-management-failure-mode-solution.entity-B93x1uP_.mjs.map → acorex-modules-maintenance-management-failure-mode-solution.entity-DHiVJHFj.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-maintenance-management-failure-register-cause.entity-McM3l12Q.mjs → acorex-modules-maintenance-management-failure-register-cause.entity-CZfm0U8u.mjs} +2 -2
- package/fesm2022/{acorex-modules-maintenance-management-failure-register-cause.entity-McM3l12Q.mjs.map → acorex-modules-maintenance-management-failure-register-cause.entity-CZfm0U8u.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-maintenance-management-failure-register-effect.entity-_jjy1oeg.mjs → acorex-modules-maintenance-management-failure-register-effect.entity-DbCAFveJ.mjs} +2 -2
- package/fesm2022/{acorex-modules-maintenance-management-failure-register-effect.entity-_jjy1oeg.mjs.map → acorex-modules-maintenance-management-failure-register-effect.entity-DbCAFveJ.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-maintenance-management-failure-register-mechanism.entity-5CmdhowW.mjs → acorex-modules-maintenance-management-failure-register-mechanism.entity-D83Yo6dT.mjs} +2 -2
- package/fesm2022/{acorex-modules-maintenance-management-failure-register-mechanism.entity-5CmdhowW.mjs.map → acorex-modules-maintenance-management-failure-register-mechanism.entity-D83Yo6dT.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-maintenance-management-failure-register.entity-D_lQrda5.mjs → acorex-modules-maintenance-management-failure-register.entity-zKGo9bOs.mjs} +4 -4
- package/fesm2022/acorex-modules-maintenance-management-failure-register.entity-zKGo9bOs.mjs.map +1 -0
- package/fesm2022/{acorex-modules-maintenance-management-failure-severity.entity-BIZxoVIS.mjs → acorex-modules-maintenance-management-failure-severity.entity-Cnvdmt0N.mjs} +2 -2
- package/fesm2022/{acorex-modules-maintenance-management-failure-severity.entity-BIZxoVIS.mjs.map → acorex-modules-maintenance-management-failure-severity.entity-Cnvdmt0N.mjs.map} +1 -1
- package/fesm2022/acorex-modules-maintenance-management-maintenance-template.entity-CzX0phT-.mjs +391 -0
- package/fesm2022/acorex-modules-maintenance-management-maintenance-template.entity-CzX0phT-.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-measurement-core.mjs.map +1 -1
- package/fesm2022/{acorex-modules-notification-management-notification-page.component-DDhCqJtg.mjs → acorex-modules-notification-management-notification-page.component-D0we6H1f.mjs} +5 -5
- package/fesm2022/{acorex-modules-notification-management-notification-page.component-DDhCqJtg.mjs.map → acorex-modules-notification-management-notification-page.component-D0we6H1f.mjs.map} +1 -1
- package/fesm2022/acorex-modules-notification-management.mjs +36 -22
- package/fesm2022/acorex-modules-notification-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-organization-management-JOB_DEFINITION_SKILLS_PAGE_COMPONENT_KEY-BYfbGGOE.mjs +8 -0
- package/fesm2022/acorex-modules-organization-management-JOB_DEFINITION_SKILLS_PAGE_COMPONENT_KEY-BYfbGGOE.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-acorex-modules-organization-management-CnAHfj2t.mjs +925 -0
- package/fesm2022/acorex-modules-organization-management-acorex-modules-organization-management-CnAHfj2t.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-business-unit.entity-Dpf7-aeM.mjs +372 -0
- package/fesm2022/acorex-modules-organization-management-business-unit.entity-Dpf7-aeM.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-chart.entity-bRxA8XHZ.mjs → acorex-modules-organization-management-chart.entity-CQX81AiE.mjs} +37 -33
- package/fesm2022/acorex-modules-organization-management-chart.entity-CQX81AiE.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-company.entity-BohMJQNi.mjs → acorex-modules-organization-management-company.entity-D-RWQ_8O.mjs} +8 -10
- package/fesm2022/acorex-modules-organization-management-company.entity-D-RWQ_8O.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-BdaKwTZq.mjs +61 -0
- package/fesm2022/acorex-modules-organization-management-entity.provider-BdaKwTZq.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-feature-definition.provider-EzMuHJ2K.mjs +19 -0
- package/fesm2022/acorex-modules-organization-management-feature-definition.provider-EzMuHJ2K.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-job-definition-matrix-page.utils-DD3jLujN.mjs +61 -0
- package/fesm2022/acorex-modules-organization-management-job-definition-matrix-page.utils-DD3jLujN.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-job-definition-pages-component.provider-C8_Ab3Q7.mjs +28 -0
- package/fesm2022/acorex-modules-organization-management-job-definition-pages-component.provider-C8_Ab3Q7.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-job-definition-responsibilities-page.component-DHUlvoOO.mjs +223 -0
- package/fesm2022/acorex-modules-organization-management-job-definition-responsibilities-page.component-DHUlvoOO.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-job-definition-skills-page.component-BpVESnnH.mjs +219 -0
- package/fesm2022/acorex-modules-organization-management-job-definition-skills-page.component-BpVESnnH.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-job-definition.entity-S9Jlmr-o.mjs → acorex-modules-organization-management-job-definition.entity-H8VAbZ_r.mjs} +21 -154
- package/fesm2022/acorex-modules-organization-management-job-definition.entity-H8VAbZ_r.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-job-level.datasource-Dxfq0cGw.mjs +95 -0
- package/fesm2022/acorex-modules-organization-management-job-level.datasource-Dxfq0cGw.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-job-level.entity-Bdja794J.mjs +271 -0
- package/fesm2022/acorex-modules-organization-management-job-level.entity-Bdja794J.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-menu.provider-DnvNM-pk.mjs +192 -0
- package/fesm2022/acorex-modules-organization-management-menu.provider-DnvNM-pk.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-org-chart.page-COkMtxFO.mjs +1740 -0
- package/fesm2022/acorex-modules-organization-management-org-chart.page-COkMtxFO.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-organization-code-identifier-rules.provider-pocBJezL.mjs +37 -0
- package/fesm2022/acorex-modules-organization-management-organization-code-identifier-rules.provider-pocBJezL.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-permission-definition.provider-BDLIuqxU.mjs +76 -0
- package/fesm2022/acorex-modules-organization-management-permission-definition.provider-BDLIuqxU.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-position.entity-DLPufeWz.mjs → acorex-modules-organization-management-position.entity-BpbzqtEY.mjs} +113 -112
- package/fesm2022/acorex-modules-organization-management-position.entity-BpbzqtEY.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-CGkXAtH2.mjs} +26 -29
- package/fesm2022/acorex-modules-organization-management-responsibilities-matrix-widget-edit.component-CGkXAtH2.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-Dw-tX5XI.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-Dw-tX5XI.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix.component-B06t1G1E.mjs → acorex-modules-organization-management-responsibilities-matrix.component-D_ClGAIJ.mjs} +14 -21
- package/fesm2022/acorex-modules-organization-management-responsibilities-matrix.component-D_ClGAIJ.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-responsibility-level.entity-CzkogsDv.mjs +135 -0
- package/fesm2022/acorex-modules-organization-management-responsibility-level.entity-CzkogsDv.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-responsibility.entity-CMmr3wJa.mjs → acorex-modules-organization-management-responsibility.entity-DfKM6HV7.mjs} +5 -7
- package/fesm2022/acorex-modules-organization-management-responsibility.entity-DfKM6HV7.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-settings.provider-DaeJkP0y.mjs +228 -0
- package/fesm2022/acorex-modules-organization-management-settings.provider-DaeJkP0y.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-team-business-unit.entity-Cm9qcAG7.mjs +300 -0
- package/fesm2022/acorex-modules-organization-management-team-business-unit.entity-Cm9qcAG7.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-team-member-role.entity-B3xgLE6N.mjs +150 -0
- package/fesm2022/acorex-modules-organization-management-team-member-role.entity-B3xgLE6N.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-team-member.entity-8sTjn5Jn.mjs → acorex-modules-organization-management-team-member.entity-Dk9t9S1r.mjs} +6 -17
- package/fesm2022/acorex-modules-organization-management-team-member.entity-Dk9t9S1r.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-team.entity-CGR0UlYl.mjs → acorex-modules-organization-management-team.entity-BbcFYP20.mjs} +113 -42
- package/fesm2022/acorex-modules-organization-management-team.entity-BbcFYP20.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 +3 -3
- package/fesm2022/acorex-modules-report-management.mjs.map +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 +507 -179
- 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 +280 -226
- 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-Bx2uYraH.mjs +295 -0
- package/fesm2022/acorex-modules-workflow-management-index-Bx2uYraH.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-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-D-KnWlsU.mjs} +10 -1
- package/fesm2022/acorex-modules-workflow-management-workflow-instance.entity-D-KnWlsU.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 +996 -423
- package/fesm2022/acorex-modules-workflow-management.mjs.map +1 -1
- package/organization-management/README.md +5 -1
- package/package.json +2 -2
- package/types/acorex-modules-ai-management.d.ts +91 -16
- package/types/acorex-modules-asset-management.d.ts +214 -83
- package/types/acorex-modules-business-core.d.ts +8 -11
- package/types/acorex-modules-common.d.ts +20 -8
- package/types/acorex-modules-conversation.d.ts +1 -0
- package/types/acorex-modules-dashboard-management.d.ts +348 -177
- package/types/acorex-modules-data-management.d.ts +2 -2
- package/types/acorex-modules-document-management.d.ts +7 -4
- package/types/acorex-modules-financial-core.d.ts +26 -19
- package/types/acorex-modules-form-template-management.d.ts +3 -3
- package/types/acorex-modules-health-core.d.ts +23 -29
- package/types/acorex-modules-human-capital-management.d.ts +28 -2
- package/types/acorex-modules-learning-management.d.ts +242 -105
- package/types/acorex-modules-maintenance-management.d.ts +563 -41
- package/types/acorex-modules-measurement-core.d.ts +95 -33
- package/types/acorex-modules-notification-management.d.ts +7 -3
- package/types/acorex-modules-organization-management.d.ts +272 -109
- package/types/acorex-modules-security-management.d.ts +40 -1
- package/types/acorex-modules-task-management.d.ts +20 -15
- package/types/acorex-modules-workflow-management.d.ts +121 -15
- 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-index-KX3TVRXr.mjs +0 -2
- 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-history.entity-CSCwWY_F.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-asset-management-assetSystem.entity-Dq2ASslk.mjs.map +0 -1
- package/fesm2022/acorex-modules-health-core-allergy-type.entity-CS8a-AUb.mjs.map +0 -1
- package/fesm2022/acorex-modules-health-core-blood-type.entity-ZgFOuvG4.mjs.map +0 -1
- package/fesm2022/acorex-modules-health-core-body-part.entity-JGLwrFE2.mjs.map +0 -1
- package/fesm2022/acorex-modules-health-core-chronic-condition-type.entity-DrxEPQj1.mjs.map +0 -1
- package/fesm2022/acorex-modules-health-core-disability-status.entity-UaAQFFMC.mjs.map +0 -1
- package/fesm2022/acorex-modules-health-core-injury-type.entity-DcIn0rxz.mjs.map +0 -1
- package/fesm2022/acorex-modules-health-core-vaccination-type.entity-zYd6KLRC.mjs.map +0 -1
- package/fesm2022/acorex-modules-human-capital-management-employee.entity-BRpqFRuI.mjs.map +0 -1
- package/fesm2022/acorex-modules-human-capital-management-employment-type.entity-7ZGZYxGM.mjs.map +0 -1
- package/fesm2022/acorex-modules-human-capital-management-leave-request.entity-B3Rk84bJ.mjs.map +0 -1
- package/fesm2022/acorex-modules-human-capital-management-leave-type.entity-OKu8_PP1.mjs.map +0 -1
- package/fesm2022/acorex-modules-human-capital-management-position-assignment.entity-D_C459kx.mjs.map +0 -1
- package/fesm2022/acorex-modules-learning-management-certificate-definition.entity-27VKYxw1.mjs.map +0 -1
- package/fesm2022/acorex-modules-learning-management-certificate-type.entity-CBM6N-PD.mjs.map +0 -1
- package/fesm2022/acorex-modules-learning-management-certificate.entity-BRBJQYji.mjs.map +0 -1
- package/fesm2022/acorex-modules-learning-management-course-type.entity-B1c6PDLq.mjs.map +0 -1
- package/fesm2022/acorex-modules-learning-management-course.entity-BN8XHAPz.mjs.map +0 -1
- package/fesm2022/acorex-modules-learning-management-learning-path.entity-8QlM3R4B.mjs.map +0 -1
- package/fesm2022/acorex-modules-learning-management-skill-level.entity-DXOWslpB.mjs.map +0 -1
- package/fesm2022/acorex-modules-learning-management-skill-matrix-widget-edit.component-CaeZ9P_I.mjs +0 -162
- package/fesm2022/acorex-modules-learning-management-skill-matrix-widget-edit.component-CaeZ9P_I.mjs.map +0 -1
- package/fesm2022/acorex-modules-learning-management-skill-matrix-widget-view.component-1oWMtdrN.mjs +0 -70
- package/fesm2022/acorex-modules-learning-management-skill-matrix-widget-view.component-1oWMtdrN.mjs.map +0 -1
- package/fesm2022/acorex-modules-learning-management-skill-matrix.component-_cFwIN-z.mjs +0 -468
- package/fesm2022/acorex-modules-learning-management-skill-matrix.component-_cFwIN-z.mjs.map +0 -1
- package/fesm2022/acorex-modules-learning-management-skill.entity-DrLts807.mjs.map +0 -1
- package/fesm2022/acorex-modules-learning-management-training-definition.entity-NQqJ5avw.mjs.map +0 -1
- package/fesm2022/acorex-modules-learning-management-training-type.entity-CoyDCeen.mjs.map +0 -1
- package/fesm2022/acorex-modules-learning-management-training.entity-BCGn0T3H.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-job-definition.entity-S9Jlmr-o.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-responsibility.entity-CMmr3wJa.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-team-member-role.entity-CZ4MibH4.mjs +0 -88
- package/fesm2022/acorex-modules-organization-management-team-member-role.entity-CZ4MibH4.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-team-member.entity-8sTjn5Jn.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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-modules-platform-dev-tools.mjs","sources":["../../../../libs/modules/platform-dev-tools/src/lib/const.ts","../../../../libs/modules/platform-dev-tools/src/lib/manifest.ts","../../../../libs/modules/platform-dev-tools/src/lib/menu.keys.ts","../../../../libs/modules/platform-dev-tools/src/lib/menu.provider.ts","../../../../libs/modules/platform-dev-tools/src/lib/settings.keys.ts","../../../../libs/modules/platform-dev-tools/src/lib/settings.provider.ts","../../../../libs/modules/platform-dev-tools/src/lib/features/platform-explorer/platform-explorer-tree.model.ts","../../../../libs/modules/platform-dev-tools/src/lib/features/platform-explorer/platform-explorer-data.service.ts","../../../../libs/modules/platform-dev-tools/src/lib/features/platform-explorer/detail/platform-explorer-module-detail.component.ts","../../../../libs/modules/platform-dev-tools/src/lib/features/platform-explorer/detail/platform-explorer-entity-detail.component.ts","../../../../libs/modules/platform-dev-tools/src/lib/features/platform-explorer/detail/platform-explorer-permissions-list-detail.component.ts","../../../../libs/modules/platform-dev-tools/src/lib/features/platform-explorer/detail/platform-explorer-features-list-detail.component.ts","../../../../libs/modules/platform-dev-tools/src/lib/features/platform-explorer/platform-explorer-detail.component.ts","../../../../libs/modules/platform-dev-tools/src/lib/features/platform-explorer/platform-explorer-page.component.ts","../../../../libs/modules/platform-dev-tools/src/lib/features/platform-explorer/platform-explorer-page.component.html","../../../../libs/modules/platform-dev-tools/src/lib/features/platform-explorer/platform-explorer-tree-node.component.ts","../../../../libs/modules/platform-dev-tools/src/lib/platform-dev-tools.module.ts","../../../../libs/modules/platform-dev-tools/src/acorex-modules-platform-dev-tools.ts"],"sourcesContent":["//#region ---- Config ----\n\nconst config = {\n i18n: 'platform-dev-tools',\n};\n\nexport const RootConfig = {\n config,\n module: {\n route: 'dev',\n module: 'platform-dev-tools',\n name: 'PlatformDevTools',\n title: '@platform-dev-tools:module.title',\n icon: 'fa-light fa-wrench',\n },\n};\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXPModuleManifest } from '@acorex/platform/core';\nimport { RootConfig } from './const';\n\n//#endregion\n\n//#region ---- Manifest Definition ----\n\n/**\n * Platform Dev Tools Module Manifest.\n * Development-only module for exploring platform structure (modules, entities, permissions, features).\n */\nexport const PlatformDevToolsManifest: AXPModuleManifest = {\n name: RootConfig.module.name,\n version: '1.0.0',\n title: RootConfig.module.title,\n icon: RootConfig.module.icon,\n i18n: RootConfig.config.i18n,\n description: '@platform-dev-tools:module.description',\n required: false,\n};\n\n//#endregion\n","//#region ---- Menu Keys ----\n\nexport const AXPPlatformDevToolsMenuKeys = {\n Root: 'platform-dev-tools.root',\n PlatformExplorer: 'platform-dev-tools.platform-explorer',\n} as const;\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXPMenuProvider, AXPMenuProviderContext } from '@acorex/platform/common';\nimport { AXPCommonMenuKeys } from '@acorex/modules/common';\nimport { RootConfig } from './const';\nimport { AXPPlatformDevToolsMenuKeys } from './menu.keys';\n\n//#endregion\n\n//#region ---- Menu Provider ----\n\n/**\n * Adds \"Dev Tools\" > \"Platform Explorer\" under Administration.\n * Only register this module in development so the menu does not appear in production.\n */\nexport class AXMPlatformDevToolsMenuProvider implements AXPMenuProvider {\n async provide(context: AXPMenuProviderContext): Promise<void> {\n const module = RootConfig.module;\n context.find(AXPCommonMenuKeys.Platform).addItems([\n {\n text: '',\n type: 'break',\n priority: 998,\n },\n {\n name: AXPPlatformDevToolsMenuKeys.PlatformExplorer,\n text: '@platform-dev-tools:module.menus.platform-explorer.title',\n path: 'demo/dev/platform-explorer',\n icon: 'fa-light fa-sitemap',\n priority: 999,\n },\n ]);\n }\n}\n\n//#endregion\n","//#region ---- Developer Settings ----\n\n/** Setting keys for the Platform Dev Tools module. */\nexport enum AXPPlatformDevToolsSettings {\n /** When enabled, exposes additional diagnostic behavior for developers (debug mode). */\n DebugMode = 'PlatformDevTools:Setting:Developer.DebugMode',\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXPSettingDefinitionProvider, AXPSettingDefinitionProviderContext } from '@acorex/platform/common';\nimport { AXPWidgetsList } from '@acorex/modules/common';\nimport { AXPPlatformDevToolsSettings } from './settings.keys';\n\n//#endregion\n\n//#region ---- Setting Provider ----\n\n/**\n * Defines settings for Platform Dev Tools (developer-oriented options).\n */\nexport class AXPPlatformDevToolsSettingProvider implements AXPSettingDefinitionProvider {\n async provide(context: AXPSettingDefinitionProviderContext): Promise<void> {\n context\n .addGroup(\n 'platform-dev-tools',\n '@platform-dev-tools:settings.group.title',\n '@platform-dev-tools:settings.group.description',\n 'fa-light fa-wrench',\n )\n .addSection(\n 'developer',\n '@platform-dev-tools:settings.developer.title',\n '@platform-dev-tools:settings.developer.description',\n )\n .addSetting({\n key: AXPPlatformDevToolsSettings.DebugMode,\n title: '@platform-dev-tools:settings.developer.items.debug-mode.title',\n description: '@platform-dev-tools:settings.developer.items.debug-mode.description',\n scope: 'T',\n isInherited: true,\n defaultValue: false,\n widget: {\n type: AXPWidgetsList.Editors.ToggleSwitch,\n },\n })\n .endSection()\n .endGroup();\n }\n}\n\n//#endregion\n","//#region ---- Tree node types ----\n\nexport type PlatformExplorerNodeKind =\n | 'module'\n | 'entities'\n | 'entity'\n | 'permissions'\n | 'permission'\n | 'features'\n | 'feature';\n\nexport interface PlatformExplorerTreeNode {\n id: string;\n kind: PlatformExplorerNodeKind;\n label: string;\n moduleName?: string;\n /** i18n key for the module title (used for page title and breadcrumbs) */\n moduleTitle?: string;\n children?: PlatformExplorerTreeNode[];\n /** Optional payload for detail view */\n payload?: unknown;\n /** Item count for badge (e.g. entities count, permissions count, features count) */\n itemCount?: number;\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXPEntityResolver } from '@acorex/platform/layout/entity';\nimport { AXPModuleManifestRegistry } from '@acorex/platform/core';\nimport { AXPPermissionDefinitionService } from '@acorex/platform/auth';\nimport { inject, Injectable } from '@angular/core';\nimport {\n PlatformExplorerTreeNode,\n} from './platform-explorer-tree.model';\nimport type { AXPFeatureDefinition } from '@acorex/platform/core';\nimport type { AXPPermissionDefinition, AXPPermissionGroupDefinition } from '@acorex/platform/auth';\n\n//#endregion\n\n//#region ---- Service ----\n\n@Injectable()\nexport class PlatformExplorerDataService {\n private readonly manifestRegistry = inject(AXPModuleManifestRegistry);\n private readonly entityResolver = inject(AXPEntityResolver);\n private readonly permissionService = inject(AXPPermissionDefinitionService);\n\n /**\n * Build only root-level module nodes (no children). Children are loaded on expand via getModuleChildren.\n * Includes all modules; use buildModulesOnlyFiltered() to exclude modules with no entities/permissions/features.\n */\n async buildModulesOnly(): Promise<PlatformExplorerTreeNode[]> {\n await this.manifestRegistry.initialize();\n const modules = this.manifestRegistry.getAll();\n const tree: PlatformExplorerTreeNode[] = modules.map((mod) => ({\n id: `module-${mod.name}`,\n kind: 'module' as const,\n label: mod.title,\n moduleName: mod.name,\n moduleTitle: mod.title,\n payload: mod,\n children: [],\n }));\n tree.sort((a, b) => {\n const nameA = (a.payload as { name?: string })?.name ?? a.moduleName ?? '';\n const nameB = (b.payload as { name?: string })?.name ?? b.moduleName ?? '';\n return nameA.localeCompare(nameB, undefined, { sensitivity: 'base' });\n });\n return tree;\n }\n\n /**\n * Build root-level module nodes, excluding modules that have no entities, permissions, or features.\n * Each module node gets itemCount = number of non-empty subcategories (for badge).\n */\n async buildModulesOnlyFiltered(): Promise<PlatformExplorerTreeNode[]> {\n const all = await this.buildModulesOnly();\n const filtered: PlatformExplorerTreeNode[] = [];\n for (const modNode of all) {\n const children = await this.getModuleChildren(modNode.id);\n if (children.length > 0) {\n filtered.push({\n ...modNode,\n itemCount: children.length,\n });\n }\n }\n return filtered;\n }\n\n /**\n * Load entities, permissions, and features for a module (called when module node is expanded or clicked).\n * Only includes subcategories that have at least one item. Returns empty array if module has no items.\n */\n async getModuleChildren(moduleId: string): Promise<PlatformExplorerTreeNode[]> {\n const moduleName = moduleId.startsWith('module-') ? moduleId.slice(7) : moduleId;\n const mod = this.manifestRegistry.get(moduleName);\n if (!mod) return [];\n const moduleTitle = mod.title;\n const [allEntries, permissions, features] = await Promise.all([\n this.entityResolver.listAll(),\n this.getPermissionsForModule(moduleName),\n Promise.resolve(this.getFeaturesForModule(moduleName)),\n ]);\n const moduleEntities = allEntries.filter((e) => e.module === moduleName);\n const permissionsCount = permissions.length;\n const featuresCount = features.length;\n const nodes: PlatformExplorerTreeNode[] = [];\n if (moduleEntities.length > 0) {\n nodes.push({\n id: `module-${moduleName}-entities`,\n kind: 'entities',\n label: '@platform-dev-tools:module.terms.entities',\n moduleName,\n moduleTitle,\n itemCount: moduleEntities.length,\n children: moduleEntities.map((e) => ({\n id: `entity-${moduleName}-${e.name}`,\n kind: 'entity' as const,\n label: e.name,\n moduleName,\n moduleTitle,\n payload: e,\n })),\n });\n }\n if (permissionsCount > 0) {\n nodes.push({\n id: `module-${moduleName}-permissions`,\n kind: 'permissions',\n label: '@platform-dev-tools:module.terms.permissions',\n moduleName,\n moduleTitle,\n itemCount: permissionsCount,\n });\n }\n if (featuresCount > 0) {\n nodes.push({\n id: `module-${moduleName}-features`,\n kind: 'features',\n label: '@platform-dev-tools:module.terms.features',\n moduleName,\n moduleTitle,\n itemCount: featuresCount,\n });\n }\n return nodes;\n }\n\n /**\n * Get all permissions for a module (for display in module detail).\n */\n async getPermissionsForModule(moduleName: string): Promise<AXPPermissionDefinition[]> {\n const groups = await this.permissionService.getGroups();\n return this.collectPermissionsForModule(groups, moduleName);\n }\n\n /**\n * Get all features for a module (for display in module detail).\n */\n getFeaturesForModule(moduleName: string): AXPFeatureDefinition[] {\n return this.manifestRegistry.getModuleFeatures(moduleName);\n }\n\n private collectPermissionsForModule(\n groups: AXPPermissionGroupDefinition[],\n moduleName: string\n ): AXPPermissionDefinition[] {\n const prefix = `${moduleName}:`;\n const out: AXPPermissionDefinition[] = [];\n const collect = (items: AXPPermissionDefinition[]) => {\n for (const p of items) {\n if (p.name.startsWith(prefix)) out.push(p);\n if (p.children?.length) collect(p.children);\n }\n };\n for (const g of groups) {\n if (g.name === moduleName) collect(g.permissions);\n }\n return out;\n }\n}\n\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, input, ViewEncapsulation } from '@angular/core';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport type { AXPModuleManifest } from '@acorex/platform/core';\n\n//#endregion\n\n@Component({\n selector: 'axp-platform-explorer-module-detail',\n standalone: true,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXTranslationModule],\n template: `\n @if (payload()) {\n <section class=\"axp-module-detail\">\n <h3 class=\"axp-module-detail__section-title\">\n {{ '@platform-dev-tools:module.terms.module-info' | translate | async }}\n </h3>\n <dl class=\"axp-detail-dl\">\n <dt>\n {{ '@platform-dev-tools:module.terms.name' | translate | async }}\n </dt>\n <dd>{{ payload()!.name }}</dd>\n\n <dt>\n {{ '@platform-dev-tools:module.terms.version' | translate | async }}\n </dt>\n <dd>{{ payload()!.version }}</dd>\n\n <dt>\n {{ '@platform-dev-tools:module.terms.title' | translate | async }}\n </dt>\n <dd>{{ payload()!.title }}</dd>\n\n @if (payload()!.description) {\n <dt>\n {{ '@platform-dev-tools:module.terms.description' | translate | async }}\n </dt>\n <dd>{{ payload()!.description }}</dd>\n }\n\n @if (payload()!.i18n) {\n <dt>i18n</dt>\n <dd>{{ payload()!.i18n }}</dd>\n }\n\n @if (payload()!.required !== undefined) {\n <dt>\n {{ '@platform-dev-tools:module.terms.required' | translate | async }}\n </dt>\n <dd>{{ payload()!.required }}</dd>\n }\n </dl>\n </section>\n }\n `,\n styles: [\n `\n .axp-module-detail { margin-bottom: 24px; }\n .axp-module-detail__section-title { margin: 0 0 12px 0; font-size: 15px; font-weight: 600; }\n .axp-detail-dl { display: grid; grid-template-columns: auto 1fr; gap: 4px 16px; margin: 0; }\n .axp-detail-dl dt { font-weight: 600; color: var(--ax-neutral-text-secondary, #666); }\n .axp-detail-dl dd { margin: 0; }\n `,\n ],\n})\nexport class AXPlatformExplorerModuleDetailComponent {\n payload = input<AXPModuleManifest | undefined>();\n}\n","//#region ---- Imports ----\n\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, effect, inject, input, signal, ViewEncapsulation } from '@angular/core';\nimport type { AXPEntity } from '@acorex/platform/common';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPEntityResolver } from '@acorex/platform/layout/entity';\nimport type { AXPEntityListEntry } from '@acorex/platform/layout/entity';\n\n//#endregion\n\nfunction isListEntry(p: AXPEntity | AXPEntityListEntry): p is AXPEntityListEntry {\n return p != null && 'fullName' in p && !('properties' in p);\n}\n\n@Component({\n selector: 'axp-platform-explorer-entity-detail',\n standalone: true,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXTranslationModule],\n host: { class: 'ax-flex ax-flex-col ax-flex-1 ax-min-h-0' },\n template: `\n <div class=\"ax-flex ax-flex-col ax-flex-1 ax-min-h-0 ax-pt-0 ax-overflow-auto\">\n @if (entity(); as e) {\n <dl class=\"ax-grid ax-grid-cols-[auto_1fr] ax-gap-x-4 ax-gap-y-1 ax-mb-3 ax-m-0\">\n <dt class=\"ax-font-semibold ax-text-muted\">{{ '@platform-dev-tools:module.terms.module' | translate | async }}</dt><dd class=\"ax-m-0\">{{ e.module }}</dd>\n <dt class=\"ax-font-semibold ax-text-muted\">{{ '@platform-dev-tools:module.terms.name' | translate | async }}</dt><dd class=\"ax-m-0\">{{ e.name }}</dd>\n @if (e.title) {\n <dt class=\"ax-font-semibold ax-text-muted\">{{ '@platform-dev-tools:module.terms.title' | translate | async }}</dt><dd class=\"ax-m-0\">{{ e.title | translate | async}}</dd>\n }\n @if (e.formats.plural) {\n <dt class=\"ax-font-semibold ax-text-muted\">{{ '@platform-dev-tools:module.terms.plural' | translate | async }}</dt><dd class=\"ax-m-0\">{{ e.formats.plural | translate | async}}</dd>\n }\n </dl>\n @if (e.properties && e.properties.length > 0) {\n <p class=\"ax-mb-2 ax-mt-3 ax-font-bold\">{{ '@platform-dev-tools:module.terms.properties' | translate | async }} ({{ e.properties.length }})</p>\n <div class=\"ax-flex-1 ax-min-h-0 ax-overflow-auto ax-border ax-border-lightest ax-rounded-md\">\n <table class=\"ax-w-full ax-border-collapse ax-text-[13px]\">\n <thead>\n <tr>\n <th class=\"ax-text-start ax-p-2 ax-px-3 ax-bg-lighter ax-font-semibold ax-border-b ax-border-lightest\">{{ '@platform-dev-tools:module.terms.name' | translate | async }}</th>\n <th class=\"ax-text-start ax-p-2 ax-px-3 ax-bg-lighter ax-font-semibold ax-border-b ax-border-lightest\">{{ '@platform-dev-tools:module.terms.title' | translate | async }}</th>\n <th class=\"ax-text-start ax-p-2 ax-px-3 ax-bg-lighter ax-font-semibold ax-border-b ax-border-lightest\">{{ '@platform-dev-tools:module.terms.type' | translate | async }}</th>\n <th class=\"ax-text-start ax-p-2 ax-px-3 ax-bg-lighter ax-font-semibold ax-border-b ax-border-lightest\">{{ '@platform-dev-tools:module.terms.description' | translate | async }}</th>\n </tr>\n </thead>\n <tbody class=\"axp-entity-detail-tbody\">\n @for (p of e.properties; track p.name) {\n <tr>\n <td class=\"ax-p-2 ax-px-3 ax-border-b ax-border-lightest\"><code class=\"ax-text-xs ax-bg-lighter ax-px-1.5 ax-py-0.5 ax-rounded\">{{ p.name }}</code></td>\n <td class=\"ax-p-2 ax-px-3 ax-border-b ax-border-lightest\">{{ p.title | translate | async }}</td>\n <td class=\"ax-p-2 ax-px-3 ax-border-b ax-border-lightest\">{{ p.schema.dataType }}</td>\n <td class=\"ax-p-2 ax-px-3 ax-border-b ax-border-lightest\">@if (p.description) { {{ p.description | translate | async }} } @else { – }</td>\n </tr>\n }\n </tbody>\n </table>\n </div>\n }\n } @else if (loading()) {\n <p class=\"ax-m-0 ax-text-muted\">{{ '@platform-dev-tools:module.terms.loading-entity' | translate | async }}</p>\n }\n </div>\n `,\n styles: [\n `\n .axp-entity-detail-tbody tr:last-child td { border-bottom: none; }\n `,\n ],\n})\nexport class AXPlatformExplorerEntityDetailComponent {\n payload = input<AXPEntity | AXPEntityListEntry | undefined>();\n\n protected readonly entity = signal<AXPEntity | null>(null);\n protected readonly loading = signal(false);\n\n private readonly entityResolver = inject(AXPEntityResolver);\n\n constructor() {\n effect(() => {\n const p = this.payload();\n if (!p) {\n this.entity.set(null);\n this.loading.set(false);\n return;\n }\n if (isListEntry(p)) {\n this.loading.set(true);\n this.entity.set(null);\n this.entityResolver.get(p.module, p.name).then((e) => {\n if (this.payload() === p) {\n this.entity.set(e ?? null);\n }\n this.loading.set(false);\n });\n } else {\n this.entity.set(p);\n this.loading.set(false);\n }\n });\n }\n}\n","//#region ---- Imports ----\n\nimport { CommonModule } from '@angular/common';\nimport { AXDataSource, AXDataSourceQuery } from '@acorex/cdk/common';\nimport { AXDataTableModule } from '@acorex/components/data-table';\nimport {\n ChangeDetectionStrategy,\n Component,\n effect,\n inject,\n input,\n ViewEncapsulation,\n} from '@angular/core';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport type { AXPPermissionDefinition } from '@acorex/platform/auth';\nimport { PlatformExplorerDataService } from '../platform-explorer-data.service';\n\n//#endregion\n\n@Component({\n selector: 'axp-platform-explorer-permissions-list-detail',\n standalone: true,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXDataTableModule, AXTranslationModule],\n host: { class: 'ax-flex ax-flex-col ax-flex-1 ax-min-h-0' },\n template: `\n <div class=\"ax-flex ax-flex-1 ax-min-h-0 ax-pt-0 ax-overflow-auto\">\n <ax-data-table\n class=\"ax-flex-1 ax-border ax-border-lightest ax-rounded-md ax-overflow-hidden\"\n [paging]=\"true\"\n [allowReordering]=\"true\"\n [dataSource]=\"dataSource\"\n >\n <ax-text-column [dataField]=\"'name'\" [caption]=\"'@platform-dev-tools:module.terms.name' | translate | async\" [width]=\"'420px'\" [allowResizing]=\"true\"></ax-text-column>\n <ax-text-column [dataField]=\"'title'\" [caption]=\"'@platform-dev-tools:module.terms.title' | translate | async\" [cellTemplate]=\"titleTpl\" [width]=\"'260px'\" [allowResizing]=\"true\"></ax-text-column>\n <ax-text-column [dataField]=\"'description'\" [caption]=\"'@platform-dev-tools:module.terms.description' | translate | async\" [cellTemplate]=\"descTpl\" [width]=\"'380px'\" [allowResizing]=\"true\"></ax-text-column>\n </ax-data-table>\n </div>\n <ng-template #titleTpl let-item>\n {{ item.data?.title | translate | async }}</ng-template>\n <ng-template #descTpl let-item>\n @if (item.data?.description) { {{ item.data.description | translate | async }} } @else { – }\n </ng-template>\n `,\n})\nexport class AXPlatformExplorerPermissionsListDetailComponent {\n moduleName = input.required<string>();\n private readonly dataService = inject(PlatformExplorerDataService);\n\n readonly dataSource = new AXDataSource<AXPPermissionDefinition>({\n key: 'name',\n pageSize: 20,\n load: async (e: AXDataSourceQuery) => {\n const name = this.moduleName();\n if (!name) return { items: [], total: 0 };\n const list = await this.dataService.getPermissionsForModule(name);\n const skip = e?.skip ?? 0;\n const take = e?.take ?? 20;\n const items = list.slice(skip, skip + take);\n return { items, total: list.length };\n },\n });\n\n constructor() {\n effect(() => {\n this.moduleName();\n this.dataSource.refresh();\n });\n }\n}\n","//#region ---- Imports ----\n\nimport { CommonModule } from '@angular/common';\nimport { AXDataSource, AXDataSourceQuery } from '@acorex/cdk/common';\nimport { AXDataTableModule } from '@acorex/components/data-table';\nimport {\n ChangeDetectionStrategy,\n Component,\n effect,\n inject,\n input,\n ViewEncapsulation,\n} from '@angular/core';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport type { AXPFeatureDefinition } from '@acorex/platform/core';\nimport { PlatformExplorerDataService } from '../platform-explorer-data.service';\n\n//#endregion\n\n@Component({\n selector: 'axp-platform-explorer-features-list-detail',\n standalone: true,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXDataTableModule, AXTranslationModule],\n host: { class: 'ax-flex ax-flex-col ax-flex-1 ax-min-h-0' },\n template: `\n <div class=\"ax-flex ax-flex-1 ax-min-h-0 ax-pt-0 ax-overflow-auto\">\n <ax-data-table\n class=\"ax-flex-1 ax-border ax-border-lightest ax-rounded-md ax-overflow-hidden\"\n [paging]=\"true\"\n [allowReordering]=\"true\"\n [dataSource]=\"dataSource\"\n >\n <ax-text-column dataField=\"key\" [caption]=\"'@platform-dev-tools:module.terms.key' | translate | async\" [width]=\"'240px'\" [allowResizing]=\"true\"></ax-text-column>\n <ax-text-column dataField=\"title\" [caption]=\"'@platform-dev-tools:module.terms.title' | translate | async\" [cellTemplate]=\"titleTpl\" [width]=\"'280px'\" [allowResizing]=\"true\"></ax-text-column>\n <ax-text-column dataField=\"type\" caption=\"Type\" [width]=\"'100px'\" [cellTemplate]=\"typeTpl\" [allowResizing]=\"true\"></ax-text-column>\n <ax-text-column dataField=\"description\" [caption]=\"'@platform-dev-tools:module.terms.description' | translate | async\" [cellTemplate]=\"descTpl\" [width]=\"'340px'\" [allowResizing]=\"true\"></ax-text-column>\n <ax-text-column dataField=\"defaultValue\" [caption]=\"'@platform-dev-tools:module.terms.default-value' | translate | async\" [width]=\"'140px'\" [allowResizing]=\"true\"></ax-text-column>\n </ax-data-table>\n </div>\n <ng-template #titleTpl let-item>{{ item.data?.title | translate | async }}</ng-template>\n <ng-template #typeTpl let-item>{{ item.data?.type ?? '–' }}</ng-template>\n <ng-template #descTpl let-item>@if (item.data?.description) { {{ item.data.description | translate | async }} } @else { – }</ng-template>\n `,\n})\nexport class AXPlatformExplorerFeaturesListDetailComponent {\n moduleName = input.required<string>();\n private readonly dataService = inject(PlatformExplorerDataService);\n\n readonly dataSource = new AXDataSource<AXPFeatureDefinition>({\n key: 'name',\n pageSize: 20,\n load: (e: AXDataSourceQuery) => {\n const name = this.moduleName();\n if (!name) return Promise.resolve({ items: [], total: 0 });\n const list = this.dataService.getFeaturesForModule(name);\n const skip = e?.skip ?? 0;\n const take = e?.take ?? 20;\n const items = list.slice(skip, skip + take);\n return Promise.resolve({ items, total: list.length });\n },\n });\n\n constructor() {\n effect(() => {\n this.moduleName();\n this.dataSource.refresh();\n });\n }\n}\n","//#region ---- Imports ----\n\n\nimport { ChangeDetectionStrategy, Component, input, ViewEncapsulation } from '@angular/core';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { PlatformExplorerTreeNode } from './platform-explorer-tree.model';\nimport { AXPlatformExplorerModuleDetailComponent } from './detail/platform-explorer-module-detail.component';\nimport { AXPlatformExplorerEntityDetailComponent } from './detail/platform-explorer-entity-detail.component';\nimport { AXPlatformExplorerPermissionsListDetailComponent } from './detail/platform-explorer-permissions-list-detail.component';\nimport { AXPlatformExplorerFeaturesListDetailComponent } from './detail/platform-explorer-features-list-detail.component';\n\n//#endregion\n\n//#region ---- Component ----\n\n@Component({\n selector: 'axp-platform-explorer-detail',\n standalone: true,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { class: 'ax-flex ax-flex-col ax-flex-1 ax-min-h-0' },\n imports: [\n AXTranslationModule,\n AXPlatformExplorerModuleDetailComponent,\n AXPlatformExplorerEntityDetailComponent,\n AXPlatformExplorerPermissionsListDetailComponent,\n AXPlatformExplorerFeaturesListDetailComponent\n],\n template: `\n <div class=\"ax-flex ax-flex-col ax-flex-1 ax-min-h-0\">\n @switch (node().kind) {\n @case ('module') {\n <axp-platform-explorer-module-detail [payload]=\"$any(node().payload)\" />\n }\n @case ('entity') {\n <axp-platform-explorer-entity-detail [payload]=\"$any(node().payload)\" />\n }\n @case ('permissions') {\n <axp-platform-explorer-permissions-list-detail [moduleName]=\"node().moduleName!\" />\n }\n @case ('features') {\n <axp-platform-explorer-features-list-detail [moduleName]=\"node().moduleName!\" />\n }\n @default {\n <p class=\"axp-detail__hint\">{{ node().children?.length ?? 0 }} items.</p>\n }\n }\n </div>\n `,\n styles: [\n `\n .axp-detail__hint { margin: 0; color: var(--ax-neutral-text-secondary, #666); }\n `,\n ],\n})\nexport class AXPlatformExplorerDetailComponent {\n node = input.required<PlatformExplorerTreeNode>();\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n inject,\n signal,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport {\n AXTreeViewComponent,\n AXTreeViewNode,\n AXTreeViewNodeSelectEvent,\n AXTreeViewNodeToggleEvent,\n} from '@acorex/components/tree-view';\nimport { AXPBreadcrumbItem } from '@acorex/platform/core';\nimport {\n AXPPageLayoutBase,\n AXPPageLayoutBaseComponent,\n AXPPageLayoutComponent,\n} from '@acorex/platform/layout/views';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport {\n AXPThemeLayoutBlockComponent,\n AXPThemeLayoutHeaderComponent,\n AXPThemeLayoutStartSideComponent,\n} from '@acorex/platform/layout/components';\nimport { PlatformExplorerDataService } from './platform-explorer-data.service';\nimport { PlatformExplorerTreeNode } from './platform-explorer-tree.model';\nimport { AXPlatformExplorerDetailComponent } from './platform-explorer-detail.component';\n\n//#endregion\n\n//#region ---- Convert tree to AXTreeViewNode ----\n\nfunction toTreeViewNodes(\n nodes: PlatformExplorerTreeNode[],\n markModuleExpandable = false\n): AXTreeViewNode[] {\n return nodes.map((n) => {\n const children = n.children ?? [];\n const hasChildren = children.length > 0;\n const axNode: AXTreeViewNode = {\n id: n.id,\n title: n.label,\n children: hasChildren ? toTreeViewNodes(children, false) : undefined,\n data: { treeNode: n },\n };\n if (markModuleExpandable && n.kind === 'module' && !hasChildren) {\n (axNode as Record<string, unknown>)['childrenCount'] = 3;\n }\n return axNode;\n });\n}\n\n//#endregion\n\n//#region ---- Component ----\n\n@Component({\n selector: 'axp-platform-explorer-page',\n standalone: true,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n AXTranslationModule,\n AXPPageLayoutComponent,\n AXPThemeLayoutStartSideComponent,\n AXPThemeLayoutHeaderComponent,\n AXPThemeLayoutBlockComponent,\n AXTreeViewComponent,\n AXPlatformExplorerDetailComponent,\n ],\n providers: [\n PlatformExplorerDataService,\n {\n provide: AXPPageLayoutBase,\n useExisting: AXPlatformExplorerPageComponent,\n },\n ],\n templateUrl: './platform-explorer-page.component.html',\n styleUrl: './platform-explorer-page.component.scss',\n})\nexport class AXPlatformExplorerPageComponent extends AXPPageLayoutBaseComponent {\n protected readonly dataService = inject(PlatformExplorerDataService);\n\n readonly loading = signal(true);\n readonly selectedNode = signal<PlatformExplorerTreeNode | null>(null);\n protected readonly moduleNodes = signal<PlatformExplorerTreeNode[]>([]);\n protected readonly tree = viewChild<AXTreeViewComponent>('tree');\n\n constructor() {\n super();\n this.initializeModules();\n }\n\n /** Datasource for tree: root = modules only; children loaded when module is expanded. */\n protected datasource = async (parentId?: string): Promise<AXTreeViewNode[]> => {\n if (!parentId) {\n const nodes = this.moduleNodes();\n return toTreeViewNodes(nodes, true);\n }\n const children = await this.dataService.getModuleChildren(parentId);\n return toTreeViewNodes(children, false);\n };\n\n private async initializeModules(): Promise<void> {\n this.loading.set(true);\n try {\n const nodes = await this.dataService.buildModulesOnlyFiltered();\n this.moduleNodes.set(nodes);\n } finally {\n this.loading.set(false);\n }\n }\n\n override async getPageTitle(): Promise<string> {\n const node = this.selectedNode();\n if (!node) {\n return this.translateService.translateAsync('@platform-dev-tools:module.title');\n }\n const moduleTitleKey = node.moduleTitle ?? node.label;\n const moduleTitle = await this.translateService.translateAsync(moduleTitleKey);\n const contextParts: string[] = [];\n switch (node.kind) {\n case 'module':\n return moduleTitle;\n case 'entities':\n contextParts.push(await this.translateService.translateAsync('@platform-dev-tools:module.terms.entities'));\n break;\n case 'entity':\n contextParts.push(await this.translateService.translateAsync('@platform-dev-tools:module.terms.entities'));\n contextParts.push(node.label);\n break;\n case 'permissions':\n contextParts.push(await this.translateService.translateAsync('@platform-dev-tools:module.terms.permissions'));\n break;\n case 'features':\n contextParts.push(await this.translateService.translateAsync('@platform-dev-tools:module.terms.features'));\n break;\n default:\n return moduleTitle;\n }\n return [moduleTitle, ...contextParts].join(' - ');\n }\n\n override getPageDescription(): string | null | Promise<string | null> {\n const node = this.selectedNode();\n if (!node) return null;\n const key = this.descriptionKeyForKind(node.kind);\n return key ? this.translateService.translateAsync(key) : null;\n }\n\n override getPageBreadcrumbs(): AXPBreadcrumbItem[] | Promise<AXPBreadcrumbItem[]> {\n const node = this.selectedNode();\n const items: AXPBreadcrumbItem[] = [\n { title: '@platform-dev-tools:module.menus.platform-explorer.title' },\n ];\n if (node?.moduleTitle) {\n items.push({ title: node.moduleTitle });\n }\n return items;\n }\n\n private descriptionKeyForKind(kind: PlatformExplorerTreeNode['kind']): string | null {\n switch (kind) {\n case 'module':\n return '@platform-dev-tools:module.descriptions.module';\n case 'entities':\n return '@platform-dev-tools:module.descriptions.entities';\n case 'entity':\n return '@platform-dev-tools:module.descriptions.entity';\n case 'permissions':\n return '@platform-dev-tools:module.descriptions.permissions';\n case 'features':\n return '@platform-dev-tools:module.descriptions.features';\n default:\n return null;\n }\n }\n\n protected onNodeClick(event: AXTreeViewNodeSelectEvent): void {\n const node = event.node;\n const data = node?.['data'] as { treeNode?: PlatformExplorerTreeNode } | undefined;\n const treeNode = data?.treeNode;\n if (treeNode) {\n this.selectedNode.set(treeNode);\n this.recompute();\n // When a module node is clicked, expand it so the tree loads its children (entities, permissions, features)\n if (treeNode.kind === 'module') {\n const treeRef = this.tree();\n if (treeRef && typeof (treeRef as unknown as { expandNode?: (id: string) => void }).expandNode === 'function') {\n (treeRef as unknown as { expandNode: (id: string) => void }).expandNode(treeNode.id);\n }\n }\n }\n }\n\n protected onNodeToggle(_event: AXTreeViewNodeToggleEvent): void {\n // Tree loads children via datasource(parentId) when a node is expanded; no extra work needed.\n }\n}\n\n//#endregion\n","<axp-page-layout>\n <axp-layout-start-side>\n <axp-layout-header>\n <axp-layout-title>{{ '@platform-dev-tools:module.menus.platform-explorer.title' | translate | async\n }}</axp-layout-title>\n </axp-layout-header>\n <axp-layout-content class=\"axp-platform-explorer__tree-wrap\">\n @if (loading()) {\n <p class=\"axp-platform-explorer__loading\">Loading...</p>\n } @else if (moduleNodes().length === 0) {\n <p class=\"axp-platform-explorer__empty\">{{ '@platform-dev-tools:module.messages.no-modules' | translate | async }}\n </p>\n } @else {\n <ax-tree-view #tree [datasource]=\"datasource\" [selectMode]=\"'single'\" [showIcons]=\"false\"\n [showChildrenBadge]=\"true\" [dragBehavior]=\"'none'\" look=\"default\" [nodeTemplate]=\"nodeTemplate\"\n (onNodeClick)=\"onNodeClick($event)\" (onNodeToggle)=\"onNodeToggle($event)\" />\n }\n </axp-layout-content>\n </axp-layout-start-side>\n\n <axp-page-content class=\"ax-min-h-0 ax-pt-0\">\n @if (selectedNode()) {\n <axp-platform-explorer-detail [node]=\"selectedNode()!\" />\n } @else {\n <p class=\"axp-platform-explorer__hint\">{{ '@platform-dev-tools:module.messages.select-node' | translate | async }}\n </p>\n }\n </axp-page-content>\n</axp-page-layout>\n\n<!-- Node template: icon per kind (with color) + label (translated) + badge -->\n<ng-template #nodeTemplate let-node=\"node\">\n @let data = node['data'];\n @let treeNode = data?.treeNode;\n @let kind = treeNode?.kind;\n @let count = node['childrenCount'] ?? treeNode?.itemCount;\n <span class=\"axp-platform-explorer__node\">\n @switch (kind) {\n @case ('module') {\n <i class=\"axp-platform-explorer__node-icon axp-platform-explorer__node-icon--module fa-light fa-cube\"\n aria-hidden=\"true\"></i>\n }\n @case ('entities') {\n <i class=\"axp-platform-explorer__node-icon axp-platform-explorer__node-icon--entities fa-light fa-table-list\"\n aria-hidden=\"true\"></i>\n }\n @case ('entity') {\n <i class=\"axp-platform-explorer__node-icon axp-platform-explorer__node-icon--entity fa-light fa-table\"\n aria-hidden=\"true\"></i>\n }\n @case ('permissions') {\n <i class=\"axp-platform-explorer__node-icon axp-platform-explorer__node-icon--permissions fa-light fa-shield-halved\"\n aria-hidden=\"true\"></i>\n }\n @case ('features') {\n <i class=\"axp-platform-explorer__node-icon axp-platform-explorer__node-icon--features fa-light fa-sliders\"\n aria-hidden=\"true\"></i>\n }\n @default {\n <i class=\"axp-platform-explorer__node-icon axp-platform-explorer__node-icon--default fa-light fa-circle-dot\"\n aria-hidden=\"true\"></i>\n }\n }\n <span class=\"axp-platform-explorer__node-label\">{{ node['title'] | translate | async }}</span>\n @if (count != null && count > 0) {\n <span class=\"axp-platform-explorer__node-badge\">{{ count }}</span>\n }\n </span>\n</ng-template>","//#region ---- Imports ----\n\n\nimport {\n ChangeDetectionStrategy,\n Component,\n input,\n output,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport { PlatformExplorerTreeNode } from './platform-explorer-tree.model';\n\n//#endregion\n\n//#region ---- Component ----\n\n@Component({\n selector: 'axp-platform-explorer-tree-node',\n standalone: true,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [AXPlatformExplorerTreeNodeComponent],\n template: `\n <div class=\"axp-tree-node\" [class.axp-tree-node--selected]=\"isSelected()\">\n <button\n type=\"button\"\n class=\"axp-tree-node__toggler\"\n [class.axp-tree-node__toggler--open]=\"expanded()\"\n [attr.aria-expanded]=\"expanded()\"\n (click)=\"toggle()\"\n >\n @if (hasChildren()) {\n <span class=\"axp-tree-node__icon\" aria-hidden=\"true\">{{ expanded() ? '▼' : '▶' }}</span>\n } @else {\n <span class=\"axp-tree-node__icon axp-tree-node__icon--empty\"></span>\n }\n </button>\n <button\n type=\"button\"\n class=\"axp-tree-node__label\"\n (click)=\"select()\"\n >\n {{ node().label }}\n @if (childrenLength() > 0) {\n <span class=\"axp-tree-node__badge\">({{ childrenLength() }})</span>\n }\n </button>\n </div>\n @if (hasChildren() && expanded()) {\n <div class=\"axp-tree-node__children\">\n @for (child of node().children ?? []; track child.id) {\n <axp-platform-explorer-tree-node\n [node]=\"child\"\n [selectedId]=\"selectedId()\"\n (nodeSelect)=\"nodeSelect.emit($event)\"\n />\n }\n </div>\n }\n `,\n styles: [\n `\n :host {\n display: block;\n }\n .axp-tree-node {\n display: flex;\n align-items: center;\n min-height: 28px;\n }\n .axp-tree-node--selected .axp-tree-node__label {\n font-weight: 600;\n background: var(--ax-neutral-surface-hover, rgba(0, 0, 0, 0.04));\n }\n .axp-tree-node__toggler {\n width: 24px;\n height: 28px;\n padding: 0;\n border: none;\n background: none;\n cursor: pointer;\n color: var(--ax-neutral-text-secondary, #666);\n flex-shrink: 0;\n }\n .axp-tree-node__toggler--open .axp-tree-node__icon {\n transform: rotate(0);\n }\n .axp-tree-node__icon {\n font-size: 10px;\n display: inline-block;\n }\n .axp-tree-node__icon--empty {\n width: 10px;\n }\n .axp-tree-node__label {\n flex: 1;\n text-align: start;\n padding: 4px 8px;\n border: none;\n background: none;\n cursor: pointer;\n font-size: 13px;\n border-radius: 4px;\n }\n .axp-tree-node__label:hover {\n background: var(--ax-neutral-surface-hover, rgba(0, 0, 0, 0.04));\n }\n .axp-tree-node__badge {\n margin-inline-start: 4px;\n font-size: 11px;\n color: var(--ax-neutral-text-secondary, #666);\n font-weight: normal;\n }\n .axp-tree-node__children {\n padding-inline-start: 16px;\n }\n `,\n ],\n})\nexport class AXPlatformExplorerTreeNodeComponent {\n node = input.required<PlatformExplorerTreeNode>();\n selectedId = input<string | null>(null);\n nodeSelect = output<PlatformExplorerTreeNode>();\n\n readonly expanded = signal(true);\n\n childrenLength(): number {\n return this.node().children?.length ?? 0;\n }\n\n hasChildren(): boolean {\n const children = this.node().children;\n return !!children && children.length > 0;\n }\n\n isSelected(): boolean {\n return this.selectedId() === this.node().id;\n }\n\n toggle(): void {\n if (this.hasChildren()) {\n this.expanded.update((v) => !v);\n }\n }\n\n select(): void {\n this.nodeSelect.emit(this.node());\n }\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXP_MODULE_MANIFEST_PROVIDER } from '@acorex/platform/core';\nimport { AXP_MENU_PROVIDER, AXP_SETTING_DEFINITION_PROVIDER } from '@acorex/platform/common';\nimport { AXPAuthGuard } from '@acorex/platform/auth';\nimport { AXPRootLayoutComponent } from '@acorex/platform/themes/default';\nimport { NgModule } from '@angular/core';\nimport { ROUTES, Routes } from '@angular/router';\nimport { PlatformDevToolsManifest } from './manifest';\nimport { AXMPlatformDevToolsMenuProvider } from './menu.provider';\nimport { AXPPlatformDevToolsSettingProvider } from './settings.provider';\nimport { AXPlatformExplorerPageComponent } from './features/platform-explorer';\n\n//#endregion\n\n//#region ---- Routes ----\n\nfunction routesFactory(): Routes {\n return [\n {\n path: ':app/dev/platform-explorer',\n canActivate: [AXPAuthGuard],\n loadComponent: () => AXPRootLayoutComponent,\n children: [\n {\n path: '',\n loadComponent: () => AXPlatformExplorerPageComponent,\n data: { reuse: true },\n },\n ],\n },\n ];\n}\n\n//#endregion\n\n//#region ---- Module ----\n\n@NgModule({\n imports: [],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXP_MODULE_MANIFEST_PROVIDER,\n useValue: PlatformDevToolsManifest,\n multi: true,\n },\n {\n provide: AXP_MENU_PROVIDER,\n useClass: AXMPlatformDevToolsMenuProvider,\n multi: true,\n },\n {\n provide: AXP_SETTING_DEFINITION_PROVIDER,\n useClass: AXPPlatformDevToolsSettingProvider,\n multi: true,\n },\n {\n provide: ROUTES,\n multi: true,\n useFactory: routesFactory,\n },\n ],\n})\nexport class AXMPlatformDevToolsModule {}\n\n//#endregion\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","i3"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"acorex-modules-platform-dev-tools.mjs","sources":["../../../../libs/modules/platform-dev-tools/src/lib/const.ts","../../../../libs/modules/platform-dev-tools/src/lib/manifest.ts","../../../../libs/modules/platform-dev-tools/src/lib/features/platform-explorer/platform-explorer-tree.model.ts","../../../../libs/modules/platform-dev-tools/src/lib/features/platform-explorer/platform-explorer-data.service.ts","../../../../libs/modules/platform-dev-tools/src/lib/features/platform-explorer/detail/platform-explorer-module-detail.component.ts","../../../../libs/modules/platform-dev-tools/src/lib/features/platform-explorer/detail/platform-explorer-entity-detail.component.ts","../../../../libs/modules/platform-dev-tools/src/lib/features/platform-explorer/detail/platform-explorer-permissions-list-detail.component.ts","../../../../libs/modules/platform-dev-tools/src/lib/features/platform-explorer/detail/platform-explorer-features-list-detail.component.ts","../../../../libs/modules/platform-dev-tools/src/lib/features/platform-explorer/platform-explorer-detail.component.ts","../../../../libs/modules/platform-dev-tools/src/lib/features/platform-explorer/platform-explorer-page.component.ts","../../../../libs/modules/platform-dev-tools/src/lib/features/platform-explorer/platform-explorer-page.component.html","../../../../libs/modules/platform-dev-tools/src/lib/features/platform-explorer/platform-explorer-tree-node.component.ts","../../../../libs/modules/platform-dev-tools/src/lib/platform-dev-tools.module.ts","../../../../libs/modules/platform-dev-tools/src/lib/settings.keys.ts","../../../../libs/modules/platform-dev-tools/src/acorex-modules-platform-dev-tools.ts"],"sourcesContent":["//#region ---- Config ----\n\nconst config = {\n i18n: 'platform-dev-tools',\n};\n\nexport const RootConfig = {\n config,\n module: {\n route: 'dev',\n module: 'platform-dev-tools',\n name: 'PlatformDevTools',\n title: '@platform-dev-tools:module.title',\n icon: 'fa-light fa-wrench',\n },\n};\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXPModuleManifest } from '@acorex/platform/core';\nimport { RootConfig } from './const';\n\n//#endregion\n\n//#region ---- Manifest Definition ----\n\n/**\n * Platform Dev Tools Module Manifest.\n * Development-only module for exploring platform structure (modules, entities, permissions, features).\n */\nexport const PlatformDevToolsManifest: AXPModuleManifest = {\n name: RootConfig.module.name,\n version: '1.0.0',\n title: RootConfig.module.title,\n icon: RootConfig.module.icon,\n i18n: RootConfig.config.i18n,\n description: '@platform-dev-tools:module.description',\n required: false,\n};\n\n//#endregion\n","//#region ---- Tree node types ----\n\nexport type PlatformExplorerNodeKind =\n | 'module'\n | 'entities'\n | 'entity'\n | 'permissions'\n | 'permission'\n | 'features'\n | 'feature';\n\nexport interface PlatformExplorerTreeNode {\n id: string;\n kind: PlatformExplorerNodeKind;\n label: string;\n moduleName?: string;\n /** i18n key for the module title (used for page title and breadcrumbs) */\n moduleTitle?: string;\n children?: PlatformExplorerTreeNode[];\n /** Optional payload for detail view */\n payload?: unknown;\n /** Item count for badge (e.g. entities count, permissions count, features count) */\n itemCount?: number;\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXPEntityResolver } from '@acorex/platform/layout/entity';\nimport { AXPModuleManifestRegistry } from '@acorex/platform/core';\nimport { AXPPermissionDefinitionService } from '@acorex/platform/auth';\nimport { inject, Injectable } from '@angular/core';\nimport {\n PlatformExplorerTreeNode,\n} from './platform-explorer-tree.model';\nimport type { AXPFeatureDefinition } from '@acorex/platform/core';\nimport type { AXPPermissionDefinition, AXPPermissionGroupDefinition } from '@acorex/platform/auth';\n\n//#endregion\n\n//#region ---- Service ----\n\n@Injectable()\nexport class PlatformExplorerDataService {\n private readonly manifestRegistry = inject(AXPModuleManifestRegistry);\n private readonly entityResolver = inject(AXPEntityResolver);\n private readonly permissionService = inject(AXPPermissionDefinitionService);\n\n /**\n * Build only root-level module nodes (no children). Children are loaded on expand via getModuleChildren.\n * Includes all modules; use buildModulesOnlyFiltered() to exclude modules with no entities/permissions/features.\n */\n async buildModulesOnly(): Promise<PlatformExplorerTreeNode[]> {\n await this.manifestRegistry.initialize();\n const modules = this.manifestRegistry.getAll();\n const tree: PlatformExplorerTreeNode[] = modules.map((mod) => ({\n id: `module-${mod.name}`,\n kind: 'module' as const,\n label: mod.title,\n moduleName: mod.name,\n moduleTitle: mod.title,\n payload: mod,\n children: [],\n }));\n tree.sort((a, b) => {\n const nameA = (a.payload as { name?: string })?.name ?? a.moduleName ?? '';\n const nameB = (b.payload as { name?: string })?.name ?? b.moduleName ?? '';\n return nameA.localeCompare(nameB, undefined, { sensitivity: 'base' });\n });\n return tree;\n }\n\n /**\n * Build root-level module nodes, excluding modules that have no entities, permissions, or features.\n * Each module node gets itemCount = number of non-empty subcategories (for badge).\n */\n async buildModulesOnlyFiltered(): Promise<PlatformExplorerTreeNode[]> {\n const all = await this.buildModulesOnly();\n const filtered: PlatformExplorerTreeNode[] = [];\n for (const modNode of all) {\n const children = await this.getModuleChildren(modNode.id);\n if (children.length > 0) {\n filtered.push({\n ...modNode,\n itemCount: children.length,\n });\n }\n }\n return filtered;\n }\n\n /**\n * Load entities, permissions, and features for a module (called when module node is expanded or clicked).\n * Only includes subcategories that have at least one item. Returns empty array if module has no items.\n */\n async getModuleChildren(moduleId: string): Promise<PlatformExplorerTreeNode[]> {\n const moduleName = moduleId.startsWith('module-') ? moduleId.slice(7) : moduleId;\n const mod = this.manifestRegistry.get(moduleName);\n if (!mod) return [];\n const moduleTitle = mod.title;\n const [allEntries, permissions, features] = await Promise.all([\n this.entityResolver.listAll(),\n this.getPermissionsForModule(moduleName),\n Promise.resolve(this.getFeaturesForModule(moduleName)),\n ]);\n const moduleEntities = allEntries.filter((e) => e.module === moduleName);\n const permissionsCount = permissions.length;\n const featuresCount = features.length;\n const nodes: PlatformExplorerTreeNode[] = [];\n if (moduleEntities.length > 0) {\n nodes.push({\n id: `module-${moduleName}-entities`,\n kind: 'entities',\n label: '@platform-dev-tools:module.terms.entities',\n moduleName,\n moduleTitle,\n itemCount: moduleEntities.length,\n children: moduleEntities.map((e) => ({\n id: `entity-${moduleName}-${e.name}`,\n kind: 'entity' as const,\n label: e.name,\n moduleName,\n moduleTitle,\n payload: e,\n })),\n });\n }\n if (permissionsCount > 0) {\n nodes.push({\n id: `module-${moduleName}-permissions`,\n kind: 'permissions',\n label: '@platform-dev-tools:module.terms.permissions',\n moduleName,\n moduleTitle,\n itemCount: permissionsCount,\n });\n }\n if (featuresCount > 0) {\n nodes.push({\n id: `module-${moduleName}-features`,\n kind: 'features',\n label: '@platform-dev-tools:module.terms.features',\n moduleName,\n moduleTitle,\n itemCount: featuresCount,\n });\n }\n return nodes;\n }\n\n /**\n * Get all permissions for a module (for display in module detail).\n */\n async getPermissionsForModule(moduleName: string): Promise<AXPPermissionDefinition[]> {\n const groups = await this.permissionService.getGroups();\n return this.collectPermissionsForModule(groups, moduleName);\n }\n\n /**\n * Get all features for a module (for display in module detail).\n */\n getFeaturesForModule(moduleName: string): AXPFeatureDefinition[] {\n return this.manifestRegistry.getModuleFeatures(moduleName);\n }\n\n private collectPermissionsForModule(\n groups: AXPPermissionGroupDefinition[],\n moduleName: string\n ): AXPPermissionDefinition[] {\n const prefix = `${moduleName}:`;\n const out: AXPPermissionDefinition[] = [];\n const collect = (items: AXPPermissionDefinition[]) => {\n for (const p of items) {\n if (p.name.startsWith(prefix)) out.push(p);\n if (p.children?.length) collect(p.children);\n }\n };\n for (const g of groups) {\n if (g.name === moduleName) collect(g.permissions);\n }\n return out;\n }\n}\n\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, input, ViewEncapsulation } from '@angular/core';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport type { AXPModuleManifest } from '@acorex/platform/core';\n\n//#endregion\n\n@Component({\n selector: 'axp-platform-explorer-module-detail',\n standalone: true,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXTranslationModule],\n template: `\n @if (payload()) {\n <section class=\"axp-module-detail\">\n <h3 class=\"axp-module-detail__section-title\">\n {{ '@platform-dev-tools:module.terms.module-info' | translate | async }}\n </h3>\n <dl class=\"axp-detail-dl\">\n <dt>\n {{ '@platform-dev-tools:module.terms.name' | translate | async }}\n </dt>\n <dd>{{ payload()!.name }}</dd>\n\n <dt>\n {{ '@platform-dev-tools:module.terms.version' | translate | async }}\n </dt>\n <dd>{{ payload()!.version }}</dd>\n\n <dt>\n {{ '@platform-dev-tools:module.terms.title' | translate | async }}\n </dt>\n <dd>{{ payload()!.title }}</dd>\n\n @if (payload()!.description) {\n <dt>\n {{ '@platform-dev-tools:module.terms.description' | translate | async }}\n </dt>\n <dd>{{ payload()!.description }}</dd>\n }\n\n @if (payload()!.i18n) {\n <dt>i18n</dt>\n <dd>{{ payload()!.i18n }}</dd>\n }\n\n @if (payload()!.required !== undefined) {\n <dt>\n {{ '@platform-dev-tools:module.terms.required' | translate | async }}\n </dt>\n <dd>{{ payload()!.required }}</dd>\n }\n </dl>\n </section>\n }\n `,\n styles: [\n `\n .axp-module-detail { margin-bottom: 24px; }\n .axp-module-detail__section-title { margin: 0 0 12px 0; font-size: 15px; font-weight: 600; }\n .axp-detail-dl { display: grid; grid-template-columns: auto 1fr; gap: 4px 16px; margin: 0; }\n .axp-detail-dl dt { font-weight: 600; color: var(--ax-neutral-text-secondary, #666); }\n .axp-detail-dl dd { margin: 0; }\n `,\n ],\n})\nexport class AXPlatformExplorerModuleDetailComponent {\n payload = input<AXPModuleManifest | undefined>();\n}\n","//#region ---- Imports ----\n\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, effect, inject, input, signal, ViewEncapsulation } from '@angular/core';\nimport type { AXPEntity } from '@acorex/platform/common';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPEntityResolver } from '@acorex/platform/layout/entity';\nimport type { AXPEntityListEntry } from '@acorex/platform/layout/entity';\n\n//#endregion\n\nfunction isListEntry(p: AXPEntity | AXPEntityListEntry): p is AXPEntityListEntry {\n return p != null && 'fullName' in p && !('properties' in p);\n}\n\n@Component({\n selector: 'axp-platform-explorer-entity-detail',\n standalone: true,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXTranslationModule],\n host: { class: 'ax-flex ax-flex-col ax-flex-1 ax-min-h-0' },\n template: `\n <div class=\"ax-flex ax-flex-col ax-flex-1 ax-min-h-0 ax-pt-0 ax-overflow-auto\">\n @if (entity(); as e) {\n <dl class=\"ax-grid ax-grid-cols-[auto_1fr] ax-gap-x-4 ax-gap-y-1 ax-mb-3 ax-m-0\">\n <dt class=\"ax-font-semibold ax-text-muted\">{{ '@platform-dev-tools:module.terms.module' | translate | async }}</dt><dd class=\"ax-m-0\">{{ e.module }}</dd>\n <dt class=\"ax-font-semibold ax-text-muted\">{{ '@platform-dev-tools:module.terms.name' | translate | async }}</dt><dd class=\"ax-m-0\">{{ e.name }}</dd>\n @if (e.title) {\n <dt class=\"ax-font-semibold ax-text-muted\">{{ '@platform-dev-tools:module.terms.title' | translate | async }}</dt><dd class=\"ax-m-0\">{{ e.title | translate | async}}</dd>\n }\n @if (e.formats.plural) {\n <dt class=\"ax-font-semibold ax-text-muted\">{{ '@platform-dev-tools:module.terms.plural' | translate | async }}</dt><dd class=\"ax-m-0\">{{ e.formats.plural | translate | async}}</dd>\n }\n </dl>\n @if (e.properties && e.properties.length > 0) {\n <p class=\"ax-mb-2 ax-mt-3 ax-font-bold\">{{ '@platform-dev-tools:module.terms.properties' | translate | async }} ({{ e.properties.length }})</p>\n <div class=\"ax-flex-1 ax-min-h-0 ax-overflow-auto ax-border ax-border-lightest ax-rounded-md\">\n <table class=\"ax-w-full ax-border-collapse ax-text-[13px]\">\n <thead>\n <tr>\n <th class=\"ax-text-start ax-p-2 ax-px-3 ax-bg-lighter ax-font-semibold ax-border-b ax-border-lightest\">{{ '@platform-dev-tools:module.terms.name' | translate | async }}</th>\n <th class=\"ax-text-start ax-p-2 ax-px-3 ax-bg-lighter ax-font-semibold ax-border-b ax-border-lightest\">{{ '@platform-dev-tools:module.terms.title' | translate | async }}</th>\n <th class=\"ax-text-start ax-p-2 ax-px-3 ax-bg-lighter ax-font-semibold ax-border-b ax-border-lightest\">{{ '@platform-dev-tools:module.terms.type' | translate | async }}</th>\n <th class=\"ax-text-start ax-p-2 ax-px-3 ax-bg-lighter ax-font-semibold ax-border-b ax-border-lightest\">{{ '@platform-dev-tools:module.terms.description' | translate | async }}</th>\n </tr>\n </thead>\n <tbody class=\"axp-entity-detail-tbody\">\n @for (p of e.properties; track p.name) {\n <tr>\n <td class=\"ax-p-2 ax-px-3 ax-border-b ax-border-lightest\"><code class=\"ax-text-xs ax-bg-lighter ax-px-1.5 ax-py-0.5 ax-rounded\">{{ p.name }}</code></td>\n <td class=\"ax-p-2 ax-px-3 ax-border-b ax-border-lightest\">{{ p.title | translate | async }}</td>\n <td class=\"ax-p-2 ax-px-3 ax-border-b ax-border-lightest\">{{ p.schema.dataType }}</td>\n <td class=\"ax-p-2 ax-px-3 ax-border-b ax-border-lightest\">@if (p.description) { {{ p.description | translate | async }} } @else { – }</td>\n </tr>\n }\n </tbody>\n </table>\n </div>\n }\n } @else if (loading()) {\n <p class=\"ax-m-0 ax-text-muted\">{{ '@platform-dev-tools:module.terms.loading-entity' | translate | async }}</p>\n }\n </div>\n `,\n styles: [\n `\n .axp-entity-detail-tbody tr:last-child td { border-bottom: none; }\n `,\n ],\n})\nexport class AXPlatformExplorerEntityDetailComponent {\n payload = input<AXPEntity | AXPEntityListEntry | undefined>();\n\n protected readonly entity = signal<AXPEntity | null>(null);\n protected readonly loading = signal(false);\n\n private readonly entityResolver = inject(AXPEntityResolver);\n\n constructor() {\n effect(() => {\n const p = this.payload();\n if (!p) {\n this.entity.set(null);\n this.loading.set(false);\n return;\n }\n if (isListEntry(p)) {\n this.loading.set(true);\n this.entity.set(null);\n this.entityResolver.get(p.module, p.name).then((e) => {\n if (this.payload() === p) {\n this.entity.set(e ?? null);\n }\n this.loading.set(false);\n });\n } else {\n this.entity.set(p);\n this.loading.set(false);\n }\n });\n }\n}\n","//#region ---- Imports ----\n\nimport { CommonModule } from '@angular/common';\nimport { AXDataSource, AXDataSourceQuery } from '@acorex/cdk/common';\nimport { AXDataTableModule } from '@acorex/components/data-table';\nimport {\n ChangeDetectionStrategy,\n Component,\n effect,\n inject,\n input,\n ViewEncapsulation,\n} from '@angular/core';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport type { AXPPermissionDefinition } from '@acorex/platform/auth';\nimport { PlatformExplorerDataService } from '../platform-explorer-data.service';\n\n//#endregion\n\n@Component({\n selector: 'axp-platform-explorer-permissions-list-detail',\n standalone: true,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXDataTableModule, AXTranslationModule],\n host: { class: 'ax-flex ax-flex-col ax-flex-1 ax-min-h-0' },\n template: `\n <div class=\"ax-flex ax-flex-1 ax-min-h-0 ax-pt-0 ax-overflow-auto\">\n <ax-data-table\n class=\"ax-flex-1 ax-border ax-border-lightest ax-rounded-md ax-overflow-hidden\"\n [paging]=\"true\"\n [allowReordering]=\"true\"\n [dataSource]=\"dataSource\"\n >\n <ax-text-column [dataField]=\"'name'\" [caption]=\"'@platform-dev-tools:module.terms.name' | translate | async\" [width]=\"'420px'\" [allowResizing]=\"true\"></ax-text-column>\n <ax-text-column [dataField]=\"'title'\" [caption]=\"'@platform-dev-tools:module.terms.title' | translate | async\" [cellTemplate]=\"titleTpl\" [width]=\"'260px'\" [allowResizing]=\"true\"></ax-text-column>\n <ax-text-column [dataField]=\"'description'\" [caption]=\"'@platform-dev-tools:module.terms.description' | translate | async\" [cellTemplate]=\"descTpl\" [width]=\"'380px'\" [allowResizing]=\"true\"></ax-text-column>\n </ax-data-table>\n </div>\n <ng-template #titleTpl let-item>\n {{ item.data?.title | translate | async }}</ng-template>\n <ng-template #descTpl let-item>\n @if (item.data?.description) { {{ item.data.description | translate | async }} } @else { – }\n </ng-template>\n `,\n})\nexport class AXPlatformExplorerPermissionsListDetailComponent {\n moduleName = input.required<string>();\n private readonly dataService = inject(PlatformExplorerDataService);\n\n readonly dataSource = new AXDataSource<AXPPermissionDefinition>({\n key: 'name',\n pageSize: 20,\n load: async (e: AXDataSourceQuery) => {\n const name = this.moduleName();\n if (!name) return { items: [], total: 0 };\n const list = await this.dataService.getPermissionsForModule(name);\n const skip = e?.skip ?? 0;\n const take = e?.take ?? 20;\n const items = list.slice(skip, skip + take);\n return { items, total: list.length };\n },\n });\n\n constructor() {\n effect(() => {\n this.moduleName();\n this.dataSource.refresh();\n });\n }\n}\n","//#region ---- Imports ----\n\nimport { CommonModule } from '@angular/common';\nimport { AXDataSource, AXDataSourceQuery } from '@acorex/cdk/common';\nimport { AXDataTableModule } from '@acorex/components/data-table';\nimport {\n ChangeDetectionStrategy,\n Component,\n effect,\n inject,\n input,\n ViewEncapsulation,\n} from '@angular/core';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport type { AXPFeatureDefinition } from '@acorex/platform/core';\nimport { PlatformExplorerDataService } from '../platform-explorer-data.service';\n\n//#endregion\n\n@Component({\n selector: 'axp-platform-explorer-features-list-detail',\n standalone: true,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXDataTableModule, AXTranslationModule],\n host: { class: 'ax-flex ax-flex-col ax-flex-1 ax-min-h-0' },\n template: `\n <div class=\"ax-flex ax-flex-1 ax-min-h-0 ax-pt-0 ax-overflow-auto\">\n <ax-data-table\n class=\"ax-flex-1 ax-border ax-border-lightest ax-rounded-md ax-overflow-hidden\"\n [paging]=\"true\"\n [allowReordering]=\"true\"\n [dataSource]=\"dataSource\"\n >\n <ax-text-column dataField=\"key\" [caption]=\"'@platform-dev-tools:module.terms.key' | translate | async\" [width]=\"'240px'\" [allowResizing]=\"true\"></ax-text-column>\n <ax-text-column dataField=\"title\" [caption]=\"'@platform-dev-tools:module.terms.title' | translate | async\" [cellTemplate]=\"titleTpl\" [width]=\"'280px'\" [allowResizing]=\"true\"></ax-text-column>\n <ax-text-column dataField=\"type\" caption=\"Type\" [width]=\"'100px'\" [cellTemplate]=\"typeTpl\" [allowResizing]=\"true\"></ax-text-column>\n <ax-text-column dataField=\"description\" [caption]=\"'@platform-dev-tools:module.terms.description' | translate | async\" [cellTemplate]=\"descTpl\" [width]=\"'340px'\" [allowResizing]=\"true\"></ax-text-column>\n <ax-text-column dataField=\"defaultValue\" [caption]=\"'@platform-dev-tools:module.terms.default-value' | translate | async\" [width]=\"'140px'\" [allowResizing]=\"true\"></ax-text-column>\n </ax-data-table>\n </div>\n <ng-template #titleTpl let-item>{{ item.data?.title | translate | async }}</ng-template>\n <ng-template #typeTpl let-item>{{ item.data?.type ?? '–' }}</ng-template>\n <ng-template #descTpl let-item>@if (item.data?.description) { {{ item.data.description | translate | async }} } @else { – }</ng-template>\n `,\n})\nexport class AXPlatformExplorerFeaturesListDetailComponent {\n moduleName = input.required<string>();\n private readonly dataService = inject(PlatformExplorerDataService);\n\n readonly dataSource = new AXDataSource<AXPFeatureDefinition>({\n key: 'name',\n pageSize: 20,\n load: (e: AXDataSourceQuery) => {\n const name = this.moduleName();\n if (!name) return Promise.resolve({ items: [], total: 0 });\n const list = this.dataService.getFeaturesForModule(name);\n const skip = e?.skip ?? 0;\n const take = e?.take ?? 20;\n const items = list.slice(skip, skip + take);\n return Promise.resolve({ items, total: list.length });\n },\n });\n\n constructor() {\n effect(() => {\n this.moduleName();\n this.dataSource.refresh();\n });\n }\n}\n","//#region ---- Imports ----\n\n\nimport { ChangeDetectionStrategy, Component, input, ViewEncapsulation } from '@angular/core';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { PlatformExplorerTreeNode } from './platform-explorer-tree.model';\nimport { AXPlatformExplorerModuleDetailComponent } from './detail/platform-explorer-module-detail.component';\nimport { AXPlatformExplorerEntityDetailComponent } from './detail/platform-explorer-entity-detail.component';\nimport { AXPlatformExplorerPermissionsListDetailComponent } from './detail/platform-explorer-permissions-list-detail.component';\nimport { AXPlatformExplorerFeaturesListDetailComponent } from './detail/platform-explorer-features-list-detail.component';\n\n//#endregion\n\n//#region ---- Component ----\n\n@Component({\n selector: 'axp-platform-explorer-detail',\n standalone: true,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { class: 'ax-flex ax-flex-col ax-flex-1 ax-min-h-0' },\n imports: [\n AXTranslationModule,\n AXPlatformExplorerModuleDetailComponent,\n AXPlatformExplorerEntityDetailComponent,\n AXPlatformExplorerPermissionsListDetailComponent,\n AXPlatformExplorerFeaturesListDetailComponent\n],\n template: `\n <div class=\"ax-flex ax-flex-col ax-flex-1 ax-min-h-0\">\n @switch (node().kind) {\n @case ('module') {\n <axp-platform-explorer-module-detail [payload]=\"$any(node().payload)\" />\n }\n @case ('entity') {\n <axp-platform-explorer-entity-detail [payload]=\"$any(node().payload)\" />\n }\n @case ('permissions') {\n <axp-platform-explorer-permissions-list-detail [moduleName]=\"node().moduleName!\" />\n }\n @case ('features') {\n <axp-platform-explorer-features-list-detail [moduleName]=\"node().moduleName!\" />\n }\n @default {\n <p class=\"axp-detail__hint\">{{ node().children?.length ?? 0 }} items.</p>\n }\n }\n </div>\n `,\n styles: [\n `\n .axp-detail__hint { margin: 0; color: var(--ax-neutral-text-secondary, #666); }\n `,\n ],\n})\nexport class AXPlatformExplorerDetailComponent {\n node = input.required<PlatformExplorerTreeNode>();\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n inject,\n signal,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport {\n AXTreeViewComponent,\n AXTreeViewNode,\n AXTreeViewNodeSelectEvent,\n AXTreeViewNodeToggleEvent,\n} from '@acorex/components/tree-view';\nimport { AXPBreadcrumbItem } from '@acorex/platform/core';\nimport {\n AXPPageLayoutBase,\n AXPPageLayoutBaseComponent,\n AXPPageLayoutComponent,\n} from '@acorex/platform/layout/views';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport {\n AXPThemeLayoutBlockComponent,\n AXPThemeLayoutHeaderComponent,\n AXPThemeLayoutStartSideComponent,\n} from '@acorex/platform/layout/components';\nimport { PlatformExplorerDataService } from './platform-explorer-data.service';\nimport { PlatformExplorerTreeNode } from './platform-explorer-tree.model';\nimport { AXPlatformExplorerDetailComponent } from './platform-explorer-detail.component';\n\n//#endregion\n\n//#region ---- Convert tree to AXTreeViewNode ----\n\nfunction toTreeViewNodes(\n nodes: PlatformExplorerTreeNode[],\n markModuleExpandable = false\n): AXTreeViewNode[] {\n return nodes.map((n) => {\n const children = n.children ?? [];\n const hasChildren = children.length > 0;\n const axNode: AXTreeViewNode = {\n id: n.id,\n title: n.label,\n children: hasChildren ? toTreeViewNodes(children, false) : undefined,\n data: { treeNode: n },\n };\n if (markModuleExpandable && n.kind === 'module' && !hasChildren) {\n (axNode as Record<string, unknown>)['childrenCount'] = 3;\n }\n return axNode;\n });\n}\n\n//#endregion\n\n//#region ---- Component ----\n\n@Component({\n selector: 'axp-platform-explorer-page',\n standalone: true,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n AXTranslationModule,\n AXPPageLayoutComponent,\n AXPThemeLayoutStartSideComponent,\n AXPThemeLayoutHeaderComponent,\n AXPThemeLayoutBlockComponent,\n AXTreeViewComponent,\n AXPlatformExplorerDetailComponent,\n ],\n providers: [\n PlatformExplorerDataService,\n {\n provide: AXPPageLayoutBase,\n useExisting: AXPlatformExplorerPageComponent,\n },\n ],\n templateUrl: './platform-explorer-page.component.html',\n styleUrl: './platform-explorer-page.component.scss',\n})\nexport class AXPlatformExplorerPageComponent extends AXPPageLayoutBaseComponent {\n protected readonly dataService = inject(PlatformExplorerDataService);\n\n readonly loading = signal(true);\n readonly selectedNode = signal<PlatformExplorerTreeNode | null>(null);\n protected readonly moduleNodes = signal<PlatformExplorerTreeNode[]>([]);\n protected readonly tree = viewChild<AXTreeViewComponent>('tree');\n\n constructor() {\n super();\n this.initializeModules();\n }\n\n /** Datasource for tree: root = modules only; children loaded when module is expanded. */\n protected datasource = async (parentId?: string): Promise<AXTreeViewNode[]> => {\n if (!parentId) {\n const nodes = this.moduleNodes();\n return toTreeViewNodes(nodes, true);\n }\n const children = await this.dataService.getModuleChildren(parentId);\n return toTreeViewNodes(children, false);\n };\n\n private async initializeModules(): Promise<void> {\n this.loading.set(true);\n try {\n const nodes = await this.dataService.buildModulesOnlyFiltered();\n this.moduleNodes.set(nodes);\n } finally {\n this.loading.set(false);\n }\n }\n\n override async getPageTitle(): Promise<string> {\n const node = this.selectedNode();\n if (!node) {\n return this.translateService.translateAsync('@platform-dev-tools:module.title');\n }\n const moduleTitleKey = node.moduleTitle ?? node.label;\n const moduleTitle = await this.translateService.translateAsync(moduleTitleKey);\n const contextParts: string[] = [];\n switch (node.kind) {\n case 'module':\n return moduleTitle;\n case 'entities':\n contextParts.push(await this.translateService.translateAsync('@platform-dev-tools:module.terms.entities'));\n break;\n case 'entity':\n contextParts.push(await this.translateService.translateAsync('@platform-dev-tools:module.terms.entities'));\n contextParts.push(node.label);\n break;\n case 'permissions':\n contextParts.push(await this.translateService.translateAsync('@platform-dev-tools:module.terms.permissions'));\n break;\n case 'features':\n contextParts.push(await this.translateService.translateAsync('@platform-dev-tools:module.terms.features'));\n break;\n default:\n return moduleTitle;\n }\n return [moduleTitle, ...contextParts].join(' - ');\n }\n\n override getPageDescription(): string | null | Promise<string | null> {\n const node = this.selectedNode();\n if (!node) return null;\n const key = this.descriptionKeyForKind(node.kind);\n return key ? this.translateService.translateAsync(key) : null;\n }\n\n override getPageBreadcrumbs(): AXPBreadcrumbItem[] | Promise<AXPBreadcrumbItem[]> {\n const node = this.selectedNode();\n const items: AXPBreadcrumbItem[] = [\n { title: '@platform-dev-tools:module.menus.platform-explorer.title' },\n ];\n if (node?.moduleTitle) {\n items.push({ title: node.moduleTitle });\n }\n return items;\n }\n\n private descriptionKeyForKind(kind: PlatformExplorerTreeNode['kind']): string | null {\n switch (kind) {\n case 'module':\n return '@platform-dev-tools:module.descriptions.module';\n case 'entities':\n return '@platform-dev-tools:module.descriptions.entities';\n case 'entity':\n return '@platform-dev-tools:module.descriptions.entity';\n case 'permissions':\n return '@platform-dev-tools:module.descriptions.permissions';\n case 'features':\n return '@platform-dev-tools:module.descriptions.features';\n default:\n return null;\n }\n }\n\n protected onNodeClick(event: AXTreeViewNodeSelectEvent): void {\n const node = event.node;\n const data = node?.['data'] as { treeNode?: PlatformExplorerTreeNode } | undefined;\n const treeNode = data?.treeNode;\n if (treeNode) {\n this.selectedNode.set(treeNode);\n this.recompute();\n // When a module node is clicked, expand it so the tree loads its children (entities, permissions, features)\n if (treeNode.kind === 'module') {\n const treeRef = this.tree();\n if (treeRef && typeof (treeRef as unknown as { expandNode?: (id: string) => void }).expandNode === 'function') {\n (treeRef as unknown as { expandNode: (id: string) => void }).expandNode(treeNode.id);\n }\n }\n }\n }\n\n protected onNodeToggle(_event: AXTreeViewNodeToggleEvent): void {\n // Tree loads children via datasource(parentId) when a node is expanded; no extra work needed.\n }\n}\n\n//#endregion\n","<axp-page-layout>\n <axp-layout-start-side>\n <axp-layout-header>\n <axp-layout-title>{{ '@platform-dev-tools:module.menus.platform-explorer.title' | translate | async\n }}</axp-layout-title>\n </axp-layout-header>\n <axp-layout-content class=\"axp-platform-explorer__tree-wrap\">\n @if (loading()) {\n <p class=\"axp-platform-explorer__loading\">Loading...</p>\n } @else if (moduleNodes().length === 0) {\n <p class=\"axp-platform-explorer__empty\">{{ '@platform-dev-tools:module.messages.no-modules' | translate | async }}\n </p>\n } @else {\n <ax-tree-view #tree [datasource]=\"datasource\" [selectMode]=\"'single'\" [showIcons]=\"false\"\n [showChildrenBadge]=\"true\" [dragBehavior]=\"'none'\" look=\"default\" [nodeTemplate]=\"nodeTemplate\"\n (onNodeClick)=\"onNodeClick($event)\" (onNodeToggle)=\"onNodeToggle($event)\" />\n }\n </axp-layout-content>\n </axp-layout-start-side>\n\n <axp-page-content class=\"ax-min-h-0 ax-pt-0\">\n @if (selectedNode()) {\n <axp-platform-explorer-detail [node]=\"selectedNode()!\" />\n } @else {\n <p class=\"axp-platform-explorer__hint\">{{ '@platform-dev-tools:module.messages.select-node' | translate | async }}\n </p>\n }\n </axp-page-content>\n</axp-page-layout>\n\n<!-- Node template: icon per kind (with color) + label (translated) + badge -->\n<ng-template #nodeTemplate let-node=\"node\">\n @let data = node['data'];\n @let treeNode = data?.treeNode;\n @let kind = treeNode?.kind;\n @let count = node['childrenCount'] ?? treeNode?.itemCount;\n <span class=\"axp-platform-explorer__node\">\n @switch (kind) {\n @case ('module') {\n <i class=\"axp-platform-explorer__node-icon axp-platform-explorer__node-icon--module fa-light fa-cube\"\n aria-hidden=\"true\"></i>\n }\n @case ('entities') {\n <i class=\"axp-platform-explorer__node-icon axp-platform-explorer__node-icon--entities fa-light fa-table-list\"\n aria-hidden=\"true\"></i>\n }\n @case ('entity') {\n <i class=\"axp-platform-explorer__node-icon axp-platform-explorer__node-icon--entity fa-light fa-table\"\n aria-hidden=\"true\"></i>\n }\n @case ('permissions') {\n <i class=\"axp-platform-explorer__node-icon axp-platform-explorer__node-icon--permissions fa-light fa-shield-halved\"\n aria-hidden=\"true\"></i>\n }\n @case ('features') {\n <i class=\"axp-platform-explorer__node-icon axp-platform-explorer__node-icon--features fa-light fa-sliders\"\n aria-hidden=\"true\"></i>\n }\n @default {\n <i class=\"axp-platform-explorer__node-icon axp-platform-explorer__node-icon--default fa-light fa-circle-dot\"\n aria-hidden=\"true\"></i>\n }\n }\n <span class=\"axp-platform-explorer__node-label\">{{ node['title'] | translate | async }}</span>\n @if (count != null && count > 0) {\n <span class=\"axp-platform-explorer__node-badge\">{{ count }}</span>\n }\n </span>\n</ng-template>","//#region ---- Imports ----\n\n\nimport {\n ChangeDetectionStrategy,\n Component,\n input,\n output,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport { PlatformExplorerTreeNode } from './platform-explorer-tree.model';\n\n//#endregion\n\n//#region ---- Component ----\n\n@Component({\n selector: 'axp-platform-explorer-tree-node',\n standalone: true,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [AXPlatformExplorerTreeNodeComponent],\n template: `\n <div class=\"axp-tree-node\" [class.axp-tree-node--selected]=\"isSelected()\">\n <button\n type=\"button\"\n class=\"axp-tree-node__toggler\"\n [class.axp-tree-node__toggler--open]=\"expanded()\"\n [attr.aria-expanded]=\"expanded()\"\n (click)=\"toggle()\"\n >\n @if (hasChildren()) {\n <span class=\"axp-tree-node__icon\" aria-hidden=\"true\">{{ expanded() ? '▼' : '▶' }}</span>\n } @else {\n <span class=\"axp-tree-node__icon axp-tree-node__icon--empty\"></span>\n }\n </button>\n <button\n type=\"button\"\n class=\"axp-tree-node__label\"\n (click)=\"select()\"\n >\n {{ node().label }}\n @if (childrenLength() > 0) {\n <span class=\"axp-tree-node__badge\">({{ childrenLength() }})</span>\n }\n </button>\n </div>\n @if (hasChildren() && expanded()) {\n <div class=\"axp-tree-node__children\">\n @for (child of node().children ?? []; track child.id) {\n <axp-platform-explorer-tree-node\n [node]=\"child\"\n [selectedId]=\"selectedId()\"\n (nodeSelect)=\"nodeSelect.emit($event)\"\n />\n }\n </div>\n }\n `,\n styles: [\n `\n :host {\n display: block;\n }\n .axp-tree-node {\n display: flex;\n align-items: center;\n min-height: 28px;\n }\n .axp-tree-node--selected .axp-tree-node__label {\n font-weight: 600;\n background: var(--ax-neutral-surface-hover, rgba(0, 0, 0, 0.04));\n }\n .axp-tree-node__toggler {\n width: 24px;\n height: 28px;\n padding: 0;\n border: none;\n background: none;\n cursor: pointer;\n color: var(--ax-neutral-text-secondary, #666);\n flex-shrink: 0;\n }\n .axp-tree-node__toggler--open .axp-tree-node__icon {\n transform: rotate(0);\n }\n .axp-tree-node__icon {\n font-size: 10px;\n display: inline-block;\n }\n .axp-tree-node__icon--empty {\n width: 10px;\n }\n .axp-tree-node__label {\n flex: 1;\n text-align: start;\n padding: 4px 8px;\n border: none;\n background: none;\n cursor: pointer;\n font-size: 13px;\n border-radius: 4px;\n }\n .axp-tree-node__label:hover {\n background: var(--ax-neutral-surface-hover, rgba(0, 0, 0, 0.04));\n }\n .axp-tree-node__badge {\n margin-inline-start: 4px;\n font-size: 11px;\n color: var(--ax-neutral-text-secondary, #666);\n font-weight: normal;\n }\n .axp-tree-node__children {\n padding-inline-start: 16px;\n }\n `,\n ],\n})\nexport class AXPlatformExplorerTreeNodeComponent {\n node = input.required<PlatformExplorerTreeNode>();\n selectedId = input<string | null>(null);\n nodeSelect = output<PlatformExplorerTreeNode>();\n\n readonly expanded = signal(true);\n\n childrenLength(): number {\n return this.node().children?.length ?? 0;\n }\n\n hasChildren(): boolean {\n const children = this.node().children;\n return !!children && children.length > 0;\n }\n\n isSelected(): boolean {\n return this.selectedId() === this.node().id;\n }\n\n toggle(): void {\n if (this.hasChildren()) {\n this.expanded.update((v) => !v);\n }\n }\n\n select(): void {\n this.nodeSelect.emit(this.node());\n }\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXP_MODULE_MANIFEST_PROVIDER, provideLazyProvider } from '@acorex/platform/core';\nimport { AXP_MENU_PROVIDER, AXP_SETTING_DEFINITION_PROVIDER } from '@acorex/platform/common';\nimport { AXPAuthGuard } from '@acorex/platform/auth';\nimport { AXPRootLayoutComponent } from '@acorex/platform/themes/default';\nimport { NgModule } from '@angular/core';\nimport { ROUTES, Routes } from '@angular/router';\nimport { PlatformDevToolsManifest } from './manifest';\nimport { AXMPlatformDevToolsMenuProvider } from './menu.provider';\nimport { AXPPlatformDevToolsSettingProvider } from './settings.provider';\nimport { AXPlatformExplorerPageComponent } from './features/platform-explorer';\n\n//#endregion\n\n//#region ---- Routes ----\n\nfunction routesFactory(): Routes {\n return [\n {\n path: ':app/dev/platform-explorer',\n canActivate: [AXPAuthGuard],\n loadComponent: () => AXPRootLayoutComponent,\n children: [\n {\n path: '',\n loadComponent: () => AXPlatformExplorerPageComponent,\n data: { reuse: true },\n },\n ],\n },\n ];\n}\n\n//#endregion\n\n//#region ---- Module ----\n\n@NgModule({\n imports: [],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXP_MODULE_MANIFEST_PROVIDER,\n useValue: PlatformDevToolsManifest,\n multi: true,\n },\n provideLazyProvider(AXP_MENU_PROVIDER, () =>\n import('./menu.provider').then(m => m.AXMPlatformDevToolsMenuProvider)\n ),\n provideLazyProvider(AXP_SETTING_DEFINITION_PROVIDER, () =>\n import('./settings.provider').then(m => m.AXPPlatformDevToolsSettingProvider)\n ),\n {\n provide: ROUTES,\n multi: true,\n useFactory: routesFactory,\n },\n ],\n})\nexport class AXMPlatformDevToolsModule { }\n\n//#endregion\n","//#region ---- Developer Settings ----\n\n/** Setting keys for the Platform Dev Tools module. */\nexport enum AXPPlatformDevToolsSettings {\n /** When enabled, exposes additional diagnostic behavior for developers (debug mode). */\n DebugMode = 'PlatformDevTools:Setting:Developer.DebugMode',\n}\n\n//#endregion\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","i3"],"mappings":"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"}
|