@acorex/modules 21.0.0-next.76 → 21.0.0-next.79
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/{acorex-modules-ai-management-index-r6kkpdsP.mjs → acorex-modules-ai-management-agent.entity-3ZBa5t2D.mjs} +5 -2
- package/fesm2022/acorex-modules-ai-management-agent.entity-3ZBa5t2D.mjs.map +1 -0
- package/fesm2022/{acorex-modules-ai-management-index-IOX4YfSO.mjs → acorex-modules-ai-management-assist.entity-CeALRRoV.mjs} +5 -2
- package/fesm2022/acorex-modules-ai-management-assist.entity-CeALRRoV.mjs.map +1 -0
- package/fesm2022/{acorex-modules-ai-management-index-1AKm3Wpv.mjs → acorex-modules-ai-management-model.entity-DiDaXVa3.mjs} +7 -4
- package/fesm2022/acorex-modules-ai-management-model.entity-DiDaXVa3.mjs.map +1 -0
- package/fesm2022/{acorex-modules-ai-management-index-KMGY_nWq.mjs → acorex-modules-ai-management-open-ai-endpoint.entity-CZLNKtl0.mjs} +5 -2
- package/fesm2022/acorex-modules-ai-management-open-ai-endpoint.entity-CZLNKtl0.mjs.map +1 -0
- package/fesm2022/{acorex-modules-ai-management-index-D-oYCWiP.mjs → acorex-modules-ai-management-rule.entity-CQNx4QEB.mjs} +5 -2
- package/fesm2022/acorex-modules-ai-management-rule.entity-CQNx4QEB.mjs.map +1 -0
- package/fesm2022/acorex-modules-ai-management.mjs +92 -92
- package/fesm2022/acorex-modules-ai-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-application-management-application-status.provider-BmTGAssq.mjs → acorex-modules-application-management-application-status.provider-CGRoY79H.mjs} +2 -2
- package/fesm2022/acorex-modules-application-management-application-status.provider-CGRoY79H.mjs.map +1 -0
- package/fesm2022/acorex-modules-application-management-permission-definition.provider-DEO50hd3.mjs.map +1 -1
- package/fesm2022/acorex-modules-application-management.mjs +1150 -1147
- package/fesm2022/acorex-modules-application-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-assessment-management-acorex-modules-assessment-management-CLXKpUoU.mjs → acorex-modules-assessment-management-acorex-modules-assessment-management-yboYQ8I-.mjs} +86 -85
- package/fesm2022/acorex-modules-assessment-management-acorex-modules-assessment-management-yboYQ8I-.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-assessment-case-status.provider-rAq2m3xt.mjs → acorex-modules-assessment-management-assessment-case-status.provider-B9sQAPwy.mjs} +2 -2
- package/fesm2022/acorex-modules-assessment-management-assessment-case-status.provider-B9sQAPwy.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-index-VYBOM8GR.mjs → acorex-modules-assessment-management-assessment-case.entity-BBWeshSs.mjs} +9 -6
- package/fesm2022/acorex-modules-assessment-management-assessment-case.entity-BBWeshSs.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-assessment-session-answers-view.util-DECCIZSO.mjs → acorex-modules-assessment-management-assessment-session-answers-view.util-UCYBAHLk.mjs} +2 -2
- package/fesm2022/acorex-modules-assessment-management-assessment-session-answers-view.util-UCYBAHLk.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-assessment-session-status.provider-B-0MdMq1.mjs → acorex-modules-assessment-management-assessment-session-status.provider-Lee6Cwg8.mjs} +2 -2
- package/fesm2022/acorex-modules-assessment-management-assessment-session-status.provider-Lee6Cwg8.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-index-Cj5KtvVT.mjs → acorex-modules-assessment-management-assessment-session.entity-Bp_dS1Js.mjs} +8 -6
- package/fesm2022/acorex-modules-assessment-management-assessment-session.entity-Bp_dS1Js.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-fill-assessment-session.command-pLGZAFqT.mjs → acorex-modules-assessment-management-fill-assessment-session.command-VivCLw2H.mjs} +2 -2
- package/fesm2022/acorex-modules-assessment-management-fill-assessment-session.command-VivCLw2H.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-preview-question.command-Bgqajt80.mjs → acorex-modules-assessment-management-preview-question.command-CKF4BjCx.mjs} +2 -2
- package/fesm2022/acorex-modules-assessment-management-preview-question.command-CKF4BjCx.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-preview-questionnaire.command-B84qnNRw.mjs → acorex-modules-assessment-management-preview-questionnaire.command-B_2o4jC2.mjs} +2 -2
- package/fesm2022/acorex-modules-assessment-management-preview-questionnaire.command-B_2o4jC2.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-question-bank-interface-editor-widget-edit.component-CyZGi_Zx.mjs → acorex-modules-assessment-management-question-bank-interface-editor-widget-edit.component-s8KcR3D0.mjs} +2 -2
- package/fesm2022/acorex-modules-assessment-management-question-bank-interface-editor-widget-edit.component-s8KcR3D0.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-index-DDhc6vR7.mjs → acorex-modules-assessment-management-question-bank-item.entity-Sj-5woTX.mjs} +9 -7
- package/fesm2022/acorex-modules-assessment-management-question-bank-item.entity-Sj-5woTX.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-questionnaire-viewer-popup.component-CRQjv1Vz.mjs → acorex-modules-assessment-management-questionnaire-viewer-popup.component-ClvQ18w6.mjs} +2 -2
- package/fesm2022/acorex-modules-assessment-management-questionnaire-viewer-popup.component-ClvQ18w6.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-index-ClRMor3R.mjs → acorex-modules-assessment-management-questionnaire.entity-BbyNZvoc.mjs} +10 -8
- package/fesm2022/acorex-modules-assessment-management-questionnaire.entity-BbyNZvoc.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-review-assessment-session.command-Dgaf88SW.mjs → acorex-modules-assessment-management-review-assessment-session.command-B2QViI9d.mjs} +3 -3
- package/fesm2022/acorex-modules-assessment-management-review-assessment-session.command-B2QViI9d.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-view-session-answers.command-CocxFTxZ.mjs → acorex-modules-assessment-management-view-session-answers.command-CWdBtkn1.mjs} +3 -3
- package/fesm2022/acorex-modules-assessment-management-view-session-answers.command-CWdBtkn1.mjs.map +1 -0
- package/fesm2022/acorex-modules-assessment-management.mjs +1 -1
- package/fesm2022/{acorex-modules-asset-management-asset-rental-history-status.provider-_iNFw6nf.mjs → acorex-modules-asset-management-asset-rental-history-status.provider-BiWf2TwD.mjs} +13 -4
- package/fesm2022/acorex-modules-asset-management-asset-rental-history-status.provider-BiWf2TwD.mjs.map +1 -0
- package/fesm2022/{acorex-modules-asset-management-index-Bza8Y2Qq.mjs → acorex-modules-asset-management-asset-rental-history.entity-D7g3TSrr.mjs} +10 -6
- package/fesm2022/acorex-modules-asset-management-asset-rental-history.entity-D7g3TSrr.mjs.map +1 -0
- package/fesm2022/{acorex-modules-asset-management-index-BE9Pt9Yl.mjs → acorex-modules-asset-management-asset-system-assignment.entity-ufjDJ-0D.mjs} +7 -4
- package/fesm2022/acorex-modules-asset-management-asset-system-assignment.entity-ufjDJ-0D.mjs.map +1 -0
- package/fesm2022/{acorex-modules-asset-management-index-DDyvfemO.mjs → acorex-modules-asset-management-asset-system-type.entity-DbeerQdD.mjs} +7 -4
- package/fesm2022/acorex-modules-asset-management-asset-system-type.entity-DbeerQdD.mjs.map +1 -0
- package/fesm2022/{acorex-modules-asset-management-index-BQRNWXnd.mjs → acorex-modules-asset-management-asset-system.entity-0Fy7wSBh.mjs} +7 -4
- package/fesm2022/acorex-modules-asset-management-asset-system.entity-0Fy7wSBh.mjs.map +1 -0
- package/fesm2022/{acorex-modules-asset-management-index-BmydXxB7.mjs → acorex-modules-asset-management-asset-type-section-component.entity-OsuWeo2l.mjs} +7 -4
- package/fesm2022/acorex-modules-asset-management-asset-type-section-component.entity-OsuWeo2l.mjs.map +1 -0
- package/fesm2022/{acorex-modules-asset-management-index-BGnVFHyV.mjs → acorex-modules-asset-management-asset-type-section.entity-C6tA_OBh.mjs} +7 -4
- package/fesm2022/acorex-modules-asset-management-asset-type-section.entity-C6tA_OBh.mjs.map +1 -0
- package/fesm2022/{acorex-modules-asset-management-index-CBoHnVCB.mjs → acorex-modules-asset-management-asset-type.entity-Cjy7Xetu.mjs} +9 -5
- package/fesm2022/acorex-modules-asset-management-asset-type.entity-Cjy7Xetu.mjs.map +1 -0
- package/fesm2022/{acorex-modules-asset-management-index-BNW-nI4M.mjs → acorex-modules-asset-management-asset.entity-D1HwzXL_.mjs} +12 -7
- package/fesm2022/acorex-modules-asset-management-asset.entity-D1HwzXL_.mjs.map +1 -0
- package/fesm2022/acorex-modules-asset-management.mjs +119 -134
- package/fesm2022/acorex-modules-asset-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-auth-acorex-modules-auth-DBZfh3pH.mjs → acorex-modules-auth-acorex-modules-auth-CUpNfm_0.mjs} +129 -130
- package/fesm2022/acorex-modules-auth-acorex-modules-auth-CUpNfm_0.mjs.map +1 -0
- package/fesm2022/{acorex-modules-auth-app-chooser.component-DN75LxY3.mjs → acorex-modules-auth-app-chooser.component-DLtnhyB9.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-app-chooser.component-DN75LxY3.mjs.map → acorex-modules-auth-app-chooser.component-DLtnhyB9.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-change-password.command-DDH7PMLT.mjs → acorex-modules-auth-change-password.command-DcGeenns.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-change-password.command-DDH7PMLT.mjs.map → acorex-modules-auth-change-password.command-DcGeenns.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-edit-account-info.command-BtzrBEGu.mjs → acorex-modules-auth-edit-account-info.command-BnPtwAxA.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-edit-account-info.command-BtzrBEGu.mjs.map → acorex-modules-auth-edit-account-info.command-BnPtwAxA.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-lock-screen.command-BIiErYnc.mjs → acorex-modules-auth-lock-screen.command-Dh0Sgo3_.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-lock-screen.command-BIiErYnc.mjs.map → acorex-modules-auth-lock-screen.command-Dh0Sgo3_.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-login.module-CM6a_pvB.mjs → acorex-modules-auth-login.module-C8psUPfq.mjs} +4 -4
- package/fesm2022/{acorex-modules-auth-login.module-CM6a_pvB.mjs.map → acorex-modules-auth-login.module-C8psUPfq.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-master.layout-D9al7lUX.mjs → acorex-modules-auth-master.layout-KMxMqtt8.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-master.layout-D9al7lUX.mjs.map → acorex-modules-auth-master.layout-KMxMqtt8.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-oauth-callback.component-CndekwOM.mjs → acorex-modules-auth-oauth-callback.component-BF_3fuuz.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-oauth-callback.component-CndekwOM.mjs.map → acorex-modules-auth-oauth-callback.component-BF_3fuuz.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-open-sessions.command-Bgk9TcH-.mjs → acorex-modules-auth-open-sessions.command-vxmxqvOa.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-open-sessions.command-Bgk9TcH-.mjs.map → acorex-modules-auth-open-sessions.command-vxmxqvOa.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-password.component-BWEq8tpz.mjs → acorex-modules-auth-password.component-BOoUt4Gn.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-password.component-BWEq8tpz.mjs.map → acorex-modules-auth-password.component-BOoUt4Gn.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-password.component-Z980dxkh.mjs → acorex-modules-auth-password.component-Cpjc_S82.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-password.component-Z980dxkh.mjs.map → acorex-modules-auth-password.component-Cpjc_S82.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-profile-activity-chart.component-8uSUOk9s.mjs → acorex-modules-auth-profile-activity-chart.component-DfWYy7TN.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-profile-activity-chart.component-8uSUOk9s.mjs.map → acorex-modules-auth-profile-activity-chart.component-DfWYy7TN.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-profile-delete-account-danger-zone.component-C-zoKWsQ.mjs → acorex-modules-auth-profile-delete-account-danger-zone.component-DJcIyOxg.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-profile-delete-account-danger-zone.component-C-zoKWsQ.mjs.map → acorex-modules-auth-profile-delete-account-danger-zone.component-DJcIyOxg.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-profile-page-component.provider-BoGC3tKI.mjs → acorex-modules-auth-profile-page-component.provider-DR2-c0_6.mjs} +4 -4
- package/fesm2022/{acorex-modules-auth-profile-page-component.provider-BoGC3tKI.mjs.map → acorex-modules-auth-profile-page-component.provider-DR2-c0_6.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-profile-page.component-B-qdKgOT.mjs → acorex-modules-auth-profile-page.component-ChsI9B3Y.mjs} +6 -11
- package/fesm2022/acorex-modules-auth-profile-page.component-ChsI9B3Y.mjs.map +1 -0
- package/fesm2022/{acorex-modules-auth-remove-pin-code.command-DnYc0CYG.mjs → acorex-modules-auth-remove-pin-code.command-LFwvvyZ9.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-remove-pin-code.command-DnYc0CYG.mjs.map → acorex-modules-auth-remove-pin-code.command-LFwvvyZ9.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-routes-Cg0xipUZ.mjs → acorex-modules-auth-routes-CuY_v2GN.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-routes-Cg0xipUZ.mjs.map → acorex-modules-auth-routes-CuY_v2GN.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-session-lock-overlay.component-BkpYhoVc.mjs → acorex-modules-auth-session-lock-overlay.component-CwNAumIp.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-session-lock-overlay.component-BkpYhoVc.mjs.map → acorex-modules-auth-session-lock-overlay.component-CwNAumIp.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-set-pin-code.command-9DY-hUvp.mjs → acorex-modules-auth-set-pin-code.command-CfIHBTiI.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-set-pin-code.command-9DY-hUvp.mjs.map → acorex-modules-auth-set-pin-code.command-CfIHBTiI.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-set-pin-code.component-QhO37PUy.mjs → acorex-modules-auth-set-pin-code.component-CNZE8NXL.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-set-pin-code.component-QhO37PUy.mjs.map → acorex-modules-auth-set-pin-code.component-CNZE8NXL.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-settings.provider-DhaMQd28.mjs → acorex-modules-auth-settings.provider-BMc1yFRY.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-settings.provider-DhaMQd28.mjs.map → acorex-modules-auth-settings.provider-BMc1yFRY.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-tenant-chooser.component-Hy_FsSVy.mjs → acorex-modules-auth-tenant-chooser.component-OsTNt9lp.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-tenant-chooser.component-Hy_FsSVy.mjs.map → acorex-modules-auth-tenant-chooser.component-OsTNt9lp.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-two-factor.module-l0zICZtk.mjs → acorex-modules-auth-two-factor.module-CcKZ6dpb.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-two-factor.module-l0zICZtk.mjs.map → acorex-modules-auth-two-factor.module-CcKZ6dpb.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-view-login-history.command-o2IzCKbr.mjs → acorex-modules-auth-view-login-history.command-Crx7Dw2t.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-view-login-history.command-o2IzCKbr.mjs.map → acorex-modules-auth-view-login-history.command-Crx7Dw2t.mjs.map} +1 -1
- package/fesm2022/acorex-modules-auth.mjs +1 -1
- package/fesm2022/acorex-modules-business-core-business-status.entity-BcfEL0kf.mjs +139 -0
- package/fesm2022/acorex-modules-business-core-business-status.entity-BcfEL0kf.mjs.map +1 -0
- package/fesm2022/acorex-modules-business-core-business-type.entity-BP5XZthY.mjs +139 -0
- package/fesm2022/acorex-modules-business-core-business-type.entity-BP5XZthY.mjs.map +1 -0
- package/fesm2022/acorex-modules-business-core-industry.entity-Byz8pFA7.mjs +139 -0
- package/fesm2022/acorex-modules-business-core-industry.entity-Byz8pFA7.mjs.map +1 -0
- package/fesm2022/acorex-modules-business-core-manufacturer.entity-CKzGz3Ix.mjs +286 -0
- package/fesm2022/acorex-modules-business-core-manufacturer.entity-CKzGz3Ix.mjs.map +1 -0
- package/fesm2022/acorex-modules-business-core.mjs +313 -993
- package/fesm2022/acorex-modules-business-core.mjs.map +1 -1
- package/fesm2022/acorex-modules-calendar-management.mjs +73 -57
- package/fesm2022/acorex-modules-calendar-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-common.mjs +240 -136
- package/fesm2022/acorex-modules-common.mjs.map +1 -1
- package/fesm2022/{acorex-modules-content-management-acorex-modules-content-management-DSdJ2hZ-.mjs → acorex-modules-content-management-acorex-modules-content-management-B5zqb3b_.mjs} +138 -58
- package/fesm2022/acorex-modules-content-management-acorex-modules-content-management-B5zqb3b_.mjs.map +1 -0
- package/fesm2022/{acorex-modules-content-management-permission-definition.provider-DRVW7Xxa.mjs → acorex-modules-content-management-permission-definition.provider-DxI6NmP4.mjs} +2 -2
- package/fesm2022/acorex-modules-content-management-permission-definition.provider-DxI6NmP4.mjs.map +1 -0
- package/fesm2022/{acorex-modules-content-management-template-content-editor-widget-edit.component-DwUqz7ZX.mjs → acorex-modules-content-management-template-content-editor-widget-edit.component-ChmkpMy9.mjs} +2 -2
- package/fesm2022/{acorex-modules-content-management-template-content-editor-widget-edit.component-DwUqz7ZX.mjs.map → acorex-modules-content-management-template-content-editor-widget-edit.component-ChmkpMy9.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-content-management-template-content-editor-widget-view.component-CnUc_fhC.mjs → acorex-modules-content-management-template-content-editor-widget-view.component-LyoQmopL.mjs} +2 -2
- package/fesm2022/{acorex-modules-content-management-template-content-editor-widget-view.component-CnUc_fhC.mjs.map → acorex-modules-content-management-template-content-editor-widget-view.component-LyoQmopL.mjs.map} +1 -1
- package/fesm2022/acorex-modules-content-management.mjs +1 -1
- package/fesm2022/{acorex-modules-conversation-acorex-modules-conversation-DtFH9LbP.mjs → acorex-modules-conversation-acorex-modules-conversation-lPw23AJc.mjs} +191 -192
- package/fesm2022/acorex-modules-conversation-acorex-modules-conversation-lPw23AJc.mjs.map +1 -0
- package/fesm2022/{acorex-modules-conversation-assist-delegated-agent-detail-popup.component-Cpc1seYt.mjs → acorex-modules-conversation-assist-delegated-agent-detail-popup.component-D0SGSQC8.mjs} +2 -2
- package/fesm2022/{acorex-modules-conversation-assist-delegated-agent-detail-popup.component-Cpc1seYt.mjs.map → acorex-modules-conversation-assist-delegated-agent-detail-popup.component-D0SGSQC8.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-conversation-comments-page.component-B1CmPB0U.mjs → acorex-modules-conversation-comments-page.component-Bqeplzuy.mjs} +2 -2
- package/fesm2022/{acorex-modules-conversation-comments-page.component-B1CmPB0U.mjs.map → acorex-modules-conversation-comments-page.component-Bqeplzuy.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-conversation-send-assist-chat-message.command-BFFF5GTX.mjs → acorex-modules-conversation-send-assist-chat-message.command-CFwkUHCc.mjs} +2 -2
- package/fesm2022/{acorex-modules-conversation-send-assist-chat-message.command-BFFF5GTX.mjs.map → acorex-modules-conversation-send-assist-chat-message.command-CFwkUHCc.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-conversation-start-assist-chat.command-C-KVIK-L.mjs → acorex-modules-conversation-start-assist-chat.command-aEOnD6ax.mjs} +2 -2
- package/fesm2022/{acorex-modules-conversation-start-assist-chat.command-C-KVIK-L.mjs.map → acorex-modules-conversation-start-assist-chat.command-aEOnD6ax.mjs.map} +1 -1
- package/fesm2022/acorex-modules-conversation.mjs +1 -1
- package/fesm2022/{acorex-modules-customer-management-index-Df-6hCzG.mjs → acorex-modules-customer-management-activity.entity-BENCtWk0.mjs} +4 -2
- package/fesm2022/acorex-modules-customer-management-activity.entity-BENCtWk0.mjs.map +1 -0
- package/fesm2022/{acorex-modules-customer-management-index-CQLsaDJ-.mjs → acorex-modules-customer-management-customer.entity-Doc1f5gH.mjs} +7 -3
- package/fesm2022/acorex-modules-customer-management-customer.entity-Doc1f5gH.mjs.map +1 -0
- package/fesm2022/{acorex-modules-customer-management-index-CQWjFZ-D.mjs → acorex-modules-customer-management-deal-contact-role.entity-BmDALoWz.mjs} +7 -4
- package/fesm2022/acorex-modules-customer-management-deal-contact-role.entity-BmDALoWz.mjs.map +1 -0
- package/fesm2022/{acorex-modules-customer-management-index-7teVSkdT.mjs → acorex-modules-customer-management-lead.entity-CH7iga2T.mjs} +5 -2
- package/fesm2022/acorex-modules-customer-management-lead.entity-CH7iga2T.mjs.map +1 -0
- package/fesm2022/{acorex-modules-customer-management-index-B0wUbd2e.mjs → acorex-modules-customer-management-opportunity-stage.entity-gXGyRjOR.mjs} +4 -2
- package/fesm2022/acorex-modules-customer-management-opportunity-stage.entity-gXGyRjOR.mjs.map +1 -0
- package/fesm2022/{acorex-modules-customer-management-index-DwPwxZI6.mjs → acorex-modules-customer-management-opportunity.entity-BX1vocD3.mjs} +7 -3
- package/fesm2022/acorex-modules-customer-management-opportunity.entity-BX1vocD3.mjs.map +1 -0
- package/fesm2022/{acorex-modules-customer-management-index-DHaf2JAF.mjs → acorex-modules-customer-management-sales-pipeline.entity-TN7eqaA1.mjs} +4 -2
- package/fesm2022/acorex-modules-customer-management-sales-pipeline.entity-TN7eqaA1.mjs.map +1 -0
- package/fesm2022/acorex-modules-customer-management.mjs +28 -42
- package/fesm2022/acorex-modules-customer-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-dashboard-management-acorex-modules-dashboard-management-d_3MEOVx.mjs → acorex-modules-dashboard-management-acorex-modules-dashboard-management-D2TrYnCW.mjs} +45 -49
- package/fesm2022/acorex-modules-dashboard-management-acorex-modules-dashboard-management-D2TrYnCW.mjs.map +1 -0
- package/fesm2022/{acorex-modules-dashboard-management-index-0npgb7TY.mjs → acorex-modules-dashboard-management-index-DAQNEq43.mjs} +2 -2
- package/fesm2022/acorex-modules-dashboard-management-index-DAQNEq43.mjs.map +1 -0
- package/fesm2022/acorex-modules-dashboard-management.mjs +1 -1
- package/fesm2022/acorex-modules-data-management.mjs +899 -900
- package/fesm2022/acorex-modules-data-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-document-management-document-shortcut.entity-D3BI4azq.mjs +30 -0
- package/fesm2022/acorex-modules-document-management-document-shortcut.entity-D3BI4azq.mjs.map +1 -0
- package/fesm2022/acorex-modules-document-management-drive-choose.component-DyJoXajP.mjs.map +1 -1
- package/fesm2022/acorex-modules-document-management.mjs +75 -109
- package/fesm2022/acorex-modules-document-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-financial-core-data-source.provider-Do4rvgy4.mjs.map +1 -1
- package/fesm2022/acorex-modules-financial-core.mjs +625 -608
- package/fesm2022/acorex-modules-financial-core.mjs.map +1 -1
- package/fesm2022/acorex-modules-form-template-management-template-picker.component-CtTkFhXf.mjs.map +1 -1
- package/fesm2022/acorex-modules-form-template-management-template.entity-CNWAvD6Z.mjs +412 -0
- package/fesm2022/acorex-modules-form-template-management-template.entity-CNWAvD6Z.mjs.map +1 -0
- package/fesm2022/acorex-modules-form-template-management.mjs +30 -442
- package/fesm2022/acorex-modules-form-template-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-health-core-allergy-type.entity-Ba06KigW.mjs +68 -0
- package/fesm2022/acorex-modules-health-core-allergy-type.entity-Ba06KigW.mjs.map +1 -0
- package/fesm2022/acorex-modules-health-core-blood-type.entity-165JDo8r.mjs +121 -0
- package/fesm2022/acorex-modules-health-core-blood-type.entity-165JDo8r.mjs.map +1 -0
- package/fesm2022/acorex-modules-health-core-body-part.entity-CGk798g1.mjs +68 -0
- package/fesm2022/acorex-modules-health-core-body-part.entity-CGk798g1.mjs.map +1 -0
- package/fesm2022/acorex-modules-health-core-chronic-condition-type.entity-CHeAJ1Mm.mjs +68 -0
- package/fesm2022/acorex-modules-health-core-chronic-condition-type.entity-CHeAJ1Mm.mjs.map +1 -0
- package/fesm2022/acorex-modules-health-core-disability-status.entity-DN5reubi.mjs +121 -0
- package/fesm2022/acorex-modules-health-core-disability-status.entity-DN5reubi.mjs.map +1 -0
- package/fesm2022/acorex-modules-health-core-injury-type.entity-x9bs6Zly.mjs +68 -0
- package/fesm2022/acorex-modules-health-core-injury-type.entity-x9bs6Zly.mjs.map +1 -0
- package/fesm2022/acorex-modules-health-core-vaccination-type.entity-DlQ4MQVm.mjs +68 -0
- package/fesm2022/acorex-modules-health-core-vaccination-type.entity-DlQ4MQVm.mjs.map +1 -0
- package/fesm2022/acorex-modules-health-core.mjs +92 -2407
- package/fesm2022/acorex-modules-health-core.mjs.map +1 -1
- package/fesm2022/{acorex-modules-help-desk-acorex-modules-help-desk-AWSV_TiH.mjs → acorex-modules-help-desk-acorex-modules-help-desk-B8de7ifz.mjs} +204 -208
- package/fesm2022/acorex-modules-help-desk-acorex-modules-help-desk-B8de7ifz.mjs.map +1 -0
- package/fesm2022/{acorex-modules-help-desk-capture-screen.component-DjUG9lk7.mjs → acorex-modules-help-desk-capture-screen.component-O3qJdpnt.mjs} +2 -2
- package/fesm2022/{acorex-modules-help-desk-capture-screen.component-DjUG9lk7.mjs.map → acorex-modules-help-desk-capture-screen.component-O3qJdpnt.mjs.map} +1 -1
- package/fesm2022/acorex-modules-help-desk.mjs +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-acorex-modules-human-capital-management-BQ7fkZVA.mjs → acorex-modules-human-capital-management-acorex-modules-human-capital-management-CqROha3-.mjs} +201 -1699
- package/fesm2022/acorex-modules-human-capital-management-acorex-modules-human-capital-management-CqROha3-.mjs.map +1 -0
- package/fesm2022/{acorex-modules-human-capital-management-approve-leave-request.command-8MwfTrgO.mjs → acorex-modules-human-capital-management-approve-leave-request.command-B0pyS4rY.mjs} +3 -3
- package/fesm2022/acorex-modules-human-capital-management-approve-leave-request.command-B0pyS4rY.mjs.map +1 -0
- package/fesm2022/{acorex-modules-human-capital-management-assign-position-assignment.command-DJft6ua8.mjs → acorex-modules-human-capital-management-assign-position-assignment.command-Dc0eoIAI.mjs} +2 -2
- package/fesm2022/acorex-modules-human-capital-management-assign-position-assignment.command-Dc0eoIAI.mjs.map +1 -0
- package/fesm2022/{acorex-modules-human-capital-management-cancel-leave-request.command-r5zEA5Oa.mjs → acorex-modules-human-capital-management-cancel-leave-request.command-TjMXVKCB.mjs} +3 -3
- package/fesm2022/acorex-modules-human-capital-management-cancel-leave-request.command-TjMXVKCB.mjs.map +1 -0
- package/fesm2022/{acorex-modules-human-capital-management-edit-personal-info.command-CTQywAzz.mjs → acorex-modules-human-capital-management-edit-personal-info.command-uCNZW1KF.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-edit-personal-info.command-CTQywAzz.mjs.map → acorex-modules-human-capital-management-edit-personal-info.command-uCNZW1KF.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-edit-signature.command-9XI2V0Yt.mjs → acorex-modules-human-capital-management-edit-signature.command-9psDoX-o.mjs} +2 -2
- package/fesm2022/acorex-modules-human-capital-management-edit-signature.command-9psDoX-o.mjs.map +1 -0
- package/fesm2022/acorex-modules-human-capital-management-employee.entity-BRkS6cY0.mjs +416 -0
- package/fesm2022/acorex-modules-human-capital-management-employee.entity-BRkS6cY0.mjs.map +1 -0
- package/fesm2022/acorex-modules-human-capital-management-employment-type.entity-BZ1vVzeJ.mjs +99 -0
- package/fesm2022/acorex-modules-human-capital-management-employment-type.entity-BZ1vVzeJ.mjs.map +1 -0
- package/fesm2022/acorex-modules-human-capital-management-leave-request.entity-C_hKrBJ1.mjs +292 -0
- package/fesm2022/acorex-modules-human-capital-management-leave-request.entity-C_hKrBJ1.mjs.map +1 -0
- package/fesm2022/acorex-modules-human-capital-management-leave-type.entity-1FFKAk-t.mjs +95 -0
- package/fesm2022/acorex-modules-human-capital-management-leave-type.entity-1FFKAk-t.mjs.map +1 -0
- package/fesm2022/acorex-modules-human-capital-management-lifecycle-event-type.entity-3zBc21d1.mjs +121 -0
- package/fesm2022/acorex-modules-human-capital-management-lifecycle-event-type.entity-3zBc21d1.mjs.map +1 -0
- package/fesm2022/acorex-modules-human-capital-management-lifecycle-event.entity-CeE-5Dko.mjs +226 -0
- package/fesm2022/acorex-modules-human-capital-management-lifecycle-event.entity-CeE-5Dko.mjs.map +1 -0
- package/fesm2022/acorex-modules-human-capital-management-position-assignment.entity-BABjM2Mr.mjs +267 -0
- package/fesm2022/acorex-modules-human-capital-management-position-assignment.entity-BABjM2Mr.mjs.map +1 -0
- package/fesm2022/{acorex-modules-human-capital-management-reject-leave-request.command-Ba2f-i0A.mjs → acorex-modules-human-capital-management-reject-leave-request.command-DHqsjUdQ.mjs} +3 -3
- package/fesm2022/acorex-modules-human-capital-management-reject-leave-request.command-DHqsjUdQ.mjs.map +1 -0
- package/fesm2022/{acorex-modules-human-capital-management-revoke-position-assignment.command-g9p7YKJ1.mjs → acorex-modules-human-capital-management-revoke-position-assignment.command-DQqsqBRM.mjs} +2 -2
- package/fesm2022/acorex-modules-human-capital-management-revoke-position-assignment.command-DQqsqBRM.mjs.map +1 -0
- package/fesm2022/{acorex-modules-human-capital-management-start-leave-request-flow.command-BPFrBjWG.mjs → acorex-modules-human-capital-management-start-leave-request-flow.command-nF6sDrFL.mjs} +3 -3
- package/fesm2022/acorex-modules-human-capital-management-start-leave-request-flow.command-nF6sDrFL.mjs.map +1 -0
- package/fesm2022/{acorex-modules-human-capital-management-start-lifecycle-event-flow.command-C62jEjUD.mjs → acorex-modules-human-capital-management-start-lifecycle-event-flow.command-Bya_9T7H.mjs} +7 -19
- package/fesm2022/acorex-modules-human-capital-management-start-lifecycle-event-flow.command-Bya_9T7H.mjs.map +1 -0
- package/fesm2022/acorex-modules-human-capital-management.mjs +1 -1
- package/fesm2022/acorex-modules-identifier-management.mjs +1 -11
- package/fesm2022/acorex-modules-identifier-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-learning-management-index-CnBTaY0y.mjs → acorex-modules-learning-management-attendance.entity-40THDVHu.mjs} +7 -4
- package/fesm2022/acorex-modules-learning-management-attendance.entity-40THDVHu.mjs.map +1 -0
- package/fesm2022/{acorex-modules-learning-management-index-Cb6YmwUo.mjs → acorex-modules-learning-management-certificate-definition.entity-DzRELZ1L.mjs} +7 -4
- package/fesm2022/acorex-modules-learning-management-certificate-definition.entity-DzRELZ1L.mjs.map +1 -0
- package/fesm2022/{acorex-modules-learning-management-index-pWAVoZBF.mjs → acorex-modules-learning-management-certificate-type.entity-Br35cJ-M.mjs} +7 -4
- package/fesm2022/acorex-modules-learning-management-certificate-type.entity-Br35cJ-M.mjs.map +1 -0
- package/fesm2022/{acorex-modules-learning-management-index-DdgLO2B8.mjs → acorex-modules-learning-management-certificate.entity-DA882F-J.mjs} +7 -4
- package/fesm2022/acorex-modules-learning-management-certificate.entity-DA882F-J.mjs.map +1 -0
- package/fesm2022/{acorex-modules-learning-management-index-DnUv_C6e.mjs → acorex-modules-learning-management-course-type.entity-DAc4cRbW.mjs} +7 -4
- package/fesm2022/acorex-modules-learning-management-course-type.entity-DAc4cRbW.mjs.map +1 -0
- package/fesm2022/{acorex-modules-learning-management-index-Da29yyOM.mjs → acorex-modules-learning-management-course.entity-HoC-FUPB.mjs} +7 -4
- package/fesm2022/acorex-modules-learning-management-course.entity-HoC-FUPB.mjs.map +1 -0
- package/fesm2022/{acorex-modules-learning-management-index-DPb7aOIM.mjs → acorex-modules-learning-management-enrollment.entity-D4j7oSWb.mjs} +8 -5
- package/fesm2022/acorex-modules-learning-management-enrollment.entity-D4j7oSWb.mjs.map +1 -0
- package/fesm2022/{acorex-modules-learning-management-index-Dxutf3MN.mjs → acorex-modules-learning-management-learning-path-course.entity-B0DurZqy.mjs} +7 -4
- package/fesm2022/acorex-modules-learning-management-learning-path-course.entity-B0DurZqy.mjs.map +1 -0
- package/fesm2022/{acorex-modules-learning-management-index-CnXPymvw.mjs → acorex-modules-learning-management-learning-path.entity-C-FcZefB.mjs} +7 -4
- package/fesm2022/acorex-modules-learning-management-learning-path.entity-C-FcZefB.mjs.map +1 -0
- package/fesm2022/{acorex-modules-learning-management-index-CtfhNokr.mjs → acorex-modules-learning-management-mandatory-training-rule.entity-CxsoSJh-.mjs} +7 -4
- package/fesm2022/acorex-modules-learning-management-mandatory-training-rule.entity-CxsoSJh-.mjs.map +1 -0
- package/fesm2022/{acorex-modules-learning-management-index-D4Yh8EmO.mjs → acorex-modules-learning-management-skill-level.entity-CnAgJyuR.mjs} +7 -4
- package/fesm2022/acorex-modules-learning-management-skill-level.entity-CnAgJyuR.mjs.map +1 -0
- package/fesm2022/{acorex-modules-learning-management-index-DJ4H2IOW.mjs → acorex-modules-learning-management-skill.entity-DmIjc2gw.mjs} +7 -4
- package/fesm2022/acorex-modules-learning-management-skill.entity-DmIjc2gw.mjs.map +1 -0
- package/fesm2022/{acorex-modules-learning-management-index-9Sessbgl.mjs → acorex-modules-learning-management-training-definition.entity-DPY0OQdW.mjs} +7 -4
- package/fesm2022/acorex-modules-learning-management-training-definition.entity-DPY0OQdW.mjs.map +1 -0
- package/fesm2022/{acorex-modules-learning-management-index-B2ZI7U9N.mjs → acorex-modules-learning-management-training-type.entity-Bt37GacX.mjs} +7 -4
- package/fesm2022/acorex-modules-learning-management-training-type.entity-Bt37GacX.mjs.map +1 -0
- package/fesm2022/{acorex-modules-learning-management-index-D3O6qDpQ.mjs → acorex-modules-learning-management-training.entity-BkxK-rqz.mjs} +8 -5
- package/fesm2022/acorex-modules-learning-management-training.entity-BkxK-rqz.mjs.map +1 -0
- package/fesm2022/acorex-modules-learning-management.mjs +168 -153
- package/fesm2022/acorex-modules-learning-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-locale-management.mjs +71 -62
- package/fesm2022/acorex-modules-locale-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-location-management.mjs +1211 -1210
- package/fesm2022/acorex-modules-location-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-maintenance-management-failure-register-status.provider-DM5m-VsU.mjs → acorex-modules-maintenance-management-failure-register-status.provider-B8-Snxbx.mjs} +2 -2
- package/fesm2022/acorex-modules-maintenance-management-failure-register-status.provider-B8-Snxbx.mjs.map +1 -0
- package/fesm2022/acorex-modules-maintenance-management-maintenance-template.entity-B9Jp4r3m.mjs +487 -0
- package/fesm2022/acorex-modules-maintenance-management-maintenance-template.entity-B9Jp4r3m.mjs.map +1 -0
- package/fesm2022/acorex-modules-maintenance-management-work-order-list-command-BMsD_d6k.mjs.map +1 -1
- package/fesm2022/acorex-modules-maintenance-management.mjs +631 -901
- package/fesm2022/acorex-modules-maintenance-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-measurement-core.mjs +923 -907
- package/fesm2022/acorex-modules-measurement-core.mjs.map +1 -1
- package/fesm2022/acorex-modules-meeting-management-meeting-schedule.entity-BJGUKFuu.mjs +107 -0
- package/fesm2022/acorex-modules-meeting-management-meeting-schedule.entity-BJGUKFuu.mjs.map +1 -0
- package/fesm2022/acorex-modules-meeting-management.mjs +170 -278
- package/fesm2022/acorex-modules-meeting-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-notification-management-acorex-modules-notification-management-W0YINm5V.mjs → acorex-modules-notification-management-acorex-modules-notification-management-ZgxwReDF.mjs} +574 -584
- package/fesm2022/acorex-modules-notification-management-acorex-modules-notification-management-ZgxwReDF.mjs.map +1 -0
- package/fesm2022/{acorex-modules-notification-management-notification-page.component-BAQGDRTj.mjs → acorex-modules-notification-management-notification-page.component-DlFbwB9o.mjs} +2 -2
- package/fesm2022/{acorex-modules-notification-management-notification-page.component-BAQGDRTj.mjs.map → acorex-modules-notification-management-notification-page.component-DlFbwB9o.mjs.map} +1 -1
- package/fesm2022/acorex-modules-notification-management.mjs +1 -1
- package/fesm2022/{acorex-modules-order-management-index-Du2PsO2f.mjs → acorex-modules-order-management-bulk-buy-order-item.entity-DsXE-kqT.mjs} +11 -5
- package/fesm2022/acorex-modules-order-management-bulk-buy-order-item.entity-DsXE-kqT.mjs.map +1 -0
- package/fesm2022/{acorex-modules-order-management-bulk-buy-order-status.provider-C6HBZfQ_.mjs → acorex-modules-order-management-bulk-buy-order-status.provider-CECieSZF.mjs} +2 -2
- package/fesm2022/acorex-modules-order-management-bulk-buy-order-status.provider-CECieSZF.mjs.map +1 -0
- package/fesm2022/{acorex-modules-order-management-index-DUMuaQGE.mjs → acorex-modules-order-management-bulk-buy-order.entity-B9f4Tppc.mjs} +8 -3
- package/fesm2022/acorex-modules-order-management-bulk-buy-order.entity-B9f4Tppc.mjs.map +1 -0
- package/fesm2022/{acorex-modules-order-management-entity.provider-BVlBsDWW.mjs → acorex-modules-order-management-entity.provider-ZaDnKtBk.mjs} +5 -5
- package/fesm2022/acorex-modules-order-management-entity.provider-ZaDnKtBk.mjs.map +1 -0
- package/fesm2022/{acorex-modules-order-management-index-QHrmfhTE.mjs → acorex-modules-order-management-member-order-line.entity-BX3rQTJ1.mjs} +6 -2
- package/fesm2022/acorex-modules-order-management-member-order-line.entity-BX3rQTJ1.mjs.map +1 -0
- package/fesm2022/{acorex-modules-order-management-member-order-status.provider-CKIrQc_7.mjs → acorex-modules-order-management-member-order-status.provider-Bkrzylqm.mjs} +2 -2
- package/fesm2022/acorex-modules-order-management-member-order-status.provider-Bkrzylqm.mjs.map +1 -0
- package/fesm2022/{acorex-modules-order-management-index-BeIiBPSs.mjs → acorex-modules-order-management-member-order.entity-BItj1CLq.mjs} +8 -3
- package/fesm2022/acorex-modules-order-management-member-order.entity-BItj1CLq.mjs.map +1 -0
- package/fesm2022/acorex-modules-order-management-menu.provider-DeMKkRZa.mjs.map +1 -1
- package/fesm2022/acorex-modules-order-management-permission-definition.provider-B8ext6Sn.mjs.map +1 -1
- package/fesm2022/acorex-modules-order-management-settings.provider-BFOghuIS.mjs.map +1 -1
- package/fesm2022/acorex-modules-order-management.mjs +54 -54
- package/fesm2022/acorex-modules-order-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-organization-management-JOB_DEFINITION_SKILLS_PAGE_COMPONENT_KEY-BYfbGGOE.mjs +8 -0
- package/fesm2022/acorex-modules-organization-management-JOB_DEFINITION_SKILLS_PAGE_COMPONENT_KEY-BYfbGGOE.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-acorex-modules-organization-management-Cl-ecmKK.mjs +917 -0
- package/fesm2022/acorex-modules-organization-management-acorex-modules-organization-management-Cl-ecmKK.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-add-business-unit-to-business-unit.command-23eGqIxP.mjs → acorex-modules-organization-management-add-business-unit-to-business-unit.command-BUOpdwIy.mjs} +2 -2
- package/fesm2022/acorex-modules-organization-management-add-business-unit-to-business-unit.command-BUOpdwIy.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-add-position-to-business-unit.command-B4C1jxs3.mjs → acorex-modules-organization-management-add-position-to-business-unit.command-CcoGv5J7.mjs} +2 -2
- package/fesm2022/acorex-modules-organization-management-add-position-to-business-unit.command-CcoGv5J7.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-add-team-to-business-unit.command-B5vh3rwS.mjs → acorex-modules-organization-management-add-team-to-business-unit.command-n9FYDyKE.mjs} +2 -2
- package/fesm2022/acorex-modules-organization-management-add-team-to-business-unit.command-n9FYDyKE.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-business-unit.entity-LYKMuTLO.mjs +404 -0
- package/fesm2022/acorex-modules-organization-management-business-unit.entity-LYKMuTLO.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-chart.entity-BxAJonRP.mjs +200 -0
- package/fesm2022/acorex-modules-organization-management-chart.entity-BxAJonRP.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-company.entity-Cexgxajh.mjs +136 -0
- package/fesm2022/acorex-modules-organization-management-company.entity-Cexgxajh.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-entity.provider-3IL0cFTC.mjs → acorex-modules-organization-management-entity.provider-Dqn382Z2.mjs} +15 -15
- package/fesm2022/acorex-modules-organization-management-entity.provider-Dqn382Z2.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-feature-definition.provider-DsSdRjcX.mjs → acorex-modules-organization-management-feature-definition.provider-C7VhASKJ.mjs} +2 -2
- package/fesm2022/acorex-modules-organization-management-feature-definition.provider-C7VhASKJ.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-job-definition-pages-component.provider-BRovo6NC.mjs → acorex-modules-organization-management-job-definition-pages-component.provider-Bacrw4_J.mjs} +4 -4
- package/fesm2022/acorex-modules-organization-management-job-definition-pages-component.provider-Bacrw4_J.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-job-definition-responsibilities-page.component-CNtaaDfp.mjs → acorex-modules-organization-management-job-definition-responsibilities-page.component-BJkc7c-G.mjs} +3 -3
- package/fesm2022/acorex-modules-organization-management-job-definition-responsibilities-page.component-BJkc7c-G.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-job-definition-skills-page.component-D1ymUBeQ.mjs → acorex-modules-organization-management-job-definition-skills-page.component-GuFiBC0r.mjs} +2 -2
- package/fesm2022/acorex-modules-organization-management-job-definition-skills-page.component-GuFiBC0r.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-job-definition.entity-DsdjfMCs.mjs +321 -0
- package/fesm2022/acorex-modules-organization-management-job-definition.entity-DsdjfMCs.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-job-level.datasource-_6F_fvTn.mjs → acorex-modules-organization-management-job-level.datasource-CCvVPEVM.mjs} +2 -2
- package/fesm2022/acorex-modules-organization-management-job-level.datasource-CCvVPEVM.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-job-level.entity-BrBHqHqn.mjs +271 -0
- package/fesm2022/acorex-modules-organization-management-job-level.entity-BrBHqHqn.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-menu.provider-Dt7bfM-4.mjs → acorex-modules-organization-management-menu.provider-BeCkTwia.mjs} +2 -2
- package/fesm2022/acorex-modules-organization-management-menu.provider-BeCkTwia.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-org-chart-default-node-contribution.provider-Cf789vAr.mjs → acorex-modules-organization-management-org-chart-default-node-contribution.provider-DDY2Cgu6.mjs} +2 -2
- package/fesm2022/acorex-modules-organization-management-org-chart-default-node-contribution.provider-DDY2Cgu6.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-org-chart-employee-flyout-contribution.provider-CL32hDBZ.mjs → acorex-modules-organization-management-org-chart-employee-flyout-contribution.provider-DbSxtEz6.mjs} +2 -2
- package/fesm2022/acorex-modules-organization-management-org-chart-employee-flyout-contribution.provider-DbSxtEz6.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-org-chart-position-employee-node-contribution.provider-CpNTM-Ts.mjs → acorex-modules-organization-management-org-chart-position-employee-node-contribution.provider-ByqjxY2S.mjs} +2 -2
- package/fesm2022/acorex-modules-organization-management-org-chart-position-employee-node-contribution.provider-ByqjxY2S.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-org-chart-ux-node-contribution.provider-D-qPXdfm.mjs → acorex-modules-organization-management-org-chart-ux-node-contribution.provider-DdyF5QS0.mjs} +2 -2
- package/fesm2022/acorex-modules-organization-management-org-chart-ux-node-contribution.provider-DdyF5QS0.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-org-chart.page-BglvBI8J.mjs → acorex-modules-organization-management-org-chart.page-DD1lvTXR.mjs} +2 -2
- package/fesm2022/acorex-modules-organization-management-org-chart.page-DD1lvTXR.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-permission-definition.provider-BOz0kQKZ.mjs → acorex-modules-organization-management-permission-definition.provider-CbXQwY_b.mjs} +2 -2
- package/fesm2022/acorex-modules-organization-management-permission-definition.provider-CbXQwY_b.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-position.entity-qwL31RSs.mjs +543 -0
- package/fesm2022/acorex-modules-organization-management-position.entity-qwL31RSs.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-remove-position-from-business-unit.command-CcfOkd7Z.mjs → acorex-modules-organization-management-remove-position-from-business-unit.command-B1mrTFbI.mjs} +2 -2
- package/fesm2022/acorex-modules-organization-management-remove-position-from-business-unit.command-B1mrTFbI.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-replace-position-assignee.command-nNGkuyKE.mjs → acorex-modules-organization-management-replace-position-assignee.command-B3OVj92j.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-replace-position-assignee.command-nNGkuyKE.mjs.map → acorex-modules-organization-management-replace-position-assignee.command-B3OVj92j.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix-widget-edit.component-CymCi80F.mjs → acorex-modules-organization-management-responsibilities-matrix-widget-edit.component-COCty9r1.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix-widget-edit.component-CymCi80F.mjs.map → acorex-modules-organization-management-responsibilities-matrix-widget-edit.component-COCty9r1.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix-widget-view.component-E46T_VO-.mjs → acorex-modules-organization-management-responsibilities-matrix-widget-view.component-BAC2jImJ.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix-widget-view.component-E46T_VO-.mjs.map → acorex-modules-organization-management-responsibilities-matrix-widget-view.component-BAC2jImJ.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix.component-Bw22pUUE.mjs → acorex-modules-organization-management-responsibilities-matrix.component-CQ1RKj2l.mjs} +2 -2
- package/fesm2022/acorex-modules-organization-management-responsibilities-matrix.component-CQ1RKj2l.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-responsibility-level.entity-DwpUOhLh.mjs +135 -0
- package/fesm2022/acorex-modules-organization-management-responsibility-level.entity-DwpUOhLh.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-responsibility.entity-3d2Im-NE.mjs +203 -0
- package/fesm2022/acorex-modules-organization-management-responsibility.entity-3d2Im-NE.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-settings.provider-BOMwSEpo.mjs → acorex-modules-organization-management-settings.provider-B4ijPkN_.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-settings.provider-BOMwSEpo.mjs.map → acorex-modules-organization-management-settings.provider-B4ijPkN_.mjs.map} +1 -1
- package/fesm2022/acorex-modules-organization-management-team-business-unit.entity-DdIc2pIC.mjs +300 -0
- package/fesm2022/acorex-modules-organization-management-team-business-unit.entity-DdIc2pIC.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-team-member-role.entity-UqmN5-zL.mjs +150 -0
- package/fesm2022/acorex-modules-organization-management-team-member-role.entity-UqmN5-zL.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-team-member.entity-BlsBC7oU.mjs +251 -0
- package/fesm2022/acorex-modules-organization-management-team-member.entity-BlsBC7oU.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-team.entity-rRp5rEKa.mjs +307 -0
- package/fesm2022/acorex-modules-organization-management-team.entity-rRp5rEKa.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management.mjs +1 -1
- package/fesm2022/acorex-modules-person-core-education-level.entity-BudWedmZ.mjs +121 -0
- package/fesm2022/acorex-modules-person-core-education-level.entity-BudWedmZ.mjs.map +1 -0
- package/fesm2022/acorex-modules-person-core-gender.entity-BrnPFMd_.mjs +121 -0
- package/fesm2022/acorex-modules-person-core-gender.entity-BrnPFMd_.mjs.map +1 -0
- package/fesm2022/acorex-modules-person-core-marital-status.entity-JSXaOaKH.mjs +121 -0
- package/fesm2022/acorex-modules-person-core-marital-status.entity-JSXaOaKH.mjs.map +1 -0
- package/fesm2022/acorex-modules-person-core-person-identifier-type.entity-BwQ0fj61.mjs +191 -0
- package/fesm2022/acorex-modules-person-core-person-identifier-type.entity-BwQ0fj61.mjs.map +1 -0
- package/fesm2022/acorex-modules-person-core-person-title.entity-DPEl0HTw.mjs +121 -0
- package/fesm2022/acorex-modules-person-core-person-title.entity-DPEl0HTw.mjs.map +1 -0
- package/fesm2022/acorex-modules-person-core-religion.entity-DD1UG9on.mjs +121 -0
- package/fesm2022/acorex-modules-person-core-religion.entity-DD1UG9on.mjs.map +1 -0
- package/fesm2022/acorex-modules-person-core.mjs +286 -1139
- package/fesm2022/acorex-modules-person-core.mjs.map +1 -1
- package/fesm2022/acorex-modules-platform-dev-tools-menu.provider-BYy7NCvH.mjs.map +1 -1
- package/fesm2022/acorex-modules-platform-dev-tools.mjs +27 -27
- package/fesm2022/acorex-modules-platform-dev-tools.mjs.map +1 -1
- package/fesm2022/{acorex-modules-platform-management-acorex-modules-platform-management-CdMzH5Qu.mjs → acorex-modules-platform-management-acorex-modules-platform-management-ilmoyxAw.mjs} +46 -47
- package/fesm2022/acorex-modules-platform-management-acorex-modules-platform-management-ilmoyxAw.mjs.map +1 -0
- package/fesm2022/{acorex-modules-platform-management-menu-list.component-B8ZKMl1A.mjs → acorex-modules-platform-management-menu-list.component-MJCUVTho.mjs} +2 -2
- package/fesm2022/{acorex-modules-platform-management-menu-list.component-B8ZKMl1A.mjs.map → acorex-modules-platform-management-menu-list.component-MJCUVTho.mjs.map} +1 -1
- package/fesm2022/acorex-modules-platform-management.mjs +1 -1
- package/fesm2022/acorex-modules-procurement-management.mjs +16 -15
- package/fesm2022/acorex-modules-procurement-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-product-catalog-brand.entity-DLK1M-a5.mjs +261 -0
- package/fesm2022/acorex-modules-product-catalog-brand.entity-DLK1M-a5.mjs.map +1 -0
- package/fesm2022/acorex-modules-product-catalog-product-sku.entity-Dd43Ph0b.mjs +596 -0
- package/fesm2022/acorex-modules-product-catalog-product-sku.entity-Dd43Ph0b.mjs.map +1 -0
- package/fesm2022/acorex-modules-product-catalog-product.entity-CcLvq1uX.mjs +668 -0
- package/fesm2022/acorex-modules-product-catalog-product.entity-CcLvq1uX.mjs.map +1 -0
- package/fesm2022/acorex-modules-product-catalog.mjs +33 -1545
- package/fesm2022/acorex-modules-product-catalog.mjs.map +1 -1
- package/fesm2022/acorex-modules-project-management.mjs +230 -234
- package/fesm2022/acorex-modules-project-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-report-management-report-runner-root-page.component-DaPEmTm9.mjs → acorex-modules-report-management-report-runner-root-page.component-Dum62tB8.mjs} +3 -2
- package/fesm2022/acorex-modules-report-management-report-runner-root-page.component-Dum62tB8.mjs.map +1 -0
- package/fesm2022/acorex-modules-report-management-settings.provider-CA7o3xKu.mjs.map +1 -1
- package/fesm2022/acorex-modules-report-management.mjs +3 -4
- package/fesm2022/acorex-modules-report-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-reservation-management-index-DySHYsCz.mjs → acorex-modules-reservation-management-reservation-class-status.entity-CsOec92Y.mjs} +6 -2
- package/fesm2022/acorex-modules-reservation-management-reservation-class-status.entity-CsOec92Y.mjs.map +1 -0
- package/fesm2022/{acorex-modules-reservation-management-index-DNLOtNNW.mjs → acorex-modules-reservation-management-reservation-resource-type.entity-DiEkzSO2.mjs} +6 -2
- package/fesm2022/acorex-modules-reservation-management-reservation-resource-type.entity-DiEkzSO2.mjs.map +1 -0
- package/fesm2022/{acorex-modules-reservation-management-index-DSDnPzHh.mjs → acorex-modules-reservation-management-reservation-status-transition.entity-CSj9-uAb.mjs} +5 -2
- package/fesm2022/acorex-modules-reservation-management-reservation-status-transition.entity-CSj9-uAb.mjs.map +1 -0
- package/fesm2022/acorex-modules-reservation-management.mjs +52 -47
- package/fesm2022/acorex-modules-reservation-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-risk-management.mjs +115 -122
- package/fesm2022/acorex-modules-risk-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-security-management-profile.entity-BSDeLsJ1.mjs +168 -0
- package/fesm2022/acorex-modules-security-management-profile.entity-BSDeLsJ1.mjs.map +1 -0
- package/fesm2022/acorex-modules-security-management-terminate-session.command-CRWFd-YW.mjs.map +1 -1
- package/fesm2022/acorex-modules-security-management.mjs +322 -455
- package/fesm2022/acorex-modules-security-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-settings-management-acorex-modules-settings-management-e5asXiK4.mjs +798 -0
- package/fesm2022/acorex-modules-settings-management-acorex-modules-settings-management-e5asXiK4.mjs.map +1 -0
- package/fesm2022/{acorex-modules-settings-management-permission-definition.provider-CfCLhvZi.mjs → acorex-modules-settings-management-permission-definition.provider-D5DqCfiz.mjs} +2 -2
- package/fesm2022/acorex-modules-settings-management-permission-definition.provider-D5DqCfiz.mjs.map +1 -0
- package/fesm2022/{acorex-modules-settings-management-setting-page.component-B7wP0i5k.mjs → acorex-modules-settings-management-setting-page.component-TxoOyBRc.mjs} +6 -9
- package/fesm2022/acorex-modules-settings-management-setting-page.component-TxoOyBRc.mjs.map +1 -0
- package/fesm2022/{acorex-modules-settings-management-setting-view.component-CG-GW2yS.mjs → acorex-modules-settings-management-setting-view.component-CuDjGo2x.mjs} +2 -2
- package/fesm2022/{acorex-modules-settings-management-setting-view.component-CG-GW2yS.mjs.map → acorex-modules-settings-management-setting-view.component-CuDjGo2x.mjs.map} +1 -1
- package/fesm2022/acorex-modules-settings-management.mjs +1 -813
- package/fesm2022/acorex-modules-settings-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-subscription-management.mjs +52 -47
- package/fesm2022/acorex-modules-subscription-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-supplier-management.mjs +36 -34
- package/fesm2022/acorex-modules-supplier-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-system-insight.mjs +61 -74
- package/fesm2022/acorex-modules-system-insight.mjs.map +1 -1
- package/fesm2022/{acorex-modules-task-management-task-board.page-DhPzh72z.mjs → acorex-modules-task-management-task-board.page-t7bncwGo.mjs} +4 -4
- package/fesm2022/acorex-modules-task-management-task-board.page-t7bncwGo.mjs.map +1 -0
- package/fesm2022/acorex-modules-task-management.mjs +4481 -4489
- package/fesm2022/acorex-modules-task-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-tenant-management.mjs +48 -42
- package/fesm2022/acorex-modules-tenant-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-workflow-management-WORKFLOW_DEFINITION_ACTIVITIES_PAGE_COMPONENT_KEY-D6q__Ewd.mjs +5 -0
- package/fesm2022/acorex-modules-workflow-management-WORKFLOW_DEFINITION_ACTIVITIES_PAGE_COMPONENT_KEY-D6q__Ewd.mjs.map +1 -0
- package/fesm2022/{acorex-modules-workflow-management-acorex-modules-workflow-management-AgY9tA7s.mjs → acorex-modules-workflow-management-acorex-modules-workflow-management-LJ8Bb-CT.mjs} +142 -1452
- package/fesm2022/acorex-modules-workflow-management-acorex-modules-workflow-management-LJ8Bb-CT.mjs.map +1 -0
- package/fesm2022/acorex-modules-workflow-management-activity-definition.entity-Bhx1tC1u.mjs +255 -0
- package/fesm2022/acorex-modules-workflow-management-activity-definition.entity-Bhx1tC1u.mjs.map +1 -0
- package/fesm2022/acorex-modules-workflow-management-automation.entity-C_WRtcFX.mjs +279 -0
- package/fesm2022/acorex-modules-workflow-management-automation.entity-C_WRtcFX.mjs.map +1 -0
- package/fesm2022/{acorex-modules-workflow-management-index-DmnrXTPk.mjs → acorex-modules-workflow-management-index--D61tV-f.mjs} +4 -3
- package/fesm2022/acorex-modules-workflow-management-index--D61tV-f.mjs.map +1 -0
- package/fesm2022/{acorex-modules-workflow-management-index-CvPrfCTv.mjs → acorex-modules-workflow-management-index-8gv17yqF.mjs} +3 -3
- package/fesm2022/{acorex-modules-workflow-management-index-CvPrfCTv.mjs.map → acorex-modules-workflow-management-index-8gv17yqF.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-workflow-management-index-78oCkrbR.mjs → acorex-modules-workflow-management-index-DXIQw3Ao.mjs} +5 -3
- package/fesm2022/acorex-modules-workflow-management-index-DXIQw3Ao.mjs.map +1 -0
- package/fesm2022/acorex-modules-workflow-management-index-OK7e-UOe.mjs +264 -0
- package/fesm2022/acorex-modules-workflow-management-index-OK7e-UOe.mjs.map +1 -0
- package/fesm2022/{acorex-modules-workflow-management-save-workflow-definition-activities.command-aLlfQxaT.mjs → acorex-modules-workflow-management-save-workflow-definition-activities.command-huamhFhc.mjs} +3 -3
- package/fesm2022/acorex-modules-workflow-management-save-workflow-definition-activities.command-huamhFhc.mjs.map +1 -0
- package/fesm2022/{acorex-modules-workflow-management-workflow-configurator-widget-column.component-Ph_BjL_5.mjs → acorex-modules-workflow-management-workflow-configurator-widget-column.component-B0f5IsoE.mjs} +2 -2
- package/fesm2022/acorex-modules-workflow-management-workflow-configurator-widget-column.component-B0f5IsoE.mjs.map +1 -0
- package/fesm2022/{acorex-modules-workflow-management-workflow-configurator-widget-edit.component-CfKTRKNQ.mjs → acorex-modules-workflow-management-workflow-configurator-widget-edit.component-DQ703kRI.mjs} +3 -5
- package/fesm2022/acorex-modules-workflow-management-workflow-configurator-widget-edit.component-DQ703kRI.mjs.map +1 -0
- package/fesm2022/acorex-modules-workflow-management-workflow-definition.entity-DFN7awRu.mjs +313 -0
- package/fesm2022/acorex-modules-workflow-management-workflow-definition.entity-DFN7awRu.mjs.map +1 -0
- package/fesm2022/acorex-modules-workflow-management-workflow-instance.entity-DcqLomn4.mjs +256 -0
- package/fesm2022/acorex-modules-workflow-management-workflow-instance.entity-DcqLomn4.mjs.map +1 -0
- package/fesm2022/{acorex-modules-workflow-management-workflow-run-history-popup.component-D1A_EHNk.mjs → acorex-modules-workflow-management-workflow-run-history-popup.component-FLqOdI2t.mjs} +7 -6
- package/fesm2022/acorex-modules-workflow-management-workflow-run-history-popup.component-FLqOdI2t.mjs.map +1 -0
- package/fesm2022/{acorex-modules-workflow-management-workflow-task-popover.component-CHvHPHt9.mjs → acorex-modules-workflow-management-workflow-task-popover.component-Cvbzknxk.mjs} +4 -4
- package/fesm2022/acorex-modules-workflow-management-workflow-task-popover.component-Cvbzknxk.mjs.map +1 -0
- package/fesm2022/acorex-modules-workflow-management.mjs +1 -1
- package/fesm2022/{acorex-modules-workplacesafety-management-hazard-ppe-rule-status.provider-CsJpSfdA.mjs → acorex-modules-workplacesafety-management-hazard-ppe-rule-status.provider-D1a0CBhs.mjs} +2 -2
- package/fesm2022/acorex-modules-workplacesafety-management-hazard-ppe-rule-status.provider-D1a0CBhs.mjs.map +1 -0
- package/fesm2022/{acorex-modules-workplacesafety-management-hazard-status.provider-CmtTvpk0.mjs → acorex-modules-workplacesafety-management-hazard-status.provider-v1cFaa3q.mjs} +2 -2
- package/fesm2022/acorex-modules-workplacesafety-management-hazard-status.provider-v1cFaa3q.mjs.map +1 -0
- package/fesm2022/{acorex-modules-workplacesafety-management-ppe-item-status.provider-Bx2yqUVH.mjs → acorex-modules-workplacesafety-management-ppe-item-status.provider-VH_Bp0l5.mjs} +2 -2
- package/fesm2022/acorex-modules-workplacesafety-management-ppe-item-status.provider-VH_Bp0l5.mjs.map +1 -0
- package/fesm2022/acorex-modules-workplacesafety-management.mjs +548 -1214
- package/fesm2022/acorex-modules-workplacesafety-management.mjs.map +1 -1
- package/package.json +2 -18
- package/types/acorex-modules-ai-management.d.ts +34 -35
- package/types/acorex-modules-application-management.d.ts +47 -23
- package/types/acorex-modules-assessment-management.d.ts +677 -683
- package/types/acorex-modules-asset-management.d.ts +79 -96
- package/types/acorex-modules-auth.d.ts +9 -2
- package/types/acorex-modules-business-core.d.ts +64 -72
- package/types/acorex-modules-calendar-management.d.ts +4 -4
- package/types/acorex-modules-common.d.ts +117 -11
- package/types/acorex-modules-content-management.d.ts +31 -24
- package/types/acorex-modules-conversation.d.ts +73 -74
- package/types/acorex-modules-customer-management.d.ts +55 -69
- package/types/acorex-modules-dashboard-management.d.ts +66 -64
- package/types/acorex-modules-data-management.d.ts +22 -100
- package/types/acorex-modules-document-management.d.ts +40 -47
- package/types/acorex-modules-financial-core.d.ts +69 -69
- package/types/acorex-modules-form-template-management.d.ts +2 -4
- package/types/acorex-modules-health-core.d.ts +29 -241
- package/types/acorex-modules-help-desk.d.ts +38 -44
- package/types/acorex-modules-human-capital-management.d.ts +54 -67
- package/types/acorex-modules-learning-management.d.ts +2 -2
- package/types/acorex-modules-locale-management.d.ts +4 -4
- package/types/acorex-modules-location-management.d.ts +67 -67
- package/types/acorex-modules-maintenance-management.d.ts +43 -45
- package/types/acorex-modules-measurement-core.d.ts +106 -106
- package/types/acorex-modules-meeting-management.d.ts +23 -31
- package/types/acorex-modules-notification-management.d.ts +20 -19
- package/types/acorex-modules-order-management.d.ts +39 -39
- package/types/acorex-modules-organization-management.d.ts +109 -137
- package/types/acorex-modules-person-core.d.ts +52 -73
- package/types/acorex-modules-platform-management.d.ts +3 -1
- package/types/acorex-modules-procurement-management.d.ts +3 -1
- package/types/acorex-modules-product-catalog.d.ts +6 -13
- package/types/acorex-modules-project-management.d.ts +15 -16
- package/types/acorex-modules-report-management.d.ts +4 -3
- package/types/acorex-modules-reservation-management.d.ts +3 -3
- package/types/acorex-modules-risk-management.d.ts +54 -57
- package/types/acorex-modules-security-management.d.ts +63 -65
- package/types/acorex-modules-settings-management.d.ts +1 -15
- package/types/acorex-modules-subscription-management.d.ts +3 -4
- package/types/acorex-modules-supplier-management.d.ts +4 -4
- package/types/acorex-modules-system-insight.d.ts +3 -4
- package/types/acorex-modules-task-management.d.ts +205 -206
- package/types/acorex-modules-tenant-management.d.ts +4 -5
- package/types/acorex-modules-workflow-management.d.ts +4 -23
- package/types/acorex-modules-workplacesafety-management.d.ts +16 -153
- package/fesm2022/acorex-modules-ai-management-index-1AKm3Wpv.mjs.map +0 -1
- package/fesm2022/acorex-modules-ai-management-index-D-oYCWiP.mjs.map +0 -1
- package/fesm2022/acorex-modules-ai-management-index-IOX4YfSO.mjs.map +0 -1
- package/fesm2022/acorex-modules-ai-management-index-KMGY_nWq.mjs.map +0 -1
- package/fesm2022/acorex-modules-ai-management-index-r6kkpdsP.mjs.map +0 -1
- package/fesm2022/acorex-modules-application-management-application-status.provider-BmTGAssq.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-acorex-modules-assessment-management-CLXKpUoU.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-assessment-case-status.provider-rAq2m3xt.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-assessment-session-answers-view.util-DECCIZSO.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-assessment-session-status.provider-B-0MdMq1.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-fill-assessment-session.command-pLGZAFqT.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-index-Cj5KtvVT.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-index-ClRMor3R.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-index-DDhc6vR7.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-index-VYBOM8GR.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-preview-question.command-Bgqajt80.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-preview-questionnaire.command-B84qnNRw.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-question-bank-interface-editor-widget-edit.component-CyZGi_Zx.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-questionnaire-viewer-popup.component-CRQjv1Vz.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-review-assessment-session.command-Dgaf88SW.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-view-session-answers.command-CocxFTxZ.mjs.map +0 -1
- package/fesm2022/acorex-modules-asset-management-asset-rental-history-status.provider-_iNFw6nf.mjs.map +0 -1
- package/fesm2022/acorex-modules-asset-management-index-BE9Pt9Yl.mjs.map +0 -1
- package/fesm2022/acorex-modules-asset-management-index-BGnVFHyV.mjs.map +0 -1
- package/fesm2022/acorex-modules-asset-management-index-BNW-nI4M.mjs.map +0 -1
- package/fesm2022/acorex-modules-asset-management-index-BQRNWXnd.mjs.map +0 -1
- package/fesm2022/acorex-modules-asset-management-index-BmydXxB7.mjs.map +0 -1
- package/fesm2022/acorex-modules-asset-management-index-Bza8Y2Qq.mjs.map +0 -1
- package/fesm2022/acorex-modules-asset-management-index-CBoHnVCB.mjs.map +0 -1
- package/fesm2022/acorex-modules-asset-management-index-DDyvfemO.mjs.map +0 -1
- package/fesm2022/acorex-modules-auth-acorex-modules-auth-DBZfh3pH.mjs.map +0 -1
- package/fesm2022/acorex-modules-auth-profile-page.component-B-qdKgOT.mjs.map +0 -1
- package/fesm2022/acorex-modules-calendar-management-index-DIxSknUT.mjs +0 -6
- package/fesm2022/acorex-modules-calendar-management-index-DIxSknUT.mjs.map +0 -1
- package/fesm2022/acorex-modules-calendar-management-index-pvTUhYWL.mjs +0 -6
- package/fesm2022/acorex-modules-calendar-management-index-pvTUhYWL.mjs.map +0 -1
- package/fesm2022/acorex-modules-calendar-management-index-xkdBRrFw.mjs +0 -6
- package/fesm2022/acorex-modules-calendar-management-index-xkdBRrFw.mjs.map +0 -1
- package/fesm2022/acorex-modules-contact-core-acorex-modules-contact-core-D9-WvwGJ.mjs +0 -425
- package/fesm2022/acorex-modules-contact-core-acorex-modules-contact-core-D9-WvwGJ.mjs.map +0 -1
- package/fesm2022/acorex-modules-contact-core-entity.provider-Cl4zx8WX.mjs +0 -35
- package/fesm2022/acorex-modules-contact-core-entity.provider-Cl4zx8WX.mjs.map +0 -1
- package/fesm2022/acorex-modules-contact-core-menu.provider-DfUbrqFh.mjs +0 -57
- package/fesm2022/acorex-modules-contact-core-menu.provider-DfUbrqFh.mjs.map +0 -1
- package/fesm2022/acorex-modules-contact-core-permission-definition.provider-Dni6YOWm.mjs +0 -24
- package/fesm2022/acorex-modules-contact-core-permission-definition.provider-Dni6YOWm.mjs.map +0 -1
- package/fesm2022/acorex-modules-contact-core.mjs +0 -2
- package/fesm2022/acorex-modules-contact-core.mjs.map +0 -1
- package/fesm2022/acorex-modules-content-management-acorex-modules-content-management-DSdJ2hZ-.mjs.map +0 -1
- package/fesm2022/acorex-modules-content-management-permission-definition.provider-DRVW7Xxa.mjs.map +0 -1
- package/fesm2022/acorex-modules-conversation-acorex-modules-conversation-DtFH9LbP.mjs.map +0 -1
- package/fesm2022/acorex-modules-customer-management-index-7teVSkdT.mjs.map +0 -1
- package/fesm2022/acorex-modules-customer-management-index-B0wUbd2e.mjs.map +0 -1
- package/fesm2022/acorex-modules-customer-management-index-CQLsaDJ-.mjs.map +0 -1
- package/fesm2022/acorex-modules-customer-management-index-CQWjFZ-D.mjs.map +0 -1
- package/fesm2022/acorex-modules-customer-management-index-DHaf2JAF.mjs.map +0 -1
- package/fesm2022/acorex-modules-customer-management-index-Df-6hCzG.mjs.map +0 -1
- package/fesm2022/acorex-modules-customer-management-index-DwPwxZI6.mjs.map +0 -1
- package/fesm2022/acorex-modules-dashboard-management-acorex-modules-dashboard-management-d_3MEOVx.mjs.map +0 -1
- package/fesm2022/acorex-modules-dashboard-management-index-0npgb7TY.mjs.map +0 -1
- package/fesm2022/acorex-modules-data-management-contracts.mjs +0 -351
- package/fesm2022/acorex-modules-data-management-contracts.mjs.map +0 -1
- package/fesm2022/acorex-modules-health-core-start-health-record-flow.command-BzGYbiw_.mjs +0 -257
- package/fesm2022/acorex-modules-health-core-start-health-record-flow.command-BzGYbiw_.mjs.map +0 -1
- package/fesm2022/acorex-modules-help-desk-acorex-modules-help-desk-AWSV_TiH.mjs.map +0 -1
- package/fesm2022/acorex-modules-human-capital-management-acorex-modules-human-capital-management-BQ7fkZVA.mjs.map +0 -1
- package/fesm2022/acorex-modules-human-capital-management-approve-leave-request.command-8MwfTrgO.mjs.map +0 -1
- package/fesm2022/acorex-modules-human-capital-management-assign-position-assignment.command-DJft6ua8.mjs.map +0 -1
- package/fesm2022/acorex-modules-human-capital-management-cancel-leave-request.command-r5zEA5Oa.mjs.map +0 -1
- package/fesm2022/acorex-modules-human-capital-management-edit-signature.command-9XI2V0Yt.mjs.map +0 -1
- package/fesm2022/acorex-modules-human-capital-management-reject-leave-request.command-Ba2f-i0A.mjs.map +0 -1
- package/fesm2022/acorex-modules-human-capital-management-revoke-position-assignment.command-g9p7YKJ1.mjs.map +0 -1
- package/fesm2022/acorex-modules-human-capital-management-start-leave-request-flow.command-BPFrBjWG.mjs.map +0 -1
- package/fesm2022/acorex-modules-human-capital-management-start-lifecycle-event-flow.command-C62jEjUD.mjs.map +0 -1
- package/fesm2022/acorex-modules-jira-management-index-BGnRJkkx.mjs +0 -179
- package/fesm2022/acorex-modules-jira-management-index-BGnRJkkx.mjs.map +0 -1
- package/fesm2022/acorex-modules-jira-management-index-BXgxorT1.mjs +0 -155
- package/fesm2022/acorex-modules-jira-management-index-BXgxorT1.mjs.map +0 -1
- package/fesm2022/acorex-modules-jira-management-index-Bw8ivjR_.mjs +0 -177
- package/fesm2022/acorex-modules-jira-management-index-Bw8ivjR_.mjs.map +0 -1
- package/fesm2022/acorex-modules-jira-management-index-CJNrjlaV.mjs +0 -143
- package/fesm2022/acorex-modules-jira-management-index-CJNrjlaV.mjs.map +0 -1
- package/fesm2022/acorex-modules-jira-management-index-CjgROlD2.mjs +0 -399
- package/fesm2022/acorex-modules-jira-management-index-CjgROlD2.mjs.map +0 -1
- package/fesm2022/acorex-modules-jira-management-index-D0vXHcrg.mjs +0 -372
- package/fesm2022/acorex-modules-jira-management-index-D0vXHcrg.mjs.map +0 -1
- package/fesm2022/acorex-modules-jira-management-index-D2wdvXoF.mjs +0 -123
- package/fesm2022/acorex-modules-jira-management-index-D2wdvXoF.mjs.map +0 -1
- package/fesm2022/acorex-modules-jira-management-index-DPRA7BCN.mjs +0 -281
- package/fesm2022/acorex-modules-jira-management-index-DPRA7BCN.mjs.map +0 -1
- package/fesm2022/acorex-modules-jira-management-index-DpCX35Ob.mjs +0 -222
- package/fesm2022/acorex-modules-jira-management-index-DpCX35Ob.mjs.map +0 -1
- package/fesm2022/acorex-modules-jira-management.mjs +0 -479
- package/fesm2022/acorex-modules-jira-management.mjs.map +0 -1
- package/fesm2022/acorex-modules-learning-management-index-9Sessbgl.mjs.map +0 -1
- package/fesm2022/acorex-modules-learning-management-index-B2ZI7U9N.mjs.map +0 -1
- package/fesm2022/acorex-modules-learning-management-index-Cb6YmwUo.mjs.map +0 -1
- package/fesm2022/acorex-modules-learning-management-index-CnBTaY0y.mjs.map +0 -1
- package/fesm2022/acorex-modules-learning-management-index-CnXPymvw.mjs.map +0 -1
- package/fesm2022/acorex-modules-learning-management-index-CtfhNokr.mjs.map +0 -1
- package/fesm2022/acorex-modules-learning-management-index-D3O6qDpQ.mjs.map +0 -1
- package/fesm2022/acorex-modules-learning-management-index-D4Yh8EmO.mjs.map +0 -1
- package/fesm2022/acorex-modules-learning-management-index-DJ4H2IOW.mjs.map +0 -1
- package/fesm2022/acorex-modules-learning-management-index-DPb7aOIM.mjs.map +0 -1
- package/fesm2022/acorex-modules-learning-management-index-Da29yyOM.mjs.map +0 -1
- package/fesm2022/acorex-modules-learning-management-index-DdgLO2B8.mjs.map +0 -1
- package/fesm2022/acorex-modules-learning-management-index-DnUv_C6e.mjs.map +0 -1
- package/fesm2022/acorex-modules-learning-management-index-Dxutf3MN.mjs.map +0 -1
- package/fesm2022/acorex-modules-learning-management-index-pWAVoZBF.mjs.map +0 -1
- package/fesm2022/acorex-modules-locale-management-contracts.mjs +0 -77
- package/fesm2022/acorex-modules-locale-management-contracts.mjs.map +0 -1
- package/fesm2022/acorex-modules-maintenance-management-failure-register-status.provider-DM5m-VsU.mjs.map +0 -1
- package/fesm2022/acorex-modules-maintenance-management-work-order-status.provider-BvnpsgY3.mjs +0 -181
- package/fesm2022/acorex-modules-maintenance-management-work-order-status.provider-BvnpsgY3.mjs.map +0 -1
- package/fesm2022/acorex-modules-notification-management-acorex-modules-notification-management-W0YINm5V.mjs.map +0 -1
- package/fesm2022/acorex-modules-order-management-bulk-buy-order-status.provider-C6HBZfQ_.mjs.map +0 -1
- package/fesm2022/acorex-modules-order-management-entity.provider-BVlBsDWW.mjs.map +0 -1
- package/fesm2022/acorex-modules-order-management-index-BeIiBPSs.mjs.map +0 -1
- package/fesm2022/acorex-modules-order-management-index-DUMuaQGE.mjs.map +0 -1
- package/fesm2022/acorex-modules-order-management-index-Du2PsO2f.mjs.map +0 -1
- package/fesm2022/acorex-modules-order-management-index-QHrmfhTE.mjs.map +0 -1
- package/fesm2022/acorex-modules-order-management-member-order-status.provider-CKIrQc_7.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-acorex-modules-organization-management-BALTqTo-.mjs +0 -4119
- package/fesm2022/acorex-modules-organization-management-acorex-modules-organization-management-BALTqTo-.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-add-business-unit-to-business-unit.command-23eGqIxP.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-add-position-to-business-unit.command-B4C1jxs3.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-add-team-to-business-unit.command-B5vh3rwS.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-entity.provider-3IL0cFTC.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-feature-definition.provider-DsSdRjcX.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-job-definition-pages-component.provider-BRovo6NC.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-job-definition-responsibilities-page.component-CNtaaDfp.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-job-definition-skills-page.component-D1ymUBeQ.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-job-level.datasource-_6F_fvTn.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-menu.provider-Dt7bfM-4.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-org-chart-default-node-contribution.provider-Cf789vAr.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-org-chart-employee-flyout-contribution.provider-CL32hDBZ.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-org-chart-position-employee-node-contribution.provider-CpNTM-Ts.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-org-chart-ux-node-contribution.provider-D-qPXdfm.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-org-chart.page-BglvBI8J.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-permission-definition.provider-BOz0kQKZ.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-remove-position-from-business-unit.command-CcfOkd7Z.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-responsibilities-matrix.component-Bw22pUUE.mjs.map +0 -1
- package/fesm2022/acorex-modules-platform-management-acorex-modules-platform-management-CdMzH5Qu.mjs.map +0 -1
- package/fesm2022/acorex-modules-report-management-report-runner-root-page.component-DaPEmTm9.mjs.map +0 -1
- package/fesm2022/acorex-modules-reservation-management-index-DNLOtNNW.mjs.map +0 -1
- package/fesm2022/acorex-modules-reservation-management-index-DSDnPzHh.mjs.map +0 -1
- package/fesm2022/acorex-modules-reservation-management-index-DySHYsCz.mjs.map +0 -1
- package/fesm2022/acorex-modules-settings-management-permission-definition.provider-CfCLhvZi.mjs.map +0 -1
- package/fesm2022/acorex-modules-settings-management-setting-page.component-B7wP0i5k.mjs.map +0 -1
- package/fesm2022/acorex-modules-task-management-task-board.page-DhPzh72z.mjs.map +0 -1
- package/fesm2022/acorex-modules-workflow-management-acorex-modules-workflow-management-AgY9tA7s.mjs.map +0 -1
- package/fesm2022/acorex-modules-workflow-management-execute-workflow-with-input.command-DUYGWSu8.mjs +0 -127
- package/fesm2022/acorex-modules-workflow-management-execute-workflow-with-input.command-DUYGWSu8.mjs.map +0 -1
- package/fesm2022/acorex-modules-workflow-management-execute-workflow.command-DSgQNTtL.mjs +0 -142
- package/fesm2022/acorex-modules-workflow-management-execute-workflow.command-DSgQNTtL.mjs.map +0 -1
- package/fesm2022/acorex-modules-workflow-management-index-78oCkrbR.mjs.map +0 -1
- package/fesm2022/acorex-modules-workflow-management-index-DmnrXTPk.mjs.map +0 -1
- package/fesm2022/acorex-modules-workflow-management-save-workflow-definition-activities.command-aLlfQxaT.mjs.map +0 -1
- package/fesm2022/acorex-modules-workflow-management-workflow-configurator-widget-column.component-Ph_BjL_5.mjs.map +0 -1
- package/fesm2022/acorex-modules-workflow-management-workflow-configurator-widget-edit.component-CfKTRKNQ.mjs.map +0 -1
- package/fesm2022/acorex-modules-workflow-management-workflow-run-history-popup.component-D1A_EHNk.mjs.map +0 -1
- package/fesm2022/acorex-modules-workflow-management-workflow-task-popover.component-CHvHPHt9.mjs.map +0 -1
- package/fesm2022/acorex-modules-workplacesafety-management-hazard-ppe-rule-status.provider-CsJpSfdA.mjs.map +0 -1
- package/fesm2022/acorex-modules-workplacesafety-management-hazard-risk-status.provider-CdzRLBqN.mjs +0 -42
- package/fesm2022/acorex-modules-workplacesafety-management-hazard-risk-status.provider-CdzRLBqN.mjs.map +0 -1
- package/fesm2022/acorex-modules-workplacesafety-management-hazard-status.provider-CmtTvpk0.mjs.map +0 -1
- package/fesm2022/acorex-modules-workplacesafety-management-ppe-item-status.provider-Bx2yqUVH.mjs.map +0 -1
- package/types/acorex-modules-contact-core.d.ts +0 -70
- package/types/acorex-modules-data-management-contracts.d.ts +0 -256
- package/types/acorex-modules-jira-management.d.ts +0 -354
- package/types/acorex-modules-locale-management-contracts.d.ts +0 -66
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acorex-modules-workflow-management-acorex-modules-workflow-management-LJ8Bb-CT.mjs","sources":["../../../../libs/modules/workflow-management/src/lib/const.ts","../../../../libs/modules/workflow-management/src/lib/contracts/menu.keys.ts","../../../../libs/modules/workflow-management/src/lib/contracts/permission.keys.ts","../../../../libs/modules/workflow-management/src/lib/contracts/index.ts","../../../../libs/modules/workflow-management/src/lib/entity.provider.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/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/sign-off.activity.ts","../../../../libs/modules/workflow-management/src/lib/features/engine/activities/rejection-reason.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-run-plugin/commands.keys.ts","../../../../libs/modules/workflow-management/src/lib/features/workflow-run-plugin/workflow-run.plugin.ts","../../../../libs/modules/workflow-management/src/lib/features/workflow-selector-plugin/workflow-selector.plugin.ts","../../../../libs/modules/workflow-management/src/lib/features/workflow-run-plugin/workflow-plugins.module.ts","../../../../libs/modules/workflow-management/src/lib/features/activity-command-configurator/activity-command-configurator-widget.config.ts","../../../../libs/modules/workflow-management/src/lib/features/workflow-configurator/workflow-configurator-widget.config.ts","../../../../libs/modules/workflow-management/src/lib/widget-definition.provider.ts","../../../../libs/modules/workflow-management/src/lib/features/automation-evaluator-scope.provider.ts","../../../../libs/modules/workflow-management/src/lib/features/engine/category.provider.ts","../../../../libs/modules/workflow-management/src/lib/features/engine/workflow-task-provider.discovery.ts","../../../../libs/modules/workflow-management/src/lib/features/engine/provider.task.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/task-provider/workflow-task-reassign-access.ts","../../../../libs/modules/workflow-management/src/lib/features/task-provider/workflow-task-continuation.ts","../../../../libs/modules/workflow-management/src/lib/features/task-provider/workflow-instance-bookmark.access.ts","../../../../libs/modules/workflow-management/src/lib/features/task-provider/workflow-instance-human-task.service.ts","../../../../libs/modules/workflow-management/src/lib/features/task-provider/workflow-task-continuation.service.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/permission-definition.provider.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/lib/features/task-provider/workflow-task-context.constants.ts","../../../../libs/modules/workflow-management/src/lib/features/task-provider/workflow-task-translation.utils.ts","../../../../libs/modules/workflow-management/src/lib/features/task-provider/generic-workflow-task.provider.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 /** Task-board suspend activity type ids (match activity definition keys). */\n activities: {\n humanTask: 'workflow-activity:human-task',\n cartable: 'workflow-activity:cartable',\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 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","export const AXMPermissionsKeys = {\n WorkflowManagement: {\n Management: 'WorkflowManagement:Permission:Management',\n },\n WorkflowInstance: {\n ReassignToSelf: 'WorkflowManagement:Permission:WorkflowInstance.ReassignToSelf',\n },\n} as const;\n","//#region ---- Contracts barrel ----\n\nexport * from './menu.keys';\nexport * from './permission.keys';\n\n//#endregion\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","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 './contracts/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","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","//#region ---- Imports ----\n\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPWidgetsList } from '@acorex/modules/common';\nimport { AXPExecuteCommandResult } from '@acorex/platform/core';\nimport { AXPLayoutBuilderService } from '@acorex/platform/layout/builder';\nimport { AXPCommand } from '@acorex/platform/runtime';\nimport { Injectable, inject } from '@angular/core';\nimport { isEmpty, isString, trim } from 'lodash-es';\n\n//#endregion\n\n//#region ---- Types ----\n\n/** Input for the sign-off activity (approval with digital signature). */\nexport interface SignOffActivityInput {\n /** Optional dialog message; translated when it is an i18n key. */\n message?: string;\n /** Optional entity record id for workflow context. */\n refId?: string;\n /** Optional entity type key (`Module.Entity`). */\n refType?: string;\n}\n\n/** Output when the user completes or cancels sign-off. */\nexport interface SignOffActivityOutput {\n signature: string;\n note?: string;\n signedAt: string;\n}\n\n//#endregion\n\n//#region ---- Sign-Off Activity ----\n\n/**\n * Sign-off activity (frontend).\n *\n * Collects a required digital signature and optional note from the current user.\n * Use after review/approval paths in workflows that require an auditable sign-off.\n *\n * Activity type: `workflow-activity:sign-off`\n * Outcomes: `Signed` | `Cancelled`\n */\n@Injectable()\nexport class SignOffActivity implements AXPCommand<SignOffActivityInput, SignOffActivityOutput> {\n //#region ---- Services & Dependencies ----\n\n private readonly layoutBuilder = inject(AXPLayoutBuilderService);\n private readonly translationService = inject(AXTranslationService);\n\n //#endregion\n\n //#region ---- Command Implementation ----\n\n async execute(input: SignOffActivityInput): Promise<AXPExecuteCommandResult<SignOffActivityOutput>> {\n try {\n const message = input.message\n ? await this.translationService.translateAsync(input.message)\n : await this.translationService.translateAsync(\n '@workflow-management:sign-off.activities.sign-off.default-message',\n );\n\n const dialogResult = await this.showSignOffDialog(message);\n\n if (dialogResult.cancelled) {\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 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: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to collect sign-off';\n\n return {\n success: false,\n message: {\n text: message,\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 ----\n\n private async showSignOffDialog(\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:sign-off.activities.sign-off.dialog-title')\n .setMessage(message)\n .setContext({ signature: '', note: '' })\n .content((flex) => {\n flex\n .setDirection('column')\n .formField('@workflow-management:sign-off.activities.sign-off.note-label', (field) => {\n field.path('note');\n field.largeTextBox({\n placeholder: '@workflow-management:sign-off.activities.sign-off.note-placeholder',\n maxLength: 1000,\n });\n })\n .formField('@workflow-management:sign-off.activities.sign-off.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:sign-off.activities.sign-off.signature-required',\n },\n },\n ],\n });\n });\n })\n .setActions((actions) => {\n actions\n .cancel('@general:actions.cancel.title')\n .submit('@workflow-management:sign-off.activities.sign-off.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 const signature = isString(formData.signature) ? trim(formData.signature) : '';\n if (isEmpty(signature)) {\n return { signature: '', note: undefined, cancelled: true };\n }\n return {\n signature,\n note: formData.note,\n cancelled: false,\n };\n });\n })\n .show();\n\n return result;\n }\n\n //#endregion\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPExecuteCommandResult } from '@acorex/platform/core';\nimport { AXPLayoutBuilderService } from '@acorex/platform/layout/builder';\nimport { AXPCommand } from '@acorex/platform/runtime';\nimport { Injectable, inject } from '@angular/core';\nimport { defaultTo, isEmpty, isString, trim } from 'lodash-es';\n\n//#endregion\n\n//#region ---- Types ----\n\n/** Input for the rejection-reason activity. */\nexport interface RejectionReasonActivityInput {\n /** Optional dialog message; translated when it is an i18n key. */\n message?: string;\n /** When true, reason must be non-empty before submit (default: true). */\n requireReason?: boolean;\n}\n\n/** Output when the user submits or cancels the rejection dialog. */\nexport interface RejectionReasonActivityOutput {\n reason: string;\n note?: string;\n rejectedAt: string;\n}\n\n//#endregion\n\n//#region ---- Rejection Reason Activity ----\n\n/**\n * Rejection-reason activity (frontend).\n *\n * Shows a dialog to capture rejection reason and optional note.\n * Use on workflow reject branches instead of ad-hoc show-layout-popup layouts.\n *\n * Activity type: `workflow-activity:rejection-reason`\n * Outcomes: `Submitted` | `Cancelled`\n */\n@Injectable()\nexport class RejectionReasonActivity implements AXPCommand<\n RejectionReasonActivityInput,\n RejectionReasonActivityOutput\n> {\n //#region ---- Services & Dependencies ----\n\n private readonly layoutBuilder = inject(AXPLayoutBuilderService);\n private readonly translationService = inject(AXTranslationService);\n\n //#endregion\n\n //#region ---- Command Implementation ----\n\n async execute(\n input: RejectionReasonActivityInput,\n ): Promise<AXPExecuteCommandResult<RejectionReasonActivityOutput>> {\n try {\n const requireReason = input.requireReason !== false;\n const message = input.message\n ? await this.translationService.translateAsync(input.message)\n : await this.translationService.translateAsync(\n '@workflow-management:sign-off.activities.rejection-reason.message',\n );\n\n const dialogResult = await this.showRejectionDialog(message, requireReason);\n\n if (dialogResult.cancelled) {\n return {\n success: true,\n data: {\n reason: '',\n rejectedAt: new Date().toISOString(),\n },\n metadata: {\n outcome: 'Cancelled',\n },\n };\n }\n\n return {\n success: true,\n data: {\n reason: dialogResult.reason,\n note: dialogResult.note,\n rejectedAt: new Date().toISOString(),\n },\n metadata: {\n outcome: 'Submitted',\n },\n };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to capture rejection reason';\n\n return {\n success: false,\n message: {\n text: message,\n },\n data: {\n reason: '',\n rejectedAt: new Date().toISOString(),\n },\n metadata: {\n outcome: 'Cancelled',\n },\n };\n }\n }\n\n //#endregion\n\n //#region ---- Dialog ----\n\n private async showRejectionDialog(\n message: string,\n requireReason: boolean,\n ): Promise<{ reason: string; note?: string; cancelled: boolean }> {\n const reasonValidations = requireReason\n ? [\n {\n rule: 'required' as const,\n options: {\n message: '@workflow-management:sign-off.activities.rejection-reason.reason-required',\n },\n },\n ]\n : [];\n\n const result = await this.layoutBuilder\n .create()\n .dialog<{ reason: string; note?: string; cancelled: boolean }>((dialog) => {\n dialog\n .setTitle('@general:actions.reject.title')\n .setMessage(message)\n .setContext({ reason: '', note: '' })\n .content((flex) => {\n flex\n .setDirection('column')\n .formField('@workflow-management:sign-off.activities.rejection-reason.reason-label', (field) => {\n field.path('reason');\n field.largeTextBox({\n placeholder:\n '@workflow-management:sign-off.activities.rejection-reason.reason-placeholder',\n maxLength: 500,\n validations: reasonValidations,\n });\n })\n .formField('@workflow-management:sign-off.activities.rejection-reason.note-label', (field) => {\n field.path('note');\n field.largeTextBox({\n placeholder: '@workflow-management:sign-off.activities.rejection-reason.note-placeholder',\n maxLength: 1000,\n });\n });\n })\n .setActions((actions) => {\n actions\n .cancel('@general:actions.cancel.title')\n .submit('@general:actions.reject.title');\n })\n .onAction(async (dialogRef) => {\n const context = dialogRef.context();\n const action = dialogRef.action();\n if (!context || action === 'cancel') {\n return { reason: '', note: undefined, cancelled: true };\n }\n const formData = context as { reason?: string; note?: string };\n const reason = isString(formData.reason) ? trim(formData.reason) : '';\n if (requireReason && isEmpty(reason)) {\n return { reason: '', note: undefined, cancelled: true };\n }\n return {\n reason: defaultTo(reason, ''),\n note: formData.note,\n cancelled: false,\n };\n });\n })\n .show();\n\n return result;\n }\n\n //#endregion\n}\n\n//#endregion\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 type { AXPActivityDefinition } from '@acorex/platform/contracts';\nimport { AXPActivityProvider } 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","//#region ---- Workflow run command keys ----\n\n/** Commands for workflow-backed domain list rows (continue, cancel, take over). */\nexport const AXMWorkflowManagementCommandKeys = {\n WorkflowRun: {\n Continue: 'WorkflowManagement.WorkflowRun:Continue',\n CancelRun: 'WorkflowManagement.WorkflowRun:CancelRun',\n TakeOver: 'WorkflowManagement.WorkflowRun:TakeOver',\n ShowHistory: 'WorkflowManagement.WorkflowRun:ShowHistory',\n },\n} as const;\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXPEntityAction, AXPEntityCommandScope } from '@acorex/platform/common';\nimport { AXPEntityActionPlugin, actionExists, ensureListActions } from '@acorex/platform/layout/entity';\nimport { AXMWorkflowManagementCommandKeys } from './commands.keys';\nimport {\n AXPWorkflowRunPluginListOptions,\n AXPWorkflowRunPluginOptions,\n} from './workflow-run.plugin.types';\n\n//#endregion\n\n//#region ---- Constants ----\n\nconst CRUD_ROW_COMMANDS = new Set(['Entity:Update', 'delete-entity', 'show-file-uploader-popup', 'open-entity']);\n\n/** Hidden when the row has no linked instance or is in a terminal domain status. */\nconst WORKFLOW_RUN_ROW_ACTIONS_HIDDEN =\n '{{ !context.eval(\"workflowInfo.instanceId\") || context.eval(\"statusId\") === \"completed\" || context.eval(\"statusId\") === \"cancelled\" }}';\n\n//#endregion\n\n//#region ---- Helpers ----\n\nfunction resolveListOptions(options?: AXPWorkflowRunPluginOptions): Required<AXPWorkflowRunPluginListOptions> & {\n mode: 'crud' | 'workflow-run';\n} {\n const list = options?.list ?? {};\n const mode = list.mode ?? 'crud';\n const isWorkflowRun = mode === 'workflow-run';\n\n return {\n mode,\n suppressCrudRowActions: list.suppressCrudRowActions ?? isWorkflowRun,\n suppressAttachmentListAction: list.suppressAttachmentListAction ?? isWorkflowRun,\n viewInReadonlyPopup: list.viewInReadonlyPopup ?? isWorkflowRun,\n };\n}\n\nfunction getActionCommandName(action: AXPEntityAction): string | undefined {\n if (typeof action.command === 'string') {\n return action.command;\n }\n return action.command?.name;\n}\n\nfunction shouldSuppressListAction(action: AXPEntityAction, listOptions: ReturnType<typeof resolveListOptions>): boolean {\n const commandName = getActionCommandName(action);\n if (!commandName) {\n return false;\n }\n\n if (listOptions.suppressCrudRowActions && CRUD_ROW_COMMANDS.has(commandName)) {\n return true;\n }\n\n if (listOptions.suppressAttachmentListAction) {\n if (commandName === 'show-file-uploader-popup' || action.type === 'upload') {\n return true;\n }\n if (action.name?.startsWith('attachments-')) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction registerWorkflowRunRowActions(\n ctx: Parameters<AXPEntityActionPlugin['apply']>[0],\n listOptions: ReturnType<typeof resolveListOptions>,\n): void {\n const entityKey = `${ctx.entity.module}.${ctx.entity.name}`;\n\n ctx.interfaces.update((interfaces) => {\n const list = (interfaces as { master?: { list?: { actions?: AXPEntityAction[] } } }).master?.list;\n const actions = list?.actions ?? [];\n\n if (listOptions.viewInReadonlyPopup && !actionExists(actions, 'Entity:View', 'workflow-run-view')) {\n actions.push({\n name: 'workflow-run-view',\n title: '@general:actions.view.title',\n icon: 'fa-light fa-eye',\n command: 'Entity:View',\n priority: 'secondary',\n type: 'view',\n scope: AXPEntityCommandScope.Individual,\n });\n }\n\n if (\n !actionExists(actions, AXMWorkflowManagementCommandKeys.WorkflowRun.Continue, 'workflow-run-continue')\n ) {\n actions.push({\n name: 'workflow-run-continue',\n title: '@workflow-management:workflow-run.actions.continue.title',\n icon: 'fa-light fa-play',\n command: {\n name: AXMWorkflowManagementCommandKeys.WorkflowRun.Continue,\n options: {\n entitySource: entityKey,\n },\n },\n priority: 'primary',\n type: 'action',\n scope: AXPEntityCommandScope.Individual,\n default: true,\n hidden: WORKFLOW_RUN_ROW_ACTIONS_HIDDEN,\n });\n }\n\n if (!actionExists(actions, AXMWorkflowManagementCommandKeys.WorkflowRun.CancelRun, 'workflow-run-cancel')) {\n actions.push({\n name: 'workflow-run-cancel',\n title: '@workflow-management:workflow-run.actions.cancel-run.title',\n icon: 'fa-light fa-ban',\n command: {\n name: AXMWorkflowManagementCommandKeys.WorkflowRun.CancelRun,\n options: {\n entitySource: entityKey,\n },\n },\n priority: 'secondary',\n type: 'action',\n scope: AXPEntityCommandScope.Individual,\n hidden: WORKFLOW_RUN_ROW_ACTIONS_HIDDEN,\n });\n }\n\n if (!actionExists(actions, AXMWorkflowManagementCommandKeys.WorkflowRun.TakeOver, 'workflow-run-take-over')) {\n actions.push({\n name: 'workflow-run-take-over',\n title: '@workflow-management:workflow-run.actions.take-over.title',\n icon: 'fa-light fa-user-check',\n command: {\n name: AXMWorkflowManagementCommandKeys.WorkflowRun.TakeOver,\n options: {\n entitySource: entityKey,\n },\n },\n priority: 'secondary',\n type: 'action',\n scope: AXPEntityCommandScope.Individual,\n hidden: WORKFLOW_RUN_ROW_ACTIONS_HIDDEN,\n });\n }\n\n if (!actionExists(actions, AXMWorkflowManagementCommandKeys.WorkflowRun.ShowHistory, 'workflow-run-history')) {\n actions.push({\n name: 'workflow-run-history',\n title: '@workflow-management:workflow-run.actions.history.title',\n icon: 'fa-light fa-clock-rotate-left',\n command: {\n name: AXMWorkflowManagementCommandKeys.WorkflowRun.ShowHistory,\n options: {\n entitySource: entityKey,\n },\n },\n priority: 'secondary',\n type: 'history',\n scope: AXPEntityCommandScope.Individual,\n hidden: '{{ !context.eval(\"workflowInfo.instanceId\") }}',\n });\n }\n\n return interfaces as never;\n });\n}\n\n//#endregion\n\n//#region ---- Plugin ----\n\n/**\n * Workflow run plugin — marks entities as workflow-capable and optionally configures\n * workflow-run list behavior (suppress CRUD row actions, inject continue/cancel/take-over).\n *\n * Domain rows link runs via `workflowInfo` on the entity model ({@link AXPRecordWorkflowInfo}).\n */\nexport const workflowRunPlugin: AXPEntityActionPlugin = {\n name: 'workflow-run',\n order: 50,\n apply: (ctx, options?: AXPWorkflowRunPluginOptions) => {\n const listOptions = resolveListOptions(options);\n const isWorkflowRun = listOptions.mode === 'workflow-run';\n\n const entityExt = ctx.entity as { extensions?: Record<string, unknown> };\n entityExt.extensions ??= {};\n entityExt.extensions['workflowRun'] = {\n enabled: true,\n list: listOptions,\n };\n\n if (!isWorkflowRun) {\n return;\n }\n\n ensureListActions(ctx);\n\n ctx.interfaces.update((interfaces) => {\n const master = (interfaces as { master?: { list?: { actions?: AXPEntityAction[] } } }).master;\n const list = master?.list;\n if (!list) {\n return interfaces as never;\n }\n\n list.actions = (list.actions ?? []).filter((action) => !shouldSuppressListAction(action, listOptions));\n\n for (const action of list.actions) {\n const commandName = getActionCommandName(action);\n if (commandName === 'open-entity' || commandName === 'Entity:Update') {\n action.default = false;\n }\n }\n\n return interfaces as never;\n });\n\n registerWorkflowRunRowActions(ctx, listOptions);\n },\n};\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXPWidgetsList } from '@acorex/modules/common';\nimport {\n AXPEntityActionPlugin,\n cloneLayoutArrays,\n ensureLayoutPropertyView,\n ensureLayoutSection,\n} from '@acorex/platform/layout/entity';\nimport type { AXMWorkflowSelectorPluginOptions } from './workflow-selector.plugin.types';\n\n//#endregion\n\n//#region ---- Constants ----\n\nconst DEFAULT_GROUP_ID = 'workflow-config';\nconst DEFAULT_PROPERTY_NAME = 'workflowConfig';\nconst DEFAULT_GROUP_TITLE = '@workflow-management:workflow-selector-plugin.group.title';\nconst DEFAULT_SECTION_ORDER = 2;\n\n//#endregion\n\n//#region ---- Plugin ----\n\n/**\n * Adds a workflow definition selector + template input configurator (`workflowConfig` by default)\n * in a dedicated \"Workflow Configuration\" section.\n */\nexport const workflowSelectorPlugin: AXPEntityActionPlugin = {\n name: 'workflow-selector',\n order: 48,\n apply: (ctx, options?: AXMWorkflowSelectorPluginOptions) => {\n const propertyName = options?.propertyName?.trim() || DEFAULT_PROPERTY_NAME;\n const groupId = options?.groupId?.trim() || DEFAULT_GROUP_ID;\n const groupTitle = options?.groupTitle?.trim() || DEFAULT_GROUP_TITLE;\n const sectionOrder = options?.sectionOrder ?? DEFAULT_SECTION_ORDER;\n const showInList = options?.showInList ?? true;\n\n const groups = ctx.groups.list() ?? [];\n if (!groups.some((g: { id?: string }) => g.id === groupId)) {\n ctx.groups.add({\n id: groupId,\n title: groupTitle,\n } as never);\n }\n\n const widgetOptions: Record<string, unknown> = {};\n if (options?.templateInputNames?.length) {\n widgetOptions['templateInputNames'] = options.templateInputNames;\n }\n if (options?.catalogScopeKeys?.length) {\n widgetOptions['catalogScopeKeys'] = options.catalogScopeKeys;\n }\n if (options?.catalogScopeFilter) {\n widgetOptions['catalogScopeFilter'] = options.catalogScopeFilter;\n }\n if (options?.templateInputFilters && Object.keys(options.templateInputFilters).length > 0) {\n widgetOptions['templateInputFilters'] = options.templateInputFilters;\n }\n\n const props = ctx.properties.list();\n if (!props.some((p: { name?: string }) => p.name === propertyName)) {\n ctx.properties.add({\n name: propertyName,\n title: '@workflow-management:workflow-selector-plugin.property.title',\n groupId,\n schema: {\n dataType: 'object',\n interface: {\n type: AXPWidgetsList.Editors.WorkflowConfigurator,\n options: widgetOptions,\n },\n },\n } as never);\n }\n\n const columns = ctx.columns.list() ?? [];\n if (showInList && !columns.some((c: { name?: string }) => c.name === propertyName)) {\n ctx.columns.add({ name: propertyName } as never);\n }\n\n const applyLayoutPatch = (layout: { sections: { id: string }[]; properties?: { name: string }[] }) => {\n const next = cloneLayoutArrays(layout);\n ensureLayoutSection(next, { id: groupId, order: sectionOrder } as never);\n ensureLayoutPropertyView(next, {\n name: propertyName,\n layout: {\n label: { visible: false },\n positions: { lg: { colSpan: 12 } },\n },\n } as never);\n return next;\n };\n\n ctx.interfaces.master.create.update((create) =>\n applyLayoutPatch(create ?? { sections: [], properties: [] }),\n );\n ctx.interfaces.master.modify.update((modify) =>\n applyLayoutPatch(modify ?? { sections: [], properties: [] }),\n );\n ctx.interfaces.master.single.update((single) =>\n applyLayoutPatch(\n (single ?? { title: ctx.entity.title, sections: [], properties: [] }) as {\n sections: { id: string }[];\n properties?: { name: string }[];\n },\n ) as never,\n );\n\n const entityExt = ctx.entity as { extensions?: Record<string, unknown> };\n entityExt.extensions ??= {};\n entityExt.extensions['workflowSelector'] = {\n propertyName,\n groupId,\n templateInputNames: options?.templateInputNames,\n catalogScopeKeys: options?.catalogScopeKeys,\n templateInputFilters: options?.templateInputFilters,\n };\n },\n};\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { NgModule } from '@angular/core';\nimport { AXP_ENTITY_ACTION_PLUGIN } from '@acorex/platform/layout/entity';\nimport { automationPlugin } from '../automation-plugin/automation.plugin';\nimport { workflowRunPlugin } from './workflow-run.plugin';\nimport { workflowSelectorPlugin } from '../workflow-selector-plugin/workflow-selector.plugin';\n\n//#endregion\n\n//#region ---- Module ----\n\n/**\n * Registers workflow-management entity plugins:\n * - workflow-run: workflow-capable entities and workflow-run list actions\n * - workflow-selector: workflow definition + template input configurator\n * - automation: related WorkflowManagement.Automation entity\n */\n@NgModule({\n providers: [\n {\n provide: AXP_ENTITY_ACTION_PLUGIN,\n useValue: workflowRunPlugin,\n multi: true,\n },\n {\n provide: AXP_ENTITY_ACTION_PLUGIN,\n useValue: workflowSelectorPlugin,\n multi: true,\n },\n {\n provide: AXP_ENTITY_ACTION_PLUGIN,\n useValue: automationPlugin,\n multi: true,\n },\n ],\n})\nexport class AXMWorkflowPluginsModule {}\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 { 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 AXMWorkflowConfiguratorWidget: AXPWidgetConfig = {\n name: 'workflow-configurator',\n title: '@workflow-management:workflow-configurator.widget.title',\n icon: 'fa-light fa-diagram-project',\n description: '@workflow-management:workflow-configurator.widget.description',\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('./workflow-configurator-widget-edit.component').then(\n (c) => c.AXMWorkflowConfiguratorWidgetEditComponent,\n ),\n },\n designer: {\n component: () =>\n import('./workflow-configurator-widget-edit.component').then(\n (c) => c.AXMWorkflowConfiguratorWidgetEditComponent,\n ),\n },\n column: {\n component: () =>\n import('./workflow-configurator-widget-column.component').then(\n (c) => c.AXMWorkflowConfiguratorWidgetColumnComponent,\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';\nimport { AXMWorkflowConfiguratorWidget } from './features/workflow-configurator/workflow-configurator-widget.config';\n\n//#endregion\n\n//#region ---- Workflow Management Widgets Provider ----\n\nconst WORKFLOW_WIDGETS = [AXMActivityCommandConfiguratorWidget, AXMWorkflowConfiguratorWidget];\n\n@Injectable()\nexport class AXMWorkflowManagementWidgetsProvider implements AXPWidgetDefinitionProvider {\n getWidgets() {\n return WORKFLOW_WIDGETS;\n }\n}\n\n//#endregion\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 type { AXPActivityCategory } from '@acorex/platform/contracts';\nimport { AXPActivityCategoryProvider } 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","//#region ---- Imports ----\n\nimport { AXTranslationService } from '@acorex/core/translation';\nimport type { AXPWorkflowTaskProvider } from '@acorex/modules/task-management';\nimport type { AXPWorkflowTaskProviderResolveOptions } from '@acorex/modules/task-management';\nimport { AXPWorkflowDefinitionService } from '@acorex/platform/workflow';\nimport { Injector, runInInjectionContext } from '@angular/core';\nimport type { AXPGenericWorkflowTaskProviderConfig } from '../task-provider/generic-workflow-task.provider';\n\n//#endregion\n\n//#region ---- Lazy loader ----\n\nfunction loadGenericWorkflowTaskProviderClass() {\n return import('../task-provider/generic-workflow-task.provider').then((m) => m.AXPGenericWorkflowTaskProvider);\n}\n\n//#endregion\n\n//#region ---- Discovery ----\n\n/**\n * Discovers one workflow task provider per workflow definition.\n * Re-runs discovery when {@link AXPWorkflowTaskProviderResolveOptions.force} is set.\n */\nexport async function discoverWorkflowTaskProviders(\n injector: Injector,\n options?: AXPWorkflowTaskProviderResolveOptions,\n): Promise<AXPWorkflowTaskProvider[]> {\n if (options?.force) {\n injector.get(AXPWorkflowDefinitionService).clearAllCache();\n }\n\n const ProviderClass = await loadGenericWorkflowTaskProviderClass();\n const workflowDefinitionService = injector.get(AXPWorkflowDefinitionService);\n const multiLanguageResolver = injector.get(AXTranslationService);\n const categories = await workflowDefinitionService.getCategories();\n const providers: AXPWorkflowTaskProvider[] = [];\n const seenDefinitionNames = new Set<string>();\n\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 config: AXPGenericWorkflowTaskProviderConfig = {\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 const provider = runInInjectionContext(injector, () => new ProviderClass(config));\n providers.push(provider);\n }\n }\n\n return providers;\n}\n\n//#endregion\n","import {\n AXP_WORKFLOW_TASK_PROVIDER,\n AXP_WORKFLOW_TASK_PROVIDER_RESOLVER,\n AXPWorkflowTaskProvider,\n} from '@acorex/modules/task-management';\nimport { EnvironmentProviders, Injector, makeEnvironmentProviders, runInInjectionContext } from '@angular/core';\nimport type { AXPGenericWorkflowTaskProviderConfig } from '../task-provider/generic-workflow-task.provider';\nimport { discoverWorkflowTaskProviders } from './workflow-task-provider.discovery';\n\n//#region ---- Lazy loader ----\n\n/** Code-split chunk for the generic workflow task provider implementation. */\nfunction loadGenericWorkflowTaskProviderClass() {\n return import('../task-provider/generic-workflow-task.provider').then((m) => m.AXPGenericWorkflowTaskProvider);\n}\n\n//#endregion\n\n//#region ---- Per-definition registration ----\n\n/**\n * Registers one workflow task provider for a single definition (lazy-loaded).\n * Use in feature modules that need a dedicated task-board entry per workflow.\n */\nexport function provideGenericWorkflowTaskProvider(config: AXPGenericWorkflowTaskProviderConfig) {\n return {\n provide: AXP_WORKFLOW_TASK_PROVIDER,\n multi: true,\n useFactory: (injector: Injector) =>\n loadGenericWorkflowTaskProviderClass().then((ProviderClass) =>\n runInInjectionContext(injector, () => new ProviderClass(config)),\n ),\n deps: [Injector],\n };\n}\n\n//#endregion\n\n//#region ---- Auto-discovery registration ----\n\n/**\n * Registers one task provider per workflow definition (lazy-loaded).\n * Discovers definitions via {@link AXPWorkflowDefinitionService} at first resolve.\n */\nexport function provideTaskWorkflow(): EnvironmentProviders {\n return makeEnvironmentProviders([\n {\n provide: AXP_WORKFLOW_TASK_PROVIDER_RESOLVER,\n useFactory: (injector: Injector) => (options?: { force?: boolean }) =>\n discoverWorkflowTaskProviders(injector, options),\n deps: [Injector],\n },\n {\n provide: AXP_WORKFLOW_TASK_PROVIDER,\n multi: true,\n useFactory: (injector: Injector) => discoverWorkflowTaskProviders(injector),\n deps: [Injector],\n },\n ]);\n}\n\n//#endregion\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 type { AXPWorkflowDefinition } from '@acorex/platform/contracts';\nimport { AXPWorkflowProvider } 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 { AXPSessionService } from '@acorex/platform/auth';\nimport { AXMPermissionsKeys } from '../../contracts/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 { AXPSessionService } from '@acorex/platform/auth';\nimport type { AXPWorkflowContinuationStepContext, AXPWorkflowTask } from '@acorex/platform/workflow';\nimport {\n axpIsWorkflowInlineFrontendTask,\n axpResolveWorkflowContinuationBeforeInteractive,\n axpShouldOfferWorkflowContinuationAfterStep,\n axpShouldSkipBeforeInteractiveFromMetadata,\n} from '@acorex/platform/workflow';\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/** Minimal bookmark payload shape for continuation eligibility checks. */\nexport interface WorkflowTaskContinuationPayload {\n activityType: string;\n assignedUserIds?: string[] | null;\n candidateUserIds?: string[] | null;\n}\n\n/** Bookmark row shape stored on WorkflowInstance.workflowInstance.bookmarks. */\nexport interface WorkflowTaskContinuationBookmark {\n id: string;\n activityId: string;\n type: string;\n payload?: Record<string, unknown> | null;\n payloadJson?: string;\n consumed?: boolean;\n isConsumed?: boolean;\n createdAt?: string;\n}\n\nexport interface WorkflowTaskContinuationContext {\n instance: AXMWorkflowManagementWorkflowInstanceEntityModel;\n bookmark: WorkflowTaskContinuationBookmark;\n payload: WorkflowTaskContinuationPayload;\n sessionService: AXPSessionService;\n /** Bookmark id of the task that was just completed (excluded from next-step detection). */\n completedBookmarkId?: string;\n /** Activity id that was just completed (excluded from next-step detection). */\n completedActivityId?: string;\n}\n\n//#endregion\n\n//#region ---- User id helpers ----\n\n/** Normalizes platform user id lists on bookmark payloads. */\nexport function normalizeWorkflowTaskUserIds(value: string[] | null | undefined): string[] {\n if (!value || value.length === 0) {\n return [];\n }\n return value.map((id) => String(id)).filter((s) => s.length > 0);\n}\n\n/** Workflow instance creator (task-board \"started by\"). */\nexport function getWorkflowInstanceInitiatorUserId(\n instance: AXMWorkflowManagementWorkflowInstanceEntityModel,\n): string | null {\n const id = instance.auditInfo?.created?.by?.id;\n return id != null && String(id).length > 0 ? String(id) : null;\n}\n\n//#endregion\n\n//#region ---- Bookmark payload helpers ----\n\n/** Bookmark types rendered on the workflow task board. */\nexport function isWorkflowTaskBoardBookmarkPayload(payload: WorkflowTaskContinuationPayload): boolean {\n const t = payload.activityType;\n return t === 'workflow-activity:human-task' || t === 'workflow-activity:cartable';\n}\n\n/** Pooled task that must be claimed before acting (no direct continuation offer). */\nexport function isWorkflowPooledClaimablePayload(payload: WorkflowTaskContinuationPayload): boolean {\n const assigned = normalizeWorkflowTaskUserIds(payload.assignedUserIds);\n const candidates = normalizeWorkflowTaskUserIds(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/** Human-task assigned to another user; may be taken over when permitted. */\nexport function isWorkflowReassignableHumanTaskPayload(payload: WorkflowTaskContinuationPayload): boolean {\n if (payload.activityType !== 'workflow-activity:human-task') {\n return false;\n }\n const assigned = normalizeWorkflowTaskUserIds(payload.assignedUserIds);\n if (assigned.length === 0) {\n return false;\n }\n return true;\n}\n\n/** Parses bookmark payload from entity storage. */\nexport function parseWorkflowTaskContinuationPayload(\n bookmark: WorkflowTaskContinuationBookmark,\n): WorkflowTaskContinuationPayload | null {\n try {\n const raw = bookmark.payload ?? (bookmark.payloadJson ? JSON.parse(bookmark.payloadJson) : null);\n if (typeof raw !== 'object' || raw === null) {\n return null;\n }\n return raw as WorkflowTaskContinuationPayload;\n } catch {\n return null;\n }\n}\n\n//#endregion\n\n//#region ---- Step advancement gate ----\n\n/**\n * Whether the workflow moved forward enough to prompt \"continue to next step\".\n * Skips draft save / cancel on questionnaire (same human-task bookmark remains).\n */\nexport function shouldOfferWorkflowContinuationAfterStep(\n context: AXPWorkflowContinuationStepContext,\n activeBookmarkActivityIds: string[],\n): boolean {\n return axpShouldOfferWorkflowContinuationAfterStep(context, activeBookmarkActivityIds);\n}\n\n//#endregion\n\n//#region ---- Human-task assignee lookup ----\n\n/**\n * Assignee of the first active human-task / cartable bookmark (used for interactive-step continuation).\n */\nexport function findActiveHumanTaskAssigneeId(\n bookmarks: WorkflowTaskContinuationBookmark[],\n): string | null {\n for (const bookmark of bookmarks) {\n const payload = parseWorkflowTaskContinuationPayload(bookmark);\n if (!payload || !isWorkflowTaskBoardBookmarkPayload(payload)) {\n continue;\n }\n const assigned = normalizeWorkflowTaskUserIds(payload.assignedUserIds);\n if (assigned[0]) {\n return assigned[0];\n }\n }\n return null;\n}\n\n/**\n * Assignee on a completed human-task activity (when inbox bookmarks are already consumed).\n */\nexport function findHumanTaskAssigneeIdForActivity(\n bookmarks: WorkflowTaskContinuationBookmark[],\n activityId: string,\n): string | null {\n for (const bookmark of bookmarks) {\n if (bookmark.activityId !== activityId) {\n continue;\n }\n const payload = parseWorkflowTaskContinuationPayload(bookmark);\n if (!payload || !isWorkflowTaskBoardBookmarkPayload(payload)) {\n continue;\n }\n const assigned = normalizeWorkflowTaskUserIds(payload.assignedUserIds);\n if (assigned[0]) {\n return assigned[0];\n }\n }\n return null;\n}\n\n/** Latest human-task assignee on the instance (active first, then any bookmark). */\nexport function resolveWorkflowHumanTaskAssigneeId(\n instance: AXMWorkflowManagementWorkflowInstanceEntityModel,\n preferredActivityId?: string,\n): string | null {\n const wi = instance.workflowInstance as { bookmarks?: WorkflowTaskContinuationBookmark[] } | undefined;\n const all = wi?.bookmarks ?? [];\n const active = all.filter((b) => !b.isConsumed && !b.consumed);\n\n const fromActive = findActiveHumanTaskAssigneeId(active);\n if (fromActive) {\n return fromActive;\n }\n\n if (preferredActivityId) {\n const fromPreferred = findHumanTaskAssigneeIdForActivity(all, preferredActivityId);\n if (fromPreferred) {\n return fromPreferred;\n }\n }\n\n for (let i = all.length - 1; i >= 0; i--) {\n const payload = parseWorkflowTaskContinuationPayload(all[i]);\n if (!payload || !isWorkflowTaskBoardBookmarkPayload(payload)) {\n continue;\n }\n const assigned = normalizeWorkflowTaskUserIds(payload.assignedUserIds);\n if (assigned[0]) {\n return assigned[0];\n }\n }\n\n return null;\n}\n\n//#endregion\n\n//#region ---- Interactive step continuation ----\n\n/**\n * Whether a bookmark row (including consumed) was a task-board human-task / cartable step.\n */\nexport function wasWorkflowTaskBoardActivity(\n bookmarks: WorkflowTaskContinuationBookmark[],\n activityId: string,\n): boolean {\n for (const bookmark of bookmarks) {\n if (bookmark.activityId !== activityId) {\n continue;\n }\n const payload = parseWorkflowTaskContinuationPayload(bookmark);\n if (payload && isWorkflowTaskBoardBookmarkPayload(payload)) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * Whether to show \"continue?\" before an inline interactive activity (sign-off, assessment, etc.).\n */\nexport function shouldOfferWorkflowInteractiveStepContinuation(\n instance: AXMWorkflowManagementWorkflowInstanceEntityModel,\n sessionService: AXPSessionService,\n humanTaskAssigneeId: string | null,\n): boolean {\n const currentUserId = sessionService.user?.id;\n if (currentUserId == null) {\n return false;\n }\n const current = String(currentUserId);\n const initiatorId = getWorkflowInstanceInitiatorUserId(instance);\n const isInitiator = initiatorId != null && current === initiatorId;\n\n if (isInitiator) {\n return true;\n }\n if (canReassignWorkflowTaskToSelf(sessionService)) {\n return true;\n }\n if (humanTaskAssigneeId && current === humanTaskAssigneeId) {\n return true;\n }\n return false;\n}\n\n/**\n * Skips a redundant pre-interactive prompt when the next UI would run immediately anyway.\n */\nexport function shouldSkipContinuationBeforeInteractive(\n context: AXPWorkflowContinuationStepContext,\n nextTask: AXPWorkflowTask,\n sessionService: AXPSessionService,\n instance: AXMWorkflowManagementWorkflowInstanceEntityModel,\n bookmarks: WorkflowTaskContinuationBookmark[],\n humanTaskAssigneeId: string | null,\n): boolean {\n if (!axpIsWorkflowInlineFrontendTask(nextTask)) {\n return false;\n }\n\n const currentUserId = sessionService.user?.id;\n if (currentUserId == null) {\n return false;\n }\n const current = String(currentUserId);\n const completedActivityId = context.completedActivityId;\n // Resume consumes the human-task bookmark before the inline activity runs; search all bookmarks.\n const allBookmarks =\n (instance.workflowInstance as { bookmarks?: WorkflowTaskContinuationBookmark[] } | undefined)\n ?.bookmarks ?? bookmarks;\n const completedWasHumanTask =\n !!completedActivityId && wasWorkflowTaskBoardActivity(allBookmarks, completedActivityId);\n\n const beforeInteractive = axpResolveWorkflowContinuationBeforeInteractive(nextTask);\n if (axpShouldSkipBeforeInteractiveFromMetadata(beforeInteractive, completedWasHumanTask)) {\n return true;\n }\n\n if (beforeInteractive === 'skip-for-assignee' && humanTaskAssigneeId && current === humanTaskAssigneeId) {\n const initiatorId = getWorkflowInstanceInitiatorUserId(instance);\n if (initiatorId != null && current === initiatorId) {\n return false;\n }\n if (canReassignWorkflowTaskToSelf(sessionService)) {\n return false;\n }\n return true;\n }\n\n return false;\n}\n\n/** Take-over copy before interactive steps when a human-task is owned by someone else. */\nexport function needsTakeOverForWorkflowInteractiveContinuation(\n instance: AXMWorkflowManagementWorkflowInstanceEntityModel,\n sessionService: AXPSessionService,\n humanTaskAssigneeId: string | null,\n): boolean {\n const currentUserId = sessionService.user?.id;\n if (currentUserId == null || !humanTaskAssigneeId) {\n return false;\n }\n const current = String(currentUserId);\n if (current === humanTaskAssigneeId) {\n return false;\n }\n return canReassignWorkflowTaskToSelf(sessionService);\n}\n\n//#endregion\n\n//#region ---- Continuation eligibility ----\n\n/**\n * Whether the UI should offer \"continue to next step\" after a successful resume.\n *\n * - Current user is the assignee (sequential tasks for the same person, e.g. line manager).\n * - Workflow initiator and assignee are the same person and that person is the current user.\n * - Current user may take over a human-task assigned to someone else.\n */\n/**\n * Resolves assignee id from bookmark payload, falling back to instance bookmarks / pending task input.\n */\nexport function resolveWorkflowTaskContinuationAssigneeId(\n instance: AXMWorkflowManagementWorkflowInstanceEntityModel,\n payload: WorkflowTaskContinuationPayload,\n pendingActivityId?: string,\n): string | null {\n const fromPayload = normalizeWorkflowTaskUserIds(payload.assignedUserIds)[0] ?? null;\n if (fromPayload) {\n return fromPayload;\n }\n return resolveWorkflowHumanTaskAssigneeId(instance, pendingActivityId);\n}\n\nexport function shouldOfferWorkflowTaskContinuation(ctx: WorkflowTaskContinuationContext): boolean {\n const currentUserId = ctx.sessionService.user?.id;\n if (currentUserId == null) {\n return false;\n }\n const current = String(currentUserId);\n\n if (!isWorkflowTaskBoardBookmarkPayload(ctx.payload)) {\n return false;\n }\n if (isWorkflowPooledClaimablePayload(ctx.payload)) {\n return false;\n }\n\n const assigneeId = resolveWorkflowTaskContinuationAssigneeId(\n ctx.instance,\n ctx.payload,\n ctx.bookmark.activityId,\n );\n const initiatorId = getWorkflowInstanceInitiatorUserId(ctx.instance);\n const isInitiator = initiatorId != null && current === initiatorId;\n\n if (assigneeId && current === assigneeId) {\n return true;\n }\n\n if (initiatorId && assigneeId && initiatorId === assigneeId && current === initiatorId) {\n return true;\n }\n\n /** User who started the workflow may continue (take over when not assignee). */\n if (isInitiator && assigneeId && current !== assigneeId) {\n return true;\n }\n\n if (\n isInitiator &&\n canReassignWorkflowTaskToSelf(ctx.sessionService) &&\n isWorkflowReassignableHumanTaskPayload(ctx.payload)\n ) {\n return true;\n }\n\n if (!canReassignWorkflowTaskToSelf(ctx.sessionService)) {\n return false;\n }\n if (!isWorkflowReassignableHumanTaskPayload(ctx.payload)) {\n return false;\n }\n if (!assigneeId || current === assigneeId) {\n return false;\n }\n return true;\n}\n\n/** True when the user must take over the next bookmark before acting on it. */\nexport function needsTakeOverForWorkflowTaskContinuation(ctx: WorkflowTaskContinuationContext): boolean {\n const currentUserId = ctx.sessionService.user?.id;\n if (currentUserId == null) {\n return false;\n }\n const current = String(currentUserId);\n const assigneeId = resolveWorkflowTaskContinuationAssigneeId(\n ctx.instance,\n ctx.payload,\n ctx.bookmark.activityId,\n );\n if (!assigneeId || current === assigneeId) {\n return false;\n }\n return (\n canReassignWorkflowTaskToSelf(ctx.sessionService) && isWorkflowReassignableHumanTaskPayload(ctx.payload)\n );\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXPEntityService } from '@acorex/platform/layout/entity';\nimport { inject } from '@angular/core';\nimport { AXMWorkflowManagementWorkflowInstanceEntityModel } from '../../entities/workflow-instance/workflow-instance.types';\nimport {\n parseWorkflowTaskContinuationPayload,\n type WorkflowTaskContinuationPayload,\n} from './workflow-task-continuation';\n\n//#endregion\n\n//#region ---- Types ----\n\n/** Bookmark row on WorkflowInstance.workflowInstance.bookmarks. */\nexport interface WorkflowInstanceBookmarkRow {\n id: string;\n activityId: string;\n type: string;\n payload?: Record<string, unknown> | null;\n payloadJson?: string;\n consumed?: boolean;\n isConsumed?: boolean;\n}\n\nexport interface HumanTaskBookmarkPayload extends WorkflowTaskContinuationPayload {\n activityType: string;\n activityName: string;\n taskToken: string;\n title?: string;\n description?: string;\n actions?: { prefix?: unknown[]; suffix?: unknown[] };\n context?: Record<string, unknown>;\n}\n\n//#endregion\n\n//#region ---- Access factory ----\n\nfunction getActiveBookmarks(instance: AXMWorkflowManagementWorkflowInstanceEntityModel): WorkflowInstanceBookmarkRow[] {\n const wi = instance.workflowInstance as { bookmarks?: WorkflowInstanceBookmarkRow[] } | undefined;\n const bookmarks = wi?.bookmarks ?? [];\n return bookmarks.filter((b) => !b.isConsumed && !b.consumed);\n}\n\n/**\n * Loads workflow instance entity rows (including embedded bookmarks).\n */\nexport function createWorkflowInstanceBookmarkAccess(entityService = inject(AXPEntityService)) {\n const workflowInstanceData = entityService\n .withEntity('WorkflowManagement', 'WorkflowInstance')\n .data<string, AXMWorkflowManagementWorkflowInstanceEntityModel>();\n\n return {\n async loadInstance(instanceId: string): Promise<AXMWorkflowManagementWorkflowInstanceEntityModel | null> {\n return this.loadInstanceForContinuation(instanceId);\n },\n\n /**\n * Reloads the instance until the expected human-task bookmark exists (post-submit race).\n */\n async loadInstanceForContinuation(\n instanceId: string,\n expectedPendingActivityId?: string,\n ): Promise<AXMWorkflowManagementWorkflowInstanceEntityModel | null> {\n const maxAttempts = 6;\n for (let attempt = 0; attempt < maxAttempts; attempt++) {\n const instance = await workflowInstanceData.byKey(instanceId);\n if (instance) {\n const active = getActiveBookmarks(instance);\n if (expectedPendingActivityId) {\n if (active.some((b) => b.activityId === expectedPendingActivityId)) {\n return instance;\n }\n } else if (active.length > 0) {\n return instance;\n }\n }\n if (attempt < maxAttempts - 1) {\n await new Promise((resolve) => setTimeout(resolve, 50 * (attempt + 1)));\n } else {\n return instance ?? null;\n }\n }\n return null;\n },\n\n getActiveBookmarks,\n\n async findActiveBookmark(\n instanceId: string,\n activityId: string,\n ): Promise<{ instance: AXMWorkflowManagementWorkflowInstanceEntityModel; bookmark: WorkflowInstanceBookmarkRow } | null> {\n const instance = await this.loadInstance(instanceId);\n if (!instance) {\n return null;\n }\n const bookmark = getActiveBookmarks(instance).find((b) => b.activityId === activityId);\n if (!bookmark) {\n return null;\n }\n return { instance, bookmark };\n },\n\n parseHumanTaskPayload(bookmark: WorkflowInstanceBookmarkRow): HumanTaskBookmarkPayload | null {\n const parsed = parseWorkflowTaskContinuationPayload(bookmark);\n if (!parsed) {\n return null;\n }\n return parsed as HumanTaskBookmarkPayload;\n },\n };\n}\n\nexport type WorkflowInstanceBookmarkAccess = ReturnType<typeof createWorkflowInstanceBookmarkAccess>;\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXStyleColorType } from '@acorex/cdk/common';\nimport { AXDialogService } from '@acorex/components/dialog';\nimport { AXToastService } from '@acorex/components/toast';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPActionMenuItem, AXPBroadcastEventService } from '@acorex/platform/core';\nimport {\n AXP_WORKFLOW_ENGINE,\n AXP_WORKFLOW_SUPPRESS_CONTINUATION_INPUT_KEY,\n AXP_WORKFLOW_ERROR_CODES,\n AXPWorkflowEngine,\n AXPWorkflowManager,\n WorkflowResumeResult,\n} from '@acorex/platform/workflow';\nimport { inject, Injectable, Injector } from '@angular/core';\nimport { canReassignWorkflowTaskToSelf } from './workflow-task-reassign-access';\nimport {\n createWorkflowInstanceBookmarkAccess,\n HumanTaskBookmarkPayload,\n} from './workflow-instance-bookmark.access';\n\n//#endregion\n\n//#region ---- Types ----\n\nexport interface ResumeSuspendedHumanTaskRequest {\n instanceId: string;\n bookmarkId: string;\n activityId: string;\n taskToken: string;\n outcome: string;\n userInput?: Record<string, unknown>;\n /** When true, skips the post-resume \"continue to next step?\" prompt on this resume. */\n suppressContinuation?: boolean;\n}\n\n//#endregion\n\n//#region ---- Service ----\n\n/**\n * Workflow-instance human-task operations (resume, take-over, primary action).\n * Independent of task board / popover — task board delegates here for the same behavior.\n */\n@Injectable({ providedIn: 'root' })\nexport class AXPWorkflowInstanceHumanTaskService {\n //#region ---- Services & Dependencies ----\n\n private readonly injector = inject(Injector);\n private readonly sessionService = inject(AXPSessionService);\n private readonly translationService = inject(AXTranslationService);\n private readonly dialogService = inject(AXDialogService);\n private readonly toastService = inject(AXToastService);\n private readonly eventService = inject(AXPBroadcastEventService);\n private readonly workflowEngine = inject(AXP_WORKFLOW_ENGINE) as AXPWorkflowEngine;\n private readonly bookmarkAccess = createWorkflowInstanceBookmarkAccess();\n\n /** Resolved lazily to avoid DI cycle with {@link AXPWorkflowManager} continuation hook. */\n private get workflowManager(): AXPWorkflowManager {\n return this.injector.get(AXPWorkflowManager);\n }\n\n //#endregion\n\n //#region ---- Resume & take-over ----\n\n /**\n * Resumes a suspended human-task bookmark (runs interactive activities via the workflow manager).\n */\n async resumeSuspendedHumanTask(request: ResumeSuspendedHumanTaskRequest): Promise<WorkflowResumeResult> {\n const userInput: Record<string, unknown> = {\n ...(request.userInput ?? {}),\n bookmarkId: request.bookmarkId,\n };\n if (request.suppressContinuation) {\n userInput[AXP_WORKFLOW_SUPPRESS_CONTINUATION_INPUT_KEY] = true;\n }\n\n let result = await this.workflowManager.resume(\n request.instanceId,\n request.activityId,\n request.outcome,\n userInput,\n request.taskToken,\n );\n\n if (result.success || result.errorCode !== AXP_WORKFLOW_ERROR_CODES.TASK_NOT_ASSIGNEE || !this.canTakeOver()) {\n if (!result.success) {\n await this.showResumeError(result);\n }\n return result;\n }\n\n const confirmed = await this.confirmReassignToSelf();\n if (!confirmed) {\n return { success: false, instanceId: request.instanceId, error: result.error, errorCode: result.errorCode };\n }\n\n const reassigned = await this.reassignBookmarkToCurrentUser(\n request.instanceId,\n request.bookmarkId,\n request.activityId,\n );\n if (!reassigned) {\n return { success: false, instanceId: request.instanceId, error: result.error, errorCode: result.errorCode };\n }\n\n result = await this.workflowManager.resume(\n request.instanceId,\n request.activityId,\n request.outcome,\n userInput,\n request.taskToken,\n );\n if (!result.success) {\n await this.showResumeError(result);\n }\n return result;\n }\n\n /**\n * Runs the first configured action on a suspended human-task bookmark (e.g. start-fill → questionnaire).\n */\n async executePrimaryHumanTaskAction(\n instanceId: string,\n activityId: string,\n options?: { suppressContinuation?: boolean; notifyViews?: boolean },\n ): Promise<WorkflowResumeResult | null> {\n const found = await this.bookmarkAccess.findActiveBookmark(instanceId, activityId);\n if (!found) {\n return null;\n }\n\n const payload = this.bookmarkAccess.parseHumanTaskPayload(found.bookmark);\n if (!payload?.taskToken) {\n return null;\n }\n\n const outcome = this.resolvePrimaryTaskOutcome(payload);\n const result = await this.resumeSuspendedHumanTask({\n instanceId,\n bookmarkId: found.bookmark.id,\n activityId,\n taskToken: payload.taskToken,\n outcome,\n suppressContinuation: options?.suppressContinuation ?? true,\n });\n\n if (options?.notifyViews !== false) {\n this.notifyWorkflowTaskViewsChanged();\n }\n\n return result;\n }\n\n /**\n * Reassigns a human-task bookmark to the current user (take over) without advancing the workflow.\n */\n async reassignBookmarkToCurrentUser(\n instanceId: string,\n bookmarkId: string,\n activityId: string,\n ): Promise<boolean> {\n const reassign = this.workflowEngine.reassignTaskToSelf?.bind(this.workflowEngine);\n if (!reassign) {\n return false;\n }\n const result = await reassign({ instanceId, bookmarkId, stepId: activityId });\n if (!result.success) {\n await this.showToast('@workflow-management:tasks.errors.reassign-failed');\n return false;\n }\n return true;\n }\n\n /**\n * Take over with confirmation dialog (task board \"Take Over\" action).\n */\n async reassignBookmarkToCurrentUserWithConfirm(\n instanceId: string,\n bookmarkId: string,\n activityId: string,\n ): Promise<boolean> {\n if (!this.canTakeOver()) {\n await this.showToast('@workflow-management:tasks.errors.not-assignee');\n return false;\n }\n const confirmed = await this.confirmReassignToSelf();\n if (!confirmed) {\n return true;\n }\n return this.reassignBookmarkToCurrentUser(instanceId, bookmarkId, activityId);\n }\n\n //#endregion\n\n //#region ---- Outcome resolution ----\n\n /** First action command name on the human-task bookmark (e.g. start-fill, approve). */\n resolvePrimaryTaskOutcome(payload: HumanTaskBookmarkPayload): string {\n const actions = [...(payload.actions?.prefix ?? []), ...(payload.actions?.suffix ?? [])] as AXPActionMenuItem[];\n for (const action of actions) {\n const outcome = action.command?.name ?? action.name;\n if (outcome && outcome !== 'unknown') {\n return outcome;\n }\n }\n return 'submit';\n }\n\n //#endregion\n\n //#region ---- UI helpers ----\n\n private canTakeOver(): boolean {\n return canReassignWorkflowTaskToSelf(this.sessionService);\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 showResumeError(result: WorkflowResumeResult): Promise<void> {\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.showToast(toastKey);\n return;\n }\n 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\n private async showToast(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 /** Optional broadcast so open task-board views refresh; does not require task-board module at runtime. */\n notifyWorkflowTaskViewsChanged(provider?: string): void {\n this.eventService.publish('task-board.refresh', { provider });\n }\n\n //#endregion\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXDialogService } from '@acorex/components/dialog';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport {\n AXPWorkflowContinuationHook,\n AXPWorkflowContinuationOfferResult,\n AXPWorkflowContinuationStepContext,\n axpIsWorkflowInlineFrontendTask,\n axpIsWorkflowTaskBoardActivityType,\n AXPWorkflowTask,\n} from '@acorex/platform/workflow';\nimport { inject, Injectable } from '@angular/core';\nimport { AXMWorkflowManagementWorkflowInstanceEntityModel } from '../../entities/workflow-instance/workflow-instance.types';\nimport {\n createWorkflowInstanceBookmarkAccess,\n HumanTaskBookmarkPayload,\n WorkflowInstanceBookmarkRow,\n} from './workflow-instance-bookmark.access';\nimport { AXPWorkflowInstanceHumanTaskService } from './workflow-instance-human-task.service';\nimport {\n needsTakeOverForWorkflowInteractiveContinuation,\n normalizeWorkflowTaskUserIds,\n resolveWorkflowHumanTaskAssigneeId,\n needsTakeOverForWorkflowTaskContinuation,\n parseWorkflowTaskContinuationPayload,\n type WorkflowTaskContinuationPayload,\n shouldOfferWorkflowContinuationAfterStep,\n shouldOfferWorkflowInteractiveStepContinuation,\n shouldOfferWorkflowTaskContinuation,\n shouldSkipContinuationBeforeInteractive,\n} from './workflow-task-continuation';\n\n//#endregion\n\n//#region ---- Service ----\n\n/**\n * Offers \"continue to next step\" / take-over after workflow start, resume, and interactive chains.\n * Uses {@link AXPWorkflowInstanceHumanTaskService} only — not task board or popover.\n */\n@Injectable({ providedIn: 'root' })\nexport class AXPWorkflowTaskContinuationService implements AXPWorkflowContinuationHook {\n //#region ---- Services & Dependencies ----\n\n private readonly sessionService = inject(AXPSessionService);\n private readonly translationService = inject(AXTranslationService);\n private readonly dialogService = inject(AXDialogService);\n private readonly humanTaskService = inject(AXPWorkflowInstanceHumanTaskService);\n private readonly bookmarkAccess = createWorkflowInstanceBookmarkAccess();\n\n //#endregion\n\n //#region ---- Hook ----\n\n async offerBeforeInteractiveFlow(\n context: AXPWorkflowContinuationStepContext,\n ): Promise<AXPWorkflowContinuationOfferResult> {\n try {\n // Resume from task board already means the user chose to act on this step.\n if (context.completedActivityId) {\n return 'not-offered';\n }\n\n const nextTask = context.pendingNextTask;\n if (!nextTask || !axpIsWorkflowInlineFrontendTask(nextTask)) {\n return 'not-offered';\n }\n\n const instance = await this.bookmarkAccess.loadInstanceForContinuation(context.instanceId);\n if (!instance) {\n return 'not-offered';\n }\n\n const bookmarks = this.bookmarkAccess.getActiveBookmarks(instance);\n const activeActivityIds = bookmarks.map((b) => b.activityId);\n if (!shouldOfferWorkflowContinuationAfterStep(context, activeActivityIds)) {\n return 'not-offered';\n }\n\n const humanTaskAssigneeId = resolveWorkflowHumanTaskAssigneeId(instance, context.completedActivityId);\n if (\n shouldSkipContinuationBeforeInteractive(\n context,\n nextTask,\n this.sessionService,\n instance,\n bookmarks,\n humanTaskAssigneeId,\n )\n ) {\n return 'not-offered';\n }\n\n if (!shouldOfferWorkflowInteractiveStepContinuation(instance, this.sessionService, humanTaskAssigneeId)) {\n return 'not-offered';\n }\n\n const takeOver = needsTakeOverForWorkflowInteractiveContinuation(\n instance,\n this.sessionService,\n humanTaskAssigneeId,\n );\n const confirmed = await this.confirmContinueToNextStep(takeOver);\n return confirmed ? 'confirmed' : 'declined';\n } catch (error) {\n console.warn('[AXPWorkflowTaskContinuationService] offerBeforeInteractiveFlow failed', error);\n return 'not-offered';\n }\n }\n\n async offerAfterWorkflowStep(\n context: AXPWorkflowContinuationStepContext,\n ): Promise<AXPWorkflowContinuationOfferResult> {\n try {\n const expectedActivityId = context.pendingNextTask?.activityId;\n const instance = await this.bookmarkAccess.loadInstanceForContinuation(\n context.instanceId,\n expectedActivityId,\n );\n if (!instance) {\n return 'not-offered';\n }\n\n const activeActivityIds = this.bookmarkAccess\n .getActiveBookmarks(instance)\n .map((b) => b.activityId);\n if (!shouldOfferWorkflowContinuationAfterStep(context, activeActivityIds)) {\n return 'not-offered';\n }\n\n if (\n context.pendingNextTask &&\n axpIsWorkflowTaskBoardActivityType(context.pendingNextTask.activityType)\n ) {\n const offered = await this.offerFromPendingNextTask(instance, context, context.pendingNextTask);\n if (offered !== 'not-offered') {\n return offered;\n }\n }\n\n return this.offerFromInstanceBookmarks(instance, context);\n } catch (error) {\n console.warn('[AXPWorkflowTaskContinuationService] offerAfterWorkflowStep failed', error);\n return 'not-offered';\n }\n }\n\n //#endregion\n\n //#region ---- Offer paths ----\n\n private async offerFromPendingNextTask(\n instance: AXMWorkflowManagementWorkflowInstanceEntityModel,\n context: AXPWorkflowContinuationStepContext,\n nextTask: AXPWorkflowTask,\n ): Promise<AXPWorkflowContinuationOfferResult> {\n const payload = this.enrichPayloadFromInstance(\n instance,\n this.buildPayloadFromWorkflowTask(nextTask),\n nextTask.activityId,\n );\n const bookmark = this.bookmarkAccess\n .getActiveBookmarks(instance)\n .find((b) => b.activityId === nextTask.activityId);\n const continuationCtx = {\n instance,\n bookmark: bookmark ?? { id: '', activityId: nextTask.activityId, type: 'user-task' },\n payload,\n sessionService: this.sessionService,\n completedBookmarkId: context.completedBookmarkId,\n completedActivityId: context.completedActivityId,\n };\n\n if (!shouldOfferWorkflowTaskContinuation(continuationCtx)) {\n return 'not-offered';\n }\n\n return this.confirmAndAdvance(instance.id, continuationCtx, nextTask.activityId, bookmark?.id);\n }\n\n private async offerFromInstanceBookmarks(\n instance: AXMWorkflowManagementWorkflowInstanceEntityModel,\n context: AXPWorkflowContinuationStepContext,\n ): Promise<AXPWorkflowContinuationOfferResult> {\n for (const bookmark of this.bookmarkAccess.getActiveBookmarks(instance)) {\n if (this.isCompletedBookmark(bookmark, context)) {\n continue;\n }\n\n const parsed = parseWorkflowTaskContinuationPayload(bookmark);\n if (!parsed) {\n continue;\n }\n const payload = this.enrichPayloadFromInstance(instance, parsed, bookmark.activityId);\n\n const continuationCtx = {\n instance,\n bookmark,\n payload,\n sessionService: this.sessionService,\n completedBookmarkId: context.completedBookmarkId,\n completedActivityId: context.completedActivityId,\n };\n\n if (!shouldOfferWorkflowTaskContinuation(continuationCtx)) {\n continue;\n }\n\n return this.confirmAndAdvance(instance.id, continuationCtx, bookmark.activityId, bookmark.id);\n }\n return 'not-offered';\n }\n\n private async confirmAndAdvance(\n instanceId: string,\n continuationCtx: Parameters<typeof shouldOfferWorkflowTaskContinuation>[0],\n nextActivityId: string,\n nextBookmarkId?: string,\n ): Promise<AXPWorkflowContinuationOfferResult> {\n const takeOver = needsTakeOverForWorkflowTaskContinuation(continuationCtx);\n const confirmed = await this.confirmContinueToNextStep(takeOver);\n if (!confirmed) {\n return 'declined';\n }\n\n if (takeOver) {\n let bookmarkIdToUse = nextBookmarkId;\n if (!bookmarkIdToUse) {\n const found = await this.bookmarkAccess.findActiveBookmark(instanceId, nextActivityId);\n bookmarkIdToUse = found?.bookmark.id;\n }\n if (!bookmarkIdToUse) {\n return 'confirmed';\n }\n const reassigned = await this.humanTaskService.reassignBookmarkToCurrentUser(\n instanceId,\n bookmarkIdToUse,\n nextActivityId,\n );\n if (!reassigned) {\n return 'confirmed';\n }\n }\n\n await this.humanTaskService.executePrimaryHumanTaskAction(instanceId, nextActivityId, {\n suppressContinuation: true,\n notifyViews: true,\n });\n return 'confirmed';\n }\n\n //#endregion\n\n //#region ---- Helpers ----\n\n private isCompletedBookmark(\n bookmark: WorkflowInstanceBookmarkRow,\n context: AXPWorkflowContinuationStepContext,\n ): boolean {\n if (context.completedBookmarkId && bookmark.id === context.completedBookmarkId) {\n return true;\n }\n if (context.completedActivityId && bookmark.activityId === context.completedActivityId) {\n return true;\n }\n return false;\n }\n\n private enrichPayloadFromInstance(\n instance: AXMWorkflowManagementWorkflowInstanceEntityModel,\n payload: HumanTaskBookmarkPayload | WorkflowTaskContinuationPayload,\n activityId: string,\n ): HumanTaskBookmarkPayload {\n const assigneeId = resolveWorkflowHumanTaskAssigneeId(instance, activityId);\n if (assigneeId && normalizeWorkflowTaskUserIds(payload.assignedUserIds).length === 0) {\n return { ...(payload as HumanTaskBookmarkPayload), assignedUserIds: [assigneeId] };\n }\n return payload as HumanTaskBookmarkPayload;\n }\n\n private buildPayloadFromWorkflowTask(task: AXPWorkflowTask): HumanTaskBookmarkPayload {\n const input = task.input ?? {};\n const assigned = input['assignedUserIds'];\n const assignedUserIds = Array.isArray(assigned)\n ? assigned.map(String)\n : assigned != null && String(assigned).length > 0\n ? [String(assigned)]\n : null;\n\n return {\n activityType: task.activityType,\n activityName: task.activityName ?? task.activityType,\n taskToken: task.taskToken,\n assignedUserIds,\n candidateUserIds: input['candidateUserIds'] as string[] | null | undefined,\n title: input['title'] as string | undefined,\n description: input['description'] as string | undefined,\n actions: input['actions'] as HumanTaskBookmarkPayload['actions'],\n context: input['context'] as Record<string, unknown> | undefined,\n };\n }\n\n private async confirmContinueToNextStep(requiresTakeOver: boolean): Promise<boolean> {\n const title = await this.translationService.translateAsync(\n '@workflow-management:tasks.dialogs.continue-next-step.title',\n );\n const messageKey = requiresTakeOver\n ? '@workflow-management:tasks.dialogs.continue-next-step.take-over-message'\n : '@workflow-management:tasks.dialogs.continue-next-step.message';\n const message = await this.translationService.translateAsync(messageKey);\n const dialogResult = await this.dialogService.confirm(title, message, 'primary', 'horizontal', false, 'cancel');\n return dialogResult.result === true;\n }\n\n //#endregion\n}\n\n//#endregion\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","import { AXPPermissionDefinitionProvider, AXPPermissionDefinitionProviderContext } from '@acorex/platform/auth';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from './const';\nimport { AXMPermissionsKeys } from './contracts/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","import { RootConfig } from './const';\nimport { AXMCalendarManagementModule } from '@acorex/modules/calendar-management';\nimport { AXP_PERMISSION_DEFINITION_PROVIDER } from '@acorex/platform/auth';\nimport { AXP_MENU_PROVIDER, AXP_PROTECTED_ROUTE_GUARDS, AXP_STATUS_PROVIDERS } from '@acorex/platform/common';\nimport {\n AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER,\n AXP_MODULE_MANIFEST_PROVIDER,\n provideLazyProvider,\n} from '@acorex/platform/core';\nimport { AXPDomainModule } from '@acorex/platform/domain';\nimport { AXP_PAGE_COMPONENT_PROVIDER } from '@acorex/platform/layout/components';\nimport { AXP_ENTITY_CONFIG_TOKEN, AXP_ENTITY_DEFINITION_LOADER } from '@acorex/platform/layout/entity';\nimport { AXP_WIDGET_DEFINITION_PROVIDER, AXPWidgetCoreModule } from '@acorex/platform/layout/widget-core';\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 { inject, NgModule } from '@angular/core';\nimport { Routes, ROUTES } from '@angular/router';\nimport { AXMWorkflowManagementModuleEntityProvider } from './entity.provider';\nimport { AXMWorkflowDashboardWidgetsProvider } from './features/dashboard/widgets';\nimport {\n CartableTaskActivity,\n CreateEntityFormActivity,\n HumanTaskActivity,\n RejectionReasonActivity,\n ShowConfirmPopupActivity,\n ShowLayoutPopupActivity,\n ShowToastActivity,\n SignOffActivity,\n} from './features/engine/activities';\nimport { AXMWorkflowPluginsModule } from './features/workflow-run-plugin/workflow-plugins.module';\nimport { AXMWorkflowManagementWidgetsProvider } from './widget-definition.provider';\n\nimport { AXP_WORKFLOW_CONTINUATION_HOOK } from '@acorex/platform/workflow';\nimport { AXMAutomationEvaluatorScopeProvider } from './features/automation-evaluator-scope.provider';\nimport { AXMWorkflowActivitiesDefinitionProvider } from './features/engine/activities/workflow-activities-definition.provider';\nimport { AXCCategoryProvider } from './features/engine/category.provider';\nimport { provideTaskWorkflow } from './features/engine/provider.task';\nimport { AXMWorkflowCategoryProvider } from './features/engine/workflows/workflow-category.provider';\nimport { AXMWorkflowDefinitionProvider } from './features/engine/workflows/workflow-definition.provider';\nimport { AXPWorkflowTaskContinuationService } from './features/task-provider/workflow-task-continuation.service';\nimport { AXMWorkflowDefinitionStatusProvider } from './features/workflow-definition-status.provider';\nimport { WorkflowManagementManifest } from './manifest';\nimport { AXMMenuProvider } from './menu.provider';\nimport { AXMPermissionDefinitionProvider } from './permission-definition.provider';\n\nfunction routesFactory() {\n const config = inject(AXP_ENTITY_CONFIG_TOKEN);\n const routes: Routes = [\n {\n path: ':app/workflow-management/studio',\n loadComponent: () => {\n return config.viewers.root();\n },\n canActivate: [...AXP_PROTECTED_ROUTE_GUARDS],\n data: { reuse: true },\n children: [\n // {\n // path: '',\n // loadComponent: () =>\n // import('./features/engine/studio/workflow-studio.component').then((c) => c.WorkflowStudioComponent),\n // },\n ],\n },\n ];\n return routes;\n}\n\n@NgModule({\n imports: [AXMCalendarManagementModule, AXPDomainModule, AXMWorkflowPluginsModule, AXPWidgetCoreModule],\n providers: [\n {\n provide: ROUTES,\n multi: true,\n useFactory: routesFactory,\n },\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: () => 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:sign-off',\n command: () => import('./features/engine/activities').then((c) => c.SignOffActivity),\n },\n {\n key: 'workflow-activity:rejection-reason',\n command: () => import('./features/engine/activities').then((c) => c.RejectionReasonActivity),\n },\n {\n key: 'WorkflowManagement.WorkflowRun:Continue',\n command: () => import('./features/workflow-run-plugin/commands').then((c) => c.ContinueWorkflowRunCommand),\n },\n {\n key: 'WorkflowManagement.WorkflowRun:CancelRun',\n command: () => import('./features/workflow-run-plugin/commands').then((c) => c.CancelWorkflowRunCommand),\n },\n {\n key: 'WorkflowManagement.WorkflowRun:TakeOver',\n command: () => import('./features/workflow-run-plugin/commands').then((c) => c.TakeOverWorkflowRunCommand),\n },\n {\n key: 'WorkflowManagement.WorkflowRun:ShowHistory',\n command: () =>\n import('./features/workflow-run-plugin/commands').then((c) => c.ShowWorkflowRunHistoryCommand),\n },\n {\n key: 'WorkflowManagement.WorkflowRun:ShowHistory',\n command: () =>\n import('./features/workflow-run-plugin/commands').then((c) => c.ShowWorkflowRunHistoryCommand),\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 RejectionReasonActivity,\n SignOffActivity,\n // Per-workflow task provider (lazy-loaded). Import provideGenericWorkflowTaskProvider from provider.task.ts:\n // provideGenericWorkflowTaskProvider({\n // name: 'leave-request',\n // title: 'Leave Request Tasks',\n // icon: 'fa-light fa-diagram-project',\n // definitionId: 'createLeaveRequest',\n // }),\n provideTaskWorkflow(),\n {\n provide: AXP_WORKFLOW_CONTINUATION_HOOK,\n useExisting: AXPWorkflowTaskContinuationService,\n },\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","//#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 { AXFormatService } from '@acorex/core/format';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPRegionalSetting, AXPSettingsService } from '@acorex/platform/common';\nimport { AXPExpressionEvaluatorService } from '@acorex/platform/core';\nimport type { AXPWorkflowState } from '@acorex/platform/contracts';\nimport { WorkflowExpressionScopeService } from '@acorex/platform/workflow';\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\nexport interface WorkflowTaskTranslationDeps {\n expressionScopeService: WorkflowExpressionScopeService;\n expressionEvaluator: AXPExpressionEvaluatorService;\n translationService: AXTranslationService;\n}\n\n//#endregion\n\n//#region ---- Expression scope ----\n\n/** Maps persisted {@link AXPWorkflowState} to the workflow expression evaluation scope. */\nexport function buildWorkflowTaskExpressionScope(\n workflowState: AXPWorkflowState | undefined,\n expressionScopeService: WorkflowExpressionScopeService,\n) {\n const properties = workflowState?.properties ?? {};\n const outputs: Record<string, unknown> = {};\n\n if (properties['__lastActivityOutput'] !== undefined) {\n outputs['last'] = properties['__lastActivityOutput'];\n }\n\n return expressionScopeService.buildScope({\n inputs: workflowState?.input ?? {},\n variables: properties,\n outputs,\n });\n}\n\n//#endregion\n\n//#region ---- Raw param evaluation (_taskI18n) ----\n\n/**\n * Evaluates bookmark `context._taskI18n` entries via the workflow expression evaluator.\n * Returns raw values (ML maps, dates, primitives) — no locale resolution.\n */\nexport async function buildWorkflowTaskI18nParams(\n context: Record<string, unknown> | undefined,\n workflowState: AXPWorkflowState | undefined,\n expressionScopeService: WorkflowExpressionScopeService,\n expressionEvaluator: AXPExpressionEvaluatorService,\n): Promise<Record<string, unknown>> {\n const params: Record<string, unknown> = {};\n const i18n = context?.[AXP_WORKFLOW_TASK_CONTEXT_I18N_KEY];\n if (!i18n || typeof i18n !== 'object' || Array.isArray(i18n)) {\n return params;\n }\n\n const scope = buildWorkflowTaskExpressionScope(workflowState, expressionScopeService);\n\n for (const [key, value] of Object.entries(i18n as Record<string, unknown>)) {\n const evaluated = await expressionEvaluator.evaluate(value, scope);\n if (evaluated != null && evaluated !== '') {\n params[key] = evaluated;\n }\n }\n\n return params;\n}\n\n//#endregion\n\n//#region ---- Display normalization ----\n\nconst TASK_I18N_DATE_KEYS = new Set(['startDate', 'endDate', 'effectiveDate', 'dueDate']);\n\nfunction isDateLikeString(value: string): boolean {\n return /^\\d{4}-\\d{2}-\\d{2}(?:T|$)/.test(value.trim());\n}\n\nfunction parseDateOnlyString(value: string): Date | null {\n const match = /^(\\d{4})-(\\d{2})-(\\d{2})/.exec(value.trim());\n if (!match) {\n return null;\n }\n const year = Number(match[1]);\n const month = Number(match[2]);\n const day = Number(match[3]);\n if (!year || !month || !day) {\n return null;\n }\n return new Date(year, month - 1, day);\n}\n\n/** Normalizes workflow task param values for translate interpolation (ML, dates, primitives). */\nexport function toTaskTranslationParam(translationService: AXTranslationService, 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 (value instanceof Date) {\n return value.toISOString();\n }\n if (typeof value === 'object') {\n const resolved = translationService.resolve(value as never);\n return resolved?.trim() ?? '';\n }\n return String(value).trim();\n}\n\n/** Locale-aware translate params from raw {@link buildWorkflowTaskI18nParams} output. */\nexport async function formatWorkflowTaskI18nParamsForDisplay(\n raw: Record<string, unknown> | undefined,\n translationService: AXTranslationService,\n formatService?: AXFormatService,\n settingsService?: AXPSettingsService,\n): Promise<Record<string, string>> {\n if (!raw) {\n return {};\n }\n\n const format =\n formatService && settingsService\n ? await settingsService.get(AXPRegionalSetting.ShortDate)\n : undefined;\n const params: Record<string, string> = {};\n\n for (const [key, value] of Object.entries(raw)) {\n if (value == null || value === '') {\n continue;\n }\n\n if (\n formatService &&\n format &&\n TASK_I18N_DATE_KEYS.has(key) &&\n (value instanceof Date || (typeof value === 'string' && isDateLikeString(value)))\n ) {\n const date =\n value instanceof Date ? value : parseDateOnlyString(value) ?? new Date(value);\n if (!Number.isNaN(date.getTime())) {\n const formatted = formatService.format(date, 'date', { format });\n const text = typeof formatted === 'string' ? formatted : String(formatted ?? '');\n if (text) {\n params[key] = text;\n }\n }\n continue;\n }\n\n const text = toTaskTranslationParam(translationService, value);\n if (text) {\n params[key] = text;\n }\n }\n\n return params;\n}\n\n//#endregion\n\n//#region ---- Title / description keys ----\n\nfunction isTranslationKey(value: string | undefined): boolean {\n return !!value?.trim().startsWith('@');\n}\n\nfunction 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\nasync function composeTitleLiteralFromParts(\n context: Record<string, unknown> | undefined,\n workflowState: AXPWorkflowState | undefined,\n deps: WorkflowTaskTranslationDeps,\n): Promise<string> {\n const parts = context?.[AXP_WORKFLOW_TASK_CONTEXT_TITLE_PARTS_KEY];\n if (!Array.isArray(parts)) {\n return '';\n }\n\n const scope = buildWorkflowTaskExpressionScope(workflowState, deps.expressionScopeService);\n const segments: string[] = [];\n\n for (const part of parts) {\n const raw = await deps.expressionEvaluator.evaluate(part, scope);\n const text = toTaskTranslationParam(deps.translationService, raw);\n if (text) {\n segments.push(text);\n }\n }\n\n return segments.join(' — ');\n}\n\n/** Resolves bookmark title/description i18n keys and raw `_taskI18n` params (no locale interpolation). */\nexport async function resolveWorkflowTaskCopyKeys(\n payload: {\n title?: string;\n description?: string;\n activityName?: string;\n context?: Record<string, unknown>;\n workflowState?: AXPWorkflowState;\n },\n deps: WorkflowTaskTranslationDeps,\n): Promise<{\n title: string;\n titleKey?: string;\n description?: string;\n descriptionKey?: string;\n taskI18nParams: Record<string, unknown>;\n}> {\n const taskI18nParams = await buildWorkflowTaskI18nParams(\n payload.context,\n payload.workflowState,\n deps.expressionScopeService,\n deps.expressionEvaluator,\n );\n\n const rawTitle = payload.title?.trim();\n let titleKey: string | undefined;\n let title = rawTitle || payload.activityName?.trim() || 'Workflow Task';\n\n if (rawTitle && isTranslationKey(rawTitle)) {\n titleKey = rawTitle;\n title = rawTitle;\n } else if (isGenericHumanTaskTitle(rawTitle)) {\n const composed = await composeTitleLiteralFromParts(payload.context, payload.workflowState, deps);\n if (composed) {\n title = composed;\n }\n }\n\n const rawDescription = payload.description?.trim();\n let descriptionKey: string | undefined;\n let description = rawDescription || (payload.activityName ? `Action required: ${payload.activityName}` : undefined);\n\n if (isTranslationKey(rawDescription)) {\n descriptionKey = rawDescription;\n description = rawDescription;\n }\n\n return {\n title,\n ...(titleKey ? { titleKey } : {}),\n ...(description ? { description } : {}),\n ...(descriptionKey ? { descriptionKey } : {}),\n taskI18nParams,\n };\n}\n\n/** Builds locale-aware interpolation params for workflow human-task copy (history, legacy callers). */\nexport async function buildWorkflowTaskDisplayParams(\n context: Record<string, unknown> | undefined,\n workflowState: AXPWorkflowState | undefined,\n deps: WorkflowTaskTranslationDeps,\n formatService?: AXFormatService,\n settingsService?: AXPSettingsService,\n): Promise<Record<string, string>> {\n const raw = await buildWorkflowTaskI18nParams(\n context,\n workflowState,\n deps.expressionScopeService,\n deps.expressionEvaluator,\n );\n return formatWorkflowTaskI18nParamsForDisplay(raw, deps.translationService, formatService, settingsService);\n}\n\nfunction isWorkflowAuditPropertyKey(key: string): boolean {\n return (\n key.endsWith('_outcome') ||\n key.endsWith('_completedByUserId') ||\n key.endsWith('_completedByLabel') ||\n key.endsWith('_activityOutput') ||\n key.endsWith('_assignedUserIds') ||\n key.endsWith('_candidateUserIds') ||\n key.endsWith('_reassignedToSelf') ||\n key === 'taskReassignHistory' ||\n key === '__lastActivityOutput'\n );\n}\n\n/** Display params from workflow input/properties when no bookmark `_taskI18n` is available. */\nexport async function buildWorkflowTaskDisplayParamsFromWorkflowState(\n workflowState: AXPWorkflowState | undefined,\n deps: WorkflowTaskTranslationDeps,\n formatService?: AXFormatService,\n settingsService?: AXPSettingsService,\n): Promise<Record<string, string>> {\n const raw: Record<string, unknown> = {};\n for (const [key, value] of Object.entries(workflowState?.input ?? {})) {\n if (value != null && value !== '') {\n raw[key] = value;\n }\n }\n for (const [key, value] of Object.entries(workflowState?.properties ?? {})) {\n if (isWorkflowAuditPropertyKey(key)) {\n continue;\n }\n if (value != null && value !== '' && !(key in raw)) {\n raw[key] = value;\n }\n }\n return formatWorkflowTaskI18nParamsForDisplay(raw, deps.translationService, formatService, settingsService);\n}\n\n/** Builds a display title from `context._taskTitleParts` using expression evaluation. */\nexport async function composeWorkflowTaskTitleFromContext(\n context: Record<string, unknown> | undefined,\n workflowState: AXPWorkflowState | undefined,\n deps: WorkflowTaskTranslationDeps,\n): Promise<string> {\n return composeTitleLiteralFromParts(context, workflowState, deps);\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXDataSourceFilterOption } from '@acorex/cdk/common';\nimport { AXToastService } from '@acorex/components/toast';\nimport { AXFormatService } from '@acorex/core/format';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport {\n AXPEntity,\n AXPRegionalSetting,\n AXPSettingsService,\n AXPStatusDefinition,\n AXPStatusDefinitionProviderService,\n AXPStatusProvider,\n AXPSystemStatuses,\n} from '@acorex/platform/common';\nimport {\n AXPExtraField,\n AXPTask,\n AXPTaskActionMenuItem,\n AXPTaskFilter,\n AXPTaskPopoverComponent,\n AXPTaskPopoverMetadata,\n AXPTaskPopoverMetadataField,\n AXPTaskStatus,\n AXPWorkflowTaskProvider,\n filterTasksOverlappingRange,\n mapEntityStatusColorForBadge,\n matchesTaskBoardAssigneeUserIdsFilter,\n matchesTaskDueStatusFilter,\n matchesTaskPriorityFilter,\n normalizeTaskPriority,\n AXPDueStatusProviderService,\n} from '@acorex/modules/task-management';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPActionMenuItem, AXPExecuteCommand, AXPExecuteCommandResult, AXPExpressionEvaluatorService, AXPUserReference } from '@acorex/platform/core';\nimport { AXPCommandService } from '@acorex/platform/runtime';\nimport {\n AXP_RECORD_WORKFLOW_INFO_INSTANCE_ID_FIELD,\n AXPEntityDefinitionRegistryService,\n AXPEntityService,\n} from '@acorex/platform/layout/entity';\nimport type { AXPWorkflowState } from '@acorex/platform/contracts';\nimport { AXPWorkflowDefinitionService, AXPWorkflowManager, WorkflowExpressionScopeService } from '@acorex/platform/workflow';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/widget-core';\nimport { AXPWidgetsList } from '@acorex/modules/common';\nimport { AXPWorkflowInstanceHumanTaskService } from './workflow-instance-human-task.service';\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} from './workflow-task-context.constants';\nimport {\n resolveWorkflowTaskCopyKeys,\n} from './workflow-task-translation.utils';\nimport { AXMWorkflowManagementCommandKeys } from '../workflow-run-plugin/commands.keys';\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 * Prefer {@link provideGenericWorkflowTaskProvider} (dynamic import) instead of a static class import in NgModule providers.\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//#region ---- Provider Class ----\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 formatService = inject(AXFormatService);\n private readonly settingsService = inject(AXPSettingsService);\n private readonly entityRegistry = inject(AXPEntityDefinitionRegistryService);\n private readonly statusDefinitionService = inject(AXPStatusDefinitionProviderService);\n private readonly workflowDefinitionService = inject(AXPWorkflowDefinitionService);\n private readonly workflowManager = inject(AXPWorkflowManager);\n private readonly humanTaskService = inject(AXPWorkflowInstanceHumanTaskService);\n private readonly sessionService = inject(AXPSessionService);\n private readonly toastService = inject(AXToastService);\n private readonly commandService = inject(AXPCommandService);\n private readonly dueStatusProviderService = inject(AXPDueStatusProviderService);\n private readonly expressionScopeService = inject(WorkflowExpressionScopeService);\n private readonly expressionEvaluator = inject(AXPExpressionEvaluatorService);\n\n //#endregion\n\n //#region ---- Cache State ----\n\n /** Primary entity type (with status plugin) inferred from the workflow definition. */\n private primaryEntityTypeWithStatus: string | null | undefined;\n\n /** Per-provider caches (one instance per workflow definition). */\n private readonly entityDefinitionCache = new Map<string, Promise<AXPEntity | null>>();\n private readonly statusDefinitionKeyByEntityType = new Map<string, string | null>();\n private readonly statusProviderByDefinitionKey = new Map<string, Promise<AXPStatusProvider | undefined>>();\n private readonly userReferenceCache = new Map<string, Promise<AXPUserReference>>();\n private readonly entityStatusIdCache = new Map<string, Promise<string | null>>();\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 ---- Bookmark Helpers ----\n\n /** Bookmark types shown on the workflow task board. */\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 /** Pooled task: must be claimed before submit/cancel (cartable, or human-task with candidates only). */\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 /** Human-task assigned to another user; current user may take over when permitted. */\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 private isWorkflowRunCommand(commandName: string): boolean {\n return (Object.values(AXMWorkflowManagementCommandKeys.WorkflowRun) as string[]).includes(commandName);\n }\n\n /**\n * Secondary popover menu: workflow run utilities (history, take over).\n */\n private appendWorkflowMoreMenuActions(\n actions: AXPTaskActionMenuItem[],\n taskData: Record<string, unknown> | undefined,\n payload: HumanTaskBookmarkPayload | undefined,\n ): void {\n const instanceId = taskData?.['instanceId'];\n if (typeof instanceId !== 'string' || !instanceId.trim()) {\n return;\n }\n\n actions.push({\n name: 'workflow-run-history',\n title: '@workflow-management:workflow-run.actions.history.title',\n icon: 'fa-light fa-clock-rotate-left',\n color: 'default',\n priority: 'secondary',\n command: {\n name: AXMWorkflowManagementCommandKeys.WorkflowRun.ShowHistory,\n options: { instanceId },\n },\n });\n\n if (payload && this.isReassignableHumanTaskPayload(payload) && this.canTakeOverTask()) {\n actions.push({\n name: 'workflow-run-take-over',\n title: '@workflow-management:workflow-run.actions.take-over.title',\n icon: 'fa-light fa-user-check',\n color: 'default',\n priority: 'secondary',\n command: {\n name: AXMWorkflowManagementCommandKeys.WorkflowRun.TakeOver,\n options: { instanceId },\n },\n });\n }\n }\n\n //#endregion\n\n //#region ---- Task Retrieval ----\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 ?? 5000,\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 priorityFiltered =\n options?.priorities && options.priorities.length > 0\n ? rangeFiltered.filter((task) => matchesTaskPriorityFilter(task, options.priorities!))\n : rangeFiltered;\n const dueStatusFiltered =\n options?.dueStatusKeys && options.dueStatusKeys.length > 0\n ? priorityFiltered.filter((task) => matchesTaskDueStatusFilter(task, options.dueStatusKeys!))\n : priorityFiltered;\n const total = dueStatusFiltered.length;\n const skip = options?.skip ?? 0;\n const take = options?.take ?? total;\n const items = dueStatusFiltered.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 //#endregion\n\n //#region ---- Task Display & Translation ----\n\n /** Task-board \"started by\": workflow instance creator (initiator), not the current viewer. */\n private buildStartedByFromInstance(instance: AXMWorkflowManagementWorkflowInstanceEntityModel): AXPUserReference {\n const audit = instance.auditInfo?.created?.by;\n if (audit?.id) {\n return {\n id: audit.id,\n type: 'user',\n fullName: audit.fullName?.trim() || audit.id,\n };\n }\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 return { id: '', type: 'user', fullName: '' };\n }\n\n private getWorkflowStateFromInstance(\n instance: AXMWorkflowManagementWorkflowInstanceEntityModel,\n ): AXPWorkflowState | undefined {\n const wi = instance?.workflowInstance as { workflowState?: AXPWorkflowState } | undefined;\n return wi?.workflowState;\n }\n\n /**\n * Formats dates for task popover metadata using regional short-date settings.\n */\n private async formatDateForTaskDisplay(value: Date | string): Promise<string> {\n const date =\n value instanceof Date\n ? value\n : this.parseDateOnlyString(value) ?? this.parseIsoDateString(value);\n if (!date || Number.isNaN(date.getTime())) {\n return typeof value === 'string' ? value.trim() : '';\n }\n const format = await this.settingsService.get(AXPRegionalSetting.ShortDate);\n const formatted = this.formatService.format(date, 'date', { format });\n return typeof formatted === 'string' ? formatted : String(formatted ?? '');\n }\n\n private parseIsoDateString(value: string): Date | null {\n const parsed = new Date(value);\n return Number.isNaN(parsed.getTime()) ? null : parsed;\n }\n\n private parseBookmarkDueDate(value: string | Date | null | undefined): Date | null {\n if (value == null || value === '') {\n return null;\n }\n const date = value instanceof Date ? value : new Date(value);\n return Number.isNaN(date.getTime()) ? null : date;\n }\n\n //#endregion\n\n //#region ---- User Resolution ----\n\n /** Resolve platform user id to a display label for the task board grid. */\n private async resolveAssigneeReference(userId: string | undefined): Promise<AXPUserReference | undefined> {\n const id = userId?.trim();\n if (!id) {\n return undefined;\n }\n const cached = this.userReferenceCache.get(id);\n if (cached) {\n return cached;\n }\n const load = this.loadUserReference(id);\n this.userReferenceCache.set(id, load);\n return load;\n }\n\n private async loadUserReference(id: string): Promise<AXPUserReference> {\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 //#endregion\n\n //#region ---- Task Mapping ----\n\n /** Map bookmark to task board task format. */\n private async mapBookmarkToTask(\n instance: AXMWorkflowManagementWorkflowInstanceEntityModel,\n bookmark: WorkflowInstanceBookmark,\n payload: HumanTaskBookmarkPayload,\n ): Promise<AXPTask<Record<string, any>>> {\n const dueDateParsed = this.parseBookmarkDueDate(payload.dueDate);\n const hasExplicitDueDate = dueDateParsed != null;\n\n const instanceCreatedAt = instance.createdAt ? new Date(instance.createdAt) : new Date();\n // Due date may precede suspension time (e.g. leave approval due day before leave start).\n const startDate = hasExplicitDueDate ? dueDateParsed : instanceCreatedAt;\n const endDate = hasExplicitDueDate ? dueDateParsed : instanceCreatedAt;\n\n const priority = normalizeTaskPriority(payload.priority ?? 'Normal');\n\n const workflowState = this.getWorkflowStateFromInstance(instance);\n const copy = await resolveWorkflowTaskCopyKeys(\n {\n title: payload.title,\n description: payload.description,\n activityName: payload.activityName,\n context: payload.context,\n workflowState,\n },\n {\n expressionScopeService: this.expressionScopeService,\n expressionEvaluator: this.expressionEvaluator,\n translationService: this.translationService,\n },\n );\n\n const assigneeId = payload.assignedUserIds?.[0];\n const assignee = await this.resolveAssigneeReference(assigneeId);\n const resolvedStatus = await this.resolveTaskStatus(payload, instance);\n const bookmarkConsumed = Boolean(bookmark.isConsumed || bookmark.consumed);\n\n const baseTask: AXPTask<Record<string, any>> = {\n id: bookmark.id, // Use bookmark ID as task ID\n title: copy.title,\n description: copy.description,\n startDate,\n endDate,\n allDay: false,\n assignee,\n index: 2,\n createdAt: instanceCreatedAt,\n updatedAt: instance.updatedAt ? new Date(instance.updatedAt) : instanceCreatedAt,\n status: {\n id: resolvedStatus.id,\n title: resolvedStatus.title,\n color: mapEntityStatusColorForBadge(resolvedStatus.color, resolvedStatus.id),\n },\n priority,\n reporter: this.buildStartedByFromInstance(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 statusColor: resolvedStatus.color,\n entityStatusDefinition: resolvedStatus.definition,\n entityStatusDefinitionKey: resolvedStatus.definitionKey,\n hasExplicitDueDate,\n bookmarkConsumed,\n ...(copy.titleKey ? { titleKey: copy.titleKey } : {}),\n ...(copy.descriptionKey ? { descriptionKey: copy.descriptionKey } : {}),\n taskI18nParams: copy.taskI18nParams,\n payload: payload,\n } as any,\n };\n\n return this.dueStatusProviderService.attachDueStatusToTask(baseTask, {\n workflowDefinitionId: instance.definitionId,\n activityType: payload.activityType,\n });\n }\n\n /** @deprecated Use normalizeTaskPriority from task-management instead. */\n private mapPriorityToTaskPriority(\n priority: 'Low' | 'Normal' | 'High' | 'Urgent',\n ): 'urgent' | 'high' | 'normal' | 'low' {\n return normalizeTaskPriority(priority);\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 const reassigned = await this.humanTaskService.reassignBookmarkToCurrentUserWithConfirm(\n instanceId,\n bookmarkId,\n activityId,\n );\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.humanTaskService.resumeSuspendedHumanTask({\n instanceId,\n bookmarkId,\n activityId,\n taskToken,\n outcome,\n userInput: { ...(userInput as Record<string, unknown>), bookmarkId },\n });\n\n if (result.success) {\n this.refresh();\n }\n\n return {\n success: result.success,\n message: result.error\n ? {\n text: result.error,\n }\n : undefined,\n };\n }\n\n if (this.isWorkflowRunCommand(command.name)) {\n if (!instanceId) {\n return {\n success: false,\n message: {\n text: await this.translationService.translateAsync(\n '@workflow-management:workflow-run.history.messages.no-instance',\n ),\n },\n };\n }\n const runResult = await this.commandService.execute(command.name, {\n __context__: {\n data: { workflowInfo: { instanceId: String(instanceId) } },\n },\n ...command.options,\n });\n return runResult ?? { success: false };\n }\n\n return { success: true };\n }\n\n //#endregion\n\n //#region ---- Actions & Statuses ----\n\n /** Keeps workflow action labels as i18n keys for the popover translate pipe. */\n private resolveWorkflowActionTitle(title: unknown, fallback: string): string {\n const raw = typeof title === 'string' ? title.trim() : '';\n if (raw.startsWith('@')) {\n return raw;\n }\n return raw || fallback;\n }\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 this.appendWorkflowMoreMenuActions(actions, taskData, payload);\n return actions;\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: this.resolveWorkflowActionTitle(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 this.appendWorkflowMoreMenuActions(actions, taskData, payload);\n return actions;\n }\n\n async getExtraFields(): Promise<AXPExtraField[]> {\n return [];\n }\n\n async getStatuses(): Promise<AXPTaskStatus[]> {\n const entityType = await this.resolvePrimaryEntityTypeForProvider();\n if (entityType) {\n const provider = await this.getEntityStatusProvider(entityType);\n if (provider) {\n return this.mapStatusProviderToTaskStatuses(provider);\n }\n }\n return this.getWorkflowTaskStatuses();\n }\n\n //#endregion\n\n //#region ---- Entity Status Resolution ----\n\n /** Resolves task status from bookmark context `statusId` and entity status plugin; falls back to workflow Pending. */\n private async resolveTaskStatus(\n payload: HumanTaskBookmarkPayload,\n instance: AXMWorkflowManagementWorkflowInstanceEntityModel,\n ): Promise<{\n id: string;\n title: string;\n color?: string;\n definition?: AXPStatusDefinition;\n definitionKey?: string;\n }> {\n const context = payload.context;\n const entityType = await this.resolveEntityTypeForTask(context, instance);\n\n if (!entityType) {\n return this.getWorkflowPendingStatus();\n }\n\n const definitionKey = this.getStatusDefinitionKeyForEntityType(entityType);\n if (!definitionKey) {\n return this.getWorkflowPendingStatus();\n }\n\n const provider = await this.getStatusProviderByDefinitionKey(definitionKey);\n if (!provider) {\n return this.getWorkflowPendingStatus();\n }\n\n let statusId = this.readContextString(context, 'statusId');\n if (this.isUnresolvedWorkflowExpression(statusId)) {\n statusId = null;\n }\n\n if (!statusId) {\n statusId = await this.loadEntityStatusIdFromContext(context, entityType, instance);\n }\n\n if (!statusId) {\n statusId = await this.loadEntityStatusIdByWorkflowInstance(entityType, instance.id);\n }\n\n if (!statusId) {\n const defaultStatus = provider.defaultStatus;\n statusId = typeof defaultStatus === 'string' && defaultStatus.trim().length > 0 ? defaultStatus.trim() : null;\n }\n\n if (statusId) {\n const definition = provider.statuses.find((status) => status.name === statusId);\n if (definition) {\n return {\n id: definition.name,\n title: await this.translateStatusTitle(definition.title),\n color: definition.color,\n definition,\n definitionKey,\n };\n }\n }\n\n return this.getWorkflowPendingStatus();\n }\n\n private async resolveEntityTypeForTask(\n context: Record<string, unknown> | undefined,\n instance: AXMWorkflowManagementWorkflowInstanceEntityModel,\n ): Promise<string | null> {\n const fromContext = this.readContextString(context, 'entityType');\n if (fromContext && (await this.entityTypeHasStatusPlugin(fromContext))) {\n return fromContext;\n }\n const refType = instance.entityRefType?.trim();\n if (refType && (await this.entityTypeHasStatusPlugin(refType))) {\n return refType;\n }\n return this.resolvePrimaryEntityTypeForProvider();\n }\n\n /** True when a bookmark value was stored without expression evaluation. */\n private isUnresolvedWorkflowExpression(value: string | null): boolean {\n if (!value) {\n return false;\n }\n return /\\{\\{/.test(value) || /\\}\\}/.test(value);\n }\n\n /**\n * Loads `statusId` from the linked entity row when bookmark context omits or stale-fails it.\n */\n private async loadEntityStatusIdFromContext(\n context: Record<string, unknown> | undefined,\n entityType: string,\n instance: AXMWorkflowManagementWorkflowInstanceEntityModel,\n ): Promise<string | null> {\n const contextEntityId = this.readContextString(context, 'lifecycleEventId');\n const refType = instance.entityRefType?.trim();\n const refId = instance.entityRefId?.trim();\n const entityId =\n contextEntityId ??\n (refType === entityType && refId ? refId : null);\n\n if (!entityId) {\n return null;\n }\n\n return this.loadEntityStatusId(entityType, entityId);\n }\n\n /**\n * Finds a row of `entityType` linked to this workflow instance (e.g. LifecycleEvent.workflowInfo.instanceId).\n */\n private async loadEntityStatusIdByWorkflowInstance(\n entityType: string,\n workflowInstanceId: string | undefined,\n ): Promise<string | null> {\n const instanceId = workflowInstanceId?.trim();\n if (!instanceId) {\n return null;\n }\n\n const cacheKey = `${entityType}::wi::${instanceId}`;\n const cached = this.entityStatusIdCache.get(cacheKey);\n if (cached) {\n return cached;\n }\n\n const load = this.fetchEntityStatusIdByWorkflowInstance(entityType, instanceId);\n this.entityStatusIdCache.set(cacheKey, load);\n return load;\n }\n\n private async fetchEntityStatusIdByWorkflowInstance(\n entityType: string,\n instanceId: string,\n ): Promise<string | null> {\n const parsed = this.parseQualifiedEntityType(entityType);\n if (!parsed) {\n return null;\n }\n\n try {\n const { items } = await this.entityService.withEntity(parsed.module, parsed.name).data().query({\n skip: 0,\n take: 1,\n filter: {\n logic: 'and',\n filters: [\n { field: AXP_RECORD_WORKFLOW_INFO_INSTANCE_ID_FIELD, operator: { type: 'equal' }, value: instanceId },\n ],\n },\n });\n\n const row = items?.[0];\n if (!row || typeof row !== 'object') {\n return null;\n }\n const raw = (row as { statusId?: unknown }).statusId;\n if (raw == null) {\n return null;\n }\n const text = String(raw).trim();\n return text.length > 0 ? text : null;\n } catch {\n return null;\n }\n }\n\n private async loadEntityStatusId(entityType: string, entityId: string): Promise<string | null> {\n const cacheKey = `${entityType}::${entityId}`;\n const cached = this.entityStatusIdCache.get(cacheKey);\n if (cached) {\n return cached;\n }\n const load = this.fetchEntityStatusIdByKey(entityType, entityId);\n this.entityStatusIdCache.set(cacheKey, load);\n return load;\n }\n\n private async fetchEntityStatusIdByKey(entityType: string, entityId: string): Promise<string | null> {\n const parsed = this.parseQualifiedEntityType(entityType);\n if (!parsed) {\n return null;\n }\n try {\n const row = await this.entityService.withEntity(parsed.module, parsed.name).data<string>().byKey(entityId);\n if (!row || typeof row !== 'object') {\n return null;\n }\n const raw = (row as { statusId?: unknown }).statusId;\n if (raw == null) {\n return null;\n }\n const text = String(raw).trim();\n return text.length > 0 ? text : null;\n } catch {\n return null;\n }\n }\n\n //#endregion\n\n //#region ---- Task Board Status Labels ----\n\n /** Fallback workflow task-board status when no entity status plugin applies. */\n private getWorkflowPendingStatus(): { id: string; title: string; color: string } {\n return {\n id: AXPSystemStatuses.Pending.name,\n title: this.translationService.translateSync('@workflow-management:tasks.states.pending'),\n color: 'warning',\n };\n }\n\n private async getWorkflowTaskStatuses(): Promise<AXPTaskStatus[]> {\n const pending = this.getWorkflowPendingStatus();\n return [\n {\n index: 0,\n key: pending.id,\n title: pending.title,\n color: pending.color,\n },\n ];\n }\n\n private async mapStatusProviderToTaskStatuses(provider: AXPStatusProvider): Promise<AXPTaskStatus[]> {\n const sorted = [...provider.statuses].sort((a, b) => (a.order ?? 0) - (b.order ?? 0));\n const statuses: AXPTaskStatus[] = [];\n for (let index = 0; index < sorted.length; index++) {\n const status = sorted[index];\n statuses.push({\n index,\n key: status.name,\n title: await this.translateStatusTitle(status.title),\n color: status.color,\n });\n }\n return statuses;\n }\n\n private async translateStatusTitle(title: string): Promise<string> {\n const raw = title?.trim();\n if (!raw) {\n return '';\n }\n if (raw.startsWith('@')) {\n return this.translationService.translateAsync(raw);\n }\n return raw;\n }\n\n //#endregion\n\n //#region ---- Entity Status Cache & Registry ----\n\n private readContextString(context: Record<string, unknown> | undefined, key: string): string | null {\n const value = context?.[key];\n if (value == null) {\n return null;\n }\n const text = String(value).trim();\n return text.length > 0 ? text : null;\n }\n\n private parseQualifiedEntityType(entityType: string): { module: string; name: string } | null {\n const trimmed = entityType.trim();\n const dot = trimmed.indexOf('.');\n if (dot <= 0 || dot >= trimmed.length - 1) {\n return null;\n }\n return { module: trimmed.slice(0, dot), name: trimmed.slice(dot + 1) };\n }\n\n private async resolveEntityDefinition(entityType: string): Promise<AXPEntity | null> {\n const key = entityType.trim();\n if (!key) {\n return null;\n }\n const existing = this.entityDefinitionCache.get(key);\n if (existing) {\n return existing;\n }\n const load = this.fetchEntityDefinition(key);\n this.entityDefinitionCache.set(key, load);\n return load;\n }\n\n private async fetchEntityDefinition(entityType: string): Promise<AXPEntity | null> {\n const parsed = this.parseQualifiedEntityType(entityType);\n if (!parsed) {\n return null;\n }\n try {\n return await this.entityRegistry.resolve(parsed.module, parsed.name);\n } catch {\n return null;\n }\n }\n\n private getStatusPluginDefinitionKey(entity: AXPEntity): string | null {\n const plugin = entity.plugins?.find((p) => p.name === 'status');\n const definition = plugin?.options?.['definition'];\n return typeof definition === 'string' && definition.trim().length > 0 ? definition.trim() : null;\n }\n\n private async entityTypeHasStatusPlugin(entityType: string | null | undefined): Promise<boolean> {\n if (!entityType?.trim()) {\n return false;\n }\n await this.warmStatusDefinitionKeyCache(entityType);\n return this.getStatusDefinitionKeyForEntityType(entityType) != null;\n }\n\n private getStatusDefinitionKeyForEntityType(entityType: string): string | null {\n const key = entityType.trim();\n if (!key) {\n return null;\n }\n if (this.statusDefinitionKeyByEntityType.has(key)) {\n return this.statusDefinitionKeyByEntityType.get(key) ?? null;\n }\n return null;\n }\n\n /**\n * Warms status-definition-key cache for an entity type (call after resolveEntityDefinition).\n */\n private rememberStatusDefinitionKeyForEntityType(entityType: string, entity: AXPEntity | null): void {\n const key = entityType.trim();\n if (!key || this.statusDefinitionKeyByEntityType.has(key)) {\n return;\n }\n const definitionKey = entity ? this.getStatusPluginDefinitionKey(entity) : null;\n this.statusDefinitionKeyByEntityType.set(key, definitionKey);\n }\n\n private async getEntityStatusProvider(entityType: string): Promise<AXPStatusProvider | undefined> {\n let definitionKey = this.getStatusDefinitionKeyForEntityType(entityType);\n if (!definitionKey) {\n const entity = await this.resolveEntityDefinition(entityType);\n this.rememberStatusDefinitionKeyForEntityType(entityType, entity);\n definitionKey = this.getStatusDefinitionKeyForEntityType(entityType);\n }\n if (!definitionKey) {\n return undefined;\n }\n return this.getStatusProviderByDefinitionKey(definitionKey);\n }\n\n private getStatusProviderByDefinitionKey(\n definitionKey: string,\n ): Promise<AXPStatusProvider | undefined> {\n const key = definitionKey.trim();\n const existing = this.statusProviderByDefinitionKey.get(key);\n if (existing) {\n return existing;\n }\n const load = this.statusDefinitionService.getStatus(key);\n this.statusProviderByDefinitionKey.set(key, load);\n return load;\n }\n\n //#endregion\n\n //#region ---- Entity Status Presentation ----\n\n private async findStatusDefinition(\n entityType: string,\n statusId: string,\n ): Promise<AXPStatusDefinition | undefined> {\n const provider = await this.getEntityStatusProvider(entityType);\n return provider?.statuses.find((status) => status.name === statusId);\n }\n\n private async warmStatusDefinitionKeyCache(entityType: string): Promise<void> {\n if (this.statusDefinitionKeyByEntityType.has(entityType.trim())) {\n return;\n }\n const entity = await this.resolveEntityDefinition(entityType);\n this.rememberStatusDefinitionKeyForEntityType(entityType, entity);\n }\n\n /**\n * First `entity-create` target in this workflow whose entity has a status plugin (cached per provider).\n */\n private async resolvePrimaryEntityTypeForProvider(): Promise<string | null> {\n if (this.primaryEntityTypeWithStatus !== undefined) {\n return this.primaryEntityTypeWithStatus;\n }\n\n let resolved: string | null = null;\n const definitionId = this.config.definitionId?.trim();\n if (definitionId) {\n const definition = await this.workflowDefinitionService.getWorkflowByName(definitionId);\n for (const activity of definition?.graph?.activities ?? []) {\n if (activity.name !== 'workflow-activity:entity-create') {\n continue;\n }\n const entity = activity.inputs?.['entity'];\n if (typeof entity !== 'string' || !entity.trim()) {\n continue;\n }\n const entityType = entity.trim();\n await this.warmStatusDefinitionKeyCache(entityType);\n if (this.getStatusDefinitionKeyForEntityType(entityType)) {\n resolved = entityType;\n break;\n }\n }\n }\n\n this.primaryEntityTypeWithStatus = resolved;\n return resolved;\n }\n\n //#endregion\n\n //#region ---- Popover Metadata ----\n\n override async getPopoverMetadata(task: AXPTask<Record<string, unknown>>): Promise<AXPTaskPopoverMetadata> {\n return this.buildPopoverMetadata(task);\n }\n\n /**\n * Builds label/value metadata rows for the workflow task popover (view-mode widgets).\n */\n private async buildPopoverMetadata(task: AXPTask<Record<string, unknown>>): Promise<AXPTaskPopoverMetadata> {\n const context: Record<string, unknown> = {};\n const fields: AXPTaskPopoverMetadataField[] = [];\n const payload = (task.data as { payload?: HumanTaskBookmarkPayload } | undefined)?.payload;\n\n const pushField = (\n name: string,\n title: string,\n widgetType: string,\n value: unknown,\n options: Record<string, unknown> = {},\n allowEmpty = false,\n ): void => {\n if (!allowEmpty && !this.hasMeaningfulPopoverValue(value)) {\n return;\n }\n context[name] = value;\n fields.push({\n name,\n title,\n node: {\n type: widgetType,\n name,\n path: name,\n mode: 'view',\n options,\n },\n });\n };\n\n if (task.status?.id != null && String(task.status.id).trim()) {\n const taskData = task.data as {\n entityStatusDefinition?: AXPStatusDefinition;\n entityStatusDefinitionKey?: string;\n };\n const statusId = String(task.status.id);\n const statusDefinition = taskData?.entityStatusDefinition;\n const statusDefinitionKey = taskData?.entityStatusDefinitionKey;\n\n if (statusDefinitionKey && statusDefinition) {\n // Pass the full status definition so the chip renders before async provider load completes.\n pushField(\n 'status',\n '@general:terms.status.title',\n AXPWidgetsList.Advanced.Status,\n statusDefinition,\n {\n definitionKey: statusDefinitionKey,\n readonly: true,\n },\n );\n } else {\n const statusColor = mapEntityStatusColorForBadge(\n statusDefinition?.color ??\n (task.data as { statusColor?: string } | undefined)?.statusColor,\n task.status.id,\n );\n pushField(\n 'status',\n '@general:terms.status.title',\n AXPWidgetsList.Layouts.BadgeLayout,\n {\n text: task.status.title,\n color: statusColor,\n icon: statusDefinition?.icon ?? 'fa-light fa-flag',\n },\n { look: 'twotone' },\n );\n }\n }\n\n pushField(\n 'assignee',\n '@workflow-management:tasks.popover.assignee',\n AXPWidgetsCatalog.text,\n this.formatUserReferenceLabel(task.assignee),\n {},\n true,\n );\n\n pushField(\n 'startedBy',\n '@workflow-management:tasks.popover.started-by',\n AXPWidgetsCatalog.text,\n this.formatUserReferenceLabel(task.reporter),\n {},\n true,\n );\n\n const createdAt = task.createdAt ?? task.startDate;\n if (createdAt) {\n pushField('createdAt', '@workflow-management:tasks.popover.created', AXPWidgetsCatalog.dateTime, createdAt, {\n showTime: false,\n });\n }\n\n const hasExplicitDueDate = (task.data as { hasExplicitDueDate?: boolean } | undefined)?.hasExplicitDueDate === true;\n const dueDate = hasExplicitDueDate ? this.resolveDueDate(payload?.dueDate ?? task.endDate) : null;\n if (dueDate) {\n const taskWithDueStatus = this.dueStatusProviderService.attachDueStatusToTask(task, {\n workflowDefinitionId: (task.data as { definitionId?: string } | undefined)?.definitionId,\n activityType: payload?.activityType,\n });\n const dueStatus = (taskWithDueStatus.data as { dueStatus?: { color?: string; icon?: string } } | undefined)\n ?.dueStatus;\n const formattedDueDate = await this.formatDateForTaskDisplay(dueDate);\n\n pushField(\n 'dueDate',\n '@workflow-management:tasks.popover.due',\n AXPWidgetsList.Layouts.BadgeLayout,\n {\n text: formattedDueDate,\n color: dueStatus?.color ?? 'secondary',\n icon: dueStatus?.icon ?? 'fa-light fa-calendar',\n },\n { look: 'twotone' },\n );\n }\n\n const effectiveDate = this.resolveEffectiveDateValue(payload?.context);\n if (effectiveDate.kind === 'date') {\n pushField(\n 'effectiveDate',\n '@workflow-management:tasks.popover.effective-date',\n AXPWidgetsCatalog.dateTime,\n effectiveDate.value,\n { showTime: false },\n );\n } else if (effectiveDate.kind === 'text') {\n pushField(\n 'effectiveDate',\n '@workflow-management:tasks.popover.effective-date',\n AXPWidgetsCatalog.text,\n effectiveDate.value,\n );\n }\n\n if (task.priority) {\n pushField(\n 'priority',\n '@workflow-management:tasks.popover.priority',\n AXPWidgetsList.Layouts.BadgeLayout,\n {\n text: task.priority.charAt(0).toUpperCase() + task.priority.slice(1),\n color: this.resolveTaskPriorityColor(task.priority),\n icon: 'fa-light fa-exclamation-circle',\n },\n { look: 'twotone' },\n );\n }\n\n return { context, fields };\n }\n\n //#endregion\n\n //#region ---- Popover Helpers ----\n\n private hasMeaningfulPopoverValue(value: unknown): boolean {\n if (value === null || value === undefined) {\n return false;\n }\n if (typeof value === 'string') {\n const trimmed = value.trim();\n return trimmed.length > 0 && trimmed !== '—';\n }\n if (value instanceof Date) {\n return !Number.isNaN(value.getTime());\n }\n return true;\n }\n\n private formatUserReferenceLabel(user: AXPUserReference | undefined): string {\n return user?.fullName?.trim() || user?.username?.trim() || '—';\n }\n\n private resolveDueDate(raw: string | Date | null | undefined): Date | null {\n if (raw == null || raw === '') {\n return null;\n }\n const date = typeof raw === 'string' ? new Date(raw) : raw;\n return Number.isNaN(date.getTime()) ? null : date;\n }\n\n private resolveEffectiveDateValue(\n context?: Record<string, unknown>,\n ): { kind: 'none' } | { kind: 'date'; value: Date } | { kind: 'text'; value: string } {\n if (!context || typeof context !== 'object') {\n return { kind: 'none' };\n }\n const i18n = context[AXP_WORKFLOW_TASK_CONTEXT_I18N_KEY];\n const rawFromI18n =\n i18n && typeof i18n === 'object' && !Array.isArray(i18n)\n ? (i18n as Record<string, unknown>)['effectiveDate']\n : undefined;\n const raw =\n rawFromI18n ??\n context['effectiveDate'] ??\n (context['result'] && typeof context['result'] === 'object' && !Array.isArray(context['result'])\n ? (context['result'] as Record<string, unknown>)['effectiveDate']\n : undefined);\n\n if (raw instanceof Date) {\n return Number.isNaN(raw.getTime()) ? { kind: 'none' } : { kind: 'date', value: raw };\n }\n\n if (typeof raw !== 'string' || !raw.trim()) {\n return { kind: 'none' };\n }\n\n const trimmed = raw.trim();\n const parsed = this.parseDateOnlyString(trimmed);\n if (parsed) {\n return { kind: 'date', value: parsed };\n }\n return { kind: 'text', value: trimmed };\n }\n\n /** Parses `yyyy-mm-dd` (and ISO date prefixes) in local time to avoid UTC day shifts in the date widget. */\n private parseDateOnlyString(value: string): Date | null {\n const dateOnlyMatch = /^(\\d{4})-(\\d{2})-(\\d{2})/.exec(value.trim());\n if (!dateOnlyMatch) {\n return null;\n }\n const year = Number(dateOnlyMatch[1]);\n const month = Number(dateOnlyMatch[2]);\n const day = Number(dateOnlyMatch[3]);\n if (!year || month < 1 || month > 12 || day < 1 || day > 31) {\n return null;\n }\n const local = new Date(year, month - 1, day);\n return Number.isNaN(local.getTime()) ? null : local;\n }\n\n private resolveTaskPriorityColor(priority: NonNullable<AXPTask['priority']>): string {\n switch (normalizeTaskPriority(priority)) {\n case 'urgent':\n return 'danger';\n case 'high':\n return 'warning';\n case 'normal':\n return 'secondary';\n case 'low':\n return 'neutral';\n default:\n return 'primary';\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}\n\n//#endregion\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["loadGenericWorkflowTaskProviderClass"],"mappings":"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"}
|