@acorex/modules 21.0.0-next.65 → 21.0.0-next.67
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ai-management/README.md +1 -1
- package/fesm2022/{acorex-modules-ai-management-agent.entity-X51GLTdi.mjs → acorex-modules-ai-management-agent.entity-C3uhOrld.mjs} +81 -1
- package/fesm2022/acorex-modules-ai-management-agent.entity-C3uhOrld.mjs.map +1 -0
- package/fesm2022/{acorex-modules-ai-management-assist.entity-2h5KE9UH.mjs → acorex-modules-ai-management-assist.entity-DRXYUOAf.mjs} +2 -2
- package/fesm2022/acorex-modules-ai-management-assist.entity-DRXYUOAf.mjs.map +1 -0
- package/fesm2022/acorex-modules-ai-management.mjs +175 -44
- package/fesm2022/acorex-modules-ai-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-application-management.mjs +47 -2
- package/fesm2022/acorex-modules-application-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-assessment-management-acorex-modules-assessment-management-DqmJVJ0z.mjs → acorex-modules-assessment-management-acorex-modules-assessment-management-DHM3xrMh.mjs} +106 -88
- package/fesm2022/acorex-modules-assessment-management-acorex-modules-assessment-management-DHM3xrMh.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-assessment-case.entity-DhVwPz0T.mjs → acorex-modules-assessment-management-assessment-case.entity-DLO1sfD4.mjs} +3 -2
- package/fesm2022/acorex-modules-assessment-management-assessment-case.entity-DLO1sfD4.mjs.map +1 -0
- package/fesm2022/acorex-modules-assessment-management-assessment-session-answers-view.util-CDAdDXDl.mjs +122 -0
- package/fesm2022/acorex-modules-assessment-management-assessment-session-answers-view.util-CDAdDXDl.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-assessment-session.entity-BvV2Qgw1.mjs → acorex-modules-assessment-management-assessment-session.entity-FDgQPy0O.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-assessment-session.entity-BvV2Qgw1.mjs.map → acorex-modules-assessment-management-assessment-session.entity-FDgQPy0O.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-fill-assessment-session.command-4fkaeAG-.mjs → acorex-modules-assessment-management-fill-assessment-session.command-CfcHl3L_.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-fill-assessment-session.command-4fkaeAG-.mjs.map → acorex-modules-assessment-management-fill-assessment-session.command-CfcHl3L_.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-preview-question.command-6IGOdVVZ.mjs → acorex-modules-assessment-management-preview-question.command-DsQ_LTMn.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-preview-question.command-6IGOdVVZ.mjs.map → acorex-modules-assessment-management-preview-question.command-DsQ_LTMn.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-preview-questionnaire.command-CRDBe_BS.mjs → acorex-modules-assessment-management-preview-questionnaire.command-BKxRn8Ha.mjs} +7 -7
- package/fesm2022/acorex-modules-assessment-management-preview-questionnaire.command-BKxRn8Ha.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-question-bank-interface-editor-widget-edit.component-B2ES-zcL.mjs → acorex-modules-assessment-management-question-bank-interface-editor-widget-edit.component-Dxhk9mD4.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-question-bank-interface-editor-widget-edit.component-B2ES-zcL.mjs.map → acorex-modules-assessment-management-question-bank-interface-editor-widget-edit.component-Dxhk9mD4.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-question-bank-item.entity-Cw2WCdYK.mjs → acorex-modules-assessment-management-question-bank-item.entity-6H5NiAwi.mjs} +3 -2
- package/fesm2022/acorex-modules-assessment-management-question-bank-item.entity-6H5NiAwi.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-questionnaire-viewer-popup.component-D9I3S-ZT.mjs → acorex-modules-assessment-management-questionnaire-viewer-popup.component-B0ZKyWy5.mjs} +96 -7
- package/fesm2022/acorex-modules-assessment-management-questionnaire-viewer-popup.component-B0ZKyWy5.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-questionnaire.entity-D9nHUmQB.mjs → acorex-modules-assessment-management-questionnaire.entity-BS1ohT8P.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-questionnaire.entity-D9nHUmQB.mjs.map → acorex-modules-assessment-management-questionnaire.entity-BS1ohT8P.mjs.map} +1 -1
- package/fesm2022/acorex-modules-assessment-management-review-assessment-session.command-Dcopsdi4.mjs +228 -0
- package/fesm2022/acorex-modules-assessment-management-review-assessment-session.command-Dcopsdi4.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-view-session-answers.command-BOeO3Dit.mjs → acorex-modules-assessment-management-view-session-answers.command-3UWzJPH6.mjs} +4 -74
- package/fesm2022/acorex-modules-assessment-management-view-session-answers.command-3UWzJPH6.mjs.map +1 -0
- package/fesm2022/acorex-modules-assessment-management.mjs +1 -1
- package/fesm2022/{acorex-modules-asset-management-acorex-modules-asset-management-BtcY1UQy.mjs → acorex-modules-asset-management-acorex-modules-asset-management-BdiaXlkx.mjs} +12 -27
- package/fesm2022/acorex-modules-asset-management-acorex-modules-asset-management-BdiaXlkx.mjs.map +1 -0
- package/fesm2022/{acorex-modules-asset-management-asset-system-assignment.entity-pKZoxsjk.mjs → acorex-modules-asset-management-asset-system-assignment.entity-Bf9nJTkD.mjs} +2 -2
- package/fesm2022/{acorex-modules-asset-management-asset-system-assignment.entity-pKZoxsjk.mjs.map → acorex-modules-asset-management-asset-system-assignment.entity-Bf9nJTkD.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-asset-management-asset-system-type.entity-CXz2G5v1.mjs → acorex-modules-asset-management-asset-system-type.entity-Cbzu3bqC.mjs} +2 -2
- package/fesm2022/{acorex-modules-asset-management-asset-system-type.entity-CXz2G5v1.mjs.map → acorex-modules-asset-management-asset-system-type.entity-Cbzu3bqC.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-asset-management-asset-system.entity-C3zf6WVD.mjs → acorex-modules-asset-management-asset-system.entity-DA7dO3eE.mjs} +2 -2
- package/fesm2022/{acorex-modules-asset-management-asset-system.entity-C3zf6WVD.mjs.map → acorex-modules-asset-management-asset-system.entity-DA7dO3eE.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-asset-management-asset-type-section-component.entity-DTaeNNBW.mjs → acorex-modules-asset-management-asset-type-section-component.entity-C9B-TUQD.mjs} +2 -2
- package/fesm2022/{acorex-modules-asset-management-asset-type-section-component.entity-DTaeNNBW.mjs.map → acorex-modules-asset-management-asset-type-section-component.entity-C9B-TUQD.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-asset-management-asset-type-section.entity-Bes5h7aJ.mjs → acorex-modules-asset-management-asset-type-section.entity-BNz1Zfox.mjs} +2 -2
- package/fesm2022/{acorex-modules-asset-management-asset-type-section.entity-Bes5h7aJ.mjs.map → acorex-modules-asset-management-asset-type-section.entity-BNz1Zfox.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-asset-management-asset-type.entity-Ch8h0sph.mjs → acorex-modules-asset-management-asset-type.entity-D_bBxBKI.mjs} +2 -2
- package/fesm2022/{acorex-modules-asset-management-asset-type.entity-Ch8h0sph.mjs.map → acorex-modules-asset-management-asset-type.entity-D_bBxBKI.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-asset-management-asset.entity-DJ-A6lx1.mjs → acorex-modules-asset-management-asset.entity-Cf_H7edH.mjs} +74 -34
- package/fesm2022/acorex-modules-asset-management-asset.entity-Cf_H7edH.mjs.map +1 -0
- package/fesm2022/acorex-modules-asset-management.mjs +1 -1
- package/fesm2022/{acorex-modules-auth-acorex-modules-auth-D4IBi_VD.mjs → acorex-modules-auth-acorex-modules-auth-BUuEzfsI.mjs} +16 -14
- package/fesm2022/acorex-modules-auth-acorex-modules-auth-BUuEzfsI.mjs.map +1 -0
- package/fesm2022/{acorex-modules-auth-app-chooser.component-BEktaBWD.mjs → acorex-modules-auth-app-chooser.component-DnmLfX5x.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-app-chooser.component-BEktaBWD.mjs.map → acorex-modules-auth-app-chooser.component-DnmLfX5x.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-login.module-aAwHzXPj.mjs → acorex-modules-auth-login.module-D1-POhQk.mjs} +4 -4
- package/fesm2022/{acorex-modules-auth-login.module-aAwHzXPj.mjs.map → acorex-modules-auth-login.module-D1-POhQk.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-master.layout-BapDYFZ_.mjs → acorex-modules-auth-master.layout-DMP4RC6L.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-master.layout-BapDYFZ_.mjs.map → acorex-modules-auth-master.layout-DMP4RC6L.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-oauth-callback.component-Cyu2vqyK.mjs → acorex-modules-auth-oauth-callback.component-BhfFPeWT.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-oauth-callback.component-Cyu2vqyK.mjs.map → acorex-modules-auth-oauth-callback.component-BhfFPeWT.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-password.component-DB-ac0Rn.mjs → acorex-modules-auth-password.component-BMVSHYy7.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-password.component-DB-ac0Rn.mjs.map → acorex-modules-auth-password.component-BMVSHYy7.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-password.component-cPmwNpuq.mjs → acorex-modules-auth-password.component-Cm8DsDvu.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-password.component-cPmwNpuq.mjs.map → acorex-modules-auth-password.component-Cm8DsDvu.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-routes-r72zIRTa.mjs → acorex-modules-auth-routes-B85OzgW1.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-routes-r72zIRTa.mjs.map → acorex-modules-auth-routes-B85OzgW1.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-tenant-chooser.component-AQA2o6Ty.mjs → acorex-modules-auth-tenant-chooser.component-D6_rL2WP.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-tenant-chooser.component-AQA2o6Ty.mjs.map → acorex-modules-auth-tenant-chooser.component-D6_rL2WP.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-two-factor.module-Dx0CC5ic.mjs → acorex-modules-auth-two-factor.module-DfyDQIw-.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-two-factor.module-Dx0CC5ic.mjs.map → acorex-modules-auth-two-factor.module-DfyDQIw-.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-user-sessions.component-3Wr7DUDQ.mjs → acorex-modules-auth-user-sessions.component-gJSHI_eh.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-user-sessions.component-3Wr7DUDQ.mjs.map → acorex-modules-auth-user-sessions.component-gJSHI_eh.mjs.map} +1 -1
- package/fesm2022/acorex-modules-auth.mjs +1 -1
- package/fesm2022/acorex-modules-common.mjs +1 -201
- package/fesm2022/acorex-modules-common.mjs.map +1 -1
- package/fesm2022/{acorex-modules-content-management-acorex-modules-content-management-DMMKjUJP.mjs → acorex-modules-content-management-acorex-modules-content-management-txpooXrE.mjs} +8 -41
- package/fesm2022/acorex-modules-content-management-acorex-modules-content-management-txpooXrE.mjs.map +1 -0
- package/fesm2022/{acorex-modules-content-management-permission-definition.provider-B9RvUa2y.mjs → acorex-modules-content-management-permission-definition.provider-D9woYm2m.mjs} +2 -2
- package/fesm2022/{acorex-modules-content-management-permission-definition.provider-B9RvUa2y.mjs.map → acorex-modules-content-management-permission-definition.provider-D9woYm2m.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-content-management-template-content-editor-widget-edit.component-BAuczQJ_.mjs → acorex-modules-content-management-template-content-editor-widget-edit.component-CQa1h31v.mjs} +2 -2
- package/fesm2022/{acorex-modules-content-management-template-content-editor-widget-edit.component-BAuczQJ_.mjs.map → acorex-modules-content-management-template-content-editor-widget-edit.component-CQa1h31v.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-content-management-template-content-editor-widget-view.component-BbAK7l89.mjs → acorex-modules-content-management-template-content-editor-widget-view.component-DzM4oMNV.mjs} +2 -2
- package/fesm2022/{acorex-modules-content-management-template-content-editor-widget-view.component-BbAK7l89.mjs.map → acorex-modules-content-management-template-content-editor-widget-view.component-DzM4oMNV.mjs.map} +1 -1
- package/fesm2022/acorex-modules-content-management.mjs +1 -1
- package/fesm2022/{acorex-modules-conversation-acorex-modules-conversation-CuaEuIdl.mjs → acorex-modules-conversation-acorex-modules-conversation-DYW31fEm.mjs} +43 -38
- package/fesm2022/acorex-modules-conversation-acorex-modules-conversation-DYW31fEm.mjs.map +1 -0
- package/fesm2022/acorex-modules-conversation-assist-delegated-agent-detail-popup.component-DQlE8l4c.mjs +329 -0
- package/fesm2022/acorex-modules-conversation-assist-delegated-agent-detail-popup.component-DQlE8l4c.mjs.map +1 -0
- package/fesm2022/{acorex-modules-conversation-comments-page.component-zaGnoDs-.mjs → acorex-modules-conversation-comments-page.component-CNqL-HdS.mjs} +2 -2
- package/fesm2022/{acorex-modules-conversation-comments-page.component-zaGnoDs-.mjs.map → acorex-modules-conversation-comments-page.component-CNqL-HdS.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-conversation-send-assist-chat-message.command-D2vjfYtY.mjs → acorex-modules-conversation-send-assist-chat-message.command-CuYYEqhb.mjs} +2 -2
- package/fesm2022/{acorex-modules-conversation-send-assist-chat-message.command-D2vjfYtY.mjs.map → acorex-modules-conversation-send-assist-chat-message.command-CuYYEqhb.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-conversation-start-assist-chat.command-C2IEDIG9.mjs → acorex-modules-conversation-start-assist-chat.command-BKwrZJDs.mjs} +2 -2
- package/fesm2022/{acorex-modules-conversation-start-assist-chat.command-C2IEDIG9.mjs.map → acorex-modules-conversation-start-assist-chat.command-BKwrZJDs.mjs.map} +1 -1
- package/fesm2022/acorex-modules-conversation.mjs +1 -1
- package/fesm2022/acorex-modules-data-management.mjs +78 -21
- package/fesm2022/acorex-modules-data-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-document-management.mjs +4 -4
- package/fesm2022/acorex-modules-document-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-help-desk-acorex-modules-help-desk-DVlO9JZw.mjs → acorex-modules-help-desk-acorex-modules-help-desk-IoBGIJ-Y.mjs} +5 -5
- package/fesm2022/acorex-modules-help-desk-acorex-modules-help-desk-IoBGIJ-Y.mjs.map +1 -0
- package/fesm2022/{acorex-modules-help-desk-capture-screen.component-rNPehEf8.mjs → acorex-modules-help-desk-capture-screen.component-DnupDyZu.mjs} +2 -2
- package/fesm2022/{acorex-modules-help-desk-capture-screen.component-rNPehEf8.mjs.map → acorex-modules-help-desk-capture-screen.component-DnupDyZu.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-uRz1c5Km.mjs → acorex-modules-human-capital-management-acorex-modules-human-capital-management-DrKulwY-.mjs} +20 -20
- package/fesm2022/{acorex-modules-human-capital-management-acorex-modules-human-capital-management-uRz1c5Km.mjs.map → acorex-modules-human-capital-management-acorex-modules-human-capital-management-DrKulwY-.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-approve-leave-request.command-23klKnTy.mjs → acorex-modules-human-capital-management-approve-leave-request.command-TavX6h7z.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-approve-leave-request.command-23klKnTy.mjs.map → acorex-modules-human-capital-management-approve-leave-request.command-TavX6h7z.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-assign-position-assignment.command-BJ8xUiR2.mjs → acorex-modules-human-capital-management-assign-position-assignment.command-ZEmi88vf.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-assign-position-assignment.command-BJ8xUiR2.mjs.map → acorex-modules-human-capital-management-assign-position-assignment.command-ZEmi88vf.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-cancel-leave-request.command-B3u1gXWI.mjs → acorex-modules-human-capital-management-cancel-leave-request.command-DzIMYIhe.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-cancel-leave-request.command-B3u1gXWI.mjs.map → acorex-modules-human-capital-management-cancel-leave-request.command-DzIMYIhe.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-employee.entity-uhwOOw_y.mjs → acorex-modules-human-capital-management-employee.entity-CrVU_3Jv.mjs} +4 -10
- package/fesm2022/acorex-modules-human-capital-management-employee.entity-CrVU_3Jv.mjs.map +1 -0
- package/fesm2022/{acorex-modules-human-capital-management-employment-type.entity-BQe82rsr.mjs → acorex-modules-human-capital-management-employment-type.entity-BeiaEsNZ.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-employment-type.entity-BQe82rsr.mjs.map → acorex-modules-human-capital-management-employment-type.entity-BeiaEsNZ.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-leave-request.entity-CE4hs4C8.mjs → acorex-modules-human-capital-management-leave-request.entity-QeY6lcUY.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-leave-request.entity-CE4hs4C8.mjs.map → acorex-modules-human-capital-management-leave-request.entity-QeY6lcUY.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-leave-type.entity-DJ4EEUKg.mjs → acorex-modules-human-capital-management-leave-type.entity-D7B3adkZ.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-leave-type.entity-DJ4EEUKg.mjs.map → acorex-modules-human-capital-management-leave-type.entity-D7B3adkZ.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-lifecycle-event-type.entity-CB2hlyOP.mjs → acorex-modules-human-capital-management-lifecycle-event-type.entity-Dim-8hT7.mjs} +6 -3
- package/fesm2022/acorex-modules-human-capital-management-lifecycle-event-type.entity-Dim-8hT7.mjs.map +1 -0
- package/fesm2022/{acorex-modules-human-capital-management-lifecycle-event.entity-DWonFZpU.mjs → acorex-modules-human-capital-management-lifecycle-event.entity-3HtYOKrY.mjs} +17 -5
- package/fesm2022/acorex-modules-human-capital-management-lifecycle-event.entity-3HtYOKrY.mjs.map +1 -0
- package/fesm2022/{acorex-modules-human-capital-management-position-assignment.entity-o8PjggiT.mjs → acorex-modules-human-capital-management-position-assignment.entity-Byxt921P.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-position-assignment.entity-o8PjggiT.mjs.map → acorex-modules-human-capital-management-position-assignment.entity-Byxt921P.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-reject-leave-request.command-B6sr7oey.mjs → acorex-modules-human-capital-management-reject-leave-request.command-CAvjZTG9.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-reject-leave-request.command-B6sr7oey.mjs.map → acorex-modules-human-capital-management-reject-leave-request.command-CAvjZTG9.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-revoke-position-assignment.command-aH7qTRnr.mjs → acorex-modules-human-capital-management-revoke-position-assignment.command-BeWrsQo8.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-revoke-position-assignment.command-aH7qTRnr.mjs.map → acorex-modules-human-capital-management-revoke-position-assignment.command-BeWrsQo8.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-start-lifecycle-event-flow.command-B-VsXS4c.mjs → acorex-modules-human-capital-management-start-lifecycle-event-flow.command-Bz2SZcmm.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-start-lifecycle-event-flow.command-B-VsXS4c.mjs.map → acorex-modules-human-capital-management-start-lifecycle-event-flow.command-Bz2SZcmm.mjs.map} +1 -1
- package/fesm2022/acorex-modules-human-capital-management.mjs +1 -1
- package/fesm2022/acorex-modules-locale-management.mjs +68 -1
- package/fesm2022/acorex-modules-locale-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-meeting-management.mjs +1 -1
- package/fesm2022/acorex-modules-meeting-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-notification-management-notification-page.component-B017YY1H.mjs → acorex-modules-notification-management-notification-page.component-6YOiGgKm.mjs} +2 -2
- package/fesm2022/{acorex-modules-notification-management-notification-page.component-B017YY1H.mjs.map → acorex-modules-notification-management-notification-page.component-6YOiGgKm.mjs.map} +1 -1
- package/fesm2022/acorex-modules-notification-management.mjs +2 -2
- package/fesm2022/acorex-modules-notification-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-organization-management-acorex-modules-organization-management-BZtWfgmH.mjs → acorex-modules-organization-management-acorex-modules-organization-management-Iopv_G-d.mjs} +37 -37
- package/fesm2022/{acorex-modules-organization-management-acorex-modules-organization-management-BZtWfgmH.mjs.map → acorex-modules-organization-management-acorex-modules-organization-management-Iopv_G-d.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-add-business-unit-to-business-unit.command-C-yO5On4.mjs → acorex-modules-organization-management-add-business-unit-to-business-unit.command-D7NChP_A.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-add-business-unit-to-business-unit.command-C-yO5On4.mjs.map → acorex-modules-organization-management-add-business-unit-to-business-unit.command-D7NChP_A.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-add-position-to-business-unit.command-BL5eWJ56.mjs → acorex-modules-organization-management-add-position-to-business-unit.command-PkeqXFt1.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-add-position-to-business-unit.command-BL5eWJ56.mjs.map → acorex-modules-organization-management-add-position-to-business-unit.command-PkeqXFt1.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-add-team-to-business-unit.command-l4N6g0Hc.mjs → acorex-modules-organization-management-add-team-to-business-unit.command-jalyX-F4.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-add-team-to-business-unit.command-l4N6g0Hc.mjs.map → acorex-modules-organization-management-add-team-to-business-unit.command-jalyX-F4.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-business-unit.entity-CONTwX52.mjs → acorex-modules-organization-management-business-unit.entity-CBjAC9Ip.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-business-unit.entity-CONTwX52.mjs.map → acorex-modules-organization-management-business-unit.entity-CBjAC9Ip.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-chart.entity-DeKPBfgx.mjs → acorex-modules-organization-management-chart.entity-CaY_5LGN.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-chart.entity-DeKPBfgx.mjs.map → acorex-modules-organization-management-chart.entity-CaY_5LGN.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-company.entity-BAlz8AfD.mjs → acorex-modules-organization-management-company.entity-BUBhqyCn.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-company.entity-BAlz8AfD.mjs.map → acorex-modules-organization-management-company.entity-BUBhqyCn.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-entity.provider-DjPSiqcX.mjs → acorex-modules-organization-management-entity.provider-BZsy_wi6.mjs} +15 -15
- package/fesm2022/{acorex-modules-organization-management-entity.provider-DjPSiqcX.mjs.map → acorex-modules-organization-management-entity.provider-BZsy_wi6.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-feature-definition.provider-BLmayeSc.mjs → acorex-modules-organization-management-feature-definition.provider-CEO1nSFP.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-feature-definition.provider-BLmayeSc.mjs.map → acorex-modules-organization-management-feature-definition.provider-CEO1nSFP.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-job-definition-pages-component.provider-HBi-EMRE.mjs → acorex-modules-organization-management-job-definition-pages-component.provider-ChRGp5ZI.mjs} +3 -3
- package/fesm2022/{acorex-modules-organization-management-job-definition-pages-component.provider-HBi-EMRE.mjs.map → acorex-modules-organization-management-job-definition-pages-component.provider-ChRGp5ZI.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-job-definition-responsibilities-page.component-CtIfsZ6x.mjs → acorex-modules-organization-management-job-definition-responsibilities-page.component-aWZO09Xw.mjs} +3 -3
- package/fesm2022/{acorex-modules-organization-management-job-definition-responsibilities-page.component-CtIfsZ6x.mjs.map → acorex-modules-organization-management-job-definition-responsibilities-page.component-aWZO09Xw.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-job-definition-skills-page.component-C1vCQayM.mjs → acorex-modules-organization-management-job-definition-skills-page.component-DJcFhQM9.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-job-definition-skills-page.component-C1vCQayM.mjs.map → acorex-modules-organization-management-job-definition-skills-page.component-DJcFhQM9.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-job-definition.entity-Db5li0zL.mjs → acorex-modules-organization-management-job-definition.entity-BoM49wYi.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-job-definition.entity-Db5li0zL.mjs.map → acorex-modules-organization-management-job-definition.entity-BoM49wYi.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-job-level.datasource-BTRKW7nq.mjs → acorex-modules-organization-management-job-level.datasource-DbQG79uR.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-job-level.datasource-BTRKW7nq.mjs.map → acorex-modules-organization-management-job-level.datasource-DbQG79uR.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-job-level.entity-Cn-91_r8.mjs → acorex-modules-organization-management-job-level.entity-XO-NsBG-.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-job-level.entity-Cn-91_r8.mjs.map → acorex-modules-organization-management-job-level.entity-XO-NsBG-.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-menu.provider-CVmV-hY5.mjs → acorex-modules-organization-management-menu.provider-DXW6aUIX.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-menu.provider-CVmV-hY5.mjs.map → acorex-modules-organization-management-menu.provider-DXW6aUIX.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-org-chart-default-node-contribution.provider-bdtNexEf.mjs → acorex-modules-organization-management-org-chart-default-node-contribution.provider-ClKr6K6Y.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-org-chart-default-node-contribution.provider-bdtNexEf.mjs.map → acorex-modules-organization-management-org-chart-default-node-contribution.provider-ClKr6K6Y.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-org-chart-employee-flyout-contribution.provider-B0aaFv5p.mjs → acorex-modules-organization-management-org-chart-employee-flyout-contribution.provider-BjIDzwXF.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-org-chart-employee-flyout-contribution.provider-B0aaFv5p.mjs.map → acorex-modules-organization-management-org-chart-employee-flyout-contribution.provider-BjIDzwXF.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-org-chart-position-employee-node-contribution.provider-Xe4nhY3j.mjs → acorex-modules-organization-management-org-chart-position-employee-node-contribution.provider-DRAlUmIa.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-org-chart-position-employee-node-contribution.provider-Xe4nhY3j.mjs.map → acorex-modules-organization-management-org-chart-position-employee-node-contribution.provider-DRAlUmIa.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-org-chart-ux-node-contribution.provider-CTprHwCi.mjs → acorex-modules-organization-management-org-chart-ux-node-contribution.provider-DwSjov_Z.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-org-chart-ux-node-contribution.provider-CTprHwCi.mjs.map → acorex-modules-organization-management-org-chart-ux-node-contribution.provider-DwSjov_Z.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-org-chart.page-ChXY8ncD.mjs → acorex-modules-organization-management-org-chart.page-CuPEM-_N.mjs} +3 -3
- package/fesm2022/{acorex-modules-organization-management-org-chart.page-ChXY8ncD.mjs.map → acorex-modules-organization-management-org-chart.page-CuPEM-_N.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-permission-definition.provider-8t2vBgtp.mjs → acorex-modules-organization-management-permission-definition.provider-BNthP0QV.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-permission-definition.provider-8t2vBgtp.mjs.map → acorex-modules-organization-management-permission-definition.provider-BNthP0QV.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-position.entity-BVWbTeks.mjs → acorex-modules-organization-management-position.entity-Cja3CYmL.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-position.entity-BVWbTeks.mjs.map → acorex-modules-organization-management-position.entity-Cja3CYmL.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-remove-position-from-business-unit.command-DWzFncr1.mjs → acorex-modules-organization-management-remove-position-from-business-unit.command-Dm1a6-uO.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-remove-position-from-business-unit.command-DWzFncr1.mjs.map → acorex-modules-organization-management-remove-position-from-business-unit.command-Dm1a6-uO.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-replace-position-assignee.command-CNa-CZOv.mjs → acorex-modules-organization-management-replace-position-assignee.command-BWtzQZyW.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-replace-position-assignee.command-CNa-CZOv.mjs.map → acorex-modules-organization-management-replace-position-assignee.command-BWtzQZyW.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix-widget-edit.component-CTSCcyFv.mjs → acorex-modules-organization-management-responsibilities-matrix-widget-edit.component-C4W0VlL5.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix-widget-edit.component-CTSCcyFv.mjs.map → acorex-modules-organization-management-responsibilities-matrix-widget-edit.component-C4W0VlL5.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix-widget-view.component-C82TQFS-.mjs → acorex-modules-organization-management-responsibilities-matrix-widget-view.component-CaPqjai7.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix-widget-view.component-C82TQFS-.mjs.map → acorex-modules-organization-management-responsibilities-matrix-widget-view.component-CaPqjai7.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix.component-DjVuISfE.mjs → acorex-modules-organization-management-responsibilities-matrix.component-nJuP6fA0.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix.component-DjVuISfE.mjs.map → acorex-modules-organization-management-responsibilities-matrix.component-nJuP6fA0.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-responsibility-level.entity-BlENDhF6.mjs → acorex-modules-organization-management-responsibility-level.entity-CvvzIjvE.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-responsibility-level.entity-BlENDhF6.mjs.map → acorex-modules-organization-management-responsibility-level.entity-CvvzIjvE.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-responsibility.entity-DamPTQMp.mjs → acorex-modules-organization-management-responsibility.entity-Cc0Ou-hc.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-responsibility.entity-DamPTQMp.mjs.map → acorex-modules-organization-management-responsibility.entity-Cc0Ou-hc.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-settings.provider-CtQo6YHj.mjs → acorex-modules-organization-management-settings.provider-C33ZatCD.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-settings.provider-CtQo6YHj.mjs.map → acorex-modules-organization-management-settings.provider-C33ZatCD.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-team-business-unit.entity-BfvqQb1K.mjs → acorex-modules-organization-management-team-business-unit.entity-DGuF5ux1.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-team-business-unit.entity-BfvqQb1K.mjs.map → acorex-modules-organization-management-team-business-unit.entity-DGuF5ux1.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-team-member-role.entity-wWoB56Il.mjs → acorex-modules-organization-management-team-member-role.entity-BMXkNavp.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-team-member-role.entity-wWoB56Il.mjs.map → acorex-modules-organization-management-team-member-role.entity-BMXkNavp.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-team-member.entity-COGrDN_G.mjs → acorex-modules-organization-management-team-member.entity-Deem7M3N.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-team-member.entity-COGrDN_G.mjs.map → acorex-modules-organization-management-team-member.entity-Deem7M3N.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-team.entity-DC_rqp9e.mjs → acorex-modules-organization-management-team.entity-CNmpaJ3F.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-team.entity-DC_rqp9e.mjs.map → acorex-modules-organization-management-team.entity-CNmpaJ3F.mjs.map} +1 -1
- package/fesm2022/acorex-modules-organization-management.mjs +1 -1
- package/fesm2022/{acorex-modules-product-catalog-product-sku.entity-BNJHLs-b.mjs → acorex-modules-product-catalog-product-sku.entity-C3ynevYI.mjs} +2 -2
- package/fesm2022/acorex-modules-product-catalog-product-sku.entity-C3ynevYI.mjs.map +1 -0
- package/fesm2022/acorex-modules-product-catalog.mjs +1 -1
- package/fesm2022/acorex-modules-security-management.mjs +76 -2
- package/fesm2022/acorex-modules-security-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-settings-management-acorex-modules-settings-management-B4Ee8USF.mjs → acorex-modules-settings-management-acorex-modules-settings-management-Dj9u0VEL.mjs} +5 -5
- package/fesm2022/{acorex-modules-settings-management-acorex-modules-settings-management-B4Ee8USF.mjs.map → acorex-modules-settings-management-acorex-modules-settings-management-Dj9u0VEL.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-settings-management-permission-definition.provider-nNhEFyc-.mjs → acorex-modules-settings-management-permission-definition.provider-DpRn1jAo.mjs} +2 -2
- package/fesm2022/{acorex-modules-settings-management-permission-definition.provider-nNhEFyc-.mjs.map → acorex-modules-settings-management-permission-definition.provider-DpRn1jAo.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-settings-management-setting-page.component-CEvWwS_a.mjs → acorex-modules-settings-management-setting-page.component-C9wPgm_P.mjs} +2 -2
- package/fesm2022/{acorex-modules-settings-management-setting-page.component-CEvWwS_a.mjs.map → acorex-modules-settings-management-setting-page.component-C9wPgm_P.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-settings-management-setting-view.component-C6ftmjuK.mjs → acorex-modules-settings-management-setting-view.component-BQ69Bx8C.mjs} +31 -4
- package/fesm2022/acorex-modules-settings-management-setting-view.component-BQ69Bx8C.mjs.map +1 -0
- package/fesm2022/acorex-modules-settings-management.mjs +1 -1
- package/fesm2022/{acorex-modules-task-management-acorex-modules-task-management-DAh3IByo.mjs → acorex-modules-task-management-acorex-modules-task-management-BB7eeaYX.mjs} +7 -9
- package/fesm2022/acorex-modules-task-management-acorex-modules-task-management-BB7eeaYX.mjs.map +1 -0
- package/fesm2022/{acorex-modules-task-management-task-board.page-C2hB9JPM.mjs → acorex-modules-task-management-task-board.page-BmUIngWk.mjs} +7 -7
- package/fesm2022/{acorex-modules-task-management-task-board.page-C2hB9JPM.mjs.map → acorex-modules-task-management-task-board.page-BmUIngWk.mjs.map} +1 -1
- package/fesm2022/acorex-modules-task-management.mjs +1 -1
- package/fesm2022/acorex-modules-tenant-management.mjs +46 -1
- package/fesm2022/acorex-modules-tenant-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-workflow-management-index-BhVZ1Bcw.mjs → acorex-modules-workflow-management-index-CdaVEEgn.mjs} +2 -2
- package/fesm2022/{acorex-modules-workflow-management-index-BhVZ1Bcw.mjs.map → acorex-modules-workflow-management-index-CdaVEEgn.mjs.map} +1 -1
- package/fesm2022/acorex-modules-workflow-management-index-CxheG2ry.mjs +307 -0
- package/fesm2022/acorex-modules-workflow-management-index-CxheG2ry.mjs.map +1 -0
- package/fesm2022/{acorex-modules-workflow-management-workflow-task-popover.component-DjYDwHWU.mjs → acorex-modules-workflow-management-workflow-task-popover.component-B4hEv2-a.mjs} +3 -3
- package/fesm2022/{acorex-modules-workflow-management-workflow-task-popover.component-DjYDwHWU.mjs.map → acorex-modules-workflow-management-workflow-task-popover.component-B4hEv2-a.mjs.map} +1 -1
- package/fesm2022/acorex-modules-workflow-management.mjs +634 -129
- package/fesm2022/acorex-modules-workflow-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-workplacesafety-management-hazard-status.provider-v1cFaa3q.mjs +70 -0
- package/fesm2022/acorex-modules-workplacesafety-management-hazard-status.provider-v1cFaa3q.mjs.map +1 -0
- package/fesm2022/acorex-modules-workplacesafety-management.mjs +826 -0
- package/fesm2022/acorex-modules-workplacesafety-management.mjs.map +1 -0
- package/package.json +6 -2
- package/types/acorex-modules-ai-management.d.ts +45 -22
- package/types/acorex-modules-assessment-management.d.ts +8 -0
- package/types/acorex-modules-asset-management.d.ts +6 -0
- package/types/acorex-modules-common.d.ts +3 -9
- package/types/acorex-modules-conversation.d.ts +1 -2
- package/types/acorex-modules-dashboard-management.d.ts +7 -0
- package/types/acorex-modules-data-management.d.ts +11 -3
- package/types/acorex-modules-document-management.d.ts +14 -0
- package/types/acorex-modules-report-management.d.ts +7 -0
- package/types/acorex-modules-workflow-management.d.ts +92 -58
- package/types/acorex-modules-workplacesafety-management.d.ts +143 -0
- package/fesm2022/acorex-modules-ai-management-agent.entity-X51GLTdi.mjs.map +0 -1
- package/fesm2022/acorex-modules-ai-management-assist.entity-2h5KE9UH.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-acorex-modules-assessment-management-DqmJVJ0z.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-assessment-case.entity-DhVwPz0T.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-preview-questionnaire.command-CRDBe_BS.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-question-bank-item.entity-Cw2WCdYK.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-questionnaire-viewer-popup.component-D9I3S-ZT.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-view-session-answers.command-BOeO3Dit.mjs.map +0 -1
- package/fesm2022/acorex-modules-asset-management-acorex-modules-asset-management-BtcY1UQy.mjs.map +0 -1
- package/fesm2022/acorex-modules-asset-management-asset.entity-DJ-A6lx1.mjs.map +0 -1
- package/fesm2022/acorex-modules-auth-acorex-modules-auth-D4IBi_VD.mjs.map +0 -1
- package/fesm2022/acorex-modules-common-attachments-page.component-rc-wRjbZ.mjs +0 -92
- package/fesm2022/acorex-modules-common-attachments-page.component-rc-wRjbZ.mjs.map +0 -1
- package/fesm2022/acorex-modules-content-management-acorex-modules-content-management-DMMKjUJP.mjs.map +0 -1
- package/fesm2022/acorex-modules-conversation-acorex-modules-conversation-CuaEuIdl.mjs.map +0 -1
- package/fesm2022/acorex-modules-conversation-assist-delegated-agent-detail-popup.component-E0e9YjO9.mjs +0 -288
- package/fesm2022/acorex-modules-conversation-assist-delegated-agent-detail-popup.component-E0e9YjO9.mjs.map +0 -1
- package/fesm2022/acorex-modules-help-desk-acorex-modules-help-desk-DVlO9JZw.mjs.map +0 -1
- package/fesm2022/acorex-modules-human-capital-management-employee.entity-uhwOOw_y.mjs.map +0 -1
- package/fesm2022/acorex-modules-human-capital-management-lifecycle-event-type.entity-CB2hlyOP.mjs.map +0 -1
- package/fesm2022/acorex-modules-human-capital-management-lifecycle-event.entity-DWonFZpU.mjs.map +0 -1
- package/fesm2022/acorex-modules-product-catalog-product-sku.entity-BNJHLs-b.mjs.map +0 -1
- package/fesm2022/acorex-modules-settings-management-setting-view.component-C6ftmjuK.mjs.map +0 -1
- package/fesm2022/acorex-modules-task-management-acorex-modules-task-management-DAh3IByo.mjs.map +0 -1
|
@@ -2,7 +2,7 @@ import * as i0 from '@angular/core';
|
|
|
2
2
|
import { Injectable, inject, NgModule, Injector, runInInjectionContext, makeEnvironmentProviders, InjectionToken, Inject } from '@angular/core';
|
|
3
3
|
import { AXPCommonMenuKeys, AXPWidgetsList } from '@acorex/modules/common';
|
|
4
4
|
import { AXPSessionService, AXP_PERMISSION_DEFINITION_PROVIDER } from '@acorex/platform/auth';
|
|
5
|
-
import { AXPEntityService, AXPEntityFormBuilderService, AXPEntityDefinitionRegistryService, entityDetailsCrudActions, AXP_ENTITY_ACTION_PLUGIN, AXP_ENTITY_DEFINITION_LOADER, AXP_RECORD_WORKFLOW_INFO_INSTANCE_ID_FIELD } from '@acorex/platform/layout/entity';
|
|
5
|
+
import { AXPEntityService, AXPEntityFormBuilderService, AXPEntityDefinitionRegistryService, entityDetailsCrudActions, actionExists, ensureListActions, AXP_ENTITY_ACTION_PLUGIN, AXP_ENTITY_DEFINITION_LOADER, AXP_RECORD_WORKFLOW_INFO_INSTANCE_ID_FIELD } from '@acorex/platform/layout/entity';
|
|
6
6
|
import { firstValueFrom } from 'rxjs';
|
|
7
7
|
import { AXMCalendarManagementModule } from '@acorex/modules/calendar-management';
|
|
8
8
|
import { AXPEntityCommandScope, AXPStatusProvider, AXPSystemStatusType, systemStatusToDefinition, AXP_STATUS_PROVIDERS, AXP_MENU_PROVIDER, AXPSettingsService, AXPStatusDefinitionProviderService, AXPRegionalSetting, AXPSystemStatuses } from '@acorex/platform/common';
|
|
@@ -13,12 +13,12 @@ import { AXPWidgetGroupEnum, AXP_WIDGETS_EDITOR_CATEGORY, AXPWidgetSerialization
|
|
|
13
13
|
import { AXPBarChartWidget, AXPHeatmapChartWidget, AXPDonutChartWidget, AXPLineChartWidget, AXPGaugeChartWidget, AXPFunnelChartWidget, AXPKpiDetailsWidget, AXPKpiProgressWidget, AXPKpiSegmentedWidget, AXPKpiStatCardWidget } from '@acorex/modules/dashboard-management';
|
|
14
14
|
import { AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY } from '@acorex/platform/layout/widgets';
|
|
15
15
|
import { provideCommandSetups } from '@acorex/platform/runtime';
|
|
16
|
-
import { AXPWorkflowDefinitionService, AXP_WORKFLOW_ENGINE, AXPWorkflowManager, AXP_WORKFLOW_SUPPRESS_CONTINUATION_INPUT_KEY, AXP_WORKFLOW_ERROR_CODES, axpIsWorkflowTaskBoardActivityType, AXP_WORKFLOW_PROVIDER, AXP_ACTIVITY_CATEGORY_PROVIDER, AXP_ACTIVITY_PROVIDER, AXP_WORKFLOW_CATEGORY_PROVIDER, AXP_WORKFLOW_CONTINUATION_HOOK } from '@acorex/platform/workflow';
|
|
16
|
+
import { AXPWorkflowDefinitionService, axpShouldOfferWorkflowContinuationAfterStep, axpIsWorkflowInlineFrontendTask, axpResolveWorkflowContinuationBeforeInteractive, axpShouldSkipBeforeInteractiveFromMetadata, AXP_WORKFLOW_ENGINE, AXPWorkflowManager, AXP_WORKFLOW_SUPPRESS_CONTINUATION_INPUT_KEY, AXP_WORKFLOW_ERROR_CODES, axpIsWorkflowTaskBoardActivityType, AXP_WORKFLOW_PROVIDER, AXP_ACTIVITY_CATEGORY_PROVIDER, AXP_ACTIVITY_PROVIDER, AXP_WORKFLOW_CATEGORY_PROVIDER, AXP_WORKFLOW_CONTINUATION_HOOK } from '@acorex/platform/workflow';
|
|
17
17
|
import { AXDialogService } from '@acorex/components/dialog';
|
|
18
18
|
import { AXTranslationService } from '@acorex/core/translation';
|
|
19
19
|
import { AXPopupService } from '@acorex/components/popup';
|
|
20
20
|
import { AXPDialogRendererComponent, AXPLayoutBuilderService } from '@acorex/platform/layout/builder';
|
|
21
|
-
import { cloneDeep } from 'lodash-es';
|
|
21
|
+
import { cloneDeep, isString, trim, isEmpty, defaultTo } from 'lodash-es';
|
|
22
22
|
import { AXToastService } from '@acorex/components/toast';
|
|
23
23
|
import { AXP_WORKFLOW_TASK_PROVIDER, AXPWorkflowTaskProvider, matchesTaskBoardAssigneeUserIdsFilter, filterTasksOverlappingRange } from '@acorex/modules/task-management';
|
|
24
24
|
import { AXFormatService } from '@acorex/core/format';
|
|
@@ -37,6 +37,11 @@ const RootConfig = {
|
|
|
37
37
|
title: '@workflow-management:module.title',
|
|
38
38
|
icon: 'fa-light fa-diagram-project',
|
|
39
39
|
},
|
|
40
|
+
/** Task-board suspend activity type ids (match activity definition keys). */
|
|
41
|
+
activities: {
|
|
42
|
+
humanTask: 'workflow-activity:human-task',
|
|
43
|
+
cartable: 'workflow-activity:cartable',
|
|
44
|
+
},
|
|
40
45
|
entities: {
|
|
41
46
|
workflowDefinition: {
|
|
42
47
|
name: 'WorkflowDefinition',
|
|
@@ -1502,39 +1507,33 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
1502
1507
|
type: Injectable
|
|
1503
1508
|
}] });
|
|
1504
1509
|
|
|
1510
|
+
//#region ---- Imports ----
|
|
1505
1511
|
//#endregion
|
|
1512
|
+
//#region ---- Sign-Off Activity ----
|
|
1506
1513
|
/**
|
|
1507
|
-
*
|
|
1514
|
+
* Sign-off activity (frontend).
|
|
1508
1515
|
*
|
|
1509
|
-
* Collects a signature
|
|
1510
|
-
*
|
|
1511
|
-
*
|
|
1512
|
-
* Execution Mode: frontend
|
|
1513
|
-
* Activity Type: workflow-activity:collect-signature
|
|
1516
|
+
* Collects a required digital signature and optional note from the current user.
|
|
1517
|
+
* Use after review/approval paths in workflows that require an auditable sign-off.
|
|
1514
1518
|
*
|
|
1515
|
-
*
|
|
1516
|
-
*
|
|
1517
|
-
* - Cancelled: User cancelled the signature dialog
|
|
1519
|
+
* Activity type: `workflow-activity:sign-off`
|
|
1520
|
+
* Outcomes: `Signed` | `Cancelled`
|
|
1518
1521
|
*/
|
|
1519
|
-
class
|
|
1522
|
+
class SignOffActivity {
|
|
1520
1523
|
constructor() {
|
|
1521
1524
|
//#region ---- Services & Dependencies ----
|
|
1522
1525
|
this.layoutBuilder = inject(AXPLayoutBuilderService);
|
|
1523
1526
|
this.translationService = inject(AXTranslationService);
|
|
1524
1527
|
}
|
|
1525
1528
|
//#endregion
|
|
1526
|
-
//#region ----
|
|
1529
|
+
//#region ---- Command Implementation ----
|
|
1527
1530
|
async execute(input) {
|
|
1528
1531
|
try {
|
|
1529
|
-
console.log(`[CollectSignatureActivity] Collecting signature from user: ${input.signerId}`);
|
|
1530
|
-
// Translate message if provided
|
|
1531
1532
|
const message = input.message
|
|
1532
1533
|
? await this.translationService.translateAsync(input.message)
|
|
1533
|
-
: await this.translationService.translateAsync('@workflow-management:
|
|
1534
|
-
|
|
1535
|
-
const dialogResult = await this.showSignatureDialog(message);
|
|
1534
|
+
: await this.translationService.translateAsync('@workflow-management:sign-off.activities.sign-off.default-message');
|
|
1535
|
+
const dialogResult = await this.showSignOffDialog(message);
|
|
1536
1536
|
if (dialogResult.cancelled) {
|
|
1537
|
-
console.log(`[CollectSignatureActivity] User cancelled signature collection`);
|
|
1538
1537
|
return {
|
|
1539
1538
|
success: true,
|
|
1540
1539
|
data: {
|
|
@@ -1547,7 +1546,6 @@ class CollectSignatureActivity {
|
|
|
1547
1546
|
};
|
|
1548
1547
|
}
|
|
1549
1548
|
const signedAt = new Date().toISOString();
|
|
1550
|
-
console.log(`[CollectSignatureActivity] Signature collected successfully at ${signedAt}`);
|
|
1551
1549
|
return {
|
|
1552
1550
|
success: true,
|
|
1553
1551
|
data: {
|
|
@@ -1561,11 +1559,11 @@ class CollectSignatureActivity {
|
|
|
1561
1559
|
};
|
|
1562
1560
|
}
|
|
1563
1561
|
catch (error) {
|
|
1564
|
-
|
|
1562
|
+
const message = error instanceof Error ? error.message : 'Failed to collect sign-off';
|
|
1565
1563
|
return {
|
|
1566
1564
|
success: false,
|
|
1567
1565
|
message: {
|
|
1568
|
-
text:
|
|
1566
|
+
text: message,
|
|
1569
1567
|
},
|
|
1570
1568
|
data: {
|
|
1571
1569
|
signature: '',
|
|
@@ -1578,36 +1576,33 @@ class CollectSignatureActivity {
|
|
|
1578
1576
|
}
|
|
1579
1577
|
}
|
|
1580
1578
|
//#endregion
|
|
1581
|
-
//#region ---- Dialog
|
|
1582
|
-
|
|
1583
|
-
* Shows a dialog to collect signature from the user.
|
|
1584
|
-
*/
|
|
1585
|
-
async showSignatureDialog(message) {
|
|
1579
|
+
//#region ---- Dialog ----
|
|
1580
|
+
async showSignOffDialog(message) {
|
|
1586
1581
|
const result = await this.layoutBuilder
|
|
1587
1582
|
.create()
|
|
1588
1583
|
.dialog((dialog) => {
|
|
1589
1584
|
dialog
|
|
1590
|
-
.setTitle('@workflow-management:
|
|
1585
|
+
.setTitle('@workflow-management:sign-off.activities.sign-off.dialog-title')
|
|
1591
1586
|
.setMessage(message)
|
|
1592
1587
|
.setContext({ signature: '', note: '' })
|
|
1593
1588
|
.content((flex) => {
|
|
1594
1589
|
flex
|
|
1595
1590
|
.setDirection('column')
|
|
1596
|
-
.formField('@workflow-management:
|
|
1591
|
+
.formField('@workflow-management:sign-off.activities.sign-off.note-label', (field) => {
|
|
1597
1592
|
field.path('note');
|
|
1598
1593
|
field.largeTextBox({
|
|
1599
|
-
placeholder: '@workflow-management:
|
|
1594
|
+
placeholder: '@workflow-management:sign-off.activities.sign-off.note-placeholder',
|
|
1600
1595
|
maxLength: 1000,
|
|
1601
1596
|
});
|
|
1602
1597
|
})
|
|
1603
|
-
.formField('@workflow-management:
|
|
1598
|
+
.formField('@workflow-management:sign-off.activities.sign-off.signature-label', (field) => {
|
|
1604
1599
|
field.path('signature');
|
|
1605
1600
|
field.customWidget(AXPWidgetsList.Editors.SignatureBox, {
|
|
1606
1601
|
validations: [
|
|
1607
1602
|
{
|
|
1608
1603
|
rule: 'required',
|
|
1609
1604
|
options: {
|
|
1610
|
-
message: '@workflow-management:
|
|
1605
|
+
message: '@workflow-management:sign-off.activities.sign-off.signature-required',
|
|
1611
1606
|
},
|
|
1612
1607
|
},
|
|
1613
1608
|
],
|
|
@@ -1617,7 +1612,7 @@ class CollectSignatureActivity {
|
|
|
1617
1612
|
.setActions((actions) => {
|
|
1618
1613
|
actions
|
|
1619
1614
|
.cancel('@general:actions.cancel.title')
|
|
1620
|
-
.submit('@workflow-management:
|
|
1615
|
+
.submit('@workflow-management:sign-off.activities.sign-off.submit-text');
|
|
1621
1616
|
})
|
|
1622
1617
|
.onAction(async (dialogRef) => {
|
|
1623
1618
|
const context = dialogRef.context();
|
|
@@ -1626,9 +1621,13 @@ class CollectSignatureActivity {
|
|
|
1626
1621
|
return { signature: '', note: undefined, cancelled: true };
|
|
1627
1622
|
}
|
|
1628
1623
|
const formData = context;
|
|
1624
|
+
const signature = isString(formData.signature) ? trim(formData.signature) : '';
|
|
1625
|
+
if (isEmpty(signature)) {
|
|
1626
|
+
return { signature: '', note: undefined, cancelled: true };
|
|
1627
|
+
}
|
|
1629
1628
|
return {
|
|
1630
|
-
signature
|
|
1631
|
-
note: formData
|
|
1629
|
+
signature,
|
|
1630
|
+
note: formData.note,
|
|
1632
1631
|
cancelled: false,
|
|
1633
1632
|
};
|
|
1634
1633
|
});
|
|
@@ -1636,10 +1635,150 @@ class CollectSignatureActivity {
|
|
|
1636
1635
|
.show();
|
|
1637
1636
|
return result;
|
|
1638
1637
|
}
|
|
1639
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type:
|
|
1640
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type:
|
|
1638
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: SignOffActivity, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1639
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: SignOffActivity }); }
|
|
1641
1640
|
}
|
|
1642
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type:
|
|
1641
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: SignOffActivity, decorators: [{
|
|
1642
|
+
type: Injectable
|
|
1643
|
+
}] });
|
|
1644
|
+
|
|
1645
|
+
//#region ---- Imports ----
|
|
1646
|
+
//#endregion
|
|
1647
|
+
//#region ---- Rejection Reason Activity ----
|
|
1648
|
+
/**
|
|
1649
|
+
* Rejection-reason activity (frontend).
|
|
1650
|
+
*
|
|
1651
|
+
* Shows a dialog to capture rejection reason and optional note.
|
|
1652
|
+
* Use on workflow reject branches instead of ad-hoc show-layout-popup layouts.
|
|
1653
|
+
*
|
|
1654
|
+
* Activity type: `workflow-activity:rejection-reason`
|
|
1655
|
+
* Outcomes: `Submitted` | `Cancelled`
|
|
1656
|
+
*/
|
|
1657
|
+
class RejectionReasonActivity {
|
|
1658
|
+
constructor() {
|
|
1659
|
+
//#region ---- Services & Dependencies ----
|
|
1660
|
+
this.layoutBuilder = inject(AXPLayoutBuilderService);
|
|
1661
|
+
this.translationService = inject(AXTranslationService);
|
|
1662
|
+
}
|
|
1663
|
+
//#endregion
|
|
1664
|
+
//#region ---- Command Implementation ----
|
|
1665
|
+
async execute(input) {
|
|
1666
|
+
try {
|
|
1667
|
+
const requireReason = input.requireReason !== false;
|
|
1668
|
+
const message = input.message
|
|
1669
|
+
? await this.translationService.translateAsync(input.message)
|
|
1670
|
+
: await this.translationService.translateAsync('@workflow-management:sign-off.activities.rejection-reason.message');
|
|
1671
|
+
const dialogResult = await this.showRejectionDialog(message, requireReason);
|
|
1672
|
+
if (dialogResult.cancelled) {
|
|
1673
|
+
return {
|
|
1674
|
+
success: true,
|
|
1675
|
+
data: {
|
|
1676
|
+
reason: '',
|
|
1677
|
+
rejectedAt: new Date().toISOString(),
|
|
1678
|
+
},
|
|
1679
|
+
metadata: {
|
|
1680
|
+
outcome: 'Cancelled',
|
|
1681
|
+
},
|
|
1682
|
+
};
|
|
1683
|
+
}
|
|
1684
|
+
return {
|
|
1685
|
+
success: true,
|
|
1686
|
+
data: {
|
|
1687
|
+
reason: dialogResult.reason,
|
|
1688
|
+
note: dialogResult.note,
|
|
1689
|
+
rejectedAt: new Date().toISOString(),
|
|
1690
|
+
},
|
|
1691
|
+
metadata: {
|
|
1692
|
+
outcome: 'Submitted',
|
|
1693
|
+
},
|
|
1694
|
+
};
|
|
1695
|
+
}
|
|
1696
|
+
catch (error) {
|
|
1697
|
+
const message = error instanceof Error ? error.message : 'Failed to capture rejection reason';
|
|
1698
|
+
return {
|
|
1699
|
+
success: false,
|
|
1700
|
+
message: {
|
|
1701
|
+
text: message,
|
|
1702
|
+
},
|
|
1703
|
+
data: {
|
|
1704
|
+
reason: '',
|
|
1705
|
+
rejectedAt: new Date().toISOString(),
|
|
1706
|
+
},
|
|
1707
|
+
metadata: {
|
|
1708
|
+
outcome: 'Cancelled',
|
|
1709
|
+
},
|
|
1710
|
+
};
|
|
1711
|
+
}
|
|
1712
|
+
}
|
|
1713
|
+
//#endregion
|
|
1714
|
+
//#region ---- Dialog ----
|
|
1715
|
+
async showRejectionDialog(message, requireReason) {
|
|
1716
|
+
const reasonValidations = requireReason
|
|
1717
|
+
? [
|
|
1718
|
+
{
|
|
1719
|
+
rule: 'required',
|
|
1720
|
+
options: {
|
|
1721
|
+
message: '@workflow-management:sign-off.activities.rejection-reason.reason-required',
|
|
1722
|
+
},
|
|
1723
|
+
},
|
|
1724
|
+
]
|
|
1725
|
+
: [];
|
|
1726
|
+
const result = await this.layoutBuilder
|
|
1727
|
+
.create()
|
|
1728
|
+
.dialog((dialog) => {
|
|
1729
|
+
dialog
|
|
1730
|
+
.setTitle('@general:actions.reject.title')
|
|
1731
|
+
.setMessage(message)
|
|
1732
|
+
.setContext({ reason: '', note: '' })
|
|
1733
|
+
.content((flex) => {
|
|
1734
|
+
flex
|
|
1735
|
+
.setDirection('column')
|
|
1736
|
+
.formField('@workflow-management:sign-off.activities.rejection-reason.reason-label', (field) => {
|
|
1737
|
+
field.path('reason');
|
|
1738
|
+
field.largeTextBox({
|
|
1739
|
+
placeholder: '@workflow-management:sign-off.activities.rejection-reason.reason-placeholder',
|
|
1740
|
+
maxLength: 500,
|
|
1741
|
+
validations: reasonValidations,
|
|
1742
|
+
});
|
|
1743
|
+
})
|
|
1744
|
+
.formField('@workflow-management:sign-off.activities.rejection-reason.note-label', (field) => {
|
|
1745
|
+
field.path('note');
|
|
1746
|
+
field.largeTextBox({
|
|
1747
|
+
placeholder: '@workflow-management:sign-off.activities.rejection-reason.note-placeholder',
|
|
1748
|
+
maxLength: 1000,
|
|
1749
|
+
});
|
|
1750
|
+
});
|
|
1751
|
+
})
|
|
1752
|
+
.setActions((actions) => {
|
|
1753
|
+
actions
|
|
1754
|
+
.cancel('@general:actions.cancel.title')
|
|
1755
|
+
.submit('@general:actions.reject.title');
|
|
1756
|
+
})
|
|
1757
|
+
.onAction(async (dialogRef) => {
|
|
1758
|
+
const context = dialogRef.context();
|
|
1759
|
+
const action = dialogRef.action();
|
|
1760
|
+
if (!context || action === 'cancel') {
|
|
1761
|
+
return { reason: '', note: undefined, cancelled: true };
|
|
1762
|
+
}
|
|
1763
|
+
const formData = context;
|
|
1764
|
+
const reason = isString(formData.reason) ? trim(formData.reason) : '';
|
|
1765
|
+
if (requireReason && isEmpty(reason)) {
|
|
1766
|
+
return { reason: '', note: undefined, cancelled: true };
|
|
1767
|
+
}
|
|
1768
|
+
return {
|
|
1769
|
+
reason: defaultTo(reason, ''),
|
|
1770
|
+
note: formData.note,
|
|
1771
|
+
cancelled: false,
|
|
1772
|
+
};
|
|
1773
|
+
});
|
|
1774
|
+
})
|
|
1775
|
+
.show();
|
|
1776
|
+
return result;
|
|
1777
|
+
}
|
|
1778
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: RejectionReasonActivity, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1779
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: RejectionReasonActivity }); }
|
|
1780
|
+
}
|
|
1781
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: RejectionReasonActivity, decorators: [{
|
|
1643
1782
|
type: Injectable
|
|
1644
1783
|
}] });
|
|
1645
1784
|
|
|
@@ -2059,12 +2198,13 @@ var index = /*#__PURE__*/Object.freeze({
|
|
|
2059
2198
|
AXMWorkflowActivitiesDefinitionProvider: AXMWorkflowActivitiesDefinitionProvider,
|
|
2060
2199
|
AXPCreateEntityActivity: AXPCreateEntityActivity,
|
|
2061
2200
|
CartableTaskActivity: CartableTaskActivity,
|
|
2062
|
-
CollectSignatureActivity: CollectSignatureActivity,
|
|
2063
2201
|
CreateEntityFormActivity: CreateEntityFormActivity,
|
|
2064
2202
|
HumanTaskActivity: HumanTaskActivity,
|
|
2203
|
+
RejectionReasonActivity: RejectionReasonActivity,
|
|
2065
2204
|
ShowConfirmPopupActivity: ShowConfirmPopupActivity,
|
|
2066
2205
|
ShowLayoutPopupActivity: ShowLayoutPopupActivity,
|
|
2067
|
-
ShowToastActivity: ShowToastActivity
|
|
2206
|
+
ShowToastActivity: ShowToastActivity,
|
|
2207
|
+
SignOffActivity: SignOffActivity
|
|
2068
2208
|
});
|
|
2069
2209
|
|
|
2070
2210
|
//#region ---- Imports ----
|
|
@@ -2126,43 +2266,175 @@ const automationPlugin = {
|
|
|
2126
2266
|
};
|
|
2127
2267
|
//#endregion
|
|
2128
2268
|
|
|
2269
|
+
//#region ---- Workflow run command keys ----
|
|
2270
|
+
/** Commands for workflow-backed domain list rows (continue, cancel, take over). */
|
|
2271
|
+
const AXMWorkflowManagementCommandKeys = {
|
|
2272
|
+
WorkflowRun: {
|
|
2273
|
+
Continue: 'WorkflowManagement.WorkflowRun:Continue',
|
|
2274
|
+
CancelRun: 'WorkflowManagement.WorkflowRun:CancelRun',
|
|
2275
|
+
TakeOver: 'WorkflowManagement.WorkflowRun:TakeOver',
|
|
2276
|
+
},
|
|
2277
|
+
};
|
|
2278
|
+
//#endregion
|
|
2279
|
+
|
|
2280
|
+
//#region ---- Imports ----
|
|
2281
|
+
//#endregion
|
|
2282
|
+
//#region ---- Constants ----
|
|
2283
|
+
const CRUD_ROW_COMMANDS = new Set(['Entity:Update', 'delete-entity', 'show-file-uploader-popup', 'open-entity']);
|
|
2284
|
+
/** Hidden when the row has no linked instance or is in a terminal domain status. */
|
|
2285
|
+
const WORKFLOW_RUN_ROW_ACTIONS_HIDDEN = '{{ !context.eval("workflowInfo.instanceId") || context.eval("statusId") === "completed" || context.eval("statusId") === "cancelled" }}';
|
|
2286
|
+
//#endregion
|
|
2287
|
+
//#region ---- Helpers ----
|
|
2288
|
+
function resolveListOptions(options) {
|
|
2289
|
+
const list = options?.list ?? {};
|
|
2290
|
+
const mode = list.mode ?? 'crud';
|
|
2291
|
+
const isWorkflowRun = mode === 'workflow-run';
|
|
2292
|
+
return {
|
|
2293
|
+
mode,
|
|
2294
|
+
suppressCrudRowActions: list.suppressCrudRowActions ?? isWorkflowRun,
|
|
2295
|
+
suppressAttachmentListAction: list.suppressAttachmentListAction ?? isWorkflowRun,
|
|
2296
|
+
viewInReadonlyPopup: list.viewInReadonlyPopup ?? isWorkflowRun,
|
|
2297
|
+
};
|
|
2298
|
+
}
|
|
2299
|
+
function getActionCommandName(action) {
|
|
2300
|
+
if (typeof action.command === 'string') {
|
|
2301
|
+
return action.command;
|
|
2302
|
+
}
|
|
2303
|
+
return action.command?.name;
|
|
2304
|
+
}
|
|
2305
|
+
function shouldSuppressListAction(action, listOptions) {
|
|
2306
|
+
const commandName = getActionCommandName(action);
|
|
2307
|
+
if (!commandName) {
|
|
2308
|
+
return false;
|
|
2309
|
+
}
|
|
2310
|
+
if (listOptions.suppressCrudRowActions && CRUD_ROW_COMMANDS.has(commandName)) {
|
|
2311
|
+
return true;
|
|
2312
|
+
}
|
|
2313
|
+
if (listOptions.suppressAttachmentListAction) {
|
|
2314
|
+
if (commandName === 'show-file-uploader-popup' || action.type === 'upload') {
|
|
2315
|
+
return true;
|
|
2316
|
+
}
|
|
2317
|
+
if (action.name?.startsWith('attachments-')) {
|
|
2318
|
+
return true;
|
|
2319
|
+
}
|
|
2320
|
+
}
|
|
2321
|
+
return false;
|
|
2322
|
+
}
|
|
2323
|
+
function registerWorkflowRunRowActions(ctx, listOptions) {
|
|
2324
|
+
const entityKey = `${ctx.entity.module}.${ctx.entity.name}`;
|
|
2325
|
+
ctx.interfaces.update((interfaces) => {
|
|
2326
|
+
const list = interfaces.master?.list;
|
|
2327
|
+
const actions = list?.actions ?? [];
|
|
2328
|
+
if (listOptions.viewInReadonlyPopup && !actionExists(actions, 'Entity:View', 'workflow-run-view')) {
|
|
2329
|
+
actions.push({
|
|
2330
|
+
name: 'workflow-run-view',
|
|
2331
|
+
title: '@general:actions.view.title',
|
|
2332
|
+
icon: 'fa-light fa-eye',
|
|
2333
|
+
command: 'Entity:View',
|
|
2334
|
+
priority: 'secondary',
|
|
2335
|
+
type: 'view',
|
|
2336
|
+
scope: AXPEntityCommandScope.Individual,
|
|
2337
|
+
});
|
|
2338
|
+
}
|
|
2339
|
+
if (!actionExists(actions, AXMWorkflowManagementCommandKeys.WorkflowRun.Continue, 'workflow-run-continue')) {
|
|
2340
|
+
actions.push({
|
|
2341
|
+
name: 'workflow-run-continue',
|
|
2342
|
+
title: '@workflow-management:workflow-run.actions.continue.title',
|
|
2343
|
+
icon: 'fa-light fa-play',
|
|
2344
|
+
command: {
|
|
2345
|
+
name: AXMWorkflowManagementCommandKeys.WorkflowRun.Continue,
|
|
2346
|
+
options: {
|
|
2347
|
+
entitySource: entityKey,
|
|
2348
|
+
},
|
|
2349
|
+
},
|
|
2350
|
+
priority: 'primary',
|
|
2351
|
+
type: 'action',
|
|
2352
|
+
scope: AXPEntityCommandScope.Individual,
|
|
2353
|
+
default: true,
|
|
2354
|
+
hidden: WORKFLOW_RUN_ROW_ACTIONS_HIDDEN,
|
|
2355
|
+
});
|
|
2356
|
+
}
|
|
2357
|
+
if (!actionExists(actions, AXMWorkflowManagementCommandKeys.WorkflowRun.CancelRun, 'workflow-run-cancel')) {
|
|
2358
|
+
actions.push({
|
|
2359
|
+
name: 'workflow-run-cancel',
|
|
2360
|
+
title: '@workflow-management:workflow-run.actions.cancel-run.title',
|
|
2361
|
+
icon: 'fa-light fa-ban',
|
|
2362
|
+
command: {
|
|
2363
|
+
name: AXMWorkflowManagementCommandKeys.WorkflowRun.CancelRun,
|
|
2364
|
+
options: {
|
|
2365
|
+
entitySource: entityKey,
|
|
2366
|
+
},
|
|
2367
|
+
},
|
|
2368
|
+
priority: 'secondary',
|
|
2369
|
+
type: 'action',
|
|
2370
|
+
scope: AXPEntityCommandScope.Individual,
|
|
2371
|
+
hidden: WORKFLOW_RUN_ROW_ACTIONS_HIDDEN,
|
|
2372
|
+
});
|
|
2373
|
+
}
|
|
2374
|
+
if (!actionExists(actions, AXMWorkflowManagementCommandKeys.WorkflowRun.TakeOver, 'workflow-run-take-over')) {
|
|
2375
|
+
actions.push({
|
|
2376
|
+
name: 'workflow-run-take-over',
|
|
2377
|
+
title: '@workflow-management:workflow-run.actions.take-over.title',
|
|
2378
|
+
icon: 'fa-light fa-user-check',
|
|
2379
|
+
command: {
|
|
2380
|
+
name: AXMWorkflowManagementCommandKeys.WorkflowRun.TakeOver,
|
|
2381
|
+
options: {
|
|
2382
|
+
entitySource: entityKey,
|
|
2383
|
+
},
|
|
2384
|
+
},
|
|
2385
|
+
priority: 'secondary',
|
|
2386
|
+
type: 'action',
|
|
2387
|
+
scope: AXPEntityCommandScope.Individual,
|
|
2388
|
+
hidden: WORKFLOW_RUN_ROW_ACTIONS_HIDDEN,
|
|
2389
|
+
});
|
|
2390
|
+
}
|
|
2391
|
+
return interfaces;
|
|
2392
|
+
});
|
|
2393
|
+
}
|
|
2394
|
+
//#endregion
|
|
2395
|
+
//#region ---- Plugin ----
|
|
2129
2396
|
/**
|
|
2130
|
-
* Workflow
|
|
2131
|
-
*
|
|
2132
|
-
* Marks an entity as workflow-capable. This plugin does NOT configure workflows;
|
|
2133
|
-
* it only indicates that the entity can participate in workflows.
|
|
2134
|
-
*
|
|
2135
|
-
* Workflow bindings are configured in Workflow Management (workflow definition → bindings),
|
|
2136
|
-
* not in the entity definition.
|
|
2137
|
-
*
|
|
2138
|
-
* This plugin:
|
|
2139
|
-
* - Adds workflow capability marker to entity extensions
|
|
2140
|
-
* - Enables workflow trigger middleware to detect workflow-capable entities
|
|
2141
|
-
* - Domain rows link runs via `workflowInfo` on the entity model (see `AXPRecordWorkflowInfo`),
|
|
2142
|
-
* not as entity definition properties
|
|
2143
|
-
* - Provides UI hooks for workflow-related features (future enhancement)
|
|
2397
|
+
* Workflow plugin — marks entities as workflow-capable and optionally configures
|
|
2398
|
+
* workflow-run list behavior (suppress CRUD row actions, inject continue/cancel/take-over).
|
|
2144
2399
|
*
|
|
2145
|
-
*
|
|
2146
|
-
* ```typescript
|
|
2147
|
-
* plugins: [
|
|
2148
|
-
* { name: 'workflow' }, // Entity is workflow-capable
|
|
2149
|
-
* ]
|
|
2150
|
-
* ```
|
|
2400
|
+
* Domain rows link runs via `workflowInfo` on the entity model ({@link AXPRecordWorkflowInfo}).
|
|
2151
2401
|
*/
|
|
2152
2402
|
const workflowPlugin = {
|
|
2153
2403
|
name: 'workflow',
|
|
2154
|
-
order: 50,
|
|
2155
|
-
apply: (ctx) => {
|
|
2156
|
-
|
|
2157
|
-
|
|
2158
|
-
ctx.entity
|
|
2404
|
+
order: 50,
|
|
2405
|
+
apply: (ctx, options) => {
|
|
2406
|
+
const listOptions = resolveListOptions(options);
|
|
2407
|
+
const isWorkflowRun = listOptions.mode === 'workflow-run';
|
|
2408
|
+
const entityExt = ctx.entity;
|
|
2409
|
+
entityExt.extensions ??= {};
|
|
2410
|
+
entityExt.extensions['workflow'] = {
|
|
2159
2411
|
enabled: true,
|
|
2412
|
+
list: listOptions,
|
|
2160
2413
|
};
|
|
2161
|
-
|
|
2162
|
-
|
|
2163
|
-
|
|
2414
|
+
if (!isWorkflowRun) {
|
|
2415
|
+
return;
|
|
2416
|
+
}
|
|
2417
|
+
ensureListActions(ctx);
|
|
2418
|
+
ctx.interfaces.update((interfaces) => {
|
|
2419
|
+
const master = interfaces.master;
|
|
2420
|
+
const list = master?.list;
|
|
2421
|
+
if (!list) {
|
|
2422
|
+
return interfaces;
|
|
2423
|
+
}
|
|
2424
|
+
list.actions = (list.actions ?? []).filter((action) => !shouldSuppressListAction(action, listOptions));
|
|
2425
|
+
// Clear default flag on remaining CRUD/view actions so Continue becomes the row default.
|
|
2426
|
+
for (const action of list.actions) {
|
|
2427
|
+
const commandName = getActionCommandName(action);
|
|
2428
|
+
if (commandName === 'open-entity' || commandName === 'Entity:Update') {
|
|
2429
|
+
action.default = false;
|
|
2430
|
+
}
|
|
2431
|
+
}
|
|
2432
|
+
return interfaces;
|
|
2433
|
+
});
|
|
2434
|
+
registerWorkflowRunRowActions(ctx, listOptions);
|
|
2164
2435
|
},
|
|
2165
2436
|
};
|
|
2437
|
+
//#endregion
|
|
2166
2438
|
|
|
2167
2439
|
/**
|
|
2168
2440
|
* Workflow Plugin Module
|
|
@@ -2643,11 +2915,6 @@ function getWorkflowInstanceInitiatorUserId(instance) {
|
|
|
2643
2915
|
const id = instance.auditInfo?.created?.by?.id;
|
|
2644
2916
|
return id != null && String(id).length > 0 ? String(id) : null;
|
|
2645
2917
|
}
|
|
2646
|
-
/** Demo/platform operator accounts that bypass permission checks in mock auth. */
|
|
2647
|
-
function isWorkflowPlatformRootUser(sessionService) {
|
|
2648
|
-
const username = sessionService.user?.name?.trim();
|
|
2649
|
-
return username === 'root' || username === 'root2' || username === 'super-root';
|
|
2650
|
-
}
|
|
2651
2918
|
//#endregion
|
|
2652
2919
|
//#region ---- Bookmark payload helpers ----
|
|
2653
2920
|
/** Bookmark types rendered on the workflow task board. */
|
|
@@ -2690,29 +2957,160 @@ function parseWorkflowTaskContinuationPayload(bookmark) {
|
|
|
2690
2957
|
}
|
|
2691
2958
|
//#endregion
|
|
2692
2959
|
//#region ---- Step advancement gate ----
|
|
2693
|
-
/** Resume outcomes that do not advance the workflow graph (draft save, cancel, loop back). */
|
|
2694
|
-
const NON_ADVANCING_RESUME_OUTCOMES = new Set(['saved', 'cancelled', 'cancel', 'save', 'draft']);
|
|
2695
2960
|
/**
|
|
2696
2961
|
* Whether the workflow moved forward enough to prompt "continue to next step".
|
|
2697
2962
|
* Skips draft save / cancel on questionnaire (same human-task bookmark remains).
|
|
2698
2963
|
*/
|
|
2699
2964
|
function shouldOfferWorkflowContinuationAfterStep(context, activeBookmarkActivityIds) {
|
|
2700
|
-
|
|
2701
|
-
|
|
2965
|
+
return axpShouldOfferWorkflowContinuationAfterStep(context, activeBookmarkActivityIds);
|
|
2966
|
+
}
|
|
2967
|
+
//#endregion
|
|
2968
|
+
//#region ---- Human-task assignee lookup ----
|
|
2969
|
+
/**
|
|
2970
|
+
* Assignee of the first active human-task / cartable bookmark (used for interactive-step continuation).
|
|
2971
|
+
*/
|
|
2972
|
+
function findActiveHumanTaskAssigneeId(bookmarks) {
|
|
2973
|
+
for (const bookmark of bookmarks) {
|
|
2974
|
+
const payload = parseWorkflowTaskContinuationPayload(bookmark);
|
|
2975
|
+
if (!payload || !isWorkflowTaskBoardBookmarkPayload(payload)) {
|
|
2976
|
+
continue;
|
|
2977
|
+
}
|
|
2978
|
+
const assigned = normalizeWorkflowTaskUserIds(payload.assignedUserIds);
|
|
2979
|
+
if (assigned[0]) {
|
|
2980
|
+
return assigned[0];
|
|
2981
|
+
}
|
|
2982
|
+
}
|
|
2983
|
+
return null;
|
|
2984
|
+
}
|
|
2985
|
+
/**
|
|
2986
|
+
* Assignee on a completed human-task activity (when inbox bookmarks are already consumed).
|
|
2987
|
+
*/
|
|
2988
|
+
function findHumanTaskAssigneeIdForActivity(bookmarks, activityId) {
|
|
2989
|
+
for (const bookmark of bookmarks) {
|
|
2990
|
+
if (bookmark.activityId !== activityId) {
|
|
2991
|
+
continue;
|
|
2992
|
+
}
|
|
2993
|
+
const payload = parseWorkflowTaskContinuationPayload(bookmark);
|
|
2994
|
+
if (!payload || !isWorkflowTaskBoardBookmarkPayload(payload)) {
|
|
2995
|
+
continue;
|
|
2996
|
+
}
|
|
2997
|
+
const assigned = normalizeWorkflowTaskUserIds(payload.assignedUserIds);
|
|
2998
|
+
if (assigned[0]) {
|
|
2999
|
+
return assigned[0];
|
|
3000
|
+
}
|
|
3001
|
+
}
|
|
3002
|
+
return null;
|
|
3003
|
+
}
|
|
3004
|
+
/** Latest human-task assignee on the instance (active first, then any bookmark). */
|
|
3005
|
+
function resolveWorkflowHumanTaskAssigneeId(instance, preferredActivityId) {
|
|
3006
|
+
const wi = instance.workflowInstance;
|
|
3007
|
+
const all = wi?.bookmarks ?? [];
|
|
3008
|
+
const active = all.filter((b) => !b.isConsumed && !b.consumed);
|
|
3009
|
+
const fromActive = findActiveHumanTaskAssigneeId(active);
|
|
3010
|
+
if (fromActive) {
|
|
3011
|
+
return fromActive;
|
|
3012
|
+
}
|
|
3013
|
+
if (preferredActivityId) {
|
|
3014
|
+
const fromPreferred = findHumanTaskAssigneeIdForActivity(all, preferredActivityId);
|
|
3015
|
+
if (fromPreferred) {
|
|
3016
|
+
return fromPreferred;
|
|
3017
|
+
}
|
|
3018
|
+
}
|
|
3019
|
+
for (let i = all.length - 1; i >= 0; i--) {
|
|
3020
|
+
const payload = parseWorkflowTaskContinuationPayload(all[i]);
|
|
3021
|
+
if (!payload || !isWorkflowTaskBoardBookmarkPayload(payload)) {
|
|
3022
|
+
continue;
|
|
3023
|
+
}
|
|
3024
|
+
const assigned = normalizeWorkflowTaskUserIds(payload.assignedUserIds);
|
|
3025
|
+
if (assigned[0]) {
|
|
3026
|
+
return assigned[0];
|
|
3027
|
+
}
|
|
3028
|
+
}
|
|
3029
|
+
return null;
|
|
3030
|
+
}
|
|
3031
|
+
//#endregion
|
|
3032
|
+
//#region ---- Interactive step continuation ----
|
|
3033
|
+
/**
|
|
3034
|
+
* Whether a bookmark row (including consumed) was a task-board human-task / cartable step.
|
|
3035
|
+
*/
|
|
3036
|
+
function wasWorkflowTaskBoardActivity(bookmarks, activityId) {
|
|
3037
|
+
for (const bookmark of bookmarks) {
|
|
3038
|
+
if (bookmark.activityId !== activityId) {
|
|
3039
|
+
continue;
|
|
3040
|
+
}
|
|
3041
|
+
const payload = parseWorkflowTaskContinuationPayload(bookmark);
|
|
3042
|
+
if (payload && isWorkflowTaskBoardBookmarkPayload(payload)) {
|
|
3043
|
+
return true;
|
|
3044
|
+
}
|
|
3045
|
+
}
|
|
3046
|
+
return false;
|
|
3047
|
+
}
|
|
3048
|
+
/**
|
|
3049
|
+
* Whether to show "continue?" before an inline interactive activity (sign-off, assessment, etc.).
|
|
3050
|
+
*/
|
|
3051
|
+
function shouldOfferWorkflowInteractiveStepContinuation(instance, sessionService, humanTaskAssigneeId) {
|
|
3052
|
+
const currentUserId = sessionService.user?.id;
|
|
3053
|
+
if (currentUserId == null) {
|
|
2702
3054
|
return false;
|
|
2703
3055
|
}
|
|
2704
|
-
const
|
|
2705
|
-
const
|
|
2706
|
-
|
|
3056
|
+
const current = String(currentUserId);
|
|
3057
|
+
const initiatorId = getWorkflowInstanceInitiatorUserId(instance);
|
|
3058
|
+
const isInitiator = initiatorId != null && current === initiatorId;
|
|
3059
|
+
if (isInitiator) {
|
|
3060
|
+
return true;
|
|
3061
|
+
}
|
|
3062
|
+
if (canReassignWorkflowTaskToSelf(sessionService)) {
|
|
3063
|
+
return true;
|
|
3064
|
+
}
|
|
3065
|
+
if (humanTaskAssigneeId && current === humanTaskAssigneeId) {
|
|
3066
|
+
return true;
|
|
3067
|
+
}
|
|
3068
|
+
return false;
|
|
3069
|
+
}
|
|
3070
|
+
/**
|
|
3071
|
+
* Skips a redundant pre-interactive prompt when the next UI would run immediately anyway.
|
|
3072
|
+
*/
|
|
3073
|
+
function shouldSkipContinuationBeforeInteractive(context, nextTask, sessionService, instance, bookmarks, humanTaskAssigneeId) {
|
|
3074
|
+
if (!axpIsWorkflowInlineFrontendTask(nextTask)) {
|
|
2707
3075
|
return false;
|
|
2708
3076
|
}
|
|
2709
|
-
|
|
3077
|
+
const currentUserId = sessionService.user?.id;
|
|
3078
|
+
if (currentUserId == null) {
|
|
2710
3079
|
return false;
|
|
2711
3080
|
}
|
|
2712
|
-
|
|
3081
|
+
const current = String(currentUserId);
|
|
3082
|
+
const completedActivityId = context.completedActivityId;
|
|
3083
|
+
// Resume consumes the human-task bookmark before the inline activity runs; search all bookmarks.
|
|
3084
|
+
const allBookmarks = instance.workflowInstance
|
|
3085
|
+
?.bookmarks ?? bookmarks;
|
|
3086
|
+
const completedWasHumanTask = !!completedActivityId && wasWorkflowTaskBoardActivity(allBookmarks, completedActivityId);
|
|
3087
|
+
const beforeInteractive = axpResolveWorkflowContinuationBeforeInteractive(nextTask);
|
|
3088
|
+
if (axpShouldSkipBeforeInteractiveFromMetadata(beforeInteractive, completedWasHumanTask)) {
|
|
3089
|
+
return true;
|
|
3090
|
+
}
|
|
3091
|
+
if (beforeInteractive === 'skip-for-assignee' && humanTaskAssigneeId && current === humanTaskAssigneeId) {
|
|
3092
|
+
const initiatorId = getWorkflowInstanceInitiatorUserId(instance);
|
|
3093
|
+
if (initiatorId != null && current === initiatorId) {
|
|
3094
|
+
return false;
|
|
3095
|
+
}
|
|
3096
|
+
if (canReassignWorkflowTaskToSelf(sessionService)) {
|
|
3097
|
+
return false;
|
|
3098
|
+
}
|
|
2713
3099
|
return true;
|
|
2714
3100
|
}
|
|
2715
|
-
return
|
|
3101
|
+
return false;
|
|
3102
|
+
}
|
|
3103
|
+
/** Take-over copy before interactive steps when a human-task is owned by someone else. */
|
|
3104
|
+
function needsTakeOverForWorkflowInteractiveContinuation(instance, sessionService, humanTaskAssigneeId) {
|
|
3105
|
+
const currentUserId = sessionService.user?.id;
|
|
3106
|
+
if (currentUserId == null || !humanTaskAssigneeId) {
|
|
3107
|
+
return false;
|
|
3108
|
+
}
|
|
3109
|
+
const current = String(currentUserId);
|
|
3110
|
+
if (current === humanTaskAssigneeId) {
|
|
3111
|
+
return false;
|
|
3112
|
+
}
|
|
3113
|
+
return canReassignWorkflowTaskToSelf(sessionService);
|
|
2716
3114
|
}
|
|
2717
3115
|
//#endregion
|
|
2718
3116
|
//#region ---- Continuation eligibility ----
|
|
@@ -2723,6 +3121,16 @@ function shouldOfferWorkflowContinuationAfterStep(context, activeBookmarkActivit
|
|
|
2723
3121
|
* - Workflow initiator and assignee are the same person and that person is the current user.
|
|
2724
3122
|
* - Current user may take over a human-task assigned to someone else.
|
|
2725
3123
|
*/
|
|
3124
|
+
/**
|
|
3125
|
+
* Resolves assignee id from bookmark payload, falling back to instance bookmarks / pending task input.
|
|
3126
|
+
*/
|
|
3127
|
+
function resolveWorkflowTaskContinuationAssigneeId(instance, payload, pendingActivityId) {
|
|
3128
|
+
const fromPayload = normalizeWorkflowTaskUserIds(payload.assignedUserIds)[0] ?? null;
|
|
3129
|
+
if (fromPayload) {
|
|
3130
|
+
return fromPayload;
|
|
3131
|
+
}
|
|
3132
|
+
return resolveWorkflowHumanTaskAssigneeId(instance, pendingActivityId);
|
|
3133
|
+
}
|
|
2726
3134
|
function shouldOfferWorkflowTaskContinuation(ctx) {
|
|
2727
3135
|
const currentUserId = ctx.sessionService.user?.id;
|
|
2728
3136
|
if (currentUserId == null) {
|
|
@@ -2735,10 +3143,8 @@ function shouldOfferWorkflowTaskContinuation(ctx) {
|
|
|
2735
3143
|
if (isWorkflowPooledClaimablePayload(ctx.payload)) {
|
|
2736
3144
|
return false;
|
|
2737
3145
|
}
|
|
2738
|
-
const
|
|
2739
|
-
const assigneeId = assigned[0] ?? null;
|
|
3146
|
+
const assigneeId = resolveWorkflowTaskContinuationAssigneeId(ctx.instance, ctx.payload, ctx.bookmark.activityId);
|
|
2740
3147
|
const initiatorId = getWorkflowInstanceInitiatorUserId(ctx.instance);
|
|
2741
|
-
const isPlatformRoot = isWorkflowPlatformRootUser(ctx.sessionService);
|
|
2742
3148
|
const isInitiator = initiatorId != null && current === initiatorId;
|
|
2743
3149
|
if (assigneeId && current === assigneeId) {
|
|
2744
3150
|
return true;
|
|
@@ -2747,14 +3153,15 @@ function shouldOfferWorkflowTaskContinuation(ctx) {
|
|
|
2747
3153
|
return true;
|
|
2748
3154
|
}
|
|
2749
3155
|
/** User who started the workflow may continue (take over when not assignee). */
|
|
2750
|
-
if (isInitiator && assigneeId) {
|
|
3156
|
+
if (isInitiator && assigneeId && current !== assigneeId) {
|
|
2751
3157
|
return true;
|
|
2752
3158
|
}
|
|
2753
|
-
|
|
2754
|
-
|
|
3159
|
+
if (isInitiator &&
|
|
3160
|
+
canReassignWorkflowTaskToSelf(ctx.sessionService) &&
|
|
3161
|
+
isWorkflowReassignableHumanTaskPayload(ctx.payload)) {
|
|
2755
3162
|
return true;
|
|
2756
3163
|
}
|
|
2757
|
-
if (!canReassignWorkflowTaskToSelf(ctx.sessionService)
|
|
3164
|
+
if (!canReassignWorkflowTaskToSelf(ctx.sessionService)) {
|
|
2758
3165
|
return false;
|
|
2759
3166
|
}
|
|
2760
3167
|
if (!isWorkflowReassignableHumanTaskPayload(ctx.payload)) {
|
|
@@ -2772,13 +3179,11 @@ function needsTakeOverForWorkflowTaskContinuation(ctx) {
|
|
|
2772
3179
|
return false;
|
|
2773
3180
|
}
|
|
2774
3181
|
const current = String(currentUserId);
|
|
2775
|
-
const
|
|
2776
|
-
const assigneeId = assigned[0] ?? null;
|
|
3182
|
+
const assigneeId = resolveWorkflowTaskContinuationAssigneeId(ctx.instance, ctx.payload, ctx.bookmark.activityId);
|
|
2777
3183
|
if (!assigneeId || current === assigneeId) {
|
|
2778
3184
|
return false;
|
|
2779
3185
|
}
|
|
2780
|
-
|
|
2781
|
-
return canTakeOver && isWorkflowReassignableHumanTaskPayload(ctx.payload);
|
|
3186
|
+
return (canReassignWorkflowTaskToSelf(ctx.sessionService) && isWorkflowReassignableHumanTaskPayload(ctx.payload));
|
|
2782
3187
|
}
|
|
2783
3188
|
//#endregion
|
|
2784
3189
|
|
|
@@ -2799,13 +3204,34 @@ function createWorkflowInstanceBookmarkAccess(entityService = inject(AXPEntitySe
|
|
|
2799
3204
|
.data();
|
|
2800
3205
|
return {
|
|
2801
3206
|
async loadInstance(instanceId) {
|
|
2802
|
-
|
|
2803
|
-
|
|
2804
|
-
|
|
3207
|
+
return this.loadInstanceForContinuation(instanceId);
|
|
3208
|
+
},
|
|
3209
|
+
/**
|
|
3210
|
+
* Reloads the instance until the expected human-task bookmark exists (post-submit race).
|
|
3211
|
+
*/
|
|
3212
|
+
async loadInstanceForContinuation(instanceId, expectedPendingActivityId) {
|
|
3213
|
+
const maxAttempts = 6;
|
|
3214
|
+
for (let attempt = 0; attempt < maxAttempts; attempt++) {
|
|
3215
|
+
const instance = await workflowInstanceData.byKey(instanceId);
|
|
3216
|
+
if (instance) {
|
|
3217
|
+
const active = getActiveBookmarks(instance);
|
|
3218
|
+
if (expectedPendingActivityId) {
|
|
3219
|
+
if (active.some((b) => b.activityId === expectedPendingActivityId)) {
|
|
3220
|
+
return instance;
|
|
3221
|
+
}
|
|
3222
|
+
}
|
|
3223
|
+
else if (active.length > 0) {
|
|
3224
|
+
return instance;
|
|
3225
|
+
}
|
|
3226
|
+
}
|
|
3227
|
+
if (attempt < maxAttempts - 1) {
|
|
3228
|
+
await new Promise((resolve) => setTimeout(resolve, 50 * (attempt + 1)));
|
|
3229
|
+
}
|
|
3230
|
+
else {
|
|
3231
|
+
return instance ?? null;
|
|
3232
|
+
}
|
|
2805
3233
|
}
|
|
2806
|
-
|
|
2807
|
-
instance = await workflowInstanceData.byKey(instanceId);
|
|
2808
|
-
return instance ?? null;
|
|
3234
|
+
return null;
|
|
2809
3235
|
},
|
|
2810
3236
|
getActiveBookmarks,
|
|
2811
3237
|
async findActiveBookmark(instanceId, activityId) {
|
|
@@ -3016,35 +3442,72 @@ class AXPWorkflowTaskContinuationService {
|
|
|
3016
3442
|
}
|
|
3017
3443
|
//#endregion
|
|
3018
3444
|
//#region ---- Hook ----
|
|
3445
|
+
async offerBeforeInteractiveFlow(context) {
|
|
3446
|
+
try {
|
|
3447
|
+
// Resume from task board already means the user chose to act on this step.
|
|
3448
|
+
if (context.completedActivityId) {
|
|
3449
|
+
return 'not-offered';
|
|
3450
|
+
}
|
|
3451
|
+
const nextTask = context.pendingNextTask;
|
|
3452
|
+
if (!nextTask || !axpIsWorkflowInlineFrontendTask(nextTask)) {
|
|
3453
|
+
return 'not-offered';
|
|
3454
|
+
}
|
|
3455
|
+
const instance = await this.bookmarkAccess.loadInstanceForContinuation(context.instanceId);
|
|
3456
|
+
if (!instance) {
|
|
3457
|
+
return 'not-offered';
|
|
3458
|
+
}
|
|
3459
|
+
const bookmarks = this.bookmarkAccess.getActiveBookmarks(instance);
|
|
3460
|
+
const activeActivityIds = bookmarks.map((b) => b.activityId);
|
|
3461
|
+
if (!shouldOfferWorkflowContinuationAfterStep(context, activeActivityIds)) {
|
|
3462
|
+
return 'not-offered';
|
|
3463
|
+
}
|
|
3464
|
+
const humanTaskAssigneeId = resolveWorkflowHumanTaskAssigneeId(instance, context.completedActivityId);
|
|
3465
|
+
if (shouldSkipContinuationBeforeInteractive(context, nextTask, this.sessionService, instance, bookmarks, humanTaskAssigneeId)) {
|
|
3466
|
+
return 'not-offered';
|
|
3467
|
+
}
|
|
3468
|
+
if (!shouldOfferWorkflowInteractiveStepContinuation(instance, this.sessionService, humanTaskAssigneeId)) {
|
|
3469
|
+
return 'not-offered';
|
|
3470
|
+
}
|
|
3471
|
+
const takeOver = needsTakeOverForWorkflowInteractiveContinuation(instance, this.sessionService, humanTaskAssigneeId);
|
|
3472
|
+
const confirmed = await this.confirmContinueToNextStep(takeOver);
|
|
3473
|
+
return confirmed ? 'confirmed' : 'declined';
|
|
3474
|
+
}
|
|
3475
|
+
catch (error) {
|
|
3476
|
+
console.warn('[AXPWorkflowTaskContinuationService] offerBeforeInteractiveFlow failed', error);
|
|
3477
|
+
return 'not-offered';
|
|
3478
|
+
}
|
|
3479
|
+
}
|
|
3019
3480
|
async offerAfterWorkflowStep(context) {
|
|
3020
3481
|
try {
|
|
3021
|
-
const
|
|
3482
|
+
const expectedActivityId = context.pendingNextTask?.activityId;
|
|
3483
|
+
const instance = await this.bookmarkAccess.loadInstanceForContinuation(context.instanceId, expectedActivityId);
|
|
3022
3484
|
if (!instance) {
|
|
3023
|
-
return;
|
|
3485
|
+
return 'not-offered';
|
|
3024
3486
|
}
|
|
3025
3487
|
const activeActivityIds = this.bookmarkAccess
|
|
3026
3488
|
.getActiveBookmarks(instance)
|
|
3027
3489
|
.map((b) => b.activityId);
|
|
3028
3490
|
if (!shouldOfferWorkflowContinuationAfterStep(context, activeActivityIds)) {
|
|
3029
|
-
return;
|
|
3491
|
+
return 'not-offered';
|
|
3030
3492
|
}
|
|
3031
3493
|
if (context.pendingNextTask &&
|
|
3032
3494
|
axpIsWorkflowTaskBoardActivityType(context.pendingNextTask.activityType)) {
|
|
3033
3495
|
const offered = await this.offerFromPendingNextTask(instance, context, context.pendingNextTask);
|
|
3034
|
-
if (offered) {
|
|
3035
|
-
return;
|
|
3496
|
+
if (offered !== 'not-offered') {
|
|
3497
|
+
return offered;
|
|
3036
3498
|
}
|
|
3037
3499
|
}
|
|
3038
|
-
|
|
3500
|
+
return this.offerFromInstanceBookmarks(instance, context);
|
|
3039
3501
|
}
|
|
3040
3502
|
catch (error) {
|
|
3041
3503
|
console.warn('[AXPWorkflowTaskContinuationService] offerAfterWorkflowStep failed', error);
|
|
3504
|
+
return 'not-offered';
|
|
3042
3505
|
}
|
|
3043
3506
|
}
|
|
3044
3507
|
//#endregion
|
|
3045
3508
|
//#region ---- Offer paths ----
|
|
3046
3509
|
async offerFromPendingNextTask(instance, context, nextTask) {
|
|
3047
|
-
const payload = this.buildPayloadFromWorkflowTask(nextTask);
|
|
3510
|
+
const payload = this.enrichPayloadFromInstance(instance, this.buildPayloadFromWorkflowTask(nextTask), nextTask.activityId);
|
|
3048
3511
|
const bookmark = this.bookmarkAccess
|
|
3049
3512
|
.getActiveBookmarks(instance)
|
|
3050
3513
|
.find((b) => b.activityId === nextTask.activityId);
|
|
@@ -3057,19 +3520,20 @@ class AXPWorkflowTaskContinuationService {
|
|
|
3057
3520
|
completedActivityId: context.completedActivityId,
|
|
3058
3521
|
};
|
|
3059
3522
|
if (!shouldOfferWorkflowTaskContinuation(continuationCtx)) {
|
|
3060
|
-
return
|
|
3523
|
+
return 'not-offered';
|
|
3061
3524
|
}
|
|
3062
|
-
return this.confirmAndAdvance(instance.id,
|
|
3525
|
+
return this.confirmAndAdvance(instance.id, continuationCtx, nextTask.activityId, bookmark?.id);
|
|
3063
3526
|
}
|
|
3064
3527
|
async offerFromInstanceBookmarks(instance, context) {
|
|
3065
3528
|
for (const bookmark of this.bookmarkAccess.getActiveBookmarks(instance)) {
|
|
3066
3529
|
if (this.isCompletedBookmark(bookmark, context)) {
|
|
3067
3530
|
continue;
|
|
3068
3531
|
}
|
|
3069
|
-
const
|
|
3070
|
-
if (!
|
|
3532
|
+
const parsed = parseWorkflowTaskContinuationPayload(bookmark);
|
|
3533
|
+
if (!parsed) {
|
|
3071
3534
|
continue;
|
|
3072
3535
|
}
|
|
3536
|
+
const payload = this.enrichPayloadFromInstance(instance, parsed, bookmark.activityId);
|
|
3073
3537
|
const continuationCtx = {
|
|
3074
3538
|
instance,
|
|
3075
3539
|
bookmark,
|
|
@@ -3081,15 +3545,15 @@ class AXPWorkflowTaskContinuationService {
|
|
|
3081
3545
|
if (!shouldOfferWorkflowTaskContinuation(continuationCtx)) {
|
|
3082
3546
|
continue;
|
|
3083
3547
|
}
|
|
3084
|
-
|
|
3085
|
-
return;
|
|
3548
|
+
return this.confirmAndAdvance(instance.id, continuationCtx, bookmark.activityId, bookmark.id);
|
|
3086
3549
|
}
|
|
3550
|
+
return 'not-offered';
|
|
3087
3551
|
}
|
|
3088
|
-
async confirmAndAdvance(instanceId,
|
|
3552
|
+
async confirmAndAdvance(instanceId, continuationCtx, nextActivityId, nextBookmarkId) {
|
|
3089
3553
|
const takeOver = needsTakeOverForWorkflowTaskContinuation(continuationCtx);
|
|
3090
3554
|
const confirmed = await this.confirmContinueToNextStep(takeOver);
|
|
3091
3555
|
if (!confirmed) {
|
|
3092
|
-
return
|
|
3556
|
+
return 'declined';
|
|
3093
3557
|
}
|
|
3094
3558
|
if (takeOver) {
|
|
3095
3559
|
let bookmarkIdToUse = nextBookmarkId;
|
|
@@ -3098,18 +3562,18 @@ class AXPWorkflowTaskContinuationService {
|
|
|
3098
3562
|
bookmarkIdToUse = found?.bookmark.id;
|
|
3099
3563
|
}
|
|
3100
3564
|
if (!bookmarkIdToUse) {
|
|
3101
|
-
return
|
|
3565
|
+
return 'confirmed';
|
|
3102
3566
|
}
|
|
3103
3567
|
const reassigned = await this.humanTaskService.reassignBookmarkToCurrentUser(instanceId, bookmarkIdToUse, nextActivityId);
|
|
3104
3568
|
if (!reassigned) {
|
|
3105
|
-
return
|
|
3569
|
+
return 'confirmed';
|
|
3106
3570
|
}
|
|
3107
3571
|
}
|
|
3108
3572
|
await this.humanTaskService.executePrimaryHumanTaskAction(instanceId, nextActivityId, {
|
|
3109
3573
|
suppressContinuation: true,
|
|
3110
3574
|
notifyViews: true,
|
|
3111
3575
|
});
|
|
3112
|
-
return
|
|
3576
|
+
return 'confirmed';
|
|
3113
3577
|
}
|
|
3114
3578
|
//#endregion
|
|
3115
3579
|
//#region ---- Helpers ----
|
|
@@ -3122,6 +3586,13 @@ class AXPWorkflowTaskContinuationService {
|
|
|
3122
3586
|
}
|
|
3123
3587
|
return false;
|
|
3124
3588
|
}
|
|
3589
|
+
enrichPayloadFromInstance(instance, payload, activityId) {
|
|
3590
|
+
const assigneeId = resolveWorkflowHumanTaskAssigneeId(instance, activityId);
|
|
3591
|
+
if (assigneeId && normalizeWorkflowTaskUserIds(payload.assignedUserIds).length === 0) {
|
|
3592
|
+
return { ...payload, assignedUserIds: [assigneeId] };
|
|
3593
|
+
}
|
|
3594
|
+
return payload;
|
|
3595
|
+
}
|
|
3125
3596
|
buildPayloadFromWorkflowTask(task) {
|
|
3126
3597
|
const input = task.input ?? {};
|
|
3127
3598
|
const assigned = input['assignedUserIds'];
|
|
@@ -3210,8 +3681,24 @@ class AXMWorkflowManagementModule {
|
|
|
3210
3681
|
command: () => Promise.resolve().then(function () { return index; }).then((c) => c.CartableTaskActivity),
|
|
3211
3682
|
},
|
|
3212
3683
|
{
|
|
3213
|
-
key: 'workflow-activity:
|
|
3214
|
-
command: () => Promise.resolve().then(function () { return index; }).then((c) => c.
|
|
3684
|
+
key: 'workflow-activity:sign-off',
|
|
3685
|
+
command: () => Promise.resolve().then(function () { return index; }).then((c) => c.SignOffActivity),
|
|
3686
|
+
},
|
|
3687
|
+
{
|
|
3688
|
+
key: 'workflow-activity:rejection-reason',
|
|
3689
|
+
command: () => Promise.resolve().then(function () { return index; }).then((c) => c.RejectionReasonActivity),
|
|
3690
|
+
},
|
|
3691
|
+
{
|
|
3692
|
+
key: 'WorkflowManagement.WorkflowRun:Continue',
|
|
3693
|
+
command: () => import('./acorex-modules-workflow-management-index-CxheG2ry.mjs').then((c) => c.ContinueWorkflowRunCommand),
|
|
3694
|
+
},
|
|
3695
|
+
{
|
|
3696
|
+
key: 'WorkflowManagement.WorkflowRun:CancelRun',
|
|
3697
|
+
command: () => import('./acorex-modules-workflow-management-index-CxheG2ry.mjs').then((c) => c.CancelWorkflowRunCommand),
|
|
3698
|
+
},
|
|
3699
|
+
{
|
|
3700
|
+
key: 'WorkflowManagement.WorkflowRun:TakeOver',
|
|
3701
|
+
command: () => import('./acorex-modules-workflow-management-index-CxheG2ry.mjs').then((c) => c.TakeOverWorkflowRunCommand),
|
|
3215
3702
|
},
|
|
3216
3703
|
]),
|
|
3217
3704
|
// provideEntity([RootConfig.entities.activityDefinition.fullName]),
|
|
@@ -3222,7 +3709,7 @@ class AXMWorkflowManagementModule {
|
|
|
3222
3709
|
multi: true,
|
|
3223
3710
|
},
|
|
3224
3711
|
provideLazyProvider(AXP_PAGE_COMPONENT_PROVIDER, () => import('./acorex-modules-workflow-management-index-DC_9M9dk.mjs').then((m) => m.AXMWorkflowInstanceActivityInstancesPageComponentProvider)),
|
|
3225
|
-
provideLazyProvider(AXP_PAGE_COMPONENT_PROVIDER, () => import('./acorex-modules-workflow-management-index-
|
|
3712
|
+
provideLazyProvider(AXP_PAGE_COMPONENT_PROVIDER, () => import('./acorex-modules-workflow-management-index-CdaVEEgn.mjs').then((m) => m.AXMWorkflowDefinitionActivitiesPageComponentProvider)),
|
|
3226
3713
|
// Automation condition builder: default automation.rules(refType, refId); modules override for their refTypes
|
|
3227
3714
|
{
|
|
3228
3715
|
provide: AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER,
|
|
@@ -3280,7 +3767,8 @@ class AXMWorkflowManagementModule {
|
|
|
3280
3767
|
HumanTaskActivity,
|
|
3281
3768
|
CartableTaskActivity,
|
|
3282
3769
|
ShowToastActivity,
|
|
3283
|
-
|
|
3770
|
+
RejectionReasonActivity,
|
|
3771
|
+
SignOffActivity,
|
|
3284
3772
|
// Per-workflow task provider (lazy-loaded). Import provideGenericWorkflowTaskProvider from provider.task.ts:
|
|
3285
3773
|
// provideGenericWorkflowTaskProvider({
|
|
3286
3774
|
// name: 'leave-request',
|
|
@@ -3352,8 +3840,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
3352
3840
|
command: () => Promise.resolve().then(function () { return index; }).then((c) => c.CartableTaskActivity),
|
|
3353
3841
|
},
|
|
3354
3842
|
{
|
|
3355
|
-
key: 'workflow-activity:
|
|
3356
|
-
command: () => Promise.resolve().then(function () { return index; }).then((c) => c.
|
|
3843
|
+
key: 'workflow-activity:sign-off',
|
|
3844
|
+
command: () => Promise.resolve().then(function () { return index; }).then((c) => c.SignOffActivity),
|
|
3845
|
+
},
|
|
3846
|
+
{
|
|
3847
|
+
key: 'workflow-activity:rejection-reason',
|
|
3848
|
+
command: () => Promise.resolve().then(function () { return index; }).then((c) => c.RejectionReasonActivity),
|
|
3849
|
+
},
|
|
3850
|
+
{
|
|
3851
|
+
key: 'WorkflowManagement.WorkflowRun:Continue',
|
|
3852
|
+
command: () => import('./acorex-modules-workflow-management-index-CxheG2ry.mjs').then((c) => c.ContinueWorkflowRunCommand),
|
|
3853
|
+
},
|
|
3854
|
+
{
|
|
3855
|
+
key: 'WorkflowManagement.WorkflowRun:CancelRun',
|
|
3856
|
+
command: () => import('./acorex-modules-workflow-management-index-CxheG2ry.mjs').then((c) => c.CancelWorkflowRunCommand),
|
|
3857
|
+
},
|
|
3858
|
+
{
|
|
3859
|
+
key: 'WorkflowManagement.WorkflowRun:TakeOver',
|
|
3860
|
+
command: () => import('./acorex-modules-workflow-management-index-CxheG2ry.mjs').then((c) => c.TakeOverWorkflowRunCommand),
|
|
3357
3861
|
},
|
|
3358
3862
|
]),
|
|
3359
3863
|
// provideEntity([RootConfig.entities.activityDefinition.fullName]),
|
|
@@ -3364,7 +3868,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
3364
3868
|
multi: true,
|
|
3365
3869
|
},
|
|
3366
3870
|
provideLazyProvider(AXP_PAGE_COMPONENT_PROVIDER, () => import('./acorex-modules-workflow-management-index-DC_9M9dk.mjs').then((m) => m.AXMWorkflowInstanceActivityInstancesPageComponentProvider)),
|
|
3367
|
-
provideLazyProvider(AXP_PAGE_COMPONENT_PROVIDER, () => import('./acorex-modules-workflow-management-index-
|
|
3871
|
+
provideLazyProvider(AXP_PAGE_COMPONENT_PROVIDER, () => import('./acorex-modules-workflow-management-index-CdaVEEgn.mjs').then((m) => m.AXMWorkflowDefinitionActivitiesPageComponentProvider)),
|
|
3368
3872
|
// Automation condition builder: default automation.rules(refType, refId); modules override for their refTypes
|
|
3369
3873
|
{
|
|
3370
3874
|
provide: AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER,
|
|
@@ -3422,7 +3926,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
3422
3926
|
HumanTaskActivity,
|
|
3423
3927
|
CartableTaskActivity,
|
|
3424
3928
|
ShowToastActivity,
|
|
3425
|
-
|
|
3929
|
+
RejectionReasonActivity,
|
|
3930
|
+
SignOffActivity,
|
|
3426
3931
|
// Per-workflow task provider (lazy-loaded). Import provideGenericWorkflowTaskProvider from provider.task.ts:
|
|
3427
3932
|
// provideGenericWorkflowTaskProvider({
|
|
3428
3933
|
// name: 'leave-request',
|
|
@@ -4682,7 +5187,7 @@ class AXPGenericWorkflowTaskProvider extends AXPWorkflowTaskProvider {
|
|
|
4682
5187
|
//#endregion
|
|
4683
5188
|
//#region ---- Component ----
|
|
4684
5189
|
getComponent() {
|
|
4685
|
-
return () => import('./acorex-modules-workflow-management-workflow-task-popover.component-
|
|
5190
|
+
return () => import('./acorex-modules-workflow-management-workflow-task-popover.component-B4hEv2-a.mjs').then((m) => m.AXMWorkflowTaskPopoverComponent);
|
|
4686
5191
|
}
|
|
4687
5192
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPGenericWorkflowTaskProvider, deps: [{ token: AXP_GENERIC_WORKFLOW_TASK_PROVIDER_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
4688
5193
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPGenericWorkflowTaskProvider }); }
|
|
@@ -4704,5 +5209,5 @@ var genericWorkflowTask_provider = /*#__PURE__*/Object.freeze({
|
|
|
4704
5209
|
* Generated bundle index. Do not edit.
|
|
4705
5210
|
*/
|
|
4706
5211
|
|
|
4707
|
-
export { AXCCategoryProvider, AXMMenuProvider, AXMPermissionsKeys, AXMWorkflowActivitiesDefinitionProvider, AXMWorkflowManagementModule, AXMWorkflowManagementModuleEntityProvider, AXPCreateEntityActivity, AXPGenericWorkflowTaskProvider, AXPWorkflowInstanceHumanTaskService, AXPWorkflowTaskContinuationService, AXP_GENERIC_WORKFLOW_TASK_PROVIDER_CONFIG, AXP_WORKFLOW_TASK_CONTEXT_I18N_KEY, AXP_WORKFLOW_TASK_CONTEXT_TITLE_PARTS_KEY, CartableTaskActivity,
|
|
5212
|
+
export { AXCCategoryProvider, AXMMenuProvider, AXMPermissionsKeys, AXMWorkflowActivitiesDefinitionProvider, AXMWorkflowManagementModule, AXMWorkflowManagementModuleEntityProvider, AXPCreateEntityActivity, AXPGenericWorkflowTaskProvider, AXPWorkflowInstanceHumanTaskService, AXPWorkflowTaskContinuationService, AXP_GENERIC_WORKFLOW_TASK_PROVIDER_CONFIG, AXP_WORKFLOW_TASK_CONTEXT_I18N_KEY, AXP_WORKFLOW_TASK_CONTEXT_TITLE_PARTS_KEY, CartableTaskActivity, CreateEntityFormActivity, HumanTaskActivity, RejectionReasonActivity, RootConfig, ShowConfirmPopupActivity, ShowLayoutPopupActivity, ShowToastActivity, SignOffActivity, createWorkflowInstanceBookmarkAccess, findActiveHumanTaskAssigneeId, findHumanTaskAssigneeIdForActivity, getWorkflowInstanceInitiatorUserId, isWorkflowPooledClaimablePayload, isWorkflowReassignableHumanTaskPayload, isWorkflowTaskBoardBookmarkPayload, needsTakeOverForWorkflowInteractiveContinuation, needsTakeOverForWorkflowTaskContinuation, normalizeWorkflowTaskUserIds, parseWorkflowTaskContinuationPayload, provideGenericWorkflowTaskProvider, provideTaskWorkflow, resolveWorkflowHumanTaskAssigneeId, resolveWorkflowTaskContinuationAssigneeId, shouldOfferWorkflowContinuationAfterStep, shouldOfferWorkflowInteractiveStepContinuation, shouldOfferWorkflowTaskContinuation, shouldSkipContinuationBeforeInteractive, wasWorkflowTaskBoardActivity };
|
|
4708
5213
|
//# sourceMappingURL=acorex-modules-workflow-management.mjs.map
|