@acorex/modules 21.0.0-next.71 → 21.0.0-next.72
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/acorex-modules-ai-management.mjs +102 -6
- package/fesm2022/acorex-modules-ai-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-assessment-management-acorex-modules-assessment-management-BnfSTevp.mjs → acorex-modules-assessment-management-acorex-modules-assessment-management-D7bHX4-0.mjs} +50 -39
- package/fesm2022/acorex-modules-assessment-management-acorex-modules-assessment-management-D7bHX4-0.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-assessment-case.entity-BWMbcZFT.mjs → acorex-modules-assessment-management-assessment-case.entity-Cpbj5sCP.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-assessment-case.entity-BWMbcZFT.mjs.map → acorex-modules-assessment-management-assessment-case.entity-Cpbj5sCP.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-assessment-session-answers-view.util-B42XNJUV.mjs → acorex-modules-assessment-management-assessment-session-answers-view.util-ALsxM0ww.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-assessment-session-answers-view.util-B42XNJUV.mjs.map → acorex-modules-assessment-management-assessment-session-answers-view.util-ALsxM0ww.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-assessment-session.entity-osEWRiw1.mjs → acorex-modules-assessment-management-assessment-session.entity-CMW7wsoN.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-assessment-session.entity-osEWRiw1.mjs.map → acorex-modules-assessment-management-assessment-session.entity-CMW7wsoN.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-fill-assessment-session.command-DIUV6Az-.mjs → acorex-modules-assessment-management-fill-assessment-session.command-C-dGKO7p.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-fill-assessment-session.command-DIUV6Az-.mjs.map → acorex-modules-assessment-management-fill-assessment-session.command-C-dGKO7p.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-preview-question.command-B0kZz-BV.mjs → acorex-modules-assessment-management-preview-question.command-CBewUZSF.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-preview-question.command-B0kZz-BV.mjs.map → acorex-modules-assessment-management-preview-question.command-CBewUZSF.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-preview-questionnaire.command-BUUnlr7g.mjs → acorex-modules-assessment-management-preview-questionnaire.command-DlwBZ7mO.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-preview-questionnaire.command-BUUnlr7g.mjs.map → acorex-modules-assessment-management-preview-questionnaire.command-DlwBZ7mO.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-question-bank-interface-editor-widget-edit.component-BvqEePUh.mjs → acorex-modules-assessment-management-question-bank-interface-editor-widget-edit.component-BEhxeR8A.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-question-bank-interface-editor-widget-edit.component-BvqEePUh.mjs.map → acorex-modules-assessment-management-question-bank-interface-editor-widget-edit.component-BEhxeR8A.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-question-bank-item.entity-DZBQOgAg.mjs → acorex-modules-assessment-management-question-bank-item.entity-CfCWKqN5.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-question-bank-item.entity-DZBQOgAg.mjs.map → acorex-modules-assessment-management-question-bank-item.entity-CfCWKqN5.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-questionnaire-viewer-popup.component-BMv-XkZk.mjs → acorex-modules-assessment-management-questionnaire-viewer-popup.component-C03wF6Oy.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-questionnaire-viewer-popup.component-BMv-XkZk.mjs.map → acorex-modules-assessment-management-questionnaire-viewer-popup.component-C03wF6Oy.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-questionnaire.entity-BGkWU83k.mjs → acorex-modules-assessment-management-questionnaire.entity-CPMGkhGu.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-questionnaire.entity-BGkWU83k.mjs.map → acorex-modules-assessment-management-questionnaire.entity-CPMGkhGu.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-review-assessment-session.command-Bqi7YO0X.mjs → acorex-modules-assessment-management-review-assessment-session.command-XK3IK3MH.mjs} +3 -3
- package/fesm2022/{acorex-modules-assessment-management-review-assessment-session.command-Bqi7YO0X.mjs.map → acorex-modules-assessment-management-review-assessment-session.command-XK3IK3MH.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-view-session-answers.command-2LB7JKZx.mjs → acorex-modules-assessment-management-view-session-answers.command-BPoF0v9C.mjs} +3 -3
- package/fesm2022/{acorex-modules-assessment-management-view-session-answers.command-2LB7JKZx.mjs.map → acorex-modules-assessment-management-view-session-answers.command-BPoF0v9C.mjs.map} +1 -1
- package/fesm2022/acorex-modules-assessment-management.mjs +1 -1
- package/fesm2022/{acorex-modules-asset-management-acorex-modules-asset-management-BdiaXlkx.mjs → acorex-modules-asset-management-acorex-modules-asset-management-BCs0QS-r.mjs} +11 -8
- package/fesm2022/{acorex-modules-asset-management-acorex-modules-asset-management-BdiaXlkx.mjs.map → acorex-modules-asset-management-acorex-modules-asset-management-BCs0QS-r.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-asset-management-asset-system-assignment.entity-Bf9nJTkD.mjs → acorex-modules-asset-management-asset-system-assignment.entity-B0sf4MzL.mjs} +2 -2
- package/fesm2022/{acorex-modules-asset-management-asset-system-assignment.entity-Bf9nJTkD.mjs.map → acorex-modules-asset-management-asset-system-assignment.entity-B0sf4MzL.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-asset-management-asset-system-type.entity-Cbzu3bqC.mjs → acorex-modules-asset-management-asset-system-type.entity-Cpcgr3KS.mjs} +2 -2
- package/fesm2022/{acorex-modules-asset-management-asset-system-type.entity-Cbzu3bqC.mjs.map → acorex-modules-asset-management-asset-system-type.entity-Cpcgr3KS.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-asset-management-asset-system.entity-DA7dO3eE.mjs → acorex-modules-asset-management-asset-system.entity-CEuEjyuQ.mjs} +2 -2
- package/fesm2022/{acorex-modules-asset-management-asset-system.entity-DA7dO3eE.mjs.map → acorex-modules-asset-management-asset-system.entity-CEuEjyuQ.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-asset-management-asset-type-section-component.entity-C9B-TUQD.mjs → acorex-modules-asset-management-asset-type-section-component.entity-CwaPrUlk.mjs} +2 -2
- package/fesm2022/{acorex-modules-asset-management-asset-type-section-component.entity-C9B-TUQD.mjs.map → acorex-modules-asset-management-asset-type-section-component.entity-CwaPrUlk.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-asset-management-asset-type-section.entity-BNz1Zfox.mjs → acorex-modules-asset-management-asset-type-section.entity-CK0dAIU4.mjs} +2 -2
- package/fesm2022/{acorex-modules-asset-management-asset-type-section.entity-BNz1Zfox.mjs.map → acorex-modules-asset-management-asset-type-section.entity-CK0dAIU4.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-asset-management-asset-type.entity-D_bBxBKI.mjs → acorex-modules-asset-management-asset-type.entity-DexywYoA.mjs} +2 -2
- package/fesm2022/{acorex-modules-asset-management-asset-type.entity-D_bBxBKI.mjs.map → acorex-modules-asset-management-asset-type.entity-DexywYoA.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-asset-management-asset.entity-Cf_H7edH.mjs → acorex-modules-asset-management-asset.entity-BNj3kuHC.mjs} +2 -2
- package/fesm2022/{acorex-modules-asset-management-asset.entity-Cf_H7edH.mjs.map → acorex-modules-asset-management-asset.entity-BNj3kuHC.mjs.map} +1 -1
- package/fesm2022/acorex-modules-asset-management.mjs +1 -1
- package/fesm2022/acorex-modules-auth-acorex-modules-auth-JEkso4J7.mjs +1580 -0
- package/fesm2022/acorex-modules-auth-acorex-modules-auth-JEkso4J7.mjs.map +1 -0
- package/fesm2022/{acorex-modules-auth-app-chooser.component-DTlzE1Rd.mjs → acorex-modules-auth-app-chooser.component-MjGWaBI0.mjs} +5 -6
- package/fesm2022/acorex-modules-auth-app-chooser.component-MjGWaBI0.mjs.map +1 -0
- package/fesm2022/acorex-modules-auth-change-password.command-Ctyw3WfE.mjs +32 -0
- package/fesm2022/acorex-modules-auth-change-password.command-Ctyw3WfE.mjs.map +1 -0
- package/fesm2022/acorex-modules-auth-change-photo.command-_vxTFH0X.mjs +32 -0
- package/fesm2022/acorex-modules-auth-change-photo.command-_vxTFH0X.mjs.map +1 -0
- package/fesm2022/acorex-modules-auth-edit-signature.command-CcTJJwAX.mjs +32 -0
- package/fesm2022/acorex-modules-auth-edit-signature.command-CcTJJwAX.mjs.map +1 -0
- package/fesm2022/{acorex-modules-auth-login.module-DSQfhKUZ.mjs → acorex-modules-auth-login.module-FJxkiTeX.mjs} +4 -4
- package/fesm2022/{acorex-modules-auth-login.module-DSQfhKUZ.mjs.map → acorex-modules-auth-login.module-FJxkiTeX.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-master.layout-BDM5XtcM.mjs → acorex-modules-auth-master.layout-B4Vpqg2F.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-master.layout-BDM5XtcM.mjs.map → acorex-modules-auth-master.layout-B4Vpqg2F.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-oauth-callback.component-C4Q78fuo.mjs → acorex-modules-auth-oauth-callback.component-It5tkYuf.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-oauth-callback.component-C4Q78fuo.mjs.map → acorex-modules-auth-oauth-callback.component-It5tkYuf.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-user-sessions.component-ChF8OYdd.mjs → acorex-modules-auth-open-sessions.command-Qik0eKUR.mjs} +32 -7
- package/fesm2022/acorex-modules-auth-open-sessions.command-Qik0eKUR.mjs.map +1 -0
- package/fesm2022/{acorex-modules-auth-password.component-C_55t9er.mjs → acorex-modules-auth-password.component-B2BIaXZ_.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-password.component-C_55t9er.mjs.map → acorex-modules-auth-password.component-B2BIaXZ_.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-password.component-VwEsbfR1.mjs → acorex-modules-auth-password.component-BRnlp4j1.mjs} +6 -6
- package/fesm2022/{acorex-modules-auth-password.component-VwEsbfR1.mjs.map → acorex-modules-auth-password.component-BRnlp4j1.mjs.map} +1 -1
- package/fesm2022/acorex-modules-auth-profile-activity-chart.component-CmtkTEI5.mjs +177 -0
- package/fesm2022/acorex-modules-auth-profile-activity-chart.component-CmtkTEI5.mjs.map +1 -0
- package/fesm2022/acorex-modules-auth-profile-coming-soon.command-DBbFbzAx.mjs +31 -0
- package/fesm2022/acorex-modules-auth-profile-coming-soon.command-DBbFbzAx.mjs.map +1 -0
- package/fesm2022/acorex-modules-auth-profile-delete-account-danger-zone.component-62K4A_lM.mjs +78 -0
- package/fesm2022/acorex-modules-auth-profile-delete-account-danger-zone.component-62K4A_lM.mjs.map +1 -0
- package/fesm2022/acorex-modules-auth-profile-page-component.provider-Dz9yFSnA.mjs +27 -0
- package/fesm2022/acorex-modules-auth-profile-page-component.provider-Dz9yFSnA.mjs.map +1 -0
- package/fesm2022/acorex-modules-auth-profile-page.component-BGkPr1_o.mjs +370 -0
- package/fesm2022/acorex-modules-auth-profile-page.component-BGkPr1_o.mjs.map +1 -0
- package/fesm2022/{acorex-modules-auth-routes-prPiMAL6.mjs → acorex-modules-auth-routes-D6PLdcTC.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-routes-prPiMAL6.mjs.map → acorex-modules-auth-routes-D6PLdcTC.mjs.map} +1 -1
- package/fesm2022/acorex-modules-auth-signout-command-IUSkq50M.mjs +24 -0
- package/fesm2022/acorex-modules-auth-signout-command-IUSkq50M.mjs.map +1 -0
- package/fesm2022/{acorex-modules-auth-tenant-chooser.component-DVyI9cGU.mjs → acorex-modules-auth-tenant-chooser.component-qGfNSQ6H.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-tenant-chooser.component-DVyI9cGU.mjs.map → acorex-modules-auth-tenant-chooser.component-qGfNSQ6H.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-two-factor.module-C7vZrBHK.mjs → acorex-modules-auth-two-factor.module-DcvqZOIq.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-two-factor.module-C7vZrBHK.mjs.map → acorex-modules-auth-two-factor.module-DcvqZOIq.mjs.map} +1 -1
- package/fesm2022/acorex-modules-auth.mjs +1 -1
- package/fesm2022/acorex-modules-business-core.mjs +2 -2
- package/fesm2022/acorex-modules-business-core.mjs.map +1 -1
- package/fesm2022/acorex-modules-calendar-management-datasource.provider-CnxTy81J.mjs +225 -0
- package/fesm2022/acorex-modules-calendar-management-datasource.provider-CnxTy81J.mjs.map +1 -0
- package/fesm2022/acorex-modules-calendar-management.mjs +481 -392
- package/fesm2022/acorex-modules-calendar-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-common.mjs +63 -26
- package/fesm2022/acorex-modules-common.mjs.map +1 -1
- package/fesm2022/{acorex-modules-conversation-acorex-modules-conversation-B1ijk48q.mjs → acorex-modules-conversation-acorex-modules-conversation-BX09r8Xj.mjs} +178 -35
- package/fesm2022/acorex-modules-conversation-acorex-modules-conversation-BX09r8Xj.mjs.map +1 -0
- package/fesm2022/{acorex-modules-conversation-assist-delegated-agent-detail-popup.component-Mlan0ADR.mjs → acorex-modules-conversation-assist-delegated-agent-detail-popup.component-hMiSfvL2.mjs} +5 -5
- package/fesm2022/{acorex-modules-conversation-assist-delegated-agent-detail-popup.component-Mlan0ADR.mjs.map → acorex-modules-conversation-assist-delegated-agent-detail-popup.component-hMiSfvL2.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-conversation-comments-page.component--Q5RxEyI.mjs → acorex-modules-conversation-comments-page.component-BJu6CoNR.mjs} +18 -6
- package/fesm2022/acorex-modules-conversation-comments-page.component-BJu6CoNR.mjs.map +1 -0
- package/fesm2022/{acorex-modules-conversation-send-assist-chat-message.command--_hCn9Et.mjs → acorex-modules-conversation-send-assist-chat-message.command-B471NQRh.mjs} +2 -2
- package/fesm2022/{acorex-modules-conversation-send-assist-chat-message.command--_hCn9Et.mjs.map → acorex-modules-conversation-send-assist-chat-message.command-B471NQRh.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-conversation-start-assist-chat.command-BE1BPjj2.mjs → acorex-modules-conversation-start-assist-chat.command-CasClVbR.mjs} +2 -2
- package/fesm2022/{acorex-modules-conversation-start-assist-chat.command-BE1BPjj2.mjs.map → acorex-modules-conversation-start-assist-chat.command-CasClVbR.mjs.map} +1 -1
- package/fesm2022/acorex-modules-conversation.mjs +1 -1
- package/fesm2022/{acorex-modules-dashboard-management-acorex-modules-dashboard-management-DJMJFziT.mjs → acorex-modules-dashboard-management-acorex-modules-dashboard-management-9MoalNjW.mjs} +6 -6
- package/fesm2022/acorex-modules-dashboard-management-acorex-modules-dashboard-management-9MoalNjW.mjs.map +1 -0
- package/fesm2022/{acorex-modules-dashboard-management-index-DoTVg9ro.mjs → acorex-modules-dashboard-management-index-Dsu3Yw8O.mjs} +2 -2
- package/fesm2022/{acorex-modules-dashboard-management-index-DoTVg9ro.mjs.map → acorex-modules-dashboard-management-index-Dsu3Yw8O.mjs.map} +1 -1
- package/fesm2022/acorex-modules-dashboard-management.mjs +1 -1
- package/fesm2022/{acorex-modules-data-management-index-DEm_BsbE.mjs → acorex-modules-data-management-index-CxVSgxTM.mjs} +4 -1
- package/fesm2022/acorex-modules-data-management-index-CxVSgxTM.mjs.map +1 -0
- package/fesm2022/acorex-modules-data-management.mjs +2 -2
- package/fesm2022/acorex-modules-document-management.mjs +6 -3
- package/fesm2022/acorex-modules-document-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-financial-core.mjs +7 -7
- package/fesm2022/acorex-modules-financial-core.mjs.map +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-acorex-modules-human-capital-management-C1lNgBrC.mjs → acorex-modules-human-capital-management-acorex-modules-human-capital-management-Cb7_mEJt.mjs} +71 -26
- package/fesm2022/acorex-modules-human-capital-management-acorex-modules-human-capital-management-Cb7_mEJt.mjs.map +1 -0
- package/fesm2022/{acorex-modules-human-capital-management-approve-leave-request.command-CDBhDXr8.mjs → acorex-modules-human-capital-management-approve-leave-request.command-wO2u1IKg.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-approve-leave-request.command-CDBhDXr8.mjs.map → acorex-modules-human-capital-management-approve-leave-request.command-wO2u1IKg.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-assign-position-assignment.command-pz0IOxa3.mjs → acorex-modules-human-capital-management-assign-position-assignment.command-BDesaehJ.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-assign-position-assignment.command-pz0IOxa3.mjs.map → acorex-modules-human-capital-management-assign-position-assignment.command-BDesaehJ.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-cancel-leave-request.command-Czwdu-nH.mjs → acorex-modules-human-capital-management-cancel-leave-request.command-D8u45bHk.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-cancel-leave-request.command-Czwdu-nH.mjs.map → acorex-modules-human-capital-management-cancel-leave-request.command-D8u45bHk.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-employee.entity-ZTRqQfRv.mjs → acorex-modules-human-capital-management-employee.entity-sq1G--OE.mjs} +3 -3
- package/fesm2022/acorex-modules-human-capital-management-employee.entity-sq1G--OE.mjs.map +1 -0
- package/fesm2022/{acorex-modules-human-capital-management-employment-type.entity-BIIc7EpP.mjs → acorex-modules-human-capital-management-employment-type.entity-qgNm-AAZ.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-employment-type.entity-BIIc7EpP.mjs.map → acorex-modules-human-capital-management-employment-type.entity-qgNm-AAZ.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-leave-request.entity-Bmv7oLAr.mjs → acorex-modules-human-capital-management-leave-request.entity-DcdYnwyN.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-leave-request.entity-Bmv7oLAr.mjs.map → acorex-modules-human-capital-management-leave-request.entity-DcdYnwyN.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-leave-type.entity-OwdxjYKk.mjs → acorex-modules-human-capital-management-leave-type.entity-Dr5YHs8p.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-leave-type.entity-OwdxjYKk.mjs.map → acorex-modules-human-capital-management-leave-type.entity-Dr5YHs8p.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-lifecycle-event-type.entity-C_XVrmZt.mjs → acorex-modules-human-capital-management-lifecycle-event-type.entity-Bni4vgt5.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-lifecycle-event-type.entity-C_XVrmZt.mjs.map → acorex-modules-human-capital-management-lifecycle-event-type.entity-Bni4vgt5.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-lifecycle-event.entity-BwLAEtqA.mjs → acorex-modules-human-capital-management-lifecycle-event.entity-ds4Iq82f.mjs} +5 -5
- package/fesm2022/acorex-modules-human-capital-management-lifecycle-event.entity-ds4Iq82f.mjs.map +1 -0
- package/fesm2022/{acorex-modules-human-capital-management-position-assignment.entity-DdMmiGbn.mjs → acorex-modules-human-capital-management-position-assignment.entity-CalDJQrD.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-position-assignment.entity-DdMmiGbn.mjs.map → acorex-modules-human-capital-management-position-assignment.entity-CalDJQrD.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-reject-leave-request.command-Bdwwkcs3.mjs → acorex-modules-human-capital-management-reject-leave-request.command-CshyWVLH.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-reject-leave-request.command-Bdwwkcs3.mjs.map → acorex-modules-human-capital-management-reject-leave-request.command-CshyWVLH.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-revoke-position-assignment.command-Cq-aA79w.mjs → acorex-modules-human-capital-management-revoke-position-assignment.command-BENxT4Qg.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-revoke-position-assignment.command-Cq-aA79w.mjs.map → acorex-modules-human-capital-management-revoke-position-assignment.command-BENxT4Qg.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-start-leave-request-flow.command-Cx9TRMlY.mjs → acorex-modules-human-capital-management-start-leave-request-flow.command-DjkzwxHN.mjs} +17 -5
- package/fesm2022/acorex-modules-human-capital-management-start-leave-request-flow.command-DjkzwxHN.mjs.map +1 -0
- package/fesm2022/{acorex-modules-human-capital-management-start-lifecycle-event-flow.command-DjepuAcu.mjs → acorex-modules-human-capital-management-start-lifecycle-event-flow.command-x8J2kneo.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-start-lifecycle-event-flow.command-DjepuAcu.mjs.map → acorex-modules-human-capital-management-start-lifecycle-event-flow.command-x8J2kneo.mjs.map} +1 -1
- package/fesm2022/acorex-modules-human-capital-management.mjs +1 -1
- package/fesm2022/{acorex-modules-learning-management-course.entity-DUUgeikJ.mjs → acorex-modules-learning-management-course.entity-BG6TaQk4.mjs} +4 -4
- package/fesm2022/acorex-modules-learning-management-course.entity-BG6TaQk4.mjs.map +1 -0
- package/fesm2022/{acorex-modules-learning-management-enrollment.entity-CdJafrUh.mjs → acorex-modules-learning-management-enrollment.entity-DjpUDcLv.mjs} +5 -5
- package/fesm2022/acorex-modules-learning-management-enrollment.entity-DjpUDcLv.mjs.map +1 -0
- package/fesm2022/{acorex-modules-learning-management-learning-path.entity-Zo--bDto.mjs → acorex-modules-learning-management-learning-path.entity-C2S0VVeq.mjs} +2 -2
- package/fesm2022/acorex-modules-learning-management-learning-path.entity-C2S0VVeq.mjs.map +1 -0
- package/fesm2022/{acorex-modules-learning-management-skill.entity-VXkLbaD4.mjs → acorex-modules-learning-management-skill.entity-DAM-_nuT.mjs} +2 -2
- package/fesm2022/acorex-modules-learning-management-skill.entity-DAM-_nuT.mjs.map +1 -0
- package/fesm2022/{acorex-modules-learning-management-training.entity-C4KDv1uh.mjs → acorex-modules-learning-management-training.entity-THsY3DiM.mjs} +4 -4
- package/fesm2022/acorex-modules-learning-management-training.entity-THsY3DiM.mjs.map +1 -0
- package/fesm2022/acorex-modules-learning-management.mjs +5 -5
- package/fesm2022/{acorex-modules-locale-management-profiles-BOveGIcE.mjs → acorex-modules-locale-management-profiles-BYZa_Ti0.mjs} +23 -8
- package/fesm2022/acorex-modules-locale-management-profiles-BYZa_Ti0.mjs.map +1 -0
- package/fesm2022/acorex-modules-locale-management.mjs +31 -15
- package/fesm2022/acorex-modules-locale-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-location-management.mjs +4 -4
- package/fesm2022/acorex-modules-location-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-maintenance-management-acorex-modules-maintenance-management-DiM2aFgg.mjs → acorex-modules-maintenance-management-acorex-modules-maintenance-management-Xyu3jpEh.mjs} +14 -14
- package/fesm2022/acorex-modules-maintenance-management-acorex-modules-maintenance-management-Xyu3jpEh.mjs.map +1 -0
- package/fesm2022/{acorex-modules-maintenance-management-failure-effect.entity-BCMeHmxS.mjs → acorex-modules-maintenance-management-failure-effect.entity-CYQ3ExC3.mjs} +2 -2
- package/fesm2022/{acorex-modules-maintenance-management-failure-effect.entity-BCMeHmxS.mjs.map → acorex-modules-maintenance-management-failure-effect.entity-CYQ3ExC3.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-maintenance-management-failure-mode-asset-type.entity-ByBoVQ8D.mjs → acorex-modules-maintenance-management-failure-mode-asset-type.entity-Cz0tQkwZ.mjs} +2 -2
- package/fesm2022/{acorex-modules-maintenance-management-failure-mode-asset-type.entity-ByBoVQ8D.mjs.map → acorex-modules-maintenance-management-failure-mode-asset-type.entity-Cz0tQkwZ.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-maintenance-management-failure-mode-mechanism.entity-BJs4KhkU.mjs → acorex-modules-maintenance-management-failure-mode-mechanism.entity-vqX88zIA.mjs} +2 -2
- package/fesm2022/{acorex-modules-maintenance-management-failure-mode-mechanism.entity-BJs4KhkU.mjs.map → acorex-modules-maintenance-management-failure-mode-mechanism.entity-vqX88zIA.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-maintenance-management-failure-mode-solution.entity-rw24sQxb.mjs → acorex-modules-maintenance-management-failure-mode-solution.entity-CpefPKAY.mjs} +2 -2
- package/fesm2022/{acorex-modules-maintenance-management-failure-mode-solution.entity-rw24sQxb.mjs.map → acorex-modules-maintenance-management-failure-mode-solution.entity-CpefPKAY.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-maintenance-management-failure-register-cause.entity-C_6sjW8z.mjs → acorex-modules-maintenance-management-failure-register-cause.entity-C1_4BQBR.mjs} +2 -2
- package/fesm2022/{acorex-modules-maintenance-management-failure-register-cause.entity-C_6sjW8z.mjs.map → acorex-modules-maintenance-management-failure-register-cause.entity-C1_4BQBR.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-maintenance-management-failure-register-effect.entity-DCIAzSYQ.mjs → acorex-modules-maintenance-management-failure-register-effect.entity-BRssxEl6.mjs} +2 -2
- package/fesm2022/{acorex-modules-maintenance-management-failure-register-effect.entity-DCIAzSYQ.mjs.map → acorex-modules-maintenance-management-failure-register-effect.entity-BRssxEl6.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-maintenance-management-failure-register-mechanism.entity-DlXr6A4i.mjs → acorex-modules-maintenance-management-failure-register-mechanism.entity-YyBWG00N.mjs} +2 -2
- package/fesm2022/{acorex-modules-maintenance-management-failure-register-mechanism.entity-DlXr6A4i.mjs.map → acorex-modules-maintenance-management-failure-register-mechanism.entity-YyBWG00N.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-maintenance-management-failure-register.entity-C4J3um7j.mjs → acorex-modules-maintenance-management-failure-register.entity-CH-C6Q7m.mjs} +2 -2
- package/fesm2022/{acorex-modules-maintenance-management-failure-register.entity-C4J3um7j.mjs.map → acorex-modules-maintenance-management-failure-register.entity-CH-C6Q7m.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-maintenance-management-failure-severity.entity-C-spQtYx.mjs → acorex-modules-maintenance-management-failure-severity.entity-BMoUEcVC.mjs} +2 -2
- package/fesm2022/{acorex-modules-maintenance-management-failure-severity.entity-C-spQtYx.mjs.map → acorex-modules-maintenance-management-failure-severity.entity-BMoUEcVC.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-maintenance-management-maintenance-template.entity-Huahnjhd.mjs → acorex-modules-maintenance-management-maintenance-template.entity-CBayAtRD.mjs} +2 -2
- package/fesm2022/{acorex-modules-maintenance-management-maintenance-template.entity-Huahnjhd.mjs.map → acorex-modules-maintenance-management-maintenance-template.entity-CBayAtRD.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-maintenance-management-work-order-list-command-1YsWctqu.mjs → acorex-modules-maintenance-management-work-order-list-command-mMZGiG3q.mjs} +2 -2
- package/fesm2022/{acorex-modules-maintenance-management-work-order-list-command-1YsWctqu.mjs.map → acorex-modules-maintenance-management-work-order-list-command-mMZGiG3q.mjs.map} +1 -1
- package/fesm2022/acorex-modules-maintenance-management.mjs +1 -1
- package/fesm2022/acorex-modules-measurement-core.mjs +4 -4
- package/fesm2022/acorex-modules-measurement-core.mjs.map +1 -1
- package/fesm2022/acorex-modules-notification-management-acorex-modules-notification-management-BSf1wd6j.mjs +3836 -0
- package/fesm2022/acorex-modules-notification-management-acorex-modules-notification-management-BSf1wd6j.mjs.map +1 -0
- package/fesm2022/acorex-modules-notification-management-notification-page.component-ATFOFL7C.mjs +548 -0
- package/fesm2022/acorex-modules-notification-management-notification-page.component-ATFOFL7C.mjs.map +1 -0
- package/fesm2022/acorex-modules-notification-management.mjs +1 -3590
- package/fesm2022/acorex-modules-notification-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-order-management-bulk-buy-order-item.entity-DGtHoqqj.mjs → acorex-modules-order-management-bulk-buy-order-item.entity-63BpszqL.mjs} +2 -2
- package/fesm2022/acorex-modules-order-management-bulk-buy-order-item.entity-63BpszqL.mjs.map +1 -0
- package/fesm2022/{acorex-modules-order-management-entity.provider-DVHBXOCD.mjs → acorex-modules-order-management-entity.provider-DGwVhM91.mjs} +3 -3
- package/fesm2022/{acorex-modules-order-management-entity.provider-DVHBXOCD.mjs.map → acorex-modules-order-management-entity.provider-DGwVhM91.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-order-management-member-order-line.entity-DZJ90WHI.mjs → acorex-modules-order-management-member-order-line.entity-Czu7qE7i.mjs} +2 -2
- package/fesm2022/acorex-modules-order-management-member-order-line.entity-Czu7qE7i.mjs.map +1 -0
- package/fesm2022/acorex-modules-order-management.mjs +2 -2
- package/fesm2022/{acorex-modules-organization-management-acorex-modules-organization-management-Iopv_G-d.mjs → acorex-modules-organization-management-acorex-modules-organization-management-smWojO0l.mjs} +40 -40
- package/fesm2022/{acorex-modules-organization-management-acorex-modules-organization-management-Iopv_G-d.mjs.map → acorex-modules-organization-management-acorex-modules-organization-management-smWojO0l.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-add-business-unit-to-business-unit.command-D7NChP_A.mjs → acorex-modules-organization-management-add-business-unit-to-business-unit.command-BLifgeRF.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-add-business-unit-to-business-unit.command-D7NChP_A.mjs.map → acorex-modules-organization-management-add-business-unit-to-business-unit.command-BLifgeRF.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-add-position-to-business-unit.command-PkeqXFt1.mjs → acorex-modules-organization-management-add-position-to-business-unit.command-CKFqYBLD.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-add-position-to-business-unit.command-PkeqXFt1.mjs.map → acorex-modules-organization-management-add-position-to-business-unit.command-CKFqYBLD.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-add-team-to-business-unit.command-jalyX-F4.mjs → acorex-modules-organization-management-add-team-to-business-unit.command-DfaLXvTw.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-add-team-to-business-unit.command-jalyX-F4.mjs.map → acorex-modules-organization-management-add-team-to-business-unit.command-DfaLXvTw.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-business-unit.entity-CBjAC9Ip.mjs → acorex-modules-organization-management-business-unit.entity-BkeFPaIT.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-business-unit.entity-CBjAC9Ip.mjs.map → acorex-modules-organization-management-business-unit.entity-BkeFPaIT.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-chart.entity-CaY_5LGN.mjs → acorex-modules-organization-management-chart.entity-bWx4IFSv.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-chart.entity-CaY_5LGN.mjs.map → acorex-modules-organization-management-chart.entity-bWx4IFSv.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-company.entity-BUBhqyCn.mjs → acorex-modules-organization-management-company.entity-yPUVhIzy.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-company.entity-BUBhqyCn.mjs.map → acorex-modules-organization-management-company.entity-yPUVhIzy.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-entity.provider-BZsy_wi6.mjs → acorex-modules-organization-management-entity.provider-IhJwnzd-.mjs} +15 -15
- package/fesm2022/{acorex-modules-organization-management-entity.provider-BZsy_wi6.mjs.map → acorex-modules-organization-management-entity.provider-IhJwnzd-.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-feature-definition.provider-CEO1nSFP.mjs → acorex-modules-organization-management-feature-definition.provider-B5yqFa4Z.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-feature-definition.provider-CEO1nSFP.mjs.map → acorex-modules-organization-management-feature-definition.provider-B5yqFa4Z.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-job-definition-pages-component.provider-ChRGp5ZI.mjs → acorex-modules-organization-management-job-definition-pages-component.provider-C51sgWyG.mjs} +3 -3
- package/fesm2022/{acorex-modules-organization-management-job-definition-pages-component.provider-ChRGp5ZI.mjs.map → acorex-modules-organization-management-job-definition-pages-component.provider-C51sgWyG.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-job-definition-responsibilities-page.component-aWZO09Xw.mjs → acorex-modules-organization-management-job-definition-responsibilities-page.component-EEWB5VUq.mjs} +8 -3
- package/fesm2022/acorex-modules-organization-management-job-definition-responsibilities-page.component-EEWB5VUq.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-job-definition-skills-page.component-DJcFhQM9.mjs → acorex-modules-organization-management-job-definition-skills-page.component-L2GmFRra.mjs} +7 -2
- package/fesm2022/acorex-modules-organization-management-job-definition-skills-page.component-L2GmFRra.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-job-definition.entity-BoM49wYi.mjs → acorex-modules-organization-management-job-definition.entity-CDXsJADe.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-job-definition.entity-BoM49wYi.mjs.map → acorex-modules-organization-management-job-definition.entity-CDXsJADe.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-job-level.datasource-DbQG79uR.mjs → acorex-modules-organization-management-job-level.datasource-C84zFgVo.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-job-level.datasource-DbQG79uR.mjs.map → acorex-modules-organization-management-job-level.datasource-C84zFgVo.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-job-level.entity-XO-NsBG-.mjs → acorex-modules-organization-management-job-level.entity-BqjP04k-.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-job-level.entity-XO-NsBG-.mjs.map → acorex-modules-organization-management-job-level.entity-BqjP04k-.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-menu.provider-DXW6aUIX.mjs → acorex-modules-organization-management-menu.provider-ChR3Rh4W.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-menu.provider-DXW6aUIX.mjs.map → acorex-modules-organization-management-menu.provider-ChR3Rh4W.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-org-chart-default-node-contribution.provider-ClKr6K6Y.mjs → acorex-modules-organization-management-org-chart-default-node-contribution.provider-DFVts4Q2.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-org-chart-default-node-contribution.provider-ClKr6K6Y.mjs.map → acorex-modules-organization-management-org-chart-default-node-contribution.provider-DFVts4Q2.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-org-chart-employee-flyout-contribution.provider-BjIDzwXF.mjs → acorex-modules-organization-management-org-chart-employee-flyout-contribution.provider-D1r0YQbL.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-org-chart-employee-flyout-contribution.provider-BjIDzwXF.mjs.map → acorex-modules-organization-management-org-chart-employee-flyout-contribution.provider-D1r0YQbL.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-org-chart-position-employee-node-contribution.provider-DRAlUmIa.mjs → acorex-modules-organization-management-org-chart-position-employee-node-contribution.provider-Df1x_VF0.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-org-chart-position-employee-node-contribution.provider-DRAlUmIa.mjs.map → acorex-modules-organization-management-org-chart-position-employee-node-contribution.provider-Df1x_VF0.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-org-chart-ux-node-contribution.provider-DwSjov_Z.mjs → acorex-modules-organization-management-org-chart-ux-node-contribution.provider-BPWFJSx2.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-org-chart-ux-node-contribution.provider-DwSjov_Z.mjs.map → acorex-modules-organization-management-org-chart-ux-node-contribution.provider-BPWFJSx2.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-org-chart.page-CuPEM-_N.mjs → acorex-modules-organization-management-org-chart.page-BzKPjJwY.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-org-chart.page-CuPEM-_N.mjs.map → acorex-modules-organization-management-org-chart.page-BzKPjJwY.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-permission-definition.provider-BNthP0QV.mjs → acorex-modules-organization-management-permission-definition.provider-DShSa-Wp.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-permission-definition.provider-BNthP0QV.mjs.map → acorex-modules-organization-management-permission-definition.provider-DShSa-Wp.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-position.entity-Cja3CYmL.mjs → acorex-modules-organization-management-position.entity-DyF02saN.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-position.entity-Cja3CYmL.mjs.map → acorex-modules-organization-management-position.entity-DyF02saN.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-remove-position-from-business-unit.command-Dm1a6-uO.mjs → acorex-modules-organization-management-remove-position-from-business-unit.command-CGYBDMLJ.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-remove-position-from-business-unit.command-Dm1a6-uO.mjs.map → acorex-modules-organization-management-remove-position-from-business-unit.command-CGYBDMLJ.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-replace-position-assignee.command-BWtzQZyW.mjs → acorex-modules-organization-management-replace-position-assignee.command-DgR5-k3v.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-replace-position-assignee.command-BWtzQZyW.mjs.map → acorex-modules-organization-management-replace-position-assignee.command-DgR5-k3v.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix-widget-edit.component-C4W0VlL5.mjs → acorex-modules-organization-management-responsibilities-matrix-widget-edit.component-oqrqfc2t.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix-widget-edit.component-C4W0VlL5.mjs.map → acorex-modules-organization-management-responsibilities-matrix-widget-edit.component-oqrqfc2t.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix-widget-view.component-CaPqjai7.mjs → acorex-modules-organization-management-responsibilities-matrix-widget-view.component-BEZm8HRq.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix-widget-view.component-CaPqjai7.mjs.map → acorex-modules-organization-management-responsibilities-matrix-widget-view.component-BEZm8HRq.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix.component-nJuP6fA0.mjs → acorex-modules-organization-management-responsibilities-matrix.component-CBfTsRx4.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix.component-nJuP6fA0.mjs.map → acorex-modules-organization-management-responsibilities-matrix.component-CBfTsRx4.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-responsibility-level.entity-CvvzIjvE.mjs → acorex-modules-organization-management-responsibility-level.entity-BAm1en5A.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-responsibility-level.entity-CvvzIjvE.mjs.map → acorex-modules-organization-management-responsibility-level.entity-BAm1en5A.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-responsibility.entity-Cc0Ou-hc.mjs → acorex-modules-organization-management-responsibility.entity-DTCMbqNy.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-responsibility.entity-Cc0Ou-hc.mjs.map → acorex-modules-organization-management-responsibility.entity-DTCMbqNy.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-settings.provider-C33ZatCD.mjs → acorex-modules-organization-management-settings.provider-C6op-yff.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-settings.provider-C33ZatCD.mjs.map → acorex-modules-organization-management-settings.provider-C6op-yff.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-team-business-unit.entity-DGuF5ux1.mjs → acorex-modules-organization-management-team-business-unit.entity-B4Wra1YB.mjs} +3 -3
- package/fesm2022/acorex-modules-organization-management-team-business-unit.entity-B4Wra1YB.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-team-member-role.entity-BMXkNavp.mjs → acorex-modules-organization-management-team-member-role.entity-CVH2m8uw.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-team-member-role.entity-BMXkNavp.mjs.map → acorex-modules-organization-management-team-member-role.entity-CVH2m8uw.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-team-member.entity-Deem7M3N.mjs → acorex-modules-organization-management-team-member.entity-By97LISn.mjs} +3 -3
- package/fesm2022/acorex-modules-organization-management-team-member.entity-By97LISn.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-team.entity-CNmpaJ3F.mjs → acorex-modules-organization-management-team.entity-Cezsw5Vq.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-team.entity-CNmpaJ3F.mjs.map → acorex-modules-organization-management-team.entity-Cezsw5Vq.mjs.map} +1 -1
- package/fesm2022/acorex-modules-organization-management.mjs +1 -1
- package/fesm2022/acorex-modules-person-core.mjs +1 -1
- package/fesm2022/acorex-modules-person-core.mjs.map +1 -1
- package/fesm2022/acorex-modules-platform-dev-tools.mjs +3 -3
- package/fesm2022/acorex-modules-platform-dev-tools.mjs.map +1 -1
- package/fesm2022/{acorex-modules-platform-management-acorex-modules-platform-management-Cbf1rlEK.mjs → acorex-modules-platform-management-acorex-modules-platform-management-LJBIjN39.mjs} +5 -5
- package/fesm2022/acorex-modules-platform-management-acorex-modules-platform-management-LJBIjN39.mjs.map +1 -0
- package/fesm2022/{acorex-modules-platform-management-menu-list.component-DIf_-oaM.mjs → acorex-modules-platform-management-menu-list.component-SXuHsuj0.mjs} +3 -3
- package/fesm2022/{acorex-modules-platform-management-menu-list.component-DIf_-oaM.mjs.map → acorex-modules-platform-management-menu-list.component-SXuHsuj0.mjs.map} +1 -1
- package/fesm2022/acorex-modules-platform-management.mjs +1 -1
- package/fesm2022/acorex-modules-procurement-management.mjs +2 -2
- package/fesm2022/acorex-modules-procurement-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-product-catalog-product-sku.entity-C3ynevYI.mjs → acorex-modules-product-catalog-product-sku.entity-DNgCnDtL.mjs} +2 -2
- package/fesm2022/acorex-modules-product-catalog-product-sku.entity-DNgCnDtL.mjs.map +1 -0
- package/fesm2022/{acorex-modules-product-catalog-product.entity-BbB7GAg7.mjs → acorex-modules-product-catalog-product.entity-CBwSFTL2.mjs} +2 -2
- package/fesm2022/acorex-modules-product-catalog-product.entity-CBwSFTL2.mjs.map +1 -0
- package/fesm2022/acorex-modules-product-catalog.mjs +2 -2
- package/fesm2022/acorex-modules-report-management.mjs +5 -5
- package/fesm2022/acorex-modules-report-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-reservation-management-acorex-modules-reservation-management-BoUiTlmu.mjs → acorex-modules-reservation-management-acorex-modules-reservation-management-D7YtuAbZ.mjs} +7 -7
- package/fesm2022/{acorex-modules-reservation-management-acorex-modules-reservation-management-BoUiTlmu.mjs.map → acorex-modules-reservation-management-acorex-modules-reservation-management-D7YtuAbZ.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-reservation-management-reservation-class-status.entity-D-ZdqKa8.mjs → acorex-modules-reservation-management-reservation-class-status.entity-D4insz8u.mjs} +2 -2
- package/fesm2022/{acorex-modules-reservation-management-reservation-class-status.entity-D-ZdqKa8.mjs.map → acorex-modules-reservation-management-reservation-class-status.entity-D4insz8u.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-reservation-management-reservation-resource-type.entity-zPD-Psml.mjs → acorex-modules-reservation-management-reservation-resource-type.entity-Dn2CMqO9.mjs} +2 -2
- package/fesm2022/{acorex-modules-reservation-management-reservation-resource-type.entity-zPD-Psml.mjs.map → acorex-modules-reservation-management-reservation-resource-type.entity-Dn2CMqO9.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-reservation-management-reservation-status-transition.entity-CQ85ZAGF.mjs → acorex-modules-reservation-management-reservation-status-transition.entity-CrwUrIrC.mjs} +2 -2
- package/fesm2022/{acorex-modules-reservation-management-reservation-status-transition.entity-CQ85ZAGF.mjs.map → acorex-modules-reservation-management-reservation-status-transition.entity-CrwUrIrC.mjs.map} +1 -1
- package/fesm2022/acorex-modules-reservation-management.mjs +1 -1
- package/fesm2022/acorex-modules-security-management.mjs +4 -4
- package/fesm2022/acorex-modules-security-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-settings-management-acorex-modules-settings-management-BfbVV7di.mjs → acorex-modules-settings-management-acorex-modules-settings-management-O8kBegUF.mjs} +136 -65
- package/fesm2022/acorex-modules-settings-management-acorex-modules-settings-management-O8kBegUF.mjs.map +1 -0
- package/fesm2022/{acorex-modules-settings-management-permission-definition.provider-BBb5hqkc.mjs → acorex-modules-settings-management-permission-definition.provider-CU7SEx6v.mjs} +2 -2
- package/fesm2022/{acorex-modules-settings-management-permission-definition.provider-BBb5hqkc.mjs.map → acorex-modules-settings-management-permission-definition.provider-CU7SEx6v.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-settings-management-setting-page.component-Dn8CYgux.mjs → acorex-modules-settings-management-setting-page.component-D8_cjOzW.mjs} +181 -19
- package/fesm2022/acorex-modules-settings-management-setting-page.component-D8_cjOzW.mjs.map +1 -0
- package/fesm2022/{acorex-modules-settings-management-setting-view.component-B5jpPo9k.mjs → acorex-modules-settings-management-setting-view.component-DIvERzMC.mjs} +65 -17
- package/fesm2022/acorex-modules-settings-management-setting-view.component-DIvERzMC.mjs.map +1 -0
- package/fesm2022/acorex-modules-settings-management.mjs +1 -1
- package/fesm2022/acorex-modules-subscription-management.mjs +2 -2
- package/fesm2022/acorex-modules-subscription-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-task-management-acorex-modules-task-management-BB7eeaYX.mjs → acorex-modules-task-management-acorex-modules-task-management-Bp-9vZdR.mjs} +939 -383
- package/fesm2022/acorex-modules-task-management-acorex-modules-task-management-Bp-9vZdR.mjs.map +1 -0
- package/fesm2022/acorex-modules-task-management-task-board.page-Brgg9wJa.mjs +3368 -0
- package/fesm2022/acorex-modules-task-management-task-board.page-Brgg9wJa.mjs.map +1 -0
- package/fesm2022/acorex-modules-task-management.mjs +1 -1
- package/fesm2022/acorex-modules-tenant-management.mjs +2 -2
- package/fesm2022/acorex-modules-tenant-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-workflow-management-acorex-modules-workflow-management-gXP-srRO.mjs +5600 -0
- package/fesm2022/acorex-modules-workflow-management-acorex-modules-workflow-management-gXP-srRO.mjs.map +1 -0
- package/fesm2022/{acorex-modules-workflow-management-activity-command-configurator-widget-edit.component-B4DLmioy.mjs → acorex-modules-workflow-management-activity-command-configurator-widget-edit.component-BW6kK9Av.mjs} +3 -3
- package/fesm2022/{acorex-modules-workflow-management-activity-command-configurator-widget-edit.component-B4DLmioy.mjs.map → acorex-modules-workflow-management-activity-command-configurator-widget-edit.component-BW6kK9Av.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-workflow-management-activity-definition.entity-B3DkgDQb.mjs → acorex-modules-workflow-management-activity-definition.entity-BlK-sL_3.mjs} +2 -2
- package/fesm2022/{acorex-modules-workflow-management-activity-definition.entity-B3DkgDQb.mjs.map → acorex-modules-workflow-management-activity-definition.entity-BlK-sL_3.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-workflow-management-automation.entity-BigK8yE2.mjs → acorex-modules-workflow-management-automation.entity-C9q24TPu.mjs} +3 -3
- package/fesm2022/acorex-modules-workflow-management-automation.entity-C9q24TPu.mjs.map +1 -0
- package/fesm2022/{acorex-modules-workflow-management-index-1B7oRAKX.mjs → acorex-modules-workflow-management-index-BFdyFvcu.mjs} +8 -5
- package/fesm2022/acorex-modules-workflow-management-index-BFdyFvcu.mjs.map +1 -0
- package/fesm2022/{acorex-modules-workflow-management-index-DC_9M9dk.mjs → acorex-modules-workflow-management-index-BbVGViSE.mjs} +7 -163
- package/fesm2022/acorex-modules-workflow-management-index-BbVGViSE.mjs.map +1 -0
- package/fesm2022/{acorex-modules-workflow-management-index-34UZrsxw.mjs → acorex-modules-workflow-management-index-Bq5tBgif.mjs} +2 -2
- package/fesm2022/{acorex-modules-workflow-management-index-34UZrsxw.mjs.map → acorex-modules-workflow-management-index-Bq5tBgif.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-workflow-management-index-CztICioV.mjs → acorex-modules-workflow-management-index-CIV7Abnc.mjs} +53 -5
- package/fesm2022/acorex-modules-workflow-management-index-CIV7Abnc.mjs.map +1 -0
- package/fesm2022/{acorex-modules-workflow-management-save-workflow-definition-activities.command-CGNwslcn.mjs → acorex-modules-workflow-management-save-workflow-definition-activities.command-B_tjSneV.mjs} +2 -2
- package/fesm2022/{acorex-modules-workflow-management-save-workflow-definition-activities.command-CGNwslcn.mjs.map → acorex-modules-workflow-management-save-workflow-definition-activities.command-B_tjSneV.mjs.map} +1 -1
- package/fesm2022/acorex-modules-workflow-management-workflow-activity-instance-rows.utils-L8W4ogSI.mjs +172 -0
- package/fesm2022/acorex-modules-workflow-management-workflow-activity-instance-rows.utils-L8W4ogSI.mjs.map +1 -0
- package/fesm2022/{acorex-modules-workflow-management-workflow-configurator-widget-column.component-Cpi0Pq3n.mjs → acorex-modules-workflow-management-workflow-configurator-widget-column.component-CPOQZxsq.mjs} +2 -2
- package/fesm2022/{acorex-modules-workflow-management-workflow-configurator-widget-column.component-Cpi0Pq3n.mjs.map → acorex-modules-workflow-management-workflow-configurator-widget-column.component-CPOQZxsq.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-workflow-management-workflow-configurator-widget-edit.component-RbwX6Nd_.mjs → acorex-modules-workflow-management-workflow-configurator-widget-edit.component-CqF3z8Xq.mjs} +2 -2
- package/fesm2022/{acorex-modules-workflow-management-workflow-configurator-widget-edit.component-RbwX6Nd_.mjs.map → acorex-modules-workflow-management-workflow-configurator-widget-edit.component-CqF3z8Xq.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-workflow-management-workflow-definition.entity-BfACGpo4.mjs → acorex-modules-workflow-management-workflow-definition.entity-BbnGGXZs.mjs} +2 -2
- package/fesm2022/{acorex-modules-workflow-management-workflow-definition.entity-BfACGpo4.mjs.map → acorex-modules-workflow-management-workflow-definition.entity-BbnGGXZs.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-workflow-management-workflow-instance.entity-BnKT3Wgh.mjs → acorex-modules-workflow-management-workflow-instance.entity-Ci6c4VoI.mjs} +3 -3
- package/fesm2022/{acorex-modules-workflow-management-workflow-instance.entity-BnKT3Wgh.mjs.map → acorex-modules-workflow-management-workflow-instance.entity-Ci6c4VoI.mjs.map} +1 -1
- package/fesm2022/acorex-modules-workflow-management-workflow-run-history-popup.component-CJ0cRwUE.mjs +579 -0
- package/fesm2022/acorex-modules-workflow-management-workflow-run-history-popup.component-CJ0cRwUE.mjs.map +1 -0
- package/fesm2022/acorex-modules-workflow-management-workflow-task-popover.component-CHv2_W75.mjs +285 -0
- package/fesm2022/acorex-modules-workflow-management-workflow-task-popover.component-CHv2_W75.mjs.map +1 -0
- package/fesm2022/acorex-modules-workflow-management.mjs +1 -5358
- package/fesm2022/acorex-modules-workflow-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-workplacesafety-management-hazard-ppe-rule-status.provider-D1a0CBhs.mjs +42 -0
- package/fesm2022/acorex-modules-workplacesafety-management-hazard-ppe-rule-status.provider-D1a0CBhs.mjs.map +1 -0
- package/fesm2022/acorex-modules-workplacesafety-management-ppe-item-status.provider-VH_Bp0l5.mjs +70 -0
- package/fesm2022/acorex-modules-workplacesafety-management-ppe-item-status.provider-VH_Bp0l5.mjs.map +1 -0
- package/fesm2022/acorex-modules-workplacesafety-management.mjs +1229 -67
- package/fesm2022/acorex-modules-workplacesafety-management.mjs.map +1 -1
- package/package.json +2 -2
- package/types/acorex-modules-ai-management.d.ts +21 -2
- package/types/acorex-modules-asset-management.d.ts +1 -0
- package/types/acorex-modules-calendar-management.d.ts +61 -33
- package/types/acorex-modules-common.d.ts +1 -1
- package/types/acorex-modules-conversation.d.ts +40 -6
- package/types/acorex-modules-document-management.d.ts +2 -0
- package/types/acorex-modules-notification-management.d.ts +32 -3
- package/types/acorex-modules-settings-management.d.ts +12 -2
- package/types/acorex-modules-task-management.d.ts +196 -47
- package/types/acorex-modules-workflow-management.d.ts +23 -28
- package/types/acorex-modules-workplacesafety-management.d.ts +124 -4
- package/fesm2022/acorex-modules-assessment-management-acorex-modules-assessment-management-BnfSTevp.mjs.map +0 -1
- package/fesm2022/acorex-modules-auth-acorex-modules-auth-BKMD5v6t.mjs +0 -807
- package/fesm2022/acorex-modules-auth-acorex-modules-auth-BKMD5v6t.mjs.map +0 -1
- package/fesm2022/acorex-modules-auth-app-chooser.component-DTlzE1Rd.mjs.map +0 -1
- package/fesm2022/acorex-modules-auth-user-sessions.component-ChF8OYdd.mjs.map +0 -1
- package/fesm2022/acorex-modules-calendar-management-datasource.provider-C_iazC89.mjs +0 -95
- package/fesm2022/acorex-modules-calendar-management-datasource.provider-C_iazC89.mjs.map +0 -1
- package/fesm2022/acorex-modules-conversation-acorex-modules-conversation-B1ijk48q.mjs.map +0 -1
- package/fesm2022/acorex-modules-conversation-comments-page.component--Q5RxEyI.mjs.map +0 -1
- package/fesm2022/acorex-modules-dashboard-management-acorex-modules-dashboard-management-DJMJFziT.mjs.map +0 -1
- package/fesm2022/acorex-modules-data-management-index-DEm_BsbE.mjs.map +0 -1
- package/fesm2022/acorex-modules-human-capital-management-acorex-modules-human-capital-management-C1lNgBrC.mjs.map +0 -1
- package/fesm2022/acorex-modules-human-capital-management-employee.entity-ZTRqQfRv.mjs.map +0 -1
- package/fesm2022/acorex-modules-human-capital-management-lifecycle-event.entity-BwLAEtqA.mjs.map +0 -1
- package/fesm2022/acorex-modules-human-capital-management-start-leave-request-flow.command-Cx9TRMlY.mjs.map +0 -1
- package/fesm2022/acorex-modules-learning-management-course.entity-DUUgeikJ.mjs.map +0 -1
- package/fesm2022/acorex-modules-learning-management-enrollment.entity-CdJafrUh.mjs.map +0 -1
- package/fesm2022/acorex-modules-learning-management-learning-path.entity-Zo--bDto.mjs.map +0 -1
- package/fesm2022/acorex-modules-learning-management-skill.entity-VXkLbaD4.mjs.map +0 -1
- package/fesm2022/acorex-modules-learning-management-training.entity-C4KDv1uh.mjs.map +0 -1
- package/fesm2022/acorex-modules-locale-management-profiles-BOveGIcE.mjs.map +0 -1
- package/fesm2022/acorex-modules-maintenance-management-acorex-modules-maintenance-management-DiM2aFgg.mjs.map +0 -1
- package/fesm2022/acorex-modules-notification-management-notification-page.component-6YOiGgKm.mjs +0 -858
- package/fesm2022/acorex-modules-notification-management-notification-page.component-6YOiGgKm.mjs.map +0 -1
- package/fesm2022/acorex-modules-order-management-bulk-buy-order-item.entity-DGtHoqqj.mjs.map +0 -1
- package/fesm2022/acorex-modules-order-management-member-order-line.entity-DZJ90WHI.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-job-definition-responsibilities-page.component-aWZO09Xw.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-job-definition-skills-page.component-DJcFhQM9.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-team-business-unit.entity-DGuF5ux1.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-team-member.entity-Deem7M3N.mjs.map +0 -1
- package/fesm2022/acorex-modules-platform-management-acorex-modules-platform-management-Cbf1rlEK.mjs.map +0 -1
- package/fesm2022/acorex-modules-product-catalog-product-sku.entity-C3ynevYI.mjs.map +0 -1
- package/fesm2022/acorex-modules-product-catalog-product.entity-BbB7GAg7.mjs.map +0 -1
- package/fesm2022/acorex-modules-settings-management-acorex-modules-settings-management-BfbVV7di.mjs.map +0 -1
- package/fesm2022/acorex-modules-settings-management-setting-page.component-Dn8CYgux.mjs.map +0 -1
- package/fesm2022/acorex-modules-settings-management-setting-view.component-B5jpPo9k.mjs.map +0 -1
- package/fesm2022/acorex-modules-task-management-acorex-modules-task-management-BB7eeaYX.mjs.map +0 -1
- package/fesm2022/acorex-modules-task-management-task-board.page-BmUIngWk.mjs +0 -2284
- package/fesm2022/acorex-modules-task-management-task-board.page-BmUIngWk.mjs.map +0 -1
- package/fesm2022/acorex-modules-workflow-management-automation.entity-BigK8yE2.mjs.map +0 -1
- package/fesm2022/acorex-modules-workflow-management-index-1B7oRAKX.mjs.map +0 -1
- package/fesm2022/acorex-modules-workflow-management-index-CztICioV.mjs.map +0 -1
- package/fesm2022/acorex-modules-workflow-management-index-DC_9M9dk.mjs.map +0 -1
- package/fesm2022/acorex-modules-workflow-management-workflow-task-popover.component-B4hEv2-a.mjs +0 -255
- package/fesm2022/acorex-modules-workflow-management-workflow-task-popover.component-B4hEv2-a.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-modules-workflow-management-index-34UZrsxw.mjs","sources":["../../../../libs/modules/workflow-management/src/lib/entities/workflow-definition/commands/execute-workflow.command.ts","../../../../libs/modules/workflow-management/src/lib/entities/workflow-definition/commands/execute-workflow-with-input.command.ts"],"sourcesContent":["import { Injectable, inject } from '@angular/core';\nimport { AXPExecuteCommandResult } from '@acorex/platform/core';\nimport { AXPCommand } from '@acorex/platform/runtime';\nimport { AXPWorkflowManager } from '@acorex/platform/workflow';\nimport { AXToastService } from '@acorex/components/toast';\n\n//#region ---- Types ----\n\n/**\n * Input for ExecuteWorkflow command\n */\nexport interface ExecuteWorkflowInput {\n /**\n * Workflow name (unique key)\n */\n workflowId: string;\n\n /**\n * Initial input data\n */\n input?: Record<string, any>;\n}\n\n/**\n * Output for ExecuteWorkflow command\n */\nexport interface ExecuteWorkflowOutput {\n /**\n * Instance ID\n */\n instanceId: string;\n\n /**\n * Workflow output\n */\n output: any;\n}\n\n//#endregion\n\n/**\n * Execute Workflow Command\n * \n * Starts and manages workflow execution from entity list.\n * Handles the complete workflow lifecycle including frontend/backend activities.\n */\n@Injectable()\nexport class ExecuteWorkflowCommand implements AXPCommand<ExecuteWorkflowInput, ExecuteWorkflowOutput> {\n //#region ---- Services ----\n\n private readonly workflowManager = inject(AXPWorkflowManager);\n private readonly toastService = inject(AXToastService);\n\n //#endregion\n\n //#region ---- Command Implementation ----\n\n async execute(xx: any): Promise<AXPExecuteCommandResult<ExecuteWorkflowOutput>> {\n\n try {\n // Extract input from command context (entity actions pass options via __context__.options)\n const input = (xx?.__context__?.options || xx) as ExecuteWorkflowInput;\n \n console.log(`[WorkflowManagement] 🚀 ExecuteWorkflowCommand: Starting workflow '${input.workflowId}'`, {\n workflowId: input.workflowId,\n input: input.input,\n context: xx?.__context__,\n });\n\n // Start workflow execution\n // This uses the workflow engine which now queries definitions by name field\n const result = await this.workflowManager.start(input.workflowId, input.input || {});\n \n console.log(`[WorkflowManagement] 📊 Workflow start result:`, {\n success: result.success,\n instanceId: result.instanceId,\n error: result.error,\n stateStatus: result.state?.status,\n stateActivityOutputs: result.state?.activityOutputs,\n });\n\n if (!result.success) {\n console.error(`[WorkflowManagement] ❌ Failed to start workflow '${input.workflowId}':`, result.error);\n this.toastService.show({\n color: 'danger',\n title: 'Workflow Execution Failed',\n content: result.error || 'Unknown error',\n closeButton: true,\n timeOut: 5000,\n });\n\n return {\n success: false,\n message: {\n text: result.error || 'Unknown error'\n },\n data: {\n instanceId: result.instanceId || '',\n output: null,\n }\n };\n }\n\n console.log(`[WorkflowManagement] ✅ Workflow '${input.workflowId}' started successfully. Instance ID: ${result.instanceId}`);\n\n // Handle workflow execution loop\n // let currentResult = result;\n // let taskCount = 0;\n // while (currentResult.nextTask) {\n // taskCount++;\n // const task = currentResult.nextTask;\n\n // console.log(`[ExecuteWorkflowCommand] 🔄 Task ${taskCount}: Executing frontend task: ${task.activityType}`, task);\n\n // // Execute frontend task\n // console.log(`[ExecuteWorkflowCommand] ⚙️ Calling workflowManager.execute...`);\n // const executionResult = await this.workflowManager.execute(task);\n // console.log(`[ExecuteWorkflowCommand] ✅ Task executed:`, {\n // output: executionResult.output,\n // outcome: executionResult.outcome,\n // });\n \n // const { output, outcome } = executionResult;\n\n // // Complete task and get next\n // currentResult = await this.workflowManager.complete(\n // currentResult.instanceId!,\n // task,\n // outcome,\n // output\n // );\n\n // if (!currentResult.success) {\n // this.toastService.show({\n // color: 'danger',\n // title: 'Workflow Execution Failed',\n // content: currentResult.error || 'Unknown error',\n // closeButton: true,\n // timeOut: 5000,\n // });\n\n // return {\n // success: false,\n // message: {\n // text: currentResult.error || 'Unknown error'\n // },\n // data: {\n // instanceId: currentResult.instanceId || '',\n // output: null,\n // }\n // };\n // }\n // }\n\n // Workflow completed successfully\n // console.log(`[ExecuteWorkflowCommand] Workflow completed:`, currentResult.state?.output);\n\n\n return {\n success: true,\n // data: {\n // instanceId: currentResult.instanceId!,\n // output: currentResult.state?.output,\n // }\n };\n } catch (error: any) {\n console.error(`[ExecuteWorkflowCommand] Error:`, error);\n\n this.toastService.show({\n color: 'danger',\n title: 'Workflow Execution Error',\n content: error.message || 'Unknown error',\n closeButton: true,\n timeOut: 5000,\n });\n\n return {\n success: false,\n message: {\n text: error.message || 'Unknown error'\n },\n data: {\n instanceId: '',\n output: null,\n }\n };\n }\n }\n\n //#endregion\n}\n\n","import { AXTranslationService } from '@acorex/core/translation';\nimport { AXPExecuteCommandResult, type AXPProperty } from '@acorex/platform/core';\nimport {\n AXPPropertyViewerService,\n buildPropertyViewerInitialContextFromProperties,\n buildPropertyViewerTabsFromProperties,\n type AXPPropertyViewerResult,\n} from '@acorex/platform/layout/components';\nimport { mapAXPPropertyToWidgetProperty, type AXPWidgetPropertyGroup } from '@acorex/platform/layout/widget-core';\nimport { AXPCommand, AXPCommandService } from '@acorex/platform/runtime';\nimport { AXPWorkflowDefinitionService } from '@acorex/platform/workflow';\nimport { Injectable, inject } from '@angular/core';\nimport { cloneDeep } from 'lodash-es';\n\nimport type { ExecuteWorkflowInput, ExecuteWorkflowOutput } from './execute-workflow.command';\n\n//#region ---- Types ----\n\n/**\n * Invoked from entity list actions. Resolves {@link ExecuteWorkflowInput.workflowId} from\n * `__context__.options` or the root payload; optional `input` from options is ignored until\n * the property viewer collects values.\n */\nexport interface ExecuteWorkflowWithInputInvocation {\n workflowId: string;\n}\n\n//#endregion\n\n/**\n * Opens the property viewer when the workflow definition declares `inputs`, then runs\n * `WorkflowManagement.WorkflowDefinition:Execute` with the collected variables.\n */\n@Injectable()\nexport class ExecuteWorkflowWithInputCommand implements AXPCommand<\n ExecuteWorkflowWithInputInvocation,\n ExecuteWorkflowOutput\n> {\n //#region ---- Services & Dependencies ----\n\n private readonly workflowDefinitionService = inject(AXPWorkflowDefinitionService);\n private readonly propertyViewerService = inject(AXPPropertyViewerService);\n private readonly commandService = inject(AXPCommandService);\n private readonly translationService = inject(AXTranslationService);\n\n //#endregion\n\n //#region ---- Command Implementation ----\n\n async execute(xx: unknown): Promise<AXPExecuteCommandResult<ExecuteWorkflowOutput>> {\n try {\n const raw = (xx as { __context__?: { options?: Record<string, unknown> } }) ?? {};\n const opts = (raw.__context__?.options ?? xx) as Record<string, unknown>;\n const workflowId = String(opts['workflowId'] ?? '');\n if (!workflowId) {\n return {\n success: false,\n message: {\n text: (await this.translationService.translateAsync('@general:messages.invalid-data')) || 'Invalid data',\n },\n };\n }\n\n const definition = await this.workflowDefinitionService.getWorkflowByName(workflowId);\n if (!definition) {\n const notFound =\n (await this.translationService.translateAsync(\n '@workflow-management:workflow-definitions.actions.execute.workflow-not-found',\n { params: { name: workflowId } },\n )) || `Workflow \"${workflowId}\" was not found.`;\n return {\n success: false,\n message: { text: notFound },\n };\n }\n\n const inputProps = (definition.inputs ?? []) as AXPProperty[];\n let initialInput: Record<string, unknown> = {};\n\n if (inputProps.length > 0) {\n const dialogResult = await this.openInputDialog(\n inputProps,\n this.translationService.resolve(definition.title) ?? workflowId,\n );\n if (dialogResult === 'cancelled') {\n return {\n success: false,\n message: {\n text: (await this.translationService.translateAsync('@general:actions.cancel.title')) || 'Cancelled',\n },\n };\n }\n initialInput = dialogResult;\n }\n\n const executed = await this.commandService.execute<ExecuteWorkflowInput, ExecuteWorkflowOutput>(\n 'WorkflowManagement.WorkflowDefinition:Execute',\n {\n workflowId,\n input: initialInput,\n },\n );\n if (!executed) {\n return {\n success: false,\n message: {\n text:\n (await this.translationService.translateAsync('@general:messages.entity.command-no-result')) ||\n 'Command returned no result',\n },\n };\n }\n return executed;\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Unknown error';\n return { success: false, message: { text: message } };\n }\n }\n\n private async openInputDialog(\n inputProps: AXPProperty[],\n workflowLabel: string,\n ): Promise<Record<string, unknown> | 'cancelled'> {\n const group: AXPWidgetPropertyGroup = { name: 'workflow-inputs', title: 'Input', order: 0 };\n const widgetProps = inputProps.map((p, index) =>\n mapAXPPropertyToWidgetProperty(p, {\n group,\n order: index,\n valuePathPrefix: 'input',\n resolveTitle: (prop) =>\n typeof prop.title === 'string' ? prop.title : (this.translationService.resolve(prop.title) ?? prop.name),\n resolveDescription: (prop) =>\n prop.description === undefined\n ? undefined\n : typeof prop.description === 'string'\n ? prop.description\n : this.translationService.resolve(prop.description),\n }),\n );\n\n const tabs = buildPropertyViewerTabsFromProperties(widgetProps);\n const context = buildPropertyViewerInitialContextFromProperties(widgetProps, { input: {} } as Record<\n string,\n unknown\n >);\n const titleKey = '@workflow-management:workflow-definitions.actions.execute.input-dialog.title';\n const rawTitle = await this.translationService.translateAsync(titleKey);\n const title = rawTitle && rawTitle !== titleKey ? rawTitle : `Input — ${workflowLabel}`;\n\n const result = (await this.propertyViewerService\n .create()\n .dialog<AXPPropertyViewerResult | null>((d) => {\n d.setTitle(title)\n .setSize('md')\n .setCloseButton(true)\n .setMode('advanced')\n .setTabs(tabs)\n .setContext(cloneDeep(context));\n })\n .show()) as AXPPropertyViewerResult | null;\n\n if (!result || result.values === undefined || result.values === null) {\n return 'cancelled';\n }\n\n const values = result.values as Record<string, unknown>;\n const inputBag = values['input'];\n if (inputBag !== undefined && typeof inputBag === 'object' && !Array.isArray(inputBag)) {\n return { ...(inputBag as Record<string, unknown>) };\n }\n return {};\n }\n\n //#endregion\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"acorex-modules-workflow-management-index-Bq5tBgif.mjs","sources":["../../../../libs/modules/workflow-management/src/lib/entities/workflow-definition/commands/execute-workflow.command.ts","../../../../libs/modules/workflow-management/src/lib/entities/workflow-definition/commands/execute-workflow-with-input.command.ts"],"sourcesContent":["import { Injectable, inject } from '@angular/core';\nimport { AXPExecuteCommandResult } from '@acorex/platform/core';\nimport { AXPCommand } from '@acorex/platform/runtime';\nimport { AXPWorkflowManager } from '@acorex/platform/workflow';\nimport { AXToastService } from '@acorex/components/toast';\n\n//#region ---- Types ----\n\n/**\n * Input for ExecuteWorkflow command\n */\nexport interface ExecuteWorkflowInput {\n /**\n * Workflow name (unique key)\n */\n workflowId: string;\n\n /**\n * Initial input data\n */\n input?: Record<string, any>;\n}\n\n/**\n * Output for ExecuteWorkflow command\n */\nexport interface ExecuteWorkflowOutput {\n /**\n * Instance ID\n */\n instanceId: string;\n\n /**\n * Workflow output\n */\n output: any;\n}\n\n//#endregion\n\n/**\n * Execute Workflow Command\n * \n * Starts and manages workflow execution from entity list.\n * Handles the complete workflow lifecycle including frontend/backend activities.\n */\n@Injectable()\nexport class ExecuteWorkflowCommand implements AXPCommand<ExecuteWorkflowInput, ExecuteWorkflowOutput> {\n //#region ---- Services ----\n\n private readonly workflowManager = inject(AXPWorkflowManager);\n private readonly toastService = inject(AXToastService);\n\n //#endregion\n\n //#region ---- Command Implementation ----\n\n async execute(xx: any): Promise<AXPExecuteCommandResult<ExecuteWorkflowOutput>> {\n\n try {\n // Extract input from command context (entity actions pass options via __context__.options)\n const input = (xx?.__context__?.options || xx) as ExecuteWorkflowInput;\n \n console.log(`[WorkflowManagement] 🚀 ExecuteWorkflowCommand: Starting workflow '${input.workflowId}'`, {\n workflowId: input.workflowId,\n input: input.input,\n context: xx?.__context__,\n });\n\n // Start workflow execution\n // This uses the workflow engine which now queries definitions by name field\n const result = await this.workflowManager.start(input.workflowId, input.input || {});\n \n console.log(`[WorkflowManagement] 📊 Workflow start result:`, {\n success: result.success,\n instanceId: result.instanceId,\n error: result.error,\n stateStatus: result.state?.status,\n stateActivityOutputs: result.state?.activityOutputs,\n });\n\n if (!result.success) {\n console.error(`[WorkflowManagement] ❌ Failed to start workflow '${input.workflowId}':`, result.error);\n this.toastService.show({\n color: 'danger',\n title: 'Workflow Execution Failed',\n content: result.error || 'Unknown error',\n closeButton: true,\n timeOut: 5000,\n });\n\n return {\n success: false,\n message: {\n text: result.error || 'Unknown error'\n },\n data: {\n instanceId: result.instanceId || '',\n output: null,\n }\n };\n }\n\n console.log(`[WorkflowManagement] ✅ Workflow '${input.workflowId}' started successfully. Instance ID: ${result.instanceId}`);\n\n // Handle workflow execution loop\n // let currentResult = result;\n // let taskCount = 0;\n // while (currentResult.nextTask) {\n // taskCount++;\n // const task = currentResult.nextTask;\n\n // console.log(`[ExecuteWorkflowCommand] 🔄 Task ${taskCount}: Executing frontend task: ${task.activityType}`, task);\n\n // // Execute frontend task\n // console.log(`[ExecuteWorkflowCommand] ⚙️ Calling workflowManager.execute...`);\n // const executionResult = await this.workflowManager.execute(task);\n // console.log(`[ExecuteWorkflowCommand] ✅ Task executed:`, {\n // output: executionResult.output,\n // outcome: executionResult.outcome,\n // });\n \n // const { output, outcome } = executionResult;\n\n // // Complete task and get next\n // currentResult = await this.workflowManager.complete(\n // currentResult.instanceId!,\n // task,\n // outcome,\n // output\n // );\n\n // if (!currentResult.success) {\n // this.toastService.show({\n // color: 'danger',\n // title: 'Workflow Execution Failed',\n // content: currentResult.error || 'Unknown error',\n // closeButton: true,\n // timeOut: 5000,\n // });\n\n // return {\n // success: false,\n // message: {\n // text: currentResult.error || 'Unknown error'\n // },\n // data: {\n // instanceId: currentResult.instanceId || '',\n // output: null,\n // }\n // };\n // }\n // }\n\n // Workflow completed successfully\n // console.log(`[ExecuteWorkflowCommand] Workflow completed:`, currentResult.state?.output);\n\n\n return {\n success: true,\n // data: {\n // instanceId: currentResult.instanceId!,\n // output: currentResult.state?.output,\n // }\n };\n } catch (error: any) {\n console.error(`[ExecuteWorkflowCommand] Error:`, error);\n\n this.toastService.show({\n color: 'danger',\n title: 'Workflow Execution Error',\n content: error.message || 'Unknown error',\n closeButton: true,\n timeOut: 5000,\n });\n\n return {\n success: false,\n message: {\n text: error.message || 'Unknown error'\n },\n data: {\n instanceId: '',\n output: null,\n }\n };\n }\n }\n\n //#endregion\n}\n\n","import { AXTranslationService } from '@acorex/core/translation';\nimport { AXPExecuteCommandResult, type AXPProperty } from '@acorex/platform/core';\nimport {\n AXPPropertyViewerService,\n buildPropertyViewerInitialContextFromProperties,\n buildPropertyViewerTabsFromProperties,\n type AXPPropertyViewerResult,\n} from '@acorex/platform/layout/components';\nimport { mapAXPPropertyToWidgetProperty, type AXPWidgetPropertyGroup } from '@acorex/platform/layout/widget-core';\nimport { AXPCommand, AXPCommandService } from '@acorex/platform/runtime';\nimport { AXPWorkflowDefinitionService } from '@acorex/platform/workflow';\nimport { Injectable, inject } from '@angular/core';\nimport { cloneDeep } from 'lodash-es';\n\nimport type { ExecuteWorkflowInput, ExecuteWorkflowOutput } from './execute-workflow.command';\n\n//#region ---- Types ----\n\n/**\n * Invoked from entity list actions. Resolves {@link ExecuteWorkflowInput.workflowId} from\n * `__context__.options` or the root payload; optional `input` from options is ignored until\n * the property viewer collects values.\n */\nexport interface ExecuteWorkflowWithInputInvocation {\n workflowId: string;\n}\n\n//#endregion\n\n/**\n * Opens the property viewer when the workflow definition declares `inputs`, then runs\n * `WorkflowManagement.WorkflowDefinition:Execute` with the collected variables.\n */\n@Injectable()\nexport class ExecuteWorkflowWithInputCommand implements AXPCommand<\n ExecuteWorkflowWithInputInvocation,\n ExecuteWorkflowOutput\n> {\n //#region ---- Services & Dependencies ----\n\n private readonly workflowDefinitionService = inject(AXPWorkflowDefinitionService);\n private readonly propertyViewerService = inject(AXPPropertyViewerService);\n private readonly commandService = inject(AXPCommandService);\n private readonly translationService = inject(AXTranslationService);\n\n //#endregion\n\n //#region ---- Command Implementation ----\n\n async execute(xx: unknown): Promise<AXPExecuteCommandResult<ExecuteWorkflowOutput>> {\n try {\n const raw = (xx as { __context__?: { options?: Record<string, unknown> } }) ?? {};\n const opts = (raw.__context__?.options ?? xx) as Record<string, unknown>;\n const workflowId = String(opts['workflowId'] ?? '');\n if (!workflowId) {\n return {\n success: false,\n message: {\n text: (await this.translationService.translateAsync('@general:messages.invalid-data')) || 'Invalid data',\n },\n };\n }\n\n const definition = await this.workflowDefinitionService.getWorkflowByName(workflowId);\n if (!definition) {\n const notFound =\n (await this.translationService.translateAsync(\n '@workflow-management:workflow-definitions.actions.execute.workflow-not-found',\n { params: { name: workflowId } },\n )) || `Workflow \"${workflowId}\" was not found.`;\n return {\n success: false,\n message: { text: notFound },\n };\n }\n\n const inputProps = (definition.inputs ?? []) as AXPProperty[];\n let initialInput: Record<string, unknown> = {};\n\n if (inputProps.length > 0) {\n const dialogResult = await this.openInputDialog(\n inputProps,\n this.translationService.resolve(definition.title) ?? workflowId,\n );\n if (dialogResult === 'cancelled') {\n return {\n success: false,\n message: {\n text: (await this.translationService.translateAsync('@general:actions.cancel.title')) || 'Cancelled',\n },\n };\n }\n initialInput = dialogResult;\n }\n\n const executed = await this.commandService.execute<ExecuteWorkflowInput, ExecuteWorkflowOutput>(\n 'WorkflowManagement.WorkflowDefinition:Execute',\n {\n workflowId,\n input: initialInput,\n },\n );\n if (!executed) {\n return {\n success: false,\n message: {\n text:\n (await this.translationService.translateAsync('@general:messages.entity.command-no-result')) ||\n 'Command returned no result',\n },\n };\n }\n return executed;\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Unknown error';\n return { success: false, message: { text: message } };\n }\n }\n\n private async openInputDialog(\n inputProps: AXPProperty[],\n workflowLabel: string,\n ): Promise<Record<string, unknown> | 'cancelled'> {\n const group: AXPWidgetPropertyGroup = { name: 'workflow-inputs', title: 'Input', order: 0 };\n const widgetProps = inputProps.map((p, index) =>\n mapAXPPropertyToWidgetProperty(p, {\n group,\n order: index,\n valuePathPrefix: 'input',\n resolveTitle: (prop) =>\n typeof prop.title === 'string' ? prop.title : (this.translationService.resolve(prop.title) ?? prop.name),\n resolveDescription: (prop) =>\n prop.description === undefined\n ? undefined\n : typeof prop.description === 'string'\n ? prop.description\n : this.translationService.resolve(prop.description),\n }),\n );\n\n const tabs = buildPropertyViewerTabsFromProperties(widgetProps);\n const context = buildPropertyViewerInitialContextFromProperties(widgetProps, { input: {} } as Record<\n string,\n unknown\n >);\n const titleKey = '@workflow-management:workflow-definitions.actions.execute.input-dialog.title';\n const rawTitle = await this.translationService.translateAsync(titleKey);\n const title = rawTitle && rawTitle !== titleKey ? rawTitle : `Input — ${workflowLabel}`;\n\n const result = (await this.propertyViewerService\n .create()\n .dialog<AXPPropertyViewerResult | null>((d) => {\n d.setTitle(title)\n .setSize('md')\n .setCloseButton(true)\n .setMode('advanced')\n .setTabs(tabs)\n .setContext(cloneDeep(context));\n })\n .show()) as AXPPropertyViewerResult | null;\n\n if (!result || result.values === undefined || result.values === null) {\n return 'cancelled';\n }\n\n const values = result.values as Record<string, unknown>;\n const inputBag = values['input'];\n if (inputBag !== undefined && typeof inputBag === 'object' && !Array.isArray(inputBag)) {\n return { ...(inputBag as Record<string, unknown>) };\n }\n return {};\n }\n\n //#endregion\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -6,8 +6,9 @@ import { inject, Injectable } from '@angular/core';
|
|
|
6
6
|
import { AXPSessionService } from '@acorex/platform/auth';
|
|
7
7
|
import { AXPEntityService, getRecordWorkflowInstanceId } from '@acorex/platform/layout/entity';
|
|
8
8
|
import { AXPWorkflowManager, AXP_WORKFLOW_ENGINE } from '@acorex/platform/workflow';
|
|
9
|
-
import {
|
|
10
|
-
import { AXPWorkflowInstanceHumanTaskService, createWorkflowInstanceBookmarkAccess, isWorkflowPooledClaimablePayload, normalizeWorkflowTaskUserIds } from './acorex-modules-workflow-management.mjs';
|
|
9
|
+
import { get, isString } from 'lodash-es';
|
|
10
|
+
import { A as AXPWorkflowInstanceHumanTaskService, c as createWorkflowInstanceBookmarkAccess, i as isWorkflowPooledClaimablePayload, n as normalizeWorkflowTaskUserIds } from './acorex-modules-workflow-management-acorex-modules-workflow-management-gXP-srRO.mjs';
|
|
11
|
+
import { AXPopupService } from '@acorex/components/popup';
|
|
11
12
|
|
|
12
13
|
//#region ---- Imports ----
|
|
13
14
|
//#endregion
|
|
@@ -35,7 +36,15 @@ class AXPWorkflowRunActionService {
|
|
|
35
36
|
if (!record || typeof record !== 'object') {
|
|
36
37
|
return null;
|
|
37
38
|
}
|
|
38
|
-
|
|
39
|
+
const fromWorkflowInfo = getRecordWorkflowInstanceId(record);
|
|
40
|
+
if (fromWorkflowInfo) {
|
|
41
|
+
return fromWorkflowInfo;
|
|
42
|
+
}
|
|
43
|
+
const direct = get(record, 'instanceId');
|
|
44
|
+
if (typeof direct === 'string' && direct.trim().length > 0) {
|
|
45
|
+
return direct.trim();
|
|
46
|
+
}
|
|
47
|
+
return null;
|
|
39
48
|
}
|
|
40
49
|
/**
|
|
41
50
|
* Finds the primary suspended human-task bookmark for continue / take-over.
|
|
@@ -318,6 +327,45 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
318
327
|
args: [{ providedIn: 'root' }]
|
|
319
328
|
}] });
|
|
320
329
|
|
|
330
|
+
//#region ---- Imports ----
|
|
331
|
+
//#endregion
|
|
332
|
+
//#region ---- Command ----
|
|
333
|
+
/** Opens the workflow run history popup (timeline + disabled visual tab) for a domain list row. */
|
|
334
|
+
class ShowWorkflowRunHistoryCommand {
|
|
335
|
+
constructor() {
|
|
336
|
+
//#region ---- Services & Dependencies ----
|
|
337
|
+
this.popupService = inject(AXPopupService);
|
|
338
|
+
this.runActionService = inject(AXPWorkflowRunActionService);
|
|
339
|
+
this.translationService = inject(AXTranslationService);
|
|
340
|
+
}
|
|
341
|
+
//#endregion
|
|
342
|
+
//#region ---- Command Implementation ----
|
|
343
|
+
async execute(input) {
|
|
344
|
+
const { instanceId } = this.runActionService.parseCommandRecordContext(input);
|
|
345
|
+
if (!instanceId) {
|
|
346
|
+
return {
|
|
347
|
+
success: false,
|
|
348
|
+
message: {
|
|
349
|
+
text: await this.translationService.translateAsync('@workflow-management:workflow-run.history.messages.no-instance'),
|
|
350
|
+
},
|
|
351
|
+
};
|
|
352
|
+
}
|
|
353
|
+
const comp = (await import('./acorex-modules-workflow-management-workflow-run-history-popup.component-CJ0cRwUE.mjs')).AXMWorkflowRunHistoryPopupComponent;
|
|
354
|
+
this.popupService.open(comp, {
|
|
355
|
+
title: '',
|
|
356
|
+
size: 'lg',
|
|
357
|
+
data: { instanceId },
|
|
358
|
+
});
|
|
359
|
+
return { success: true };
|
|
360
|
+
}
|
|
361
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: ShowWorkflowRunHistoryCommand, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
362
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: ShowWorkflowRunHistoryCommand, providedIn: 'root' }); }
|
|
363
|
+
}
|
|
364
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: ShowWorkflowRunHistoryCommand, decorators: [{
|
|
365
|
+
type: Injectable,
|
|
366
|
+
args: [{ providedIn: 'root' }]
|
|
367
|
+
}] });
|
|
368
|
+
|
|
321
369
|
//#region ---- Imports ----
|
|
322
370
|
//#endregion
|
|
323
371
|
//#region ---- Command ----
|
|
@@ -363,5 +411,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
363
411
|
//#region ---- Exports ----
|
|
364
412
|
//#endregion
|
|
365
413
|
|
|
366
|
-
export { CancelWorkflowRunCommand, ContinueWorkflowRunCommand, TakeOverWorkflowRunCommand };
|
|
367
|
-
//# sourceMappingURL=acorex-modules-workflow-management-index-
|
|
414
|
+
export { CancelWorkflowRunCommand, ContinueWorkflowRunCommand, ShowWorkflowRunHistoryCommand, TakeOverWorkflowRunCommand };
|
|
415
|
+
//# sourceMappingURL=acorex-modules-workflow-management-index-CIV7Abnc.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acorex-modules-workflow-management-index-CIV7Abnc.mjs","sources":["../../../../libs/modules/workflow-management/src/lib/features/workflow-run-plugin/workflow-run-action.service.ts","../../../../libs/modules/workflow-management/src/lib/features/workflow-run-plugin/commands/cancel-workflow-run.command.ts","../../../../libs/modules/workflow-management/src/lib/features/workflow-run-plugin/commands/continue-workflow-run.command.ts","../../../../libs/modules/workflow-management/src/lib/features/workflow-run-plugin/commands/show-workflow-run-history.command.ts","../../../../libs/modules/workflow-management/src/lib/features/workflow-run-plugin/commands/take-over-workflow-run.command.ts","../../../../libs/modules/workflow-management/src/lib/features/workflow-run-plugin/commands/index.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPEntityService, getRecordWorkflowInstanceId } from '@acorex/platform/layout/entity';\nimport {\n AXP_WORKFLOW_ENGINE,\n AXPWorkflowEngine,\n AXPWorkflowManager,\n} from '@acorex/platform/workflow';\nimport { inject, Injectable } from '@angular/core';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXToastService } from '@acorex/components/toast';\nimport { get, isString } from 'lodash-es';\nimport { AXMWorkflowManagementWorkflowInstanceEntityModel } from '../../entities/workflow-instance/workflow-instance.types';\nimport {\n createWorkflowInstanceBookmarkAccess,\n HumanTaskBookmarkPayload,\n WorkflowInstanceBookmarkRow,\n} from '../task-provider/workflow-instance-bookmark.access';\nimport { AXPWorkflowInstanceHumanTaskService } from '../task-provider/workflow-instance-human-task.service';\nimport {\n isWorkflowPooledClaimablePayload,\n normalizeWorkflowTaskUserIds,\n} from '../task-provider/workflow-task-continuation';\n\n//#endregion\n\n//#region ---- Types ----\n\nexport interface AXPWorkflowRunSuspendedHumanTask {\n instance: AXMWorkflowManagementWorkflowInstanceEntityModel;\n bookmark: WorkflowInstanceBookmarkRow;\n payload: HumanTaskBookmarkPayload;\n}\n\nexport interface AXPWorkflowRunCancelParams {\n instanceId: string;\n entitySource?: string;\n recordId?: string;\n reason?: string;\n statusField?: string;\n cancelledStatusId?: string;\n}\n\n//#endregion\n\n//#region ---- Service ----\n\n/**\n * Resolves workflow run operations for workflow-run plugin list rows.\n * Delegates resume/take-over to {@link AXPWorkflowInstanceHumanTaskService} (same as task board).\n */\n@Injectable({ providedIn: 'root' })\nexport class AXPWorkflowRunActionService {\n //#region ---- Services & Dependencies ----\n\n private readonly entityService = inject(AXPEntityService);\n private readonly humanTaskService = inject(AXPWorkflowInstanceHumanTaskService);\n private readonly workflowManager = inject(AXPWorkflowManager);\n private readonly sessionService = inject(AXPSessionService);\n private readonly translationService = inject(AXTranslationService);\n private readonly toastService = inject(AXToastService);\n private readonly workflowEngine = inject(AXP_WORKFLOW_ENGINE, { optional: true }) as AXPWorkflowEngine | null;\n private readonly bookmarkAccess = createWorkflowInstanceBookmarkAccess();\n\n //#endregion\n\n //#region ---- Instance resolution ----\n\n /** Reads workflow instance id from a domain list row or command payload. */\n resolveInstanceId(record: unknown): string | null {\n if (!record || typeof record !== 'object') {\n return null;\n }\n const fromWorkflowInfo = getRecordWorkflowInstanceId(\n record as { workflowInfo?: { instanceId?: string | null } },\n );\n if (fromWorkflowInfo) {\n return fromWorkflowInfo;\n }\n const direct = get(record as Record<string, unknown>, 'instanceId');\n if (typeof direct === 'string' && direct.trim().length > 0) {\n return direct.trim();\n }\n return null;\n }\n\n /**\n * Finds the primary suspended human-task bookmark for continue / take-over.\n * Prefers task-board human-task and cartable bookmarks.\n */\n async findPrimarySuspendedHumanTask(instanceId: string): Promise<AXPWorkflowRunSuspendedHumanTask | null> {\n const trimmed = instanceId?.trim();\n if (!trimmed) {\n return null;\n }\n\n const instance = await this.bookmarkAccess.loadInstanceForContinuation(trimmed);\n if (!instance || instance.subStatus !== 'Suspended') {\n return null;\n }\n\n const active = this.bookmarkAccess.getActiveBookmarks(instance);\n for (const bookmark of active) {\n const payload = this.bookmarkAccess.parseHumanTaskPayload(bookmark);\n if (!payload?.taskToken || !this.isTaskBoardHumanPayload(payload)) {\n continue;\n }\n return { instance, bookmark, payload };\n }\n\n return null;\n }\n\n //#endregion\n\n //#region ---- Run operations ----\n\n /** Runs the primary human-task action on the current suspended step (e.g. open questionnaire). */\n async continueRun(instanceId: string) {\n const task = await this.findPrimarySuspendedHumanTask(instanceId);\n if (!task) {\n return { success: false as const, error: 'NO_SUSPENDED_TASK' as const };\n }\n\n const payload = task.payload;\n if (isWorkflowPooledClaimablePayload(payload)) {\n return this.continuePooledHumanTask(instanceId, task);\n }\n\n const outcome = this.humanTaskService.resolvePrimaryTaskOutcome(payload);\n const assigned = normalizeWorkflowTaskUserIds(payload.assignedUserIds);\n const currentUserId = this.sessionService.user?.id;\n if (\n currentUserId &&\n assigned.length > 0 &&\n !assigned.includes(String(currentUserId)) &&\n (outcome === 'approve' || outcome === 'reject')\n ) {\n const content = await this.translationService.translateAsync(\n '@workflow-management:workflow-run.messages.awaiting-approver',\n );\n this.toastService.show({\n color: 'warning',\n title: await this.translationService.translateAsync('@general:messages.generic.warning.title'),\n content,\n closeButton: true,\n });\n return { success: false as const, error: 'NOT_ASSIGNEE' as const, message: content };\n }\n\n const result = await this.humanTaskService.executePrimaryHumanTaskAction(instanceId, task.bookmark.activityId, {\n suppressContinuation: true,\n notifyViews: true,\n });\n\n if (!result?.success) {\n return {\n success: false as const,\n error: 'RESUME_FAILED' as const,\n message: result?.error,\n };\n }\n\n return { success: true as const };\n }\n\n /**\n * Pooled cartable / human-task steps must be claimed before approve/reject.\n * Claims for the current user when they are a candidate, then directs them to the task board.\n */\n private async continuePooledHumanTask(\n instanceId: string,\n task: AXPWorkflowRunSuspendedHumanTask,\n ): Promise<\n | { success: true }\n | { success: false; error: 'NOT_CANDIDATE' | 'CLAIM_FAILED' | 'RESUME_FAILED'; message?: string }\n > {\n const currentUserId = this.sessionService.user?.id;\n const candidates = normalizeWorkflowTaskUserIds(task.payload.candidateUserIds);\n if (!currentUserId || !candidates.includes(String(currentUserId))) {\n const content = await this.translationService.translateAsync(\n '@workflow-management:tasks.errors.not-assignee',\n );\n this.toastService.show({\n color: 'warning',\n title: await this.translationService.translateAsync('@general:messages.generic.warning.title'),\n content,\n closeButton: true,\n });\n return { success: false as const, error: 'NOT_CANDIDATE' as const, message: content };\n }\n\n const claimResult = await this.workflowManager.claimTask(\n instanceId,\n task.bookmark.id,\n task.bookmark.activityId,\n );\n if (!claimResult.success) {\n return {\n success: false as const,\n error: 'CLAIM_FAILED' as const,\n message: claimResult.error,\n };\n }\n\n this.humanTaskService.notifyWorkflowTaskViewsChanged();\n const content = await this.translationService.translateAsync(\n '@workflow-management:workflow-run.messages.use-task-board',\n );\n this.toastService.show({\n color: 'success',\n title: await this.translationService.translateAsync('@general:messages.generic.success.title'),\n content,\n closeButton: true,\n });\n return { success: true as const };\n }\n\n /** Take over the current suspended human-task bookmark without advancing the workflow. */\n async takeOverRun(instanceId: string) {\n const task = await this.findPrimarySuspendedHumanTask(instanceId);\n if (!task) {\n return { success: false as const, error: 'NO_SUSPENDED_TASK' as const };\n }\n\n const reassigned = await this.humanTaskService.reassignBookmarkToCurrentUserWithConfirm(\n instanceId,\n task.bookmark.id,\n task.bookmark.activityId,\n );\n\n if (!reassigned) {\n return { success: false as const, error: 'REASSIGN_FAILED' as const };\n }\n\n this.humanTaskService.notifyWorkflowTaskViewsChanged();\n return { success: true as const };\n }\n\n /** Cancels a workflow instance and optionally marks the linked domain row as cancelled. */\n async cancelRun(params: AXPWorkflowRunCancelParams): Promise<{ success: boolean }> {\n const instanceId = params.instanceId?.trim();\n if (!instanceId) {\n return { success: false };\n }\n\n const engine = this.workflowEngine;\n if (engine?.cancelInstance) {\n await engine.cancelInstance(instanceId, params.reason?.trim() || 'cancelled-by-user');\n } else {\n const now = new Date().toISOString();\n await this.entityService.withEntity('WorkflowManagement', 'WorkflowInstance').data().update(instanceId, {\n status: 'Finished',\n subStatus: 'Cancelled',\n finishedAt: now,\n updatedAt: now,\n } as never);\n }\n\n const recordId = params.recordId?.trim();\n const entitySource = params.entitySource?.trim();\n if (recordId && entitySource) {\n const [moduleName, entityName] = entitySource.split('.');\n if (moduleName && entityName) {\n const statusField = params.statusField?.trim() || 'statusId';\n const cancelledStatus = params.cancelledStatusId?.trim() || 'cancelled';\n await this.entityService.withEntity(moduleName, entityName).data().update(recordId, {\n [statusField]: cancelledStatus,\n ...(params.reason ? { notes: params.reason } : {}),\n } as never);\n }\n }\n\n this.humanTaskService.notifyWorkflowTaskViewsChanged();\n return { success: true };\n }\n\n //#endregion\n\n //#region ---- Helpers ----\n\n private isTaskBoardHumanPayload(payload: HumanTaskBookmarkPayload): boolean {\n const activityType = payload.activityType;\n return activityType === 'workflow-activity:human-task' || activityType === 'workflow-activity:cartable';\n }\n\n /** Parses `Module.Entity` and record id from command context. */\n parseCommandRecordContext(input: {\n __context__?: {\n entity?: string;\n entityInfo?: { module?: string; name?: string; source?: string };\n data?: unknown;\n };\n }): { entitySource: string | null; recordId: string | null; instanceId: string | null } {\n const ctx = input.__context__;\n const data = ctx?.data;\n const entitySource =\n ctx?.entityInfo?.source?.trim() ||\n ctx?.entity?.trim() ||\n (ctx?.entityInfo?.module && ctx?.entityInfo?.name\n ? `${ctx.entityInfo.module}.${ctx.entityInfo.name}`\n : null);\n\n const recordId =\n data && typeof data === 'object' && isString(get(data, 'id'))\n ? String(get(data, 'id')).trim()\n : null;\n\n return {\n entitySource,\n recordId,\n instanceId: this.resolveInstanceId(data),\n };\n }\n\n //#endregion\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXDialogService } from '@acorex/components/dialog';\nimport { AXToastService } from '@acorex/components/toast';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPExecuteCommandResult } from '@acorex/platform/core';\nimport { AXPCommand } from '@acorex/platform/runtime';\nimport { inject, Injectable } from '@angular/core';\nimport { AXPWorkflowRunActionService } from '../workflow-run-action.service';\n\n//#endregion\n\n//#region ---- Command ----\n\n/** Cancels a workflow run and marks the linked domain row as cancelled when applicable. */\n@Injectable({ providedIn: 'root' })\nexport class CancelWorkflowRunCommand implements AXPCommand<Record<string, unknown>, void> {\n //#region ---- Services & Dependencies ----\n\n private readonly runActionService = inject(AXPWorkflowRunActionService);\n private readonly dialogService = inject(AXDialogService);\n private readonly toastService = inject(AXToastService);\n private readonly translationService = inject(AXTranslationService);\n\n //#endregion\n\n //#region ---- Command Implementation ----\n\n async execute(input: Record<string, unknown>): Promise<AXPExecuteCommandResult<void>> {\n const { instanceId, entitySource, recordId } = this.runActionService.parseCommandRecordContext(input);\n if (!instanceId) {\n return { success: false, message: { text: 'No workflow instance is linked to this record.' } };\n }\n\n const title = await this.translationService.translateAsync(\n '@workflow-management:workflow-run.dialogs.cancel-run.title',\n );\n const message = await this.translationService.translateAsync(\n '@workflow-management:workflow-run.dialogs.cancel-run.message',\n );\n const confirmed = await this.dialogService.confirm(title, message, 'warning', 'horizontal', false, 'cancel');\n if (!confirmed.result) {\n return { success: false };\n }\n\n const reason = await this.translationService.translateAsync(\n '@workflow-management:workflow-run.messages.cancel-run-note',\n );\n\n const result = await this.runActionService.cancelRun({\n instanceId,\n entitySource: entitySource ?? undefined,\n recordId: recordId ?? undefined,\n reason,\n });\n\n if (!result.success) {\n return { success: false, message: { text: 'Could not cancel the workflow run.' } };\n }\n\n this.toastService.show({\n color: 'success',\n title: await this.translationService.translateAsync('@general:messages.generic.success.title'),\n content: await this.translationService.translateAsync(\n '@workflow-management:workflow-run.messages.cancel-run-success',\n ),\n closeButton: true,\n timeOut: 3000,\n });\n\n return { success: true };\n }\n\n //#endregion\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXToastService } from '@acorex/components/toast';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPExecuteCommandResult } from '@acorex/platform/core';\nimport { AXPCommand } from '@acorex/platform/runtime';\nimport { inject, Injectable } from '@angular/core';\nimport { AXPWorkflowRunActionService } from '../workflow-run-action.service';\n\n//#endregion\n\n//#region ---- Command ----\n\n/** Continues the current suspended human-task step for a workflow-backed domain row. */\n@Injectable({ providedIn: 'root' })\nexport class ContinueWorkflowRunCommand implements AXPCommand<Record<string, unknown>, void> {\n //#region ---- Services & Dependencies ----\n\n private readonly runActionService = inject(AXPWorkflowRunActionService);\n private readonly toastService = inject(AXToastService);\n private readonly translationService = inject(AXTranslationService);\n\n //#endregion\n\n //#region ---- Command Implementation ----\n\n async execute(input: Record<string, unknown>): Promise<AXPExecuteCommandResult<void>> {\n const { instanceId } = this.runActionService.parseCommandRecordContext(input);\n if (!instanceId) {\n return { success: false, message: { text: 'No workflow instance is linked to this record.' } };\n }\n\n const result = await this.runActionService.continueRun(instanceId);\n if (result.success) {\n return { success: true };\n }\n\n if (result.error === 'NO_SUSPENDED_TASK') {\n const content = await this.translationService.translateAsync(\n '@workflow-management:workflow-run.messages.no-pending-step',\n );\n this.toastService.show({\n color: 'warning',\n title: await this.translationService.translateAsync('@general:messages.generic.warning.title'),\n content,\n closeButton: true,\n });\n return { success: false };\n }\n\n if (result.message) {\n this.toastService.show({\n color: 'danger',\n title: await this.translationService.translateAsync('@general:messages.generic.error.title'),\n content: result.message,\n closeButton: true,\n });\n }\n\n return { success: false };\n }\n\n //#endregion\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXPopupService } from '@acorex/components/popup';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPExecuteCommandResult } from '@acorex/platform/core';\nimport { AXPCommand } from '@acorex/platform/runtime';\nimport { inject, Injectable } from '@angular/core';\nimport { AXPWorkflowRunActionService } from '../workflow-run-action.service';\n\n//#endregion\n\n//#region ---- Command ----\n\n/** Opens the workflow run history popup (timeline + disabled visual tab) for a domain list row. */\n@Injectable({ providedIn: 'root' })\nexport class ShowWorkflowRunHistoryCommand implements AXPCommand<Record<string, unknown>, void> {\n //#region ---- Services & Dependencies ----\n\n private readonly popupService = inject(AXPopupService);\n private readonly runActionService = inject(AXPWorkflowRunActionService);\n private readonly translationService = inject(AXTranslationService);\n\n //#endregion\n\n //#region ---- Command Implementation ----\n\n async execute(input: Record<string, unknown>): Promise<AXPExecuteCommandResult<void>> {\n const { instanceId } = this.runActionService.parseCommandRecordContext(input);\n if (!instanceId) {\n return {\n success: false,\n message: {\n text: await this.translationService.translateAsync(\n '@workflow-management:workflow-run.history.messages.no-instance',\n ),\n },\n };\n }\n\n const comp = (\n await import('../components/workflow-run-history-popup/workflow-run-history-popup.component')\n ).AXMWorkflowRunHistoryPopupComponent;\n\n this.popupService.open(comp, {\n title: '',\n size: 'lg',\n data: { instanceId },\n });\n\n return { success: true };\n }\n\n //#endregion\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXToastService } from '@acorex/components/toast';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPExecuteCommandResult } from '@acorex/platform/core';\nimport { AXPCommand } from '@acorex/platform/runtime';\nimport { inject, Injectable } from '@angular/core';\nimport { AXPWorkflowRunActionService } from '../workflow-run-action.service';\n\n//#endregion\n\n//#region ---- Command ----\n\n/** Reassigns the current suspended human-task to the current user (take over). */\n@Injectable({ providedIn: 'root' })\nexport class TakeOverWorkflowRunCommand implements AXPCommand<Record<string, unknown>, void> {\n //#region ---- Services & Dependencies ----\n\n private readonly runActionService = inject(AXPWorkflowRunActionService);\n private readonly toastService = inject(AXToastService);\n private readonly translationService = inject(AXTranslationService);\n\n //#endregion\n\n //#region ---- Command Implementation ----\n\n async execute(input: Record<string, unknown>): Promise<AXPExecuteCommandResult<void>> {\n const { instanceId } = this.runActionService.parseCommandRecordContext(input);\n if (!instanceId) {\n return { success: false, message: { text: 'No workflow instance is linked to this record.' } };\n }\n\n const result = await this.runActionService.takeOverRun(instanceId);\n if (result.success) {\n return { success: true };\n }\n\n if (result.error === 'NO_SUSPENDED_TASK') {\n const content = await this.translationService.translateAsync(\n '@workflow-management:workflow-run.messages.no-pending-step',\n );\n this.toastService.show({\n color: 'warning',\n title: await this.translationService.translateAsync('@general:messages.generic.warning.title'),\n content,\n closeButton: true,\n });\n return { success: false };\n }\n\n return { success: false };\n }\n\n //#endregion\n}\n\n//#endregion\n","//#region ---- Exports ----\n\nexport { CancelWorkflowRunCommand } from './cancel-workflow-run.command';\nexport { ContinueWorkflowRunCommand } from './continue-workflow-run.command';\nexport { ShowWorkflowRunHistoryCommand } from './show-workflow-run-history.command';\nexport { TakeOverWorkflowRunCommand } from './take-over-workflow-run.command';\n\n//#endregion\n"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { AXTranslationService } from '@acorex/core/translation';
|
|
|
2
2
|
import { AXPEntityService } from '@acorex/platform/layout/entity';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
4
|
import { inject, Injectable } from '@angular/core';
|
|
5
|
-
import { RootConfig } from './acorex-modules-workflow-management.mjs';
|
|
5
|
+
import { R as RootConfig } from './acorex-modules-workflow-management-acorex-modules-workflow-management-gXP-srRO.mjs';
|
|
6
6
|
|
|
7
7
|
const WORKFLOW_DEFINITION_ACTIVITIES_SAVE_COMMAND = 'WorkflowManagement.WorkflowDefinition:Activities:Save';
|
|
8
8
|
/**
|
|
@@ -58,4 +58,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
58
58
|
}] });
|
|
59
59
|
|
|
60
60
|
export { SaveWorkflowDefinitionActivitiesCommand, WORKFLOW_DEFINITION_ACTIVITIES_SAVE_COMMAND };
|
|
61
|
-
//# sourceMappingURL=acorex-modules-workflow-management-save-workflow-definition-activities.command-
|
|
61
|
+
//# sourceMappingURL=acorex-modules-workflow-management-save-workflow-definition-activities.command-B_tjSneV.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-modules-workflow-management-save-workflow-definition-activities.command-
|
|
1
|
+
{"version":3,"file":"acorex-modules-workflow-management-save-workflow-definition-activities.command-B_tjSneV.mjs","sources":["../../../../libs/modules/workflow-management/src/lib/entities/workflow-definition/commands/save-workflow-definition-activities.command.ts"],"sourcesContent":["import { AXTranslationService } from '@acorex/core/translation';\nimport { AXPExecuteCommandResult } from '@acorex/platform/core';\nimport { AXPEntityService } from '@acorex/platform/layout/entity';\nimport { AXPCommand } from '@acorex/platform/runtime';\nimport type { AXPWorkflowGraph } from '@acorex/platform/workflow';\nimport { inject, Injectable } from '@angular/core';\nimport { RootConfig } from '../../../const';\n\nexport const WORKFLOW_DEFINITION_ACTIVITIES_SAVE_COMMAND = 'WorkflowManagement.WorkflowDefinition:Activities:Save';\n\nexport interface SaveWorkflowDefinitionActivitiesInput {\n id: string;\n graph: AXPWorkflowGraph;\n /** When true, suppresses success toast (used by background auto-save). */\n silent?: boolean;\n __context__?: Record<string, unknown>;\n}\n\n/**\n * Persists the workflow definition graph edited from the Activities custom page.\n */\n@Injectable()\nexport class SaveWorkflowDefinitionActivitiesCommand\n implements AXPCommand<SaveWorkflowDefinitionActivitiesInput, unknown>\n{\n private readonly entityService = inject(AXPEntityService);\n private readonly translationService = inject(AXTranslationService);\n\n async execute(input: SaveWorkflowDefinitionActivitiesInput): Promise<AXPExecuteCommandResult<unknown>> {\n const { id, graph, silent } = input;\n\n if (!id) {\n return {\n success: false,\n message: {\n text: await this.translationService.translateAsync('@general:messages.entity.invalid-data'),\n },\n };\n }\n\n try {\n const entityRef = `${RootConfig.module.name}.${RootConfig.entities.workflowDefinition.name}`;\n const dataAccessor = this.entityService.withEntity(entityRef).data<any, any>();\n\n await dataAccessor.update(id, { graph });\n\n return {\n success: true,\n data: { id, graph },\n metadata: { refresh: false },\n ...(silent\n ? {}\n : {\n message: {\n text: await this.translationService.translateAsync('@general:messages.generic.success.description'),\n },\n }),\n };\n } catch (error: unknown) {\n const message =\n error instanceof Error\n ? error.message\n : await this.translationService.translateAsync('@general:messages.generic.error.description');\n\n return {\n success: false,\n message: { text: message },\n };\n }\n }\n}\n"],"names":[],"mappings":";;;;;;AAQO,MAAM,2CAA2C,GAAG;AAU3D;;AAEG;MAEU,uCAAuC,CAAA;AADpD,IAAA,WAAA,GAAA;AAImB,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,gBAAgB,CAAC;AACxC,QAAA,IAAA,CAAA,kBAAkB,GAAG,MAAM,CAAC,oBAAoB,CAAC;AA4CnE,IAAA;IA1CC,MAAM,OAAO,CAAC,KAA4C,EAAA;QACxD,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,KAAK;QAEnC,IAAI,CAAC,EAAE,EAAE;YACP,OAAO;AACL,gBAAA,OAAO,EAAE,KAAK;AACd,gBAAA,OAAO,EAAE;oBACP,IAAI,EAAE,MAAM,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,uCAAuC,CAAC;AAC5F,iBAAA;aACF;QACH;AAEA,QAAA,IAAI;AACF,YAAA,MAAM,SAAS,GAAG,CAAA,EAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAA,CAAA,EAAI,UAAU,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,EAAE;AAC5F,YAAA,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,IAAI,EAAY;YAE9E,MAAM,YAAY,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;YAExC,OAAO;AACL,gBAAA,OAAO,EAAE,IAAI;AACb,gBAAA,IAAI,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE;AACnB,gBAAA,QAAQ,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;AAC5B,gBAAA,IAAI;AACF,sBAAE;AACF,sBAAE;AACE,wBAAA,OAAO,EAAE;4BACP,IAAI,EAAE,MAAM,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,+CAA+C,CAAC;AACpG,yBAAA;qBACF,CAAC;aACP;QACH;QAAE,OAAO,KAAc,EAAE;AACvB,YAAA,MAAM,OAAO,GACX,KAAK,YAAY;kBACb,KAAK,CAAC;kBACN,MAAM,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,6CAA6C,CAAC;YAEjG,OAAO;AACL,gBAAA,OAAO,EAAE,KAAK;AACd,gBAAA,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;aAC3B;QACH;IACF;8GA/CW,uCAAuC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAAvC,uCAAuC,EAAA,CAAA,CAAA;;2FAAvC,uCAAuC,EAAA,UAAA,EAAA,CAAA;kBADnD;;;;;"}
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
//#region ---- Imports ----
|
|
2
|
+
//#endregion
|
|
3
|
+
//#region ---- Helpers (display only) ----
|
|
4
|
+
function formatReadableActivityName(value) {
|
|
5
|
+
return value
|
|
6
|
+
.replace(/^workflow-activity:/, '')
|
|
7
|
+
.replace(/([a-z])([A-Z])/g, '$1 $2')
|
|
8
|
+
.replace(/[-_]/g, ' ')
|
|
9
|
+
.split(' ')
|
|
10
|
+
.filter((token) => token.length > 0)
|
|
11
|
+
.map((token) => token.charAt(0).toUpperCase() + token.slice(1))
|
|
12
|
+
.join(' ');
|
|
13
|
+
}
|
|
14
|
+
function normalizeUserIds(value) {
|
|
15
|
+
if (value == null) {
|
|
16
|
+
return [];
|
|
17
|
+
}
|
|
18
|
+
if (Array.isArray(value)) {
|
|
19
|
+
return value.filter((v) => typeof v === 'string' && v.trim().length > 0);
|
|
20
|
+
}
|
|
21
|
+
if (typeof value === 'string' && value.trim().length > 0) {
|
|
22
|
+
return [value.trim()];
|
|
23
|
+
}
|
|
24
|
+
return [];
|
|
25
|
+
}
|
|
26
|
+
function formatHumanAssigneesFromPayload(payload) {
|
|
27
|
+
if (!payload) {
|
|
28
|
+
return '';
|
|
29
|
+
}
|
|
30
|
+
const assigned = normalizeUserIds(payload['assignedUserIds']);
|
|
31
|
+
const candidateUsers = normalizeUserIds(payload['candidateUserIds']);
|
|
32
|
+
const candidateRoles = normalizeUserIds(payload['candidateRoleIds']);
|
|
33
|
+
const labels = [
|
|
34
|
+
...assigned.map((id) => `User:${id}`),
|
|
35
|
+
...candidateUsers.map((id) => `Candidate:${id}`),
|
|
36
|
+
...candidateRoles.map((id) => `Role:${id}`),
|
|
37
|
+
];
|
|
38
|
+
const unique = [...new Set(labels)];
|
|
39
|
+
return unique.length > 0 ? unique.join(', ') : '';
|
|
40
|
+
}
|
|
41
|
+
function formatPerformedBy(label, id, empty) {
|
|
42
|
+
const ls = label != null && String(label).trim() !== '' ? String(label).trim() : '';
|
|
43
|
+
const idStr = id != null && String(id).trim() !== '' ? String(id).trim() : '';
|
|
44
|
+
if (ls && idStr) {
|
|
45
|
+
return `${ls} (${idStr})`;
|
|
46
|
+
}
|
|
47
|
+
if (ls) {
|
|
48
|
+
return ls;
|
|
49
|
+
}
|
|
50
|
+
if (idStr) {
|
|
51
|
+
return idStr;
|
|
52
|
+
}
|
|
53
|
+
return empty;
|
|
54
|
+
}
|
|
55
|
+
function resolveActivityTitle(graphActivity, nodeId) {
|
|
56
|
+
const rawTitle = graphActivity?.inputs?.['title'];
|
|
57
|
+
if (typeof rawTitle === 'string' && rawTitle.trim().length > 0) {
|
|
58
|
+
return rawTitle.trim();
|
|
59
|
+
}
|
|
60
|
+
if (graphActivity?.name) {
|
|
61
|
+
return formatReadableActivityName(graphActivity.name);
|
|
62
|
+
}
|
|
63
|
+
return formatReadableActivityName(nodeId);
|
|
64
|
+
}
|
|
65
|
+
function resolveOutputForViewer(props, nodeId, ctx) {
|
|
66
|
+
const key = `${nodeId}_activityOutput`;
|
|
67
|
+
if (key in props && props[key] !== undefined) {
|
|
68
|
+
return props[key];
|
|
69
|
+
}
|
|
70
|
+
if (ctx.activityState != null) {
|
|
71
|
+
return ctx.activityState;
|
|
72
|
+
}
|
|
73
|
+
const p = ctx.properties;
|
|
74
|
+
if (p && typeof p === 'object' && Object.keys(p).length > 0) {
|
|
75
|
+
return p;
|
|
76
|
+
}
|
|
77
|
+
return null;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Maps activity execution status to `status-chips.scss` modifier classes.
|
|
81
|
+
*/
|
|
82
|
+
function workflowActivityStatusChipModifier(status) {
|
|
83
|
+
const s = (status ?? '').trim().toLowerCase();
|
|
84
|
+
if (s === 'running' || s === 'pending' || s === 'executing') {
|
|
85
|
+
return 'primary';
|
|
86
|
+
}
|
|
87
|
+
if (s === 'completed' || s === 'succeeded' || s === 'success') {
|
|
88
|
+
return 'success';
|
|
89
|
+
}
|
|
90
|
+
if (s === 'canceled' || s === 'cancelled') {
|
|
91
|
+
return 'neutral';
|
|
92
|
+
}
|
|
93
|
+
if (s === 'faulted' || s === 'failed' || s === 'error') {
|
|
94
|
+
return 'danger';
|
|
95
|
+
}
|
|
96
|
+
if (s === 'suspended' || s === 'waiting') {
|
|
97
|
+
return 'warning';
|
|
98
|
+
}
|
|
99
|
+
return 'secondary';
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Normalizes a value for `ax-json-viewer` (expects a root object).
|
|
103
|
+
*/
|
|
104
|
+
function workflowActivityToViewerRoot(value) {
|
|
105
|
+
if (value === null || value === undefined) {
|
|
106
|
+
return {};
|
|
107
|
+
}
|
|
108
|
+
if (typeof value === 'object' && !Array.isArray(value)) {
|
|
109
|
+
return value;
|
|
110
|
+
}
|
|
111
|
+
return { value };
|
|
112
|
+
}
|
|
113
|
+
function buildWorkflowActivityInstanceRows(instance, definition, emptyAssigneesLabel, notAvailableLabel) {
|
|
114
|
+
if (!instance?.workflowState) {
|
|
115
|
+
return [];
|
|
116
|
+
}
|
|
117
|
+
const props = (instance.workflowState.properties ?? {});
|
|
118
|
+
const contexts = instance.workflowState.activityExecutionContexts ?? [];
|
|
119
|
+
const activities = definition?.graph?.activities ?? [];
|
|
120
|
+
const findActivity = (nodeId) => activities.find((a) => a.id === nodeId);
|
|
121
|
+
const extended = instance;
|
|
122
|
+
const bookmarks = extended.bookmarks ?? [];
|
|
123
|
+
const rows = contexts.map((ctx) => {
|
|
124
|
+
const nodeId = ctx.scheduledActivityNodeId;
|
|
125
|
+
const graphActivity = findActivity(nodeId);
|
|
126
|
+
const isHumanTask = graphActivity?.name === 'workflow-activity:human-task' || graphActivity?.name === 'workflow-activity:cartable';
|
|
127
|
+
const bookmark = bookmarks.find((b) => b.activityId === nodeId);
|
|
128
|
+
const payload = bookmark?.payload && typeof bookmark.payload === 'object' ? bookmark.payload : null;
|
|
129
|
+
let humanAssignees = isHumanTask ? formatHumanAssigneesFromPayload(payload) : '';
|
|
130
|
+
if (isHumanTask && !humanAssignees) {
|
|
131
|
+
humanAssignees = emptyAssigneesLabel;
|
|
132
|
+
}
|
|
133
|
+
const outKey = `${nodeId}_outcome`;
|
|
134
|
+
const outcomeRaw = props[outKey];
|
|
135
|
+
const outcomeDisplay = outcomeRaw !== undefined && outcomeRaw !== null && String(outcomeRaw).length > 0
|
|
136
|
+
? String(outcomeRaw)
|
|
137
|
+
: notAvailableLabel;
|
|
138
|
+
const inputForViewer = graphActivity?.inputs ?? null;
|
|
139
|
+
const outputForViewer = resolveOutputForViewer(props, nodeId, ctx);
|
|
140
|
+
const labelKey = `${nodeId}_completedByLabel`;
|
|
141
|
+
const idKey = `${nodeId}_completedByUserId`;
|
|
142
|
+
const performedByDisplay = formatPerformedBy(props[labelKey], props[idKey], notAvailableLabel);
|
|
143
|
+
return {
|
|
144
|
+
contextId: ctx.id,
|
|
145
|
+
nodeId,
|
|
146
|
+
activityTitle: resolveActivityTitle(graphActivity, nodeId),
|
|
147
|
+
activityTypeName: graphActivity?.name ?? notAvailableLabel,
|
|
148
|
+
isHumanTask,
|
|
149
|
+
status: String(ctx.status ?? ''),
|
|
150
|
+
startedAt: ctx.startedAt ?? '',
|
|
151
|
+
completedAt: ctx.completedAt ?? null,
|
|
152
|
+
outcomeDisplay,
|
|
153
|
+
inputForViewer,
|
|
154
|
+
outputForViewer,
|
|
155
|
+
humanAssigneesDisplay: isHumanTask ? humanAssignees : notAvailableLabel,
|
|
156
|
+
performedByDisplay,
|
|
157
|
+
};
|
|
158
|
+
});
|
|
159
|
+
rows.sort((a, b) => {
|
|
160
|
+
const ta = new Date(a.startedAt).getTime();
|
|
161
|
+
const tb = new Date(b.startedAt).getTime();
|
|
162
|
+
if (ta !== tb) {
|
|
163
|
+
return ta - tb;
|
|
164
|
+
}
|
|
165
|
+
return a.contextId.localeCompare(b.contextId);
|
|
166
|
+
});
|
|
167
|
+
return rows;
|
|
168
|
+
}
|
|
169
|
+
//#endregion
|
|
170
|
+
|
|
171
|
+
export { workflowActivityToViewerRoot as a, buildWorkflowActivityInstanceRows as b, formatReadableActivityName as f, workflowActivityStatusChipModifier as w };
|
|
172
|
+
//# sourceMappingURL=acorex-modules-workflow-management-workflow-activity-instance-rows.utils-L8W4ogSI.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acorex-modules-workflow-management-workflow-activity-instance-rows.utils-L8W4ogSI.mjs","sources":["../../../../libs/modules/workflow-management/src/lib/features/workflow-instance-activity-instances-page/workflow-activity-instance-rows.utils.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport {\n AXPActivityExecutionContextState,\n AXPWorkflowActivityInstance,\n AXPWorkflowDefinition,\n AXPWorkflowInstance,\n} from '@acorex/platform/workflow';\n\n//#endregion\n\n//#region ---- Types ----\n\n/** One row in a workflow activity timeline (engine state, definition graph, persisted audit keys). */\nexport interface AXMWorkflowActivityInstanceViewRow {\n contextId: string;\n nodeId: string;\n activityTitle: string;\n activityTypeName: string;\n isHumanTask: boolean;\n status: string;\n startedAt: string;\n completedAt: string | null;\n /** Connection port / outcome that was taken after this step (from workflow state variables). */\n outcomeDisplay: string;\n /** Input from graph definition — passed to `ax-json-viewer`. */\n inputForViewer: unknown;\n /** Captured output for this step — passed to `ax-json-viewer`. */\n outputForViewer: unknown;\n humanAssigneesDisplay: string;\n /** Who performed the step (from persisted `completedByLabel` / `completedByUserId` when available). */\n performedByDisplay: string;\n}\n\n//#endregion\n\n//#region ---- Helpers (display only) ----\n\nexport function formatReadableActivityName(value: string): string {\n return value\n .replace(/^workflow-activity:/, '')\n .replace(/([a-z])([A-Z])/g, '$1 $2')\n .replace(/[-_]/g, ' ')\n .split(' ')\n .filter((token) => token.length > 0)\n .map((token) => token.charAt(0).toUpperCase() + token.slice(1))\n .join(' ');\n}\n\nfunction normalizeUserIds(value: unknown): string[] {\n if (value == null) {\n return [];\n }\n if (Array.isArray(value)) {\n return value.filter((v): v is string => typeof v === 'string' && v.trim().length > 0);\n }\n if (typeof value === 'string' && value.trim().length > 0) {\n return [value.trim()];\n }\n return [];\n}\n\nfunction formatHumanAssigneesFromPayload(payload: Record<string, unknown> | null | undefined): string {\n if (!payload) {\n return '';\n }\n const assigned = normalizeUserIds(payload['assignedUserIds']);\n const candidateUsers = normalizeUserIds(payload['candidateUserIds']);\n const candidateRoles = normalizeUserIds(payload['candidateRoleIds']);\n const labels = [\n ...assigned.map((id) => `User:${id}`),\n ...candidateUsers.map((id) => `Candidate:${id}`),\n ...candidateRoles.map((id) => `Role:${id}`),\n ];\n const unique = [...new Set(labels)];\n return unique.length > 0 ? unique.join(', ') : '';\n}\n\nfunction formatPerformedBy(label: unknown, id: unknown, empty: string): string {\n const ls = label != null && String(label).trim() !== '' ? String(label).trim() : '';\n const idStr = id != null && String(id).trim() !== '' ? String(id).trim() : '';\n if (ls && idStr) {\n return `${ls} (${idStr})`;\n }\n if (ls) {\n return ls;\n }\n if (idStr) {\n return idStr;\n }\n return empty;\n}\n\nfunction resolveActivityTitle(graphActivity: AXPWorkflowActivityInstance | undefined, nodeId: string): string {\n const rawTitle = graphActivity?.inputs?.['title'];\n if (typeof rawTitle === 'string' && rawTitle.trim().length > 0) {\n return rawTitle.trim();\n }\n if (graphActivity?.name) {\n return formatReadableActivityName(graphActivity.name);\n }\n return formatReadableActivityName(nodeId);\n}\n\nfunction resolveOutputForViewer(\n props: Record<string, unknown>,\n nodeId: string,\n ctx: AXPActivityExecutionContextState,\n): unknown {\n const key = `${nodeId}_activityOutput`;\n if (key in props && props[key] !== undefined) {\n return props[key];\n }\n if (ctx.activityState != null) {\n return ctx.activityState;\n }\n const p = ctx.properties;\n if (p && typeof p === 'object' && Object.keys(p as object).length > 0) {\n return p;\n }\n return null;\n}\n\n/**\n * Maps activity execution status to `status-chips.scss` modifier classes.\n */\nexport function workflowActivityStatusChipModifier(\n status: string,\n): 'primary' | 'success' | 'warning' | 'danger' | 'neutral' | 'secondary' {\n const s = (status ?? '').trim().toLowerCase();\n if (s === 'running' || s === 'pending' || s === 'executing') {\n return 'primary';\n }\n if (s === 'completed' || s === 'succeeded' || s === 'success') {\n return 'success';\n }\n if (s === 'canceled' || s === 'cancelled') {\n return 'neutral';\n }\n if (s === 'faulted' || s === 'failed' || s === 'error') {\n return 'danger';\n }\n if (s === 'suspended' || s === 'waiting') {\n return 'warning';\n }\n return 'secondary';\n}\n\n/**\n * Normalizes a value for `ax-json-viewer` (expects a root object).\n */\nexport function workflowActivityToViewerRoot(value: unknown): Record<string, unknown> {\n if (value === null || value === undefined) {\n return {};\n }\n if (typeof value === 'object' && !Array.isArray(value)) {\n return value as Record<string, unknown>;\n }\n return { value };\n}\n\nexport function buildWorkflowActivityInstanceRows(\n instance: AXPWorkflowInstance | null | undefined,\n definition: AXPWorkflowDefinition | null | undefined,\n emptyAssigneesLabel: string,\n notAvailableLabel: string,\n): AXMWorkflowActivityInstanceViewRow[] {\n if (!instance?.workflowState) {\n return [];\n }\n const props = (instance.workflowState.properties ?? {}) as Record<string, unknown>;\n const contexts = instance.workflowState.activityExecutionContexts ?? [];\n const activities = definition?.graph?.activities ?? [];\n const findActivity = (nodeId: string) => activities.find((a) => a.id === nodeId);\n const extended = instance as AXPWorkflowInstance & {\n bookmarks?: Array<{\n activityId?: string;\n payload?: Record<string, unknown> | null;\n isConsumed?: boolean;\n consumed?: boolean;\n }>;\n };\n const bookmarks = extended.bookmarks ?? [];\n\n const rows: AXMWorkflowActivityInstanceViewRow[] = contexts.map((ctx: AXPActivityExecutionContextState) => {\n const nodeId = ctx.scheduledActivityNodeId;\n const graphActivity = findActivity(nodeId);\n const isHumanTask =\n graphActivity?.name === 'workflow-activity:human-task' || graphActivity?.name === 'workflow-activity:cartable';\n const bookmark = bookmarks.find((b) => b.activityId === nodeId);\n const payload = bookmark?.payload && typeof bookmark.payload === 'object' ? bookmark.payload : null;\n let humanAssignees = isHumanTask ? formatHumanAssigneesFromPayload(payload) : '';\n if (isHumanTask && !humanAssignees) {\n humanAssignees = emptyAssigneesLabel;\n }\n\n const outKey = `${nodeId}_outcome`;\n const outcomeRaw = props[outKey];\n const outcomeDisplay =\n outcomeRaw !== undefined && outcomeRaw !== null && String(outcomeRaw).length > 0\n ? String(outcomeRaw)\n : notAvailableLabel;\n\n const inputForViewer: unknown = graphActivity?.inputs ?? null;\n const outputForViewer = resolveOutputForViewer(props, nodeId, ctx);\n\n const labelKey = `${nodeId}_completedByLabel`;\n const idKey = `${nodeId}_completedByUserId`;\n const performedByDisplay = formatPerformedBy(props[labelKey], props[idKey], notAvailableLabel);\n\n return {\n contextId: ctx.id,\n nodeId,\n activityTitle: resolveActivityTitle(graphActivity, nodeId),\n activityTypeName: graphActivity?.name ?? notAvailableLabel,\n isHumanTask,\n status: String(ctx.status ?? ''),\n startedAt: ctx.startedAt ?? '',\n completedAt: ctx.completedAt ?? null,\n outcomeDisplay,\n inputForViewer,\n outputForViewer,\n humanAssigneesDisplay: isHumanTask ? humanAssignees : notAvailableLabel,\n performedByDisplay,\n };\n });\n\n rows.sort((a, b) => {\n const ta = new Date(a.startedAt).getTime();\n const tb = new Date(b.startedAt).getTime();\n if (ta !== tb) {\n return ta - tb;\n }\n return a.contextId.localeCompare(b.contextId);\n });\n\n return rows;\n}\n\n//#endregion\n"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import { AXPColumnWidgetComponent } from '@acorex/platform/layout/widget-core';
|
|
|
3
3
|
import { AXPEntityService } from '@acorex/platform/layout/entity';
|
|
4
4
|
import * as i0 from '@angular/core';
|
|
5
5
|
import { inject, signal, effect, ChangeDetectionStrategy, Component } from '@angular/core';
|
|
6
|
-
import { RootConfig } from './acorex-modules-workflow-management.mjs';
|
|
6
|
+
import { R as RootConfig } from './acorex-modules-workflow-management-acorex-modules-workflow-management-gXP-srRO.mjs';
|
|
7
7
|
|
|
8
8
|
//#region ---- Imports ----
|
|
9
9
|
//#endregion
|
|
@@ -76,4 +76,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
76
76
|
}], ctorParameters: () => [] });
|
|
77
77
|
|
|
78
78
|
export { AXMWorkflowConfiguratorWidgetColumnComponent };
|
|
79
|
-
//# sourceMappingURL=acorex-modules-workflow-management-workflow-configurator-widget-column.component-
|
|
79
|
+
//# sourceMappingURL=acorex-modules-workflow-management-workflow-configurator-widget-column.component-CPOQZxsq.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-modules-workflow-management-workflow-configurator-widget-column.component-
|
|
1
|
+
{"version":3,"file":"acorex-modules-workflow-management-workflow-configurator-widget-column.component-CPOQZxsq.mjs","sources":["../../../../libs/modules/workflow-management/src/lib/features/workflow-configurator/workflow-configurator-widget-column.component.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPColumnWidgetComponent } from '@acorex/platform/layout/widget-core';\nimport { AXPEntityService } from '@acorex/platform/layout/entity';\nimport { ChangeDetectionStrategy, Component, effect, inject, signal } from '@angular/core';\nimport type { AXMWorkflowManagementWorkflowDefinitionEntityModel } from '../../entities/workflow-definition/workflow-definition.types';\nimport { RootConfig } from '../../const';\nimport type { WorkflowConfiguratorValue } from './workflow-configurator.types';\n\n//#endregion\n\n//#region ---- Component ----\n\n@Component({\n selector: 'axm-workflow-configurator-widget-column',\n template: `\n @if (displayTitle()) {\n <i class=\"fa-light fa-diagram-project fa-fw\"></i> \n <span [title]=\"displayTitle()\" class=\"ax-text-xs ax-font-medium\">{{ displayTitle() }}</span>\n } @else if (workflowName()) {\n <span [title]=\"workflowName()\" class=\"ax-text-xs ax-font-medium\">{{ workflowName() }}</span>\n } @else {\n <span class=\"ax-text-muted\">---</span>\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [],\n inputs: ['rawValue', 'rowData'],\n})\nexport class AXMWorkflowConfiguratorWidgetColumnComponent extends AXPColumnWidgetComponent<WorkflowConfiguratorValue> {\n //#region ---- Services & Dependencies ----\n\n private readonly entityService = inject(AXPEntityService);\n private readonly translation = inject(AXTranslationService);\n\n //#endregion\n\n //#region ---- State Signals ----\n\n protected displayTitle = signal('');\n\n protected workflowName = signal('');\n\n //#endregion\n\n //#region ---- Effects ----\n\n constructor() {\n super();\n effect(() => {\n const config = this.rawValue as WorkflowConfiguratorValue | undefined;\n const name = config?.workflowName?.trim() ?? '';\n this.workflowName.set(name);\n\n const definitionId = config?.workflowDefinitionId?.trim() ?? '';\n if (!definitionId) {\n this.displayTitle.set(name);\n return;\n }\n\n void this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.workflowDefinition.name)\n .data()\n .byKey(definitionId)\n .then((row) => {\n const entity = row as AXMWorkflowManagementWorkflowDefinitionEntityModel;\n const title = this.translation.resolve(entity.title).trim();\n this.displayTitle.set(title || name);\n })\n .catch(() => {\n this.displayTitle.set(name);\n });\n });\n }\n\n //#endregion\n}\n\n//#endregion\n"],"names":[],"mappings":";;;;;;;AAAA;AAUA;AAEA;AAkBM,MAAO,4CAA6C,SAAQ,wBAAmD,CAAA;;;AAkBnH,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,EAAE;;AAhBQ,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,gBAAgB,CAAC;AACxC,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,oBAAoB,CAAC;;;AAMjD,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,EAAE,mFAAC;AAEzB,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,EAAE,mFAAC;QAQjC,MAAM,CAAC,MAAK;AACV,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,QAAiD;YACrE,MAAM,IAAI,GAAG,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE;AAC/C,YAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC;YAE3B,MAAM,YAAY,GAAG,MAAM,EAAE,oBAAoB,EAAE,IAAI,EAAE,IAAI,EAAE;YAC/D,IAAI,CAAC,YAAY,EAAE;AACjB,gBAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC;gBAC3B;YACF;YAEA,KAAK,IAAI,CAAC;AACP,iBAAA,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI;AAC9E,iBAAA,IAAI;iBACJ,KAAK,CAAC,YAAY;AAClB,iBAAA,IAAI,CAAC,CAAC,GAAG,KAAI;gBACZ,MAAM,MAAM,GAAG,GAAyD;AACxE,gBAAA,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE;gBAC3D,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC;AACtC,YAAA,CAAC;iBACA,KAAK,CAAC,MAAK;AACV,gBAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC;AAC7B,YAAA,CAAC,CAAC;AACN,QAAA,CAAC,CAAC;IACJ;8GA5CW,4CAA4C,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA5C,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,4CAA4C,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,yCAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAd7C;;;;;;;;;AAST,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAKU,4CAA4C,EAAA,UAAA,EAAA,CAAA;kBAhBxD,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,yCAAyC;AACnD,oBAAA,QAAQ,EAAE;;;;;;;;;AAST,EAAA,CAAA;oBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,OAAO,EAAE,EAAE;AACX,oBAAA,MAAM,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC;AAChC,iBAAA;;;;;"}
|
|
@@ -5,7 +5,7 @@ import { isString, castArray, get, isEqual } from 'lodash-es';
|
|
|
5
5
|
import { AXTranslationService } from '@acorex/core/translation';
|
|
6
6
|
import { AXPItemConfiguratorComponent } from '@acorex/platform/layout/components';
|
|
7
7
|
import { AXPEntityService } from '@acorex/platform/layout/entity';
|
|
8
|
-
import { RootConfig } from './acorex-modules-workflow-management.mjs';
|
|
8
|
+
import { R as RootConfig } from './acorex-modules-workflow-management-acorex-modules-workflow-management-gXP-srRO.mjs';
|
|
9
9
|
import { AXPSystemStatusType } from '@acorex/platform/common';
|
|
10
10
|
|
|
11
11
|
//#region ---- Imports ----
|
|
@@ -463,4 +463,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
463
463
|
}], propDecorators: { valueModel: [{ type: i0.Input, args: [{ isSignal: true, alias: "valueModel", required: false }] }, { type: i0.Output, args: ["valueModelChange"] }] } });
|
|
464
464
|
|
|
465
465
|
export { AXMWorkflowConfiguratorWidgetEditComponent };
|
|
466
|
-
//# sourceMappingURL=acorex-modules-workflow-management-workflow-configurator-widget-edit.component-
|
|
466
|
+
//# sourceMappingURL=acorex-modules-workflow-management-workflow-configurator-widget-edit.component-CqF3z8Xq.mjs.map
|