@acorex/modules 21.0.0-next.51 → 21.0.0-next.53
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/ai-management/README.md +1 -0
- package/fesm2022/{acorex-modules-ai-management-assist.entity-513RdKsz.mjs → acorex-modules-ai-management-assist.entity-CnyoIO-Z.mjs} +24 -16
- package/fesm2022/acorex-modules-ai-management-assist.entity-CnyoIO-Z.mjs.map +1 -0
- package/fesm2022/acorex-modules-ai-management.mjs +374 -35
- package/fesm2022/acorex-modules-ai-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-assessment-management-acorex-modules-assessment-management-BD5oxehv.mjs → acorex-modules-assessment-management-acorex-modules-assessment-management-DcPnI9fZ.mjs} +69 -505
- package/fesm2022/acorex-modules-assessment-management-acorex-modules-assessment-management-DcPnI9fZ.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-assessment-case.entity-BWj2PB39.mjs → acorex-modules-assessment-management-assessment-case.entity-D880d_qz.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-assessment-case.entity-BWj2PB39.mjs.map → acorex-modules-assessment-management-assessment-case.entity-D880d_qz.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-assessment-session.entity-BQnYnNOz.mjs → acorex-modules-assessment-management-assessment-session.entity-DvbocIN1.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-assessment-session.entity-BQnYnNOz.mjs.map → acorex-modules-assessment-management-assessment-session.entity-DvbocIN1.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-fill-assessment-session.command-BiS7QO_E.mjs → acorex-modules-assessment-management-fill-assessment-session.command-BMJ54EPO.mjs} +59 -85
- package/fesm2022/acorex-modules-assessment-management-fill-assessment-session.command-BMJ54EPO.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-index-BXw0Lf5c.mjs → acorex-modules-assessment-management-index-XdJCIYG3.mjs} +4 -4
- package/fesm2022/{acorex-modules-assessment-management-index-BXw0Lf5c.mjs.map → acorex-modules-assessment-management-index-XdJCIYG3.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-preview-question.command-Bm1v6ngB.mjs → acorex-modules-assessment-management-preview-question.command-CO8NfjEb.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-preview-question.command-Bm1v6ngB.mjs.map → acorex-modules-assessment-management-preview-question.command-CO8NfjEb.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-preview-questionnaire.command-Dja4PbGz.mjs → acorex-modules-assessment-management-preview-questionnaire.command-DSzbtU0e.mjs} +8 -8
- package/fesm2022/{acorex-modules-assessment-management-preview-questionnaire.command-Dja4PbGz.mjs.map → acorex-modules-assessment-management-preview-questionnaire.command-DSzbtU0e.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-question-bank-interface-editor-widget-edit.component-BbkWs23A.mjs → acorex-modules-assessment-management-question-bank-interface-editor-widget-edit.component-DbvxAUgb.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-question-bank-interface-editor-widget-edit.component-BbkWs23A.mjs.map → acorex-modules-assessment-management-question-bank-interface-editor-widget-edit.component-DbvxAUgb.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-question-bank-item.entity-X8s42nZH.mjs → acorex-modules-assessment-management-question-bank-item.entity-DBfQhSKR.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-question-bank-item.entity-X8s42nZH.mjs.map → acorex-modules-assessment-management-question-bank-item.entity-DBfQhSKR.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-questionnaire-calculation.entity-d8HUAvWp.mjs → acorex-modules-assessment-management-questionnaire-calculation.entity-CL9s20qR.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-questionnaire-calculation.entity-d8HUAvWp.mjs.map → acorex-modules-assessment-management-questionnaire-calculation.entity-CL9s20qR.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-questionnaire-viewer-popup.component-YUDOSypz.mjs → acorex-modules-assessment-management-questionnaire-viewer-popup.component-CH_cJlSf.mjs} +205 -11
- package/fesm2022/acorex-modules-assessment-management-questionnaire-viewer-popup.component-CH_cJlSf.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-questionnaire.entity-q3Z4VIiA.mjs → acorex-modules-assessment-management-questionnaire.entity-CrryBMC2.mjs} +40 -3
- package/fesm2022/acorex-modules-assessment-management-questionnaire.entity-CrryBMC2.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-save-questionnaire-questions.command-4OLYEn35.mjs → acorex-modules-assessment-management-save-questionnaire-questions.command-Dq5VComh.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-save-questionnaire-questions.command-4OLYEn35.mjs.map → acorex-modules-assessment-management-save-questionnaire-questions.command-Dq5VComh.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-view-session-answers.command-DWEd-ZM_.mjs → acorex-modules-assessment-management-view-session-answers.command-DpppXekm.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-view-session-answers.command-DWEd-ZM_.mjs.map → acorex-modules-assessment-management-view-session-answers.command-DpppXekm.mjs.map} +1 -1
- package/fesm2022/acorex-modules-assessment-management.mjs +1 -1
- package/fesm2022/{acorex-modules-asset-management-acorex-modules-asset-management-B1mg2dIR.mjs → acorex-modules-asset-management-acorex-modules-asset-management-BtcY1UQy.mjs} +8 -8
- package/fesm2022/{acorex-modules-asset-management-acorex-modules-asset-management-B1mg2dIR.mjs.map → acorex-modules-asset-management-acorex-modules-asset-management-BtcY1UQy.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-asset-management-asset-system-assignment.entity-lL1FBlzA.mjs → acorex-modules-asset-management-asset-system-assignment.entity-pKZoxsjk.mjs} +2 -2
- package/fesm2022/{acorex-modules-asset-management-asset-system-assignment.entity-lL1FBlzA.mjs.map → acorex-modules-asset-management-asset-system-assignment.entity-pKZoxsjk.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-asset-management-asset-system-type.entity-DFHVqE7a.mjs → acorex-modules-asset-management-asset-system-type.entity-CXz2G5v1.mjs} +2 -2
- package/fesm2022/{acorex-modules-asset-management-asset-system-type.entity-DFHVqE7a.mjs.map → acorex-modules-asset-management-asset-system-type.entity-CXz2G5v1.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-asset-management-asset-system.entity-DlpOp7Xj.mjs → acorex-modules-asset-management-asset-system.entity-C3zf6WVD.mjs} +13 -14
- package/fesm2022/acorex-modules-asset-management-asset-system.entity-C3zf6WVD.mjs.map +1 -0
- package/fesm2022/{acorex-modules-asset-management-asset-type-section-component.entity-CIkXc51V.mjs → acorex-modules-asset-management-asset-type-section-component.entity-DTaeNNBW.mjs} +2 -2
- package/fesm2022/{acorex-modules-asset-management-asset-type-section-component.entity-CIkXc51V.mjs.map → acorex-modules-asset-management-asset-type-section-component.entity-DTaeNNBW.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-asset-management-asset-type-section.entity-Ctxh5hGa.mjs → acorex-modules-asset-management-asset-type-section.entity-Bes5h7aJ.mjs} +2 -2
- package/fesm2022/{acorex-modules-asset-management-asset-type-section.entity-Ctxh5hGa.mjs.map → acorex-modules-asset-management-asset-type-section.entity-Bes5h7aJ.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-asset-management-asset-type.entity-CN6K0Uw3.mjs → acorex-modules-asset-management-asset-type.entity-Ch8h0sph.mjs} +21 -22
- package/fesm2022/acorex-modules-asset-management-asset-type.entity-Ch8h0sph.mjs.map +1 -0
- package/fesm2022/{acorex-modules-asset-management-asset.entity-2XZut6JS.mjs → acorex-modules-asset-management-asset.entity-DJ-A6lx1.mjs} +26 -26
- package/fesm2022/acorex-modules-asset-management-asset.entity-DJ-A6lx1.mjs.map +1 -0
- package/fesm2022/acorex-modules-asset-management.mjs +1 -1
- package/fesm2022/{acorex-modules-auth-acorex-modules-auth-CGiDe3e-.mjs → acorex-modules-auth-acorex-modules-auth-NPUjHz-F.mjs} +13 -13
- package/fesm2022/{acorex-modules-auth-acorex-modules-auth-CGiDe3e-.mjs.map → acorex-modules-auth-acorex-modules-auth-NPUjHz-F.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-app-chooser.component-Dt_2eXel.mjs → acorex-modules-auth-app-chooser.component-h61xNtRT.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-app-chooser.component-Dt_2eXel.mjs.map → acorex-modules-auth-app-chooser.component-h61xNtRT.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-login.module-Bl8pAhHc.mjs → acorex-modules-auth-login.module-DF5AHqYe.mjs} +4 -4
- package/fesm2022/{acorex-modules-auth-login.module-Bl8pAhHc.mjs.map → acorex-modules-auth-login.module-DF5AHqYe.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-master.layout-B8GSev0J.mjs → acorex-modules-auth-master.layout-00ZTMhc3.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-master.layout-B8GSev0J.mjs.map → acorex-modules-auth-master.layout-00ZTMhc3.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-oauth-callback.component-DleQ24IP.mjs → acorex-modules-auth-oauth-callback.component-Ce5Fw8Qd.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-oauth-callback.component-DleQ24IP.mjs.map → acorex-modules-auth-oauth-callback.component-Ce5Fw8Qd.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-password.component-D6ALMoO4.mjs → acorex-modules-auth-password.component-CU0AY-Ia.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-password.component-D6ALMoO4.mjs.map → acorex-modules-auth-password.component-CU0AY-Ia.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-password.component-C1GbARlM.mjs → acorex-modules-auth-password.component-DQYCm8wg.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-password.component-C1GbARlM.mjs.map → acorex-modules-auth-password.component-DQYCm8wg.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-routes-FDp1SEZA.mjs → acorex-modules-auth-routes-CM4fRaWb.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-routes-FDp1SEZA.mjs.map → acorex-modules-auth-routes-CM4fRaWb.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-settings.provider-CN7Lb38l.mjs → acorex-modules-auth-settings.provider-C_3D-9ia.mjs} +2 -2
- package/fesm2022/acorex-modules-auth-settings.provider-C_3D-9ia.mjs.map +1 -0
- package/fesm2022/{acorex-modules-auth-tenant-chooser.component-o55sauLG.mjs → acorex-modules-auth-tenant-chooser.component-BBztdcvq.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-tenant-chooser.component-o55sauLG.mjs.map → acorex-modules-auth-tenant-chooser.component-BBztdcvq.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-two-factor.module-CVrYPw5D.mjs → acorex-modules-auth-two-factor.module-C9AafF86.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-two-factor.module-CVrYPw5D.mjs.map → acorex-modules-auth-two-factor.module-C9AafF86.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-user-sessions.component-BVglZAnc.mjs → acorex-modules-auth-user-sessions.component-Qw2sgsEe.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-user-sessions.component-BVglZAnc.mjs.map → acorex-modules-auth-user-sessions.component-Qw2sgsEe.mjs.map} +1 -1
- package/fesm2022/acorex-modules-auth.mjs +1 -1
- package/fesm2022/acorex-modules-common.mjs +8 -5
- package/fesm2022/acorex-modules-common.mjs.map +1 -1
- package/fesm2022/{acorex-modules-conversation-acorex-modules-conversation-ny5TQlkp.mjs → acorex-modules-conversation-acorex-modules-conversation-Bnjyq-wp.mjs} +1010 -164
- package/fesm2022/acorex-modules-conversation-acorex-modules-conversation-Bnjyq-wp.mjs.map +1 -0
- package/fesm2022/{acorex-modules-conversation-assist-delegated-agent-detail-popup.component-7O6som8z.mjs → acorex-modules-conversation-assist-delegated-agent-detail-popup.component-Df5LmYZI.mjs} +7 -6
- package/fesm2022/acorex-modules-conversation-assist-delegated-agent-detail-popup.component-Df5LmYZI.mjs.map +1 -0
- package/fesm2022/{acorex-modules-conversation-comments-page.component-Dm7U0ndQ.mjs → acorex-modules-conversation-comments-page.component-BXI4smIr.mjs} +2 -2
- package/fesm2022/{acorex-modules-conversation-comments-page.component-Dm7U0ndQ.mjs.map → acorex-modules-conversation-comments-page.component-BXI4smIr.mjs.map} +1 -1
- package/fesm2022/acorex-modules-conversation-send-assist-chat-message.command-B5qJnpCK.mjs +90 -0
- package/fesm2022/acorex-modules-conversation-send-assist-chat-message.command-B5qJnpCK.mjs.map +1 -0
- package/fesm2022/{acorex-modules-conversation-start-assist-chat.command-BLYoudtN.mjs → acorex-modules-conversation-start-assist-chat.command-DI3LAaDF.mjs} +2 -2
- package/fesm2022/{acorex-modules-conversation-start-assist-chat.command-BLYoudtN.mjs.map → acorex-modules-conversation-start-assist-chat.command-DI3LAaDF.mjs.map} +1 -1
- package/fesm2022/acorex-modules-conversation.mjs +1 -1
- package/fesm2022/acorex-modules-data-management.mjs +5 -3
- package/fesm2022/acorex-modules-data-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-document-management-drive-choose.component-BxQxZBca.mjs → acorex-modules-document-management-drive-choose.component-DyJoXajP.mjs} +4 -4
- package/fesm2022/{acorex-modules-document-management-drive-choose.component-BxQxZBca.mjs.map → acorex-modules-document-management-drive-choose.component-DyJoXajP.mjs.map} +1 -1
- package/fesm2022/acorex-modules-document-management.mjs +98 -24
- package/fesm2022/acorex-modules-document-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-form-template-management.mjs +53 -61
- package/fesm2022/acorex-modules-form-template-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-acorex-modules-human-capital-management-B37ZqEql.mjs → acorex-modules-human-capital-management-acorex-modules-human-capital-management-XhV2JQXs.mjs} +23 -21
- package/fesm2022/acorex-modules-human-capital-management-acorex-modules-human-capital-management-XhV2JQXs.mjs.map +1 -0
- package/fesm2022/{acorex-modules-human-capital-management-approve-leave-request.command-Bf8iPUE-.mjs → acorex-modules-human-capital-management-approve-leave-request.command-Cre30Kp7.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-approve-leave-request.command-Bf8iPUE-.mjs.map → acorex-modules-human-capital-management-approve-leave-request.command-Cre30Kp7.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-assign-position-assignment.command-DqX9OAq4.mjs → acorex-modules-human-capital-management-assign-position-assignment.command-NYgddiaD.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-assign-position-assignment.command-DqX9OAq4.mjs.map → acorex-modules-human-capital-management-assign-position-assignment.command-NYgddiaD.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-cancel-leave-request.command-DQG0Al0X.mjs → acorex-modules-human-capital-management-cancel-leave-request.command-DPh-KQgN.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-cancel-leave-request.command-DQG0Al0X.mjs.map → acorex-modules-human-capital-management-cancel-leave-request.command-DPh-KQgN.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-employee-lifecycle-process.entity-DSsgKG8S.mjs → acorex-modules-human-capital-management-employee-lifecycle-process.entity-LX68KORg.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-employee-lifecycle-process.entity-DSsgKG8S.mjs.map → acorex-modules-human-capital-management-employee-lifecycle-process.entity-LX68KORg.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-employee.entity-C8PaZEDs.mjs → acorex-modules-human-capital-management-employee.entity-znCbbQUd.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-employee.entity-C8PaZEDs.mjs.map → acorex-modules-human-capital-management-employee.entity-znCbbQUd.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-employment-type.entity-DhqHdESk.mjs → acorex-modules-human-capital-management-employment-type.entity-DUNB3zAB.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-employment-type.entity-DhqHdESk.mjs.map → acorex-modules-human-capital-management-employment-type.entity-DUNB3zAB.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-leave-request.entity-CPdV6kiR.mjs → acorex-modules-human-capital-management-leave-request.entity-JyFrrCGE.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-leave-request.entity-CPdV6kiR.mjs.map → acorex-modules-human-capital-management-leave-request.entity-JyFrrCGE.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-leave-type.entity-D3iarVMG.mjs → acorex-modules-human-capital-management-leave-type.entity-B61MiEPu.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-leave-type.entity-D3iarVMG.mjs.map → acorex-modules-human-capital-management-leave-type.entity-B61MiEPu.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-lifecycle-process-type.entity-EazvPSR6.mjs → acorex-modules-human-capital-management-lifecycle-process-type.entity-DJqo2kTG.mjs} +9 -11
- package/fesm2022/acorex-modules-human-capital-management-lifecycle-process-type.entity-DJqo2kTG.mjs.map +1 -0
- package/fesm2022/{acorex-modules-human-capital-management-position-assignment.entity-mROyAoz-.mjs → acorex-modules-human-capital-management-position-assignment.entity-CKCC6bKg.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-position-assignment.entity-mROyAoz-.mjs.map → acorex-modules-human-capital-management-position-assignment.entity-CKCC6bKg.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-reject-leave-request.command-Bq7OtST6.mjs → acorex-modules-human-capital-management-reject-leave-request.command-Blv08UQZ.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-reject-leave-request.command-Bq7OtST6.mjs.map → acorex-modules-human-capital-management-reject-leave-request.command-Blv08UQZ.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-revoke-position-assignment.command-BpklMLve.mjs → acorex-modules-human-capital-management-revoke-position-assignment.command-lgEAbxYH.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-revoke-position-assignment.command-BpklMLve.mjs.map → acorex-modules-human-capital-management-revoke-position-assignment.command-lgEAbxYH.mjs.map} +1 -1
- package/fesm2022/acorex-modules-human-capital-management.mjs +1 -1
- package/fesm2022/acorex-modules-locale-management.mjs +1 -1
- package/fesm2022/acorex-modules-locale-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-maintenance-management-acorex-modules-maintenance-management-coPYjl8-.mjs → acorex-modules-maintenance-management-acorex-modules-maintenance-management-DiM2aFgg.mjs} +304 -206
- package/fesm2022/acorex-modules-maintenance-management-acorex-modules-maintenance-management-DiM2aFgg.mjs.map +1 -0
- package/fesm2022/{acorex-modules-maintenance-management-failure-effect.entity-BdnnavfB.mjs → acorex-modules-maintenance-management-failure-effect.entity-BCMeHmxS.mjs} +2 -2
- package/fesm2022/{acorex-modules-maintenance-management-failure-effect.entity-BdnnavfB.mjs.map → acorex-modules-maintenance-management-failure-effect.entity-BCMeHmxS.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-maintenance-management-failure-mode-asset-type.entity-tlcqWco6.mjs → acorex-modules-maintenance-management-failure-mode-asset-type.entity-ByBoVQ8D.mjs} +2 -2
- package/fesm2022/{acorex-modules-maintenance-management-failure-mode-asset-type.entity-tlcqWco6.mjs.map → acorex-modules-maintenance-management-failure-mode-asset-type.entity-ByBoVQ8D.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-maintenance-management-failure-mode-mechanism.entity-DivWl32L.mjs → acorex-modules-maintenance-management-failure-mode-mechanism.entity-BJs4KhkU.mjs} +2 -2
- package/fesm2022/{acorex-modules-maintenance-management-failure-mode-mechanism.entity-DivWl32L.mjs.map → acorex-modules-maintenance-management-failure-mode-mechanism.entity-BJs4KhkU.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-maintenance-management-failure-mode-solution.entity-9FiLeySZ.mjs → acorex-modules-maintenance-management-failure-mode-solution.entity-rw24sQxb.mjs} +2 -2
- package/fesm2022/{acorex-modules-maintenance-management-failure-mode-solution.entity-9FiLeySZ.mjs.map → acorex-modules-maintenance-management-failure-mode-solution.entity-rw24sQxb.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-maintenance-management-failure-register-cause.entity-3cq1KeYM.mjs → acorex-modules-maintenance-management-failure-register-cause.entity-C_6sjW8z.mjs} +2 -2
- package/fesm2022/{acorex-modules-maintenance-management-failure-register-cause.entity-3cq1KeYM.mjs.map → acorex-modules-maintenance-management-failure-register-cause.entity-C_6sjW8z.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-maintenance-management-failure-register-effect.entity-CaVb6rDn.mjs → acorex-modules-maintenance-management-failure-register-effect.entity-DCIAzSYQ.mjs} +2 -2
- package/fesm2022/{acorex-modules-maintenance-management-failure-register-effect.entity-CaVb6rDn.mjs.map → acorex-modules-maintenance-management-failure-register-effect.entity-DCIAzSYQ.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-maintenance-management-failure-register-mechanism.entity-C2UKW63M.mjs → acorex-modules-maintenance-management-failure-register-mechanism.entity-DlXr6A4i.mjs} +2 -2
- package/fesm2022/{acorex-modules-maintenance-management-failure-register-mechanism.entity-C2UKW63M.mjs.map → acorex-modules-maintenance-management-failure-register-mechanism.entity-DlXr6A4i.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-maintenance-management-failure-register.entity-KghFLCIJ.mjs → acorex-modules-maintenance-management-failure-register.entity-C4J3um7j.mjs} +2 -2
- package/fesm2022/{acorex-modules-maintenance-management-failure-register.entity-KghFLCIJ.mjs.map → acorex-modules-maintenance-management-failure-register.entity-C4J3um7j.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-maintenance-management-failure-severity.entity-BebswR7S.mjs → acorex-modules-maintenance-management-failure-severity.entity-C-spQtYx.mjs} +2 -2
- package/fesm2022/{acorex-modules-maintenance-management-failure-severity.entity-BebswR7S.mjs.map → acorex-modules-maintenance-management-failure-severity.entity-C-spQtYx.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-maintenance-management-maintenance-template.entity-1V4swUZ4.mjs → acorex-modules-maintenance-management-maintenance-template.entity-Huahnjhd.mjs} +100 -178
- package/fesm2022/acorex-modules-maintenance-management-maintenance-template.entity-Huahnjhd.mjs.map +1 -0
- package/fesm2022/{acorex-modules-maintenance-management-work-order-list-command-3hlrAtIr.mjs → acorex-modules-maintenance-management-work-order-list-command-1YsWctqu.mjs} +2 -2
- package/fesm2022/{acorex-modules-maintenance-management-work-order-list-command-3hlrAtIr.mjs.map → acorex-modules-maintenance-management-work-order-list-command-1YsWctqu.mjs.map} +1 -1
- package/fesm2022/acorex-modules-maintenance-management.mjs +1 -1
- package/fesm2022/acorex-modules-notification-management.mjs +1 -1
- package/fesm2022/acorex-modules-notification-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-order-management-settings.provider-BFOghuIS.mjs +58 -0
- package/fesm2022/acorex-modules-order-management-settings.provider-BFOghuIS.mjs.map +1 -0
- package/fesm2022/acorex-modules-order-management.mjs +2 -2
- package/fesm2022/{acorex-modules-organization-management-acorex-modules-organization-management-CGzZcKEy.mjs → acorex-modules-organization-management-acorex-modules-organization-management-BZtWfgmH.mjs} +40 -120
- package/fesm2022/acorex-modules-organization-management-acorex-modules-organization-management-BZtWfgmH.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-add-business-unit-to-business-unit.command-BEJyfR3P.mjs → acorex-modules-organization-management-add-business-unit-to-business-unit.command-C-yO5On4.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-add-business-unit-to-business-unit.command-BEJyfR3P.mjs.map → acorex-modules-organization-management-add-business-unit-to-business-unit.command-C-yO5On4.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-add-position-to-business-unit.command-DKgxg9q5.mjs → acorex-modules-organization-management-add-position-to-business-unit.command-BL5eWJ56.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-add-position-to-business-unit.command-DKgxg9q5.mjs.map → acorex-modules-organization-management-add-position-to-business-unit.command-BL5eWJ56.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-add-team-to-business-unit.command-DJJT7BXT.mjs → acorex-modules-organization-management-add-team-to-business-unit.command-l4N6g0Hc.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-add-team-to-business-unit.command-DJJT7BXT.mjs.map → acorex-modules-organization-management-add-team-to-business-unit.command-l4N6g0Hc.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-business-unit.entity-BAp38sib.mjs → acorex-modules-organization-management-business-unit.entity-CONTwX52.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-business-unit.entity-BAp38sib.mjs.map → acorex-modules-organization-management-business-unit.entity-CONTwX52.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-chart.entity-WfmpWj8R.mjs → acorex-modules-organization-management-chart.entity-DeKPBfgx.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-chart.entity-WfmpWj8R.mjs.map → acorex-modules-organization-management-chart.entity-DeKPBfgx.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-company.entity-BUVLrwjq.mjs → acorex-modules-organization-management-company.entity-BAlz8AfD.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-company.entity-BUVLrwjq.mjs.map → acorex-modules-organization-management-company.entity-BAlz8AfD.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-entity.provider-DH3eUGTu.mjs → acorex-modules-organization-management-entity.provider-DjPSiqcX.mjs} +15 -15
- package/fesm2022/{acorex-modules-organization-management-entity.provider-DH3eUGTu.mjs.map → acorex-modules-organization-management-entity.provider-DjPSiqcX.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-feature-definition.provider-DuScrBze.mjs → acorex-modules-organization-management-feature-definition.provider-BLmayeSc.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-feature-definition.provider-DuScrBze.mjs.map → acorex-modules-organization-management-feature-definition.provider-BLmayeSc.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-job-definition-pages-component.provider-D-J9JCsU.mjs → acorex-modules-organization-management-job-definition-pages-component.provider-HBi-EMRE.mjs} +3 -3
- package/fesm2022/{acorex-modules-organization-management-job-definition-pages-component.provider-D-J9JCsU.mjs.map → acorex-modules-organization-management-job-definition-pages-component.provider-HBi-EMRE.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-job-definition-responsibilities-page.component-Dsy5rFGw.mjs → acorex-modules-organization-management-job-definition-responsibilities-page.component-CtIfsZ6x.mjs} +3 -3
- package/fesm2022/{acorex-modules-organization-management-job-definition-responsibilities-page.component-Dsy5rFGw.mjs.map → acorex-modules-organization-management-job-definition-responsibilities-page.component-CtIfsZ6x.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-job-definition-skills-page.component-B73wLPby.mjs → acorex-modules-organization-management-job-definition-skills-page.component-C1vCQayM.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-job-definition-skills-page.component-B73wLPby.mjs.map → acorex-modules-organization-management-job-definition-skills-page.component-C1vCQayM.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-job-definition.entity-B7mWKYqb.mjs → acorex-modules-organization-management-job-definition.entity-Db5li0zL.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-job-definition.entity-B7mWKYqb.mjs.map → acorex-modules-organization-management-job-definition.entity-Db5li0zL.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-job-level.datasource-DibRoKXR.mjs → acorex-modules-organization-management-job-level.datasource-BTRKW7nq.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-job-level.datasource-DibRoKXR.mjs.map → acorex-modules-organization-management-job-level.datasource-BTRKW7nq.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-job-level.entity-C_MzeTw5.mjs → acorex-modules-organization-management-job-level.entity-Cn-91_r8.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-job-level.entity-C_MzeTw5.mjs.map → acorex-modules-organization-management-job-level.entity-Cn-91_r8.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-menu.provider-CQeJINzl.mjs → acorex-modules-organization-management-menu.provider-CVmV-hY5.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-menu.provider-CQeJINzl.mjs.map → acorex-modules-organization-management-menu.provider-CVmV-hY5.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-org-chart-default-node-contribution.provider-D3hCHSr_.mjs → acorex-modules-organization-management-org-chart-default-node-contribution.provider-bdtNexEf.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-org-chart-default-node-contribution.provider-D3hCHSr_.mjs.map → acorex-modules-organization-management-org-chart-default-node-contribution.provider-bdtNexEf.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-org-chart-employee-flyout-contribution.provider-Bv0I-45L.mjs → acorex-modules-organization-management-org-chart-employee-flyout-contribution.provider-B0aaFv5p.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-org-chart-employee-flyout-contribution.provider-Bv0I-45L.mjs.map → acorex-modules-organization-management-org-chart-employee-flyout-contribution.provider-B0aaFv5p.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-org-chart-position-employee-node-contribution.provider-DbfYza8q.mjs → acorex-modules-organization-management-org-chart-position-employee-node-contribution.provider-Xe4nhY3j.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-org-chart-position-employee-node-contribution.provider-DbfYza8q.mjs.map → acorex-modules-organization-management-org-chart-position-employee-node-contribution.provider-Xe4nhY3j.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-org-chart-ux-node-contribution.provider-C9APxguL.mjs → acorex-modules-organization-management-org-chart-ux-node-contribution.provider-CTprHwCi.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-org-chart-ux-node-contribution.provider-C9APxguL.mjs.map → acorex-modules-organization-management-org-chart-ux-node-contribution.provider-CTprHwCi.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-org-chart.page-BcHO5kKP.mjs → acorex-modules-organization-management-org-chart.page-ChXY8ncD.mjs} +133 -12
- package/fesm2022/acorex-modules-organization-management-org-chart.page-ChXY8ncD.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-permission-definition.provider-BcIRJpBt.mjs → acorex-modules-organization-management-permission-definition.provider-8t2vBgtp.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-permission-definition.provider-BcIRJpBt.mjs.map → acorex-modules-organization-management-permission-definition.provider-8t2vBgtp.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-position.entity-DBOpLtSI.mjs → acorex-modules-organization-management-position.entity-BVWbTeks.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-position.entity-DBOpLtSI.mjs.map → acorex-modules-organization-management-position.entity-BVWbTeks.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-remove-position-from-business-unit.command-TqYgfnsy.mjs → acorex-modules-organization-management-remove-position-from-business-unit.command-DWzFncr1.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-remove-position-from-business-unit.command-TqYgfnsy.mjs.map → acorex-modules-organization-management-remove-position-from-business-unit.command-DWzFncr1.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-replace-position-assignee.command-BJ2gn0-A.mjs → acorex-modules-organization-management-replace-position-assignee.command-CNa-CZOv.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-replace-position-assignee.command-BJ2gn0-A.mjs.map → acorex-modules-organization-management-replace-position-assignee.command-CNa-CZOv.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix-widget-edit.component-CZdMLIL-.mjs → acorex-modules-organization-management-responsibilities-matrix-widget-edit.component-CTSCcyFv.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix-widget-edit.component-CZdMLIL-.mjs.map → acorex-modules-organization-management-responsibilities-matrix-widget-edit.component-CTSCcyFv.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix-widget-view.component-BBo97rDN.mjs → acorex-modules-organization-management-responsibilities-matrix-widget-view.component-C82TQFS-.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix-widget-view.component-BBo97rDN.mjs.map → acorex-modules-organization-management-responsibilities-matrix-widget-view.component-C82TQFS-.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix.component-D9oH_Fbb.mjs → acorex-modules-organization-management-responsibilities-matrix.component-DjVuISfE.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix.component-D9oH_Fbb.mjs.map → acorex-modules-organization-management-responsibilities-matrix.component-DjVuISfE.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-responsibility-level.entity-D6IG9Zc7.mjs → acorex-modules-organization-management-responsibility-level.entity-BlENDhF6.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-responsibility-level.entity-D6IG9Zc7.mjs.map → acorex-modules-organization-management-responsibility-level.entity-BlENDhF6.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-responsibility.entity-BosNxYjW.mjs → acorex-modules-organization-management-responsibility.entity-DamPTQMp.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-responsibility.entity-BosNxYjW.mjs.map → acorex-modules-organization-management-responsibility.entity-DamPTQMp.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-settings.provider-CL9C9UXA.mjs → acorex-modules-organization-management-settings.provider-CtQo6YHj.mjs} +3 -3
- package/fesm2022/acorex-modules-organization-management-settings.provider-CtQo6YHj.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-team-business-unit.entity-CYFGTcHe.mjs → acorex-modules-organization-management-team-business-unit.entity-BfvqQb1K.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-team-business-unit.entity-CYFGTcHe.mjs.map → acorex-modules-organization-management-team-business-unit.entity-BfvqQb1K.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-team-member-role.entity-B5vNDne0.mjs → acorex-modules-organization-management-team-member-role.entity-wWoB56Il.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-team-member-role.entity-B5vNDne0.mjs.map → acorex-modules-organization-management-team-member-role.entity-wWoB56Il.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-team-member.entity-DsKuxCRB.mjs → acorex-modules-organization-management-team-member.entity-COGrDN_G.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-team-member.entity-DsKuxCRB.mjs.map → acorex-modules-organization-management-team-member.entity-COGrDN_G.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-team.entity-Cg30cho_.mjs → acorex-modules-organization-management-team.entity-DC_rqp9e.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-team.entity-Cg30cho_.mjs.map → acorex-modules-organization-management-team.entity-DC_rqp9e.mjs.map} +1 -1
- package/fesm2022/acorex-modules-organization-management.mjs +1 -1
- package/fesm2022/{acorex-modules-platform-dev-tools-settings.provider-DKmgBUYt.mjs → acorex-modules-platform-dev-tools-settings.provider-BIVP27kT.mjs} +2 -2
- package/fesm2022/acorex-modules-platform-dev-tools-settings.provider-BIVP27kT.mjs.map +1 -0
- package/fesm2022/acorex-modules-platform-dev-tools.mjs +2 -2
- package/fesm2022/{acorex-modules-platform-management-acorex-modules-platform-management-DkOzj2Oy.mjs → acorex-modules-platform-management-acorex-modules-platform-management-5DJoQkx2.mjs} +1919 -4
- package/fesm2022/acorex-modules-platform-management-acorex-modules-platform-management-5DJoQkx2.mjs.map +1 -0
- package/fesm2022/{acorex-modules-platform-management-menu-list.component-agWZWchQ.mjs → acorex-modules-platform-management-menu-list.component-C3WBYbOt.mjs} +4 -4
- package/fesm2022/{acorex-modules-platform-management-menu-list.component-agWZWchQ.mjs.map → acorex-modules-platform-management-menu-list.component-C3WBYbOt.mjs.map} +1 -1
- package/fesm2022/acorex-modules-platform-management.mjs +1 -1
- package/fesm2022/{acorex-modules-settings-management-acorex-modules-settings-management-oArHHeSx.mjs → acorex-modules-settings-management-acorex-modules-settings-management-Di6Sxtq3.mjs} +5 -5
- package/fesm2022/{acorex-modules-settings-management-acorex-modules-settings-management-oArHHeSx.mjs.map → acorex-modules-settings-management-acorex-modules-settings-management-Di6Sxtq3.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-settings-management-permission-definition.provider-BsFyZ-gS.mjs → acorex-modules-settings-management-permission-definition.provider-Bml5VZUT.mjs} +2 -2
- package/fesm2022/{acorex-modules-settings-management-permission-definition.provider-BsFyZ-gS.mjs.map → acorex-modules-settings-management-permission-definition.provider-Bml5VZUT.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-settings-management-setting-page.component-BftWms4f.mjs → acorex-modules-settings-management-setting-page.component-lN-7sTpD.mjs} +4 -4
- package/fesm2022/{acorex-modules-settings-management-setting-page.component-BftWms4f.mjs.map → acorex-modules-settings-management-setting-page.component-lN-7sTpD.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-settings-management-setting-view.component-paKdiSEr.mjs → acorex-modules-settings-management-setting-view.component-D17G4RNQ.mjs} +15 -28
- package/fesm2022/acorex-modules-settings-management-setting-view.component-D17G4RNQ.mjs.map +1 -0
- package/fesm2022/acorex-modules-settings-management.mjs +1 -1
- package/fesm2022/acorex-modules-system-insight.mjs +1 -1
- package/fesm2022/acorex-modules-system-insight.mjs.map +1 -1
- package/fesm2022/{acorex-modules-task-management-acorex-modules-task-management-BL2IOcx3.mjs → acorex-modules-task-management-acorex-modules-task-management-LQn5gZ6p.mjs} +680 -10
- package/fesm2022/acorex-modules-task-management-acorex-modules-task-management-LQn5gZ6p.mjs.map +1 -0
- package/fesm2022/{acorex-modules-task-management-task-board.page-DUIHtqnr.mjs → acorex-modules-task-management-task-board.page-BokG-G6Z.mjs} +204 -591
- package/fesm2022/acorex-modules-task-management-task-board.page-BokG-G6Z.mjs.map +1 -0
- package/fesm2022/acorex-modules-task-management.mjs +1 -1
- package/fesm2022/acorex-modules-tenant-management.mjs +1 -1
- package/fesm2022/acorex-modules-tenant-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-workflow-management-activity-command-configurator-widget-edit.component-CYyr1kQk.mjs → acorex-modules-workflow-management-activity-command-configurator-widget-edit.component-OLbCD-7P.mjs} +4 -4
- package/fesm2022/{acorex-modules-workflow-management-activity-command-configurator-widget-edit.component-CYyr1kQk.mjs.map → acorex-modules-workflow-management-activity-command-configurator-widget-edit.component-OLbCD-7P.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-workflow-management-index-CHySddpP.mjs → acorex-modules-workflow-management-index-34UZrsxw.mjs} +2 -2
- package/fesm2022/{acorex-modules-workflow-management-index-CHySddpP.mjs.map → acorex-modules-workflow-management-index-34UZrsxw.mjs.map} +1 -1
- package/fesm2022/acorex-modules-workflow-management-index-BxqOP8AA.mjs +1207 -0
- package/fesm2022/acorex-modules-workflow-management-index-BxqOP8AA.mjs.map +1 -0
- package/fesm2022/{acorex-modules-workflow-management-index-DC_9M9dk.mjs → acorex-modules-workflow-management-index-Eh5DDK-V.mjs} +3 -3
- package/fesm2022/{acorex-modules-workflow-management-index-DC_9M9dk.mjs.map → acorex-modules-workflow-management-index-Eh5DDK-V.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-workflow-management-save-workflow-definition-activities.command-fFO152ni.mjs → acorex-modules-workflow-management-save-workflow-definition-activities.command-CGNwslcn.mjs} +10 -5
- package/fesm2022/acorex-modules-workflow-management-save-workflow-definition-activities.command-CGNwslcn.mjs.map +1 -0
- package/fesm2022/{acorex-modules-workflow-management-workflow-definition.entity-CjQQpjdB.mjs → acorex-modules-workflow-management-workflow-definition.entity-DISpkWE4.mjs} +3 -7
- package/fesm2022/acorex-modules-workflow-management-workflow-definition.entity-DISpkWE4.mjs.map +1 -0
- package/fesm2022/{acorex-modules-workflow-management-workflow-instance.entity-BnKT3Wgh.mjs → acorex-modules-workflow-management-workflow-instance.entity-B_V3uMSI.mjs} +2 -2
- package/fesm2022/{acorex-modules-workflow-management-workflow-instance.entity-BnKT3Wgh.mjs.map → acorex-modules-workflow-management-workflow-instance.entity-B_V3uMSI.mjs.map} +1 -1
- package/fesm2022/acorex-modules-workflow-management-workflow-task-popover.component-DMszilef.mjs +356 -0
- package/fesm2022/acorex-modules-workflow-management-workflow-task-popover.component-DMszilef.mjs.map +1 -0
- package/fesm2022/acorex-modules-workflow-management.mjs +257 -130
- package/fesm2022/acorex-modules-workflow-management.mjs.map +1 -1
- package/package.json +2 -2
- package/types/acorex-modules-ai-management.d.ts +73 -5
- package/types/acorex-modules-assessment-management.d.ts +161 -97
- package/types/acorex-modules-asset-management.d.ts +3 -0
- package/types/acorex-modules-conversation.d.ts +12 -2
- package/types/acorex-modules-human-capital-management.d.ts +6 -6
- package/types/acorex-modules-maintenance-management.d.ts +28 -11
- package/types/acorex-modules-organization-management.d.ts +1 -27
- package/types/acorex-modules-platform-management.d.ts +518 -23
- package/types/acorex-modules-task-management.d.ts +100 -4
- package/types/acorex-modules-workflow-management.d.ts +53 -5
- package/fesm2022/acorex-modules-ai-management-assist.entity-513RdKsz.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-acorex-modules-assessment-management-BD5oxehv.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-fill-assessment-session.command-BiS7QO_E.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-questionnaire-viewer-popup.component-YUDOSypz.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-questionnaire.entity-q3Z4VIiA.mjs.map +0 -1
- package/fesm2022/acorex-modules-asset-management-asset-system.entity-DlpOp7Xj.mjs.map +0 -1
- package/fesm2022/acorex-modules-asset-management-asset-type.entity-CN6K0Uw3.mjs.map +0 -1
- package/fesm2022/acorex-modules-asset-management-asset.entity-2XZut6JS.mjs.map +0 -1
- package/fesm2022/acorex-modules-auth-settings.provider-CN7Lb38l.mjs.map +0 -1
- package/fesm2022/acorex-modules-conversation-acorex-modules-conversation-ny5TQlkp.mjs.map +0 -1
- package/fesm2022/acorex-modules-conversation-assist-delegated-agent-detail-popup.component-7O6som8z.mjs.map +0 -1
- package/fesm2022/acorex-modules-human-capital-management-acorex-modules-human-capital-management-B37ZqEql.mjs.map +0 -1
- package/fesm2022/acorex-modules-human-capital-management-lifecycle-process-type.entity-EazvPSR6.mjs.map +0 -1
- package/fesm2022/acorex-modules-maintenance-management-acorex-modules-maintenance-management-coPYjl8-.mjs.map +0 -1
- package/fesm2022/acorex-modules-maintenance-management-maintenance-template.entity-1V4swUZ4.mjs.map +0 -1
- package/fesm2022/acorex-modules-order-management-settings.provider-DF8JQ1PZ.mjs +0 -64
- package/fesm2022/acorex-modules-order-management-settings.provider-DF8JQ1PZ.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-acorex-modules-organization-management-CGzZcKEy.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-org-chart.page-BcHO5kKP.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-settings.provider-CL9C9UXA.mjs.map +0 -1
- package/fesm2022/acorex-modules-platform-dev-tools-settings.provider-DKmgBUYt.mjs.map +0 -1
- package/fesm2022/acorex-modules-platform-management-acorex-modules-platform-management-DkOzj2Oy.mjs.map +0 -1
- package/fesm2022/acorex-modules-settings-management-setting-view.component-paKdiSEr.mjs.map +0 -1
- package/fesm2022/acorex-modules-task-management-acorex-modules-task-management-BL2IOcx3.mjs.map +0 -1
- package/fesm2022/acorex-modules-task-management-task-board.page-DUIHtqnr.mjs.map +0 -1
- package/fesm2022/acorex-modules-workflow-management-index-jin24dmb.mjs +0 -726
- package/fesm2022/acorex-modules-workflow-management-index-jin24dmb.mjs.map +0 -1
- package/fesm2022/acorex-modules-workflow-management-save-workflow-definition-activities.command-fFO152ni.mjs.map +0 -1
- package/fesm2022/acorex-modules-workflow-management-workflow-definition.entity-CjQQpjdB.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-modules-workflow-management.mjs","sources":["../../../../libs/modules/workflow-management/src/lib/const.ts","../../../../libs/modules/workflow-management/src/lib/permission.keys.ts","../../../../libs/modules/workflow-management/src/lib/entity.provider.ts","../../../../libs/modules/workflow-management/src/lib/menu.keys.ts","../../../../libs/modules/workflow-management/src/lib/menu.provider.ts","../../../../libs/modules/workflow-management/src/lib/features/dashboard/widgets/workflow-dashboard-widget-category.ts","../../../../libs/modules/workflow-management/src/lib/features/dashboard/widgets/workflow-dashboard-widget-subcategories.ts","../../../../libs/modules/workflow-management/src/lib/features/dashboard/widgets/admin/errors/workflow-errors-bar-widget.config.ts","../../../../libs/modules/workflow-management/src/lib/features/dashboard/widgets/admin/errors/workflow-errors-heatmap-widget.config.ts","../../../../libs/modules/workflow-management/src/lib/features/dashboard/widgets/admin/failures/workflow-failed-processes-by-type-donut-widget.config.ts","../../../../libs/modules/workflow-management/src/lib/features/dashboard/widgets/admin/failures/workflow-failed-processes-summary-bar-widget.config.ts","../../../../libs/modules/workflow-management/src/lib/features/dashboard/widgets/admin/failures/workflow-failed-processes-trend-line-widget.config.ts","../../../../libs/modules/workflow-management/src/lib/features/dashboard/widgets/admin/failures/workflow-stuck-processes-bar-widget.config.ts","../../../../libs/modules/workflow-management/src/lib/features/dashboard/widgets/admin/sla/workflow-gauge-chart-widget.config.ts","../../../../libs/modules/workflow-management/src/lib/features/dashboard/widgets/admin/sla/workflow-sla-risk-prediction-bar-widget.config.ts","../../../../libs/modules/workflow-management/src/lib/features/dashboard/widgets/admin/sla/workflow-sla-trend-line-widget.config.ts","../../../../libs/modules/workflow-management/src/lib/features/dashboard/widgets/admin/sla/workflow-sla-violations-bar-widget.config.ts","../../../../libs/modules/workflow-management/src/lib/features/dashboard/widgets/admin/system-health/workflow-system-health-bar-widget.config.ts","../../../../libs/modules/workflow-management/src/lib/features/dashboard/widgets/admin/tasks/workflow-overdue-tasks-bar-widget.config.ts","../../../../libs/modules/workflow-management/src/lib/features/dashboard/widgets/admin/tasks/workflow-pending-tasks-by-age-bar-widget.config.ts","../../../../libs/modules/workflow-management/src/lib/features/dashboard/widgets/admin/throughput/workflow-line-chart-widget.config.ts","../../../../libs/modules/workflow-management/src/lib/features/dashboard/widgets/admin/throughput/workflow-instance-conversion-funnel-widget.config.ts","../../../../libs/modules/workflow-management/src/lib/features/dashboard/widgets/admin/throughput/workflow-throughput-daily-line-widget.config.ts","../../../../libs/modules/workflow-management/src/lib/features/dashboard/widgets/admin/throughput/workflow-throughput-weekly-line-widget.config.ts","../../../../libs/modules/workflow-management/src/lib/features/dashboard/widgets/admin/workload/workflow-bottleneck-bar-widget.config.ts","../../../../libs/modules/workflow-management/src/lib/features/dashboard/widgets/admin/workload/workflow-donut-chart-widget.config.ts","../../../../libs/modules/workflow-management/src/lib/features/dashboard/widgets/admin/workload/workflow-overloaded-users-bar-widget.config.ts","../../../../libs/modules/workflow-management/src/lib/features/dashboard/widgets/admin/workload/workflow-workload-per-user-active-bar-widget.config.ts","../../../../libs/modules/workflow-management/src/lib/features/dashboard/widgets/admin/workload/workflow-workload-per-user-avg-age-bar-widget.config.ts","../../../../libs/modules/workflow-management/src/lib/features/dashboard/widgets/admin/workload/workflow-workload-per-user-overdue-bar-widget.config.ts","../../../../libs/modules/workflow-management/src/lib/features/dashboard/widgets/kpi/workflow-kpi-details-widget.config.ts","../../../../libs/modules/workflow-management/src/lib/features/dashboard/widgets/kpi/workflow-kpi-progress-widget.config.ts","../../../../libs/modules/workflow-management/src/lib/features/dashboard/widgets/kpi/workflow-kpi-segmented-widget.config.ts","../../../../libs/modules/workflow-management/src/lib/features/dashboard/widgets/kpi/workflow-kpi-stat-card-widget.config.ts","../../../../libs/modules/workflow-management/src/lib/features/dashboard/widgets/user/workflow-bar-chart-widget.config.ts","../../../../libs/modules/workflow-management/src/lib/features/dashboard/widgets/user/workflow-tasks-near-deadline-bar-widget.config.ts","../../../../libs/modules/workflow-management/src/lib/features/dashboard/widgets/workflow-dashboard-widgets.provider.ts","../../../../libs/modules/workflow-management/src/lib/features/activity-command-configurator/activity-command-configurator-widget.config.ts","../../../../libs/modules/workflow-management/src/lib/widget-definition.provider.ts","../../../../libs/modules/workflow-management/src/lib/features/engine/activities/show-confirm-popup.activity.ts","../../../../libs/modules/workflow-management/src/lib/features/engine/activities/show-layout-popup.activity.ts","../../../../libs/modules/workflow-management/src/lib/features/engine/activities/human-task.activity.ts","../../../../libs/modules/workflow-management/src/lib/features/engine/activities/cartable-task.activity.ts","../../../../libs/modules/workflow-management/src/lib/features/engine/activities/show-toast.activity.ts","../../../../libs/modules/workflow-management/src/lib/features/engine/activities/collect-signature.activity.ts","../../../../libs/modules/workflow-management/src/lib/features/engine/activities/create-entity-form.activity.ts","../../../../libs/modules/workflow-management/src/lib/features/engine/activities/workflow-activities-definition.provider.ts","../../../../libs/modules/workflow-management/src/lib/features/engine/activities/entiy.create.activity.ts","../../../../libs/modules/workflow-management/src/lib/features/automation-plugin/automation.plugin.ts","../../../../libs/modules/workflow-management/src/lib/features/workflow-plugin/workflow.plugin.ts","../../../../libs/modules/workflow-management/src/lib/features/workflow-plugin/workflow-plugin.module.ts","../../../../libs/modules/workflow-management/src/lib/features/engine/category.provider.ts","../../../../libs/modules/workflow-management/src/lib/features/engine/workflows/workflow-category.provider.ts","../../../../libs/modules/workflow-management/src/lib/features/engine/workflows/workflow-definition.provider.ts","../../../../libs/modules/workflow-management/src/lib/features/workflow-definition-status.provider.ts","../../../../libs/modules/workflow-management/src/lib/manifest.ts","../../../../libs/modules/workflow-management/src/lib/features/automation-evaluator-scope.provider.ts","../../../../libs/modules/workflow-management/src/lib/permission-definition.provider.ts","../../../../libs/modules/workflow-management/src/lib/features/task-provider/workflow-task-reassign-access.ts","../../../../libs/modules/workflow-management/src/lib/features/task-provider/generic-workflow-task.provider.ts","../../../../libs/modules/workflow-management/src/lib/features/engine/provider.task.ts","../../../../libs/modules/workflow-management/src/lib/workflow-management.module.ts","../../../../libs/modules/workflow-management/src/lib/entities/automation/automation.types.ts","../../../../libs/modules/workflow-management/src/lib/entities/index.ts","../../../../libs/modules/workflow-management/src/acorex-modules-workflow-management.ts"],"sourcesContent":["const config = {\n i18n: 'workflow-management',\n module: 'WorkflowManagement',\n};\n\n/** Builds extended dashboard widget type ids: `{module}:Widget:Dashboard:{Segment}`. */\nconst workflowDashboardWidgetId = (segment: string): string =>\n `${config.module}:Widget:Dashboard:${segment}`;\n\nexport const RootConfig = {\n config,\n module: {\n route: 'workflow-management',\n name: config.module,\n title: '@workflow-management:module.title',\n icon: 'fa-light fa-diagram-project',\n },\n entities: {\n workflowDefinition: {\n name: 'WorkflowDefinition',\n fullName: `${config.module}.WorkflowDefinition`,\n title: '@workflow-management:workflow-definitions.entities.workflow-definition.title',\n titlePlural: '@workflow-management:workflow-definitions.entities.workflow-definition.plural',\n icon: 'fa-light fa-diagram-project',\n },\n workflowInstance: {\n name: 'WorkflowInstance',\n fullName: `${config.module}.WorkflowInstance`,\n title: '@workflow-management:workflow-instances.entities.workflow-instance.title',\n titlePlural: '@workflow-management:workflow-instances.entities.workflow-instance.plural',\n icon: 'fa-light fa-play-circle',\n },\n activityDefinition: {\n name: 'ActivityDefinition',\n fullName: `${config.module}.ActivityDefinition`,\n title: '@workflow-management:activities.entities.activity-definition.title',\n titlePlural: '@workflow-management:activities.entities.activity-definition.plural',\n icon: 'fa-light fa-puzzle-piece',\n },\n automation: {\n name: 'Automation',\n fullName: `${config.module}.Automation`,\n title: '@workflow-management:automations.entities.automation.title',\n titlePlural: '@workflow-management:automations.entities.automation.plural',\n icon: 'fa-light fa-bolt',\n },\n // workflowCategory: {\n // name: 'WorkflowCategory',\n // fullName: `${config.module}.WorkflowCategory`,\n // title: '@workflow-management:workflows.entities.workflow-category.title',\n // titlePlural: '@workflow-management:workflows.entities.workflow-category.plural',\n // icon: 'fa-light fa-folder',\n // },\n },\n dataSources: {\n dashboardChart: {\n pendingApproval: `${config.module}:DataSource:PendingApproval`,\n workloadByProcess: `${config.module}:DataSource:WorkloadByProcess`,\n slaCompliance: `${config.module}:DataSource:SlaCompliance`,\n throughputLast8Weeks: `${config.module}:DataSource:ThroughputLast8Weeks`,\n systemHealthSummary: `${config.module}:DataSource:SystemHealthSummary`,\n throughputDaily: `${config.module}:DataSource:ThroughputDaily`,\n throughputWeekly: `${config.module}:DataSource:ThroughputWeekly`,\n slaViolationsAndDelay: `${config.module}:DataSource:SlaViolationsAndDelay`,\n slaComplianceTrend: `${config.module}:DataSource:SlaComplianceTrend`,\n pendingTasksByAge: `${config.module}:DataSource:PendingTasksByAge`,\n failedProcessesSummary: `${config.module}:DataSource:FailedProcessesSummary`,\n failedProcessFailureTrend: `${config.module}:DataSource:FailedProcessFailureTrend`,\n failedProcessesByType: `${config.module}:DataSource:FailedProcessesByType`,\n stuckProcesses: `${config.module}:DataSource:StuckProcesses`,\n overdueTasksByProcess: `${config.module}:DataSource:OverdueTasksByProcess`,\n tasksNearDeadline: `${config.module}:DataSource:TasksNearDeadline`,\n bottleneckActivities: `${config.module}:DataSource:BottleneckActivities`,\n errorsByCategory: `${config.module}:DataSource:ErrorsByCategory`,\n /** Workflow instance funnel: counts per stage (created -> completed). */\n instanceConversionFunnel: `${config.module}:DataSource:InstanceConversionFunnel`,\n /** Heatmap: errors by activity/stage and weekday (or day bucket). */\n errorsByActivityDayHeatmap: `${config.module}:DataSource:ErrorsByActivityDayHeatmap`,\n workloadPerUserActive: `${config.module}:DataSource:WorkloadPerUserActive`,\n workloadPerUserOverdue: `${config.module}:DataSource:WorkloadPerUserOverdue`,\n workloadPerUserAvgAgeHours: `${config.module}:DataSource:WorkloadPerUserAvgAgeHours`,\n workloadOverloadedUsers: `${config.module}:DataSource:WorkloadOverloadedUsers`,\n slaRiskPrediction: `${config.module}:DataSource:SlaRiskPrediction`,\n },\n dashboardKpi: {\n slaComplianceSnapshot: `${config.module}:DataSource:SlaComplianceSnapshot`,\n taskStatusBreakdown: `${config.module}:DataSource:TaskStatusBreakdown`,\n throughputOverview: `${config.module}:DataSource:ThroughputOverview`,\n kpiStatCard: `${config.module}:DataSource:KpiStatCard`,\n },\n },\n /** Extended dashboard widget type ids; used by workflow dashboard widget configs. */\n widgets: {\n barChart: workflowDashboardWidgetId('BarChart'),\n tasksNearDeadlineBar: workflowDashboardWidgetId('TasksNearDeadlineBar'),\n pendingTasksByAgeBar: workflowDashboardWidgetId('PendingTasksByAgeBar'),\n overdueTasksBar: workflowDashboardWidgetId('OverdueTasksBar'),\n bottleneckBar: workflowDashboardWidgetId('BottleneckBar'),\n workloadPerUserOverdueBar: workflowDashboardWidgetId('WorkloadPerUserOverdueBar'),\n stuckProcessesBar: workflowDashboardWidgetId('StuckProcessesBar'),\n slaRiskPredictionBar: workflowDashboardWidgetId('SlaRiskPredictionBar'),\n failedProcessesByTypeDonut: workflowDashboardWidgetId('FailedProcessesByTypeDonut'),\n failedProcessesTrendLine: workflowDashboardWidgetId('FailedProcessesTrendLine'),\n throughputDailyLine: workflowDashboardWidgetId('ThroughputDailyLine'),\n throughputWeeklyLine: workflowDashboardWidgetId('ThroughputWeeklyLine'),\n failedProcessesSummaryBar: workflowDashboardWidgetId('FailedProcessesSummaryBar'),\n workloadPerUserActiveBar: workflowDashboardWidgetId('WorkloadPerUserActiveBar'),\n workloadPerUserAvgAgeBar: workflowDashboardWidgetId('WorkloadPerUserAvgAgeBar'),\n overloadedUsersBar: workflowDashboardWidgetId('OverloadedUsersBar'),\n donutChart: workflowDashboardWidgetId('DonutChart'),\n slaViolationsBar: workflowDashboardWidgetId('SlaViolationsBar'),\n gaugeChart: workflowDashboardWidgetId('GaugeChart'),\n lineChart: workflowDashboardWidgetId('LineChart'),\n slaTrendLine: workflowDashboardWidgetId('SlaTrendLine'),\n errorsBar: workflowDashboardWidgetId('ErrorsBar'),\n instanceConversionFunnel: workflowDashboardWidgetId('InstanceConversionFunnel'),\n errorsHeatmap: workflowDashboardWidgetId('ErrorsHeatmap'),\n systemHealthBar: workflowDashboardWidgetId('SystemHealthBar'),\n kpiDetails: workflowDashboardWidgetId('KpiDetails'),\n kpiProgress: workflowDashboardWidgetId('KpiProgress'),\n kpiSegmented: workflowDashboardWidgetId('KpiSegmented'),\n kpiStatCard: workflowDashboardWidgetId('KpiStatCard'),\n },\n};\n","export const AXMPermissionsKeys = {\n WorkflowManagement: {\n Management: 'WorkflowManagement:Permission:Management',\n },\n WorkflowInstance: {\n ReassignToSelf: 'WorkflowManagement:Permission:WorkflowInstance.ReassignToSelf',\n },\n} as const;\n","import { AXPEntity } from '@acorex/platform/common';\nimport { AXPEntityDefinitionLoader, AXPEntityPreloadEntity } from '@acorex/platform/layout/entity';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from './const';\n\n@Injectable()\nexport class AXMWorkflowManagementModuleEntityProvider implements AXPEntityDefinitionLoader {\n public preload(): AXPEntityPreloadEntity[] {\n const module = RootConfig.module.name;\n return Array.from(Object.values(RootConfig.entities)).map((entity: any) => ({\n module: module,\n entity: entity.name,\n }));\n }\n\n async get(moduleName: string, entityName: string): Promise<AXPEntity | null> {\n if (moduleName === RootConfig.module.name) {\n switch (entityName) {\n case RootConfig.entities.workflowDefinition.name:\n return (await import('./entities/workflow-definition/workflow-definition.entity')).factory();\n case RootConfig.entities.workflowInstance.name:\n return (await import('./entities/workflow-instance/workflow-instance.entity')).factory();\n case RootConfig.entities.activityDefinition.name:\n return (await import('./entities/activity-definition/activity-definition.entity')).factory();\n case RootConfig.entities.automation.name:\n return (await import('./entities/automation/automation.entity')).factory();\n }\n }\n return null;\n }\n\n async list(): Promise<{ name: string; module: string }[]> {\n const m = RootConfig.module.name;\n return Promise.resolve(\n Object.values(RootConfig.entities).map((e) => ({ name: e.name, module: m }))\n );\n }\n}\n\n","export const AXPWorkflowManagementMenuKeys = {\n Root: 'workflow-management:menu',\n Workflow: 'workflow-management:workflow',\n WorkflowDefinitions: 'workflow-management:workflow-definitions',\n WorkflowInstances: 'workflow-management:workflow-instances',\n Activities: 'workflow-management:activities',\n} as const;\n\n","import { AXPCommonMenuKeys } from '@acorex/modules/common';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPMenuProvider, AXPMenuProviderContext } from '@acorex/platform/common';\nimport { AXPEntityService } from '@acorex/platform/layout/entity';\nimport { inject } from '@angular/core';\nimport { firstValueFrom } from 'rxjs';\nimport { RootConfig } from './const';\nimport { AXPWorkflowManagementMenuKeys } from './menu.keys';\n\nexport class AXMMenuProvider implements AXPMenuProvider {\n private entityService = inject(AXPEntityService);\n private sessionService = inject(AXPSessionService);\n\n async provide(context: AXPMenuProviderContext): Promise<void> {\n const isAuthorized = await firstValueFrom(this.sessionService.isAuthorized$);\n if (!isAuthorized) {\n return;\n }\n\n const module = RootConfig.module;\n\n const workflowsMenu = context.find(AXPCommonMenuKeys.Workflows);\n if (!workflowsMenu.exists) {\n context.find(AXPCommonMenuKeys.Administration).addItems([\n {\n name: AXPCommonMenuKeys.Workflows,\n priority: 12,\n text: '@general:menus.workflows.title',\n icon: module.icon,\n type: 'menu',\n children: [],\n },\n ]);\n }\n\n context.find(AXPCommonMenuKeys.Workflows).addItems([\n {\n name: AXPWorkflowManagementMenuKeys.WorkflowDefinitions,\n text: '@workflow-management:workflow-definitions.menus.workflow-definitions.title',\n path: this.entityService.createPath(module.name, RootConfig.entities.workflowDefinition.name),\n priority: 1,\n icon: RootConfig.entities.workflowDefinition.icon,\n policy: {\n features: [module.name],\n },\n },\n {\n name: AXPWorkflowManagementMenuKeys.WorkflowInstances,\n text: '@workflow-management:workflow-instances.menus.workflow-instances.title',\n path: this.entityService.createPath(module.name, RootConfig.entities.workflowInstance.name),\n priority: 2,\n icon: RootConfig.entities.workflowInstance.icon,\n policy: {\n features: [module.name],\n },\n },\n ]);\n }\n}\n","import { AXPDefinitionCategory } from \"@acorex/platform/core\";\n\n/**\n * Single source of truth for the workflow tab in the widget picker.\n * All workflow dashboard extended widgets must use this so `uniqBy(name)` keeps a localized title.\n */\nexport const AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY: AXPDefinitionCategory = {\n name: 'workflow',\n order: 3,\n title: '@workflow-management:dashboard-widgets.widget-picker-category.workflow',\n};\n","import { AXPDefinitionCategory } from \"@acorex/platform/core\";\n\nconst SUB = '@workflow-management:dashboard-widgets.widget-picker-sub-categories';\n\n//#region ---- Workflow dashboard widget picker sub-categories ----\n\nexport const AXP_WORKFLOW_DASHBOARD_SUB_KPI: AXPDefinitionCategory = {\n name: 'workflow-kpi',\n order: 1,\n title: `${SUB}.kpi`,\n};\n\nexport const AXP_WORKFLOW_DASHBOARD_SUB_THROUGHPUT: AXPDefinitionCategory = {\n name: 'workflow-throughput',\n order: 2,\n title: `${SUB}.throughput`,\n};\n\nexport const AXP_WORKFLOW_DASHBOARD_SUB_FAILURES: AXPDefinitionCategory = {\n name: 'workflow-failures',\n order: 3,\n title: `${SUB}.failures`,\n};\n\nexport const AXP_WORKFLOW_DASHBOARD_SUB_ERRORS: AXPDefinitionCategory = {\n name: 'workflow-errors',\n order: 4,\n title: `${SUB}.errors`,\n};\n\nexport const AXP_WORKFLOW_DASHBOARD_SUB_SLA: AXPDefinitionCategory = {\n name: 'workflow-sla',\n order: 5,\n title: `${SUB}.sla`,\n};\n\nexport const AXP_WORKFLOW_DASHBOARD_SUB_WORKLOAD: AXPDefinitionCategory = {\n name: 'workflow-workload',\n order: 6,\n title: `${SUB}.workload`,\n};\n\nexport const AXP_WORKFLOW_DASHBOARD_SUB_TASKS: AXPDefinitionCategory = {\n name: 'workflow-tasks',\n order: 7,\n title: `${SUB}.tasks`,\n};\n\nexport const AXP_WORKFLOW_DASHBOARD_SUB_SYSTEM_HEALTH: AXPDefinitionCategory = {\n name: 'workflow-system-health',\n order: 8,\n title: `${SUB}.system-health`,\n};\n\nexport const AXP_WORKFLOW_DASHBOARD_SUB_USER: AXPDefinitionCategory = {\n name: 'workflow-user',\n order: 9,\n title: `${SUB}.user`,\n};\n\n//#endregion\n","import { AXPBarChartWidget } from '@acorex/modules/dashboard-management';\nimport { AXPWidgetGroupEnum, type AXPExtendedWidget } from '@acorex/platform/layout/widget-core';\nimport { RootConfig } from '../../../../../const';\nimport { AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY } from '../../workflow-dashboard-widget-category';\nimport { AXP_WORKFLOW_DASHBOARD_SUB_ERRORS } from '../../workflow-dashboard-widget-subcategories';\n\nexport const AXMWorkflowErrorsBarChartAXPExtendedWidget: AXPExtendedWidget = {\n parentName: AXPBarChartWidget.name,\n widget: {\n ...AXPBarChartWidget,\n name: RootConfig.widgets.errorsBar,\n title: '@workflow-management:dashboard-widgets.workflow-errors-bar.widget-title',\n description: '@workflow-management:dashboard-widgets.workflow-errors-bar.widget-description',\n groups: [AXPWidgetGroupEnum.DashboardWidget],\n categories: [AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY],\n subCategory: AXP_WORKFLOW_DASHBOARD_SUB_ERRORS,\n options: {\n title: '@workflow-management:dashboard-widgets.workflow-errors-bar.chart-title',\n xAxisLabel: '@workflow-management:dashboard-widgets.workflow-errors-bar.x-axis-label',\n yAxisLabel: '@workflow-management:dashboard-widgets.workflow-errors-bar.y-axis-label',\n dataSource: RootConfig.dataSources.dashboardChart.errorsByCategory,\n },\n },\n};\n","import { AXPHeatmapChartWidget } from '@acorex/modules/dashboard-management';\nimport { AXPWidgetGroupEnum, type AXPExtendedWidget } from '@acorex/platform/layout/widget-core';\nimport { RootConfig } from '../../../../../const';\nimport { AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY } from '../../workflow-dashboard-widget-category';\nimport { AXP_WORKFLOW_DASHBOARD_SUB_ERRORS } from '../../workflow-dashboard-widget-subcategories';\n\n/**\n * Real-world use case:\n * Heatmap of workflow errors by activity/stage (Y) and day bucket (X).\n *\n * Typical interpretation:\n * - X: weekday (\"Mon\"..\"Sun\") or recent days (\"D-6\".. \"Today\")\n * - Y: activity name / step name (e.g. \"Approval\", \"Validation\", \"Notify\")\n * - value: error count\n * - label: optional preformatted tooltip value (e.g. \"12 errors\")\n *\n * DataSource contract (items):\n * - `{ x: string|number, y: string|number, value: number, label?: string }[]`\n */\nexport const AXMWorkflowErrorsHeatmapAXPExtendedWidget: AXPExtendedWidget = {\n parentName: AXPHeatmapChartWidget.name,\n widget: {\n ...AXPHeatmapChartWidget,\n name: RootConfig.widgets.errorsHeatmap,\n title: '@workflow-management:dashboard-widgets.workflow-errors-heatmap.widget-title',\n description: '@workflow-management:dashboard-widgets.workflow-errors-heatmap.widget-description',\n groups: [AXPWidgetGroupEnum.DashboardWidget],\n categories: [AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY],\n subCategory: AXP_WORKFLOW_DASHBOARD_SUB_ERRORS,\n options: {\n showXAxis: true,\n showYAxis: true,\n showTooltip: true,\n // xAxisLabel: '@workflow-management:dashboard-widgets.workflow-errors-heatmap.x-axis-label',\n // yAxisLabel: '@workflow-management:dashboard-widgets.workflow-errors-heatmap.y-axis-label',\n cellPadding: 0.08,\n borderRadius: 3,\n animationEasing: 'cubic-out',\n animationDuration: 800,\n dataSource: RootConfig.dataSources.dashboardChart.errorsByActivityDayHeatmap,\n messages: {\n noData: '@workflow-management:dashboard-widgets.common.no-data',\n noDataHelp: '@workflow-management:dashboard-widgets.workflow-errors-heatmap.no-data-help',\n },\n },\n },\n};\n","import { AXPDonutChartWidget } from '@acorex/modules/dashboard-management';\nimport { AXPWidgetGroupEnum, type AXPExtendedWidget } from '@acorex/platform/layout/widget-core';\nimport { RootConfig } from '../../../../../const';\nimport { AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY } from '../../workflow-dashboard-widget-category';\nimport { AXP_WORKFLOW_DASHBOARD_SUB_FAILURES } from '../../workflow-dashboard-widget-subcategories';\n\nexport const AXMWorkflowFailedProcessesByTypeDonutChartAXPExtendedWidget: AXPExtendedWidget = {\n parentName: AXPDonutChartWidget.name,\n widget: {\n ...AXPDonutChartWidget,\n name: RootConfig.widgets.failedProcessesByTypeDonut,\n title: '@workflow-management:dashboard-widgets.workflow-failed-processes-by-type-donut.widget-title',\n description: '@workflow-management:dashboard-widgets.workflow-failed-processes-by-type-donut.widget-description',\n groups: [AXPWidgetGroupEnum.DashboardWidget],\n categories: [AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY],\n subCategory: AXP_WORKFLOW_DASHBOARD_SUB_FAILURES,\n options: {\n title: '@workflow-management:dashboard-widgets.workflow-failed-processes-by-type-donut.chart-title',\n dataSource: RootConfig.dataSources.dashboardChart.failedProcessesByType,\n },\n },\n};\n","import { AXPBarChartWidget } from '@acorex/modules/dashboard-management';\nimport { AXPWidgetGroupEnum, type AXPExtendedWidget } from '@acorex/platform/layout/widget-core';\nimport { RootConfig } from '../../../../../const';\nimport { AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY } from '../../workflow-dashboard-widget-category';\nimport { AXP_WORKFLOW_DASHBOARD_SUB_FAILURES } from '../../workflow-dashboard-widget-subcategories';\n\nexport const AXMWorkflowFailedProcessesSummaryBarChartAXPExtendedWidget: AXPExtendedWidget = {\n parentName: AXPBarChartWidget.name,\n widget: {\n ...AXPBarChartWidget,\n name: RootConfig.widgets.failedProcessesSummaryBar,\n title: '@workflow-management:dashboard-widgets.workflow-failed-processes-summary-bar.widget-title',\n description: '@workflow-management:dashboard-widgets.workflow-failed-processes-summary-bar.widget-description',\n groups: [AXPWidgetGroupEnum.DashboardWidget],\n categories: [AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY],\n subCategory: AXP_WORKFLOW_DASHBOARD_SUB_FAILURES,\n options: {\n title: '@workflow-management:dashboard-widgets.workflow-failed-processes-summary-bar.chart-title',\n xAxisLabel: '@workflow-management:dashboard-widgets.workflow-failed-processes-summary-bar.x-axis-label',\n yAxisLabel: '@workflow-management:dashboard-widgets.workflow-failed-processes-summary-bar.y-axis-label',\n dataSource: RootConfig.dataSources.dashboardChart.failedProcessesSummary,\n },\n },\n};\n","import { AXPLineChartWidget } from '@acorex/modules/dashboard-management';\nimport { AXPWidgetGroupEnum, type AXPExtendedWidget } from '@acorex/platform/layout/widget-core';\nimport { RootConfig } from '../../../../../const';\nimport { AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY } from '../../workflow-dashboard-widget-category';\nimport { AXP_WORKFLOW_DASHBOARD_SUB_FAILURES } from '../../workflow-dashboard-widget-subcategories';\n\nexport const AXMWorkflowFailedProcessesTrendLineChartAXPExtendedWidget: AXPExtendedWidget = {\n parentName: AXPLineChartWidget.name,\n widget: {\n ...AXPLineChartWidget,\n name: RootConfig.widgets.failedProcessesTrendLine,\n title: '@workflow-management:dashboard-widgets.workflow-failed-processes-trend-line.widget-title',\n description: '@workflow-management:dashboard-widgets.workflow-failed-processes-trend-line.widget-description',\n groups: [AXPWidgetGroupEnum.DashboardWidget],\n categories: [AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY],\n subCategory: AXP_WORKFLOW_DASHBOARD_SUB_FAILURES,\n options: {\n title: '@workflow-management:dashboard-widgets.workflow-failed-processes-trend-line.chart-title',\n xAxisLabel: '@workflow-management:dashboard-widgets.workflow-failed-processes-trend-line.x-axis-label',\n yAxisLabel: '@workflow-management:dashboard-widgets.workflow-failed-processes-trend-line.y-axis-label',\n fillArea: false,\n yAxisStartsAtZero: true,\n dataSource: RootConfig.dataSources.dashboardChart.failedProcessFailureTrend,\n },\n },\n};\n","import { AXPBarChartWidget } from '@acorex/modules/dashboard-management';\nimport { AXPWidgetGroupEnum, type AXPExtendedWidget } from '@acorex/platform/layout/widget-core';\nimport { RootConfig } from '../../../../../const';\nimport { AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY } from '../../workflow-dashboard-widget-category';\nimport { AXP_WORKFLOW_DASHBOARD_SUB_FAILURES } from '../../workflow-dashboard-widget-subcategories';\n\nexport const AXMWorkflowStuckProcessesBarChartAXPExtendedWidget: AXPExtendedWidget = {\n parentName: AXPBarChartWidget.name,\n widget: {\n ...AXPBarChartWidget,\n name: RootConfig.widgets.stuckProcessesBar,\n title: '@workflow-management:dashboard-widgets.workflow-stuck-processes-bar.widget-title',\n description: '@workflow-management:dashboard-widgets.workflow-stuck-processes-bar.widget-description',\n groups: [AXPWidgetGroupEnum.DashboardWidget],\n categories: [AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY],\n subCategory: AXP_WORKFLOW_DASHBOARD_SUB_FAILURES,\n options: {\n title: '@workflow-management:dashboard-widgets.workflow-stuck-processes-bar.chart-title',\n xAxisLabel: '@workflow-management:dashboard-widgets.workflow-stuck-processes-bar.x-axis-label',\n yAxisLabel: '@workflow-management:dashboard-widgets.workflow-stuck-processes-bar.y-axis-label',\n dataSource: RootConfig.dataSources.dashboardChart.stuckProcesses,\n },\n },\n};\n","import { AXPGaugeChartWidget } from '@acorex/modules/dashboard-management';\nimport { AXPWidgetGroupEnum, type AXPExtendedWidget } from '@acorex/platform/layout/widget-core';\nimport { RootConfig } from '../../../../../const';\nimport { AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY } from '../../workflow-dashboard-widget-category';\nimport { AXP_WORKFLOW_DASHBOARD_SUB_SLA } from '../../workflow-dashboard-widget-subcategories';\n\nexport const AXMWorkflowGaugeChartAXPExtendedWidget: AXPExtendedWidget = {\n parentName: AXPGaugeChartWidget.name,\n widget: {\n ...AXPGaugeChartWidget,\n name: RootConfig.widgets.gaugeChart,\n title: '@workflow-management:dashboard-widgets.workflow-gauge-chart.widget-title',\n description: '@workflow-management:dashboard-widgets.workflow-gauge-chart.widget-description',\n groups: [AXPWidgetGroupEnum.DashboardWidget],\n categories: [AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY],\n subCategory: AXP_WORKFLOW_DASHBOARD_SUB_SLA,\n options: {\n title: '@workflow-management:dashboard-widgets.workflow-gauge-chart.chart-title',\n label: '@workflow-management:dashboard-widgets.workflow-gauge-chart.gauge-label',\n dataSource: RootConfig.dataSources.dashboardChart.slaCompliance,\n minValue: 0,\n maxValue: 100,\n thresholds: [\n {\n value: 30,\n color: 'rgba(var(--ax-sys-color-danger-500))',\n label: '@workflow-management:dashboard-widgets.workflow-gauge-chart.threshold-low',\n },\n {\n value: 70,\n color: 'rgba(var(--ax-sys-color-warning-500))',\n label: '@workflow-management:dashboard-widgets.workflow-gauge-chart.threshold-medium',\n },\n {\n value: 100,\n color: 'rgba(var(--ax-sys-color-success-500))',\n label: '@workflow-management:dashboard-widgets.workflow-gauge-chart.threshold-high',\n },\n ],\n },\n },\n};\n","import { AXPBarChartWidget } from '@acorex/modules/dashboard-management';\nimport { AXPWidgetGroupEnum, type AXPExtendedWidget } from '@acorex/platform/layout/widget-core';\nimport { RootConfig } from '../../../../../const';\nimport { AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY } from '../../workflow-dashboard-widget-category';\nimport { AXP_WORKFLOW_DASHBOARD_SUB_SLA } from '../../workflow-dashboard-widget-subcategories';\n\nexport const AXMWorkflowSlaRiskPredictionBarChartAXPExtendedWidget: AXPExtendedWidget = {\n parentName: AXPBarChartWidget.name,\n widget: {\n ...AXPBarChartWidget,\n name: RootConfig.widgets.slaRiskPredictionBar,\n title: '@workflow-management:dashboard-widgets.workflow-sla-risk-prediction-bar.widget-title',\n description: '@workflow-management:dashboard-widgets.workflow-sla-risk-prediction-bar.widget-description',\n groups: [AXPWidgetGroupEnum.DashboardWidget],\n categories: [AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY],\n subCategory: AXP_WORKFLOW_DASHBOARD_SUB_SLA,\n options: {\n title: '@workflow-management:dashboard-widgets.workflow-sla-risk-prediction-bar.chart-title',\n xAxisLabel: '@workflow-management:dashboard-widgets.workflow-sla-risk-prediction-bar.x-axis-label',\n yAxisLabel: '@workflow-management:dashboard-widgets.workflow-sla-risk-prediction-bar.y-axis-label',\n dataSource: RootConfig.dataSources.dashboardChart.slaRiskPrediction,\n },\n },\n};\n","import { AXPLineChartWidget } from '@acorex/modules/dashboard-management';\nimport { AXPWidgetGroupEnum, type AXPExtendedWidget } from '@acorex/platform/layout/widget-core';\nimport { RootConfig } from '../../../../../const';\nimport { AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY } from '../../workflow-dashboard-widget-category';\nimport { AXP_WORKFLOW_DASHBOARD_SUB_SLA } from '../../workflow-dashboard-widget-subcategories';\n\nexport const AXMWorkflowSlaTrendLineChartAXPExtendedWidget: AXPExtendedWidget = {\n parentName: AXPLineChartWidget.name,\n widget: {\n ...AXPLineChartWidget,\n name: RootConfig.widgets.slaTrendLine,\n title: '@workflow-management:dashboard-widgets.workflow-sla-trend-line.widget-title',\n description: '@workflow-management:dashboard-widgets.workflow-sla-trend-line.widget-description',\n groups: [AXPWidgetGroupEnum.DashboardWidget],\n categories: [AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY],\n subCategory: AXP_WORKFLOW_DASHBOARD_SUB_SLA,\n options: {\n title: '@workflow-management:dashboard-widgets.workflow-sla-trend-line.chart-title',\n xAxisLabel: '@workflow-management:dashboard-widgets.workflow-sla-trend-line.x-axis-label',\n yAxisLabel: '@workflow-management:dashboard-widgets.workflow-sla-trend-line.y-axis-label',\n fillArea: true,\n yAxisStartsAtZero: false,\n dataSource: RootConfig.dataSources.dashboardChart.slaComplianceTrend,\n },\n },\n};\n","import { AXPBarChartWidget } from '@acorex/modules/dashboard-management';\nimport { AXPWidgetGroupEnum, type AXPExtendedWidget } from '@acorex/platform/layout/widget-core';\nimport { RootConfig } from '../../../../../const';\nimport { AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY } from '../../workflow-dashboard-widget-category';\nimport { AXP_WORKFLOW_DASHBOARD_SUB_SLA } from '../../workflow-dashboard-widget-subcategories';\n\nexport const AXMWorkflowSlaViolationsBarChartAXPExtendedWidget: AXPExtendedWidget = {\n parentName: AXPBarChartWidget.name,\n widget: {\n ...AXPBarChartWidget,\n name: RootConfig.widgets.slaViolationsBar,\n title: '@workflow-management:dashboard-widgets.workflow-sla-violations-bar.widget-title',\n description: '@workflow-management:dashboard-widgets.workflow-sla-violations-bar.widget-description',\n groups: [AXPWidgetGroupEnum.DashboardWidget],\n categories: [AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY],\n subCategory: AXP_WORKFLOW_DASHBOARD_SUB_SLA,\n options: {\n title: '@workflow-management:dashboard-widgets.workflow-sla-violations-bar.chart-title',\n xAxisLabel: '@workflow-management:dashboard-widgets.workflow-sla-violations-bar.x-axis-label',\n yAxisLabel: '@workflow-management:dashboard-widgets.workflow-sla-violations-bar.y-axis-label',\n dataSource: RootConfig.dataSources.dashboardChart.slaViolationsAndDelay,\n },\n },\n};\n","import { AXPBarChartWidget } from '@acorex/modules/dashboard-management';\nimport { AXPWidgetGroupEnum, type AXPExtendedWidget } from '@acorex/platform/layout/widget-core';\nimport { RootConfig } from '../../../../../const';\nimport { AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY } from '../../workflow-dashboard-widget-category';\nimport { AXP_WORKFLOW_DASHBOARD_SUB_SYSTEM_HEALTH } from '../../workflow-dashboard-widget-subcategories';\n\nexport const AXMWorkflowSystemHealthBarChartAXPExtendedWidget: AXPExtendedWidget = {\n parentName: AXPBarChartWidget.name,\n widget: {\n ...AXPBarChartWidget,\n name: RootConfig.widgets.systemHealthBar,\n title: '@workflow-management:dashboard-widgets.workflow-system-health-bar.widget-title',\n description: '@workflow-management:dashboard-widgets.workflow-system-health-bar.widget-description',\n groups: [AXPWidgetGroupEnum.DashboardWidget],\n categories: [AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY],\n subCategory: AXP_WORKFLOW_DASHBOARD_SUB_SYSTEM_HEALTH,\n options: {\n title: '@workflow-management:dashboard-widgets.workflow-system-health-bar.chart-title',\n xAxisLabel: '@workflow-management:dashboard-widgets.workflow-system-health-bar.x-axis-label',\n yAxisLabel: '@workflow-management:dashboard-widgets.workflow-system-health-bar.y-axis-label',\n dataSource: RootConfig.dataSources.dashboardChart.systemHealthSummary,\n },\n },\n};\n","import { AXPBarChartWidget } from '@acorex/modules/dashboard-management';\nimport { AXPWidgetGroupEnum, type AXPExtendedWidget } from '@acorex/platform/layout/widget-core';\nimport { RootConfig } from '../../../../../const';\nimport { AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY } from '../../workflow-dashboard-widget-category';\nimport { AXP_WORKFLOW_DASHBOARD_SUB_TASKS } from '../../workflow-dashboard-widget-subcategories';\n\nexport const AXMWorkflowOverdueTasksBarChartAXPExtendedWidget: AXPExtendedWidget = {\n parentName: AXPBarChartWidget.name,\n widget: {\n ...AXPBarChartWidget,\n name: RootConfig.widgets.overdueTasksBar,\n title: '@workflow-management:dashboard-widgets.workflow-overdue-tasks-bar.widget-title',\n description: '@workflow-management:dashboard-widgets.workflow-overdue-tasks-bar.widget-description',\n groups: [AXPWidgetGroupEnum.DashboardWidget],\n categories: [AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY],\n subCategory: AXP_WORKFLOW_DASHBOARD_SUB_TASKS,\n options: {\n title: '@workflow-management:dashboard-widgets.workflow-overdue-tasks-bar.chart-title',\n xAxisLabel: '@workflow-management:dashboard-widgets.workflow-overdue-tasks-bar.x-axis-label',\n yAxisLabel: '@workflow-management:dashboard-widgets.workflow-overdue-tasks-bar.y-axis-label',\n dataSource: RootConfig.dataSources.dashboardChart.overdueTasksByProcess,\n },\n },\n};\n","import { AXPBarChartWidget } from '@acorex/modules/dashboard-management';\nimport { AXPWidgetGroupEnum, type AXPExtendedWidget } from '@acorex/platform/layout/widget-core';\nimport { RootConfig } from '../../../../../const';\nimport { AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY } from '../../workflow-dashboard-widget-category';\nimport { AXP_WORKFLOW_DASHBOARD_SUB_TASKS } from '../../workflow-dashboard-widget-subcategories';\n\nexport const AXMWorkflowPendingTasksByAgeBarChartAXPExtendedWidget: AXPExtendedWidget = {\n parentName: AXPBarChartWidget.name,\n widget: {\n ...AXPBarChartWidget,\n name: RootConfig.widgets.pendingTasksByAgeBar,\n title: '@workflow-management:dashboard-widgets.workflow-pending-tasks-by-age-bar.widget-title',\n description: '@workflow-management:dashboard-widgets.workflow-pending-tasks-by-age-bar.widget-description',\n groups: [AXPWidgetGroupEnum.DashboardWidget],\n categories: [AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY],\n subCategory: AXP_WORKFLOW_DASHBOARD_SUB_TASKS,\n options: {\n title: '@workflow-management:dashboard-widgets.workflow-pending-tasks-by-age-bar.chart-title',\n xAxisLabel: '@workflow-management:dashboard-widgets.workflow-pending-tasks-by-age-bar.x-axis-label',\n yAxisLabel: '@workflow-management:dashboard-widgets.workflow-pending-tasks-by-age-bar.y-axis-label',\n dataSource: RootConfig.dataSources.dashboardChart.pendingTasksByAge,\n },\n },\n};\n","import { AXPLineChartWidget } from '@acorex/modules/dashboard-management';\nimport { AXPWidgetGroupEnum, type AXPExtendedWidget } from '@acorex/platform/layout/widget-core';\nimport { RootConfig } from '../../../../../const';\nimport { AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY } from '../../workflow-dashboard-widget-category';\nimport { AXP_WORKFLOW_DASHBOARD_SUB_THROUGHPUT } from '../../workflow-dashboard-widget-subcategories';\n\nexport const AXMWorkflowLineChartAXPExtendedWidget: AXPExtendedWidget = {\n parentName: AXPLineChartWidget.name,\n widget: {\n ...AXPLineChartWidget,\n name: RootConfig.widgets.lineChart,\n title: '@workflow-management:dashboard-widgets.workflow-line-chart.widget-title',\n description: '@workflow-management:dashboard-widgets.workflow-line-chart.widget-description',\n groups: [AXPWidgetGroupEnum.DashboardWidget],\n categories: [AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY],\n subCategory: AXP_WORKFLOW_DASHBOARD_SUB_THROUGHPUT,\n options: {\n title: '@workflow-management:dashboard-widgets.workflow-line-chart.chart-title',\n xAxisLabel: '@workflow-management:dashboard-widgets.workflow-line-chart.x-axis-label',\n yAxisLabel: '@workflow-management:dashboard-widgets.workflow-line-chart.y-axis-label',\n fillArea: false,\n /** Focus Y domain on the data range so the two series are readable (not squashed to the top band). */\n yAxisStartsAtZero: false,\n dataSource: RootConfig.dataSources.dashboardChart.throughputLast8Weeks,\n },\n },\n};\n","import { AXPFunnelChartWidget } from '@acorex/modules/dashboard-management';\nimport { AXPWidgetGroupEnum, type AXPExtendedWidget } from '@acorex/platform/layout/widget-core';\nimport { RootConfig } from '../../../../../const';\nimport { AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY } from '../../workflow-dashboard-widget-category';\nimport { AXP_WORKFLOW_DASHBOARD_SUB_THROUGHPUT } from '../../workflow-dashboard-widget-subcategories';\n\n/**\n * Real-world use case:\n * A conversion funnel across workflow instance lifecycle stages (Created -> Assigned -> In progress -> Completed).\n *\n * DataSource contract (items):\n * - `{ name: string, value: number, color?: string }[]`\n */\nexport const AXMWorkflowInstanceConversionFunnelAXPExtendedWidget: AXPExtendedWidget = {\n parentName: AXPFunnelChartWidget.name,\n widget: {\n ...AXPFunnelChartWidget,\n name: RootConfig.widgets.instanceConversionFunnel,\n title: '@workflow-management:dashboard-widgets.workflow-instance-conversion-funnel.widget-title',\n description: '@workflow-management:dashboard-widgets.workflow-instance-conversion-funnel.widget-description',\n groups: [AXPWidgetGroupEnum.DashboardWidget],\n categories: [AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY],\n subCategory: AXP_WORKFLOW_DASHBOARD_SUB_THROUGHPUT,\n options: {\n showLabels: true,\n showTooltip: true,\n neckWidth: 0.25,\n animationEasing: 'cubic-out',\n animationDuration: 800,\n margin: { top: 16, right: 16, bottom: 16, left: 16 },\n dataSource: RootConfig.dataSources.dashboardChart.instanceConversionFunnel,\n messages: {\n noData: '@workflow-management:dashboard-widgets.common.no-data',\n },\n },\n },\n};\n","import { AXPLineChartWidget } from '@acorex/modules/dashboard-management';\nimport { AXPWidgetGroupEnum, type AXPExtendedWidget } from '@acorex/platform/layout/widget-core';\nimport { RootConfig } from '../../../../../const';\nimport { AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY } from '../../workflow-dashboard-widget-category';\nimport { AXP_WORKFLOW_DASHBOARD_SUB_THROUGHPUT } from '../../workflow-dashboard-widget-subcategories';\n\nexport const AXMWorkflowThroughputDailyLineChartAXPExtendedWidget: AXPExtendedWidget = {\n parentName: AXPLineChartWidget.name,\n widget: {\n ...AXPLineChartWidget,\n name: RootConfig.widgets.throughputDailyLine,\n title: '@workflow-management:dashboard-widgets.workflow-throughput-daily-line.widget-title',\n description: '@workflow-management:dashboard-widgets.workflow-throughput-daily-line.widget-description',\n groups: [AXPWidgetGroupEnum.DashboardWidget],\n categories: [AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY],\n subCategory: AXP_WORKFLOW_DASHBOARD_SUB_THROUGHPUT,\n options: {\n title: '@workflow-management:dashboard-widgets.workflow-throughput-daily-line.chart-title',\n xAxisLabel: '@workflow-management:dashboard-widgets.workflow-throughput-daily-line.x-axis-label',\n yAxisLabel: '@workflow-management:dashboard-widgets.workflow-throughput-daily-line.y-axis-label',\n fillArea: false,\n yAxisStartsAtZero: false,\n dataSource: RootConfig.dataSources.dashboardChart.throughputDaily,\n },\n },\n};\n","import { AXPLineChartWidget } from '@acorex/modules/dashboard-management';\nimport { AXPWidgetGroupEnum, type AXPExtendedWidget } from '@acorex/platform/layout/widget-core';\nimport { RootConfig } from '../../../../../const';\nimport { AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY } from '../../workflow-dashboard-widget-category';\nimport { AXP_WORKFLOW_DASHBOARD_SUB_THROUGHPUT } from '../../workflow-dashboard-widget-subcategories';\n\nexport const AXMWorkflowThroughputWeeklyLineChartAXPExtendedWidget: AXPExtendedWidget = {\n parentName: AXPLineChartWidget.name,\n widget: {\n ...AXPLineChartWidget,\n name: RootConfig.widgets.throughputWeeklyLine,\n title: '@workflow-management:dashboard-widgets.workflow-throughput-weekly-line.widget-title',\n description: '@workflow-management:dashboard-widgets.workflow-throughput-weekly-line.widget-description',\n groups: [AXPWidgetGroupEnum.DashboardWidget],\n categories: [AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY],\n subCategory: AXP_WORKFLOW_DASHBOARD_SUB_THROUGHPUT,\n options: {\n title: '@workflow-management:dashboard-widgets.workflow-throughput-weekly-line.chart-title',\n xAxisLabel: '@workflow-management:dashboard-widgets.workflow-throughput-weekly-line.x-axis-label',\n yAxisLabel: '@workflow-management:dashboard-widgets.workflow-throughput-weekly-line.y-axis-label',\n fillArea: false,\n yAxisStartsAtZero: false,\n dataSource: RootConfig.dataSources.dashboardChart.throughputWeekly,\n },\n },\n};\n","import { AXPBarChartWidget } from '@acorex/modules/dashboard-management';\nimport { AXPWidgetGroupEnum, type AXPExtendedWidget } from '@acorex/platform/layout/widget-core';\nimport { RootConfig } from '../../../../../const';\nimport { AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY } from '../../workflow-dashboard-widget-category';\nimport { AXP_WORKFLOW_DASHBOARD_SUB_WORKLOAD } from '../../workflow-dashboard-widget-subcategories';\n\nexport const AXMWorkflowBottleneckBarChartAXPExtendedWidget: AXPExtendedWidget = {\n parentName: AXPBarChartWidget.name,\n widget: {\n ...AXPBarChartWidget,\n name: RootConfig.widgets.bottleneckBar,\n title: '@workflow-management:dashboard-widgets.workflow-bottleneck-bar.widget-title',\n description: '@workflow-management:dashboard-widgets.workflow-bottleneck-bar.widget-description',\n groups: [AXPWidgetGroupEnum.DashboardWidget],\n categories: [AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY],\n subCategory: AXP_WORKFLOW_DASHBOARD_SUB_WORKLOAD,\n options: {\n title: '@workflow-management:dashboard-widgets.workflow-bottleneck-bar.chart-title',\n xAxisLabel: '@workflow-management:dashboard-widgets.workflow-bottleneck-bar.x-axis-label',\n yAxisLabel: '@workflow-management:dashboard-widgets.workflow-bottleneck-bar.y-axis-label',\n dataSource: RootConfig.dataSources.dashboardChart.bottleneckActivities,\n },\n },\n};\n","import { AXPDonutChartWidget } from '@acorex/modules/dashboard-management';\nimport { AXPWidgetGroupEnum, type AXPExtendedWidget } from '@acorex/platform/layout/widget-core';\nimport { RootConfig } from '../../../../../const';\nimport { AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY } from '../../workflow-dashboard-widget-category';\nimport { AXP_WORKFLOW_DASHBOARD_SUB_WORKLOAD } from '../../workflow-dashboard-widget-subcategories';\n\nexport const AXMWorkflowDonutChartAXPExtendedWidget: AXPExtendedWidget = {\n parentName: AXPDonutChartWidget.name,\n widget: {\n ...AXPDonutChartWidget,\n name: RootConfig.widgets.donutChart,\n title: '@workflow-management:dashboard-widgets.workflow-donut-chart.widget-title',\n description: '@workflow-management:dashboard-widgets.workflow-donut-chart.widget-description',\n groups: [AXPWidgetGroupEnum.DashboardWidget],\n categories: [AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY],\n subCategory: AXP_WORKFLOW_DASHBOARD_SUB_WORKLOAD,\n options: {\n title: '@workflow-management:dashboard-widgets.workflow-donut-chart.chart-title',\n dataSource: RootConfig.dataSources.dashboardChart.workloadByProcess,\n },\n },\n};\n","import { AXPBarChartWidget } from '@acorex/modules/dashboard-management';\nimport { AXPWidgetGroupEnum, type AXPExtendedWidget } from '@acorex/platform/layout/widget-core';\nimport { RootConfig } from '../../../../../const';\nimport { AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY } from '../../workflow-dashboard-widget-category';\nimport { AXP_WORKFLOW_DASHBOARD_SUB_WORKLOAD } from '../../workflow-dashboard-widget-subcategories';\n\nexport const AXMWorkflowOverloadedUsersBarChartAXPExtendedWidget: AXPExtendedWidget = {\n parentName: AXPBarChartWidget.name,\n widget: {\n ...AXPBarChartWidget,\n name: RootConfig.widgets.overloadedUsersBar,\n title: '@workflow-management:dashboard-widgets.workflow-overloaded-users-bar.widget-title',\n description: '@workflow-management:dashboard-widgets.workflow-overloaded-users-bar.widget-description',\n groups: [AXPWidgetGroupEnum.DashboardWidget],\n categories: [AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY],\n subCategory: AXP_WORKFLOW_DASHBOARD_SUB_WORKLOAD,\n options: {\n title: '@workflow-management:dashboard-widgets.workflow-overloaded-users-bar.chart-title',\n xAxisLabel: '@workflow-management:dashboard-widgets.workflow-overloaded-users-bar.x-axis-label',\n yAxisLabel: '@workflow-management:dashboard-widgets.workflow-overloaded-users-bar.y-axis-label',\n dataSource: RootConfig.dataSources.dashboardChart.workloadOverloadedUsers,\n },\n },\n};\n","import { AXPBarChartWidget } from '@acorex/modules/dashboard-management';\nimport { AXPWidgetGroupEnum, type AXPExtendedWidget } from '@acorex/platform/layout/widget-core';\nimport { RootConfig } from '../../../../../const';\nimport { AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY } from '../../workflow-dashboard-widget-category';\nimport { AXP_WORKFLOW_DASHBOARD_SUB_WORKLOAD } from '../../workflow-dashboard-widget-subcategories';\n\nexport const AXMWorkflowWorkloadPerUserActiveBarChartAXPExtendedWidget: AXPExtendedWidget = {\n parentName: AXPBarChartWidget.name,\n widget: {\n ...AXPBarChartWidget,\n name: RootConfig.widgets.workloadPerUserActiveBar,\n title: '@workflow-management:dashboard-widgets.workflow-workload-per-user-active-bar.widget-title',\n description: '@workflow-management:dashboard-widgets.workflow-workload-per-user-active-bar.widget-description',\n groups: [AXPWidgetGroupEnum.DashboardWidget],\n categories: [AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY],\n subCategory: AXP_WORKFLOW_DASHBOARD_SUB_WORKLOAD,\n options: {\n title: '@workflow-management:dashboard-widgets.workflow-workload-per-user-active-bar.chart-title',\n xAxisLabel: '@workflow-management:dashboard-widgets.workflow-workload-per-user-active-bar.x-axis-label',\n yAxisLabel: '@workflow-management:dashboard-widgets.workflow-workload-per-user-active-bar.y-axis-label',\n dataSource: RootConfig.dataSources.dashboardChart.workloadPerUserActive,\n },\n },\n};\n","import { AXPBarChartWidget } from '@acorex/modules/dashboard-management';\nimport { AXPWidgetGroupEnum, type AXPExtendedWidget } from '@acorex/platform/layout/widget-core';\nimport { RootConfig } from '../../../../../const';\nimport { AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY } from '../../workflow-dashboard-widget-category';\nimport { AXP_WORKFLOW_DASHBOARD_SUB_WORKLOAD } from '../../workflow-dashboard-widget-subcategories';\n\nexport const AXMWorkflowWorkloadPerUserAvgAgeBarChartAXPExtendedWidget: AXPExtendedWidget = {\n parentName: AXPBarChartWidget.name,\n widget: {\n ...AXPBarChartWidget,\n name: RootConfig.widgets.workloadPerUserAvgAgeBar,\n title: '@workflow-management:dashboard-widgets.workflow-workload-per-user-avg-age-bar.widget-title',\n description: '@workflow-management:dashboard-widgets.workflow-workload-per-user-avg-age-bar.widget-description',\n groups: [AXPWidgetGroupEnum.DashboardWidget],\n categories: [AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY],\n subCategory: AXP_WORKFLOW_DASHBOARD_SUB_WORKLOAD,\n options: {\n title: '@workflow-management:dashboard-widgets.workflow-workload-per-user-avg-age-bar.chart-title',\n xAxisLabel: '@workflow-management:dashboard-widgets.workflow-workload-per-user-avg-age-bar.x-axis-label',\n yAxisLabel: '@workflow-management:dashboard-widgets.workflow-workload-per-user-avg-age-bar.y-axis-label',\n dataSource: RootConfig.dataSources.dashboardChart.workloadPerUserAvgAgeHours,\n },\n },\n};\n","import { AXPBarChartWidget } from '@acorex/modules/dashboard-management';\nimport { AXPWidgetGroupEnum, type AXPExtendedWidget } from '@acorex/platform/layout/widget-core';\nimport { RootConfig } from '../../../../../const';\nimport { AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY } from '../../workflow-dashboard-widget-category';\nimport { AXP_WORKFLOW_DASHBOARD_SUB_WORKLOAD } from '../../workflow-dashboard-widget-subcategories';\n\nexport const AXMWorkflowWorkloadPerUserOverdueBarChartAXPExtendedWidget: AXPExtendedWidget = {\n parentName: AXPBarChartWidget.name,\n widget: {\n ...AXPBarChartWidget,\n name: RootConfig.widgets.workloadPerUserOverdueBar,\n title: '@workflow-management:dashboard-widgets.workflow-workload-per-user-overdue-bar.widget-title',\n description: '@workflow-management:dashboard-widgets.workflow-workload-per-user-overdue-bar.widget-description',\n groups: [AXPWidgetGroupEnum.DashboardWidget],\n categories: [AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY],\n subCategory: AXP_WORKFLOW_DASHBOARD_SUB_WORKLOAD,\n options: {\n title: '@workflow-management:dashboard-widgets.workflow-workload-per-user-overdue-bar.chart-title',\n xAxisLabel: '@workflow-management:dashboard-widgets.workflow-workload-per-user-overdue-bar.x-axis-label',\n yAxisLabel: '@workflow-management:dashboard-widgets.workflow-workload-per-user-overdue-bar.y-axis-label',\n dataSource: RootConfig.dataSources.dashboardChart.workloadPerUserOverdue,\n },\n },\n};\n","import { AXPKpiDetailsWidget } from '@acorex/modules/dashboard-management';\nimport { AXPWidgetGroupEnum, type AXPExtendedWidget } from '@acorex/platform/layout/widget-core';\nimport { RootConfig } from '../../../../const';\nimport { AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY } from '../workflow-dashboard-widget-category';\nimport { AXP_WORKFLOW_DASHBOARD_SUB_KPI } from '../workflow-dashboard-widget-subcategories';\n\nexport const AXMWorkflowKpiDetailsAXPExtendedWidget: AXPExtendedWidget = {\n parentName: AXPKpiDetailsWidget.name,\n widget: {\n ...AXPKpiDetailsWidget,\n name: RootConfig.widgets.kpiDetails,\n title: '@workflow-management:dashboard-widgets.workflow-kpi-details.widget-title',\n description: '@workflow-management:dashboard-widgets.workflow-kpi-details.widget-description',\n groups: [AXPWidgetGroupEnum.DashboardWidget],\n categories: [AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY],\n subCategory: AXP_WORKFLOW_DASHBOARD_SUB_KPI,\n options: {\n title: '@workflow-management:dashboard-widgets.workflow-kpi-details.options-title',\n subtitle: '@workflow-management:dashboard-widgets.workflow-kpi-details.options-subtitle',\n valueSuffix: '@workflow-management:dashboard-widgets.workflow-kpi-details.value-suffix',\n dataSource: RootConfig.dataSources.dashboardKpi.throughputOverview,\n },\n },\n};\n","import { AXPKpiProgressWidget } from '@acorex/modules/dashboard-management';\nimport { AXPWidgetGroupEnum, type AXPExtendedWidget } from '@acorex/platform/layout/widget-core';\nimport { RootConfig } from '../../../../const';\nimport { AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY } from '../workflow-dashboard-widget-category';\nimport { AXP_WORKFLOW_DASHBOARD_SUB_KPI } from '../workflow-dashboard-widget-subcategories';\n\nexport const AXMWorkflowKpiProgressAXPExtendedWidget: AXPExtendedWidget = {\n parentName: AXPKpiProgressWidget.name,\n widget: {\n ...AXPKpiProgressWidget,\n name: RootConfig.widgets.kpiProgress,\n title: '@workflow-management:dashboard-widgets.workflow-kpi-progress.widget-title',\n description: '@workflow-management:dashboard-widgets.workflow-kpi-progress.widget-description',\n groups: [AXPWidgetGroupEnum.DashboardWidget],\n categories: [AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY],\n subCategory: AXP_WORKFLOW_DASHBOARD_SUB_KPI,\n options: {\n subtitle: '@workflow-management:dashboard-widgets.workflow-kpi-progress.options-subtitle',\n valueSuffix: '%',\n targetValue: 95,\n dataSource: RootConfig.dataSources.dashboardKpi.slaComplianceSnapshot,\n },\n },\n};\n","import { AXPKpiSegmentedWidget } from '@acorex/modules/dashboard-management';\nimport { AXPWidgetGroupEnum, type AXPExtendedWidget } from '@acorex/platform/layout/widget-core';\nimport { RootConfig } from '../../../../const';\nimport { AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY } from '../workflow-dashboard-widget-category';\nimport { AXP_WORKFLOW_DASHBOARD_SUB_KPI } from '../workflow-dashboard-widget-subcategories';\n\nexport const AXMWorkflowKpiSegmentedAXPExtendedWidget: AXPExtendedWidget = {\n parentName: AXPKpiSegmentedWidget.name,\n widget: {\n ...AXPKpiSegmentedWidget,\n name: RootConfig.widgets.kpiSegmented,\n title: '@workflow-management:dashboard-widgets.workflow-kpi-segmented.widget-title',\n description: '@workflow-management:dashboard-widgets.workflow-kpi-segmented.widget-description',\n groups: [AXPWidgetGroupEnum.DashboardWidget],\n categories: [AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY],\n subCategory: AXP_WORKFLOW_DASHBOARD_SUB_KPI,\n options: {\n title: '@workflow-management:dashboard-widgets.workflow-kpi-segmented.options-title',\n dataSource: RootConfig.dataSources.dashboardKpi.taskStatusBreakdown,\n },\n },\n};\n","import { AXPKpiStatCardWidget } from '@acorex/modules/dashboard-management';\nimport { AXPWidgetGroupEnum, type AXPExtendedWidget } from '@acorex/platform/layout/widget-core';\nimport { RootConfig } from '../../../../const';\nimport { AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY } from '../workflow-dashboard-widget-category';\nimport { AXP_WORKFLOW_DASHBOARD_SUB_KPI } from '../workflow-dashboard-widget-subcategories';\n\nexport const AXMWorkflowKpiStatCardAXPExtendedWidget: AXPExtendedWidget = {\n parentName: AXPKpiStatCardWidget.name,\n widget: {\n ...AXPKpiStatCardWidget,\n name: RootConfig.widgets.kpiStatCard,\n title: '@workflow-management:dashboard-widgets.workflow-kpi-stat-card.widget-title',\n description: '@workflow-management:dashboard-widgets.workflow-kpi-stat-card.widget-description',\n groups: [AXPWidgetGroupEnum.DashboardWidget],\n categories: [AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY],\n subCategory: AXP_WORKFLOW_DASHBOARD_SUB_KPI,\n options: {\n dataSource: RootConfig.dataSources.dashboardKpi.kpiStatCard,\n },\n },\n};\n","import { AXPBarChartWidget } from '@acorex/modules/dashboard-management';\nimport { AXPWidgetGroupEnum, type AXPExtendedWidget } from '@acorex/platform/layout/widget-core';\nimport { RootConfig } from '../../../../const';\nimport { AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY } from '../workflow-dashboard-widget-category';\nimport { AXP_WORKFLOW_DASHBOARD_SUB_USER } from '../workflow-dashboard-widget-subcategories';\n\nexport const AXMWorkflowBarChartAXPExtendedWidget: AXPExtendedWidget = {\n parentName: AXPBarChartWidget.name,\n widget: {\n ...AXPBarChartWidget,\n name: RootConfig.widgets.barChart,\n title: '@workflow-management:dashboard-widgets.workflow-bar-chart.widget-title',\n description: '@workflow-management:dashboard-widgets.workflow-bar-chart.widget-description',\n groups: [AXPWidgetGroupEnum.DashboardWidget],\n categories: [AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY],\n subCategory: AXP_WORKFLOW_DASHBOARD_SUB_USER,\n options: {\n title: '@workflow-management:dashboard-widgets.workflow-bar-chart.chart-title',\n xAxisLabel: '@workflow-management:dashboard-widgets.workflow-bar-chart.x-axis-label',\n yAxisLabel: '@workflow-management:dashboard-widgets.workflow-bar-chart.y-axis-label',\n dataSource: RootConfig.dataSources.dashboardChart.pendingApproval,\n },\n },\n};\n","import { AXPBarChartWidget } from '@acorex/modules/dashboard-management';\nimport { AXPWidgetGroupEnum, type AXPExtendedWidget } from '@acorex/platform/layout/widget-core';\nimport { RootConfig } from '../../../../const';\nimport { AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY } from '../workflow-dashboard-widget-category';\nimport { AXP_WORKFLOW_DASHBOARD_SUB_USER } from '../workflow-dashboard-widget-subcategories';\n\nexport const AXMWorkflowTasksNearDeadlineBarChartAXPExtendedWidget: AXPExtendedWidget = {\n parentName: AXPBarChartWidget.name,\n widget: {\n ...AXPBarChartWidget,\n name: RootConfig.widgets.tasksNearDeadlineBar,\n title: '@workflow-management:dashboard-widgets.workflow-tasks-near-deadline-bar.widget-title',\n description: '@workflow-management:dashboard-widgets.workflow-tasks-near-deadline-bar.widget-description',\n groups: [AXPWidgetGroupEnum.DashboardWidget],\n categories: [AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY],\n subCategory: AXP_WORKFLOW_DASHBOARD_SUB_USER,\n options: {\n title: '@workflow-management:dashboard-widgets.workflow-tasks-near-deadline-bar.chart-title',\n xAxisLabel: '@workflow-management:dashboard-widgets.workflow-tasks-near-deadline-bar.x-axis-label',\n yAxisLabel: '@workflow-management:dashboard-widgets.workflow-tasks-near-deadline-bar.y-axis-label',\n dataSource: RootConfig.dataSources.dashboardChart.tasksNearDeadline,\n },\n },\n};\n","//#region ---- Imports ----\n\nimport { AXPWidgetDefinitionProvider } from '@acorex/platform/layout/widget-core';\nimport type { AXPExtendedWidget } from '@acorex/platform/layout/widget-core';\nimport { Injectable } from '@angular/core';\nimport {\n AXMWorkflowBottleneckBarChartAXPExtendedWidget,\n AXMWorkflowDonutChartAXPExtendedWidget,\n AXMWorkflowErrorsBarChartAXPExtendedWidget,\n AXMWorkflowErrorsHeatmapAXPExtendedWidget,\n AXMWorkflowFailedProcessesByTypeDonutChartAXPExtendedWidget,\n AXMWorkflowFailedProcessesSummaryBarChartAXPExtendedWidget,\n AXMWorkflowFailedProcessesTrendLineChartAXPExtendedWidget,\n AXMWorkflowGaugeChartAXPExtendedWidget,\n AXMWorkflowInstanceConversionFunnelAXPExtendedWidget,\n AXMWorkflowLineChartAXPExtendedWidget,\n AXMWorkflowOverdueTasksBarChartAXPExtendedWidget,\n AXMWorkflowOverloadedUsersBarChartAXPExtendedWidget,\n AXMWorkflowPendingTasksByAgeBarChartAXPExtendedWidget,\n AXMWorkflowSlaRiskPredictionBarChartAXPExtendedWidget,\n AXMWorkflowSlaTrendLineChartAXPExtendedWidget,\n AXMWorkflowSlaViolationsBarChartAXPExtendedWidget,\n AXMWorkflowStuckProcessesBarChartAXPExtendedWidget,\n AXMWorkflowSystemHealthBarChartAXPExtendedWidget,\n AXMWorkflowThroughputDailyLineChartAXPExtendedWidget,\n AXMWorkflowThroughputWeeklyLineChartAXPExtendedWidget,\n AXMWorkflowWorkloadPerUserActiveBarChartAXPExtendedWidget,\n AXMWorkflowWorkloadPerUserAvgAgeBarChartAXPExtendedWidget,\n AXMWorkflowWorkloadPerUserOverdueBarChartAXPExtendedWidget,\n} from './admin';\nimport {\n AXMWorkflowKpiDetailsAXPExtendedWidget,\n AXMWorkflowKpiProgressAXPExtendedWidget,\n AXMWorkflowKpiSegmentedAXPExtendedWidget,\n AXMWorkflowKpiStatCardAXPExtendedWidget,\n} from './kpi';\nimport { AXMWorkflowBarChartAXPExtendedWidget, AXMWorkflowTasksNearDeadlineBarChartAXPExtendedWidget } from './user';\n\n//#endregion\n\n//#region ---- Extended dashboard widgets ----\n\nconst WORKFLOW_DASHBOARD_EXTENDED_WIDGETS: AXPExtendedWidget[] = [\n AXMWorkflowBarChartAXPExtendedWidget,\n AXMWorkflowTasksNearDeadlineBarChartAXPExtendedWidget,\n AXMWorkflowSystemHealthBarChartAXPExtendedWidget,\n AXMWorkflowThroughputDailyLineChartAXPExtendedWidget,\n AXMWorkflowThroughputWeeklyLineChartAXPExtendedWidget,\n AXMWorkflowLineChartAXPExtendedWidget,\n AXMWorkflowGaugeChartAXPExtendedWidget,\n AXMWorkflowSlaViolationsBarChartAXPExtendedWidget,\n AXMWorkflowSlaTrendLineChartAXPExtendedWidget,\n AXMWorkflowSlaRiskPredictionBarChartAXPExtendedWidget,\n AXMWorkflowPendingTasksByAgeBarChartAXPExtendedWidget,\n AXMWorkflowOverdueTasksBarChartAXPExtendedWidget,\n AXMWorkflowDonutChartAXPExtendedWidget,\n AXMWorkflowBottleneckBarChartAXPExtendedWidget,\n AXMWorkflowWorkloadPerUserActiveBarChartAXPExtendedWidget,\n AXMWorkflowWorkloadPerUserOverdueBarChartAXPExtendedWidget,\n AXMWorkflowWorkloadPerUserAvgAgeBarChartAXPExtendedWidget,\n AXMWorkflowOverloadedUsersBarChartAXPExtendedWidget,\n AXMWorkflowFailedProcessesSummaryBarChartAXPExtendedWidget,\n AXMWorkflowFailedProcessesTrendLineChartAXPExtendedWidget,\n AXMWorkflowFailedProcessesByTypeDonutChartAXPExtendedWidget,\n AXMWorkflowStuckProcessesBarChartAXPExtendedWidget,\n AXMWorkflowErrorsBarChartAXPExtendedWidget,\n AXMWorkflowErrorsHeatmapAXPExtendedWidget,\n AXMWorkflowInstanceConversionFunnelAXPExtendedWidget,\n AXMWorkflowKpiProgressAXPExtendedWidget,\n AXMWorkflowKpiSegmentedAXPExtendedWidget,\n AXMWorkflowKpiDetailsAXPExtendedWidget,\n AXMWorkflowKpiStatCardAXPExtendedWidget,\n];\n\n//#endregion\n\n//#region ---- Provider ----\n\n/**\n * Registers workflow dashboard extended widgets (admin/user chart widgets).\n */\n@Injectable()\nexport class AXMWorkflowDashboardWidgetsProvider implements AXPWidgetDefinitionProvider {\n getWidgets() {\n return [];\n }\n\n getExtendedWidgets() {\n return WORKFLOW_DASHBOARD_EXTENDED_WIDGETS;\n }\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXP_DATA_PATH_PROPERTY, AXP_NAME_PROPERTY } from '@acorex/platform/layout/widgets';\nimport { AXP_WIDGETS_EDITOR_CATEGORY, AXPWidgetConfig, AXPWidgetGroupEnum } from '@acorex/platform/layout/widget-core';\n\n//#endregion\n\n//#region ---- Config ----\n\nexport const AXMActivityCommandConfiguratorWidget: AXPWidgetConfig = {\n name: 'activity-command-configurator',\n title: 'Activity Command Configurator',\n icon: 'fa-light fa-bolt',\n description: 'Select an activity (command) and configure its parameters',\n categories: AXP_WIDGETS_EDITOR_CATEGORY,\n groups: [AXPWidgetGroupEnum.UtilityWidget],\n type: 'editor',\n defaultFilterWidgetName: 'string-filter',\n properties: [\n AXP_NAME_PROPERTY,\n AXP_DATA_PATH_PROPERTY,\n {\n name: 'label',\n title: 'Label',\n visible: true,\n group: { name: 'general', title: 'General', order: 1 },\n schema: {\n dataType: 'string',\n interface: {\n path: 'label',\n type: 'text-box',\n options: {\n placeholder: 'Enter label',\n },\n },\n },\n },\n ],\n components: {\n edit: {\n component: () =>\n import('./activity-command-configurator-widget-edit.component').then(\n (c) => c.AXMActivityCommandConfiguratorWidgetEditComponent\n ),\n },\n designer: {\n component: () =>\n import('./activity-command-configurator-widget-edit.component').then(\n (c) => c.AXMActivityCommandConfiguratorWidgetEditComponent\n ),\n },\n column: {\n component: () =>\n import('./activity-command-configurator-widget-column.component').then(\n (c) => c.AXMActivityCommandConfiguratorWidgetColumnComponent\n ),\n },\n },\n};\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXPWidgetDefinitionProvider } from '@acorex/platform/layout/widget-core';\nimport { Injectable } from '@angular/core';\nimport { AXMActivityCommandConfiguratorWidget } from './features/activity-command-configurator/activity-command-configurator-widget.config';\n\n//#endregion\n\n//#region ---- Workflow Management Widgets Provider ----\n\nconst WORKFLOW_WIDGETS = [AXMActivityCommandConfiguratorWidget];\n\n@Injectable()\nexport class AXMWorkflowManagementWidgetsProvider implements AXPWidgetDefinitionProvider {\n getWidgets() {\n return WORKFLOW_WIDGETS;\n }\n}\n\n//#endregion\n","import { Injectable, inject } from '@angular/core';\nimport { AXPExecuteCommandResult } from '@acorex/platform/core';\nimport { AXPCommand } from '@acorex/platform/runtime';\nimport { AXDialogService } from '@acorex/components/dialog';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXStyleColorType } from '@acorex/cdk/common';\n\n//#region ---- Types ----\n\n/**\n * Input for ShowConfirmPopup activity.\n */\nexport interface ShowConfirmPopupInput {\n /**\n * Title of the confirmation dialog\n */\n title: string;\n\n /**\n * Message/content of the confirmation dialog\n */\n message: string;\n\n /**\n * Dialog type/color (e.g., 'warning', 'danger', 'info', 'success')\n */\n type?: AXStyleColorType;\n\n /**\n * Button layout direction ('horizontal' or 'vertical')\n */\n direction?: 'horizontal' | 'vertical';\n\n /**\n * Whether dialog is closable\n */\n closable?: boolean;\n\n /**\n * Default action button ('confirm' or 'cancel')\n */\n defaultAction?: 'confirm' | 'cancel';\n}\n\n/**\n * Output for ShowConfirmPopup activity.\n * Outcome is determined by the outcomes object (ok or cancel).\n */\nexport interface ShowConfirmPopupOutput {\n // No output data needed - outcome is determined by outcomes\n}\n\n//#endregion\n\n/**\n * ShowConfirmPopup Activity (Frontend)\n * \n * Shows a confirmation popup dialog with OK and Cancel buttons.\n * This activity runs on the frontend and requires user interaction.\n * \n * Execution Mode: frontend\n * Activity Type: workflow-activity:show-confirm-popup\n * \n * Outcomes:\n * - ok: User clicked OK button\n * - cancel: User clicked Cancel button or closed the dialog\n */\n@Injectable()\nexport class ShowConfirmPopupActivity implements AXPCommand<ShowConfirmPopupInput, ShowConfirmPopupOutput> {\n //#region ---- Services & Dependencies ----\n\n private readonly dialogService = inject(AXDialogService);\n private readonly translationService = inject(AXTranslationService);\n\n //#endregion\n\n //#region ---- AXPCommand Implementation ----\n\n async execute(\n input: ShowConfirmPopupInput,\n ): Promise<AXPExecuteCommandResult<ShowConfirmPopupOutput>> {\n try {\n // Translate title and message if they are translation keys\n const title = await this.translationService.translateAsync(input.title);\n const message = await this.translationService.translateAsync(input.message);\n\n // Show confirmation dialog\n const dialogResult = await this.dialogService.confirm(\n title,\n message,\n input.type || 'warning',\n input.direction || 'horizontal',\n input.closable ?? false,\n input.defaultAction || 'cancel',\n );\n\n const confirmed = dialogResult.result === true;\n const outcome = confirmed ? 'ok' : 'cancel';\n\n console.log(`[ShowConfirmPopupActivity] User ${confirmed ? 'confirmed' : 'cancelled'} the dialog`);\n\n return {\n success: true,\n data: {} as ShowConfirmPopupOutput,\n metadata: {\n outcome,\n },\n };\n } catch (error: any) {\n console.error(`[ShowConfirmPopupActivity] Failed to show confirm popup:`, error);\n\n return {\n success: false,\n message: {\n text: error.message || 'Failed to show confirmation dialog',\n },\n data: {} as ShowConfirmPopupOutput,\n metadata: {\n outcome: 'cancel',\n },\n };\n }\n }\n\n //#endregion\n}\n\n","//#region ---- Imports ----\n\nimport { AXPopupService, AXPopupSizeType } from '@acorex/components/popup';\nimport { AXPActionMenuItem, AXPExecuteCommandResult } from '@acorex/platform/core';\nimport {\n AXPDialogRendererComponent,\n DialogRendererConfig,\n DialogRendererResult,\n} from '@acorex/platform/layout/builder';\nimport { AXPWidgetNode, AXPWidgetSerializationHelper } from '@acorex/platform/layout/widget-core';\nimport { AXPCommand } from '@acorex/platform/runtime';\nimport { Injectable, inject } from '@angular/core';\nimport { cloneDeep } from 'lodash-es';\n\n//#endregion\n\n//#region ---- Types ----\n\n/**\n * Input for ShowLayoutPopup activity.\n */\nexport interface ShowLayoutPopupInput {\n /**\n * Layout definition as JSON string or AXPWidgetNode object\n */\n layout: string | AXPWidgetNode;\n\n /**\n * Dialog title\n */\n title?: string;\n\n /**\n * Dialog size\n */\n size?: AXPopupSizeType;\n\n /**\n * Whether to show close button\n */\n closeButton?: boolean;\n\n /**\n * Initial context data for the form\n */\n context?: Record<string, any>;\n\n /**\n * Dialog actions (buttons) to display in footer\n * Each action will create a corresponding outcome\n */\n actions?: {\n prefix?: AXPActionMenuItem[];\n suffix?: AXPActionMenuItem[];\n };\n}\n\n//#endregion\n\n/**\n * ShowLayoutPopup Activity (Frontend)\n *\n * Shows a popup dialog with a custom layout built using layout builder.\n * The layout can be provided as JSON string or AXPWidgetNode object.\n *\n * Execution Mode: frontend\n * Activity Type: workflow-activity:show-layout-popup\n *\n * Outcomes:\n * Outcomes are dynamically generated based on the actions provided in the input.\n * Each action creates a corresponding outcome with the action name (from command.name or action.name).\n * If no actions are provided, default actions (cancel, submit) are used.\n *\n * Examples:\n * - If action has command.name = 'save', outcome will be { save: true }\n * - If action has name = 'delete', outcome will be { delete: true }\n * - Default outcomes: { cancel: true } or { submit: true }\n */\n@Injectable()\nexport class ShowLayoutPopupActivity implements AXPCommand<ShowLayoutPopupInput, Record<string, any>> {\n //#region ---- Services & Dependencies ----\n\n private readonly popupService = inject(AXPopupService);\n\n //#endregion\n\n //#region ---- AXPCommand Implementation ----\n\n async execute(input: ShowLayoutPopupInput): Promise<AXPExecuteCommandResult<Record<string, any>>> {\n try {\n // Parse layout definition\n let layoutNode: AXPWidgetNode;\n\n if (typeof input.layout === 'string') {\n // If it's a JSON string, parse it\n try {\n layoutNode = AXPWidgetSerializationHelper.fromJson(input.layout);\n } catch (error: any) {\n throw new Error(`Invalid layout JSON: ${error.message}`);\n }\n } else {\n // If it's already an object, use it directly (clone to avoid mutations)\n layoutNode = cloneDeep(input.layout);\n }\n\n // Validate layout node\n if (!layoutNode || !layoutNode.type) {\n throw new Error('Invalid layout: missing type property');\n }\n\n // Build actions from input or use defaults\n const actions = input.actions || {\n suffix: [\n {\n title: '@general:actions.cancel.title',\n icon: 'fa-times',\n color: 'default',\n command: { name: 'cancel' },\n },\n {\n title: '@general:actions.submit.title',\n icon: 'fa-check',\n color: 'primary',\n command: { name: 'submit', options: { validate: true } },\n },\n ],\n };\n\n // Create dialog configuration\n const dialogConfig: DialogRendererConfig = {\n title: input.title || 'Dialog',\n context: input.context || {},\n definition: layoutNode,\n actions: {\n footer: {\n prefix: actions.prefix || [],\n suffix: actions.suffix || [],\n },\n },\n };\n\n // Show dialog using AXPDialogRendererComponent. Close dialog before resolving so UI is updated before workflow continues.\n const dialogResult = await new Promise<DialogRendererResult>((resolve) => {\n this.popupService.open(AXPDialogRendererComponent, {\n title: dialogConfig.title,\n size: input.size || 'md',\n closeButton: input.closeButton !== undefined ? input.closeButton : true,\n closeOnBackdropClick: false,\n draggable: false,\n data: {\n config: dialogConfig,\n callBack: (result: any) => {\n if (typeof result?.close === 'function') {\n result.close();\n }\n resolve({\n context: result?.context?.() ?? dialogConfig.context,\n action: result?.action ? result.action() : 'cancel',\n });\n },\n },\n });\n });\n\n // Extract result data and action\n const result = dialogResult?.context || {};\n let actionName = 'cancel'; // Default action\n\n const rawActionFromDialog = dialogResult?.action;\n let resolvedAction: string | { name?: string } | undefined;\n\n if (rawActionFromDialog) {\n resolvedAction = rawActionFromDialog;\n }\n\n if (typeof resolvedAction === 'string') {\n actionName = resolvedAction;\n } else if (typeof resolvedAction === 'object' && resolvedAction && 'name' in resolvedAction) {\n actionName = resolvedAction.name ?? 'cancel';\n }\n const action = actionName;\n\n console.log(`[ShowLayoutPopupActivity] Dialog closed with action: ${action}`, result);\n\n return {\n success: true,\n data: result,\n metadata: {\n outcome: action,\n },\n };\n } catch (error: any) {\n console.error(`[ShowLayoutPopupActivity] Failed to show layout popup:`, error);\n\n return {\n success: false,\n message: {\n text: error.message || 'Failed to show layout popup',\n },\n data: {},\n metadata: {\n outcome: 'cancel',\n },\n };\n }\n }\n\n //#endregion\n}\n","//#region ---- Imports ----\n\nimport { Injectable } from '@angular/core';\nimport { AXPExecuteCommandResult } from '@acorex/platform/core';\nimport { AXPCommand } from '@acorex/platform/runtime';\n\n//#endregion\n\n//#region ---- Types ----\n\n/**\n * Input for Human Task activity.\n */\nexport interface HumanTaskInput {\n /**\n * Task title\n */\n title?: string;\n\n /**\n * Task description\n */\n description?: string;\n\n /**\n * Assigned user IDs (direct assignment)\n */\n assignedUserIds?: string[];\n\n /**\n * Candidate user IDs (users who can claim the task)\n */\n candidateUserIds?: string[];\n\n /**\n * Candidate role IDs (roles whose members can claim the task)\n */\n candidateRoleIds?: string[];\n\n /**\n * Task priority\n */\n priority?: 'Low' | 'Normal' | 'High' | 'Urgent';\n\n /**\n * Task due date (ISO date string or Date)\n */\n dueDate?: string | Date;\n\n /**\n * Initial context data for the form\n */\n context?: Record<string, any>;\n\n /**\n * Actions (buttons) for this task. Format: { prefix?: Array<Action>, suffix?: Array<Action> } (or JSON string).\n * Each action name becomes an outcome when the task is completed.\n */\n actions?: { prefix?: Array<{ name?: string; command?: { name?: string } }>; suffix?: Array<{ name?: string; command?: { name?: string } }> } | string;\n}\n\n/**\n * Output for Human Task activity.\n */\nexport interface HumanTaskOutput {\n /**\n * Result data from task completion (form values)\n */\n result: Record<string, any>;\n\n /**\n * Action that was clicked (e.g., 'approve', 'reject', 'cancel')\n */\n action: string;\n}\n\n//#endregion\n\n/**\n * Human Task Activity (Frontend)\n * \n * Generic human task activity that suspends workflow and waits for user interaction.\n * Supports assignment and actions (displayed inline). For dialog-style flow, use a follow-up activity.\n * \n * Execution Mode: frontend\n * Task Type: human-task\n * Activity Type: workflow-activity:human-task\n * \n * Outcomes:\n * Outcomes are dynamically generated based on the actions provided in the input.\n * Each action creates a corresponding outcome with the action name (from command.name or action.name).\n * If no actions are provided, default actions (cancel, submit) are used.\n * \n * Examples:\n * - If action has command.name = 'approve', outcome will be { approve: true }\n * - If action has name = 'reject', outcome will be { reject: true }\n * - Default outcomes: { cancel: true } or { submit: true }\n * \n * Assignment:\n * - assignedUserIds: Direct assignment to specific users\n * - candidateUserIds: Users who can claim the task\n * - candidateRoleIds: Roles whose members can claim the task\n * \n * Display Modes:\n * - 'dialog': Traditional modal dialog (default)\n * - 'inline': Actions displayed directly on page before resume\n */\n@Injectable()\nexport class HumanTaskActivity implements AXPCommand<HumanTaskInput, HumanTaskOutput> {\n //#region ---- Services & Dependencies ----\n\n // Note: This activity doesn't execute immediately - it suspends the workflow\n // The actual UI display is handled by the Generic Task Provider and Display Service\n\n //#endregion\n\n //#region ---- AXPCommand Implementation ----\n\n /**\n * Execute human task activity.\n * \n * This method doesn't actually show UI - it just validates input and returns success.\n * The workflow engine will suspend at this activity and create a bookmark.\n * The Generic Task Provider will handle displaying the task UI inline.\n */\n async execute(input: HumanTaskInput): Promise<AXPExecuteCommandResult<HumanTaskOutput>> {\n console.log('human task input', input.context?.['input'] ?? 'no input');\n\n try {\n // Validate required fields\n if (!input.title && !input.description) {\n console.warn('[HumanTaskActivity] No title or description provided');\n }\n\n // Build available outcomes from actions (dynamic) or default submit/cancel\n const availableOutcomes: string[] = [];\n const rawActions = input.actions;\n if (rawActions) {\n try {\n const actions = typeof rawActions === 'string' ? JSON.parse(rawActions) : rawActions;\n const prefix = actions?.prefix ?? [];\n const suffix = actions?.suffix ?? [];\n for (const item of [...prefix, ...suffix]) {\n const name = item?.command?.name ?? item?.name;\n if (name && typeof name === 'string') availableOutcomes.push(name);\n }\n } catch {\n // ignore parse error\n }\n }\n if (availableOutcomes.length === 0) {\n availableOutcomes.push('cancel', 'submit');\n }\n\n // This activity suspends the workflow - the actual result will come from resume\n // Return a placeholder result - the real result comes when user completes the task\n return {\n success: true,\n data: {\n result: input.context || {},\n action: 'pending', // Will be replaced when task is completed\n },\n metadata: {\n outcome: 'pending',\n },\n };\n } catch (error: any) {\n console.error(`[HumanTaskActivity] Failed to execute human task:`, error);\n\n return {\n success: false,\n message: {\n text: error.message || 'Failed to execute human task',\n },\n data: {\n result: {},\n action: 'cancel',\n },\n metadata: {\n outcome: 'cancel',\n },\n };\n }\n }\n\n //#endregion\n}\n","//#region ---- Imports ----\n\nimport { Injectable } from '@angular/core';\nimport { AXPExecuteCommandResult } from '@acorex/platform/core';\nimport { AXPCommand } from '@acorex/platform/runtime';\n\n//#endregion\n\n//#region ---- Types ----\n\n/**\n * Input for Cartable (pooled) task activity.\n * Does not use direct assignment: only candidates may claim the task on the task board.\n */\nexport interface CartableTaskInput {\n title?: string;\n description?: string;\n candidateUserIds?: string[];\n candidateRoleIds?: string[];\n priority?: 'Low' | 'Normal' | 'High' | 'Urgent';\n dueDate?: string | Date;\n context?: Record<string, any>;\n actions?: { prefix?: Array<{ name?: string; command?: { name?: string } }>; suffix?: Array<{ name?: string; command?: { name?: string } }> } | string;\n}\n\nexport interface CartableTaskOutput {\n result: Record<string, any>;\n action: string;\n}\n\n//#endregion\n\n/**\n * Cartable task activity (frontend): suspends workflow with candidate users only.\n * Assignee is set when a candidate claims the task on the task board (bookmark update).\n *\n * Activity Type: workflow-activity:cartable\n */\n@Injectable()\nexport class CartableTaskActivity implements AXPCommand<CartableTaskInput, CartableTaskOutput> {\n //#region ---- AXPCommand Implementation ----\n\n async execute(input: CartableTaskInput): Promise<AXPExecuteCommandResult<CartableTaskOutput>> {\n console.log('[CartableTaskActivity] input', input.context?.['input'] ?? 'no input');\n\n try {\n if (!input.title && !input.description) {\n console.warn('[CartableTaskActivity] No title or description provided');\n }\n\n const availableOutcomes: string[] = [];\n const rawActions = input.actions;\n if (rawActions) {\n try {\n const actions = typeof rawActions === 'string' ? JSON.parse(rawActions) : rawActions;\n const prefix = actions?.prefix ?? [];\n const suffix = actions?.suffix ?? [];\n for (const item of [...prefix, ...suffix]) {\n const name = item?.command?.name ?? item?.name;\n if (name && typeof name === 'string') availableOutcomes.push(name);\n }\n } catch {\n // ignore parse error\n }\n }\n if (availableOutcomes.length === 0) {\n availableOutcomes.push('cancel', 'submit');\n }\n\n return {\n success: true,\n data: {\n result: input.context || {},\n action: 'pending',\n },\n metadata: {\n outcome: 'pending',\n },\n };\n } catch (error: unknown) {\n console.error(`[CartableTaskActivity] Failed to execute:`, error);\n\n return {\n success: false,\n message: {\n text: error instanceof Error ? error.message : 'Failed to execute cartable task',\n },\n data: {\n result: {},\n action: 'cancel',\n },\n metadata: {\n outcome: 'cancel',\n },\n };\n }\n }\n\n //#endregion\n}\n","import { Injectable, inject } from '@angular/core';\nimport { AXPExecuteCommandResult } from '@acorex/platform/core';\nimport { AXPCommand } from '@acorex/platform/runtime';\nimport { AXToastService } from '@acorex/components/toast';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXStyleColorType } from '@acorex/cdk/common';\n\n//#region ---- Types ----\n\n/**\n * Input for ShowToast activity.\n */\nexport interface ShowToastInput {\n /**\n * Message/content of the toast\n */\n message: string;\n\n /**\n * Toast type/color (e.g., 'success', 'danger', 'info', 'warning')\n */\n type?: AXStyleColorType;\n\n /**\n * Toast title (optional)\n */\n title?: string;\n\n /**\n * Whether to show close button\n */\n closeButton?: boolean;\n\n /**\n * Timeout in milliseconds (0 = no timeout)\n */\n timeOut?: number;\n\n /**\n * Whether to show timeout progress\n */\n timeOutProgress?: boolean;\n}\n\n/**\n * Wrapper used when {@link ShowToastActivity} is invoked from entity/command dispatchers\n * (`__context__.options` mirrors toolbar `command.options`).\n */\nexport interface ShowToastEntityCommandEnvelope {\n __context__?: {\n options?: ShowToastInput;\n };\n options?: ShowToastInput;\n}\n\n/** Plain toast fields or entity-toolbar envelope — both are supported. */\nexport type ShowToastCommandInput = ShowToastInput | ShowToastEntityCommandEnvelope;\n\n/**\n * Output for ShowToast activity.\n */\nexport interface ShowToastOutput {\n // No output data needed - toast is just a notification\n}\n\n//#endregion\n\n/**\n * ShowToast Activity (Frontend)\n *\n * Shows a toast notification message to the user.\n * This activity runs on the frontend and displays a temporary notification.\n *\n * Execution Mode: frontend\n * Activity Type: workflow-activity:show-toast\n *\n * Outcomes:\n * - done: Toast was displayed successfully\n */\n@Injectable()\nexport class ShowToastActivity implements AXPCommand<ShowToastCommandInput, ShowToastOutput> {\n //#region ---- Services & Dependencies ----\n\n private readonly toastService = inject(AXToastService);\n private readonly translationService = inject(AXTranslationService);\n\n //#endregion\n\n //#region ---- AXPCommand Implementation ----\n\n async execute(input: ShowToastCommandInput): Promise<AXPExecuteCommandResult<ShowToastOutput>> {\n try {\n const toastInput = ShowToastActivity.resolvePayload(input);\n\n const message = await this.translationService.translateAsync(toastInput.message);\n const title = toastInput.title\n ? await this.translationService.translateAsync(toastInput.title)\n : undefined;\n\n this.toastService.show({\n color: toastInput.type || 'default',\n title: title,\n content: message,\n closeButton: toastInput.closeButton ?? true,\n timeOut: toastInput.timeOut ?? 3000,\n timeOutProgress: toastInput.timeOutProgress ?? false,\n });\n\n return {\n success: true,\n data: {} as ShowToastOutput,\n metadata: {\n outcome: 'done',\n },\n };\n } catch (error: any) {\n console.error(`[ShowToastActivity] Failed to show toast:`, error);\n\n return {\n success: false,\n message: {\n text: error.message || 'Failed to show toast notification',\n },\n data: {} as ShowToastOutput,\n metadata: {\n outcome: 'failed',\n },\n };\n }\n }\n\n /**\n * Resolves {@link ShowToastInput} from a direct workflow payload or entity command envelope.\n */\n private static resolvePayload(input: ShowToastCommandInput): ShowToastInput {\n const direct = ShowToastActivity.tryDirectPayload(input);\n if (direct !== null) {\n return direct;\n }\n\n const envelope = input as ShowToastEntityCommandEnvelope;\n const fromContext = envelope.__context__?.options;\n if (fromContext !== undefined && ShowToastActivity.tryDirectPayload(fromContext) !== null) {\n return fromContext;\n }\n const fromOptions = envelope.options;\n if (fromOptions !== undefined && ShowToastActivity.tryDirectPayload(fromOptions) !== null) {\n return fromOptions;\n }\n\n throw new Error(\n 'ShowToastActivity: expected ShowToastInput or envelope with __context__.options / options containing message.',\n );\n }\n\n private static tryDirectPayload(value: ShowToastCommandInput): ShowToastInput | null {\n if (\n typeof value === 'object' &&\n value !== null &&\n 'message' in value &&\n typeof (value as ShowToastInput).message === 'string'\n ) {\n return value as ShowToastInput;\n }\n return null;\n }\n\n //#endregion\n}\n","import { Injectable, inject } from '@angular/core';\nimport { AXPExecuteCommandResult } from '@acorex/platform/core';\nimport { AXPCommand } from '@acorex/platform/runtime';\nimport { AXPLayoutBuilderService } from '@acorex/platform/layout/builder';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPWidgetsList } from '@acorex/modules/common';\n\n//#region ---- Types ----\n\n/**\n * Input for CollectSignature activity.\n */\nexport interface CollectSignatureInput {\n /**\n * Signature request ID\n */\n signatureRequestId: string;\n\n /**\n * ID of the signer\n */\n signerId: string;\n\n /**\n * Reference ID of the entity record\n */\n refId: string;\n\n /**\n * Reference type (module.entity format)\n */\n refType: string;\n\n /**\n * Message to display to the signer\n */\n message?: string;\n}\n\n/**\n * Output for CollectSignature activity.\n */\nexport interface CollectSignatureOutput {\n /**\n * Signature data (base64 encoded image or text)\n */\n signature: string;\n\n /**\n * Optional note from the signer\n */\n note?: string;\n\n /**\n * Timestamp when signature was collected\n */\n signedAt: string;\n}\n\n//#endregion\n\n/**\n * CollectSignature Activity (Frontend)\n * \n * Collects a signature from a user through a dialog.\n * This activity runs on the frontend and requires user interaction.\n * \n * Execution Mode: frontend\n * Activity Type: workflow-activity:collect-signature\n * \n * Outcomes:\n * - Signed: User provided signature successfully\n * - Cancelled: User cancelled the signature dialog\n */\n@Injectable()\nexport class CollectSignatureActivity implements AXPCommand<CollectSignatureInput, CollectSignatureOutput> {\n //#region ---- Services & Dependencies ----\n\n private readonly layoutBuilder = inject(AXPLayoutBuilderService);\n private readonly translationService = inject(AXTranslationService);\n\n //#endregion\n\n //#region ---- AXPCommand Implementation ----\n\n async execute(\n input: CollectSignatureInput,\n ): Promise<AXPExecuteCommandResult<CollectSignatureOutput>> {\n try {\n console.log(`[CollectSignatureActivity] Collecting signature from user: ${input.signerId}`);\n\n // Translate message if provided\n const message = input.message\n ? await this.translationService.translateAsync(input.message)\n : await this.translationService.translateAsync('@workflow-management:signature.activities.collect-signature.default-message');\n\n // Show signature collection dialog\n const dialogResult = await this.showSignatureDialog(message);\n\n if (dialogResult.cancelled) {\n console.log(`[CollectSignatureActivity] User cancelled signature collection`);\n return {\n success: true,\n data: {\n signature: '',\n signedAt: new Date().toISOString(),\n },\n metadata: {\n outcome: 'Cancelled',\n },\n };\n }\n\n const signedAt = new Date().toISOString();\n\n console.log(`[CollectSignatureActivity] Signature collected successfully at ${signedAt}`);\n\n return {\n success: true,\n data: {\n signature: dialogResult.signature,\n note: dialogResult.note,\n signedAt,\n },\n metadata: {\n outcome: 'Signed',\n },\n };\n } catch (error: any) {\n console.error(`[CollectSignatureActivity] Failed to collect signature:`, error);\n\n return {\n success: false,\n message: {\n text: error.message || 'Failed to collect signature',\n },\n data: {\n signature: '',\n signedAt: new Date().toISOString(),\n },\n metadata: {\n outcome: 'Cancelled',\n },\n };\n }\n }\n\n //#endregion\n\n //#region ---- Dialog Logic ----\n\n /**\n * Shows a dialog to collect signature from the user.\n */\n private async showSignatureDialog(\n message: string,\n ): Promise<{ signature: string; note?: string; cancelled: boolean }> {\n const result = await this.layoutBuilder\n .create()\n .dialog<{ signature: string; note?: string; cancelled: boolean }>((dialog) => {\n dialog\n .setTitle('@workflow-management:signature.activities.collect-signature.dialog-title')\n .setMessage(message)\n .setContext({ signature: '', note: '' })\n .content((flex) => {\n flex\n .setDirection('column')\n .formField('@workflow-management:signature.activities.collect-signature.note-label', (field) => {\n field.path('note');\n field.largeTextBox({\n placeholder: '@workflow-management:signature.activities.collect-signature.note-placeholder',\n maxLength: 1000,\n });\n })\n .formField('@workflow-management:signature.activities.collect-signature.signature-label', (field) => {\n field.path('signature');\n field.customWidget(AXPWidgetsList.Editors.SignatureBox, {\n validations: [\n {\n rule: 'required',\n options: {\n message: '@workflow-management:signature.activities.collect-signature.signature-required',\n },\n },\n ],\n });\n });\n })\n .setActions((actions) => {\n actions\n .cancel('@general:actions.cancel.title')\n .submit('@workflow-management:signature.activities.collect-signature.submit-text');\n })\n .onAction(async (dialogRef) => {\n const context = dialogRef.context();\n const action = dialogRef.action();\n if (!context || action === 'cancel') {\n return { signature: '', note: undefined, cancelled: true };\n }\n const formData = context as { signature?: string; note?: string };\n return {\n signature: formData['signature'] || '',\n note: formData['note'],\n cancelled: false,\n };\n });\n })\n .show();\n\n return result;\n }\n\n //#endregion\n}\n\n","//#region ---- Imports ----\n\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPEntityDefinitionRegistryService, AXPEntityFormBuilderService } from '@acorex/platform/layout/entity';\nimport { AXPExecuteCommandResult } from '@acorex/platform/core';\nimport { AXPCommand } from '@acorex/platform/runtime';\nimport { inject, Injectable } from '@angular/core';\n\n//#endregion\n\n//#region ---- Types ----\n\n/**\n * Input for Create Entity Form activity.\n */\nexport interface CreateEntityFormInput {\n /**\n * Module name (e.g. HumanCapitalManagement)\n */\n module: string;\n\n /**\n * Entity name (e.g. LeaveRequest)\n */\n entity: string;\n\n /**\n * If true, form only collects data and the next workflow step (e.g. entity-create) persists.\n * If false, entity create is executed on frontend and outcome is 'Done'.\n */\n persistInWorkflow?: boolean;\n\n /**\n * Property names to show. Only these properties are displayed. If both includes and excludes are set, only includes is applied.\n */\n includes?: string[];\n\n /**\n * Property names to hide. Ignored when includes is also set.\n */\n excludes?: string[];\n\n /**\n * Property names that should be displayed as readonly.\n */\n readonlys?: string[];\n\n /**\n * Default values for form properties. Keys are property names; filled values are applied as initial context.\n */\n data?: Record<string, any>;\n}\n\n/**\n * Output for Create Entity Form activity.\n */\nexport interface CreateEntityFormOutput {\n /**\n * Form data for the next workflow step (when persistInWorkflow is true).\n */\n result?: Record<string, any>;\n\n /**\n * Created entity ID (when persistInWorkflow is false and entity create succeeds).\n */\n id?: string;\n}\n\n//#endregion\n\n/**\n * Create Entity Form Activity (Frontend)\n *\n * Shows a create-entity form as an interactive dialog. When persistInWorkflow is true,\n * returns form data and outcome 'Submitted'/'Cancelled' so the workflow handles persistence.\n * When false, executes entity create on frontend and returns outcome 'Done'.\n *\n * Execution Mode: frontend\n * Task Type: human-task\n * Activity Type: workflow-activity:create-entity-form\n *\n * Outcomes:\n * - Submitted: User submitted form (persistInWorkflow true → next step persists)\n * - Cancelled: User cancelled the form\n * - Done: Entity was created on frontend (persistInWorkflow false)\n */\n@Injectable()\nexport class CreateEntityFormActivity implements AXPCommand<CreateEntityFormInput, CreateEntityFormOutput> {\n //#region ---- Services & Dependencies ----\n\n private readonly entityForm = inject(AXPEntityFormBuilderService);\n private readonly entityService = inject(AXPEntityDefinitionRegistryService);\n private readonly translationService = inject(AXTranslationService);\n\n //#endregion\n\n //#region ---- Public Methods ----\n\n async execute(\n input: CreateEntityFormInput\n ): Promise<AXPExecuteCommandResult<CreateEntityFormOutput>> {\n const {\n module,\n entity,\n persistInWorkflow = false,\n includes,\n excludes,\n readonlys,\n data,\n } = input;\n\n if (!module || !entity) {\n return {\n success: false,\n message: {\n text: await this.translationService.translateAsync('@general:messages.entity.invalid-identifier'),\n },\n data: {},\n metadata: {\n outcome: 'Cancelled',\n },\n };\n }\n\n let dialogRef: any;\n\n try {\n const entityRef = await this.entityService.resolve(module, entity);\n\n const includeList = this.normalizePropertyList(includes);\n const excludeList = this.normalizePropertyList(excludes);\n const readonlyList = this.normalizePropertyList(readonlys);\n const initialData = this.normalizeData(data);\n\n let chain = this.entityForm.entity(`${module}.${entity}`).create(initialData);\n\n if (includeList.length > 0) {\n chain = chain.include(...includeList);\n } else if (excludeList.length > 0) {\n chain = chain.exclude(...excludeList);\n }\n\n if (readonlyList.length > 0) {\n chain = chain.readonlyProperties(...readonlyList);\n }\n\n chain.actions((actions) => {\n actions.cancel('@general:actions.cancel.title');\n actions.submit('@general:actions.create.title');\n });\n\n dialogRef = await chain.show();\n\n if (dialogRef.action() === 'cancel') {\n dialogRef.close();\n return {\n success: true,\n data: {},\n metadata: {\n outcome: 'Cancelled',\n },\n };\n }\n\n if (dialogRef.action() === 'submit') {\n const context = dialogRef.context();\n\n if (persistInWorkflow) {\n // Form only collects data; workflow persists in next step\n dialogRef.close();\n return {\n success: true,\n data: { result: context ?? {} },\n metadata: {\n outcome: 'Submitted',\n },\n };\n }\n\n // Entity creates on frontend → outcome 'Done'\n dialogRef.setLoading(true);\n try {\n const createFn = entityRef.commands?.create?.execute as (payload: any) => Promise<{ id: string } | AXPExecuteCommandResult<any>>;\n\n if (!createFn) {\n return {\n success: false,\n message: {\n text: await this.translationService.translateAsync('@general:messages.entity.create-command-unavailable'),\n },\n data: {},\n metadata: {\n outcome: 'Cancelled',\n },\n };\n }\n\n const result = await createFn(context);\n dialogRef.close();\n\n const id = typeof result === 'object' && result !== null && 'id' in result\n ? (result as { id: string }).id\n : (result as AXPExecuteCommandResult<any>)?.data?.id ?? (result as any)?.data?.item?.id;\n\n return {\n success: true,\n data: {\n id: id ?? '',\n result: context ?? {},\n },\n metadata: {\n outcome: 'Done',\n },\n message: {\n text: await this.translationService.translateAsync('@general:messages.generic.success.description'),\n },\n };\n } catch (error: any) {\n console.error('[CreateEntityFormActivity] Entity create failed:', error);\n throw error;\n } finally {\n dialogRef?.setLoading(false);\n }\n }\n\n return {\n success: false,\n message: {\n text: await this.translationService.translateAsync('@general:messages.entity.invalid-action'),\n },\n data: {},\n metadata: {\n outcome: 'Cancelled',\n },\n };\n } catch (error: any) {\n console.error('[CreateEntityFormActivity] Failed:', error);\n\n return {\n success: false,\n message: {\n text:\n error instanceof Error\n ? error.message\n : await this.translationService.translateAsync('@general:messages.entity.create-failed'),\n },\n data: {},\n metadata: {\n outcome: 'Cancelled',\n },\n };\n }\n }\n\n //#region ---- Private Helpers ----\n\n /**\n * Normalizes property list input (array, JSON string, or expression result).\n */\n private normalizePropertyList(value: string[] | any): string[] {\n if (!value) return [];\n if (Array.isArray(value)) {\n return value.filter((v) => typeof v === 'string');\n }\n if (typeof value === 'string') {\n try {\n const parsed = JSON.parse(value);\n return Array.isArray(parsed) ? parsed.filter((v: any) => typeof v === 'string') : [];\n } catch {\n return [];\n }\n }\n return [];\n }\n\n /**\n * Normalizes data input (object or JSON string).\n */\n private normalizeData(value: Record<string, any> | any): Record<string, any> {\n if (!value) return {};\n if (typeof value === 'object' && !Array.isArray(value)) return value;\n if (typeof value === 'string') {\n try {\n const parsed = JSON.parse(value);\n return typeof parsed === 'object' && parsed !== null && !Array.isArray(parsed) ? parsed : {};\n } catch {\n return {};\n }\n }\n return {};\n }\n\n //#endregion\n}\n","import { Injectable, inject } from '@angular/core';\nimport { AXPActivityProvider, AXPActivityDefinition } from '@acorex/platform/workflow';\nimport { AXPEntityService } from '@acorex/platform/layout/entity';\nimport { RootConfig } from '../../../const';\n\n/**\n * Workflow Activities Definition Provider\n * \n * Provides activity definitions (metadata only).\n * Activity definitions contain metadata for UI and tooling.\n * The `name` property is used as the command key for execution.\n * Reads from entity service (mock data).\n */\n@Injectable()\nexport class AXMWorkflowActivitiesDefinitionProvider implements AXPActivityProvider {\n //#region ---- Services & Dependencies ----\n\n private readonly entityService = inject(AXPEntityService);\n private activityDefinitionService = this.entityService.withEntity(\n RootConfig.module.name,\n RootConfig.entities.activityDefinition.name\n ).data<any, any>();\n\n //#endregion\n\n //#region ---- AXPActivityProvider Implementation ----\n\n async getList(categoryId: string): Promise<AXPActivityDefinition[]> {\n // Use 'equal' operator to filter by category field\n const result = await this.activityDefinitionService.query({\n skip: 0,\n take: 1000,\n filter: {\n logic: 'and',\n filters: [{\n field: 'category',\n operator: {\n type: 'equal',\n },\n value: categoryId,\n }]\n }\n });\n return result.items as AXPActivityDefinition[];\n }\n\n async getById(name: string): Promise<AXPActivityDefinition | undefined> {\n // Try to find by name field first, then by type field\n const byName = await this.activityDefinitionService.query({\n skip: 0,\n take: 1,\n filter: {\n logic: 'and',\n filters: [{\n field: 'name',\n operator: {\n type: 'equal',\n },\n value: name,\n }]\n }\n });\n \n if (byName.items && byName.items.length > 0) {\n return byName.items[0] as AXPActivityDefinition;\n }\n\n // Try by type field\n const byType = await this.activityDefinitionService.query({\n skip: 0,\n take: 1,\n filter: {\n logic: 'and',\n filters: [{\n field: 'type',\n operator: {\n type: 'equal',\n },\n value: name,\n }]\n }\n });\n\n if (byType.items && byType.items.length > 0) {\n return byType.items[0] as AXPActivityDefinition;\n }\n\n return undefined;\n }\n\n //#endregion\n}\n\n","import { AXTranslationService } from '@acorex/core/translation';\nimport { AXPExecuteCommandResult } from '@acorex/platform/core';\nimport { AXPEntityDefinitionRegistryService, AXPEntityFormBuilderService } from '@acorex/platform/layout/entity';\nimport { AXPCommand } from '@acorex/platform/runtime';\nimport { inject, Injectable } from '@angular/core';\n\n\nexport interface CreateEnityInput{\n module : string;\n entity : string;\n\n}\n\n\nexport interface CreateEnityOutput {\n id:string;\n}\n\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AXPCreateEntityActivity implements AXPCommand<CreateEnityInput, CreateEnityOutput> {\n private entityForm = inject(AXPEntityFormBuilderService);\n private entityService = inject(AXPEntityDefinitionRegistryService);\n private translationService = inject(AXTranslationService);\n\n protected context = {};\n\n async execute(input: CreateEnityInput): Promise<AXPExecuteCommandResult<any>> {\n const entityRef = await this.entityService.resolve(input.module, input.entity);\n\n let dialogRef: any;\n\n try {\n let chain = this.entityForm.entity(`${input.module}.${input.entity}`).create({});\n chain.actions((actions) => {\n actions.cancel('@general:actions.cancel.title');\n actions.submit('@general:actions.create.title');\n });\n\n dialogRef = await chain.show();\n if (dialogRef.action() == 'cancel') {\n dialogRef.close();\n return {\n success: true,\n data: { id: '' },\n metadata: { outcome: 'cancel' },\n };\n } else if (dialogRef.action() == 'submit') {\n dialogRef.setLoading(true);\n const context = dialogRef.context();\n const createFn = entityRef.commands?.create?.execute as (payload: any) => Promise<{id : string}>;\n\n if (!createFn) {\n return {\n success: false,\n message: {\n text: await this.translationService.translateAsync('@general:messages.entity.create-command-unavailable'),\n },\n };\n }\n const result = await createFn(context);\n if (result) {\n dialogRef.close();\n \n return {\n success: true,\n data: {\n id: result.id,\n },\n metadata: {\n outcome: 'Submitted',\n },\n message: {\n text: await this.translationService.translateAsync('@general:messages.generic.success.description'),\n },\n };\n } else {\n //todo\n return {\n success: false,\n message: {\n text: await this.translationService.translateAsync('@general:messages.entity.command-no-result'),\n },\n data: {\n id: '-1',\n },\n metadata: {\n outcome: 'Submitted',\n },\n };\n }\n }\n return {\n success: false,\n message: {\n text: await this.translationService.translateAsync('@general:messages.entity.invalid-action'),\n },\n };\n } catch (error) {\n return {\n success: false,\n message: {\n text:\n error instanceof Error\n ? error.message\n : await this.translationService.translateAsync('@general:messages.entity.create-failed'),\n },\n };\n } finally {\n if (dialogRef) {\n dialogRef.setLoading(false);\n }\n }\n }\n}\n","//#region ---- Imports ----\n\nimport { AXPEntityAction, AXPEntityCommandScope } from '@acorex/platform/common';\nimport { AXPSystemActionType } from '@acorex/platform/core';\nimport {\n AXPEntityActionPlugin,\n entityDetailsCrudActions,\n} from '@acorex/platform/layout/entity';\n\n//#endregion\n\n//#region ---- Plugin options ----\n\nexport type AutomationLayoutType =\n | 'page-list'\n | 'tab-list'\n | 'page-detail'\n | 'tab-detail';\n\nexport interface AXMAutomationPluginOptions {\n /** Title (i18n key or label) for the automations block in the UI. */\n title?: string;\n /** Icon class (e.g. 'fa-light fa-bolt'). Default 'fa-light fa-bolt'. */\n icon?: string;\n /** How to display: page-list (default), tab-list, page-detail, tab-detail. */\n layoutType?: AutomationLayoutType;\n /** Position relative to main content: 'before' | 'after' | 'middle'. Default 'after'. */\n position?: 'before' | 'after' | 'middle';\n /** Order among related entities. Default 2. */\n order?: number;\n /** Column names to show in list view. Default ['name', 'title', 'description', 'command']. */\n columns?: string[];\n}\n\nconst DEFAULT_ICON = 'fa-light fa-bolt';\nconst AUTOMATION_ENTITY = 'WorkflowManagement.Automation';\n\n//#endregion\n\n//#region ---- Plugin ----\n\n/**\n * Automation entity plugin.\n * Adds a related entity (WorkflowManagement.Automation) bound to the current entity via refType/refId.\n * Any entity can enable it with: plugins: [{ name: 'automation', options: { title: '...', layoutType: 'page-list', ... } }].\n */\nexport const automationPlugin: AXPEntityActionPlugin = {\n name: 'automation',\n order: 50,\n apply: (ctx, options?: AXMAutomationPluginOptions) => {\n const opts = options ?? {};\n const refType = `${ctx.entity.module}.${ctx.entity.name}`;\n const title = opts.title?.trim()?.length ? opts.title : '@workflow-management:automations.terms.automations';\n const icon = opts.icon?.trim()?.length ? opts.icon : DEFAULT_ICON;\n const layoutType = opts.layoutType ?? 'page-list';\n const position = opts.position ?? 'after';\n const order = opts.order ?? 2;\n const columns = opts.columns ?? ['name', 'title', 'description', 'command'];\n\n const createAction: AXPEntityAction = {\n title: '@general:actions.create.title',\n command: {\n name: 'Entity:Create',\n options: {\n process: {\n redirect: false,\n canCreateNewOne: true,\n data: {\n refType,\n refId: '{{context.eval(\"id\")}}',\n },\n },\n },\n },\n priority: 'primary',\n type: AXPSystemActionType.Create,\n scope: AXPEntityCommandScope.TypeLevel,\n };\n\n const otherActions = entityDetailsCrudActions('refId', { create: false });\n\n ctx.relatedEntities.add({\n entity: AUTOMATION_ENTITY,\n title,\n icon,\n columns,\n conditions: [\n { name: 'refType', operator: { type: 'equal' }, value: refType },\n { name: 'refId', operator: { type: 'equal' }, value: '{{context.eval(\"id\")}}' },\n ],\n actions: [createAction, ...otherActions],\n layout: { type: layoutType, position, order },\n excludeProperties: ['refType', 'refId'],\n });\n },\n};\n\n//#endregion\n","import { AXPEntityActionPlugin } from '@acorex/platform/layout/entity';\n\n/**\n * Workflow Plugin\n *\n * Marks an entity as workflow-capable. This plugin does NOT configure workflows;\n * it only indicates that the entity can participate in workflows.\n *\n * Workflow bindings are configured in Workflow Management (workflow definition → bindings),\n * not in the entity definition.\n *\n * This plugin:\n * - Adds workflow capability marker to entity extensions\n * - Enables workflow trigger middleware to detect workflow-capable entities\n * - Provides UI hooks for workflow-related features (future enhancement)\n *\n * Usage:\n * ```typescript\n * plugins: [\n * { name: 'workflow' }, // Entity is workflow-capable\n * ]\n * ```\n */\nexport const workflowPlugin: AXPEntityActionPlugin = {\n name: 'workflow',\n order: 50, // After core plugins (40-45), before status/archive (60-70)\n apply: (ctx) => {\n // Mark entity as workflow-capable in extensions\n (ctx.entity as any).extensions ??= {};\n (ctx.entity as any).extensions.workflow = {\n enabled: true,\n };\n\n // Note: No properties, actions, or views are added by this plugin.\n // It only marks the entity as workflow-capable.\n // Actual workflow bindings are configured in Workflow Management.\n },\n};\n\n","import { NgModule } from '@angular/core';\nimport { AXP_ENTITY_ACTION_PLUGIN } from '@acorex/platform/layout/entity';\nimport { automationPlugin } from '../automation-plugin/automation.plugin';\nimport { workflowPlugin } from './workflow.plugin';\n\n/**\n * Workflow Plugin Module\n *\n * Registers:\n * - workflow plugin: marks entities as workflow-capable\n * - automation plugin: adds WorkflowManagement.Automation as related entity (refType/refId)\n */\n@NgModule({\n providers: [\n {\n provide: AXP_ENTITY_ACTION_PLUGIN,\n useValue: workflowPlugin,\n multi: true,\n },\n {\n provide: AXP_ENTITY_ACTION_PLUGIN,\n useValue: automationPlugin,\n multi: true,\n },\n ],\n})\nexport class AXMWorkflowPluginModule {}\n\n","import { AXPActivityCategoryProvider, AXPActivityCategory } from '@acorex/platform/workflow';\nimport { Injectable, inject } from '@angular/core';\nimport { AXPEntityService } from '@acorex/platform/layout/entity';\nimport { RootConfig } from '../../const';\n\n/**\n * Provider for activity categories.\n * Reads categories from entity service (mock data).\n */\n@Injectable()\nexport class AXCCategoryProvider implements AXPActivityCategoryProvider {\n \n private readonly entityService = inject(AXPEntityService);\n /** Category entity is provided by category plugin (ActivityDefinition → ActivityDefinitionCategory). */\n private categoryService = this.entityService.withEntity(\n RootConfig.module.name,\n 'ActivityDefinitionCategory'\n ).data<any, any>();\n\n async getList(parentId?: string): Promise<AXPActivityCategory[]> {\n const list: AXPActivityCategory[] = [];\n \n if (parentId) {\n const result = await this.categoryService.query({\n skip: 0,\n take: 1000,\n filter: {\n logic: 'and',\n filters: [{\n field: 'parentId',\n operator: {\n type: 'equal',\n },\n value: parentId,\n }]\n }\n });\n list.push(...result.items);\n } else {\n const result = await this.categoryService.query({\n skip: 0,\n take: 1000,\n });\n list.push(...result.items);\n }\n \n return list;\n }\n\n async getById(id: string): Promise<AXPActivityCategory | undefined> {\n return await this.categoryService.byKey(id);\n }\n}\n","import { Injectable, inject } from '@angular/core';\nimport { AXPWorkflowCategoryProvider, AXPWorkflowCategory } from '@acorex/platform/workflow';\nimport { AXPEntityService } from '@acorex/platform/layout/entity';\nimport { RootConfig } from '../../../const';\n\n/**\n * Workflow Category Provider\n * \n * Provides workflow categories from entity service.\n * Reads from entity service (mock data or API).\n */\n@Injectable()\nexport class AXMWorkflowCategoryProvider implements AXPWorkflowCategoryProvider {\n //#region ---- Services & Dependencies ----\n\n private readonly entityService = inject(AXPEntityService);\n private readonly categoryService = this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.workflowDefinition.name + 'Category')\n .data<any, any>();\n\n //#endregion\n\n //#region ---- AXPWorkflowCategoryProvider Implementation ----\n\n async getList(parentId?: string): Promise<AXPWorkflowCategory[]> {\n const filters: any[] = [];\n\n if (parentId === undefined) {\n // Root categories: parentId is null or undefined\n filters.push({\n field: 'parentId',\n operator: {\n type: 'isNull',\n },\n });\n } else {\n // Child categories: parentId matches\n filters.push({\n field: 'parentId',\n operator: {\n type: 'equal',\n },\n value: parentId,\n });\n }\n\n const result = await this.categoryService.query({\n skip: 0,\n take: 1000,\n filter: {\n logic: 'and',\n filters,\n },\n });\n\n return (result.items || []) as AXPWorkflowCategory[];\n }\n\n async getById(id: string): Promise<AXPWorkflowCategory | undefined> {\n const result = await this.categoryService.query({\n skip: 0,\n take: 1,\n filter: {\n logic: 'and',\n filters: [{\n field: 'id',\n operator: {\n type: 'equal',\n },\n value: id,\n }],\n },\n });\n\n if (result.items && result.items.length > 0) {\n return result.items[0] as AXPWorkflowCategory;\n }\n\n return undefined;\n }\n\n //#endregion\n}\n\n","import { Injectable, inject } from '@angular/core';\nimport { AXPWorkflowProvider, AXPWorkflowDefinition } from '@acorex/platform/workflow';\nimport { AXPEntityService } from '@acorex/platform/layout/entity';\nimport { RootConfig } from '../../../const';\n\n/**\n * Workflow Definition Provider\n * \n * Provides workflow definitions for UI and tooling.\n * The `name` property is used as the workflow identifier.\n * Reads from entity service (mock data or API).\n */\n@Injectable()\nexport class AXMWorkflowDefinitionProvider implements AXPWorkflowProvider {\n //#region ---- Services & Dependencies ----\n\n private readonly entityService = inject(AXPEntityService);\n private readonly workflowDefinitionService = this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.workflowDefinition.name)\n .data<any, any>();\n\n //#endregion\n\n //#region ---- AXPWorkflowProvider Implementation ----\n\n async getList(_categoryId: string): Promise<AXPWorkflowDefinition[]> {\n const result = await this.workflowDefinitionService.query({\n skip: 0,\n take: 1000,\n });\n\n // Convert entity data to workflow definition format\n return (result.items || []).map((item: any): AXPWorkflowDefinition => ({\n schemaVersion: item.schemaVersion || 'acorex-platform-workflow/v1',\n name: item.name || item.id || '',\n title: item.title || item.name || item.id || null,\n description: item.description || null,\n variables: item.variables || [],\n inputs: item.inputs || [],\n outputs: item.outputs || [],\n graph: item.graph,\n customProperties: item.customProperties || {},\n extensions: item.extensions || {},\n }));\n }\n\n async getByName(name: string): Promise<AXPWorkflowDefinition | null> {\n // Try to find by name field first, then by id field\n const byName = await this.workflowDefinitionService.query({\n skip: 0,\n take: 1,\n filter: {\n logic: 'and',\n filters: [{\n field: 'name',\n operator: {\n type: 'equal',\n },\n value: name,\n }]\n }\n });\n \n if (byName.items && byName.items.length > 0) {\n const entity = byName.items[0];\n return {\n schemaVersion: entity.schemaVersion || 'acorex-platform-workflow/v1',\n name: entity.name,\n title: entity.title || null,\n description: entity.description || null,\n variables: entity.variables || [],\n inputs: entity.inputs || [],\n outputs: entity.outputs || [],\n graph: entity.graph,\n customProperties: entity.customProperties || {},\n extensions: entity.extensions || {},\n };\n }\n\n // Try by id field\n const byId = await this.workflowDefinitionService.query({\n skip: 0,\n take: 1,\n filter: {\n logic: 'and',\n filters: [{\n field: 'id',\n operator: {\n type: 'equal',\n },\n value: name,\n }]\n }\n });\n\n if (byId.items && byId.items.length > 0) {\n const entity = byId.items[0];\n return {\n schemaVersion: entity.schemaVersion || 'acorex-platform-workflow/v1',\n name: entity.name,\n title: entity.title || null,\n description: entity.description || null,\n variables: entity.variables || [],\n inputs: entity.inputs || [],\n outputs: entity.outputs || [],\n graph: entity.graph,\n customProperties: entity.customProperties || {},\n extensions: entity.extensions || {},\n };\n }\n\n return null;\n }\n\n //#endregion\n}\n\n","//#region ---- Imports ----\n\nimport {\n AXPStatusProvider,\n AXPStatusTransition,\n AXPSystemStatusType,\n systemStatusToDefinition,\n} from '@acorex/platform/common';\n\n//#endregion\n\n//#region ---- Workflow definition lifecycle status ----\n\n/**\n * Publication lifecycle for workflow definitions: draft, review, published, archived.\n */\nexport class AXMWorkflowDefinitionStatusProvider extends AXPStatusProvider {\n readonly key = 'workflow-management.status.workflow-definition';\n\n readonly defaultStatus = AXPSystemStatusType.Draft;\n\n readonly statuses = [\n systemStatusToDefinition(AXPSystemStatusType.Draft, {\n generateView: true,\n }),\n systemStatusToDefinition(AXPSystemStatusType.PendingReview, {\n generateView: true,\n }),\n systemStatusToDefinition(AXPSystemStatusType.Published, {\n generateView: true,\n }),\n systemStatusToDefinition(AXPSystemStatusType.Archived, {\n generateView: false,\n }),\n ];\n\n readonly transitions: AXPStatusTransition[] = [\n {\n from: AXPSystemStatusType.Draft,\n to: AXPSystemStatusType.PendingReview,\n title: '@workflow-management:workflow-definitions.entities.workflow-definition.status.transitions.submit-review',\n },\n {\n from: AXPSystemStatusType.Draft,\n to: AXPSystemStatusType.Published,\n title: '@workflow-management:workflow-definitions.entities.workflow-definition.status.transitions.publish-direct',\n },\n {\n from: AXPSystemStatusType.PendingReview,\n to: AXPSystemStatusType.Published,\n title: '@workflow-management:workflow-definitions.entities.workflow-definition.status.transitions.publish',\n },\n {\n from: AXPSystemStatusType.PendingReview,\n to: AXPSystemStatusType.Draft,\n title: '@workflow-management:workflow-definitions.entities.workflow-definition.status.transitions.revise',\n },\n {\n from: AXPSystemStatusType.Published,\n to: AXPSystemStatusType.Draft,\n title: '@workflow-management:workflow-definitions.entities.workflow-definition.status.transitions.unpublish',\n },\n {\n from: AXPSystemStatusType.Published,\n to: AXPSystemStatusType.Archived,\n title: '@workflow-management:workflow-definitions.entities.workflow-definition.status.transitions.archive',\n },\n {\n from: AXPSystemStatusType.Draft,\n to: AXPSystemStatusType.Archived,\n title: '@workflow-management:workflow-definitions.entities.workflow-definition.status.transitions.archive',\n },\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 * Workflow Management Module Manifest.\n * Defines module metadata, features, and provider references.\n */\nexport const WorkflowManagementManifest: AXPModuleManifest = {\n name: RootConfig.module.name,\n version: '1.0.0',\n title: RootConfig.module.title,\n icon: RootConfig.module.icon,\n i18n: RootConfig.config.i18n,\n\n // Module dependencies (optional)\n};\n\n//#endregion\n\n","//#region ---- Imports ----\n\nimport {\n AXPExpressionEvaluatorScopeProvider,\n AXPExpressionEvaluatorScopeProviderContext,\n AXPFilterDefinition,\n} from '@acorex/platform/core';\n\n//#endregion\n\n//#region ---- Provider ----\n\n/**\n * Default automation evaluator scope.\n * Provides automation.rules(refType, refId) for ConditionBuilder filterDefinitions.\n * Returns empty array by default; modules (e.g. assessment-management) can register\n * their own scope with the same name to provide rules for specific refTypes.\n */\nexport class AXMAutomationEvaluatorScopeProvider implements AXPExpressionEvaluatorScopeProvider {\n async provide(context: AXPExpressionEvaluatorScopeProviderContext): Promise<void> {\n context.addScope('automation', {\n /** Returns filter definitions for automation condition builder. Override per refType in consuming modules. */\n rules: async (_refType: string, _refId: string): Promise<AXPFilterDefinition[]> => {\n return [];\n },\n });\n }\n}\n\n//#endregion\n","import { AXPPermissionDefinitionProvider, AXPPermissionDefinitionProviderContext } from '@acorex/platform/auth';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from './const';\nimport { AXMPermissionsKeys } from './permission.keys';\n\n@Injectable()\nexport class AXMPermissionDefinitionProvider implements AXPPermissionDefinitionProvider {\n async define(context: AXPPermissionDefinitionProviderContext): Promise<void> {\n const keys = AXMPermissionsKeys;\n\n context\n .addGroup(\n RootConfig.module.name,\n '@workflow-management:module.permissions.title',\n '@workflow-management:module.permissions.description',\n )\n .addPermission(\n keys.WorkflowInstance.ReassignToSelf,\n '@workflow-management:workflow-instance.permissions.reassign-to-self.title',\n '@workflow-management:workflow-instance.permissions.reassign-to-self.description',\n )\n .endPermission()\n .endGroup();\n }\n}\n","//#region ---- Imports ----\n\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { AXMPermissionsKeys } from '../../permission.keys';\n\n//#endregion\n\n//#region ---- Permission Helpers ----\n\n/** Permission to reassign a human-task workflow bookmark to the current user. */\nexport const AXM_WORKFLOW_REASSIGN_TO_SELF_PERMISSION = AXMPermissionsKeys.WorkflowInstance.ReassignToSelf;\n\n/**\n * Returns whether the current session may reassign a human-task to themselves.\n */\nexport function canReassignWorkflowTaskToSelf(sessionService: AXPSessionService): boolean {\n return sessionService.authorize(AXM_WORKFLOW_REASSIGN_TO_SELF_PERMISSION);\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXDataSourceFilterOption, AXStyleColorType } from '@acorex/cdk/common';\nimport { AXDialogService } from '@acorex/components/dialog';\nimport { AXToastService } from '@acorex/components/toast';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport {\n AXPExtraField,\n AXPTask,\n AXPTaskActionMenuItem,\n AXPTaskFilter,\n AXPTaskStatus,\n AXPWorkflowTaskProvider,\n matchesTaskBoardAssigneeUserIdsFilter,\n} from '@acorex/modules/task-management';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPSystemStatuses } from '@acorex/platform/common';\nimport { AXPActionMenuItem, AXPExecuteCommand, AXPExecuteCommandResult, AXPUserReference } from '@acorex/platform/core';\nimport { AXPEntityService } from '@acorex/platform/layout/entity';\nimport { AXP_WORKFLOW_ERROR_CODES, AXPWorkflowManager, WorkflowResumeResult } from '@acorex/platform/workflow';\nimport { Inject, inject, Injectable, InjectionToken } from '@angular/core';\nimport { AXMWorkflowManagementWorkflowInstanceEntityModel } from '../../entities/workflow-instance/workflow-instance.types';\nimport { canReassignWorkflowTaskToSelf } from './workflow-task-reassign-access';\n\n//#endregion\n\n//#region ---- Types ----\n\n/**\n * Configuration for a workflow-specific task provider.\n * One provider per workflow definition – pass definitionId to scope tasks to that definition only.\n */\nexport interface AXPGenericWorkflowTaskProviderConfig {\n /** Unique provider name (e.g. 'leave-request-workflow-tasks', 'document-review-workflow-tasks'). */\n name: string;\n /** Display title in task board type selector. */\n title: string;\n /** Optional icon (default: 'fa-light fa-diagram-project'). */\n icon?: string;\n /**\n * When set, only workflow instances for this definition are shown.\n * One provider = one definition. Omit to show all suspended workflow tasks (single generic provider).\n */\n definitionId?: string;\n}\n\n/**\n * Injection token for provider config. Use when registering via DI (provide token + useFactory with deps).\n * When creating via useFactory: () => new AXPGenericWorkflowTaskProvider({ ... }), config is passed in the closure.\n */\nexport const AXP_GENERIC_WORKFLOW_TASK_PROVIDER_CONFIG = new InjectionToken<AXPGenericWorkflowTaskProviderConfig>(\n 'AXP_GENERIC_WORKFLOW_TASK_PROVIDER_CONFIG',\n);\n\n/**\n * Bookmark as stored in WorkflowInstance entity (workflowInstance.bookmarks).\n * Read from entity service; no direct DB access.\n */\ninterface WorkflowInstanceBookmark {\n id: string;\n activityId: string;\n type: string;\n payload?: Record<string, any> | null;\n payloadJson?: string;\n consumed?: boolean;\n isConsumed?: boolean;\n createdAt?: string;\n}\n\n/** Shape used when entity storage stores workflowInstance with bookmarks at root level. */\ninterface WorkflowInstanceWithBookmarks {\n bookmarks?: WorkflowInstanceBookmark[];\n}\n\n/**\n * Bookmark payload structure for human-task activities.\n */\ninterface HumanTaskBookmarkPayload {\n activityType: string;\n activityName: string;\n taskToken: string;\n taskType: 'human-task' | 'ui-activity' | 'system-activity';\n assignedUserIds?: string[] | null;\n candidateUserIds?: string[] | null;\n candidateRoleIds?: string[] | null;\n title?: string;\n description?: string;\n priority?: 'Low' | 'Normal' | 'High' | 'Urgent';\n dueDate?: string | Date | null;\n layout?: string | any;\n actions?: {\n prefix?: AXPActionMenuItem[];\n suffix?: AXPActionMenuItem[];\n };\n context?: Record<string, any>;\n}\n\n//#endregion\n\n/**\n * Generic Workflow Task Provider\n *\n * Provides tasks from Workflow Instances directly (no Work Items).\n * Queries suspended workflow instances and extracts tasks from bookmarks.\n *\n * Create one provider per workflow definition by passing a config (name, title, definitionId).\n * E.g. leave request: { name: 'leave-request-workflow-tasks', title: 'Leave Request', definitionId: 'LeaveRequestWorkflow' }\n *\n * Architecture:\n * - Queries Workflow Instances with subStatus = 'Suspended'\n * - Filters by config.definitionId when set (one provider = one definition)\n * - Extracts active bookmarks for each instance\n * - Parses bookmark payload for assignment/actions\n * - Maps to task board format\n */\n@Injectable()\nexport class AXPGenericWorkflowTaskProvider extends AXPWorkflowTaskProvider<Record<string, any>> {\n //#region ---- Config ----\n\n private readonly config: AXPGenericWorkflowTaskProviderConfig;\n\n //#endregion\n\n //#region ---- Services & Dependencies ----\n\n private readonly entityService = inject(AXPEntityService);\n private readonly workflowInstanceData = this.entityService\n .withEntity('WorkflowManagement', 'WorkflowInstance')\n .data<string, AXMWorkflowManagementWorkflowInstanceEntityModel>();\n private readonly userEntityData = this.entityService.withEntity('SecurityManagement', 'User').data<string>();\n private readonly translationService = inject(AXTranslationService);\n private readonly workflowManager = inject(AXPWorkflowManager);\n private readonly sessionService = inject(AXPSessionService);\n private readonly toastService = inject(AXToastService);\n private readonly dialogService = inject(AXDialogService);\n\n //#endregion\n\n //#region ---- Constructor ----\n\n constructor(@Inject(AXP_GENERIC_WORKFLOW_TASK_PROVIDER_CONFIG) config: AXPGenericWorkflowTaskProviderConfig) {\n super();\n this.config = config;\n }\n\n //#endregion\n\n //#region ---- Provider Metadata ----\n\n get name(): string {\n return this.config.name;\n }\n\n get title(): string {\n return this.config.title;\n }\n\n get icon(): string {\n return this.config.icon ?? 'fa-light fa-diagram-project';\n }\n\n //#endregion\n\n //#region ---- Task Retrieval ----\n\n /**\n * Bookmark types shown on the workflow task board.\n */\n private isTaskBoardBookmarkPayload(payload: HumanTaskBookmarkPayload): boolean {\n const t = payload.activityType;\n return t === 'workflow-activity:human-task' || t === 'workflow-activity:cartable';\n }\n\n /**\n * Pooled task: must be claimed before submit/cancel (cartable, or human-task with candidates only).\n */\n private isPooledClaimablePayload(payload: HumanTaskBookmarkPayload): boolean {\n const assigned = this.normalizeUserIdList(payload.assignedUserIds);\n const candidates = this.normalizeUserIdList(payload.candidateUserIds);\n if (payload.activityType === 'workflow-activity:cartable') {\n return assigned.length === 0 && candidates.length > 0;\n }\n return payload.activityType === 'workflow-activity:human-task' && assigned.length === 0 && candidates.length > 0;\n }\n\n private normalizeUserIdList(value: string[] | null | undefined): string[] {\n if (!value || value.length === 0) return [];\n return value.map((id) => String(id)).filter((s) => s.length > 0);\n }\n\n /**\n * Human-task assigned to another user; current user may take over when permitted.\n */\n private isReassignableHumanTaskPayload(payload: HumanTaskBookmarkPayload): boolean {\n if (payload.activityType !== 'workflow-activity:human-task') {\n return false;\n }\n const assigned = this.normalizeUserIdList(payload.assignedUserIds);\n if (assigned.length === 0) {\n return false;\n }\n const currentUserId = this.sessionService.user?.id;\n if (currentUserId == null) {\n return false;\n }\n return !assigned.includes(String(currentUserId));\n }\n\n private canTakeOverTask(): boolean {\n return canReassignWorkflowTaskToSelf(this.sessionService);\n }\n\n //#region ---- Task Command UX ----\n\n private async showWorkflowTaskToast(contentKey: string, color: AXStyleColorType = 'danger'): Promise<void> {\n const title = await this.translationService.translateAsync('@general:messages.generic.error.title');\n const content = await this.translationService.translateAsync(contentKey);\n this.toastService.show({ color, title, content });\n }\n\n private async confirmReassignToSelf(): Promise<boolean> {\n const title = await this.translationService.translateAsync(\n '@workflow-management:tasks.dialogs.reassign-to-self.title',\n );\n const message = await this.translationService.translateAsync(\n '@workflow-management:tasks.dialogs.reassign-to-self.message',\n );\n const dialogResult = await this.dialogService.confirm(title, message, 'warning', 'horizontal', false, 'cancel');\n return dialogResult.result === true;\n }\n\n private async reassignTaskToSelf(instanceId: string, bookmarkId: string, activityId: string): Promise<boolean> {\n const result = await this.workflowManager.reassignTaskToSelf(instanceId, bookmarkId, activityId);\n if (result.success) {\n return true;\n }\n await this.showWorkflowTaskToast('@workflow-management:tasks.errors.reassign-failed');\n return false;\n }\n\n private async resumeWorkflowTask(\n instanceId: string,\n bookmarkId: string,\n activityId: string,\n outcome: string,\n userInput: Record<string, unknown>,\n taskToken: string,\n ): Promise<WorkflowResumeResult> {\n let result = await this.workflowManager.resume(instanceId, activityId, outcome, userInput, taskToken);\n\n if (result.success || result.errorCode !== AXP_WORKFLOW_ERROR_CODES.TASK_NOT_ASSIGNEE || !this.canTakeOverTask()) {\n if (!result.success) {\n const toastKey =\n result.errorCode === AXP_WORKFLOW_ERROR_CODES.TASK_NOT_ASSIGNEE\n ? '@workflow-management:tasks.errors.not-assignee'\n : undefined;\n if (toastKey) {\n await this.showWorkflowTaskToast(toastKey);\n } else if (result.error) {\n this.toastService.show({\n color: 'danger',\n title: await this.translationService.translateAsync('@general:messages.generic.error.title'),\n content: result.error,\n });\n }\n }\n return result;\n }\n\n const confirmed = await this.confirmReassignToSelf();\n if (!confirmed) {\n return { success: false, instanceId, error: result.error, errorCode: result.errorCode };\n }\n\n const reassigned = await this.reassignTaskToSelf(instanceId, bookmarkId, activityId);\n if (!reassigned) {\n return { success: false, instanceId, error: result.error, errorCode: result.errorCode };\n }\n\n result = await this.workflowManager.resume(instanceId, activityId, outcome, userInput, taskToken);\n if (!result.success) {\n this.toastService.show({\n color: 'danger',\n title: await this.translationService.translateAsync('@general:messages.generic.error.title'),\n content: result.error ?? 'Failed to resume workflow',\n });\n }\n return result;\n }\n\n //#endregion\n\n /**\n * Get tasks from suspended workflow instances.\n *\n * Queries workflow instances filtered by:\n * - subStatus = 'Suspended'\n * - entityRefType (if provided in filter)\n * - definitionId (if provided in filter)\n * - assignee/claimant (if filter provided)\n *\n * Then extracts active bookmarks and maps to task board format.\n */\n async getTasks(options: AXPTaskFilter): Promise<{ items: AXPTask<Record<string, any>>[]; total: number }> {\n // Build filter for workflow instances\n const baseFilter: AXDataSourceFilterOption = { logic: 'and', filters: [] };\n\n // Filter by subStatus = 'Suspended' (only suspended workflows have pending tasks)\n baseFilter.filters?.push({\n field: 'subStatus',\n operator: { type: 'equal' },\n value: 'Suspended',\n });\n\n // Scope this provider to one workflow definition\n if (this.config.definitionId) {\n baseFilter.filters?.push({\n field: 'definitionId',\n operator: { type: 'equal' },\n value: this.config.definitionId,\n });\n }\n\n // Filter by date range if provided (using createdAt or updatedAt)\n if (options?.range?.from || options?.range?.end) {\n if (options.range.from) {\n baseFilter.filters?.push({\n field: 'createdAt',\n operator: { type: 'gte' },\n value: options.range.from.toISOString(),\n });\n }\n\n if (options.range.end) {\n baseFilter.filters?.push({\n field: 'createdAt',\n operator: { type: 'lte' },\n value: options.range.end.toISOString(),\n });\n }\n }\n\n // Query workflow instances\n const { items: instances, total } = await this.workflowInstanceData.query({\n skip: options?.skip ?? 0,\n take: options?.take ?? 20,\n filter: baseFilter,\n });\n\n // Extract tasks from bookmarks for each instance\n const tasks: AXPTask<Record<string, any>>[] = [];\n\n for (const instance of instances) {\n try {\n // Get active bookmarks from instance entity (workflowInstance.bookmarks)\n const bookmarks = this.getActiveBookmarksFromInstance(instance);\n\n // Process each bookmark (typically one per suspended activity)\n for (const bookmark of bookmarks) {\n try {\n // Get payload from entity (payload object or parse payloadJson)\n let payload: HumanTaskBookmarkPayload;\n try {\n const raw = bookmark.payload ?? (bookmark.payloadJson ? JSON.parse(bookmark.payloadJson) : null);\n payload =\n typeof raw === 'object' && raw !== null\n ? (raw as HumanTaskBookmarkPayload)\n : ({} as HumanTaskBookmarkPayload);\n } catch {\n continue;\n }\n\n // Task board: human-task and cartable (pooled); exclude other suspended UI bookmarks\n if (!this.isTaskBoardBookmarkPayload(payload)) {\n continue;\n }\n\n // Check assignment filter if provided\n if (options?.assigneeIds && options.assigneeIds.length > 0) {\n const assignedIds = payload.assignedUserIds || [];\n const candidateIds = payload.candidateUserIds || [];\n const allUserIds = [...assignedIds, ...candidateIds].map(String);\n\n // TODO: Also check candidateRoleIds by resolving role members\n\n if (!matchesTaskBoardAssigneeUserIdsFilter(allUserIds, options.assigneeIds)) {\n continue;\n }\n }\n\n // Map bookmark to task\n const task = await this.mapBookmarkToTask(instance, bookmark, payload);\n tasks.push(task);\n } catch {\n // Skip this bookmark and continue\n }\n }\n } catch {\n // Skip this instance and continue\n }\n }\n\n return { items: tasks, total };\n }\n\n /**\n * Get active (non-consumed) bookmarks from workflow instance entity.\n * Reads from instance.workflowInstance?.bookmarks — no direct DB access.\n */\n private getActiveBookmarksFromInstance(\n instance: AXMWorkflowManagementWorkflowInstanceEntityModel,\n ): WorkflowInstanceBookmark[] {\n const wi = instance?.workflowInstance as WorkflowInstanceWithBookmarks | undefined;\n const bookmarks = wi?.bookmarks ?? [];\n const active = bookmarks.filter(\n (b: WorkflowInstanceBookmark) => !b.isConsumed && !b.consumed,\n ) as WorkflowInstanceBookmark[];\n return active;\n }\n\n /**\n * Task-board reporter: signed-in user who is viewing the app (workflow initiator context).\n */\n private buildReporterFromSession(instance: AXMWorkflowManagementWorkflowInstanceEntityModel): AXPUserReference {\n const sessionUser = this.sessionService.user;\n if (sessionUser?.id) {\n const label = sessionUser.title?.trim() || sessionUser.name?.trim() || sessionUser.id;\n return { id: sessionUser.id, type: 'user', fullName: label };\n }\n const audit = instance.auditInfo?.created?.by;\n return {\n id: audit?.id ?? '',\n type: 'user',\n fullName: audit?.fullName ?? '',\n };\n }\n\n /**\n * Resolve platform user id to a display label for the task board grid.\n */\n private async resolveAssigneeReference(userId: string | undefined): Promise<AXPUserReference | undefined> {\n const id = userId?.trim();\n if (!id) {\n return undefined;\n }\n try {\n const row = await this.userEntityData.byKey(id);\n if (!row || typeof row !== 'object') {\n return { id, type: 'user', fullName: id };\n }\n const displayName =\n 'displayName' in row ? String((row as { displayName?: unknown }).displayName ?? '').trim() : '';\n const username = 'username' in row ? String((row as { username?: unknown }).username ?? '').trim() : '';\n const fullName = displayName || username || id;\n const ref: AXPUserReference = { id, type: 'user', fullName };\n if (username) {\n ref.username = username;\n }\n return ref;\n } catch {\n return { id, type: 'user', fullName: id };\n }\n }\n\n /**\n * Map bookmark to task board task format.\n */\n private async mapBookmarkToTask(\n instance: AXMWorkflowManagementWorkflowInstanceEntityModel,\n bookmark: WorkflowInstanceBookmark,\n payload: HumanTaskBookmarkPayload,\n ): Promise<AXPTask<Record<string, any>>> {\n // Extract dates\n const dueDate = payload.dueDate\n ? typeof payload.dueDate === 'string'\n ? new Date(payload.dueDate)\n : payload.dueDate\n : instance.createdAt\n ? new Date(instance.createdAt)\n : new Date();\n\n const startDate = instance.createdAt ? new Date(instance.createdAt) : dueDate;\n\n // If startDate and endDate are the same, set endDate to one day after startDate\n let endDate = dueDate;\n if (startDate.getTime() === dueDate.getTime()) {\n endDate = new Date(startDate);\n endDate.setDate(endDate.getDate() + 1);\n }\n\n // Map priority\n const priority = this.mapPriorityToTaskPriority(payload.priority || 'Normal');\n\n // Build title\n const title = payload.title || payload.activityName || 'Workflow Task';\n\n const assigneeId = payload.assignedUserIds?.[0];\n const assignee = await this.resolveAssigneeReference(assigneeId);\n\n return {\n id: bookmark.id, // Use bookmark ID as task ID\n title,\n description: payload.description || `Action required: ${payload.activityName}`,\n startDate,\n endDate,\n allDay: false,\n assignee,\n index: 2,\n status: {\n id: AXPSystemStatuses.Pending.name,\n title: this.translationService.translateSync('@workflow-management:tasks.states.pending'),\n },\n priority,\n reporter: this.buildReporterFromSession(instance),\n data: {\n // Store workflow instance and bookmark metadata\n instanceId: instance.id,\n bookmarkId: bookmark.id,\n activityId: bookmark.activityId,\n activityType: payload.activityType,\n activityName: payload.activityName,\n taskToken: payload.taskToken,\n entityRefId: instance.entityRefId,\n entityRefType: instance.entityRefType,\n definitionId: instance.definitionId,\n // Store full payload for actions\n payload: payload,\n } as any,\n };\n }\n\n /**\n * Map priority to task board priority.\n */\n private mapPriorityToTaskPriority(\n priority: 'Low' | 'Normal' | 'High' | 'Urgent',\n ): 'highest' | 'high' | 'medium' | 'low' | 'lowest' {\n switch (priority) {\n case 'Urgent':\n return 'highest';\n case 'High':\n return 'high';\n case 'Normal':\n return 'medium';\n case 'Low':\n return 'low';\n default:\n return 'medium';\n }\n }\n\n //#endregion\n\n //#region ---- Task Updates ----\n\n /**\n * Update tasks (not applicable for workflow instances - they are read-only from task provider perspective).\n */\n async updateTasks(tasksToUpdate: AXPTask<Record<string, any>>[]): Promise<AXPTask<Record<string, any>>[]> {\n // Workflow instances are managed by workflow engine\n // Task updates should be done through workflow resume, not direct updates\n return tasksToUpdate;\n }\n\n //#endregion\n\n //#region ---- Command Execution ----\n\n /**\n * Execute commands on tasks.\n *\n * Supports:\n * - Workflow resume commands (Complete, Cancel)\n */\n async executeCommand(command: AXPExecuteCommand): Promise<AXPExecuteCommandResult> {\n if (!command?.name) return { success: true };\n\n const taskData = command.options?.['data'] as any;\n const instanceId = taskData?.instanceId ?? command.options?.['instanceId'] ?? '';\n const bookmarkId = taskData?.bookmarkId ?? command.options?.['bookmarkId'] ?? '';\n const taskToken = taskData?.taskToken ?? command.options?.['taskToken'] ?? '';\n const activityId = taskData?.activityId ?? command.options?.['activityId'] ?? command.options?.['stepId'] ?? '';\n const outcome = command.options?.['outcome'] ?? 'Done';\n const userInput = command.options?.['userInput'] ?? {};\n\n if (command.name === 'WorkflowManagement.WorkflowInstance:ClaimTask') {\n if (!instanceId || !bookmarkId || !activityId) {\n return {\n success: false,\n message: {\n text: 'Missing required parameters: instanceId, bookmarkId, activityId',\n },\n };\n }\n const claimResult = await this.workflowManager.claimTask(instanceId, bookmarkId, activityId);\n if (!claimResult.success && claimResult.error) {\n this.toastService.show({\n color: 'danger',\n title: await this.translationService.translateAsync('@general:messages.generic.error.title'),\n content: claimResult.error,\n });\n }\n return {\n success: claimResult.success,\n message: claimResult.error\n ? {\n text: claimResult.error,\n }\n : undefined,\n };\n }\n\n if (command.name === 'WorkflowManagement.WorkflowInstance:ReassignToSelf') {\n if (!instanceId || !bookmarkId || !activityId) {\n return {\n success: false,\n message: {\n text: 'Missing required parameters: instanceId, bookmarkId, activityId',\n },\n };\n }\n if (!this.canTakeOverTask()) {\n await this.showWorkflowTaskToast('@workflow-management:tasks.errors.not-assignee');\n return { success: false };\n }\n const confirmed = await this.confirmReassignToSelf();\n if (!confirmed) {\n return { success: true };\n }\n const reassigned = await this.reassignTaskToSelf(instanceId, bookmarkId, activityId);\n return { success: reassigned };\n }\n\n // Handle workflow resume commands\n if (command.name === 'WorkflowManagement.WorkflowInstance:Resume' || command.name === 'resume-workflow') {\n if (!instanceId || !taskToken || !activityId) {\n return {\n success: false,\n message: {\n text: 'Missing required parameters: instanceId, taskToken, activityId',\n },\n };\n }\n\n const result = await this.resumeWorkflowTask(\n instanceId,\n bookmarkId,\n activityId,\n outcome,\n userInput as Record<string, unknown>,\n taskToken,\n );\n\n return {\n success: result.success,\n message: result.error\n ? {\n text: result.error,\n }\n : undefined,\n };\n }\n\n return { success: true };\n }\n\n //#endregion\n\n //#region ---- Actions & Statuses ----\n\n /**\n * Get available actions for a task.\n *\n * Extracts actions from bookmark payload.\n */\n async getActions(task?: AXPTask<Record<string, any>>): Promise<AXPTaskActionMenuItem[]> {\n const actions: AXPTaskActionMenuItem[] = [];\n\n if (!task) return actions;\n\n const taskData = task.data as any;\n const payload = taskData?.payload as HumanTaskBookmarkPayload | undefined;\n\n if (!payload) return actions;\n\n if (this.isPooledClaimablePayload(payload)) {\n actions.push({\n name: 'claim',\n title: this.translationService.translateSync('@workflow-management:tasks.actions.claim.title'),\n icon: 'fa-light fa-hand',\n color: 'primary',\n priority: 'primary',\n command: {\n name: 'WorkflowManagement.WorkflowInstance:ClaimTask',\n options: {\n instanceId: taskData.instanceId,\n bookmarkId: taskData.bookmarkId,\n activityId: taskData.activityId,\n },\n },\n });\n return actions;\n }\n\n if (this.isReassignableHumanTaskPayload(payload) && this.canTakeOverTask()) {\n actions.push({\n name: 'reassign-to-self',\n title: this.translationService.translateSync('@workflow-management:tasks.actions.reassign-to-self.title'),\n icon: 'fa-light fa-user-check',\n color: 'warning',\n priority: 'secondary',\n command: {\n name: 'WorkflowManagement.WorkflowInstance:ReassignToSelf',\n options: {\n instanceId: taskData.instanceId,\n bookmarkId: taskData.bookmarkId,\n activityId: taskData.activityId,\n },\n },\n });\n }\n\n // Extract actions from payload\n if (payload.actions) {\n const allActions = [...(payload.actions.prefix || []), ...(payload.actions.suffix || [])];\n\n for (const action of allActions) {\n const actionName = action.command?.name || action.name || 'unknown';\n\n actions.push({\n name: actionName,\n title: action.title || actionName,\n icon: action.icon,\n color: action.color,\n priority: 'primary',\n command: {\n name: 'WorkflowManagement.WorkflowInstance:Resume',\n options: {\n instanceId: taskData.instanceId,\n bookmarkId: taskData.bookmarkId,\n activityId: taskData.activityId,\n taskToken: taskData.taskToken,\n outcome: actionName,\n userInput: {},\n },\n },\n });\n }\n } else {\n // Default actions if none provided\n actions.push({\n name: 'submit',\n title: this.translationService.translateSync('@general:actions.submit.title'),\n icon: 'fa-light fa-check',\n color: 'primary',\n priority: 'primary',\n command: {\n name: 'WorkflowManagement.WorkflowInstance:Resume',\n options: {\n instanceId: taskData.instanceId,\n bookmarkId: taskData.bookmarkId,\n activityId: taskData.activityId,\n taskToken: taskData.taskToken,\n outcome: 'submit',\n userInput: {},\n },\n },\n });\n\n actions.push({\n name: 'cancel',\n title: this.translationService.translateSync('@general:actions.cancel.title'),\n icon: 'fa-light fa-times',\n color: 'default',\n priority: 'secondary',\n command: {\n name: 'WorkflowManagement.WorkflowInstance:Resume',\n options: {\n instanceId: taskData.instanceId,\n bookmarkId: taskData.bookmarkId,\n activityId: taskData.activityId,\n taskToken: taskData.taskToken,\n outcome: 'cancel',\n userInput: {},\n },\n },\n });\n }\n\n return actions;\n }\n\n async getExtraFields(): Promise<AXPExtraField[]> {\n return [];\n }\n\n async getStatuses(): Promise<AXPTaskStatus[]> {\n return [\n {\n index: 0,\n key: AXPSystemStatuses.Pending.name,\n title: await this.translationService.translateAsync('@workflow-management:tasks.states.pending'),\n color: 'warning',\n },\n ];\n }\n\n //#endregion\n\n //#region ---- Component ----\n\n // override getComponent(): (() => Promise<Type<AXPTaskPopoverComponent>>) | Type<AXPTaskPopoverComponent> | null {\n // return () => import('./workflow-task-popover.component').then((m) => m.AXMWorkflowTaskPopoverComponent);\n // }\n\n //#endregion\n}\n","import { AXTranslationService } from '@acorex/core/translation';\nimport { AXP_WORKFLOW_TASK_PROVIDER } from '@acorex/modules/task-management';\nimport { AXPWorkflowDefinitionService } from '@acorex/platform/workflow';\nimport { EnvironmentProviders, Injector, makeEnvironmentProviders, runInInjectionContext } from '@angular/core';\nimport { AXPGenericWorkflowTaskProvider } from '../task-provider/generic-workflow-task.provider';\n\nexport function provideTaskWorkflow(): EnvironmentProviders {\n return makeEnvironmentProviders([\n {\n provide: AXP_WORKFLOW_TASK_PROVIDER,\n multi: true,\n useFactory: (injector: Injector) => {\n return (async () => {\n const workflowDefinitionService = injector.get(AXPWorkflowDefinitionService);\n const multiLanguageResolver = injector.get(AXTranslationService);\n const categories = await workflowDefinitionService.getCategories();\n const providers: AXPGenericWorkflowTaskProvider[] = [];\n const seenDefinitionNames = new Set<string>();\n for (const category of categories) {\n const workflows = await workflowDefinitionService.getWorkflowsByCategoryId(category.id);\n for (const workflow of workflows) {\n const key = workflow.name;\n if (!key || seenDefinitionNames.has(key)) {\n continue;\n }\n seenDefinitionNames.add(key);\n const provider = runInInjectionContext(\n injector,\n () =>\n new AXPGenericWorkflowTaskProvider({\n name: workflow.name,\n title: multiLanguageResolver.resolve(workflow.title) ?? workflow.name,\n icon: 'fa-light fa-diagram-project',\n definitionId: workflow.name,\n }),\n );\n providers.push(provider);\n }\n }\n\n return providers;\n })();\n },\n deps: [Injector],\n },\n ]);\n}\n","import { AXMCalendarManagementModule } from '@acorex/modules/calendar-management';\nimport { AXP_WORKFLOW_TASK_PROVIDER } from '@acorex/modules/task-management';\nimport { AXP_PERMISSION_DEFINITION_PROVIDER } from '@acorex/platform/auth';\nimport { AXP_MENU_PROVIDER, AXP_STATUS_PROVIDERS } from '@acorex/platform/common';\nimport { AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER, AXP_MODULE_MANIFEST_PROVIDER, provideLazyProvider } from '@acorex/platform/core';\nimport { AXP_PAGE_COMPONENT_PROVIDER } from '@acorex/platform/layout/components';\nimport { AXPDomainModule } from '@acorex/platform/domain';\nimport { AXP_ENTITY_DEFINITION_LOADER } from '@acorex/platform/layout/entity';\nimport { AXP_WIDGET_DEFINITION_PROVIDER, AXPWidgetCoreModule } from '@acorex/platform/layout/widget-core';\nimport { AXMWorkflowDashboardWidgetsProvider } from './features/dashboard/widgets';\nimport { AXMWorkflowManagementWidgetsProvider } from './widget-definition.provider';\nimport { provideCommandSetups } from '@acorex/platform/runtime';\nimport {\n AXP_ACTIVITY_CATEGORY_PROVIDER,\n AXP_ACTIVITY_PROVIDER,\n AXP_WORKFLOW_CATEGORY_PROVIDER,\n AXP_WORKFLOW_PROVIDER,\n} from '@acorex/platform/workflow';\nimport { NgModule } from '@angular/core';\nimport { AXMWorkflowManagementModuleEntityProvider } from './entity.provider';\nimport {\n CartableTaskActivity,\n CollectSignatureActivity,\n CreateEntityFormActivity,\n HumanTaskActivity,\n ShowConfirmPopupActivity,\n ShowLayoutPopupActivity,\n ShowToastActivity,\n} from './features/engine/activities';\nimport { AXMWorkflowPluginModule } from './features/workflow-plugin/workflow-plugin.module';\n\nimport { AXMWorkflowActivitiesDefinitionProvider } from './features/engine/activities/workflow-activities-definition.provider';\nimport { AXCCategoryProvider } from './features/engine/category.provider';\nimport { AXMWorkflowCategoryProvider } from './features/engine/workflows/workflow-category.provider';\nimport { AXMWorkflowDefinitionProvider } from './features/engine/workflows/workflow-definition.provider';\nimport { AXMWorkflowDefinitionStatusProvider } from './features/workflow-definition-status.provider';\nimport { WorkflowManagementManifest } from './manifest';\nimport { AXMMenuProvider } from './menu.provider';\nimport { AXMAutomationEvaluatorScopeProvider } from './features/automation-evaluator-scope.provider';\nimport { AXMPermissionDefinitionProvider } from './permission-definition.provider';\nimport { provideTaskWorkflow } from './features/engine/provider.task';\n\n@NgModule({\n imports: [\n AXMCalendarManagementModule,\n AXPDomainModule,\n AXMWorkflowPluginModule, // Register workflow plugin\n AXPWidgetCoreModule,\n ],\n providers: [\n { provide: AXP_WIDGET_DEFINITION_PROVIDER, useClass: AXMWorkflowManagementWidgetsProvider, multi: true },\n { provide: AXP_WIDGET_DEFINITION_PROVIDER, useClass: AXMWorkflowDashboardWidgetsProvider, multi: true },\n provideCommandSetups([\n {\n key: 'WorkflowManagement.WorkflowDefinition:ExecuteWithInput',\n command: () =>\n import('./entities/workflow-definition/commands').then((c) => c.ExecuteWorkflowWithInputCommand),\n },\n {\n key: 'WorkflowManagement.WorkflowDefinition:Execute',\n command: () => import('./entities/workflow-definition/commands').then((c) => c.ExecuteWorkflowCommand),\n },\n {\n key: 'WorkflowManagement.WorkflowDefinition:Activities:Save',\n command: () =>\n import('./entities/workflow-definition/commands/save-workflow-definition-activities.command').then(\n (c) => c.SaveWorkflowDefinitionActivitiesCommand,\n ),\n },\n {\n key: 'workflow-activity:show-toast',\n command: () => import('./features/engine/activities').then((c) => c.ShowToastActivity),\n },\n {\n key: 'workflow-activity:create-entity',\n command: () => import('./features/engine/activities').then((c) => c.AXPCreateEntityActivity),\n },\n {\n key: 'workflow-activity:show-confirm-popup',\n command: () => import('./features/engine/activities').then((c) => c.ShowConfirmPopupActivity),\n },\n {\n key: 'workflow-activity:show-layout-popup',\n command: () => import('./features/engine/activities').then((c) => c.ShowLayoutPopupActivity),\n },\n {\n key: 'workflow-activity:create-entity-form',\n command: () => import('./features/engine/activities').then((c) => c.CreateEntityFormActivity),\n },\n {\n key: 'workflow-activity:human-task',\n command: () => import('./features/engine/activities').then((c) => c.HumanTaskActivity),\n },\n {\n key: 'workflow-activity:cartable',\n command: () => import('./features/engine/activities').then((c) => c.CartableTaskActivity),\n },\n {\n key: 'workflow-activity:collect-signature',\n command: () => import('./features/engine/activities').then((c) => c.CollectSignatureActivity),\n },\n ]),\n // provideEntity([RootConfig.entities.activityDefinition.fullName]),\n // Entity Definition Loader\n {\n provide: AXP_ENTITY_DEFINITION_LOADER,\n useClass: AXMWorkflowManagementModuleEntityProvider,\n multi: true,\n },\n provideLazyProvider(AXP_PAGE_COMPONENT_PROVIDER, () =>\n import('./features/workflow-instance-activity-instances-page').then(\n (m) => m.AXMWorkflowInstanceActivityInstancesPageComponentProvider,\n ),\n ),\n provideLazyProvider(AXP_PAGE_COMPONENT_PROVIDER, () =>\n import('./features/workflow-definition-activities-page').then(\n (m) => m.AXMWorkflowDefinitionActivitiesPageComponentProvider,\n ),\n ),\n // Automation condition builder: default automation.rules(refType, refId); modules override for their refTypes\n {\n provide: AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER,\n useClass: AXMAutomationEvaluatorScopeProvider,\n multi: true,\n },\n // Menu Provider\n {\n provide: AXP_STATUS_PROVIDERS,\n useClass: AXMWorkflowDefinitionStatusProvider,\n multi: true,\n },\n {\n provide: AXP_MENU_PROVIDER,\n useClass: AXMMenuProvider,\n multi: true,\n },\n // Permission Definition Provider\n {\n provide: AXP_PERMISSION_DEFINITION_PROVIDER,\n useClass: AXMPermissionDefinitionProvider,\n multi: true,\n },\n // Module Manifest Provider\n {\n provide: AXP_MODULE_MANIFEST_PROVIDER,\n useValue: WorkflowManagementManifest,\n multi: true,\n },\n {\n provide: AXP_WORKFLOW_PROVIDER,\n useClass: AXMWorkflowDefinitionProvider,\n multi: true,\n },\n {\n provide: AXP_ACTIVITY_CATEGORY_PROVIDER,\n useClass: AXCCategoryProvider,\n multi: true,\n },\n {\n provide: AXP_ACTIVITY_PROVIDER,\n useClass: AXMWorkflowActivitiesDefinitionProvider,\n multi: true,\n },\n // Workflow Category Provider\n {\n provide: AXP_WORKFLOW_CATEGORY_PROVIDER,\n useClass: AXMWorkflowCategoryProvider,\n multi: true,\n },\n // Provide activity classes for dependency injection (only frontend activities)\n ShowConfirmPopupActivity,\n ShowLayoutPopupActivity,\n CreateEntityFormActivity,\n HumanTaskActivity,\n CartableTaskActivity,\n ShowToastActivity,\n CollectSignatureActivity,\n // Generic Workflow Task Provider (all workflows – no definitionId filter).\n // For one provider per definition, register in your module with definitionId, e.g.:\n // { provide: AXP_GENERIC_WORKFLOW_TASK_PROVIDER_CONFIG, useValue: { name: 'leave-request-workflow-tasks', title: 'Leave Request', definitionId: 'LeaveRequestWorkflow' } },\n // { provide: AXP_WORKFLOW_TASK_PROVIDER, multi: true, useFactory: (c) => new AXPGenericWorkflowTaskProvider(c), deps: [AXP_GENERIC_WORKFLOW_TASK_PROVIDER_CONFIG] }\n // Leave Request workflow: task board shows suspended human-tasks.\n // definitionId must match instance.definitionId: mock engine uses workflow name ('createLeaveRequest'); real API may use definition entity id.\n // {\n // provide: AXP_GENERIC_WORKFLOW_TASK_PROVIDER_CONFIG,\n // useValue: {\n // name: 'leave-request',\n // title: 'Leave Request Tasks',\n // icon: 'fa-light fa-diagram-project',\n // definitionId: 'createLeaveRequest',\n // } as AXPGenericWorkflowTaskProviderConfig,\n // },\n // {\n // provide: AXP_WORKFLOW_TASK_PROVIDER,\n // multi: true,\n // useFactory: (config: AXPGenericWorkflowTaskProviderConfig) =>\n // new AXPGenericWorkflowTaskProvider(config),\n // deps: [AXP_GENERIC_WORKFLOW_TASK_PROVIDER_CONFIG],\n // },\n provideTaskWorkflow()\n ],\n})\nexport class AXMWorkflowManagementModule { }\n","//#region ---- Imports ----\n\nimport { AXPFilterClause } from '@acorex/platform/core';\nimport { AXPEntityModel } from '@acorex/platform/layout/entity';\n\n//#endregion\n\n//#region ---- Automation Model ----\n\n/**\n * Reusable automation entity model.\n * refType + refId reference any parent entity (e.g. AssessmentManagement.Questionnaire, refId = questionnaire id).\n */\nexport interface AXMWorkflowManagementAutomationEntityModel extends AXPEntityModel<string> {\n /** Entity type of the parent record (e.g. \"AssessmentManagement.Questionnaire\"). */\n refType: string;\n /** Parent record id. */\n refId: string;\n name?: string;\n title?: string;\n description?: string;\n condition: AXPFilterClause;\n /** Activity/command key and parameters (from activity-command-configurator). */\n command: { commandKey: string; params?: Record<string, unknown> };\n}\n\n//#endregion\n","// Entity exports - services and modules removed, handled by middleware\n// Exporting entity types for use in feature components\n\nexport * from './activity-category/activity-category.types';\nexport * from './activity-definition/activity-definition.types';\nexport * from './automation/automation.types';\nexport * from './workflow-definition/workflow-definition.types';\nexport * from './workflow-instance/workflow-instance.types';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"acorex-modules-workflow-management.mjs","sources":["../../../../libs/modules/workflow-management/src/lib/const.ts","../../../../libs/modules/workflow-management/src/lib/permission.keys.ts","../../../../libs/modules/workflow-management/src/lib/entity.provider.ts","../../../../libs/modules/workflow-management/src/lib/menu.keys.ts","../../../../libs/modules/workflow-management/src/lib/menu.provider.ts","../../../../libs/modules/workflow-management/src/lib/features/dashboard/widgets/workflow-dashboard-widget-category.ts","../../../../libs/modules/workflow-management/src/lib/features/dashboard/widgets/workflow-dashboard-widget-subcategories.ts","../../../../libs/modules/workflow-management/src/lib/features/dashboard/widgets/admin/errors/workflow-errors-bar-widget.config.ts","../../../../libs/modules/workflow-management/src/lib/features/dashboard/widgets/admin/errors/workflow-errors-heatmap-widget.config.ts","../../../../libs/modules/workflow-management/src/lib/features/dashboard/widgets/admin/failures/workflow-failed-processes-by-type-donut-widget.config.ts","../../../../libs/modules/workflow-management/src/lib/features/dashboard/widgets/admin/failures/workflow-failed-processes-summary-bar-widget.config.ts","../../../../libs/modules/workflow-management/src/lib/features/dashboard/widgets/admin/failures/workflow-failed-processes-trend-line-widget.config.ts","../../../../libs/modules/workflow-management/src/lib/features/dashboard/widgets/admin/failures/workflow-stuck-processes-bar-widget.config.ts","../../../../libs/modules/workflow-management/src/lib/features/dashboard/widgets/admin/sla/workflow-gauge-chart-widget.config.ts","../../../../libs/modules/workflow-management/src/lib/features/dashboard/widgets/admin/sla/workflow-sla-risk-prediction-bar-widget.config.ts","../../../../libs/modules/workflow-management/src/lib/features/dashboard/widgets/admin/sla/workflow-sla-trend-line-widget.config.ts","../../../../libs/modules/workflow-management/src/lib/features/dashboard/widgets/admin/sla/workflow-sla-violations-bar-widget.config.ts","../../../../libs/modules/workflow-management/src/lib/features/dashboard/widgets/admin/system-health/workflow-system-health-bar-widget.config.ts","../../../../libs/modules/workflow-management/src/lib/features/dashboard/widgets/admin/tasks/workflow-overdue-tasks-bar-widget.config.ts","../../../../libs/modules/workflow-management/src/lib/features/dashboard/widgets/admin/tasks/workflow-pending-tasks-by-age-bar-widget.config.ts","../../../../libs/modules/workflow-management/src/lib/features/dashboard/widgets/admin/throughput/workflow-line-chart-widget.config.ts","../../../../libs/modules/workflow-management/src/lib/features/dashboard/widgets/admin/throughput/workflow-instance-conversion-funnel-widget.config.ts","../../../../libs/modules/workflow-management/src/lib/features/dashboard/widgets/admin/throughput/workflow-throughput-daily-line-widget.config.ts","../../../../libs/modules/workflow-management/src/lib/features/dashboard/widgets/admin/throughput/workflow-throughput-weekly-line-widget.config.ts","../../../../libs/modules/workflow-management/src/lib/features/dashboard/widgets/admin/workload/workflow-bottleneck-bar-widget.config.ts","../../../../libs/modules/workflow-management/src/lib/features/dashboard/widgets/admin/workload/workflow-donut-chart-widget.config.ts","../../../../libs/modules/workflow-management/src/lib/features/dashboard/widgets/admin/workload/workflow-overloaded-users-bar-widget.config.ts","../../../../libs/modules/workflow-management/src/lib/features/dashboard/widgets/admin/workload/workflow-workload-per-user-active-bar-widget.config.ts","../../../../libs/modules/workflow-management/src/lib/features/dashboard/widgets/admin/workload/workflow-workload-per-user-avg-age-bar-widget.config.ts","../../../../libs/modules/workflow-management/src/lib/features/dashboard/widgets/admin/workload/workflow-workload-per-user-overdue-bar-widget.config.ts","../../../../libs/modules/workflow-management/src/lib/features/dashboard/widgets/kpi/workflow-kpi-details-widget.config.ts","../../../../libs/modules/workflow-management/src/lib/features/dashboard/widgets/kpi/workflow-kpi-progress-widget.config.ts","../../../../libs/modules/workflow-management/src/lib/features/dashboard/widgets/kpi/workflow-kpi-segmented-widget.config.ts","../../../../libs/modules/workflow-management/src/lib/features/dashboard/widgets/kpi/workflow-kpi-stat-card-widget.config.ts","../../../../libs/modules/workflow-management/src/lib/features/dashboard/widgets/user/workflow-bar-chart-widget.config.ts","../../../../libs/modules/workflow-management/src/lib/features/dashboard/widgets/user/workflow-tasks-near-deadline-bar-widget.config.ts","../../../../libs/modules/workflow-management/src/lib/features/dashboard/widgets/workflow-dashboard-widgets.provider.ts","../../../../libs/modules/workflow-management/src/lib/features/activity-command-configurator/activity-command-configurator-widget.config.ts","../../../../libs/modules/workflow-management/src/lib/widget-definition.provider.ts","../../../../libs/modules/workflow-management/src/lib/features/engine/activities/show-confirm-popup.activity.ts","../../../../libs/modules/workflow-management/src/lib/features/engine/activities/show-layout-popup.activity.ts","../../../../libs/modules/workflow-management/src/lib/features/engine/activities/human-task.activity.ts","../../../../libs/modules/workflow-management/src/lib/features/engine/activities/cartable-task.activity.ts","../../../../libs/modules/workflow-management/src/lib/features/engine/activities/show-toast.activity.ts","../../../../libs/modules/workflow-management/src/lib/features/engine/activities/collect-signature.activity.ts","../../../../libs/modules/workflow-management/src/lib/features/engine/activities/create-entity-form.activity.ts","../../../../libs/modules/workflow-management/src/lib/features/engine/activities/workflow-activities-definition.provider.ts","../../../../libs/modules/workflow-management/src/lib/features/engine/activities/entiy.create.activity.ts","../../../../libs/modules/workflow-management/src/lib/features/automation-plugin/automation.plugin.ts","../../../../libs/modules/workflow-management/src/lib/features/workflow-plugin/workflow.plugin.ts","../../../../libs/modules/workflow-management/src/lib/features/workflow-plugin/workflow-plugin.module.ts","../../../../libs/modules/workflow-management/src/lib/features/engine/category.provider.ts","../../../../libs/modules/workflow-management/src/lib/features/engine/workflows/workflow-category.provider.ts","../../../../libs/modules/workflow-management/src/lib/features/engine/workflows/workflow-definition.provider.ts","../../../../libs/modules/workflow-management/src/lib/features/workflow-definition-status.provider.ts","../../../../libs/modules/workflow-management/src/lib/manifest.ts","../../../../libs/modules/workflow-management/src/lib/features/automation-evaluator-scope.provider.ts","../../../../libs/modules/workflow-management/src/lib/permission-definition.provider.ts","../../../../libs/modules/workflow-management/src/lib/features/task-provider/workflow-task-reassign-access.ts","../../../../libs/modules/workflow-management/src/lib/features/task-provider/workflow-task-context.constants.ts","../../../../libs/modules/workflow-management/src/lib/features/task-provider/generic-workflow-task.provider.ts","../../../../libs/modules/workflow-management/src/lib/features/engine/provider.task.ts","../../../../libs/modules/workflow-management/src/lib/workflow-management.module.ts","../../../../libs/modules/workflow-management/src/lib/entities/automation/automation.types.ts","../../../../libs/modules/workflow-management/src/lib/entities/index.ts","../../../../libs/modules/workflow-management/src/acorex-modules-workflow-management.ts"],"sourcesContent":["const config = {\n i18n: 'workflow-management',\n module: 'WorkflowManagement',\n};\n\n/** Builds extended dashboard widget type ids: `{module}:Widget:Dashboard:{Segment}`. */\nconst workflowDashboardWidgetId = (segment: string): string =>\n `${config.module}:Widget:Dashboard:${segment}`;\n\nexport const RootConfig = {\n config,\n module: {\n route: 'workflow-management',\n name: config.module,\n title: '@workflow-management:module.title',\n icon: 'fa-light fa-diagram-project',\n },\n entities: {\n workflowDefinition: {\n name: 'WorkflowDefinition',\n fullName: `${config.module}.WorkflowDefinition`,\n title: '@workflow-management:workflow-definitions.entities.workflow-definition.title',\n titlePlural: '@workflow-management:workflow-definitions.entities.workflow-definition.plural',\n icon: 'fa-light fa-diagram-project',\n },\n workflowInstance: {\n name: 'WorkflowInstance',\n fullName: `${config.module}.WorkflowInstance`,\n title: '@workflow-management:workflow-instances.entities.workflow-instance.title',\n titlePlural: '@workflow-management:workflow-instances.entities.workflow-instance.plural',\n icon: 'fa-light fa-play-circle',\n },\n activityDefinition: {\n name: 'ActivityDefinition',\n fullName: `${config.module}.ActivityDefinition`,\n title: '@workflow-management:activities.entities.activity-definition.title',\n titlePlural: '@workflow-management:activities.entities.activity-definition.plural',\n icon: 'fa-light fa-puzzle-piece',\n },\n automation: {\n name: 'Automation',\n fullName: `${config.module}.Automation`,\n title: '@workflow-management:automations.entities.automation.title',\n titlePlural: '@workflow-management:automations.entities.automation.plural',\n icon: 'fa-light fa-bolt',\n },\n // workflowCategory: {\n // name: 'WorkflowCategory',\n // fullName: `${config.module}.WorkflowCategory`,\n // title: '@workflow-management:workflows.entities.workflow-category.title',\n // titlePlural: '@workflow-management:workflows.entities.workflow-category.plural',\n // icon: 'fa-light fa-folder',\n // },\n },\n dataSources: {\n dashboardChart: {\n pendingApproval: `${config.module}:DataSource:PendingApproval`,\n workloadByProcess: `${config.module}:DataSource:WorkloadByProcess`,\n slaCompliance: `${config.module}:DataSource:SlaCompliance`,\n throughputLast8Weeks: `${config.module}:DataSource:ThroughputLast8Weeks`,\n systemHealthSummary: `${config.module}:DataSource:SystemHealthSummary`,\n throughputDaily: `${config.module}:DataSource:ThroughputDaily`,\n throughputWeekly: `${config.module}:DataSource:ThroughputWeekly`,\n slaViolationsAndDelay: `${config.module}:DataSource:SlaViolationsAndDelay`,\n slaComplianceTrend: `${config.module}:DataSource:SlaComplianceTrend`,\n pendingTasksByAge: `${config.module}:DataSource:PendingTasksByAge`,\n failedProcessesSummary: `${config.module}:DataSource:FailedProcessesSummary`,\n failedProcessFailureTrend: `${config.module}:DataSource:FailedProcessFailureTrend`,\n failedProcessesByType: `${config.module}:DataSource:FailedProcessesByType`,\n stuckProcesses: `${config.module}:DataSource:StuckProcesses`,\n overdueTasksByProcess: `${config.module}:DataSource:OverdueTasksByProcess`,\n tasksNearDeadline: `${config.module}:DataSource:TasksNearDeadline`,\n bottleneckActivities: `${config.module}:DataSource:BottleneckActivities`,\n errorsByCategory: `${config.module}:DataSource:ErrorsByCategory`,\n /** Workflow instance funnel: counts per stage (created -> completed). */\n instanceConversionFunnel: `${config.module}:DataSource:InstanceConversionFunnel`,\n /** Heatmap: errors by activity/stage and weekday (or day bucket). */\n errorsByActivityDayHeatmap: `${config.module}:DataSource:ErrorsByActivityDayHeatmap`,\n workloadPerUserActive: `${config.module}:DataSource:WorkloadPerUserActive`,\n workloadPerUserOverdue: `${config.module}:DataSource:WorkloadPerUserOverdue`,\n workloadPerUserAvgAgeHours: `${config.module}:DataSource:WorkloadPerUserAvgAgeHours`,\n workloadOverloadedUsers: `${config.module}:DataSource:WorkloadOverloadedUsers`,\n slaRiskPrediction: `${config.module}:DataSource:SlaRiskPrediction`,\n },\n dashboardKpi: {\n slaComplianceSnapshot: `${config.module}:DataSource:SlaComplianceSnapshot`,\n taskStatusBreakdown: `${config.module}:DataSource:TaskStatusBreakdown`,\n throughputOverview: `${config.module}:DataSource:ThroughputOverview`,\n kpiStatCard: `${config.module}:DataSource:KpiStatCard`,\n },\n },\n /** Extended dashboard widget type ids; used by workflow dashboard widget configs. */\n widgets: {\n barChart: workflowDashboardWidgetId('BarChart'),\n tasksNearDeadlineBar: workflowDashboardWidgetId('TasksNearDeadlineBar'),\n pendingTasksByAgeBar: workflowDashboardWidgetId('PendingTasksByAgeBar'),\n overdueTasksBar: workflowDashboardWidgetId('OverdueTasksBar'),\n bottleneckBar: workflowDashboardWidgetId('BottleneckBar'),\n workloadPerUserOverdueBar: workflowDashboardWidgetId('WorkloadPerUserOverdueBar'),\n stuckProcessesBar: workflowDashboardWidgetId('StuckProcessesBar'),\n slaRiskPredictionBar: workflowDashboardWidgetId('SlaRiskPredictionBar'),\n failedProcessesByTypeDonut: workflowDashboardWidgetId('FailedProcessesByTypeDonut'),\n failedProcessesTrendLine: workflowDashboardWidgetId('FailedProcessesTrendLine'),\n throughputDailyLine: workflowDashboardWidgetId('ThroughputDailyLine'),\n throughputWeeklyLine: workflowDashboardWidgetId('ThroughputWeeklyLine'),\n failedProcessesSummaryBar: workflowDashboardWidgetId('FailedProcessesSummaryBar'),\n workloadPerUserActiveBar: workflowDashboardWidgetId('WorkloadPerUserActiveBar'),\n workloadPerUserAvgAgeBar: workflowDashboardWidgetId('WorkloadPerUserAvgAgeBar'),\n overloadedUsersBar: workflowDashboardWidgetId('OverloadedUsersBar'),\n donutChart: workflowDashboardWidgetId('DonutChart'),\n slaViolationsBar: workflowDashboardWidgetId('SlaViolationsBar'),\n gaugeChart: workflowDashboardWidgetId('GaugeChart'),\n lineChart: workflowDashboardWidgetId('LineChart'),\n slaTrendLine: workflowDashboardWidgetId('SlaTrendLine'),\n errorsBar: workflowDashboardWidgetId('ErrorsBar'),\n instanceConversionFunnel: workflowDashboardWidgetId('InstanceConversionFunnel'),\n errorsHeatmap: workflowDashboardWidgetId('ErrorsHeatmap'),\n systemHealthBar: workflowDashboardWidgetId('SystemHealthBar'),\n kpiDetails: workflowDashboardWidgetId('KpiDetails'),\n kpiProgress: workflowDashboardWidgetId('KpiProgress'),\n kpiSegmented: workflowDashboardWidgetId('KpiSegmented'),\n kpiStatCard: workflowDashboardWidgetId('KpiStatCard'),\n },\n};\n","export const AXMPermissionsKeys = {\n WorkflowManagement: {\n Management: 'WorkflowManagement:Permission:Management',\n },\n WorkflowInstance: {\n ReassignToSelf: 'WorkflowManagement:Permission:WorkflowInstance.ReassignToSelf',\n },\n} as const;\n","import { AXPEntity } from '@acorex/platform/common';\nimport { AXPEntityDefinitionLoader, AXPEntityPreloadEntity } from '@acorex/platform/layout/entity';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from './const';\n\n@Injectable()\nexport class AXMWorkflowManagementModuleEntityProvider implements AXPEntityDefinitionLoader {\n public preload(): AXPEntityPreloadEntity[] {\n const module = RootConfig.module.name;\n return Array.from(Object.values(RootConfig.entities)).map((entity: any) => ({\n module: module,\n entity: entity.name,\n }));\n }\n\n async get(moduleName: string, entityName: string): Promise<AXPEntity | null> {\n if (moduleName === RootConfig.module.name) {\n switch (entityName) {\n case RootConfig.entities.workflowDefinition.name:\n return (await import('./entities/workflow-definition/workflow-definition.entity')).factory();\n case RootConfig.entities.workflowInstance.name:\n return (await import('./entities/workflow-instance/workflow-instance.entity')).factory();\n case RootConfig.entities.activityDefinition.name:\n return (await import('./entities/activity-definition/activity-definition.entity')).factory();\n case RootConfig.entities.automation.name:\n return (await import('./entities/automation/automation.entity')).factory();\n }\n }\n return null;\n }\n\n async list(): Promise<{ name: string; module: string }[]> {\n const m = RootConfig.module.name;\n return Promise.resolve(\n Object.values(RootConfig.entities).map((e) => ({ name: e.name, module: m }))\n );\n }\n}\n\n","export const AXPWorkflowManagementMenuKeys = {\n Root: 'workflow-management:menu',\n Workflow: 'workflow-management:workflow',\n WorkflowDefinitions: 'workflow-management:workflow-definitions',\n WorkflowInstances: 'workflow-management:workflow-instances',\n Activities: 'workflow-management:activities',\n} as const;\n\n","import { AXPCommonMenuKeys } from '@acorex/modules/common';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPMenuProvider, AXPMenuProviderContext } from '@acorex/platform/common';\nimport { AXPEntityService } from '@acorex/platform/layout/entity';\nimport { inject } from '@angular/core';\nimport { firstValueFrom } from 'rxjs';\nimport { RootConfig } from './const';\nimport { AXPWorkflowManagementMenuKeys } from './menu.keys';\n\nexport class AXMMenuProvider implements AXPMenuProvider {\n private entityService = inject(AXPEntityService);\n private sessionService = inject(AXPSessionService);\n\n async provide(context: AXPMenuProviderContext): Promise<void> {\n const isAuthorized = await firstValueFrom(this.sessionService.isAuthorized$);\n if (!isAuthorized) {\n return;\n }\n\n const module = RootConfig.module;\n\n const workflowsMenu = context.find(AXPCommonMenuKeys.Workflows);\n if (!workflowsMenu.exists) {\n context.find(AXPCommonMenuKeys.Administration).addItems([\n {\n name: AXPCommonMenuKeys.Workflows,\n priority: 12,\n text: '@general:menus.workflows.title',\n icon: module.icon,\n type: 'menu',\n children: [],\n },\n ]);\n }\n\n context.find(AXPCommonMenuKeys.Workflows).addItems([\n {\n name: AXPWorkflowManagementMenuKeys.WorkflowDefinitions,\n text: '@workflow-management:workflow-definitions.menus.workflow-definitions.title',\n path: this.entityService.createPath(module.name, RootConfig.entities.workflowDefinition.name),\n priority: 1,\n icon: RootConfig.entities.workflowDefinition.icon,\n policy: {\n features: [module.name],\n },\n },\n {\n name: AXPWorkflowManagementMenuKeys.WorkflowInstances,\n text: '@workflow-management:workflow-instances.menus.workflow-instances.title',\n path: this.entityService.createPath(module.name, RootConfig.entities.workflowInstance.name),\n priority: 2,\n icon: RootConfig.entities.workflowInstance.icon,\n policy: {\n features: [module.name],\n },\n },\n ]);\n }\n}\n","import { AXPDefinitionCategory } from \"@acorex/platform/core\";\n\n/**\n * Single source of truth for the workflow tab in the widget picker.\n * All workflow dashboard extended widgets must use this so `uniqBy(name)` keeps a localized title.\n */\nexport const AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY: AXPDefinitionCategory = {\n name: 'workflow',\n order: 3,\n title: '@workflow-management:dashboard-widgets.widget-picker-category.workflow',\n};\n","import { AXPDefinitionCategory } from \"@acorex/platform/core\";\n\nconst SUB = '@workflow-management:dashboard-widgets.widget-picker-sub-categories';\n\n//#region ---- Workflow dashboard widget picker sub-categories ----\n\nexport const AXP_WORKFLOW_DASHBOARD_SUB_KPI: AXPDefinitionCategory = {\n name: 'workflow-kpi',\n order: 1,\n title: `${SUB}.kpi`,\n};\n\nexport const AXP_WORKFLOW_DASHBOARD_SUB_THROUGHPUT: AXPDefinitionCategory = {\n name: 'workflow-throughput',\n order: 2,\n title: `${SUB}.throughput`,\n};\n\nexport const AXP_WORKFLOW_DASHBOARD_SUB_FAILURES: AXPDefinitionCategory = {\n name: 'workflow-failures',\n order: 3,\n title: `${SUB}.failures`,\n};\n\nexport const AXP_WORKFLOW_DASHBOARD_SUB_ERRORS: AXPDefinitionCategory = {\n name: 'workflow-errors',\n order: 4,\n title: `${SUB}.errors`,\n};\n\nexport const AXP_WORKFLOW_DASHBOARD_SUB_SLA: AXPDefinitionCategory = {\n name: 'workflow-sla',\n order: 5,\n title: `${SUB}.sla`,\n};\n\nexport const AXP_WORKFLOW_DASHBOARD_SUB_WORKLOAD: AXPDefinitionCategory = {\n name: 'workflow-workload',\n order: 6,\n title: `${SUB}.workload`,\n};\n\nexport const AXP_WORKFLOW_DASHBOARD_SUB_TASKS: AXPDefinitionCategory = {\n name: 'workflow-tasks',\n order: 7,\n title: `${SUB}.tasks`,\n};\n\nexport const AXP_WORKFLOW_DASHBOARD_SUB_SYSTEM_HEALTH: AXPDefinitionCategory = {\n name: 'workflow-system-health',\n order: 8,\n title: `${SUB}.system-health`,\n};\n\nexport const AXP_WORKFLOW_DASHBOARD_SUB_USER: AXPDefinitionCategory = {\n name: 'workflow-user',\n order: 9,\n title: `${SUB}.user`,\n};\n\n//#endregion\n","import { AXPBarChartWidget } from '@acorex/modules/dashboard-management';\nimport { AXPWidgetGroupEnum, type AXPExtendedWidget } from '@acorex/platform/layout/widget-core';\nimport { RootConfig } from '../../../../../const';\nimport { AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY } from '../../workflow-dashboard-widget-category';\nimport { AXP_WORKFLOW_DASHBOARD_SUB_ERRORS } from '../../workflow-dashboard-widget-subcategories';\n\nexport const AXMWorkflowErrorsBarChartAXPExtendedWidget: AXPExtendedWidget = {\n parentName: AXPBarChartWidget.name,\n widget: {\n ...AXPBarChartWidget,\n name: RootConfig.widgets.errorsBar,\n title: '@workflow-management:dashboard-widgets.workflow-errors-bar.widget-title',\n description: '@workflow-management:dashboard-widgets.workflow-errors-bar.widget-description',\n groups: [AXPWidgetGroupEnum.DashboardWidget],\n categories: [AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY],\n subCategory: AXP_WORKFLOW_DASHBOARD_SUB_ERRORS,\n options: {\n title: '@workflow-management:dashboard-widgets.workflow-errors-bar.chart-title',\n xAxisLabel: '@workflow-management:dashboard-widgets.workflow-errors-bar.x-axis-label',\n yAxisLabel: '@workflow-management:dashboard-widgets.workflow-errors-bar.y-axis-label',\n dataSource: RootConfig.dataSources.dashboardChart.errorsByCategory,\n },\n },\n};\n","import { AXPHeatmapChartWidget } from '@acorex/modules/dashboard-management';\nimport { AXPWidgetGroupEnum, type AXPExtendedWidget } from '@acorex/platform/layout/widget-core';\nimport { RootConfig } from '../../../../../const';\nimport { AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY } from '../../workflow-dashboard-widget-category';\nimport { AXP_WORKFLOW_DASHBOARD_SUB_ERRORS } from '../../workflow-dashboard-widget-subcategories';\n\n/**\n * Real-world use case:\n * Heatmap of workflow errors by activity/stage (Y) and day bucket (X).\n *\n * Typical interpretation:\n * - X: weekday (\"Mon\"..\"Sun\") or recent days (\"D-6\".. \"Today\")\n * - Y: activity name / step name (e.g. \"Approval\", \"Validation\", \"Notify\")\n * - value: error count\n * - label: optional preformatted tooltip value (e.g. \"12 errors\")\n *\n * DataSource contract (items):\n * - `{ x: string|number, y: string|number, value: number, label?: string }[]`\n */\nexport const AXMWorkflowErrorsHeatmapAXPExtendedWidget: AXPExtendedWidget = {\n parentName: AXPHeatmapChartWidget.name,\n widget: {\n ...AXPHeatmapChartWidget,\n name: RootConfig.widgets.errorsHeatmap,\n title: '@workflow-management:dashboard-widgets.workflow-errors-heatmap.widget-title',\n description: '@workflow-management:dashboard-widgets.workflow-errors-heatmap.widget-description',\n groups: [AXPWidgetGroupEnum.DashboardWidget],\n categories: [AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY],\n subCategory: AXP_WORKFLOW_DASHBOARD_SUB_ERRORS,\n options: {\n showXAxis: true,\n showYAxis: true,\n showTooltip: true,\n // xAxisLabel: '@workflow-management:dashboard-widgets.workflow-errors-heatmap.x-axis-label',\n // yAxisLabel: '@workflow-management:dashboard-widgets.workflow-errors-heatmap.y-axis-label',\n cellPadding: 0.08,\n borderRadius: 3,\n animationEasing: 'cubic-out',\n animationDuration: 800,\n dataSource: RootConfig.dataSources.dashboardChart.errorsByActivityDayHeatmap,\n messages: {\n noData: '@workflow-management:dashboard-widgets.common.no-data',\n noDataHelp: '@workflow-management:dashboard-widgets.workflow-errors-heatmap.no-data-help',\n },\n },\n },\n};\n","import { AXPDonutChartWidget } from '@acorex/modules/dashboard-management';\nimport { AXPWidgetGroupEnum, type AXPExtendedWidget } from '@acorex/platform/layout/widget-core';\nimport { RootConfig } from '../../../../../const';\nimport { AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY } from '../../workflow-dashboard-widget-category';\nimport { AXP_WORKFLOW_DASHBOARD_SUB_FAILURES } from '../../workflow-dashboard-widget-subcategories';\n\nexport const AXMWorkflowFailedProcessesByTypeDonutChartAXPExtendedWidget: AXPExtendedWidget = {\n parentName: AXPDonutChartWidget.name,\n widget: {\n ...AXPDonutChartWidget,\n name: RootConfig.widgets.failedProcessesByTypeDonut,\n title: '@workflow-management:dashboard-widgets.workflow-failed-processes-by-type-donut.widget-title',\n description: '@workflow-management:dashboard-widgets.workflow-failed-processes-by-type-donut.widget-description',\n groups: [AXPWidgetGroupEnum.DashboardWidget],\n categories: [AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY],\n subCategory: AXP_WORKFLOW_DASHBOARD_SUB_FAILURES,\n options: {\n title: '@workflow-management:dashboard-widgets.workflow-failed-processes-by-type-donut.chart-title',\n dataSource: RootConfig.dataSources.dashboardChart.failedProcessesByType,\n },\n },\n};\n","import { AXPBarChartWidget } from '@acorex/modules/dashboard-management';\nimport { AXPWidgetGroupEnum, type AXPExtendedWidget } from '@acorex/platform/layout/widget-core';\nimport { RootConfig } from '../../../../../const';\nimport { AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY } from '../../workflow-dashboard-widget-category';\nimport { AXP_WORKFLOW_DASHBOARD_SUB_FAILURES } from '../../workflow-dashboard-widget-subcategories';\n\nexport const AXMWorkflowFailedProcessesSummaryBarChartAXPExtendedWidget: AXPExtendedWidget = {\n parentName: AXPBarChartWidget.name,\n widget: {\n ...AXPBarChartWidget,\n name: RootConfig.widgets.failedProcessesSummaryBar,\n title: '@workflow-management:dashboard-widgets.workflow-failed-processes-summary-bar.widget-title',\n description: '@workflow-management:dashboard-widgets.workflow-failed-processes-summary-bar.widget-description',\n groups: [AXPWidgetGroupEnum.DashboardWidget],\n categories: [AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY],\n subCategory: AXP_WORKFLOW_DASHBOARD_SUB_FAILURES,\n options: {\n title: '@workflow-management:dashboard-widgets.workflow-failed-processes-summary-bar.chart-title',\n xAxisLabel: '@workflow-management:dashboard-widgets.workflow-failed-processes-summary-bar.x-axis-label',\n yAxisLabel: '@workflow-management:dashboard-widgets.workflow-failed-processes-summary-bar.y-axis-label',\n dataSource: RootConfig.dataSources.dashboardChart.failedProcessesSummary,\n },\n },\n};\n","import { AXPLineChartWidget } from '@acorex/modules/dashboard-management';\nimport { AXPWidgetGroupEnum, type AXPExtendedWidget } from '@acorex/platform/layout/widget-core';\nimport { RootConfig } from '../../../../../const';\nimport { AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY } from '../../workflow-dashboard-widget-category';\nimport { AXP_WORKFLOW_DASHBOARD_SUB_FAILURES } from '../../workflow-dashboard-widget-subcategories';\n\nexport const AXMWorkflowFailedProcessesTrendLineChartAXPExtendedWidget: AXPExtendedWidget = {\n parentName: AXPLineChartWidget.name,\n widget: {\n ...AXPLineChartWidget,\n name: RootConfig.widgets.failedProcessesTrendLine,\n title: '@workflow-management:dashboard-widgets.workflow-failed-processes-trend-line.widget-title',\n description: '@workflow-management:dashboard-widgets.workflow-failed-processes-trend-line.widget-description',\n groups: [AXPWidgetGroupEnum.DashboardWidget],\n categories: [AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY],\n subCategory: AXP_WORKFLOW_DASHBOARD_SUB_FAILURES,\n options: {\n title: '@workflow-management:dashboard-widgets.workflow-failed-processes-trend-line.chart-title',\n xAxisLabel: '@workflow-management:dashboard-widgets.workflow-failed-processes-trend-line.x-axis-label',\n yAxisLabel: '@workflow-management:dashboard-widgets.workflow-failed-processes-trend-line.y-axis-label',\n fillArea: false,\n yAxisStartsAtZero: true,\n dataSource: RootConfig.dataSources.dashboardChart.failedProcessFailureTrend,\n },\n },\n};\n","import { AXPBarChartWidget } from '@acorex/modules/dashboard-management';\nimport { AXPWidgetGroupEnum, type AXPExtendedWidget } from '@acorex/platform/layout/widget-core';\nimport { RootConfig } from '../../../../../const';\nimport { AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY } from '../../workflow-dashboard-widget-category';\nimport { AXP_WORKFLOW_DASHBOARD_SUB_FAILURES } from '../../workflow-dashboard-widget-subcategories';\n\nexport const AXMWorkflowStuckProcessesBarChartAXPExtendedWidget: AXPExtendedWidget = {\n parentName: AXPBarChartWidget.name,\n widget: {\n ...AXPBarChartWidget,\n name: RootConfig.widgets.stuckProcessesBar,\n title: '@workflow-management:dashboard-widgets.workflow-stuck-processes-bar.widget-title',\n description: '@workflow-management:dashboard-widgets.workflow-stuck-processes-bar.widget-description',\n groups: [AXPWidgetGroupEnum.DashboardWidget],\n categories: [AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY],\n subCategory: AXP_WORKFLOW_DASHBOARD_SUB_FAILURES,\n options: {\n title: '@workflow-management:dashboard-widgets.workflow-stuck-processes-bar.chart-title',\n xAxisLabel: '@workflow-management:dashboard-widgets.workflow-stuck-processes-bar.x-axis-label',\n yAxisLabel: '@workflow-management:dashboard-widgets.workflow-stuck-processes-bar.y-axis-label',\n dataSource: RootConfig.dataSources.dashboardChart.stuckProcesses,\n },\n },\n};\n","import { AXPGaugeChartWidget } from '@acorex/modules/dashboard-management';\nimport { AXPWidgetGroupEnum, type AXPExtendedWidget } from '@acorex/platform/layout/widget-core';\nimport { RootConfig } from '../../../../../const';\nimport { AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY } from '../../workflow-dashboard-widget-category';\nimport { AXP_WORKFLOW_DASHBOARD_SUB_SLA } from '../../workflow-dashboard-widget-subcategories';\n\nexport const AXMWorkflowGaugeChartAXPExtendedWidget: AXPExtendedWidget = {\n parentName: AXPGaugeChartWidget.name,\n widget: {\n ...AXPGaugeChartWidget,\n name: RootConfig.widgets.gaugeChart,\n title: '@workflow-management:dashboard-widgets.workflow-gauge-chart.widget-title',\n description: '@workflow-management:dashboard-widgets.workflow-gauge-chart.widget-description',\n groups: [AXPWidgetGroupEnum.DashboardWidget],\n categories: [AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY],\n subCategory: AXP_WORKFLOW_DASHBOARD_SUB_SLA,\n options: {\n title: '@workflow-management:dashboard-widgets.workflow-gauge-chart.chart-title',\n label: '@workflow-management:dashboard-widgets.workflow-gauge-chart.gauge-label',\n dataSource: RootConfig.dataSources.dashboardChart.slaCompliance,\n minValue: 0,\n maxValue: 100,\n thresholds: [\n {\n value: 30,\n color: 'rgba(var(--ax-sys-color-danger-500))',\n label: '@workflow-management:dashboard-widgets.workflow-gauge-chart.threshold-low',\n },\n {\n value: 70,\n color: 'rgba(var(--ax-sys-color-warning-500))',\n label: '@workflow-management:dashboard-widgets.workflow-gauge-chart.threshold-medium',\n },\n {\n value: 100,\n color: 'rgba(var(--ax-sys-color-success-500))',\n label: '@workflow-management:dashboard-widgets.workflow-gauge-chart.threshold-high',\n },\n ],\n },\n },\n};\n","import { AXPBarChartWidget } from '@acorex/modules/dashboard-management';\nimport { AXPWidgetGroupEnum, type AXPExtendedWidget } from '@acorex/platform/layout/widget-core';\nimport { RootConfig } from '../../../../../const';\nimport { AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY } from '../../workflow-dashboard-widget-category';\nimport { AXP_WORKFLOW_DASHBOARD_SUB_SLA } from '../../workflow-dashboard-widget-subcategories';\n\nexport const AXMWorkflowSlaRiskPredictionBarChartAXPExtendedWidget: AXPExtendedWidget = {\n parentName: AXPBarChartWidget.name,\n widget: {\n ...AXPBarChartWidget,\n name: RootConfig.widgets.slaRiskPredictionBar,\n title: '@workflow-management:dashboard-widgets.workflow-sla-risk-prediction-bar.widget-title',\n description: '@workflow-management:dashboard-widgets.workflow-sla-risk-prediction-bar.widget-description',\n groups: [AXPWidgetGroupEnum.DashboardWidget],\n categories: [AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY],\n subCategory: AXP_WORKFLOW_DASHBOARD_SUB_SLA,\n options: {\n title: '@workflow-management:dashboard-widgets.workflow-sla-risk-prediction-bar.chart-title',\n xAxisLabel: '@workflow-management:dashboard-widgets.workflow-sla-risk-prediction-bar.x-axis-label',\n yAxisLabel: '@workflow-management:dashboard-widgets.workflow-sla-risk-prediction-bar.y-axis-label',\n dataSource: RootConfig.dataSources.dashboardChart.slaRiskPrediction,\n },\n },\n};\n","import { AXPLineChartWidget } from '@acorex/modules/dashboard-management';\nimport { AXPWidgetGroupEnum, type AXPExtendedWidget } from '@acorex/platform/layout/widget-core';\nimport { RootConfig } from '../../../../../const';\nimport { AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY } from '../../workflow-dashboard-widget-category';\nimport { AXP_WORKFLOW_DASHBOARD_SUB_SLA } from '../../workflow-dashboard-widget-subcategories';\n\nexport const AXMWorkflowSlaTrendLineChartAXPExtendedWidget: AXPExtendedWidget = {\n parentName: AXPLineChartWidget.name,\n widget: {\n ...AXPLineChartWidget,\n name: RootConfig.widgets.slaTrendLine,\n title: '@workflow-management:dashboard-widgets.workflow-sla-trend-line.widget-title',\n description: '@workflow-management:dashboard-widgets.workflow-sla-trend-line.widget-description',\n groups: [AXPWidgetGroupEnum.DashboardWidget],\n categories: [AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY],\n subCategory: AXP_WORKFLOW_DASHBOARD_SUB_SLA,\n options: {\n title: '@workflow-management:dashboard-widgets.workflow-sla-trend-line.chart-title',\n xAxisLabel: '@workflow-management:dashboard-widgets.workflow-sla-trend-line.x-axis-label',\n yAxisLabel: '@workflow-management:dashboard-widgets.workflow-sla-trend-line.y-axis-label',\n fillArea: true,\n yAxisStartsAtZero: false,\n dataSource: RootConfig.dataSources.dashboardChart.slaComplianceTrend,\n },\n },\n};\n","import { AXPBarChartWidget } from '@acorex/modules/dashboard-management';\nimport { AXPWidgetGroupEnum, type AXPExtendedWidget } from '@acorex/platform/layout/widget-core';\nimport { RootConfig } from '../../../../../const';\nimport { AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY } from '../../workflow-dashboard-widget-category';\nimport { AXP_WORKFLOW_DASHBOARD_SUB_SLA } from '../../workflow-dashboard-widget-subcategories';\n\nexport const AXMWorkflowSlaViolationsBarChartAXPExtendedWidget: AXPExtendedWidget = {\n parentName: AXPBarChartWidget.name,\n widget: {\n ...AXPBarChartWidget,\n name: RootConfig.widgets.slaViolationsBar,\n title: '@workflow-management:dashboard-widgets.workflow-sla-violations-bar.widget-title',\n description: '@workflow-management:dashboard-widgets.workflow-sla-violations-bar.widget-description',\n groups: [AXPWidgetGroupEnum.DashboardWidget],\n categories: [AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY],\n subCategory: AXP_WORKFLOW_DASHBOARD_SUB_SLA,\n options: {\n title: '@workflow-management:dashboard-widgets.workflow-sla-violations-bar.chart-title',\n xAxisLabel: '@workflow-management:dashboard-widgets.workflow-sla-violations-bar.x-axis-label',\n yAxisLabel: '@workflow-management:dashboard-widgets.workflow-sla-violations-bar.y-axis-label',\n dataSource: RootConfig.dataSources.dashboardChart.slaViolationsAndDelay,\n },\n },\n};\n","import { AXPBarChartWidget } from '@acorex/modules/dashboard-management';\nimport { AXPWidgetGroupEnum, type AXPExtendedWidget } from '@acorex/platform/layout/widget-core';\nimport { RootConfig } from '../../../../../const';\nimport { AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY } from '../../workflow-dashboard-widget-category';\nimport { AXP_WORKFLOW_DASHBOARD_SUB_SYSTEM_HEALTH } from '../../workflow-dashboard-widget-subcategories';\n\nexport const AXMWorkflowSystemHealthBarChartAXPExtendedWidget: AXPExtendedWidget = {\n parentName: AXPBarChartWidget.name,\n widget: {\n ...AXPBarChartWidget,\n name: RootConfig.widgets.systemHealthBar,\n title: '@workflow-management:dashboard-widgets.workflow-system-health-bar.widget-title',\n description: '@workflow-management:dashboard-widgets.workflow-system-health-bar.widget-description',\n groups: [AXPWidgetGroupEnum.DashboardWidget],\n categories: [AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY],\n subCategory: AXP_WORKFLOW_DASHBOARD_SUB_SYSTEM_HEALTH,\n options: {\n title: '@workflow-management:dashboard-widgets.workflow-system-health-bar.chart-title',\n xAxisLabel: '@workflow-management:dashboard-widgets.workflow-system-health-bar.x-axis-label',\n yAxisLabel: '@workflow-management:dashboard-widgets.workflow-system-health-bar.y-axis-label',\n dataSource: RootConfig.dataSources.dashboardChart.systemHealthSummary,\n },\n },\n};\n","import { AXPBarChartWidget } from '@acorex/modules/dashboard-management';\nimport { AXPWidgetGroupEnum, type AXPExtendedWidget } from '@acorex/platform/layout/widget-core';\nimport { RootConfig } from '../../../../../const';\nimport { AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY } from '../../workflow-dashboard-widget-category';\nimport { AXP_WORKFLOW_DASHBOARD_SUB_TASKS } from '../../workflow-dashboard-widget-subcategories';\n\nexport const AXMWorkflowOverdueTasksBarChartAXPExtendedWidget: AXPExtendedWidget = {\n parentName: AXPBarChartWidget.name,\n widget: {\n ...AXPBarChartWidget,\n name: RootConfig.widgets.overdueTasksBar,\n title: '@workflow-management:dashboard-widgets.workflow-overdue-tasks-bar.widget-title',\n description: '@workflow-management:dashboard-widgets.workflow-overdue-tasks-bar.widget-description',\n groups: [AXPWidgetGroupEnum.DashboardWidget],\n categories: [AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY],\n subCategory: AXP_WORKFLOW_DASHBOARD_SUB_TASKS,\n options: {\n title: '@workflow-management:dashboard-widgets.workflow-overdue-tasks-bar.chart-title',\n xAxisLabel: '@workflow-management:dashboard-widgets.workflow-overdue-tasks-bar.x-axis-label',\n yAxisLabel: '@workflow-management:dashboard-widgets.workflow-overdue-tasks-bar.y-axis-label',\n dataSource: RootConfig.dataSources.dashboardChart.overdueTasksByProcess,\n },\n },\n};\n","import { AXPBarChartWidget } from '@acorex/modules/dashboard-management';\nimport { AXPWidgetGroupEnum, type AXPExtendedWidget } from '@acorex/platform/layout/widget-core';\nimport { RootConfig } from '../../../../../const';\nimport { AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY } from '../../workflow-dashboard-widget-category';\nimport { AXP_WORKFLOW_DASHBOARD_SUB_TASKS } from '../../workflow-dashboard-widget-subcategories';\n\nexport const AXMWorkflowPendingTasksByAgeBarChartAXPExtendedWidget: AXPExtendedWidget = {\n parentName: AXPBarChartWidget.name,\n widget: {\n ...AXPBarChartWidget,\n name: RootConfig.widgets.pendingTasksByAgeBar,\n title: '@workflow-management:dashboard-widgets.workflow-pending-tasks-by-age-bar.widget-title',\n description: '@workflow-management:dashboard-widgets.workflow-pending-tasks-by-age-bar.widget-description',\n groups: [AXPWidgetGroupEnum.DashboardWidget],\n categories: [AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY],\n subCategory: AXP_WORKFLOW_DASHBOARD_SUB_TASKS,\n options: {\n title: '@workflow-management:dashboard-widgets.workflow-pending-tasks-by-age-bar.chart-title',\n xAxisLabel: '@workflow-management:dashboard-widgets.workflow-pending-tasks-by-age-bar.x-axis-label',\n yAxisLabel: '@workflow-management:dashboard-widgets.workflow-pending-tasks-by-age-bar.y-axis-label',\n dataSource: RootConfig.dataSources.dashboardChart.pendingTasksByAge,\n },\n },\n};\n","import { AXPLineChartWidget } from '@acorex/modules/dashboard-management';\nimport { AXPWidgetGroupEnum, type AXPExtendedWidget } from '@acorex/platform/layout/widget-core';\nimport { RootConfig } from '../../../../../const';\nimport { AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY } from '../../workflow-dashboard-widget-category';\nimport { AXP_WORKFLOW_DASHBOARD_SUB_THROUGHPUT } from '../../workflow-dashboard-widget-subcategories';\n\nexport const AXMWorkflowLineChartAXPExtendedWidget: AXPExtendedWidget = {\n parentName: AXPLineChartWidget.name,\n widget: {\n ...AXPLineChartWidget,\n name: RootConfig.widgets.lineChart,\n title: '@workflow-management:dashboard-widgets.workflow-line-chart.widget-title',\n description: '@workflow-management:dashboard-widgets.workflow-line-chart.widget-description',\n groups: [AXPWidgetGroupEnum.DashboardWidget],\n categories: [AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY],\n subCategory: AXP_WORKFLOW_DASHBOARD_SUB_THROUGHPUT,\n options: {\n title: '@workflow-management:dashboard-widgets.workflow-line-chart.chart-title',\n xAxisLabel: '@workflow-management:dashboard-widgets.workflow-line-chart.x-axis-label',\n yAxisLabel: '@workflow-management:dashboard-widgets.workflow-line-chart.y-axis-label',\n fillArea: false,\n /** Focus Y domain on the data range so the two series are readable (not squashed to the top band). */\n yAxisStartsAtZero: false,\n dataSource: RootConfig.dataSources.dashboardChart.throughputLast8Weeks,\n },\n },\n};\n","import { AXPFunnelChartWidget } from '@acorex/modules/dashboard-management';\nimport { AXPWidgetGroupEnum, type AXPExtendedWidget } from '@acorex/platform/layout/widget-core';\nimport { RootConfig } from '../../../../../const';\nimport { AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY } from '../../workflow-dashboard-widget-category';\nimport { AXP_WORKFLOW_DASHBOARD_SUB_THROUGHPUT } from '../../workflow-dashboard-widget-subcategories';\n\n/**\n * Real-world use case:\n * A conversion funnel across workflow instance lifecycle stages (Created -> Assigned -> In progress -> Completed).\n *\n * DataSource contract (items):\n * - `{ name: string, value: number, color?: string }[]`\n */\nexport const AXMWorkflowInstanceConversionFunnelAXPExtendedWidget: AXPExtendedWidget = {\n parentName: AXPFunnelChartWidget.name,\n widget: {\n ...AXPFunnelChartWidget,\n name: RootConfig.widgets.instanceConversionFunnel,\n title: '@workflow-management:dashboard-widgets.workflow-instance-conversion-funnel.widget-title',\n description: '@workflow-management:dashboard-widgets.workflow-instance-conversion-funnel.widget-description',\n groups: [AXPWidgetGroupEnum.DashboardWidget],\n categories: [AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY],\n subCategory: AXP_WORKFLOW_DASHBOARD_SUB_THROUGHPUT,\n options: {\n showLabels: true,\n showTooltip: true,\n neckWidth: 0.25,\n animationEasing: 'cubic-out',\n animationDuration: 800,\n margin: { top: 16, right: 16, bottom: 16, left: 16 },\n dataSource: RootConfig.dataSources.dashboardChart.instanceConversionFunnel,\n messages: {\n noData: '@workflow-management:dashboard-widgets.common.no-data',\n },\n },\n },\n};\n","import { AXPLineChartWidget } from '@acorex/modules/dashboard-management';\nimport { AXPWidgetGroupEnum, type AXPExtendedWidget } from '@acorex/platform/layout/widget-core';\nimport { RootConfig } from '../../../../../const';\nimport { AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY } from '../../workflow-dashboard-widget-category';\nimport { AXP_WORKFLOW_DASHBOARD_SUB_THROUGHPUT } from '../../workflow-dashboard-widget-subcategories';\n\nexport const AXMWorkflowThroughputDailyLineChartAXPExtendedWidget: AXPExtendedWidget = {\n parentName: AXPLineChartWidget.name,\n widget: {\n ...AXPLineChartWidget,\n name: RootConfig.widgets.throughputDailyLine,\n title: '@workflow-management:dashboard-widgets.workflow-throughput-daily-line.widget-title',\n description: '@workflow-management:dashboard-widgets.workflow-throughput-daily-line.widget-description',\n groups: [AXPWidgetGroupEnum.DashboardWidget],\n categories: [AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY],\n subCategory: AXP_WORKFLOW_DASHBOARD_SUB_THROUGHPUT,\n options: {\n title: '@workflow-management:dashboard-widgets.workflow-throughput-daily-line.chart-title',\n xAxisLabel: '@workflow-management:dashboard-widgets.workflow-throughput-daily-line.x-axis-label',\n yAxisLabel: '@workflow-management:dashboard-widgets.workflow-throughput-daily-line.y-axis-label',\n fillArea: false,\n yAxisStartsAtZero: false,\n dataSource: RootConfig.dataSources.dashboardChart.throughputDaily,\n },\n },\n};\n","import { AXPLineChartWidget } from '@acorex/modules/dashboard-management';\nimport { AXPWidgetGroupEnum, type AXPExtendedWidget } from '@acorex/platform/layout/widget-core';\nimport { RootConfig } from '../../../../../const';\nimport { AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY } from '../../workflow-dashboard-widget-category';\nimport { AXP_WORKFLOW_DASHBOARD_SUB_THROUGHPUT } from '../../workflow-dashboard-widget-subcategories';\n\nexport const AXMWorkflowThroughputWeeklyLineChartAXPExtendedWidget: AXPExtendedWidget = {\n parentName: AXPLineChartWidget.name,\n widget: {\n ...AXPLineChartWidget,\n name: RootConfig.widgets.throughputWeeklyLine,\n title: '@workflow-management:dashboard-widgets.workflow-throughput-weekly-line.widget-title',\n description: '@workflow-management:dashboard-widgets.workflow-throughput-weekly-line.widget-description',\n groups: [AXPWidgetGroupEnum.DashboardWidget],\n categories: [AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY],\n subCategory: AXP_WORKFLOW_DASHBOARD_SUB_THROUGHPUT,\n options: {\n title: '@workflow-management:dashboard-widgets.workflow-throughput-weekly-line.chart-title',\n xAxisLabel: '@workflow-management:dashboard-widgets.workflow-throughput-weekly-line.x-axis-label',\n yAxisLabel: '@workflow-management:dashboard-widgets.workflow-throughput-weekly-line.y-axis-label',\n fillArea: false,\n yAxisStartsAtZero: false,\n dataSource: RootConfig.dataSources.dashboardChart.throughputWeekly,\n },\n },\n};\n","import { AXPBarChartWidget } from '@acorex/modules/dashboard-management';\nimport { AXPWidgetGroupEnum, type AXPExtendedWidget } from '@acorex/platform/layout/widget-core';\nimport { RootConfig } from '../../../../../const';\nimport { AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY } from '../../workflow-dashboard-widget-category';\nimport { AXP_WORKFLOW_DASHBOARD_SUB_WORKLOAD } from '../../workflow-dashboard-widget-subcategories';\n\nexport const AXMWorkflowBottleneckBarChartAXPExtendedWidget: AXPExtendedWidget = {\n parentName: AXPBarChartWidget.name,\n widget: {\n ...AXPBarChartWidget,\n name: RootConfig.widgets.bottleneckBar,\n title: '@workflow-management:dashboard-widgets.workflow-bottleneck-bar.widget-title',\n description: '@workflow-management:dashboard-widgets.workflow-bottleneck-bar.widget-description',\n groups: [AXPWidgetGroupEnum.DashboardWidget],\n categories: [AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY],\n subCategory: AXP_WORKFLOW_DASHBOARD_SUB_WORKLOAD,\n options: {\n title: '@workflow-management:dashboard-widgets.workflow-bottleneck-bar.chart-title',\n xAxisLabel: '@workflow-management:dashboard-widgets.workflow-bottleneck-bar.x-axis-label',\n yAxisLabel: '@workflow-management:dashboard-widgets.workflow-bottleneck-bar.y-axis-label',\n dataSource: RootConfig.dataSources.dashboardChart.bottleneckActivities,\n },\n },\n};\n","import { AXPDonutChartWidget } from '@acorex/modules/dashboard-management';\nimport { AXPWidgetGroupEnum, type AXPExtendedWidget } from '@acorex/platform/layout/widget-core';\nimport { RootConfig } from '../../../../../const';\nimport { AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY } from '../../workflow-dashboard-widget-category';\nimport { AXP_WORKFLOW_DASHBOARD_SUB_WORKLOAD } from '../../workflow-dashboard-widget-subcategories';\n\nexport const AXMWorkflowDonutChartAXPExtendedWidget: AXPExtendedWidget = {\n parentName: AXPDonutChartWidget.name,\n widget: {\n ...AXPDonutChartWidget,\n name: RootConfig.widgets.donutChart,\n title: '@workflow-management:dashboard-widgets.workflow-donut-chart.widget-title',\n description: '@workflow-management:dashboard-widgets.workflow-donut-chart.widget-description',\n groups: [AXPWidgetGroupEnum.DashboardWidget],\n categories: [AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY],\n subCategory: AXP_WORKFLOW_DASHBOARD_SUB_WORKLOAD,\n options: {\n title: '@workflow-management:dashboard-widgets.workflow-donut-chart.chart-title',\n dataSource: RootConfig.dataSources.dashboardChart.workloadByProcess,\n },\n },\n};\n","import { AXPBarChartWidget } from '@acorex/modules/dashboard-management';\nimport { AXPWidgetGroupEnum, type AXPExtendedWidget } from '@acorex/platform/layout/widget-core';\nimport { RootConfig } from '../../../../../const';\nimport { AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY } from '../../workflow-dashboard-widget-category';\nimport { AXP_WORKFLOW_DASHBOARD_SUB_WORKLOAD } from '../../workflow-dashboard-widget-subcategories';\n\nexport const AXMWorkflowOverloadedUsersBarChartAXPExtendedWidget: AXPExtendedWidget = {\n parentName: AXPBarChartWidget.name,\n widget: {\n ...AXPBarChartWidget,\n name: RootConfig.widgets.overloadedUsersBar,\n title: '@workflow-management:dashboard-widgets.workflow-overloaded-users-bar.widget-title',\n description: '@workflow-management:dashboard-widgets.workflow-overloaded-users-bar.widget-description',\n groups: [AXPWidgetGroupEnum.DashboardWidget],\n categories: [AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY],\n subCategory: AXP_WORKFLOW_DASHBOARD_SUB_WORKLOAD,\n options: {\n title: '@workflow-management:dashboard-widgets.workflow-overloaded-users-bar.chart-title',\n xAxisLabel: '@workflow-management:dashboard-widgets.workflow-overloaded-users-bar.x-axis-label',\n yAxisLabel: '@workflow-management:dashboard-widgets.workflow-overloaded-users-bar.y-axis-label',\n dataSource: RootConfig.dataSources.dashboardChart.workloadOverloadedUsers,\n },\n },\n};\n","import { AXPBarChartWidget } from '@acorex/modules/dashboard-management';\nimport { AXPWidgetGroupEnum, type AXPExtendedWidget } from '@acorex/platform/layout/widget-core';\nimport { RootConfig } from '../../../../../const';\nimport { AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY } from '../../workflow-dashboard-widget-category';\nimport { AXP_WORKFLOW_DASHBOARD_SUB_WORKLOAD } from '../../workflow-dashboard-widget-subcategories';\n\nexport const AXMWorkflowWorkloadPerUserActiveBarChartAXPExtendedWidget: AXPExtendedWidget = {\n parentName: AXPBarChartWidget.name,\n widget: {\n ...AXPBarChartWidget,\n name: RootConfig.widgets.workloadPerUserActiveBar,\n title: '@workflow-management:dashboard-widgets.workflow-workload-per-user-active-bar.widget-title',\n description: '@workflow-management:dashboard-widgets.workflow-workload-per-user-active-bar.widget-description',\n groups: [AXPWidgetGroupEnum.DashboardWidget],\n categories: [AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY],\n subCategory: AXP_WORKFLOW_DASHBOARD_SUB_WORKLOAD,\n options: {\n title: '@workflow-management:dashboard-widgets.workflow-workload-per-user-active-bar.chart-title',\n xAxisLabel: '@workflow-management:dashboard-widgets.workflow-workload-per-user-active-bar.x-axis-label',\n yAxisLabel: '@workflow-management:dashboard-widgets.workflow-workload-per-user-active-bar.y-axis-label',\n dataSource: RootConfig.dataSources.dashboardChart.workloadPerUserActive,\n },\n },\n};\n","import { AXPBarChartWidget } from '@acorex/modules/dashboard-management';\nimport { AXPWidgetGroupEnum, type AXPExtendedWidget } from '@acorex/platform/layout/widget-core';\nimport { RootConfig } from '../../../../../const';\nimport { AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY } from '../../workflow-dashboard-widget-category';\nimport { AXP_WORKFLOW_DASHBOARD_SUB_WORKLOAD } from '../../workflow-dashboard-widget-subcategories';\n\nexport const AXMWorkflowWorkloadPerUserAvgAgeBarChartAXPExtendedWidget: AXPExtendedWidget = {\n parentName: AXPBarChartWidget.name,\n widget: {\n ...AXPBarChartWidget,\n name: RootConfig.widgets.workloadPerUserAvgAgeBar,\n title: '@workflow-management:dashboard-widgets.workflow-workload-per-user-avg-age-bar.widget-title',\n description: '@workflow-management:dashboard-widgets.workflow-workload-per-user-avg-age-bar.widget-description',\n groups: [AXPWidgetGroupEnum.DashboardWidget],\n categories: [AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY],\n subCategory: AXP_WORKFLOW_DASHBOARD_SUB_WORKLOAD,\n options: {\n title: '@workflow-management:dashboard-widgets.workflow-workload-per-user-avg-age-bar.chart-title',\n xAxisLabel: '@workflow-management:dashboard-widgets.workflow-workload-per-user-avg-age-bar.x-axis-label',\n yAxisLabel: '@workflow-management:dashboard-widgets.workflow-workload-per-user-avg-age-bar.y-axis-label',\n dataSource: RootConfig.dataSources.dashboardChart.workloadPerUserAvgAgeHours,\n },\n },\n};\n","import { AXPBarChartWidget } from '@acorex/modules/dashboard-management';\nimport { AXPWidgetGroupEnum, type AXPExtendedWidget } from '@acorex/platform/layout/widget-core';\nimport { RootConfig } from '../../../../../const';\nimport { AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY } from '../../workflow-dashboard-widget-category';\nimport { AXP_WORKFLOW_DASHBOARD_SUB_WORKLOAD } from '../../workflow-dashboard-widget-subcategories';\n\nexport const AXMWorkflowWorkloadPerUserOverdueBarChartAXPExtendedWidget: AXPExtendedWidget = {\n parentName: AXPBarChartWidget.name,\n widget: {\n ...AXPBarChartWidget,\n name: RootConfig.widgets.workloadPerUserOverdueBar,\n title: '@workflow-management:dashboard-widgets.workflow-workload-per-user-overdue-bar.widget-title',\n description: '@workflow-management:dashboard-widgets.workflow-workload-per-user-overdue-bar.widget-description',\n groups: [AXPWidgetGroupEnum.DashboardWidget],\n categories: [AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY],\n subCategory: AXP_WORKFLOW_DASHBOARD_SUB_WORKLOAD,\n options: {\n title: '@workflow-management:dashboard-widgets.workflow-workload-per-user-overdue-bar.chart-title',\n xAxisLabel: '@workflow-management:dashboard-widgets.workflow-workload-per-user-overdue-bar.x-axis-label',\n yAxisLabel: '@workflow-management:dashboard-widgets.workflow-workload-per-user-overdue-bar.y-axis-label',\n dataSource: RootConfig.dataSources.dashboardChart.workloadPerUserOverdue,\n },\n },\n};\n","import { AXPKpiDetailsWidget } from '@acorex/modules/dashboard-management';\nimport { AXPWidgetGroupEnum, type AXPExtendedWidget } from '@acorex/platform/layout/widget-core';\nimport { RootConfig } from '../../../../const';\nimport { AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY } from '../workflow-dashboard-widget-category';\nimport { AXP_WORKFLOW_DASHBOARD_SUB_KPI } from '../workflow-dashboard-widget-subcategories';\n\nexport const AXMWorkflowKpiDetailsAXPExtendedWidget: AXPExtendedWidget = {\n parentName: AXPKpiDetailsWidget.name,\n widget: {\n ...AXPKpiDetailsWidget,\n name: RootConfig.widgets.kpiDetails,\n title: '@workflow-management:dashboard-widgets.workflow-kpi-details.widget-title',\n description: '@workflow-management:dashboard-widgets.workflow-kpi-details.widget-description',\n groups: [AXPWidgetGroupEnum.DashboardWidget],\n categories: [AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY],\n subCategory: AXP_WORKFLOW_DASHBOARD_SUB_KPI,\n options: {\n title: '@workflow-management:dashboard-widgets.workflow-kpi-details.options-title',\n subtitle: '@workflow-management:dashboard-widgets.workflow-kpi-details.options-subtitle',\n valueSuffix: '@workflow-management:dashboard-widgets.workflow-kpi-details.value-suffix',\n dataSource: RootConfig.dataSources.dashboardKpi.throughputOverview,\n },\n },\n};\n","import { AXPKpiProgressWidget } from '@acorex/modules/dashboard-management';\nimport { AXPWidgetGroupEnum, type AXPExtendedWidget } from '@acorex/platform/layout/widget-core';\nimport { RootConfig } from '../../../../const';\nimport { AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY } from '../workflow-dashboard-widget-category';\nimport { AXP_WORKFLOW_DASHBOARD_SUB_KPI } from '../workflow-dashboard-widget-subcategories';\n\nexport const AXMWorkflowKpiProgressAXPExtendedWidget: AXPExtendedWidget = {\n parentName: AXPKpiProgressWidget.name,\n widget: {\n ...AXPKpiProgressWidget,\n name: RootConfig.widgets.kpiProgress,\n title: '@workflow-management:dashboard-widgets.workflow-kpi-progress.widget-title',\n description: '@workflow-management:dashboard-widgets.workflow-kpi-progress.widget-description',\n groups: [AXPWidgetGroupEnum.DashboardWidget],\n categories: [AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY],\n subCategory: AXP_WORKFLOW_DASHBOARD_SUB_KPI,\n options: {\n subtitle: '@workflow-management:dashboard-widgets.workflow-kpi-progress.options-subtitle',\n valueSuffix: '%',\n targetValue: 95,\n dataSource: RootConfig.dataSources.dashboardKpi.slaComplianceSnapshot,\n },\n },\n};\n","import { AXPKpiSegmentedWidget } from '@acorex/modules/dashboard-management';\nimport { AXPWidgetGroupEnum, type AXPExtendedWidget } from '@acorex/platform/layout/widget-core';\nimport { RootConfig } from '../../../../const';\nimport { AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY } from '../workflow-dashboard-widget-category';\nimport { AXP_WORKFLOW_DASHBOARD_SUB_KPI } from '../workflow-dashboard-widget-subcategories';\n\nexport const AXMWorkflowKpiSegmentedAXPExtendedWidget: AXPExtendedWidget = {\n parentName: AXPKpiSegmentedWidget.name,\n widget: {\n ...AXPKpiSegmentedWidget,\n name: RootConfig.widgets.kpiSegmented,\n title: '@workflow-management:dashboard-widgets.workflow-kpi-segmented.widget-title',\n description: '@workflow-management:dashboard-widgets.workflow-kpi-segmented.widget-description',\n groups: [AXPWidgetGroupEnum.DashboardWidget],\n categories: [AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY],\n subCategory: AXP_WORKFLOW_DASHBOARD_SUB_KPI,\n options: {\n title: '@workflow-management:dashboard-widgets.workflow-kpi-segmented.options-title',\n dataSource: RootConfig.dataSources.dashboardKpi.taskStatusBreakdown,\n },\n },\n};\n","import { AXPKpiStatCardWidget } from '@acorex/modules/dashboard-management';\nimport { AXPWidgetGroupEnum, type AXPExtendedWidget } from '@acorex/platform/layout/widget-core';\nimport { RootConfig } from '../../../../const';\nimport { AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY } from '../workflow-dashboard-widget-category';\nimport { AXP_WORKFLOW_DASHBOARD_SUB_KPI } from '../workflow-dashboard-widget-subcategories';\n\nexport const AXMWorkflowKpiStatCardAXPExtendedWidget: AXPExtendedWidget = {\n parentName: AXPKpiStatCardWidget.name,\n widget: {\n ...AXPKpiStatCardWidget,\n name: RootConfig.widgets.kpiStatCard,\n title: '@workflow-management:dashboard-widgets.workflow-kpi-stat-card.widget-title',\n description: '@workflow-management:dashboard-widgets.workflow-kpi-stat-card.widget-description',\n groups: [AXPWidgetGroupEnum.DashboardWidget],\n categories: [AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY],\n subCategory: AXP_WORKFLOW_DASHBOARD_SUB_KPI,\n options: {\n dataSource: RootConfig.dataSources.dashboardKpi.kpiStatCard,\n },\n },\n};\n","import { AXPBarChartWidget } from '@acorex/modules/dashboard-management';\nimport { AXPWidgetGroupEnum, type AXPExtendedWidget } from '@acorex/platform/layout/widget-core';\nimport { RootConfig } from '../../../../const';\nimport { AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY } from '../workflow-dashboard-widget-category';\nimport { AXP_WORKFLOW_DASHBOARD_SUB_USER } from '../workflow-dashboard-widget-subcategories';\n\nexport const AXMWorkflowBarChartAXPExtendedWidget: AXPExtendedWidget = {\n parentName: AXPBarChartWidget.name,\n widget: {\n ...AXPBarChartWidget,\n name: RootConfig.widgets.barChart,\n title: '@workflow-management:dashboard-widgets.workflow-bar-chart.widget-title',\n description: '@workflow-management:dashboard-widgets.workflow-bar-chart.widget-description',\n groups: [AXPWidgetGroupEnum.DashboardWidget],\n categories: [AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY],\n subCategory: AXP_WORKFLOW_DASHBOARD_SUB_USER,\n options: {\n title: '@workflow-management:dashboard-widgets.workflow-bar-chart.chart-title',\n xAxisLabel: '@workflow-management:dashboard-widgets.workflow-bar-chart.x-axis-label',\n yAxisLabel: '@workflow-management:dashboard-widgets.workflow-bar-chart.y-axis-label',\n dataSource: RootConfig.dataSources.dashboardChart.pendingApproval,\n },\n },\n};\n","import { AXPBarChartWidget } from '@acorex/modules/dashboard-management';\nimport { AXPWidgetGroupEnum, type AXPExtendedWidget } from '@acorex/platform/layout/widget-core';\nimport { RootConfig } from '../../../../const';\nimport { AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY } from '../workflow-dashboard-widget-category';\nimport { AXP_WORKFLOW_DASHBOARD_SUB_USER } from '../workflow-dashboard-widget-subcategories';\n\nexport const AXMWorkflowTasksNearDeadlineBarChartAXPExtendedWidget: AXPExtendedWidget = {\n parentName: AXPBarChartWidget.name,\n widget: {\n ...AXPBarChartWidget,\n name: RootConfig.widgets.tasksNearDeadlineBar,\n title: '@workflow-management:dashboard-widgets.workflow-tasks-near-deadline-bar.widget-title',\n description: '@workflow-management:dashboard-widgets.workflow-tasks-near-deadline-bar.widget-description',\n groups: [AXPWidgetGroupEnum.DashboardWidget],\n categories: [AXP_WORKFLOW_DASHBOARD_WIDGET_CATEGORY],\n subCategory: AXP_WORKFLOW_DASHBOARD_SUB_USER,\n options: {\n title: '@workflow-management:dashboard-widgets.workflow-tasks-near-deadline-bar.chart-title',\n xAxisLabel: '@workflow-management:dashboard-widgets.workflow-tasks-near-deadline-bar.x-axis-label',\n yAxisLabel: '@workflow-management:dashboard-widgets.workflow-tasks-near-deadline-bar.y-axis-label',\n dataSource: RootConfig.dataSources.dashboardChart.tasksNearDeadline,\n },\n },\n};\n","//#region ---- Imports ----\n\nimport { AXPWidgetDefinitionProvider } from '@acorex/platform/layout/widget-core';\nimport type { AXPExtendedWidget } from '@acorex/platform/layout/widget-core';\nimport { Injectable } from '@angular/core';\nimport {\n AXMWorkflowBottleneckBarChartAXPExtendedWidget,\n AXMWorkflowDonutChartAXPExtendedWidget,\n AXMWorkflowErrorsBarChartAXPExtendedWidget,\n AXMWorkflowErrorsHeatmapAXPExtendedWidget,\n AXMWorkflowFailedProcessesByTypeDonutChartAXPExtendedWidget,\n AXMWorkflowFailedProcessesSummaryBarChartAXPExtendedWidget,\n AXMWorkflowFailedProcessesTrendLineChartAXPExtendedWidget,\n AXMWorkflowGaugeChartAXPExtendedWidget,\n AXMWorkflowInstanceConversionFunnelAXPExtendedWidget,\n AXMWorkflowLineChartAXPExtendedWidget,\n AXMWorkflowOverdueTasksBarChartAXPExtendedWidget,\n AXMWorkflowOverloadedUsersBarChartAXPExtendedWidget,\n AXMWorkflowPendingTasksByAgeBarChartAXPExtendedWidget,\n AXMWorkflowSlaRiskPredictionBarChartAXPExtendedWidget,\n AXMWorkflowSlaTrendLineChartAXPExtendedWidget,\n AXMWorkflowSlaViolationsBarChartAXPExtendedWidget,\n AXMWorkflowStuckProcessesBarChartAXPExtendedWidget,\n AXMWorkflowSystemHealthBarChartAXPExtendedWidget,\n AXMWorkflowThroughputDailyLineChartAXPExtendedWidget,\n AXMWorkflowThroughputWeeklyLineChartAXPExtendedWidget,\n AXMWorkflowWorkloadPerUserActiveBarChartAXPExtendedWidget,\n AXMWorkflowWorkloadPerUserAvgAgeBarChartAXPExtendedWidget,\n AXMWorkflowWorkloadPerUserOverdueBarChartAXPExtendedWidget,\n} from './admin';\nimport {\n AXMWorkflowKpiDetailsAXPExtendedWidget,\n AXMWorkflowKpiProgressAXPExtendedWidget,\n AXMWorkflowKpiSegmentedAXPExtendedWidget,\n AXMWorkflowKpiStatCardAXPExtendedWidget,\n} from './kpi';\nimport { AXMWorkflowBarChartAXPExtendedWidget, AXMWorkflowTasksNearDeadlineBarChartAXPExtendedWidget } from './user';\n\n//#endregion\n\n//#region ---- Extended dashboard widgets ----\n\nconst WORKFLOW_DASHBOARD_EXTENDED_WIDGETS: AXPExtendedWidget[] = [\n AXMWorkflowBarChartAXPExtendedWidget,\n AXMWorkflowTasksNearDeadlineBarChartAXPExtendedWidget,\n AXMWorkflowSystemHealthBarChartAXPExtendedWidget,\n AXMWorkflowThroughputDailyLineChartAXPExtendedWidget,\n AXMWorkflowThroughputWeeklyLineChartAXPExtendedWidget,\n AXMWorkflowLineChartAXPExtendedWidget,\n AXMWorkflowGaugeChartAXPExtendedWidget,\n AXMWorkflowSlaViolationsBarChartAXPExtendedWidget,\n AXMWorkflowSlaTrendLineChartAXPExtendedWidget,\n AXMWorkflowSlaRiskPredictionBarChartAXPExtendedWidget,\n AXMWorkflowPendingTasksByAgeBarChartAXPExtendedWidget,\n AXMWorkflowOverdueTasksBarChartAXPExtendedWidget,\n AXMWorkflowDonutChartAXPExtendedWidget,\n AXMWorkflowBottleneckBarChartAXPExtendedWidget,\n AXMWorkflowWorkloadPerUserActiveBarChartAXPExtendedWidget,\n AXMWorkflowWorkloadPerUserOverdueBarChartAXPExtendedWidget,\n AXMWorkflowWorkloadPerUserAvgAgeBarChartAXPExtendedWidget,\n AXMWorkflowOverloadedUsersBarChartAXPExtendedWidget,\n AXMWorkflowFailedProcessesSummaryBarChartAXPExtendedWidget,\n AXMWorkflowFailedProcessesTrendLineChartAXPExtendedWidget,\n AXMWorkflowFailedProcessesByTypeDonutChartAXPExtendedWidget,\n AXMWorkflowStuckProcessesBarChartAXPExtendedWidget,\n AXMWorkflowErrorsBarChartAXPExtendedWidget,\n AXMWorkflowErrorsHeatmapAXPExtendedWidget,\n AXMWorkflowInstanceConversionFunnelAXPExtendedWidget,\n AXMWorkflowKpiProgressAXPExtendedWidget,\n AXMWorkflowKpiSegmentedAXPExtendedWidget,\n AXMWorkflowKpiDetailsAXPExtendedWidget,\n AXMWorkflowKpiStatCardAXPExtendedWidget,\n];\n\n//#endregion\n\n//#region ---- Provider ----\n\n/**\n * Registers workflow dashboard extended widgets (admin/user chart widgets).\n */\n@Injectable()\nexport class AXMWorkflowDashboardWidgetsProvider implements AXPWidgetDefinitionProvider {\n getWidgets() {\n return [];\n }\n\n getExtendedWidgets() {\n return WORKFLOW_DASHBOARD_EXTENDED_WIDGETS;\n }\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXP_DATA_PATH_PROPERTY, AXP_NAME_PROPERTY } from '@acorex/platform/layout/widgets';\nimport { AXP_WIDGETS_EDITOR_CATEGORY, AXPWidgetConfig, AXPWidgetGroupEnum } from '@acorex/platform/layout/widget-core';\n\n//#endregion\n\n//#region ---- Config ----\n\nexport const AXMActivityCommandConfiguratorWidget: AXPWidgetConfig = {\n name: 'activity-command-configurator',\n title: 'Activity Command Configurator',\n icon: 'fa-light fa-bolt',\n description: 'Select an activity (command) and configure its parameters',\n categories: AXP_WIDGETS_EDITOR_CATEGORY,\n groups: [AXPWidgetGroupEnum.UtilityWidget],\n type: 'editor',\n defaultFilterWidgetName: 'string-filter',\n properties: [\n AXP_NAME_PROPERTY,\n AXP_DATA_PATH_PROPERTY,\n {\n name: 'label',\n title: 'Label',\n visible: true,\n group: { name: 'general', title: 'General', order: 1 },\n schema: {\n dataType: 'string',\n interface: {\n path: 'label',\n type: 'text-box',\n options: {\n placeholder: 'Enter label',\n },\n },\n },\n },\n ],\n components: {\n edit: {\n component: () =>\n import('./activity-command-configurator-widget-edit.component').then(\n (c) => c.AXMActivityCommandConfiguratorWidgetEditComponent\n ),\n },\n designer: {\n component: () =>\n import('./activity-command-configurator-widget-edit.component').then(\n (c) => c.AXMActivityCommandConfiguratorWidgetEditComponent\n ),\n },\n column: {\n component: () =>\n import('./activity-command-configurator-widget-column.component').then(\n (c) => c.AXMActivityCommandConfiguratorWidgetColumnComponent\n ),\n },\n },\n};\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXPWidgetDefinitionProvider } from '@acorex/platform/layout/widget-core';\nimport { Injectable } from '@angular/core';\nimport { AXMActivityCommandConfiguratorWidget } from './features/activity-command-configurator/activity-command-configurator-widget.config';\n\n//#endregion\n\n//#region ---- Workflow Management Widgets Provider ----\n\nconst WORKFLOW_WIDGETS = [AXMActivityCommandConfiguratorWidget];\n\n@Injectable()\nexport class AXMWorkflowManagementWidgetsProvider implements AXPWidgetDefinitionProvider {\n getWidgets() {\n return WORKFLOW_WIDGETS;\n }\n}\n\n//#endregion\n","import { Injectable, inject } from '@angular/core';\nimport { AXPExecuteCommandResult } from '@acorex/platform/core';\nimport { AXPCommand } from '@acorex/platform/runtime';\nimport { AXDialogService } from '@acorex/components/dialog';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXStyleColorType } from '@acorex/cdk/common';\n\n//#region ---- Types ----\n\n/**\n * Input for ShowConfirmPopup activity.\n */\nexport interface ShowConfirmPopupInput {\n /**\n * Title of the confirmation dialog\n */\n title: string;\n\n /**\n * Message/content of the confirmation dialog\n */\n message: string;\n\n /**\n * Dialog type/color (e.g., 'warning', 'danger', 'info', 'success')\n */\n type?: AXStyleColorType;\n\n /**\n * Button layout direction ('horizontal' or 'vertical')\n */\n direction?: 'horizontal' | 'vertical';\n\n /**\n * Whether dialog is closable\n */\n closable?: boolean;\n\n /**\n * Default action button ('confirm' or 'cancel')\n */\n defaultAction?: 'confirm' | 'cancel';\n}\n\n/**\n * Output for ShowConfirmPopup activity.\n * Outcome is determined by the outcomes object (ok or cancel).\n */\nexport interface ShowConfirmPopupOutput {\n // No output data needed - outcome is determined by outcomes\n}\n\n//#endregion\n\n/**\n * ShowConfirmPopup Activity (Frontend)\n * \n * Shows a confirmation popup dialog with OK and Cancel buttons.\n * This activity runs on the frontend and requires user interaction.\n * \n * Execution Mode: frontend\n * Activity Type: workflow-activity:show-confirm-popup\n * \n * Outcomes:\n * - ok: User clicked OK button\n * - cancel: User clicked Cancel button or closed the dialog\n */\n@Injectable()\nexport class ShowConfirmPopupActivity implements AXPCommand<ShowConfirmPopupInput, ShowConfirmPopupOutput> {\n //#region ---- Services & Dependencies ----\n\n private readonly dialogService = inject(AXDialogService);\n private readonly translationService = inject(AXTranslationService);\n\n //#endregion\n\n //#region ---- AXPCommand Implementation ----\n\n async execute(\n input: ShowConfirmPopupInput,\n ): Promise<AXPExecuteCommandResult<ShowConfirmPopupOutput>> {\n try {\n // Translate title and message if they are translation keys\n const title = await this.translationService.translateAsync(input.title);\n const message = await this.translationService.translateAsync(input.message);\n\n // Show confirmation dialog\n const dialogResult = await this.dialogService.confirm(\n title,\n message,\n input.type || 'warning',\n input.direction || 'horizontal',\n input.closable ?? false,\n input.defaultAction || 'cancel',\n );\n\n const confirmed = dialogResult.result === true;\n const outcome = confirmed ? 'ok' : 'cancel';\n\n console.log(`[ShowConfirmPopupActivity] User ${confirmed ? 'confirmed' : 'cancelled'} the dialog`);\n\n return {\n success: true,\n data: {} as ShowConfirmPopupOutput,\n metadata: {\n outcome,\n },\n };\n } catch (error: any) {\n console.error(`[ShowConfirmPopupActivity] Failed to show confirm popup:`, error);\n\n return {\n success: false,\n message: {\n text: error.message || 'Failed to show confirmation dialog',\n },\n data: {} as ShowConfirmPopupOutput,\n metadata: {\n outcome: 'cancel',\n },\n };\n }\n }\n\n //#endregion\n}\n\n","//#region ---- Imports ----\n\nimport { AXPopupService, AXPopupSizeType } from '@acorex/components/popup';\nimport { AXPActionMenuItem, AXPExecuteCommandResult } from '@acorex/platform/core';\nimport {\n AXPDialogRendererComponent,\n DialogRendererConfig,\n DialogRendererResult,\n} from '@acorex/platform/layout/builder';\nimport { AXPWidgetNode, AXPWidgetSerializationHelper } from '@acorex/platform/layout/widget-core';\nimport { AXPCommand } from '@acorex/platform/runtime';\nimport { Injectable, inject } from '@angular/core';\nimport { cloneDeep } from 'lodash-es';\n\n//#endregion\n\n//#region ---- Types ----\n\n/**\n * Input for ShowLayoutPopup activity.\n */\nexport interface ShowLayoutPopupInput {\n /**\n * Layout definition as JSON string or AXPWidgetNode object\n */\n layout: string | AXPWidgetNode;\n\n /**\n * Dialog title\n */\n title?: string;\n\n /**\n * Dialog size\n */\n size?: AXPopupSizeType;\n\n /**\n * Whether to show close button\n */\n closeButton?: boolean;\n\n /**\n * Initial context data for the form\n */\n context?: Record<string, any>;\n\n /**\n * Dialog actions (buttons) to display in footer\n * Each action will create a corresponding outcome\n */\n actions?: {\n prefix?: AXPActionMenuItem[];\n suffix?: AXPActionMenuItem[];\n };\n}\n\n//#endregion\n\n/**\n * ShowLayoutPopup Activity (Frontend)\n *\n * Shows a popup dialog with a custom layout built using layout builder.\n * The layout can be provided as JSON string or AXPWidgetNode object.\n *\n * Execution Mode: frontend\n * Activity Type: workflow-activity:show-layout-popup\n *\n * Outcomes:\n * Outcomes are dynamically generated based on the actions provided in the input.\n * Each action creates a corresponding outcome with the action name (from command.name or action.name).\n * If no actions are provided, default actions (cancel, submit) are used.\n *\n * Examples:\n * - If action has command.name = 'save', outcome will be { save: true }\n * - If action has name = 'delete', outcome will be { delete: true }\n * - Default outcomes: { cancel: true } or { submit: true }\n */\n@Injectable()\nexport class ShowLayoutPopupActivity implements AXPCommand<ShowLayoutPopupInput, Record<string, any>> {\n //#region ---- Services & Dependencies ----\n\n private readonly popupService = inject(AXPopupService);\n\n //#endregion\n\n //#region ---- AXPCommand Implementation ----\n\n async execute(input: ShowLayoutPopupInput): Promise<AXPExecuteCommandResult<Record<string, any>>> {\n try {\n // Parse layout definition\n let layoutNode: AXPWidgetNode;\n\n if (typeof input.layout === 'string') {\n // If it's a JSON string, parse it\n try {\n layoutNode = AXPWidgetSerializationHelper.fromJson(input.layout);\n } catch (error: any) {\n throw new Error(`Invalid layout JSON: ${error.message}`);\n }\n } else {\n // If it's already an object, use it directly (clone to avoid mutations)\n layoutNode = cloneDeep(input.layout);\n }\n\n // Validate layout node\n if (!layoutNode || !layoutNode.type) {\n throw new Error('Invalid layout: missing type property');\n }\n\n // Build actions from input or use defaults\n const actions = input.actions || {\n suffix: [\n {\n title: '@general:actions.cancel.title',\n icon: 'fa-times',\n color: 'default',\n command: { name: 'cancel' },\n },\n {\n title: '@general:actions.submit.title',\n icon: 'fa-check',\n color: 'primary',\n command: { name: 'submit', options: { validate: true } },\n },\n ],\n };\n\n // Create dialog configuration\n const dialogConfig: DialogRendererConfig = {\n title: input.title || 'Dialog',\n context: input.context || {},\n definition: layoutNode,\n actions: {\n footer: {\n prefix: actions.prefix || [],\n suffix: actions.suffix || [],\n },\n },\n };\n\n // Show dialog using AXPDialogRendererComponent. Close dialog before resolving so UI is updated before workflow continues.\n const dialogResult = await new Promise<DialogRendererResult>((resolve) => {\n this.popupService.open(AXPDialogRendererComponent, {\n title: dialogConfig.title,\n size: input.size || 'md',\n closeButton: input.closeButton !== undefined ? input.closeButton : true,\n closeOnBackdropClick: false,\n draggable: false,\n data: {\n config: dialogConfig,\n callBack: (result: any) => {\n if (typeof result?.close === 'function') {\n result.close();\n }\n resolve({\n context: result?.context?.() ?? dialogConfig.context,\n action: result?.action ? result.action() : 'cancel',\n });\n },\n },\n });\n });\n\n // Extract result data and action\n const result = dialogResult?.context || {};\n let actionName = 'cancel'; // Default action\n\n const rawActionFromDialog = dialogResult?.action;\n let resolvedAction: string | { name?: string } | undefined;\n\n if (rawActionFromDialog) {\n resolvedAction = rawActionFromDialog;\n }\n\n if (typeof resolvedAction === 'string') {\n actionName = resolvedAction;\n } else if (typeof resolvedAction === 'object' && resolvedAction && 'name' in resolvedAction) {\n actionName = resolvedAction.name ?? 'cancel';\n }\n const action = actionName;\n\n console.log(`[ShowLayoutPopupActivity] Dialog closed with action: ${action}`, result);\n\n return {\n success: true,\n data: result,\n metadata: {\n outcome: action,\n },\n };\n } catch (error: any) {\n console.error(`[ShowLayoutPopupActivity] Failed to show layout popup:`, error);\n\n return {\n success: false,\n message: {\n text: error.message || 'Failed to show layout popup',\n },\n data: {},\n metadata: {\n outcome: 'cancel',\n },\n };\n }\n }\n\n //#endregion\n}\n","//#region ---- Imports ----\n\nimport { Injectable } from '@angular/core';\nimport { AXPExecuteCommandResult } from '@acorex/platform/core';\nimport { AXPCommand } from '@acorex/platform/runtime';\n\n//#endregion\n\n//#region ---- Types ----\n\n/**\n * Input for Human Task activity.\n */\nexport interface HumanTaskInput {\n /**\n * Task title\n */\n title?: string;\n\n /**\n * Task description\n */\n description?: string;\n\n /**\n * Assigned user IDs (direct assignment)\n */\n assignedUserIds?: string[];\n\n /**\n * Candidate user IDs (users who can claim the task)\n */\n candidateUserIds?: string[];\n\n /**\n * Candidate role IDs (roles whose members can claim the task)\n */\n candidateRoleIds?: string[];\n\n /**\n * Task priority\n */\n priority?: 'Low' | 'Normal' | 'High' | 'Urgent';\n\n /**\n * Task due date (ISO date string or Date)\n */\n dueDate?: string | Date;\n\n /**\n * Initial context data for the form\n */\n context?: Record<string, any>;\n\n /**\n * Actions (buttons) for this task. Format: { prefix?: Array<Action>, suffix?: Array<Action> } (or JSON string).\n * Each action name becomes an outcome when the task is completed.\n */\n actions?: { prefix?: Array<{ name?: string; command?: { name?: string } }>; suffix?: Array<{ name?: string; command?: { name?: string } }> } | string;\n}\n\n/**\n * Output for Human Task activity.\n */\nexport interface HumanTaskOutput {\n /**\n * Result data from task completion (form values)\n */\n result: Record<string, any>;\n\n /**\n * Action that was clicked (e.g., 'approve', 'reject', 'cancel')\n */\n action: string;\n}\n\n//#endregion\n\n/**\n * Human Task Activity (Frontend)\n * \n * Generic human task activity that suspends workflow and waits for user interaction.\n * Supports assignment and actions (displayed inline). For dialog-style flow, use a follow-up activity.\n * \n * Execution Mode: frontend\n * Task Type: human-task\n * Activity Type: workflow-activity:human-task\n * \n * Outcomes:\n * Outcomes are dynamically generated based on the actions provided in the input.\n * Each action creates a corresponding outcome with the action name (from command.name or action.name).\n * If no actions are provided, default actions (cancel, submit) are used.\n * \n * Examples:\n * - If action has command.name = 'approve', outcome will be { approve: true }\n * - If action has name = 'reject', outcome will be { reject: true }\n * - Default outcomes: { cancel: true } or { submit: true }\n * \n * Assignment:\n * - assignedUserIds: Direct assignment to specific users\n * - candidateUserIds: Users who can claim the task\n * - candidateRoleIds: Roles whose members can claim the task\n * \n * Display Modes:\n * - 'dialog': Traditional modal dialog (default)\n * - 'inline': Actions displayed directly on page before resume\n */\n@Injectable()\nexport class HumanTaskActivity implements AXPCommand<HumanTaskInput, HumanTaskOutput> {\n //#region ---- Services & Dependencies ----\n\n // Note: This activity doesn't execute immediately - it suspends the workflow\n // The actual UI display is handled by the Generic Task Provider and Display Service\n\n //#endregion\n\n //#region ---- AXPCommand Implementation ----\n\n /**\n * Execute human task activity.\n * \n * This method doesn't actually show UI - it just validates input and returns success.\n * The workflow engine will suspend at this activity and create a bookmark.\n * The Generic Task Provider will handle displaying the task UI inline.\n */\n async execute(input: HumanTaskInput): Promise<AXPExecuteCommandResult<HumanTaskOutput>> {\n console.log('human task input', input.context?.['input'] ?? 'no input');\n\n try {\n // Validate required fields\n if (!input.title && !input.description) {\n console.warn('[HumanTaskActivity] No title or description provided');\n }\n\n // Build available outcomes from actions (dynamic) or default submit/cancel\n const availableOutcomes: string[] = [];\n const rawActions = input.actions;\n if (rawActions) {\n try {\n const actions = typeof rawActions === 'string' ? JSON.parse(rawActions) : rawActions;\n const prefix = actions?.prefix ?? [];\n const suffix = actions?.suffix ?? [];\n for (const item of [...prefix, ...suffix]) {\n const name = item?.command?.name ?? item?.name;\n if (name && typeof name === 'string') availableOutcomes.push(name);\n }\n } catch {\n // ignore parse error\n }\n }\n if (availableOutcomes.length === 0) {\n availableOutcomes.push('cancel', 'submit');\n }\n\n // This activity suspends the workflow - the actual result will come from resume\n // Return a placeholder result - the real result comes when user completes the task\n return {\n success: true,\n data: {\n result: input.context || {},\n action: 'pending', // Will be replaced when task is completed\n },\n metadata: {\n outcome: 'pending',\n },\n };\n } catch (error: any) {\n console.error(`[HumanTaskActivity] Failed to execute human task:`, error);\n\n return {\n success: false,\n message: {\n text: error.message || 'Failed to execute human task',\n },\n data: {\n result: {},\n action: 'cancel',\n },\n metadata: {\n outcome: 'cancel',\n },\n };\n }\n }\n\n //#endregion\n}\n","//#region ---- Imports ----\n\nimport { Injectable } from '@angular/core';\nimport { AXPExecuteCommandResult } from '@acorex/platform/core';\nimport { AXPCommand } from '@acorex/platform/runtime';\n\n//#endregion\n\n//#region ---- Types ----\n\n/**\n * Input for Cartable (pooled) task activity.\n * Does not use direct assignment: only candidates may claim the task on the task board.\n */\nexport interface CartableTaskInput {\n title?: string;\n description?: string;\n candidateUserIds?: string[];\n candidateRoleIds?: string[];\n priority?: 'Low' | 'Normal' | 'High' | 'Urgent';\n dueDate?: string | Date;\n context?: Record<string, any>;\n actions?: { prefix?: Array<{ name?: string; command?: { name?: string } }>; suffix?: Array<{ name?: string; command?: { name?: string } }> } | string;\n}\n\nexport interface CartableTaskOutput {\n result: Record<string, any>;\n action: string;\n}\n\n//#endregion\n\n/**\n * Cartable task activity (frontend): suspends workflow with candidate users only.\n * Assignee is set when a candidate claims the task on the task board (bookmark update).\n *\n * Activity Type: workflow-activity:cartable\n */\n@Injectable()\nexport class CartableTaskActivity implements AXPCommand<CartableTaskInput, CartableTaskOutput> {\n //#region ---- AXPCommand Implementation ----\n\n async execute(input: CartableTaskInput): Promise<AXPExecuteCommandResult<CartableTaskOutput>> {\n console.log('[CartableTaskActivity] input', input.context?.['input'] ?? 'no input');\n\n try {\n if (!input.title && !input.description) {\n console.warn('[CartableTaskActivity] No title or description provided');\n }\n\n const availableOutcomes: string[] = [];\n const rawActions = input.actions;\n if (rawActions) {\n try {\n const actions = typeof rawActions === 'string' ? JSON.parse(rawActions) : rawActions;\n const prefix = actions?.prefix ?? [];\n const suffix = actions?.suffix ?? [];\n for (const item of [...prefix, ...suffix]) {\n const name = item?.command?.name ?? item?.name;\n if (name && typeof name === 'string') availableOutcomes.push(name);\n }\n } catch {\n // ignore parse error\n }\n }\n if (availableOutcomes.length === 0) {\n availableOutcomes.push('cancel', 'submit');\n }\n\n return {\n success: true,\n data: {\n result: input.context || {},\n action: 'pending',\n },\n metadata: {\n outcome: 'pending',\n },\n };\n } catch (error: unknown) {\n console.error(`[CartableTaskActivity] Failed to execute:`, error);\n\n return {\n success: false,\n message: {\n text: error instanceof Error ? error.message : 'Failed to execute cartable task',\n },\n data: {\n result: {},\n action: 'cancel',\n },\n metadata: {\n outcome: 'cancel',\n },\n };\n }\n }\n\n //#endregion\n}\n","import { Injectable, inject } from '@angular/core';\nimport { AXPExecuteCommandResult } from '@acorex/platform/core';\nimport { AXPCommand } from '@acorex/platform/runtime';\nimport { AXToastService } from '@acorex/components/toast';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXStyleColorType } from '@acorex/cdk/common';\n\n//#region ---- Types ----\n\n/**\n * Input for ShowToast activity.\n */\nexport interface ShowToastInput {\n /**\n * Message/content of the toast\n */\n message: string;\n\n /**\n * Toast type/color (e.g., 'success', 'danger', 'info', 'warning')\n */\n type?: AXStyleColorType;\n\n /**\n * Toast title (optional)\n */\n title?: string;\n\n /**\n * Whether to show close button\n */\n closeButton?: boolean;\n\n /**\n * Timeout in milliseconds (0 = no timeout)\n */\n timeOut?: number;\n\n /**\n * Whether to show timeout progress\n */\n timeOutProgress?: boolean;\n}\n\n/**\n * Wrapper used when {@link ShowToastActivity} is invoked from entity/command dispatchers\n * (`__context__.options` mirrors toolbar `command.options`).\n */\nexport interface ShowToastEntityCommandEnvelope {\n __context__?: {\n options?: ShowToastInput;\n };\n options?: ShowToastInput;\n}\n\n/** Plain toast fields or entity-toolbar envelope — both are supported. */\nexport type ShowToastCommandInput = ShowToastInput | ShowToastEntityCommandEnvelope;\n\n/**\n * Output for ShowToast activity.\n */\nexport interface ShowToastOutput {\n // No output data needed - toast is just a notification\n}\n\n//#endregion\n\n/**\n * ShowToast Activity (Frontend)\n *\n * Shows a toast notification message to the user.\n * This activity runs on the frontend and displays a temporary notification.\n *\n * Execution Mode: frontend\n * Activity Type: workflow-activity:show-toast\n *\n * Outcomes:\n * - done: Toast was displayed successfully\n */\n@Injectable()\nexport class ShowToastActivity implements AXPCommand<ShowToastCommandInput, ShowToastOutput> {\n //#region ---- Services & Dependencies ----\n\n private readonly toastService = inject(AXToastService);\n private readonly translationService = inject(AXTranslationService);\n\n //#endregion\n\n //#region ---- AXPCommand Implementation ----\n\n async execute(input: ShowToastCommandInput): Promise<AXPExecuteCommandResult<ShowToastOutput>> {\n try {\n const toastInput = ShowToastActivity.resolvePayload(input);\n\n const message = await this.translationService.translateAsync(toastInput.message);\n const title = toastInput.title\n ? await this.translationService.translateAsync(toastInput.title)\n : undefined;\n\n this.toastService.show({\n color: toastInput.type || 'default',\n title: title,\n content: message,\n closeButton: toastInput.closeButton ?? true,\n timeOut: toastInput.timeOut ?? 3000,\n timeOutProgress: toastInput.timeOutProgress ?? false,\n });\n\n return {\n success: true,\n data: {} as ShowToastOutput,\n metadata: {\n outcome: 'done',\n },\n };\n } catch (error: any) {\n console.error(`[ShowToastActivity] Failed to show toast:`, error);\n\n return {\n success: false,\n message: {\n text: error.message || 'Failed to show toast notification',\n },\n data: {} as ShowToastOutput,\n metadata: {\n outcome: 'failed',\n },\n };\n }\n }\n\n /**\n * Resolves {@link ShowToastInput} from a direct workflow payload or entity command envelope.\n */\n private static resolvePayload(input: ShowToastCommandInput): ShowToastInput {\n const direct = ShowToastActivity.tryDirectPayload(input);\n if (direct !== null) {\n return direct;\n }\n\n const envelope = input as ShowToastEntityCommandEnvelope;\n const fromContext = envelope.__context__?.options;\n if (fromContext !== undefined && ShowToastActivity.tryDirectPayload(fromContext) !== null) {\n return fromContext;\n }\n const fromOptions = envelope.options;\n if (fromOptions !== undefined && ShowToastActivity.tryDirectPayload(fromOptions) !== null) {\n return fromOptions;\n }\n\n throw new Error(\n 'ShowToastActivity: expected ShowToastInput or envelope with __context__.options / options containing message.',\n );\n }\n\n private static tryDirectPayload(value: ShowToastCommandInput): ShowToastInput | null {\n if (\n typeof value === 'object' &&\n value !== null &&\n 'message' in value &&\n typeof (value as ShowToastInput).message === 'string'\n ) {\n return value as ShowToastInput;\n }\n return null;\n }\n\n //#endregion\n}\n","import { Injectable, inject } from '@angular/core';\nimport { AXPExecuteCommandResult } from '@acorex/platform/core';\nimport { AXPCommand } from '@acorex/platform/runtime';\nimport { AXPLayoutBuilderService } from '@acorex/platform/layout/builder';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPWidgetsList } from '@acorex/modules/common';\n\n//#region ---- Types ----\n\n/**\n * Input for CollectSignature activity.\n */\nexport interface CollectSignatureInput {\n /**\n * Signature request ID\n */\n signatureRequestId: string;\n\n /**\n * ID of the signer\n */\n signerId: string;\n\n /**\n * Reference ID of the entity record\n */\n refId: string;\n\n /**\n * Reference type (module.entity format)\n */\n refType: string;\n\n /**\n * Message to display to the signer\n */\n message?: string;\n}\n\n/**\n * Output for CollectSignature activity.\n */\nexport interface CollectSignatureOutput {\n /**\n * Signature data (base64 encoded image or text)\n */\n signature: string;\n\n /**\n * Optional note from the signer\n */\n note?: string;\n\n /**\n * Timestamp when signature was collected\n */\n signedAt: string;\n}\n\n//#endregion\n\n/**\n * CollectSignature Activity (Frontend)\n * \n * Collects a signature from a user through a dialog.\n * This activity runs on the frontend and requires user interaction.\n * \n * Execution Mode: frontend\n * Activity Type: workflow-activity:collect-signature\n * \n * Outcomes:\n * - Signed: User provided signature successfully\n * - Cancelled: User cancelled the signature dialog\n */\n@Injectable()\nexport class CollectSignatureActivity implements AXPCommand<CollectSignatureInput, CollectSignatureOutput> {\n //#region ---- Services & Dependencies ----\n\n private readonly layoutBuilder = inject(AXPLayoutBuilderService);\n private readonly translationService = inject(AXTranslationService);\n\n //#endregion\n\n //#region ---- AXPCommand Implementation ----\n\n async execute(\n input: CollectSignatureInput,\n ): Promise<AXPExecuteCommandResult<CollectSignatureOutput>> {\n try {\n console.log(`[CollectSignatureActivity] Collecting signature from user: ${input.signerId}`);\n\n // Translate message if provided\n const message = input.message\n ? await this.translationService.translateAsync(input.message)\n : await this.translationService.translateAsync('@workflow-management:signature.activities.collect-signature.default-message');\n\n // Show signature collection dialog\n const dialogResult = await this.showSignatureDialog(message);\n\n if (dialogResult.cancelled) {\n console.log(`[CollectSignatureActivity] User cancelled signature collection`);\n return {\n success: true,\n data: {\n signature: '',\n signedAt: new Date().toISOString(),\n },\n metadata: {\n outcome: 'Cancelled',\n },\n };\n }\n\n const signedAt = new Date().toISOString();\n\n console.log(`[CollectSignatureActivity] Signature collected successfully at ${signedAt}`);\n\n return {\n success: true,\n data: {\n signature: dialogResult.signature,\n note: dialogResult.note,\n signedAt,\n },\n metadata: {\n outcome: 'Signed',\n },\n };\n } catch (error: any) {\n console.error(`[CollectSignatureActivity] Failed to collect signature:`, error);\n\n return {\n success: false,\n message: {\n text: error.message || 'Failed to collect signature',\n },\n data: {\n signature: '',\n signedAt: new Date().toISOString(),\n },\n metadata: {\n outcome: 'Cancelled',\n },\n };\n }\n }\n\n //#endregion\n\n //#region ---- Dialog Logic ----\n\n /**\n * Shows a dialog to collect signature from the user.\n */\n private async showSignatureDialog(\n message: string,\n ): Promise<{ signature: string; note?: string; cancelled: boolean }> {\n const result = await this.layoutBuilder\n .create()\n .dialog<{ signature: string; note?: string; cancelled: boolean }>((dialog) => {\n dialog\n .setTitle('@workflow-management:signature.activities.collect-signature.dialog-title')\n .setMessage(message)\n .setContext({ signature: '', note: '' })\n .content((flex) => {\n flex\n .setDirection('column')\n .formField('@workflow-management:signature.activities.collect-signature.note-label', (field) => {\n field.path('note');\n field.largeTextBox({\n placeholder: '@workflow-management:signature.activities.collect-signature.note-placeholder',\n maxLength: 1000,\n });\n })\n .formField('@workflow-management:signature.activities.collect-signature.signature-label', (field) => {\n field.path('signature');\n field.customWidget(AXPWidgetsList.Editors.SignatureBox, {\n validations: [\n {\n rule: 'required',\n options: {\n message: '@workflow-management:signature.activities.collect-signature.signature-required',\n },\n },\n ],\n });\n });\n })\n .setActions((actions) => {\n actions\n .cancel('@general:actions.cancel.title')\n .submit('@workflow-management:signature.activities.collect-signature.submit-text');\n })\n .onAction(async (dialogRef) => {\n const context = dialogRef.context();\n const action = dialogRef.action();\n if (!context || action === 'cancel') {\n return { signature: '', note: undefined, cancelled: true };\n }\n const formData = context as { signature?: string; note?: string };\n return {\n signature: formData['signature'] || '',\n note: formData['note'],\n cancelled: false,\n };\n });\n })\n .show();\n\n return result;\n }\n\n //#endregion\n}\n\n","//#region ---- Imports ----\n\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPExecuteCommandResult } from '@acorex/platform/core';\nimport { AXPEntityDefinitionRegistryService, AXPEntityFormBuilderService } from '@acorex/platform/layout/entity';\nimport { AXPCommand } from '@acorex/platform/runtime';\nimport { inject, Injectable } from '@angular/core';\n\n//#endregion\n\n//#region ---- Types ----\n\n/**\n * Input for Create Entity Form activity.\n */\nexport interface CreateEntityFormInput {\n /**\n * Module name (e.g. HumanCapitalManagement)\n */\n module: string;\n\n /**\n * Entity name (e.g. LeaveRequest)\n */\n entity: string;\n\n /**\n * If true, form only collects data and the next workflow step (e.g. entity-create) persists.\n * If false, entity create is executed on frontend and outcome is 'Done'.\n */\n persistInWorkflow?: boolean;\n\n /**\n * Property names to show. Only these properties are displayed. If both includes and excludes are set, only includes is applied.\n */\n includes?: string[];\n\n /**\n * Property names to hide. Ignored when includes is also set.\n */\n excludes?: string[];\n\n /**\n * Property names that should be displayed as readonly.\n */\n readonlys?: string[];\n\n /**\n * Default values for form properties. Keys are property names; filled values are applied as initial context.\n */\n data?: Record<string, any>;\n}\n\n/**\n * Output for Create Entity Form activity.\n */\nexport interface CreateEntityFormOutput {\n /**\n * Form data for the next workflow step (when persistInWorkflow is true).\n */\n result?: Record<string, any>;\n\n /**\n * Created entity ID (when persistInWorkflow is false and entity create succeeds).\n */\n id?: string;\n}\n\n//#endregion\n\n/**\n * Create Entity Form Activity (Frontend)\n *\n * Shows a create-entity form as an interactive dialog. When persistInWorkflow is true,\n * returns form data and outcome 'Submitted'/'Cancelled' so the workflow handles persistence.\n * When false, executes entity create on frontend and returns outcome 'Done'.\n *\n * Execution Mode: frontend\n * Task Type: human-task\n * Activity Type: workflow-activity:create-entity-form\n *\n * Outcomes:\n * - Submitted: User submitted form (persistInWorkflow true → next step persists)\n * - Cancelled: User cancelled the form\n * - Done: Entity was created on frontend (persistInWorkflow false)\n */\n@Injectable()\nexport class CreateEntityFormActivity implements AXPCommand<CreateEntityFormInput, CreateEntityFormOutput> {\n //#region ---- Services & Dependencies ----\n\n private readonly entityForm = inject(AXPEntityFormBuilderService);\n private readonly entityService = inject(AXPEntityDefinitionRegistryService);\n private readonly translationService = inject(AXTranslationService);\n\n //#endregion\n\n //#region ---- Public Methods ----\n\n async execute(\n input: CreateEntityFormInput\n ): Promise<AXPExecuteCommandResult<CreateEntityFormOutput>> {\n const {\n module,\n entity,\n persistInWorkflow = false,\n includes,\n excludes,\n readonlys,\n data,\n } = input;\n\n if (!module || !entity) {\n return {\n success: false,\n message: {\n text: await this.translationService.translateAsync('@general:messages.entity.invalid-identifier'),\n },\n data: {},\n metadata: {\n outcome: 'Cancelled',\n },\n };\n }\n\n try {\n const entityRef = await this.entityService.resolve(module, entity);\n\n const includeList = this.normalizePropertyList(includes);\n const excludeList = this.normalizePropertyList(excludes);\n const readonlyList = this.normalizePropertyList(readonlys);\n const initialData = this.normalizeData(data);\n\n let chain = this.entityForm.entity(`${module}.${entity}`).create(initialData);\n\n if (includeList.length > 0) {\n chain = chain.include(...includeList);\n } else if (excludeList.length > 0) {\n chain = chain.exclude(...excludeList);\n }\n\n if (readonlyList.length > 0) {\n chain = chain.readonlyProperties(...readonlyList);\n }\n\n chain.actions((actions) => {\n actions.cancel('@general:actions.cancel.title');\n actions.submit('@general:actions.create.title');\n });\n\n const result = await chain\n .onAction<AXPExecuteCommandResult<CreateEntityFormOutput>>(async (dialogRef) => {\n const action = dialogRef.action();\n\n if (action === 'cancel') {\n return {\n success: true,\n data: {},\n metadata: {\n outcome: 'Cancelled',\n },\n };\n }\n\n if (action !== 'submit') {\n return {\n success: false,\n message: {\n text: await this.translationService.translateAsync('@general:messages.entity.invalid-action'),\n },\n data: {},\n metadata: {\n outcome: 'Cancelled',\n },\n };\n }\n\n const context = dialogRef.context();\n\n if (persistInWorkflow) {\n return {\n success: true,\n data: { result: context ?? {} },\n metadata: {\n outcome: 'Submitted',\n },\n };\n }\n\n const createFn = entityRef.commands?.create?.execute as (\n payload: any,\n ) => Promise<{ id: string } | AXPExecuteCommandResult<any>>;\n\n if (!createFn) {\n return {\n success: false,\n message: {\n text: await this.translationService.translateAsync('@general:messages.entity.create-command-unavailable'),\n },\n data: {},\n metadata: {\n outcome: 'Cancelled',\n },\n };\n }\n\n dialogRef.setLoading(true);\n try {\n const createResult = await createFn(context);\n\n const id =\n typeof createResult === 'object' && createResult !== null && 'id' in createResult\n ? (createResult as { id: string }).id\n : (createResult as AXPExecuteCommandResult<any>)?.data?.id ??\n (createResult as { data?: { item?: { id?: string } } })?.data?.item?.id;\n\n return {\n success: true,\n data: {\n id: id ?? '',\n result: context ?? {},\n },\n metadata: {\n outcome: 'Done',\n },\n message: {\n text: await this.translationService.translateAsync('@general:messages.generic.success.description'),\n },\n };\n } finally {\n dialogRef.setLoading(false);\n }\n })\n .show();\n\n return this.normalizeDialogShowResult(result);\n } catch (error: unknown) {\n console.error('[CreateEntityFormActivity] Failed:', error);\n\n return {\n success: false,\n message: {\n text:\n error instanceof Error\n ? error.message\n : await this.translationService.translateAsync('@general:messages.entity.create-failed'),\n },\n data: {},\n metadata: {\n outcome: 'Cancelled',\n },\n };\n }\n }\n\n //#endregion\n\n //#region ---- Private Helpers ----\n\n /**\n * Maps dialog.show() result to activity output. Dismissal without a footer action resolves as { success: false }.\n */\n private normalizeDialogShowResult(\n result: unknown,\n ): AXPExecuteCommandResult<CreateEntityFormOutput> {\n if (\n result &&\n typeof result === 'object' &&\n 'metadata' in result &&\n (result as AXPExecuteCommandResult<CreateEntityFormOutput>).metadata?.['outcome']\n ) {\n return result as AXPExecuteCommandResult<CreateEntityFormOutput>;\n }\n\n return {\n success: true,\n data: {},\n metadata: {\n outcome: 'Cancelled',\n },\n };\n }\n\n /**\n * Normalizes property list input (array, JSON string, or expression result).\n */\n private normalizePropertyList(value: string[] | any): string[] {\n if (!value) return [];\n if (Array.isArray(value)) {\n return value.filter((v) => typeof v === 'string');\n }\n if (typeof value === 'string') {\n try {\n const parsed = JSON.parse(value);\n return Array.isArray(parsed) ? parsed.filter((v: any) => typeof v === 'string') : [];\n } catch {\n return [];\n }\n }\n return [];\n }\n\n /**\n * Normalizes data input (object or JSON string).\n */\n private normalizeData(value: Record<string, any> | any): Record<string, any> {\n if (!value) return {};\n if (typeof value === 'object' && !Array.isArray(value)) return value;\n if (typeof value === 'string') {\n try {\n const parsed = JSON.parse(value);\n return typeof parsed === 'object' && parsed !== null && !Array.isArray(parsed) ? parsed : {};\n } catch {\n return {};\n }\n }\n return {};\n }\n\n //#endregion\n}\n","import { Injectable, inject } from '@angular/core';\nimport { AXPActivityProvider, AXPActivityDefinition } from '@acorex/platform/workflow';\nimport { AXPEntityService } from '@acorex/platform/layout/entity';\nimport { RootConfig } from '../../../const';\n\n/**\n * Workflow Activities Definition Provider\n * \n * Provides activity definitions (metadata only).\n * Activity definitions contain metadata for UI and tooling.\n * The `name` property is used as the command key for execution.\n * Reads from entity service (mock data).\n */\n@Injectable()\nexport class AXMWorkflowActivitiesDefinitionProvider implements AXPActivityProvider {\n //#region ---- Services & Dependencies ----\n\n private readonly entityService = inject(AXPEntityService);\n private activityDefinitionService = this.entityService.withEntity(\n RootConfig.module.name,\n RootConfig.entities.activityDefinition.name\n ).data<any, any>();\n\n //#endregion\n\n //#region ---- AXPActivityProvider Implementation ----\n\n async getList(categoryId: string): Promise<AXPActivityDefinition[]> {\n // Use 'equal' operator to filter by category field\n const result = await this.activityDefinitionService.query({\n skip: 0,\n take: 1000,\n filter: {\n logic: 'and',\n filters: [{\n field: 'category',\n operator: {\n type: 'equal',\n },\n value: categoryId,\n }]\n }\n });\n return result.items as AXPActivityDefinition[];\n }\n\n async getById(name: string): Promise<AXPActivityDefinition | undefined> {\n // Try to find by name field first, then by type field\n const byName = await this.activityDefinitionService.query({\n skip: 0,\n take: 1,\n filter: {\n logic: 'and',\n filters: [{\n field: 'name',\n operator: {\n type: 'equal',\n },\n value: name,\n }]\n }\n });\n \n if (byName.items && byName.items.length > 0) {\n return byName.items[0] as AXPActivityDefinition;\n }\n\n // Try by type field\n const byType = await this.activityDefinitionService.query({\n skip: 0,\n take: 1,\n filter: {\n logic: 'and',\n filters: [{\n field: 'type',\n operator: {\n type: 'equal',\n },\n value: name,\n }]\n }\n });\n\n if (byType.items && byType.items.length > 0) {\n return byType.items[0] as AXPActivityDefinition;\n }\n\n return undefined;\n }\n\n //#endregion\n}\n\n","import { AXTranslationService } from '@acorex/core/translation';\nimport { AXPExecuteCommandResult } from '@acorex/platform/core';\nimport { AXPEntityDefinitionRegistryService, AXPEntityFormBuilderService } from '@acorex/platform/layout/entity';\nimport { AXPCommand } from '@acorex/platform/runtime';\nimport { inject, Injectable } from '@angular/core';\n\nexport interface CreateEnityInput {\n module: string;\n entity: string;\n}\n\nexport interface CreateEnityOutput {\n id: string;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AXPCreateEntityActivity implements AXPCommand<CreateEnityInput, CreateEnityOutput> {\n private entityForm = inject(AXPEntityFormBuilderService);\n private entityService = inject(AXPEntityDefinitionRegistryService);\n private translationService = inject(AXTranslationService);\n\n async execute(input: CreateEnityInput): Promise<AXPExecuteCommandResult<CreateEnityOutput>> {\n const entityRef = await this.entityService.resolve(input.module, input.entity);\n\n try {\n const chain = this.entityForm.entity(`${input.module}.${input.entity}`).create({});\n chain.actions((actions) => {\n actions.cancel('@general:actions.cancel.title');\n actions.submit('@general:actions.create.title');\n });\n\n const result = await chain\n .onAction<AXPExecuteCommandResult<CreateEnityOutput>>(async (dialogRef) => {\n const action = dialogRef.action();\n\n if (action === 'cancel') {\n return {\n success: true,\n data: { id: '' },\n metadata: { outcome: 'cancel' },\n };\n }\n\n if (action !== 'submit') {\n return {\n success: false,\n message: {\n text: await this.translationService.translateAsync('@general:messages.entity.invalid-action'),\n },\n data: { id: '' },\n };\n }\n\n const context = dialogRef.context();\n const createFn = entityRef.commands?.create?.execute as (payload: any) => Promise<{ id: string }>;\n\n if (!createFn) {\n return {\n success: false,\n message: {\n text: await this.translationService.translateAsync('@general:messages.entity.create-command-unavailable'),\n },\n data: { id: '' },\n };\n }\n\n dialogRef.setLoading(true);\n try {\n const createResult = await createFn(context);\n if (createResult) {\n return {\n success: true,\n data: {\n id: createResult.id,\n },\n metadata: {\n outcome: 'Submitted',\n },\n message: {\n text: await this.translationService.translateAsync('@general:messages.generic.success.description'),\n },\n };\n }\n\n return {\n success: false,\n message: {\n text: await this.translationService.translateAsync('@general:messages.entity.command-no-result'),\n },\n data: {\n id: '-1',\n },\n metadata: {\n outcome: 'Submitted',\n },\n };\n } finally {\n dialogRef.setLoading(false);\n }\n })\n .show();\n\n return this.normalizeDialogShowResult(result);\n } catch (error) {\n return {\n success: false,\n message: {\n text:\n error instanceof Error\n ? error.message\n : await this.translationService.translateAsync('@general:messages.entity.create-failed'),\n },\n data: { id: '' },\n };\n }\n }\n\n private normalizeDialogShowResult(\n result: unknown,\n ): AXPExecuteCommandResult<CreateEnityOutput> {\n if (result && typeof result === 'object' && 'data' in result) {\n return result as AXPExecuteCommandResult<CreateEnityOutput>;\n }\n\n return {\n success: true,\n data: { id: '' },\n metadata: { outcome: 'cancel' },\n };\n }\n}\n","//#region ---- Imports ----\n\nimport { AXPEntityAction, AXPEntityCommandScope } from '@acorex/platform/common';\nimport { AXPSystemActionType } from '@acorex/platform/core';\nimport {\n AXPEntityActionPlugin,\n entityDetailsCrudActions,\n} from '@acorex/platform/layout/entity';\n\n//#endregion\n\n//#region ---- Plugin options ----\n\nexport type AutomationLayoutType =\n | 'page-list'\n | 'tab-list'\n | 'page-detail'\n | 'tab-detail';\n\nexport interface AXMAutomationPluginOptions {\n /** Title (i18n key or label) for the automations block in the UI. */\n title?: string;\n /** Icon class (e.g. 'fa-light fa-bolt'). Default 'fa-light fa-bolt'. */\n icon?: string;\n /** How to display: page-list (default), tab-list, page-detail, tab-detail. */\n layoutType?: AutomationLayoutType;\n /** Position relative to main content: 'before' | 'after' | 'middle'. Default 'after'. */\n position?: 'before' | 'after' | 'middle';\n /** Order among related entities. Default 2. */\n order?: number;\n /** Column names to show in list view. Default ['name', 'title', 'description', 'command']. */\n columns?: string[];\n}\n\nconst DEFAULT_ICON = 'fa-light fa-bolt';\nconst AUTOMATION_ENTITY = 'WorkflowManagement.Automation';\n\n//#endregion\n\n//#region ---- Plugin ----\n\n/**\n * Automation entity plugin.\n * Adds a related entity (WorkflowManagement.Automation) bound to the current entity via refType/refId.\n * Any entity can enable it with: plugins: [{ name: 'automation', options: { title: '...', layoutType: 'page-list', ... } }].\n */\nexport const automationPlugin: AXPEntityActionPlugin = {\n name: 'automation',\n order: 50,\n apply: (ctx, options?: AXMAutomationPluginOptions) => {\n const opts = options ?? {};\n const refType = `${ctx.entity.module}.${ctx.entity.name}`;\n const title = opts.title?.trim()?.length ? opts.title : '@workflow-management:automations.terms.automations';\n const icon = opts.icon?.trim()?.length ? opts.icon : DEFAULT_ICON;\n const layoutType = opts.layoutType ?? 'page-list';\n const position = opts.position ?? 'after';\n const order = opts.order ?? 2;\n const columns = opts.columns ?? ['name', 'title', 'description', 'command'];\n\n const createAction: AXPEntityAction = {\n title: '@general:actions.create.title',\n command: {\n name: 'Entity:Create',\n options: {\n process: {\n redirect: false,\n canCreateNewOne: true,\n data: {\n refType,\n refId: '{{context.eval(\"id\")}}',\n },\n },\n },\n },\n priority: 'primary',\n type: AXPSystemActionType.Create,\n scope: AXPEntityCommandScope.TypeLevel,\n };\n\n const otherActions = entityDetailsCrudActions('refId', { create: false });\n\n ctx.relatedEntities.add({\n entity: AUTOMATION_ENTITY,\n title,\n icon,\n columns,\n conditions: [\n { name: 'refType', operator: { type: 'equal' }, value: refType },\n { name: 'refId', operator: { type: 'equal' }, value: '{{context.eval(\"id\")}}' },\n ],\n actions: [createAction, ...otherActions],\n layout: { type: layoutType, position, order },\n excludeProperties: ['refType', 'refId'],\n });\n },\n};\n\n//#endregion\n","import { AXPEntityActionPlugin } from '@acorex/platform/layout/entity';\n\n/**\n * Workflow Plugin\n *\n * Marks an entity as workflow-capable. This plugin does NOT configure workflows;\n * it only indicates that the entity can participate in workflows.\n *\n * Workflow bindings are configured in Workflow Management (workflow definition → bindings),\n * not in the entity definition.\n *\n * This plugin:\n * - Adds workflow capability marker to entity extensions\n * - Enables workflow trigger middleware to detect workflow-capable entities\n * - Provides UI hooks for workflow-related features (future enhancement)\n *\n * Usage:\n * ```typescript\n * plugins: [\n * { name: 'workflow' }, // Entity is workflow-capable\n * ]\n * ```\n */\nexport const workflowPlugin: AXPEntityActionPlugin = {\n name: 'workflow',\n order: 50, // After core plugins (40-45), before status/archive (60-70)\n apply: (ctx) => {\n // Mark entity as workflow-capable in extensions\n (ctx.entity as any).extensions ??= {};\n (ctx.entity as any).extensions.workflow = {\n enabled: true,\n };\n\n // Note: No properties, actions, or views are added by this plugin.\n // It only marks the entity as workflow-capable.\n // Actual workflow bindings are configured in Workflow Management.\n },\n};\n\n","import { NgModule } from '@angular/core';\nimport { AXP_ENTITY_ACTION_PLUGIN } from '@acorex/platform/layout/entity';\nimport { automationPlugin } from '../automation-plugin/automation.plugin';\nimport { workflowPlugin } from './workflow.plugin';\n\n/**\n * Workflow Plugin Module\n *\n * Registers:\n * - workflow plugin: marks entities as workflow-capable\n * - automation plugin: adds WorkflowManagement.Automation as related entity (refType/refId)\n */\n@NgModule({\n providers: [\n {\n provide: AXP_ENTITY_ACTION_PLUGIN,\n useValue: workflowPlugin,\n multi: true,\n },\n {\n provide: AXP_ENTITY_ACTION_PLUGIN,\n useValue: automationPlugin,\n multi: true,\n },\n ],\n})\nexport class AXMWorkflowPluginModule {}\n\n","import { AXPActivityCategoryProvider, AXPActivityCategory } from '@acorex/platform/workflow';\nimport { Injectable, inject } from '@angular/core';\nimport { AXPEntityService } from '@acorex/platform/layout/entity';\nimport { RootConfig } from '../../const';\n\n/**\n * Provider for activity categories.\n * Reads categories from entity service (mock data).\n */\n@Injectable()\nexport class AXCCategoryProvider implements AXPActivityCategoryProvider {\n \n private readonly entityService = inject(AXPEntityService);\n /** Category entity is provided by category plugin (ActivityDefinition → ActivityDefinitionCategory). */\n private categoryService = this.entityService.withEntity(\n RootConfig.module.name,\n 'ActivityDefinitionCategory'\n ).data<any, any>();\n\n async getList(parentId?: string): Promise<AXPActivityCategory[]> {\n const list: AXPActivityCategory[] = [];\n \n if (parentId) {\n const result = await this.categoryService.query({\n skip: 0,\n take: 1000,\n filter: {\n logic: 'and',\n filters: [{\n field: 'parentId',\n operator: {\n type: 'equal',\n },\n value: parentId,\n }]\n }\n });\n list.push(...result.items);\n } else {\n const result = await this.categoryService.query({\n skip: 0,\n take: 1000,\n });\n list.push(...result.items);\n }\n \n return list;\n }\n\n async getById(id: string): Promise<AXPActivityCategory | undefined> {\n return await this.categoryService.byKey(id);\n }\n}\n","import { Injectable, inject } from '@angular/core';\nimport { AXPWorkflowCategoryProvider, AXPWorkflowCategory } from '@acorex/platform/workflow';\nimport { AXPEntityService } from '@acorex/platform/layout/entity';\nimport { RootConfig } from '../../../const';\n\n/**\n * Workflow Category Provider\n * \n * Provides workflow categories from entity service.\n * Reads from entity service (mock data or API).\n */\n@Injectable()\nexport class AXMWorkflowCategoryProvider implements AXPWorkflowCategoryProvider {\n //#region ---- Services & Dependencies ----\n\n private readonly entityService = inject(AXPEntityService);\n private readonly categoryService = this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.workflowDefinition.name + 'Category')\n .data<any, any>();\n\n //#endregion\n\n //#region ---- AXPWorkflowCategoryProvider Implementation ----\n\n async getList(parentId?: string): Promise<AXPWorkflowCategory[]> {\n const filters: any[] = [];\n\n if (parentId === undefined) {\n // Root categories: parentId is null or undefined\n filters.push({\n field: 'parentId',\n operator: {\n type: 'isNull',\n },\n });\n } else {\n // Child categories: parentId matches\n filters.push({\n field: 'parentId',\n operator: {\n type: 'equal',\n },\n value: parentId,\n });\n }\n\n const result = await this.categoryService.query({\n skip: 0,\n take: 1000,\n filter: {\n logic: 'and',\n filters,\n },\n });\n\n return (result.items || []) as AXPWorkflowCategory[];\n }\n\n async getById(id: string): Promise<AXPWorkflowCategory | undefined> {\n const result = await this.categoryService.query({\n skip: 0,\n take: 1,\n filter: {\n logic: 'and',\n filters: [{\n field: 'id',\n operator: {\n type: 'equal',\n },\n value: id,\n }],\n },\n });\n\n if (result.items && result.items.length > 0) {\n return result.items[0] as AXPWorkflowCategory;\n }\n\n return undefined;\n }\n\n //#endregion\n}\n\n","import { Injectable, inject } from '@angular/core';\nimport { AXPWorkflowProvider, AXPWorkflowDefinition } from '@acorex/platform/workflow';\nimport { AXPEntityService } from '@acorex/platform/layout/entity';\nimport { RootConfig } from '../../../const';\n\n/**\n * Workflow Definition Provider\n * \n * Provides workflow definitions for UI and tooling.\n * The `name` property is used as the workflow identifier.\n * Reads from entity service (mock data or API).\n */\n@Injectable()\nexport class AXMWorkflowDefinitionProvider implements AXPWorkflowProvider {\n //#region ---- Services & Dependencies ----\n\n private readonly entityService = inject(AXPEntityService);\n private readonly workflowDefinitionService = this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.workflowDefinition.name)\n .data<any, any>();\n\n //#endregion\n\n //#region ---- AXPWorkflowProvider Implementation ----\n\n async getList(_categoryId: string): Promise<AXPWorkflowDefinition[]> {\n const result = await this.workflowDefinitionService.query({\n skip: 0,\n take: 1000,\n });\n\n // Convert entity data to workflow definition format\n return (result.items || []).map((item: any): AXPWorkflowDefinition => ({\n schemaVersion: item.schemaVersion || 'acorex-platform-workflow/v1',\n name: item.name || item.id || '',\n title: item.title || item.name || item.id || null,\n description: item.description || null,\n variables: item.variables || [],\n inputs: item.inputs || [],\n outputs: item.outputs || [],\n graph: item.graph,\n customProperties: item.customProperties || {},\n extensions: item.extensions || {},\n }));\n }\n\n async getByName(name: string): Promise<AXPWorkflowDefinition | null> {\n // Try to find by name field first, then by id field\n const byName = await this.workflowDefinitionService.query({\n skip: 0,\n take: 1,\n filter: {\n logic: 'and',\n filters: [{\n field: 'name',\n operator: {\n type: 'equal',\n },\n value: name,\n }]\n }\n });\n \n if (byName.items && byName.items.length > 0) {\n const entity = byName.items[0];\n return {\n schemaVersion: entity.schemaVersion || 'acorex-platform-workflow/v1',\n name: entity.name,\n title: entity.title || null,\n description: entity.description || null,\n variables: entity.variables || [],\n inputs: entity.inputs || [],\n outputs: entity.outputs || [],\n graph: entity.graph,\n customProperties: entity.customProperties || {},\n extensions: entity.extensions || {},\n };\n }\n\n // Try by id field\n const byId = await this.workflowDefinitionService.query({\n skip: 0,\n take: 1,\n filter: {\n logic: 'and',\n filters: [{\n field: 'id',\n operator: {\n type: 'equal',\n },\n value: name,\n }]\n }\n });\n\n if (byId.items && byId.items.length > 0) {\n const entity = byId.items[0];\n return {\n schemaVersion: entity.schemaVersion || 'acorex-platform-workflow/v1',\n name: entity.name,\n title: entity.title || null,\n description: entity.description || null,\n variables: entity.variables || [],\n inputs: entity.inputs || [],\n outputs: entity.outputs || [],\n graph: entity.graph,\n customProperties: entity.customProperties || {},\n extensions: entity.extensions || {},\n };\n }\n\n return null;\n }\n\n //#endregion\n}\n\n","//#region ---- Imports ----\n\nimport {\n AXPStatusProvider,\n AXPStatusTransition,\n AXPSystemStatusType,\n systemStatusToDefinition,\n} from '@acorex/platform/common';\n\n//#endregion\n\n//#region ---- Workflow definition lifecycle status ----\n\n/**\n * Publication lifecycle for workflow definitions: draft, review, published, archived.\n */\nexport class AXMWorkflowDefinitionStatusProvider extends AXPStatusProvider {\n readonly key = 'workflow-management.status.workflow-definition';\n\n readonly defaultStatus = AXPSystemStatusType.Draft;\n\n readonly statuses = [\n systemStatusToDefinition(AXPSystemStatusType.Draft, {\n generateView: true,\n }),\n systemStatusToDefinition(AXPSystemStatusType.PendingReview, {\n generateView: true,\n }),\n systemStatusToDefinition(AXPSystemStatusType.Published, {\n generateView: true,\n }),\n systemStatusToDefinition(AXPSystemStatusType.Archived, {\n generateView: false,\n }),\n ];\n\n readonly transitions: AXPStatusTransition[] = [\n {\n from: AXPSystemStatusType.Draft,\n to: AXPSystemStatusType.PendingReview,\n title: '@workflow-management:workflow-definitions.entities.workflow-definition.status.transitions.submit-review',\n },\n {\n from: AXPSystemStatusType.Draft,\n to: AXPSystemStatusType.Published,\n title: '@workflow-management:workflow-definitions.entities.workflow-definition.status.transitions.publish-direct',\n },\n {\n from: AXPSystemStatusType.PendingReview,\n to: AXPSystemStatusType.Published,\n title: '@workflow-management:workflow-definitions.entities.workflow-definition.status.transitions.publish',\n },\n {\n from: AXPSystemStatusType.PendingReview,\n to: AXPSystemStatusType.Draft,\n title: '@workflow-management:workflow-definitions.entities.workflow-definition.status.transitions.revise',\n },\n {\n from: AXPSystemStatusType.Published,\n to: AXPSystemStatusType.Draft,\n title: '@workflow-management:workflow-definitions.entities.workflow-definition.status.transitions.unpublish',\n },\n {\n from: AXPSystemStatusType.Published,\n to: AXPSystemStatusType.Archived,\n title: '@workflow-management:workflow-definitions.entities.workflow-definition.status.transitions.archive',\n },\n {\n from: AXPSystemStatusType.Draft,\n to: AXPSystemStatusType.Archived,\n title: '@workflow-management:workflow-definitions.entities.workflow-definition.status.transitions.archive',\n },\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 * Workflow Management Module Manifest.\n * Defines module metadata, features, and provider references.\n */\nexport const WorkflowManagementManifest: AXPModuleManifest = {\n name: RootConfig.module.name,\n version: '1.0.0',\n title: RootConfig.module.title,\n icon: RootConfig.module.icon,\n i18n: RootConfig.config.i18n,\n\n // Module dependencies (optional)\n};\n\n//#endregion\n\n","//#region ---- Imports ----\n\nimport {\n AXPExpressionEvaluatorScopeProvider,\n AXPExpressionEvaluatorScopeProviderContext,\n AXPFilterDefinition,\n} from '@acorex/platform/core';\n\n//#endregion\n\n//#region ---- Provider ----\n\n/**\n * Default automation evaluator scope.\n * Provides automation.rules(refType, refId) for ConditionBuilder filterDefinitions.\n * Returns empty array by default; modules (e.g. assessment-management) can register\n * their own scope with the same name to provide rules for specific refTypes.\n */\nexport class AXMAutomationEvaluatorScopeProvider implements AXPExpressionEvaluatorScopeProvider {\n async provide(context: AXPExpressionEvaluatorScopeProviderContext): Promise<void> {\n context.addScope('automation', {\n /** Returns filter definitions for automation condition builder. Override per refType in consuming modules. */\n rules: async (_refType: string, _refId: string): Promise<AXPFilterDefinition[]> => {\n return [];\n },\n });\n }\n}\n\n//#endregion\n","import { AXPPermissionDefinitionProvider, AXPPermissionDefinitionProviderContext } from '@acorex/platform/auth';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from './const';\nimport { AXMPermissionsKeys } from './permission.keys';\n\n@Injectable()\nexport class AXMPermissionDefinitionProvider implements AXPPermissionDefinitionProvider {\n async define(context: AXPPermissionDefinitionProviderContext): Promise<void> {\n const keys = AXMPermissionsKeys;\n\n context\n .addGroup(\n RootConfig.module.name,\n '@workflow-management:module.permissions.title',\n '@workflow-management:module.permissions.description',\n )\n .addPermission(\n keys.WorkflowInstance.ReassignToSelf,\n '@workflow-management:workflow-instance.permissions.reassign-to-self.title',\n '@workflow-management:workflow-instance.permissions.reassign-to-self.description',\n )\n .endPermission()\n .endGroup();\n }\n}\n","//#region ---- Imports ----\n\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { AXMPermissionsKeys } from '../../permission.keys';\n\n//#endregion\n\n//#region ---- Permission Helpers ----\n\n/** Permission to reassign a human-task workflow bookmark to the current user. */\nexport const AXM_WORKFLOW_REASSIGN_TO_SELF_PERMISSION = AXMPermissionsKeys.WorkflowInstance.ReassignToSelf;\n\n/**\n * Returns whether the current session may reassign a human-task to themselves.\n */\nexport function canReassignWorkflowTaskToSelf(sessionService: AXPSessionService): boolean {\n return sessionService.authorize(AXM_WORKFLOW_REASSIGN_TO_SELF_PERMISSION);\n}\n\n//#endregion\n","//#region ---- Workflow task context (reserved keys) ----\n\n/**\n * Human-task / cartable `context` payload: technical ids at the root; display metadata under reserved keys.\n *\n * @example\n * ```json\n * {\n * \"leaveRequestId\": \"{{ variables.leaveRequestId }}\",\n * \"_taskI18n\": {\n * \"employeeDisplayName\": \"{{ variables.employeeDisplayName }}\",\n * \"leaveTypeTitle\": \"{{ variables.leaveTypeTitle }}\"\n * },\n * \"_taskTitleParts\": [\n * \"{{ variables.employeeDisplayName }}\",\n * \"{{ variables.leaveTypeTitle }}\"\n * ]\n * }\n * ```\n */\n\n/** Interpolation map for `@scope:key` task title and description strings. */\nexport const AXP_WORKFLOW_TASK_CONTEXT_I18N_KEY = '_taskI18n';\n\n/** Ordered segments joined with \" — \" when bookmark title is still a generic activity label. */\nexport const AXP_WORKFLOW_TASK_CONTEXT_TITLE_PARTS_KEY = '_taskTitleParts';\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXDataSourceFilterOption, AXStyleColorType } from '@acorex/cdk/common';\nimport { AXDialogService } from '@acorex/components/dialog';\nimport { AXToastService } from '@acorex/components/toast';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport {\n AXPExtraField,\n AXPTask,\n AXPTaskActionMenuItem,\n AXPTaskFilter,\n AXPTaskPopoverComponent,\n AXPTaskStatus,\n AXPWorkflowTaskProvider,\n filterTasksOverlappingRange,\n matchesTaskBoardAssigneeUserIdsFilter,\n} from '@acorex/modules/task-management';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPSystemStatuses } from '@acorex/platform/common';\nimport { AXPActionMenuItem, AXPExecuteCommand, AXPExecuteCommandResult, AXPUserReference } from '@acorex/platform/core';\nimport { AXPEntityService } from '@acorex/platform/layout/entity';\nimport { AXP_WORKFLOW_ERROR_CODES, AXPWorkflowManager, WorkflowResumeResult } from '@acorex/platform/workflow';\nimport { Inject, inject, Injectable, InjectionToken, Type } from '@angular/core';\nimport { AXMWorkflowManagementWorkflowInstanceEntityModel } from '../../entities/workflow-instance/workflow-instance.types';\nimport { canReassignWorkflowTaskToSelf } from './workflow-task-reassign-access';\nimport {\n AXP_WORKFLOW_TASK_CONTEXT_I18N_KEY,\n AXP_WORKFLOW_TASK_CONTEXT_TITLE_PARTS_KEY,\n} from './workflow-task-context.constants';\n\n//#endregion\n\n//#region ---- Types ----\n\n/**\n * Configuration for a workflow-specific task provider.\n * One provider per workflow definition – pass definitionId to scope tasks to that definition only.\n */\nexport interface AXPGenericWorkflowTaskProviderConfig {\n /** Unique provider name (e.g. 'leave-request-workflow-tasks', 'document-review-workflow-tasks'). */\n name: string;\n /** Display title in task board type selector. */\n title: string;\n /** Optional icon (default: 'fa-light fa-diagram-project'). */\n icon?: string;\n /**\n * When set, only workflow instances for this definition are shown.\n * One provider = one definition. Omit to show all suspended workflow tasks (single generic provider).\n */\n definitionId?: string;\n}\n\n/**\n * Injection token for provider config. Use when registering via DI (provide token + useFactory with deps).\n * When creating via useFactory: () => new AXPGenericWorkflowTaskProvider({ ... }), config is passed in the closure.\n */\nexport const AXP_GENERIC_WORKFLOW_TASK_PROVIDER_CONFIG = new InjectionToken<AXPGenericWorkflowTaskProviderConfig>(\n 'AXP_GENERIC_WORKFLOW_TASK_PROVIDER_CONFIG',\n);\n\n/**\n * Bookmark as stored in WorkflowInstance entity (workflowInstance.bookmarks).\n * Read from entity service; no direct DB access.\n */\ninterface WorkflowInstanceBookmark {\n id: string;\n activityId: string;\n type: string;\n payload?: Record<string, any> | null;\n payloadJson?: string;\n consumed?: boolean;\n isConsumed?: boolean;\n createdAt?: string;\n}\n\n/** Shape used when entity storage stores workflowInstance with bookmarks at root level. */\ninterface WorkflowInstanceWithBookmarks {\n bookmarks?: WorkflowInstanceBookmark[];\n}\n\n/**\n * Bookmark payload structure for human-task activities.\n */\ninterface HumanTaskBookmarkPayload {\n activityType: string;\n activityName: string;\n taskToken: string;\n taskType: 'human-task' | 'ui-activity' | 'system-activity';\n assignedUserIds?: string[] | null;\n candidateUserIds?: string[] | null;\n candidateRoleIds?: string[] | null;\n title?: string;\n description?: string;\n priority?: 'Low' | 'Normal' | 'High' | 'Urgent';\n dueDate?: string | Date | null;\n layout?: string | any;\n actions?: {\n prefix?: AXPActionMenuItem[];\n suffix?: AXPActionMenuItem[];\n };\n context?: Record<string, any>;\n}\n\n//#endregion\n\n/**\n * Generic Workflow Task Provider\n *\n * Provides tasks from Workflow Instances directly (no Work Items).\n * Queries suspended workflow instances and extracts tasks from bookmarks.\n *\n * Create one provider per workflow definition by passing a config (name, title, definitionId).\n * E.g. leave request: { name: 'leave-request-workflow-tasks', title: 'Leave Request', definitionId: 'LeaveRequestWorkflow' }\n *\n * Architecture:\n * - Queries Workflow Instances with subStatus = 'Suspended'\n * - Filters by config.definitionId when set (one provider = one definition)\n * - Extracts active bookmarks for each instance\n * - Parses bookmark payload for assignment/actions\n * - Maps to task board format\n */\n@Injectable()\nexport class AXPGenericWorkflowTaskProvider extends AXPWorkflowTaskProvider<Record<string, any>> {\n //#region ---- Config ----\n\n private readonly config: AXPGenericWorkflowTaskProviderConfig;\n\n //#endregion\n\n //#region ---- Services & Dependencies ----\n\n private readonly entityService = inject(AXPEntityService);\n private readonly workflowInstanceData = this.entityService\n .withEntity('WorkflowManagement', 'WorkflowInstance')\n .data<string, AXMWorkflowManagementWorkflowInstanceEntityModel>();\n private readonly userEntityData = this.entityService.withEntity('SecurityManagement', 'User').data<string>();\n private readonly translationService = inject(AXTranslationService);\n private readonly workflowManager = inject(AXPWorkflowManager);\n private readonly sessionService = inject(AXPSessionService);\n private readonly toastService = inject(AXToastService);\n private readonly dialogService = inject(AXDialogService);\n\n //#endregion\n\n //#region ---- Constructor ----\n\n constructor(@Inject(AXP_GENERIC_WORKFLOW_TASK_PROVIDER_CONFIG) config: AXPGenericWorkflowTaskProviderConfig) {\n super();\n this.config = config;\n }\n\n //#endregion\n\n //#region ---- Provider Metadata ----\n\n get name(): string {\n return this.config.name;\n }\n\n get title(): string {\n return this.config.title;\n }\n\n get icon(): string {\n return this.config.icon ?? 'fa-light fa-diagram-project';\n }\n\n //#endregion\n\n //#region ---- Task Retrieval ----\n\n /**\n * Bookmark types shown on the workflow task board.\n */\n private isTaskBoardBookmarkPayload(payload: HumanTaskBookmarkPayload): boolean {\n const t = payload.activityType;\n return t === 'workflow-activity:human-task' || t === 'workflow-activity:cartable';\n }\n\n /**\n * Pooled task: must be claimed before submit/cancel (cartable, or human-task with candidates only).\n */\n private isPooledClaimablePayload(payload: HumanTaskBookmarkPayload): boolean {\n const assigned = this.normalizeUserIdList(payload.assignedUserIds);\n const candidates = this.normalizeUserIdList(payload.candidateUserIds);\n if (payload.activityType === 'workflow-activity:cartable') {\n return assigned.length === 0 && candidates.length > 0;\n }\n return payload.activityType === 'workflow-activity:human-task' && assigned.length === 0 && candidates.length > 0;\n }\n\n private normalizeUserIdList(value: string[] | null | undefined): string[] {\n if (!value || value.length === 0) return [];\n return value.map((id) => String(id)).filter((s) => s.length > 0);\n }\n\n /**\n * Human-task assigned to another user; current user may take over when permitted.\n */\n private isReassignableHumanTaskPayload(payload: HumanTaskBookmarkPayload): boolean {\n if (payload.activityType !== 'workflow-activity:human-task') {\n return false;\n }\n const assigned = this.normalizeUserIdList(payload.assignedUserIds);\n if (assigned.length === 0) {\n return false;\n }\n const currentUserId = this.sessionService.user?.id;\n if (currentUserId == null) {\n return false;\n }\n return !assigned.includes(String(currentUserId));\n }\n\n private canTakeOverTask(): boolean {\n return canReassignWorkflowTaskToSelf(this.sessionService);\n }\n\n //#region ---- Task Command UX ----\n\n private async showWorkflowTaskToast(contentKey: string, color: AXStyleColorType = 'danger'): Promise<void> {\n const title = await this.translationService.translateAsync('@general:messages.generic.error.title');\n const content = await this.translationService.translateAsync(contentKey);\n this.toastService.show({ color, title, content });\n }\n\n private async confirmReassignToSelf(): Promise<boolean> {\n const title = await this.translationService.translateAsync(\n '@workflow-management:tasks.dialogs.reassign-to-self.title',\n );\n const message = await this.translationService.translateAsync(\n '@workflow-management:tasks.dialogs.reassign-to-self.message',\n );\n const dialogResult = await this.dialogService.confirm(title, message, 'warning', 'horizontal', false, 'cancel');\n return dialogResult.result === true;\n }\n\n private async reassignTaskToSelf(instanceId: string, bookmarkId: string, activityId: string): Promise<boolean> {\n const result = await this.workflowManager.reassignTaskToSelf(instanceId, bookmarkId, activityId);\n if (result.success) {\n return true;\n }\n await this.showWorkflowTaskToast('@workflow-management:tasks.errors.reassign-failed');\n return false;\n }\n\n private async resumeWorkflowTask(\n instanceId: string,\n bookmarkId: string,\n activityId: string,\n outcome: string,\n userInput: Record<string, unknown>,\n taskToken: string,\n ): Promise<WorkflowResumeResult> {\n let result = await this.workflowManager.resume(instanceId, activityId, outcome, userInput, taskToken);\n\n if (result.success || result.errorCode !== AXP_WORKFLOW_ERROR_CODES.TASK_NOT_ASSIGNEE || !this.canTakeOverTask()) {\n if (!result.success) {\n const toastKey =\n result.errorCode === AXP_WORKFLOW_ERROR_CODES.TASK_NOT_ASSIGNEE\n ? '@workflow-management:tasks.errors.not-assignee'\n : undefined;\n if (toastKey) {\n await this.showWorkflowTaskToast(toastKey);\n } else if (result.error) {\n this.toastService.show({\n color: 'danger',\n title: await this.translationService.translateAsync('@general:messages.generic.error.title'),\n content: result.error,\n });\n }\n }\n return result;\n }\n\n const confirmed = await this.confirmReassignToSelf();\n if (!confirmed) {\n return { success: false, instanceId, error: result.error, errorCode: result.errorCode };\n }\n\n const reassigned = await this.reassignTaskToSelf(instanceId, bookmarkId, activityId);\n if (!reassigned) {\n return { success: false, instanceId, error: result.error, errorCode: result.errorCode };\n }\n\n result = await this.workflowManager.resume(instanceId, activityId, outcome, userInput, taskToken);\n if (!result.success) {\n this.toastService.show({\n color: 'danger',\n title: await this.translationService.translateAsync('@general:messages.generic.error.title'),\n content: result.error ?? 'Failed to resume workflow',\n });\n }\n return result;\n }\n\n //#endregion\n\n /**\n * Get tasks from suspended workflow instances.\n *\n * Queries workflow instances filtered by:\n * - subStatus = 'Suspended'\n * - entityRefType (if provided in filter)\n * - definitionId (if provided in filter)\n * - assignee/claimant (if filter provided)\n *\n * Then extracts active bookmarks and maps to task board format.\n */\n async getTasks(options: AXPTaskFilter): Promise<{ items: AXPTask<Record<string, any>>[]; total: number }> {\n // Build filter for workflow instances\n const baseFilter: AXDataSourceFilterOption = { logic: 'and', filters: [] };\n\n // Filter by subStatus = 'Suspended' (only suspended workflows have pending tasks)\n baseFilter.filters?.push({\n field: 'subStatus',\n operator: { type: 'equal' },\n value: 'Suspended',\n });\n\n // Scope this provider to one workflow definition\n if (this.config.definitionId) {\n baseFilter.filters?.push({\n field: 'definitionId',\n operator: { type: 'equal' },\n value: this.config.definitionId,\n });\n }\n\n // Date range is applied after mapping bookmarks (task start/end overlap), not on instance createdAt.\n\n // Query workflow instances\n const { items: instances } = await this.workflowInstanceData.query({\n skip: options?.skip ?? 0,\n take: options?.take ?? 20,\n filter: baseFilter,\n });\n\n // Extract tasks from bookmarks for each instance\n const tasks: AXPTask<Record<string, any>>[] = [];\n\n for (const instance of instances) {\n try {\n // Get active bookmarks from instance entity (workflowInstance.bookmarks)\n const bookmarks = this.getActiveBookmarksFromInstance(instance);\n\n // Process each bookmark (typically one per suspended activity)\n for (const bookmark of bookmarks) {\n try {\n // Get payload from entity (payload object or parse payloadJson)\n let payload: HumanTaskBookmarkPayload;\n try {\n const raw = bookmark.payload ?? (bookmark.payloadJson ? JSON.parse(bookmark.payloadJson) : null);\n payload =\n typeof raw === 'object' && raw !== null\n ? (raw as HumanTaskBookmarkPayload)\n : ({} as HumanTaskBookmarkPayload);\n } catch {\n continue;\n }\n\n // Task board: human-task and cartable (pooled); exclude other suspended UI bookmarks\n if (!this.isTaskBoardBookmarkPayload(payload)) {\n continue;\n }\n\n // Check assignment filter if provided\n if (options?.assigneeIds && options.assigneeIds.length > 0) {\n const assignedIds = payload.assignedUserIds || [];\n const candidateIds = payload.candidateUserIds || [];\n const allUserIds = [...assignedIds, ...candidateIds].map(String);\n\n // TODO: Also check candidateRoleIds by resolving role members\n\n if (!matchesTaskBoardAssigneeUserIdsFilter(allUserIds, options.assigneeIds)) {\n continue;\n }\n }\n\n // Map bookmark to task\n const task = await this.mapBookmarkToTask(instance, bookmark, payload);\n tasks.push(task);\n } catch {\n // Skip this bookmark and continue\n }\n }\n } catch {\n // Skip this instance and continue\n }\n }\n\n const rangeFiltered = filterTasksOverlappingRange(tasks, options?.range);\n const total = rangeFiltered.length;\n const skip = options?.skip ?? 0;\n const take = options?.take ?? total;\n const items = rangeFiltered.slice(skip, skip + take);\n\n return { items, total };\n }\n\n /**\n * Get active (non-consumed) bookmarks from workflow instance entity.\n * Reads from instance.workflowInstance?.bookmarks — no direct DB access.\n */\n private getActiveBookmarksFromInstance(\n instance: AXMWorkflowManagementWorkflowInstanceEntityModel,\n ): WorkflowInstanceBookmark[] {\n const wi = instance?.workflowInstance as WorkflowInstanceWithBookmarks | undefined;\n const bookmarks = wi?.bookmarks ?? [];\n const active = bookmarks.filter(\n (b: WorkflowInstanceBookmark) => !b.isConsumed && !b.consumed,\n ) as WorkflowInstanceBookmark[];\n return active;\n }\n\n /**\n * Task-board reporter: signed-in user who is viewing the app (workflow initiator context).\n */\n private buildReporterFromSession(instance: AXMWorkflowManagementWorkflowInstanceEntityModel): AXPUserReference {\n const sessionUser = this.sessionService.user;\n if (sessionUser?.id) {\n const label = sessionUser.title?.trim() || sessionUser.name?.trim() || sessionUser.id;\n return { id: sessionUser.id, type: 'user', fullName: label };\n }\n const audit = instance.auditInfo?.created?.by;\n return {\n id: audit?.id ?? '',\n type: 'user',\n fullName: audit?.fullName ?? '',\n };\n }\n\n /**\n * Builds interpolation params from `context._taskI18n` (workflow-defined; provider stays domain-agnostic).\n */\n private buildTaskTranslationParams(context?: Record<string, unknown>): Record<string, string> {\n const params: Record<string, string> = {};\n const i18n = context?.[AXP_WORKFLOW_TASK_CONTEXT_I18N_KEY];\n if (!i18n || typeof i18n !== 'object' || Array.isArray(i18n)) {\n return params;\n }\n for (const [key, value] of Object.entries(i18n as Record<string, unknown>)) {\n const text = this.toTaskTranslationParam(value);\n if (text.length > 0) {\n params[key] = text;\n }\n }\n return params;\n }\n\n /**\n * Normalizes bookmark context values for i18n interpolation (strings or multi-language maps).\n */\n private toTaskTranslationParam(value: unknown): string {\n if (value == null) {\n return '';\n }\n if (typeof value === 'string') {\n return value.trim();\n }\n if (typeof value === 'number' || typeof value === 'boolean') {\n return String(value);\n }\n if (typeof value === 'object') {\n const resolved = this.translationService.resolve(value as never);\n return resolved?.trim() ?? '';\n }\n return String(value).trim();\n }\n\n /**\n * Resolves task copy: literal strings pass through; keys starting with `@` are translated with context params.\n */\n private async resolveTaskDisplayText(\n value: string,\n params: Record<string, string>,\n ): Promise<string> {\n const raw = value?.trim();\n if (!raw) {\n return '';\n }\n if (!raw.startsWith('@')) {\n return raw;\n }\n return this.translationService.translateAsync(raw, { params });\n }\n\n /**\n * Builds a display title from `context._taskTitleParts` when bookmark title is still generic.\n */\n private composeTaskTitleFromContext(context?: Record<string, unknown>): string {\n const parts = context?.[AXP_WORKFLOW_TASK_CONTEXT_TITLE_PARTS_KEY];\n if (!Array.isArray(parts)) {\n return '';\n }\n return parts\n .map((part) => this.toTaskTranslationParam(part))\n .filter((segment) => segment.length > 0)\n .join(' — ');\n }\n\n /**\n * True when bookmark title is the generic activity label, not workflow-specific copy.\n */\n private isGenericHumanTaskTitle(title: string | undefined): boolean {\n const normalized = title?.trim().toLowerCase();\n return (\n !normalized ||\n normalized === 'human task' ||\n normalized === 'cartable task' ||\n normalized === 'workflow-activity:human-task' ||\n normalized === 'workflow-activity:cartable' ||\n normalized === 'workflow task'\n );\n }\n\n /**\n * Resolve platform user id to a display label for the task board grid.\n */\n private async resolveAssigneeReference(userId: string | undefined): Promise<AXPUserReference | undefined> {\n const id = userId?.trim();\n if (!id) {\n return undefined;\n }\n try {\n const row = await this.userEntityData.byKey(id);\n if (!row || typeof row !== 'object') {\n return { id, type: 'user', fullName: id };\n }\n const displayName =\n 'displayName' in row ? String((row as { displayName?: unknown }).displayName ?? '').trim() : '';\n const username = 'username' in row ? String((row as { username?: unknown }).username ?? '').trim() : '';\n const fullName = displayName || username || id;\n const ref: AXPUserReference = { id, type: 'user', fullName };\n if (username) {\n ref.username = username;\n }\n return ref;\n } catch {\n return { id, type: 'user', fullName: id };\n }\n }\n\n /**\n * Map bookmark to task board task format.\n */\n private async mapBookmarkToTask(\n instance: AXMWorkflowManagementWorkflowInstanceEntityModel,\n bookmark: WorkflowInstanceBookmark,\n payload: HumanTaskBookmarkPayload,\n ): Promise<AXPTask<Record<string, any>>> {\n // Extract dates\n const dueDate = payload.dueDate\n ? typeof payload.dueDate === 'string'\n ? new Date(payload.dueDate)\n : payload.dueDate\n : instance.createdAt\n ? new Date(instance.createdAt)\n : new Date();\n\n const startDate = instance.createdAt ? new Date(instance.createdAt) : dueDate;\n\n // If startDate and endDate are the same, set endDate to one day after startDate\n let endDate = dueDate;\n if (startDate.getTime() === dueDate.getTime()) {\n endDate = new Date(startDate);\n endDate.setDate(endDate.getDate() + 1);\n }\n\n // Map priority\n const priority = this.mapPriorityToTaskPriority(payload.priority || 'Normal');\n\n const taskTranslationParams = this.buildTaskTranslationParams(payload.context);\n\n let titleSource = payload.title || payload.activityName || 'Workflow Task';\n if (this.isGenericHumanTaskTitle(titleSource)) {\n const composed = this.composeTaskTitleFromContext(payload.context);\n if (composed) {\n titleSource = composed;\n }\n }\n\n const title = await this.resolveTaskDisplayText(titleSource, taskTranslationParams);\n\n const description = await this.resolveTaskDisplayText(\n payload.description || `Action required: ${payload.activityName}`,\n taskTranslationParams,\n );\n\n const assigneeId = payload.assignedUserIds?.[0];\n const assignee = await this.resolveAssigneeReference(assigneeId);\n\n return {\n id: bookmark.id, // Use bookmark ID as task ID\n title,\n description,\n startDate,\n endDate,\n allDay: false,\n assignee,\n index: 2,\n status: {\n id: AXPSystemStatuses.Pending.name,\n title: this.translationService.translateSync('@workflow-management:tasks.states.pending'),\n },\n priority,\n reporter: this.buildReporterFromSession(instance),\n data: {\n // Store workflow instance and bookmark metadata\n instanceId: instance.id,\n bookmarkId: bookmark.id,\n activityId: bookmark.activityId,\n activityType: payload.activityType,\n activityName: payload.activityName,\n taskToken: payload.taskToken,\n entityRefId: instance.entityRefId,\n entityRefType: instance.entityRefType,\n definitionId: instance.definitionId,\n // Store full payload for actions\n payload: payload,\n } as any,\n };\n }\n\n /**\n * Map priority to task board priority.\n */\n private mapPriorityToTaskPriority(\n priority: 'Low' | 'Normal' | 'High' | 'Urgent',\n ): 'highest' | 'high' | 'medium' | 'low' | 'lowest' {\n switch (priority) {\n case 'Urgent':\n return 'highest';\n case 'High':\n return 'high';\n case 'Normal':\n return 'medium';\n case 'Low':\n return 'low';\n default:\n return 'medium';\n }\n }\n\n //#endregion\n\n //#region ---- Task Updates ----\n\n /**\n * Update tasks (not applicable for workflow instances - they are read-only from task provider perspective).\n */\n async updateTasks(tasksToUpdate: AXPTask<Record<string, any>>[]): Promise<AXPTask<Record<string, any>>[]> {\n // Workflow instances are managed by workflow engine\n // Task updates should be done through workflow resume, not direct updates\n return tasksToUpdate;\n }\n\n //#endregion\n\n //#region ---- Command Execution ----\n\n /**\n * Execute commands on tasks.\n *\n * Supports:\n * - Workflow resume commands (Complete, Cancel)\n */\n async executeCommand(command: AXPExecuteCommand): Promise<AXPExecuteCommandResult> {\n if (!command?.name) return { success: true };\n\n const taskData = command.options?.['data'] as any;\n const instanceId = taskData?.instanceId ?? command.options?.['instanceId'] ?? '';\n const bookmarkId = taskData?.bookmarkId ?? command.options?.['bookmarkId'] ?? '';\n const taskToken = taskData?.taskToken ?? command.options?.['taskToken'] ?? '';\n const activityId = taskData?.activityId ?? command.options?.['activityId'] ?? command.options?.['stepId'] ?? '';\n const outcome = command.options?.['outcome'] ?? 'Done';\n const userInput = command.options?.['userInput'] ?? {};\n\n if (command.name === 'WorkflowManagement.WorkflowInstance:ClaimTask') {\n if (!instanceId || !bookmarkId || !activityId) {\n return {\n success: false,\n message: {\n text: 'Missing required parameters: instanceId, bookmarkId, activityId',\n },\n };\n }\n const claimResult = await this.workflowManager.claimTask(instanceId, bookmarkId, activityId);\n if (!claimResult.success && claimResult.error) {\n this.toastService.show({\n color: 'danger',\n title: await this.translationService.translateAsync('@general:messages.generic.error.title'),\n content: claimResult.error,\n });\n }\n return {\n success: claimResult.success,\n message: claimResult.error\n ? {\n text: claimResult.error,\n }\n : undefined,\n };\n }\n\n if (command.name === 'WorkflowManagement.WorkflowInstance:ReassignToSelf') {\n if (!instanceId || !bookmarkId || !activityId) {\n return {\n success: false,\n message: {\n text: 'Missing required parameters: instanceId, bookmarkId, activityId',\n },\n };\n }\n if (!this.canTakeOverTask()) {\n await this.showWorkflowTaskToast('@workflow-management:tasks.errors.not-assignee');\n return { success: false };\n }\n const confirmed = await this.confirmReassignToSelf();\n if (!confirmed) {\n return { success: true };\n }\n const reassigned = await this.reassignTaskToSelf(instanceId, bookmarkId, activityId);\n return { success: reassigned };\n }\n\n // Handle workflow resume commands\n if (command.name === 'WorkflowManagement.WorkflowInstance:Resume' || command.name === 'resume-workflow') {\n if (!instanceId || !taskToken || !activityId) {\n return {\n success: false,\n message: {\n text: 'Missing required parameters: instanceId, taskToken, activityId',\n },\n };\n }\n\n const result = await this.resumeWorkflowTask(\n instanceId,\n bookmarkId,\n activityId,\n outcome,\n userInput as Record<string, unknown>,\n taskToken,\n );\n\n return {\n success: result.success,\n message: result.error\n ? {\n text: result.error,\n }\n : undefined,\n };\n }\n\n return { success: true };\n }\n\n //#endregion\n\n //#region ---- Actions & Statuses ----\n\n /**\n * Get available actions for a task.\n *\n * Extracts actions from bookmark payload.\n */\n async getActions(task?: AXPTask<Record<string, any>>): Promise<AXPTaskActionMenuItem[]> {\n const actions: AXPTaskActionMenuItem[] = [];\n\n if (!task) return actions;\n\n const taskData = task.data as any;\n const payload = taskData?.payload as HumanTaskBookmarkPayload | undefined;\n\n if (!payload) return actions;\n\n if (this.isPooledClaimablePayload(payload)) {\n actions.push({\n name: 'claim',\n title: this.translationService.translateSync('@workflow-management:tasks.actions.claim.title'),\n icon: 'fa-light fa-hand',\n color: 'primary',\n priority: 'primary',\n command: {\n name: 'WorkflowManagement.WorkflowInstance:ClaimTask',\n options: {\n instanceId: taskData.instanceId,\n bookmarkId: taskData.bookmarkId,\n activityId: taskData.activityId,\n },\n },\n });\n return actions;\n }\n\n if (this.isReassignableHumanTaskPayload(payload) && this.canTakeOverTask()) {\n actions.push({\n name: 'reassign-to-self',\n title: this.translationService.translateSync('@workflow-management:tasks.actions.reassign-to-self.title'),\n icon: 'fa-light fa-user-check',\n color: 'warning',\n priority: 'secondary',\n command: {\n name: 'WorkflowManagement.WorkflowInstance:ReassignToSelf',\n options: {\n instanceId: taskData.instanceId,\n bookmarkId: taskData.bookmarkId,\n activityId: taskData.activityId,\n },\n },\n });\n }\n\n // Extract actions from payload\n if (payload.actions) {\n const allActions = [...(payload.actions.prefix || []), ...(payload.actions.suffix || [])];\n\n for (const action of allActions) {\n const actionName = action.command?.name || action.name || 'unknown';\n\n actions.push({\n name: actionName,\n title: action.title || actionName,\n icon: action.icon,\n color: action.color,\n priority: 'primary',\n command: {\n name: 'WorkflowManagement.WorkflowInstance:Resume',\n options: {\n instanceId: taskData.instanceId,\n bookmarkId: taskData.bookmarkId,\n activityId: taskData.activityId,\n taskToken: taskData.taskToken,\n outcome: actionName,\n userInput: {},\n },\n },\n });\n }\n } else {\n // Default actions if none provided\n actions.push({\n name: 'submit',\n title: this.translationService.translateSync('@general:actions.submit.title'),\n icon: 'fa-light fa-check',\n color: 'primary',\n priority: 'primary',\n command: {\n name: 'WorkflowManagement.WorkflowInstance:Resume',\n options: {\n instanceId: taskData.instanceId,\n bookmarkId: taskData.bookmarkId,\n activityId: taskData.activityId,\n taskToken: taskData.taskToken,\n outcome: 'submit',\n userInput: {},\n },\n },\n });\n\n actions.push({\n name: 'cancel',\n title: this.translationService.translateSync('@general:actions.cancel.title'),\n icon: 'fa-light fa-times',\n color: 'default',\n priority: 'secondary',\n command: {\n name: 'WorkflowManagement.WorkflowInstance:Resume',\n options: {\n instanceId: taskData.instanceId,\n bookmarkId: taskData.bookmarkId,\n activityId: taskData.activityId,\n taskToken: taskData.taskToken,\n outcome: 'cancel',\n userInput: {},\n },\n },\n });\n }\n\n return actions;\n }\n\n async getExtraFields(): Promise<AXPExtraField[]> {\n return [];\n }\n\n async getStatuses(): Promise<AXPTaskStatus[]> {\n return [\n {\n index: 0,\n key: AXPSystemStatuses.Pending.name,\n title: await this.translationService.translateAsync('@workflow-management:tasks.states.pending'),\n color: 'warning',\n },\n ];\n }\n\n //#endregion\n\n //#region ---- Component ----\n\n override getComponent(): (() => Promise<Type<AXPTaskPopoverComponent>>) | Type<AXPTaskPopoverComponent> | null {\n return () => import('./workflow-task-popover.component').then((m) => m.AXMWorkflowTaskPopoverComponent);\n }\n\n //#endregion\n}\n","import { AXTranslationService } from '@acorex/core/translation';\nimport { AXP_WORKFLOW_TASK_PROVIDER } from '@acorex/modules/task-management';\nimport { AXPWorkflowDefinitionService } from '@acorex/platform/workflow';\nimport { EnvironmentProviders, Injector, makeEnvironmentProviders, runInInjectionContext } from '@angular/core';\nimport { AXPGenericWorkflowTaskProvider } from '../task-provider/generic-workflow-task.provider';\n\nexport function provideTaskWorkflow(): EnvironmentProviders {\n return makeEnvironmentProviders([\n {\n provide: AXP_WORKFLOW_TASK_PROVIDER,\n multi: true,\n useFactory: (injector: Injector) => {\n return (async () => {\n const workflowDefinitionService = injector.get(AXPWorkflowDefinitionService);\n const multiLanguageResolver = injector.get(AXTranslationService);\n const categories = await workflowDefinitionService.getCategories();\n const providers: AXPGenericWorkflowTaskProvider[] = [];\n const seenDefinitionNames = new Set<string>();\n for (const category of categories) {\n const workflows = await workflowDefinitionService.getWorkflowsByCategoryId(category.id);\n for (const workflow of workflows) {\n const key = workflow.name;\n if (!key || seenDefinitionNames.has(key)) {\n continue;\n }\n seenDefinitionNames.add(key);\n const provider = runInInjectionContext(\n injector,\n () =>\n new AXPGenericWorkflowTaskProvider({\n name: workflow.name,\n title: multiLanguageResolver.resolve(workflow.title) ?? workflow.name,\n icon: 'fa-light fa-diagram-project',\n definitionId: workflow.name,\n }),\n );\n providers.push(provider);\n }\n }\n\n return providers;\n })();\n },\n deps: [Injector],\n },\n ]);\n}\n","import { AXMCalendarManagementModule } from '@acorex/modules/calendar-management';\nimport { AXP_WORKFLOW_TASK_PROVIDER } from '@acorex/modules/task-management';\nimport { AXP_PERMISSION_DEFINITION_PROVIDER } from '@acorex/platform/auth';\nimport { AXP_MENU_PROVIDER, AXP_STATUS_PROVIDERS } from '@acorex/platform/common';\nimport { AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER, AXP_MODULE_MANIFEST_PROVIDER, provideLazyProvider } from '@acorex/platform/core';\nimport { AXP_PAGE_COMPONENT_PROVIDER } from '@acorex/platform/layout/components';\nimport { AXPDomainModule } from '@acorex/platform/domain';\nimport { AXP_ENTITY_DEFINITION_LOADER } from '@acorex/platform/layout/entity';\nimport { AXP_WIDGET_DEFINITION_PROVIDER, AXPWidgetCoreModule } from '@acorex/platform/layout/widget-core';\nimport { AXMWorkflowDashboardWidgetsProvider } from './features/dashboard/widgets';\nimport { AXMWorkflowManagementWidgetsProvider } from './widget-definition.provider';\nimport { provideCommandSetups } from '@acorex/platform/runtime';\nimport {\n AXP_ACTIVITY_CATEGORY_PROVIDER,\n AXP_ACTIVITY_PROVIDER,\n AXP_WORKFLOW_CATEGORY_PROVIDER,\n AXP_WORKFLOW_PROVIDER,\n} from '@acorex/platform/workflow';\nimport { NgModule } from '@angular/core';\nimport { AXMWorkflowManagementModuleEntityProvider } from './entity.provider';\nimport {\n CartableTaskActivity,\n CollectSignatureActivity,\n CreateEntityFormActivity,\n HumanTaskActivity,\n ShowConfirmPopupActivity,\n ShowLayoutPopupActivity,\n ShowToastActivity,\n} from './features/engine/activities';\nimport { AXMWorkflowPluginModule } from './features/workflow-plugin/workflow-plugin.module';\n\nimport { AXMWorkflowActivitiesDefinitionProvider } from './features/engine/activities/workflow-activities-definition.provider';\nimport { AXCCategoryProvider } from './features/engine/category.provider';\nimport { AXMWorkflowCategoryProvider } from './features/engine/workflows/workflow-category.provider';\nimport { AXMWorkflowDefinitionProvider } from './features/engine/workflows/workflow-definition.provider';\nimport { AXMWorkflowDefinitionStatusProvider } from './features/workflow-definition-status.provider';\nimport { WorkflowManagementManifest } from './manifest';\nimport { AXMMenuProvider } from './menu.provider';\nimport { AXMAutomationEvaluatorScopeProvider } from './features/automation-evaluator-scope.provider';\nimport { AXMPermissionDefinitionProvider } from './permission-definition.provider';\nimport { provideTaskWorkflow } from './features/engine/provider.task';\n\n@NgModule({\n imports: [\n AXMCalendarManagementModule,\n AXPDomainModule,\n AXMWorkflowPluginModule, // Register workflow plugin\n AXPWidgetCoreModule,\n ],\n providers: [\n { provide: AXP_WIDGET_DEFINITION_PROVIDER, useClass: AXMWorkflowManagementWidgetsProvider, multi: true },\n { provide: AXP_WIDGET_DEFINITION_PROVIDER, useClass: AXMWorkflowDashboardWidgetsProvider, multi: true },\n provideCommandSetups([\n {\n key: 'WorkflowManagement.WorkflowDefinition:ExecuteWithInput',\n command: () =>\n import('./entities/workflow-definition/commands').then((c) => c.ExecuteWorkflowWithInputCommand),\n },\n {\n key: 'WorkflowManagement.WorkflowDefinition:Execute',\n command: () => import('./entities/workflow-definition/commands').then((c) => c.ExecuteWorkflowCommand),\n },\n {\n key: 'WorkflowManagement.WorkflowDefinition:Activities:Save',\n command: () =>\n import('./entities/workflow-definition/commands/save-workflow-definition-activities.command').then(\n (c) => c.SaveWorkflowDefinitionActivitiesCommand,\n ),\n },\n {\n key: 'workflow-activity:show-toast',\n command: () => import('./features/engine/activities').then((c) => c.ShowToastActivity),\n },\n {\n key: 'workflow-activity:create-entity',\n command: () => import('./features/engine/activities').then((c) => c.AXPCreateEntityActivity),\n },\n {\n key: 'workflow-activity:show-confirm-popup',\n command: () => import('./features/engine/activities').then((c) => c.ShowConfirmPopupActivity),\n },\n {\n key: 'workflow-activity:show-layout-popup',\n command: () => import('./features/engine/activities').then((c) => c.ShowLayoutPopupActivity),\n },\n {\n key: 'workflow-activity:create-entity-form',\n command: () => import('./features/engine/activities').then((c) => c.CreateEntityFormActivity),\n },\n {\n key: 'workflow-activity:human-task',\n command: () => import('./features/engine/activities').then((c) => c.HumanTaskActivity),\n },\n {\n key: 'workflow-activity:cartable',\n command: () => import('./features/engine/activities').then((c) => c.CartableTaskActivity),\n },\n {\n key: 'workflow-activity:collect-signature',\n command: () => import('./features/engine/activities').then((c) => c.CollectSignatureActivity),\n },\n ]),\n // provideEntity([RootConfig.entities.activityDefinition.fullName]),\n // Entity Definition Loader\n {\n provide: AXP_ENTITY_DEFINITION_LOADER,\n useClass: AXMWorkflowManagementModuleEntityProvider,\n multi: true,\n },\n provideLazyProvider(AXP_PAGE_COMPONENT_PROVIDER, () =>\n import('./features/workflow-instance-activity-instances-page').then(\n (m) => m.AXMWorkflowInstanceActivityInstancesPageComponentProvider,\n ),\n ),\n provideLazyProvider(AXP_PAGE_COMPONENT_PROVIDER, () =>\n import('./features/workflow-definition-activities-page').then(\n (m) => m.AXMWorkflowDefinitionActivitiesPageComponentProvider,\n ),\n ),\n // Automation condition builder: default automation.rules(refType, refId); modules override for their refTypes\n {\n provide: AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER,\n useClass: AXMAutomationEvaluatorScopeProvider,\n multi: true,\n },\n // Menu Provider\n {\n provide: AXP_STATUS_PROVIDERS,\n useClass: AXMWorkflowDefinitionStatusProvider,\n multi: true,\n },\n {\n provide: AXP_MENU_PROVIDER,\n useClass: AXMMenuProvider,\n multi: true,\n },\n // Permission Definition Provider\n {\n provide: AXP_PERMISSION_DEFINITION_PROVIDER,\n useClass: AXMPermissionDefinitionProvider,\n multi: true,\n },\n // Module Manifest Provider\n {\n provide: AXP_MODULE_MANIFEST_PROVIDER,\n useValue: WorkflowManagementManifest,\n multi: true,\n },\n {\n provide: AXP_WORKFLOW_PROVIDER,\n useClass: AXMWorkflowDefinitionProvider,\n multi: true,\n },\n {\n provide: AXP_ACTIVITY_CATEGORY_PROVIDER,\n useClass: AXCCategoryProvider,\n multi: true,\n },\n {\n provide: AXP_ACTIVITY_PROVIDER,\n useClass: AXMWorkflowActivitiesDefinitionProvider,\n multi: true,\n },\n // Workflow Category Provider\n {\n provide: AXP_WORKFLOW_CATEGORY_PROVIDER,\n useClass: AXMWorkflowCategoryProvider,\n multi: true,\n },\n // Provide activity classes for dependency injection (only frontend activities)\n ShowConfirmPopupActivity,\n ShowLayoutPopupActivity,\n CreateEntityFormActivity,\n HumanTaskActivity,\n CartableTaskActivity,\n ShowToastActivity,\n CollectSignatureActivity,\n // Generic Workflow Task Provider (all workflows – no definitionId filter).\n // For one provider per definition, register in your module with definitionId, e.g.:\n // { provide: AXP_GENERIC_WORKFLOW_TASK_PROVIDER_CONFIG, useValue: { name: 'leave-request-workflow-tasks', title: 'Leave Request', definitionId: 'LeaveRequestWorkflow' } },\n // { provide: AXP_WORKFLOW_TASK_PROVIDER, multi: true, useFactory: (c) => new AXPGenericWorkflowTaskProvider(c), deps: [AXP_GENERIC_WORKFLOW_TASK_PROVIDER_CONFIG] }\n // Leave Request workflow: task board shows suspended human-tasks.\n // definitionId must match instance.definitionId: mock engine uses workflow name ('createLeaveRequest'); real API may use definition entity id.\n // {\n // provide: AXP_GENERIC_WORKFLOW_TASK_PROVIDER_CONFIG,\n // useValue: {\n // name: 'leave-request',\n // title: 'Leave Request Tasks',\n // icon: 'fa-light fa-diagram-project',\n // definitionId: 'createLeaveRequest',\n // } as AXPGenericWorkflowTaskProviderConfig,\n // },\n // {\n // provide: AXP_WORKFLOW_TASK_PROVIDER,\n // multi: true,\n // useFactory: (config: AXPGenericWorkflowTaskProviderConfig) =>\n // new AXPGenericWorkflowTaskProvider(config),\n // deps: [AXP_GENERIC_WORKFLOW_TASK_PROVIDER_CONFIG],\n // },\n provideTaskWorkflow()\n ],\n})\nexport class AXMWorkflowManagementModule { }\n","//#region ---- Imports ----\n\nimport { AXPFilterClause } from '@acorex/platform/core';\nimport { AXPEntityModel } from '@acorex/platform/layout/entity';\n\n//#endregion\n\n//#region ---- Automation Model ----\n\n/**\n * Reusable automation entity model.\n * refType + refId reference any parent entity (e.g. AssessmentManagement.Questionnaire, refId = questionnaire id).\n */\nexport interface AXMWorkflowManagementAutomationEntityModel extends AXPEntityModel<string> {\n /** Entity type of the parent record (e.g. \"AssessmentManagement.Questionnaire\"). */\n refType: string;\n /** Parent record id. */\n refId: string;\n name?: string;\n title?: string;\n description?: string;\n condition: AXPFilterClause;\n /** Activity/command key and parameters (from activity-command-configurator). */\n command: { commandKey: string; params?: Record<string, unknown> };\n}\n\n//#endregion\n","// Entity exports - services and modules removed, handled by middleware\n// Exporting entity types for use in feature components\n\nexport * from './activity-category/activity-category.types';\nexport * from './activity-definition/activity-definition.types';\nexport * from './automation/automation.types';\nexport * from './workflow-definition/workflow-definition.types';\nexport * from './workflow-instance/workflow-instance.types';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|