@acorex/modules 20.2.2 → 20.2.4-next.0
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/common/index.d.ts +16 -8
- package/content-management/index.d.ts +48 -3
- package/document-management/index.d.ts +27 -24
- package/fesm2022/{acorex-modules-auth-acorex-modules-auth-CdZ9BHOa.mjs → acorex-modules-auth-acorex-modules-auth-C8p1VeqM.mjs} +10 -10
- package/fesm2022/{acorex-modules-auth-acorex-modules-auth-CdZ9BHOa.mjs.map → acorex-modules-auth-acorex-modules-auth-C8p1VeqM.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-app-chooser.component-D4ehfpnB.mjs → acorex-modules-auth-app-chooser.component-CDKLbD_u.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-app-chooser.component-D4ehfpnB.mjs.map → acorex-modules-auth-app-chooser.component-CDKLbD_u.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-login.module-BHRC357P.mjs → acorex-modules-auth-login.module-DGPRxnXo.mjs} +4 -4
- package/fesm2022/{acorex-modules-auth-login.module-BHRC357P.mjs.map → acorex-modules-auth-login.module-DGPRxnXo.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-master.layout-DAYMmpBW.mjs → acorex-modules-auth-master.layout-BNFGuQQs.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-master.layout-DAYMmpBW.mjs.map → acorex-modules-auth-master.layout-BNFGuQQs.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-oauth-callback.component-B0Q3w45s.mjs → acorex-modules-auth-oauth-callback.component-B3sSFdOA.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-oauth-callback.component-B0Q3w45s.mjs.map → acorex-modules-auth-oauth-callback.component-B3sSFdOA.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-password.component-BJpxtJYh.mjs → acorex-modules-auth-password.component-Dyox9sR4.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-password.component-BJpxtJYh.mjs.map → acorex-modules-auth-password.component-Dyox9sR4.mjs.map} +1 -1
- package/fesm2022/acorex-modules-auth-password.component-ln2kDKPR.mjs +226 -0
- package/fesm2022/acorex-modules-auth-password.component-ln2kDKPR.mjs.map +1 -0
- package/fesm2022/{acorex-modules-auth-routes-hvqL2dCH.mjs → acorex-modules-auth-routes-7vr8T08D.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-routes-hvqL2dCH.mjs.map → acorex-modules-auth-routes-7vr8T08D.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-two-factor.module-kPuT8yUw.mjs → acorex-modules-auth-two-factor.module-D6XCUP_A.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-two-factor.module-kPuT8yUw.mjs.map → acorex-modules-auth-two-factor.module-D6XCUP_A.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-user-sessions.component-Chx_jTSJ.mjs → acorex-modules-auth-user-sessions.component-B5aBDmdR.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-user-sessions.component-Chx_jTSJ.mjs.map → acorex-modules-auth-user-sessions.component-B5aBDmdR.mjs.map} +1 -1
- package/fesm2022/acorex-modules-auth.mjs +1 -1
- package/fesm2022/acorex-modules-calendar-management.mjs +1 -1
- package/fesm2022/acorex-modules-calendar-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-common.mjs +503 -235
- package/fesm2022/acorex-modules-common.mjs.map +1 -1
- package/fesm2022/acorex-modules-content-management.mjs +378 -457
- package/fesm2022/acorex-modules-content-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-conversation.mjs +119 -4
- package/fesm2022/acorex-modules-conversation.mjs.map +1 -1
- package/fesm2022/acorex-modules-dashboard-management.mjs +9 -9
- package/fesm2022/acorex-modules-dashboard-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-data-management.mjs +0 -1
- package/fesm2022/acorex-modules-data-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-document-management-acorex-modules-document-management-C4G6L94e.mjs → acorex-modules-document-management-acorex-modules-document-management-D9oPjJnn.mjs} +875 -142
- package/fesm2022/acorex-modules-document-management-acorex-modules-document-management-D9oPjJnn.mjs.map +1 -0
- package/fesm2022/{acorex-modules-document-management-attachment-widget.component-CbDcYxEZ.mjs → acorex-modules-document-management-attachment-widget.component-CcWvTWv0.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-attachment-widget.component-CbDcYxEZ.mjs.map → acorex-modules-document-management-attachment-widget.component-CcWvTWv0.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-create-folder-dialog.component-BCs4aZKn.mjs → acorex-modules-document-management-create-folder-dialog.component-DPFIPNE_.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-create-folder-dialog.component-BCs4aZKn.mjs.map → acorex-modules-document-management-create-folder-dialog.component-DPFIPNE_.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-details-view.component-v1VroVv-.mjs → acorex-modules-document-management-details-view.component-BKNvUhdl.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-details-view.component-v1VroVv-.mjs.map → acorex-modules-document-management-details-view.component-BKNvUhdl.mjs.map} +1 -1
- package/fesm2022/acorex-modules-document-management-document-send-to-review-popup.component-CtpLvPIr.mjs +116 -0
- package/fesm2022/acorex-modules-document-management-document-send-to-review-popup.component-CtpLvPIr.mjs.map +1 -0
- package/fesm2022/{acorex-modules-document-management-drive-choose.component-C5gJtH7_.mjs → acorex-modules-document-management-drive-choose.component-BOPjvKlN.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-drive-choose.component-C5gJtH7_.mjs.map → acorex-modules-document-management-drive-choose.component-BOPjvKlN.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-drive.component-D5OwpnAP.mjs → acorex-modules-document-management-drive.component-DutBXTtm.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-drive.component-D5OwpnAP.mjs.map → acorex-modules-document-management-drive.component-DutBXTtm.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-large-icons-view.component-DkHt-dTD.mjs → acorex-modules-document-management-large-icons-view.component-DX2_xsbq.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-large-icons-view.component-DkHt-dTD.mjs.map → acorex-modules-document-management-large-icons-view.component-DX2_xsbq.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-D2nA00k3.mjs → acorex-modules-document-management-large-tiles-view.component-CshjCgG5.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-D2nA00k3.mjs.map → acorex-modules-document-management-large-tiles-view.component-CshjCgG5.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-list-view.component-RaW67V7O.mjs → acorex-modules-document-management-list-view.component-DdLTVccZ.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-list-view.component-RaW67V7O.mjs.map → acorex-modules-document-management-list-view.component-DdLTVccZ.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-meta-choose-popup.component-BZu8EbTh.mjs → acorex-modules-document-management-meta-choose-popup.component-BomZu2bT.mjs} +2 -2
- package/fesm2022/acorex-modules-document-management-meta-choose-popup.component-BomZu2bT.mjs.map +1 -0
- package/fesm2022/{acorex-modules-document-management-permission-definition.provider-B6nu7fmX.mjs → acorex-modules-document-management-permission-definition.provider-_AXz3sdF.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-permission-definition.provider-B6nu7fmX.mjs.map → acorex-modules-document-management-permission-definition.provider-_AXz3sdF.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-rename-node-dialog.component--6V1Zaoz.mjs → acorex-modules-document-management-rename-node-dialog.component-DZRAXwFy.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-rename-node-dialog.component--6V1Zaoz.mjs.map → acorex-modules-document-management-rename-node-dialog.component-DZRAXwFy.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-small-icons-view.component-Cl1MKsX9.mjs → acorex-modules-document-management-small-icons-view.component-DG3AbQJO.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-small-icons-view.component-Cl1MKsX9.mjs.map → acorex-modules-document-management-small-icons-view.component-DG3AbQJO.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-xoO1Loxt.mjs → acorex-modules-document-management-small-tiles-view.component-Cx9jczo-.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-xoO1Loxt.mjs.map → acorex-modules-document-management-small-tiles-view.component-Cx9jczo-.mjs.map} +1 -1
- package/fesm2022/acorex-modules-document-management.mjs +1 -1
- package/fesm2022/{acorex-modules-form-template-management-acorex-modules-form-template-management-CeQnu6WW.mjs → acorex-modules-form-template-management-acorex-modules-form-template-management-CLSHVjDE.mjs} +34 -12
- package/fesm2022/acorex-modules-form-template-management-acorex-modules-form-template-management-CLSHVjDE.mjs.map +1 -0
- package/fesm2022/{acorex-modules-form-template-management-category.entity-DmrE2Pfz.mjs → acorex-modules-form-template-management-category.entity-BBjVWSJ_.mjs} +2 -2
- package/fesm2022/{acorex-modules-form-template-management-category.entity-DmrE2Pfz.mjs.map → acorex-modules-form-template-management-category.entity-BBjVWSJ_.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-form-template-management-permission-definition.provider-CfOa446m.mjs → acorex-modules-form-template-management-permission-definition.provider-I8BY9RVh.mjs} +2 -2
- package/fesm2022/{acorex-modules-form-template-management-permission-definition.provider-CfOa446m.mjs.map → acorex-modules-form-template-management-permission-definition.provider-I8BY9RVh.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-form-template-management-settings.provider-hLlHnm-I.mjs → acorex-modules-form-template-management-settings.provider-B8ip0Ou_.mjs} +2 -2
- package/fesm2022/{acorex-modules-form-template-management-settings.provider-hLlHnm-I.mjs.map → acorex-modules-form-template-management-settings.provider-B8ip0Ou_.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-form-template-management-template-picker.component-bxYZqmYR.mjs → acorex-modules-form-template-management-template-picker.component-BNM3RyDv.mjs} +2 -3
- package/fesm2022/acorex-modules-form-template-management-template-picker.component-BNM3RyDv.mjs.map +1 -0
- package/fesm2022/{acorex-modules-form-template-management-template-widget-edit.component-D_Ys5kRT.mjs → acorex-modules-form-template-management-template-widget-edit.component-DFfvdZqJ.mjs} +2 -2
- package/fesm2022/{acorex-modules-form-template-management-template-widget-edit.component-D_Ys5kRT.mjs.map → acorex-modules-form-template-management-template-widget-edit.component-DFfvdZqJ.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-form-template-management-template.entity-CvlwS8TY.mjs → acorex-modules-form-template-management-template.entity-BCpgfVMz.mjs} +10 -14
- package/fesm2022/acorex-modules-form-template-management-template.entity-BCpgfVMz.mjs.map +1 -0
- package/fesm2022/{acorex-modules-form-template-management-viewer-popup.component-CE13nuke.mjs → acorex-modules-form-template-management-viewer-popup.component-DDfjwbrL.mjs} +2 -2
- package/fesm2022/{acorex-modules-form-template-management-viewer-popup.component-CE13nuke.mjs.map → acorex-modules-form-template-management-viewer-popup.component-DDfjwbrL.mjs.map} +1 -1
- package/fesm2022/acorex-modules-form-template-management.mjs +1 -1
- package/fesm2022/{acorex-modules-issue-management-acorex-modules-issue-management-CTFlKzqy.mjs → acorex-modules-help-desk-acorex-modules-help-desk-CAibWOZT.mjs} +77 -36
- package/fesm2022/acorex-modules-help-desk-acorex-modules-help-desk-CAibWOZT.mjs.map +1 -0
- package/fesm2022/acorex-modules-help-desk-capture-screen.component-BSBozesT.mjs +28 -0
- package/fesm2022/acorex-modules-help-desk-capture-screen.component-BSBozesT.mjs.map +1 -0
- package/fesm2022/acorex-modules-help-desk.mjs +2 -0
- package/fesm2022/acorex-modules-help-desk.mjs.map +1 -0
- package/fesm2022/acorex-modules-identifier-management.mjs +81 -39
- package/fesm2022/acorex-modules-identifier-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-location-management.mjs +4 -3
- package/fesm2022/acorex-modules-location-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-log-management.mjs +0 -1
- package/fesm2022/acorex-modules-log-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-meeting-management-meeting-publish-popup.component-PcBFprq3.mjs +121 -0
- package/fesm2022/acorex-modules-meeting-management-meeting-publish-popup.component-PcBFprq3.mjs.map +1 -0
- package/fesm2022/acorex-modules-meeting-management.mjs +2899 -0
- package/fesm2022/acorex-modules-meeting-management.mjs.map +1 -0
- package/fesm2022/acorex-modules-notification-management-notification-page.component-TLxLpxzE.mjs +544 -0
- package/fesm2022/acorex-modules-notification-management-notification-page.component-TLxLpxzE.mjs.map +1 -0
- package/fesm2022/acorex-modules-notification-management.mjs +145 -126
- package/fesm2022/acorex-modules-notification-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-organization-management-employee.entity-CSY_U9Bl.mjs → acorex-modules-organization-management-employee.entity-CRc2YjNR.mjs} +114 -68
- package/fesm2022/acorex-modules-organization-management-employee.entity-CRc2YjNR.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management.mjs +22 -1
- package/fesm2022/acorex-modules-organization-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-party-management-acorex-modules-party-management-B8X8tXFw.mjs → acorex-modules-party-management-acorex-modules-party-management-BUc-9XOG.mjs} +6 -6
- package/fesm2022/{acorex-modules-party-management-acorex-modules-party-management-B8X8tXFw.mjs.map → acorex-modules-party-management-acorex-modules-party-management-BUc-9XOG.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-party-management-party-identifier-type.entity-b8aNBCpT.mjs → acorex-modules-party-management-party-identifier-type.entity-Bgq-y9TN.mjs} +2 -2
- package/fesm2022/{acorex-modules-party-management-party-identifier-type.entity-b8aNBCpT.mjs.map → acorex-modules-party-management-party-identifier-type.entity-Bgq-y9TN.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-party-management-party-identifier.entity-B_5MSDF1.mjs → acorex-modules-party-management-party-identifier.entity-CP47qbc-.mjs} +12 -10
- package/fesm2022/acorex-modules-party-management-party-identifier.entity-CP47qbc-.mjs.map +1 -0
- package/fesm2022/{acorex-modules-party-management-party-relationship.entity-CLAAuCde.mjs → acorex-modules-party-management-party-relationship.entity-pGea5plN.mjs} +2 -2
- package/fesm2022/{acorex-modules-party-management-party-relationship.entity-CLAAuCde.mjs.map → acorex-modules-party-management-party-relationship.entity-pGea5plN.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-party-management-party-role.entity-C5BeakjX.mjs → acorex-modules-party-management-party-role.entity-CDt7Rxu7.mjs} +7 -7
- package/fesm2022/acorex-modules-party-management-party-role.entity-CDt7Rxu7.mjs.map +1 -0
- package/fesm2022/{acorex-modules-party-management-party.entity-Blwg8o3o.mjs → acorex-modules-party-management-party.entity-DAvqOPic.mjs} +4 -4
- package/fesm2022/acorex-modules-party-management-party.entity-DAvqOPic.mjs.map +1 -0
- package/fesm2022/acorex-modules-party-management.mjs +1 -1
- package/fesm2022/{acorex-modules-platform-management-list-version.component-DTfLeVbH.mjs → acorex-modules-platform-management-list-version.component-kFe_wuWc.mjs} +3 -3
- package/fesm2022/{acorex-modules-platform-management-list-version.component-DTfLeVbH.mjs.map → acorex-modules-platform-management-list-version.component-kFe_wuWc.mjs.map} +1 -1
- package/fesm2022/acorex-modules-platform-management.mjs +12 -232
- package/fesm2022/acorex-modules-platform-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-project-management.mjs +98 -97
- package/fesm2022/acorex-modules-project-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-report-management-report-create-root.component-CPR6H1R1.mjs → acorex-modules-report-management-report-create-root.component-L-7aG8op.mjs} +2 -2
- package/fesm2022/acorex-modules-report-management-report-create-root.component-L-7aG8op.mjs.map +1 -0
- package/fesm2022/acorex-modules-report-management.mjs +1 -1
- package/fesm2022/acorex-modules-security-management.mjs +5 -5
- package/fesm2022/acorex-modules-security-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-settings-management-setting-page.component-BWXHxXwS.mjs → acorex-modules-settings-management-setting-page.component-D-NKWNvS.mjs} +11 -1
- package/fesm2022/acorex-modules-settings-management-setting-page.component-D-NKWNvS.mjs.map +1 -0
- package/fesm2022/acorex-modules-settings-management.mjs +1 -1
- package/fesm2022/{acorex-modules-workflow-management-task-board.page-2UTqXn3s.mjs → acorex-modules-task-management-task-board.page-DbpqZaC7.mjs} +16 -11
- package/fesm2022/acorex-modules-task-management-task-board.page-DbpqZaC7.mjs.map +1 -0
- package/fesm2022/acorex-modules-task-management.mjs +3026 -2821
- package/fesm2022/acorex-modules-task-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-workflow-management.mjs +39 -1
- package/fesm2022/acorex-modules-workflow-management.mjs.map +1 -1
- package/form-template-management/index.d.ts +3 -0
- package/help-desk/README.md +3 -0
- package/{issue-management → help-desk}/index.d.ts +12 -12
- package/identifier-management/index.d.ts +15 -16
- package/meeting-management/README.md +29 -0
- package/meeting-management/index.d.ts +248 -0
- package/notification-management/index.d.ts +6 -4
- package/package.json +24 -20
- package/platform-management/index.d.ts +1 -12
- package/task-management/index.d.ts +34 -2
- package/workflow-management/index.d.ts +4 -33
- package/fesm2022/acorex-modules-auth-password.component-NAY46d_2.mjs +0 -226
- package/fesm2022/acorex-modules-auth-password.component-NAY46d_2.mjs.map +0 -1
- package/fesm2022/acorex-modules-document-management-acorex-modules-document-management-C4G6L94e.mjs.map +0 -1
- package/fesm2022/acorex-modules-document-management-meta-choose-popup.component-BZu8EbTh.mjs.map +0 -1
- package/fesm2022/acorex-modules-form-template-management-acorex-modules-form-template-management-CeQnu6WW.mjs.map +0 -1
- package/fesm2022/acorex-modules-form-template-management-template-picker.component-bxYZqmYR.mjs.map +0 -1
- package/fesm2022/acorex-modules-form-template-management-template.entity-CvlwS8TY.mjs.map +0 -1
- package/fesm2022/acorex-modules-issue-management-acorex-modules-issue-management-CTFlKzqy.mjs.map +0 -1
- package/fesm2022/acorex-modules-issue-management-capture-screen.component-DDvum8EG.mjs +0 -28
- package/fesm2022/acorex-modules-issue-management-capture-screen.component-DDvum8EG.mjs.map +0 -1
- package/fesm2022/acorex-modules-issue-management.mjs +0 -2
- package/fesm2022/acorex-modules-issue-management.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-employee.entity-CSY_U9Bl.mjs.map +0 -1
- package/fesm2022/acorex-modules-party-management-party-identifier.entity-B_5MSDF1.mjs.map +0 -1
- package/fesm2022/acorex-modules-party-management-party-role.entity-C5BeakjX.mjs.map +0 -1
- package/fesm2022/acorex-modules-party-management-party.entity-Blwg8o3o.mjs.map +0 -1
- package/fesm2022/acorex-modules-platform-management-list-terms.component-B1gl5xfT.mjs +0 -93
- package/fesm2022/acorex-modules-platform-management-list-terms.component-B1gl5xfT.mjs.map +0 -1
- package/fesm2022/acorex-modules-report-management-report-create-root.component-CPR6H1R1.mjs.map +0 -1
- package/fesm2022/acorex-modules-settings-management-setting-page.component-BWXHxXwS.mjs.map +0 -1
- package/fesm2022/acorex-modules-workflow-management-acorex-modules-workflow-management-BfE17ZXY.mjs +0 -244
- package/fesm2022/acorex-modules-workflow-management-acorex-modules-workflow-management-BfE17ZXY.mjs.map +0 -1
- package/fesm2022/acorex-modules-workflow-management-task-board.page-2UTqXn3s.mjs.map +0 -1
- package/issue-management/README.md +0 -3
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AXPSessionService, AXPAuthGuard, AXP_PERMISSION_DEFINITION_PROVIDER } from '@acorex/platform/auth';
|
|
2
|
-
import { AXPSearchCommandProvider, createAllQueryView, AXPEntityCommandScope, AXPEntityQueryType, AXPFileTypeProviderService, AXP_FILE_TYPE_INFO_PROVIDER, AXPFileStorageService, AXPSettingService, AXPLockService, AXP_MENU_PROVIDER, AXP_SETTING_DEFINITION_PROVIDER, AXP_SEARCH_PROVIDER } from '@acorex/platform/common';
|
|
3
|
-
import { AXPEntityService, AXMEntityCrudServiceImpl, AXP_ENTITY_CONFIG_TOKEN, AXP_ENTITY_DEFINITION_LOADER } from '@acorex/platform/layout/entity';
|
|
2
|
+
import { AXPSearchCommandProvider, createAllQueryView, createQueryView, AXPEntityCommandScope, AXPEntityQueryType, AXPFileTypeProviderService, AXP_FILE_TYPE_INFO_PROVIDER, AXPFileStorageService, AXPSettingService, AXPLockService, AXP_MENU_PROVIDER, AXP_SETTING_DEFINITION_PROVIDER, AXP_SEARCH_PROVIDER } from '@acorex/platform/common';
|
|
3
|
+
import { AXPEntityService, AXMEntityCrudServiceImpl, AXPEntityDefinitionRegistryService, ensureListActions, actionExists, AXP_ENTITY_CONFIG_TOKEN, AXP_ENTITY_DEFINITION_LOADER, AXP_ENTITY_STORAGE_MIDDLEWARE, AXP_ENTITY_ACTION_PLUGIN } from '@acorex/platform/layout/entity';
|
|
4
4
|
import * as i0 from '@angular/core';
|
|
5
5
|
import { inject, Injector, Injectable, NgModule, ChangeDetectionStrategy, Component, signal, viewChild, afterNextRender, computed, input, effect, ViewEncapsulation, output, HostBinding } from '@angular/core';
|
|
6
6
|
import { firstValueFrom } from 'rxjs';
|
|
@@ -26,10 +26,9 @@ import { AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY, AXP_LABEL_PROPERTY, AXP_READ
|
|
|
26
26
|
import * as i3$2 from '@acorex/components/media-viewer';
|
|
27
27
|
import { AXMediaViewerContainerComponent, AXMediaViewerModule } from '@acorex/components/media-viewer';
|
|
28
28
|
import * as i3$4 from '@acorex/platform/workflow';
|
|
29
|
-
import { AXPWorkflowAction, AXPWorkflowService, AXPWorkflowModule } from '@acorex/platform/workflow';
|
|
29
|
+
import { AXPWorkflowAction, AXPWorkflowService, AXPWorkflowTaskProvider, AXPWorkflowModule, AXP_WORKFLOW_TASK_PROVIDER } from '@acorex/platform/workflow';
|
|
30
30
|
import { AXPopupService } from '@acorex/components/popup';
|
|
31
31
|
import { AXUploaderService } from '@acorex/components/uploader';
|
|
32
|
-
import { AXDialogService } from '@acorex/components/dialog';
|
|
33
32
|
import * as i3$1 from '@acorex/core/translation';
|
|
34
33
|
import { AXTranslationService, AXTranslationModule } from '@acorex/core/translation';
|
|
35
34
|
import * as i1$5 from '@acorex/platform/layout/components';
|
|
@@ -40,7 +39,8 @@ import * as i1$3 from '@acorex/components/button';
|
|
|
40
39
|
import { AXButtonModule } from '@acorex/components/button';
|
|
41
40
|
import { AXTextBoxModule } from '@acorex/components/text-box';
|
|
42
41
|
import { AXCheckBoxModule } from '@acorex/components/check-box';
|
|
43
|
-
import { AXPPlatformScope } from '@acorex/platform/core';
|
|
42
|
+
import { AXPPlatformScope, AXPDistributedEventListenerService } from '@acorex/platform/core';
|
|
43
|
+
import { AXDialogService } from '@acorex/components/dialog';
|
|
44
44
|
import { AXFileService } from '@acorex/core/file';
|
|
45
45
|
import { castArray, set as set$1, get as get$1, cloneDeep } from 'lodash-es';
|
|
46
46
|
import { AXBasePageComponent } from '@acorex/components/page';
|
|
@@ -247,6 +247,7 @@ class AXMMenuProvider {
|
|
|
247
247
|
data: {
|
|
248
248
|
// requiredPermission: [AXMPermissionsKeys.DocumentManagement.Review.Management]
|
|
249
249
|
},
|
|
250
|
+
badgeKey: 'review-badge',
|
|
250
251
|
priority: 4,
|
|
251
252
|
},
|
|
252
253
|
{
|
|
@@ -358,21 +359,21 @@ async function documentFactory(injector) {
|
|
|
358
359
|
// hidden: '{{context.eval("toggle")}}',
|
|
359
360
|
actions: [],
|
|
360
361
|
},
|
|
361
|
-
{
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
},
|
|
362
|
+
// {
|
|
363
|
+
// entity: `${RootConfig.module.name}.${RootConfig.entities.distribution.name}`,
|
|
364
|
+
// columns: ['version'],
|
|
365
|
+
// conditions: [
|
|
366
|
+
// {
|
|
367
|
+
// name: 'documentId',
|
|
368
|
+
// operator: {
|
|
369
|
+
// type: 'equal',
|
|
370
|
+
// },
|
|
371
|
+
// value: '{{context.eval("id")}}',
|
|
372
|
+
// },
|
|
373
|
+
// ],
|
|
374
|
+
// // hidden: '{{context.eval("toggle")}}',
|
|
375
|
+
// actions: [],
|
|
376
|
+
// },
|
|
376
377
|
],
|
|
377
378
|
groups: [
|
|
378
379
|
{
|
|
@@ -434,7 +435,7 @@ async function documentFactory(injector) {
|
|
|
434
435
|
},
|
|
435
436
|
{
|
|
436
437
|
name: 'metaData',
|
|
437
|
-
title:
|
|
438
|
+
title: `t("metaData", { scope: "${i18n}" })`,
|
|
438
439
|
groupId: 'section',
|
|
439
440
|
schema: {
|
|
440
441
|
dataType: 'string',
|
|
@@ -453,10 +454,11 @@ async function documentFactory(injector) {
|
|
|
453
454
|
],
|
|
454
455
|
},
|
|
455
456
|
{
|
|
456
|
-
name: '
|
|
457
|
+
name: 'fileData',
|
|
457
458
|
title: `t("file", { scope: "${i18n}" })`,
|
|
458
459
|
groupId: 'section',
|
|
459
460
|
schema: {
|
|
461
|
+
// defaultValue: "{{ uploader.convert(context.eval('file'), context.eval('name'), context.eval('size')) }}",
|
|
460
462
|
dataType: 'string',
|
|
461
463
|
readonly: true,
|
|
462
464
|
interface: {
|
|
@@ -487,6 +489,18 @@ async function documentFactory(injector) {
|
|
|
487
489
|
},
|
|
488
490
|
},
|
|
489
491
|
},
|
|
492
|
+
{
|
|
493
|
+
name: 'size',
|
|
494
|
+
title: `t("size", { scope: "${i18n}" })`,
|
|
495
|
+
schema: {
|
|
496
|
+
dataType: 'number',
|
|
497
|
+
readonly: true,
|
|
498
|
+
interface: {
|
|
499
|
+
type: AXPWidgetsCatalog.number,
|
|
500
|
+
options: {},
|
|
501
|
+
},
|
|
502
|
+
},
|
|
503
|
+
},
|
|
490
504
|
{
|
|
491
505
|
name: 'status',
|
|
492
506
|
title: `t("status", { scope: "${i18n}" })`,
|
|
@@ -499,6 +513,9 @@ async function documentFactory(injector) {
|
|
|
499
513
|
inline: {
|
|
500
514
|
enabled: true,
|
|
501
515
|
},
|
|
516
|
+
advance: {
|
|
517
|
+
enabled: true,
|
|
518
|
+
},
|
|
502
519
|
},
|
|
503
520
|
},
|
|
504
521
|
schema: {
|
|
@@ -512,8 +529,91 @@ async function documentFactory(injector) {
|
|
|
512
529
|
},
|
|
513
530
|
},
|
|
514
531
|
},
|
|
532
|
+
{
|
|
533
|
+
name: 'documentReview',
|
|
534
|
+
title: `t("documentReview", { scope: "${i18n}" })`,
|
|
535
|
+
schema: {
|
|
536
|
+
dataType: 'string',
|
|
537
|
+
readonly: true,
|
|
538
|
+
interface: {
|
|
539
|
+
type: AXPWidgetsCatalog.text,
|
|
540
|
+
options: {
|
|
541
|
+
content: `{{ context.eval('documentReview') }}`,
|
|
542
|
+
},
|
|
543
|
+
},
|
|
544
|
+
},
|
|
545
|
+
},
|
|
546
|
+
{
|
|
547
|
+
name: 'documentReviewReviewer',
|
|
548
|
+
title: `t("documentReview", { scope: "${i18n}" })`,
|
|
549
|
+
schema: {
|
|
550
|
+
dataType: 'string',
|
|
551
|
+
readonly: true,
|
|
552
|
+
interface: {
|
|
553
|
+
type: AXPWidgetsCatalog.text,
|
|
554
|
+
options: {
|
|
555
|
+
content: `{{ context.eval('documentReviewReviewer') }}`,
|
|
556
|
+
},
|
|
557
|
+
},
|
|
558
|
+
},
|
|
559
|
+
},
|
|
560
|
+
{
|
|
561
|
+
name: 'documentReviewComment',
|
|
562
|
+
title: `t("documentReview", { scope: "${i18n}" })`,
|
|
563
|
+
schema: {
|
|
564
|
+
dataType: 'string',
|
|
565
|
+
readonly: true,
|
|
566
|
+
interface: {
|
|
567
|
+
type: AXPWidgetsCatalog.richText,
|
|
568
|
+
options: {
|
|
569
|
+
content: `{{ context.eval('documentReviewComment') }}`,
|
|
570
|
+
},
|
|
571
|
+
},
|
|
572
|
+
},
|
|
573
|
+
},
|
|
574
|
+
{
|
|
575
|
+
name: 'documentReviewStatus',
|
|
576
|
+
title: `t("documentReview", { scope: "${i18n}" })`,
|
|
577
|
+
schema: {
|
|
578
|
+
defaultValue: '{{context.eval("documentReview.reviewStatus") == "Approve"}}',
|
|
579
|
+
dataType: 'string',
|
|
580
|
+
readonly: true,
|
|
581
|
+
interface: {
|
|
582
|
+
type: AXPWidgetsCatalog.toggle,
|
|
583
|
+
options: {
|
|
584
|
+
content: `{{ context.eval('documentReviewComment') }}`,
|
|
585
|
+
},
|
|
586
|
+
},
|
|
587
|
+
},
|
|
588
|
+
},
|
|
589
|
+
],
|
|
590
|
+
columns: [
|
|
591
|
+
{ name: 'name' },
|
|
592
|
+
{ name: 'status' },
|
|
593
|
+
{ name: 'version' },
|
|
594
|
+
{ name: 'fileData' },
|
|
595
|
+
{
|
|
596
|
+
name: 'documentReviewReviewer',
|
|
597
|
+
title: `t("reviewer", { scope: "${i18n}" })`,
|
|
598
|
+
options: {
|
|
599
|
+
dataPath: 'documentReview.reviewer.title',
|
|
600
|
+
},
|
|
601
|
+
},
|
|
602
|
+
{
|
|
603
|
+
name: 'documentReviewComment',
|
|
604
|
+
title: `t("comment", { scope: "${i18n}" })`,
|
|
605
|
+
options: {
|
|
606
|
+
dataPath: 'documentReview.comment',
|
|
607
|
+
},
|
|
608
|
+
},
|
|
609
|
+
{
|
|
610
|
+
name: 'documentReviewStatus',
|
|
611
|
+
title: `t("approve", { scope: "${i18n}" })`,
|
|
612
|
+
options: {
|
|
613
|
+
dataPath: 'documentReview.reviewStatus',
|
|
614
|
+
},
|
|
615
|
+
},
|
|
515
616
|
],
|
|
516
|
-
columns: [{ name: 'name' }, { name: 'status' }, { name: 'version' }],
|
|
517
617
|
commands: {
|
|
518
618
|
create: {
|
|
519
619
|
execute: async (data) => {
|
|
@@ -564,6 +664,7 @@ async function documentFactory(injector) {
|
|
|
564
664
|
filters: allFilters,
|
|
565
665
|
},
|
|
566
666
|
});
|
|
667
|
+
console.log(x);
|
|
567
668
|
return x;
|
|
568
669
|
},
|
|
569
670
|
type: AXPEntityQueryType.List,
|
|
@@ -609,7 +710,7 @@ async function documentFactory(injector) {
|
|
|
609
710
|
},
|
|
610
711
|
},
|
|
611
712
|
{
|
|
612
|
-
name: '
|
|
713
|
+
name: 'fileData',
|
|
613
714
|
layout: {
|
|
614
715
|
positions: {
|
|
615
716
|
lg: {
|
|
@@ -658,7 +759,7 @@ async function documentFactory(injector) {
|
|
|
658
759
|
// },
|
|
659
760
|
// },
|
|
660
761
|
// {
|
|
661
|
-
// name: '
|
|
762
|
+
// name: 'fileData',
|
|
662
763
|
// layout: {
|
|
663
764
|
// positions: {
|
|
664
765
|
// lg: {
|
|
@@ -699,13 +800,23 @@ async function documentFactory(injector) {
|
|
|
699
800
|
layout: {
|
|
700
801
|
positions: {
|
|
701
802
|
lg: {
|
|
702
|
-
colSpan:
|
|
803
|
+
colSpan: 6,
|
|
703
804
|
},
|
|
704
805
|
},
|
|
705
806
|
},
|
|
706
807
|
},
|
|
707
808
|
{
|
|
708
809
|
name: 'metaData',
|
|
810
|
+
layout: {
|
|
811
|
+
positions: {
|
|
812
|
+
lg: {
|
|
813
|
+
colSpan: 6,
|
|
814
|
+
},
|
|
815
|
+
},
|
|
816
|
+
},
|
|
817
|
+
},
|
|
818
|
+
{
|
|
819
|
+
name: 'fileData',
|
|
709
820
|
layout: {
|
|
710
821
|
positions: {
|
|
711
822
|
lg: {
|
|
@@ -770,14 +881,14 @@ async function documentFactory(injector) {
|
|
|
770
881
|
decoration: {
|
|
771
882
|
header: {
|
|
772
883
|
title: '{{ context.eval("title") + " - version: " + context.eval("version") }}',
|
|
773
|
-
}
|
|
774
|
-
}
|
|
775
|
-
}
|
|
884
|
+
},
|
|
885
|
+
},
|
|
886
|
+
},
|
|
776
887
|
},
|
|
777
888
|
priority: 'primary',
|
|
778
889
|
type: 'review',
|
|
779
890
|
scope: AXPEntityCommandScope.TypeLevel,
|
|
780
|
-
|
|
891
|
+
disabled: '{{context.eval("status") != "PendingReview"}}',
|
|
781
892
|
},
|
|
782
893
|
{
|
|
783
894
|
title: `t("distributed", { scope: "${i18n}" })`,
|
|
@@ -786,39 +897,112 @@ async function documentFactory(injector) {
|
|
|
786
897
|
options: {
|
|
787
898
|
id: '{{context.eval("id")}}',
|
|
788
899
|
title: '{{context.eval("title")}}',
|
|
789
|
-
}
|
|
900
|
+
},
|
|
790
901
|
},
|
|
791
902
|
priority: 'primary',
|
|
792
903
|
type: 'review',
|
|
793
904
|
scope: AXPEntityCommandScope.TypeLevel,
|
|
905
|
+
disabled: '{{context.eval("status") != "Reviewed" && context.eval("status") != "Completed"}}',
|
|
906
|
+
},
|
|
907
|
+
],
|
|
908
|
+
},
|
|
909
|
+
list: {
|
|
910
|
+
actions: [
|
|
911
|
+
{
|
|
912
|
+
title: 't("detail", { scope: "common" })',
|
|
913
|
+
command: 'open-entity',
|
|
914
|
+
priority: 'secondary',
|
|
915
|
+
type: 'view',
|
|
916
|
+
default: true,
|
|
917
|
+
scope: AXPEntityCommandScope.Individual,
|
|
794
918
|
},
|
|
795
919
|
{
|
|
796
|
-
title: `t("document-
|
|
920
|
+
title: `t("document-review.send-review.title", { scope: "${i18n}" })`,
|
|
921
|
+
icon: 'fa-light fa-shield-check',
|
|
797
922
|
command: {
|
|
798
|
-
name: '
|
|
923
|
+
name: 'send-to-review',
|
|
799
924
|
options: {
|
|
800
925
|
id: '{{context.eval("id")}}',
|
|
801
926
|
title: '{{context.eval("title")}}',
|
|
802
|
-
}
|
|
927
|
+
},
|
|
803
928
|
},
|
|
804
929
|
priority: 'secondary',
|
|
805
|
-
type: '
|
|
806
|
-
scope: AXPEntityCommandScope.
|
|
807
|
-
|
|
930
|
+
type: 'sent',
|
|
931
|
+
scope: AXPEntityCommandScope.Individual,
|
|
932
|
+
disabled: '{{context.eval("status") != "Draft"}}',
|
|
808
933
|
},
|
|
809
|
-
],
|
|
810
|
-
},
|
|
811
|
-
list: {
|
|
812
|
-
actions: [
|
|
813
934
|
{
|
|
814
|
-
title:
|
|
815
|
-
|
|
935
|
+
title: `t("document-review.submit-review.title", { scope: "${i18n}" })`,
|
|
936
|
+
icon: 'fa-light fa-ballot-check',
|
|
937
|
+
command: {
|
|
938
|
+
name: 'submit-review',
|
|
939
|
+
options: {
|
|
940
|
+
id: '{{context.eval("reviewRecordId")}}',
|
|
941
|
+
// reviewedAt : '{{ variables.execute("now") }}',
|
|
942
|
+
decoration: {
|
|
943
|
+
header: {
|
|
944
|
+
title: '{{ context.eval("title") + " - version: " + context.eval("version") }}',
|
|
945
|
+
},
|
|
946
|
+
},
|
|
947
|
+
},
|
|
948
|
+
},
|
|
816
949
|
priority: 'secondary',
|
|
817
|
-
type: '
|
|
950
|
+
type: 'review',
|
|
818
951
|
scope: AXPEntityCommandScope.Individual,
|
|
952
|
+
disabled: '{{context.eval("status") != "PendingReview"}}',
|
|
953
|
+
},
|
|
954
|
+
{
|
|
955
|
+
title: `t("distributed", { scope: "${i18n}" })`,
|
|
956
|
+
icon: 'fa-light fa-chart-network',
|
|
957
|
+
command: {
|
|
958
|
+
name: 'distributed',
|
|
959
|
+
options: {
|
|
960
|
+
id: '{{context.eval("id")}}',
|
|
961
|
+
title: '{{context.eval("title")}}',
|
|
962
|
+
},
|
|
963
|
+
},
|
|
964
|
+
priority: 'secondary',
|
|
965
|
+
type: 'review',
|
|
966
|
+
scope: AXPEntityCommandScope.Individual,
|
|
967
|
+
disabled: '{{context.eval("status") != "Reviewed" && context.eval("status") != "Completed"}}',
|
|
819
968
|
},
|
|
820
969
|
],
|
|
821
|
-
views: [
|
|
970
|
+
views: [
|
|
971
|
+
createAllQueryView({ sorts: [{ name: 'name', dir: 'asc' }] }),
|
|
972
|
+
createQueryView('Draft', `t("draft", { scope: "${i18n}" })`, true, {
|
|
973
|
+
conditions: [
|
|
974
|
+
{
|
|
975
|
+
name: 'status',
|
|
976
|
+
operator: {
|
|
977
|
+
type: 'equal',
|
|
978
|
+
},
|
|
979
|
+
value: 'Draft',
|
|
980
|
+
},
|
|
981
|
+
],
|
|
982
|
+
}),
|
|
983
|
+
createQueryView('PendingReview', `t("pending", { scope: "${i18n}" })`, true, {
|
|
984
|
+
conditions: [
|
|
985
|
+
{
|
|
986
|
+
name: 'status',
|
|
987
|
+
operator: {
|
|
988
|
+
type: 'equal',
|
|
989
|
+
},
|
|
990
|
+
value: 'PendingReview',
|
|
991
|
+
},
|
|
992
|
+
],
|
|
993
|
+
}),
|
|
994
|
+
createQueryView('Reviewed', `t("reviewed", { scope: "${i18n}" })`, true, {
|
|
995
|
+
conditions: [
|
|
996
|
+
{
|
|
997
|
+
name: 'status',
|
|
998
|
+
operator: {
|
|
999
|
+
type: 'equal',
|
|
1000
|
+
},
|
|
1001
|
+
value: 'Reviewed',
|
|
1002
|
+
},
|
|
1003
|
+
],
|
|
1004
|
+
}),
|
|
1005
|
+
],
|
|
822
1006
|
},
|
|
823
1007
|
},
|
|
824
1008
|
},
|
|
@@ -2747,19 +2931,6 @@ async function reviewFactory(injector) {
|
|
|
2747
2931
|
name: 'reviewerId',
|
|
2748
2932
|
title: `t("reviewer", { scope: "${i18n}" })`,
|
|
2749
2933
|
groupId: 'section',
|
|
2750
|
-
options: {
|
|
2751
|
-
sort: {
|
|
2752
|
-
enabled: true,
|
|
2753
|
-
},
|
|
2754
|
-
filter: {
|
|
2755
|
-
advance: {
|
|
2756
|
-
enabled: true,
|
|
2757
|
-
},
|
|
2758
|
-
inline: {
|
|
2759
|
-
enabled: true,
|
|
2760
|
-
},
|
|
2761
|
-
},
|
|
2762
|
-
},
|
|
2763
2934
|
schema: {
|
|
2764
2935
|
dataType: 'string',
|
|
2765
2936
|
defaultValue: "{{ session.currentUser().id }}",
|
|
@@ -2768,11 +2939,11 @@ async function reviewFactory(injector) {
|
|
|
2768
2939
|
options: {
|
|
2769
2940
|
entity: 'SecurityManagement.users',
|
|
2770
2941
|
multiple: false,
|
|
2771
|
-
textField: '
|
|
2942
|
+
textField: 'username',
|
|
2772
2943
|
valueField: 'id',
|
|
2773
2944
|
expose: [
|
|
2774
2945
|
{ source: 'id', target: 'reviewer.id' },
|
|
2775
|
-
{ source: '
|
|
2946
|
+
{ source: 'username', target: 'reviewer.username' },
|
|
2776
2947
|
],
|
|
2777
2948
|
},
|
|
2778
2949
|
},
|
|
@@ -2908,7 +3079,7 @@ async function reviewFactory(injector) {
|
|
|
2908
3079
|
],
|
|
2909
3080
|
columns: [
|
|
2910
3081
|
{ name: 'documentId', options: { dataPath: 'document.name' } },
|
|
2911
|
-
{ name: 'reviewerId', options: { dataPath: '
|
|
3082
|
+
{ name: 'reviewerId', options: { dataPath: 'reviewer.title' } },
|
|
2912
3083
|
{ name: 'status' },
|
|
2913
3084
|
{ name: 'comment' },
|
|
2914
3085
|
{ name: 'reviewedAt' },
|
|
@@ -2922,10 +3093,12 @@ async function reviewFactory(injector) {
|
|
|
2922
3093
|
if (!data.reviewedAt) {
|
|
2923
3094
|
data.reviewedAt = new Date();
|
|
2924
3095
|
}
|
|
3096
|
+
//TODO for test
|
|
3097
|
+
data.reviewStatus = 'Approved';
|
|
2925
3098
|
// Create the review record
|
|
2926
3099
|
const res = await dataService.insertOne(data);
|
|
2927
3100
|
// Update document status based on review status
|
|
2928
|
-
await updateDocumentStatus(data.documentId, data.
|
|
3101
|
+
await updateDocumentStatus(data.documentId, data.reviewStatus, injector);
|
|
2929
3102
|
return { id: res };
|
|
2930
3103
|
},
|
|
2931
3104
|
},
|
|
@@ -2938,10 +3111,12 @@ async function reviewFactory(injector) {
|
|
|
2938
3111
|
execute: async (data) => {
|
|
2939
3112
|
// Update reviewedAt to current date
|
|
2940
3113
|
data.reviewedAt = new Date();
|
|
3114
|
+
//TODO for test
|
|
3115
|
+
data.reviewStatus = 'Approved';
|
|
2941
3116
|
// Update the review record
|
|
2942
3117
|
const result = await dataService.updateOne(data.id, data);
|
|
2943
3118
|
// Update document status based on review status
|
|
2944
|
-
await updateDocumentStatus(data.documentId, data.
|
|
3119
|
+
await updateDocumentStatus(data.documentId, data.reviewStatus, injector);
|
|
2945
3120
|
return result;
|
|
2946
3121
|
},
|
|
2947
3122
|
},
|
|
@@ -2959,7 +3134,9 @@ async function reviewFactory(injector) {
|
|
|
2959
3134
|
},
|
|
2960
3135
|
list: {
|
|
2961
3136
|
execute: async (e) => {
|
|
2962
|
-
|
|
3137
|
+
const a = await dataService.query({ skip: e.skip, take: e.take, filter: e.filter });
|
|
3138
|
+
console.log(a);
|
|
3139
|
+
return a;
|
|
2963
3140
|
},
|
|
2964
3141
|
type: AXPEntityQueryType.List,
|
|
2965
3142
|
},
|
|
@@ -3191,23 +3368,7 @@ async function reviewFactory(injector) {
|
|
|
3191
3368
|
actions: [],
|
|
3192
3369
|
},
|
|
3193
3370
|
list: {
|
|
3194
|
-
actions: [
|
|
3195
|
-
{
|
|
3196
|
-
title: 't("detail", { scope: "common" })',
|
|
3197
|
-
command: 'open-entity',
|
|
3198
|
-
priority: 'secondary',
|
|
3199
|
-
type: 'view',
|
|
3200
|
-
scope: AXPEntityCommandScope.Individual,
|
|
3201
|
-
default: true,
|
|
3202
|
-
},
|
|
3203
|
-
{
|
|
3204
|
-
title: 't("detail", { scope: "common" })',
|
|
3205
|
-
command: 'open-entity',
|
|
3206
|
-
priority: 'secondary',
|
|
3207
|
-
type: 'view',
|
|
3208
|
-
scope: AXPEntityCommandScope.Individual,
|
|
3209
|
-
},
|
|
3210
|
-
],
|
|
3371
|
+
actions: [],
|
|
3211
3372
|
views: [
|
|
3212
3373
|
createAllQueryView({
|
|
3213
3374
|
sorts: [{ name: 'reviewedAt', dir: 'desc' }],
|
|
@@ -4687,20 +4848,25 @@ const AXMUploadWorkflow = {
|
|
|
4687
4848
|
class AXMSendToReviewConfirmAction extends AXPWorkflowAction {
|
|
4688
4849
|
constructor() {
|
|
4689
4850
|
super(...arguments);
|
|
4690
|
-
this.
|
|
4851
|
+
this.popupService = inject(AXPopupService);
|
|
4691
4852
|
this.translationService = inject(AXTranslationService);
|
|
4692
4853
|
}
|
|
4693
|
-
//private documentService = inject(AXMDocumentService);
|
|
4694
4854
|
async execute(context) {
|
|
4695
4855
|
const documentId = context.getVariable('options.id');
|
|
4696
4856
|
const documentTitle = context.getVariable('options.title');
|
|
4697
|
-
const
|
|
4698
|
-
|
|
4699
|
-
|
|
4700
|
-
|
|
4701
|
-
|
|
4702
|
-
|
|
4703
|
-
|
|
4857
|
+
const comp = await import('./acorex-modules-document-management-document-send-to-review-popup.component-CtpLvPIr.mjs').then((m) => m.AXMDocumentSendToReviewPopupComponent);
|
|
4858
|
+
const result = await this.popupService.open(comp, {
|
|
4859
|
+
title: await this.translationService.translateAsync('document-review.confirm-send.title', {
|
|
4860
|
+
scope: 'document-management',
|
|
4861
|
+
params: { title: documentTitle },
|
|
4862
|
+
}),
|
|
4863
|
+
data: {
|
|
4864
|
+
documentId: documentId,
|
|
4865
|
+
documentTitle: documentTitle,
|
|
4866
|
+
},
|
|
4867
|
+
});
|
|
4868
|
+
context.setOutput('confirmed', result.data.confirmed);
|
|
4869
|
+
context.setVariable('assignTo', result.data.assignedTo);
|
|
4704
4870
|
}
|
|
4705
4871
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AXMSendToReviewConfirmAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
4706
4872
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AXMSendToReviewConfirmAction }); }
|
|
@@ -4733,6 +4899,7 @@ class AXMUpdateDocumentStatusAction extends AXPWorkflowAction {
|
|
|
4733
4899
|
name: document.updatedBy ?? '',
|
|
4734
4900
|
title: document.updatedBy ?? '',
|
|
4735
4901
|
},
|
|
4902
|
+
reviewerId: context.getVariable('assignTo'),
|
|
4736
4903
|
});
|
|
4737
4904
|
await this.documentService.updateOne(documentId, {
|
|
4738
4905
|
status: 'PendingReview',
|
|
@@ -4806,6 +4973,16 @@ const AXMSendToReviewWorkflow = {
|
|
|
4806
4973
|
},
|
|
4807
4974
|
},
|
|
4808
4975
|
};
|
|
4976
|
+
class AXMChangeEntityAction extends AXPWorkflowAction {
|
|
4977
|
+
async execute(context) {
|
|
4978
|
+
context.setVariable('entity', `${RootConfig.module.name}.${RootConfig.entities.document.name}`);
|
|
4979
|
+
}
|
|
4980
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AXMChangeEntityAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
4981
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AXMChangeEntityAction }); }
|
|
4982
|
+
}
|
|
4983
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AXMChangeEntityAction, decorators: [{
|
|
4984
|
+
type: Injectable
|
|
4985
|
+
}] });
|
|
4809
4986
|
/**
|
|
4810
4987
|
* Workflow for submitting review
|
|
4811
4988
|
*/
|
|
@@ -4823,6 +5000,26 @@ const AXMSubmitReviewWorkflow = {
|
|
|
4823
5000
|
},
|
|
4824
5001
|
},
|
|
4825
5002
|
},
|
|
5003
|
+
nextSteps: [
|
|
5004
|
+
{
|
|
5005
|
+
conditions: [{ type: 'SINGLE', expression: 'context.getOutput("result") == true' }],
|
|
5006
|
+
nextStepId: 'change-entity',
|
|
5007
|
+
},
|
|
5008
|
+
{
|
|
5009
|
+
conditions: [{ type: 'SINGLE', expression: 'context.getOutput("result") == false' }],
|
|
5010
|
+
nextStepId: 'show-error',
|
|
5011
|
+
},
|
|
5012
|
+
],
|
|
5013
|
+
},
|
|
5014
|
+
'change-entity': {
|
|
5015
|
+
id: 'change-entity',
|
|
5016
|
+
action: 'AXMChangeEntityAction',
|
|
5017
|
+
nextSteps: [
|
|
5018
|
+
{
|
|
5019
|
+
nextStepId: 'reload-entity',
|
|
5020
|
+
conditions: [],
|
|
5021
|
+
},
|
|
5022
|
+
],
|
|
4826
5023
|
},
|
|
4827
5024
|
'reload-entity': {
|
|
4828
5025
|
id: 'reload-entity',
|
|
@@ -4882,7 +5079,6 @@ class AXMCreateDistributionRecordsAction extends AXPWorkflowAction {
|
|
|
4882
5079
|
try {
|
|
4883
5080
|
const documentId = context.getVariable('options.id');
|
|
4884
5081
|
const assignedTo = context.getOutput('assignedTo');
|
|
4885
|
-
debugger;
|
|
4886
5082
|
const document = await this.documentService.getOne(documentId);
|
|
4887
5083
|
this.distributionService.insertOne({
|
|
4888
5084
|
documentId,
|
|
@@ -5103,22 +5299,43 @@ const AXMDocumentSignatureWorkflow = {
|
|
|
5103
5299
|
},
|
|
5104
5300
|
};
|
|
5105
5301
|
|
|
5106
|
-
class
|
|
5302
|
+
class AXMDocumentReviewBadgeProvider {
|
|
5107
5303
|
constructor() {
|
|
5304
|
+
this.documentReviewService = inject(AXMDocumentService);
|
|
5108
5305
|
this.count = signal(0, ...(ngDevMode ? [{ debugName: "count" }] : []));
|
|
5109
|
-
this.key = 'badge
|
|
5110
|
-
this.
|
|
5306
|
+
this.key = 'review-badge';
|
|
5307
|
+
this.getCount();
|
|
5111
5308
|
}
|
|
5112
|
-
|
|
5113
|
-
|
|
5114
|
-
|
|
5115
|
-
|
|
5116
|
-
|
|
5117
|
-
|
|
5118
|
-
|
|
5119
|
-
|
|
5309
|
+
async getCount() {
|
|
5310
|
+
// Base filter for requiresReview
|
|
5311
|
+
const baseFilters = [
|
|
5312
|
+
{
|
|
5313
|
+
field: 'documentType.requiresReview',
|
|
5314
|
+
operator: { type: 'equal' },
|
|
5315
|
+
value: true,
|
|
5316
|
+
},
|
|
5317
|
+
{
|
|
5318
|
+
field: 'status',
|
|
5319
|
+
operator: { type: 'equal' },
|
|
5320
|
+
value: 'PendingReview',
|
|
5321
|
+
},
|
|
5322
|
+
];
|
|
5323
|
+
const x = await this.documentReviewService.query({
|
|
5324
|
+
skip: 0,
|
|
5325
|
+
take: 1,
|
|
5326
|
+
filter: {
|
|
5327
|
+
logic: 'and',
|
|
5328
|
+
filters: baseFilters,
|
|
5329
|
+
},
|
|
5330
|
+
});
|
|
5331
|
+
this.count.set(x.total);
|
|
5120
5332
|
}
|
|
5333
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AXMDocumentReviewBadgeProvider, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
5334
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AXMDocumentReviewBadgeProvider }); }
|
|
5121
5335
|
}
|
|
5336
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AXMDocumentReviewBadgeProvider, decorators: [{
|
|
5337
|
+
type: Injectable
|
|
5338
|
+
}], ctorParameters: () => [] });
|
|
5122
5339
|
|
|
5123
5340
|
//#region ---- Imports ----
|
|
5124
5341
|
//#endregion
|
|
@@ -5556,7 +5773,7 @@ class AXMDocumentManagerService {
|
|
|
5556
5773
|
* Moves a node to another location
|
|
5557
5774
|
*/
|
|
5558
5775
|
async moveTo(options) {
|
|
5559
|
-
const comp = (await import('./acorex-modules-document-management-drive-choose.component-
|
|
5776
|
+
const comp = (await import('./acorex-modules-document-management-drive-choose.component-BOPjvKlN.mjs')).AXMDocumentDriveChooseComponent;
|
|
5560
5777
|
const popup = await this.popupService.open(comp, {
|
|
5561
5778
|
title: `Choose ${options.browseMode == 'file' ? 'File' : 'Folder'}`,
|
|
5562
5779
|
data: {
|
|
@@ -5589,7 +5806,7 @@ class AXMDocumentManagerService {
|
|
|
5589
5806
|
* Copies a node to another location
|
|
5590
5807
|
*/
|
|
5591
5808
|
async copyTo(options) {
|
|
5592
|
-
const comp = (await import('./acorex-modules-document-management-drive-choose.component-
|
|
5809
|
+
const comp = (await import('./acorex-modules-document-management-drive-choose.component-BOPjvKlN.mjs')).AXMDocumentDriveChooseComponent;
|
|
5593
5810
|
const popup = await this.popupService.open(comp, {
|
|
5594
5811
|
title: `Choose ${options.browseMode == 'file' ? 'File' : 'Folder'}`,
|
|
5595
5812
|
data: {
|
|
@@ -5736,16 +5953,30 @@ class AXMDocumentManagerService {
|
|
|
5736
5953
|
status: docType.requiresReview ? (isReviewSent ? 'PendingReview' : 'Draft') : 'Completed',
|
|
5737
5954
|
});
|
|
5738
5955
|
if (isReviewSent) {
|
|
5739
|
-
const
|
|
5740
|
-
|
|
5741
|
-
|
|
5742
|
-
|
|
5743
|
-
|
|
5744
|
-
|
|
5745
|
-
|
|
5746
|
-
|
|
5747
|
-
|
|
5956
|
+
const comp = await import('./acorex-modules-document-management-document-send-to-review-popup.component-CtpLvPIr.mjs').then((m) => m.AXMDocumentSendToReviewPopupComponent);
|
|
5957
|
+
const result = await this.popupService.open(comp, {
|
|
5958
|
+
title: await this.translate.translateAsync('document-review.confirm-send.title', {
|
|
5959
|
+
scope: 'document-management',
|
|
5960
|
+
params: { title: listItem.name },
|
|
5961
|
+
}),
|
|
5962
|
+
data: {
|
|
5963
|
+
documentId: docId,
|
|
5964
|
+
documentTitle: listItem.name,
|
|
5965
|
+
},
|
|
5748
5966
|
});
|
|
5967
|
+
if (result.data != null && result.data.confirmed) {
|
|
5968
|
+
const reviewRecordID = await this.reviewService.insertOne({
|
|
5969
|
+
documentId: docId,
|
|
5970
|
+
// document : docType,
|
|
5971
|
+
version: 1,
|
|
5972
|
+
reviewStatus: 'Pending',
|
|
5973
|
+
modifiedBy: this.sessionService.user,
|
|
5974
|
+
reviewerId: result.data.assignedTo,
|
|
5975
|
+
});
|
|
5976
|
+
await this.documentService.updateOne(docId, {
|
|
5977
|
+
reviewRecordId: reviewRecordID,
|
|
5978
|
+
});
|
|
5979
|
+
}
|
|
5749
5980
|
}
|
|
5750
5981
|
}
|
|
5751
5982
|
return true;
|
|
@@ -5808,12 +6039,26 @@ class AXMDocumentManagerService {
|
|
|
5808
6039
|
const newVersion = docType.enableVersioning ? (editableFile.version ?? 1) + 1 : undefined;
|
|
5809
6040
|
let reviewRecordID = undefined;
|
|
5810
6041
|
if (isReviewSent) {
|
|
5811
|
-
|
|
5812
|
-
|
|
5813
|
-
|
|
5814
|
-
|
|
5815
|
-
|
|
6042
|
+
const comp = await import('./acorex-modules-document-management-document-send-to-review-popup.component-CtpLvPIr.mjs').then((m) => m.AXMDocumentSendToReviewPopupComponent);
|
|
6043
|
+
const result = await this.popupService.open(comp, {
|
|
6044
|
+
title: await this.translate.translateAsync('document-review.confirm-send.title', {
|
|
6045
|
+
scope: 'document-management',
|
|
6046
|
+
params: { title: editableFile.name },
|
|
6047
|
+
}),
|
|
6048
|
+
data: {
|
|
6049
|
+
documentId: editableFile.id,
|
|
6050
|
+
documentTitle: editableFile.name,
|
|
6051
|
+
},
|
|
5816
6052
|
});
|
|
6053
|
+
if (result.data != null && result.data.confirmed) {
|
|
6054
|
+
reviewRecordID = await this.reviewService.insertOne({
|
|
6055
|
+
documentId: node.id,
|
|
6056
|
+
version: newVersion ?? 0,
|
|
6057
|
+
reviewStatus: 'Pending',
|
|
6058
|
+
modifiedBy: this.sessionService.user,
|
|
6059
|
+
reviewerId: result.data.assignedTo,
|
|
6060
|
+
});
|
|
6061
|
+
}
|
|
5817
6062
|
}
|
|
5818
6063
|
await this.documentService.updateOne(node.id, {
|
|
5819
6064
|
fileId: newFileId ?? editableFile.fileId,
|
|
@@ -5907,7 +6152,7 @@ class AXMDocumentManagerService {
|
|
|
5907
6152
|
* Shows folder edit dialog
|
|
5908
6153
|
*/
|
|
5909
6154
|
async showFolderEditDialog(node) {
|
|
5910
|
-
const comp = (await import('./acorex-modules-document-management-create-folder-dialog.component-
|
|
6155
|
+
const comp = (await import('./acorex-modules-document-management-create-folder-dialog.component-DPFIPNE_.mjs'))
|
|
5911
6156
|
.AXMCreateFolderDialog;
|
|
5912
6157
|
const popup = await this.popupService.open(comp, {
|
|
5913
6158
|
title: await this.translate.translateAsync('@document-management:actions.update-folder'),
|
|
@@ -5921,7 +6166,7 @@ class AXMDocumentManagerService {
|
|
|
5921
6166
|
* Shows create folder dialog
|
|
5922
6167
|
*/
|
|
5923
6168
|
async showCreateFolderDialog(parentId) {
|
|
5924
|
-
const comp = (await import('./acorex-modules-document-management-create-folder-dialog.component-
|
|
6169
|
+
const comp = (await import('./acorex-modules-document-management-create-folder-dialog.component-DPFIPNE_.mjs'))
|
|
5925
6170
|
.AXMCreateFolderDialog;
|
|
5926
6171
|
const popup = await this.popupService.open(comp, {
|
|
5927
6172
|
title: await this.translate.translateAsync('@document-management:actions.create-folder'),
|
|
@@ -5935,7 +6180,7 @@ class AXMDocumentManagerService {
|
|
|
5935
6180
|
* Shows rename popup for a node
|
|
5936
6181
|
*/
|
|
5937
6182
|
async showRenamePopup(node) {
|
|
5938
|
-
const comp = (await import('./acorex-modules-document-management-rename-node-dialog.component
|
|
6183
|
+
const comp = (await import('./acorex-modules-document-management-rename-node-dialog.component-DZRAXwFy.mjs'))
|
|
5939
6184
|
.AXMRenameNodeDialog;
|
|
5940
6185
|
const popup = await this.popupService.open(comp, {
|
|
5941
6186
|
title: 't("actions.rename")',
|
|
@@ -5961,7 +6206,7 @@ class AXMDocumentManagerService {
|
|
|
5961
6206
|
* Shows choose file dialog
|
|
5962
6207
|
*/
|
|
5963
6208
|
async showChooseFileDialog(scope) {
|
|
5964
|
-
const comp = (await import('./acorex-modules-document-management-drive-choose.component-
|
|
6209
|
+
const comp = (await import('./acorex-modules-document-management-drive-choose.component-BOPjvKlN.mjs')).AXMDocumentDriveChooseComponent;
|
|
5965
6210
|
const result = await this.popupService.open(comp, {
|
|
5966
6211
|
title: await this.translate.translateAsync('@document-management:actions.choose-from-drive'),
|
|
5967
6212
|
data: {
|
|
@@ -7218,13 +7463,13 @@ class AXMDocumentExplorerComponent {
|
|
|
7218
7463
|
this.showContextMenu = input(true, ...(ngDevMode ? [{ debugName: "showContextMenu" }] : []));
|
|
7219
7464
|
this.view = signal(null, ...(ngDevMode ? [{ debugName: "view" }] : []));
|
|
7220
7465
|
this.viewMap = {
|
|
7221
|
-
list: async () => (await import('./acorex-modules-document-management-list-view.component-
|
|
7222
|
-
'small-tiles': async () => (await import('./acorex-modules-document-management-small-tiles-view.component-
|
|
7223
|
-
'large-tiles': async () => (await import('./acorex-modules-document-management-large-tiles-view.component-
|
|
7224
|
-
details: async () => (await import('./acorex-modules-document-management-details-view.component-
|
|
7225
|
-
'large-icons': async () => (await import('./acorex-modules-document-management-large-icons-view.component-
|
|
7226
|
-
'small-icons': async () => (await import('./acorex-modules-document-management-small-icons-view.component-
|
|
7227
|
-
'attachment': async () => (await import('./acorex-modules-document-management-attachment-widget.component-
|
|
7466
|
+
list: async () => (await import('./acorex-modules-document-management-list-view.component-DdLTVccZ.mjs')).AXMDocumentExplorerListViewComponent,
|
|
7467
|
+
'small-tiles': async () => (await import('./acorex-modules-document-management-small-tiles-view.component-Cx9jczo-.mjs')).AXMDocumentExplorerSmallTilesViewComponent,
|
|
7468
|
+
'large-tiles': async () => (await import('./acorex-modules-document-management-large-tiles-view.component-CshjCgG5.mjs')).AXMDocumentExplorerLargeTilesViewComponent,
|
|
7469
|
+
details: async () => (await import('./acorex-modules-document-management-details-view.component-BKNvUhdl.mjs')).AXMDocumentExplorerDetailsViewComponent,
|
|
7470
|
+
'large-icons': async () => (await import('./acorex-modules-document-management-large-icons-view.component-DX2_xsbq.mjs')).AXMDocumentExplorerLargeIconsViewComponent,
|
|
7471
|
+
'small-icons': async () => (await import('./acorex-modules-document-management-small-icons-view.component-DG3AbQJO.mjs')).AXMDocumentExplorerSmallIconsViewComponent,
|
|
7472
|
+
'attachment': async () => (await import('./acorex-modules-document-management-attachment-widget.component-CcWvTWv0.mjs')).AXMDocumentExplorerAttachmentComponent,
|
|
7228
7473
|
};
|
|
7229
7474
|
this.#effect = effect(() => {
|
|
7230
7475
|
if (this.vm.loadingFolderId() == null) {
|
|
@@ -7696,7 +7941,7 @@ class AXPMetaSelectorWidgetEditComponent extends AXPValueWidgetComponent {
|
|
|
7696
7941
|
* Handle adding new metadata items
|
|
7697
7942
|
*/
|
|
7698
7943
|
async handleAddClick() {
|
|
7699
|
-
const comp = (await import('./acorex-modules-document-management-meta-choose-popup.component-
|
|
7944
|
+
const comp = (await import('./acorex-modules-document-management-meta-choose-popup.component-BomZu2bT.mjs')).AXPMetaChoosePopupComponent;
|
|
7700
7945
|
const result = await this.popupService.open(comp, {
|
|
7701
7946
|
title: 'Meta Selector',
|
|
7702
7947
|
data: {
|
|
@@ -7724,7 +7969,7 @@ class AXPMetaSelectorWidgetEditComponent extends AXPValueWidgetComponent {
|
|
|
7724
7969
|
* Handle editing a metadata item
|
|
7725
7970
|
*/
|
|
7726
7971
|
async handleMetaEdit(item) {
|
|
7727
|
-
const comp = (await import('./acorex-modules-document-management-meta-choose-popup.component-
|
|
7972
|
+
const comp = (await import('./acorex-modules-document-management-meta-choose-popup.component-BomZu2bT.mjs')).AXPMetaChoosePopupComponent;
|
|
7728
7973
|
const result = await this.popupService.open(comp, {
|
|
7729
7974
|
title: 'Edit Meta Selector',
|
|
7730
7975
|
data: {
|
|
@@ -7888,6 +8133,478 @@ const AXPMetaSelectorWidget = {
|
|
|
7888
8133
|
},
|
|
7889
8134
|
};
|
|
7890
8135
|
|
|
8136
|
+
class AXMDocumentReviewTaskProvider extends AXPWorkflowTaskProvider {
|
|
8137
|
+
constructor() {
|
|
8138
|
+
super(...arguments);
|
|
8139
|
+
this.documentReviewService = inject(AXMReviewService);
|
|
8140
|
+
this.workflowService = inject(AXPWorkflowService);
|
|
8141
|
+
this.eventService = inject(AXPDistributedEventListenerService);
|
|
8142
|
+
}
|
|
8143
|
+
get name() {
|
|
8144
|
+
return 'document-review';
|
|
8145
|
+
}
|
|
8146
|
+
get title() {
|
|
8147
|
+
return 'Document Review';
|
|
8148
|
+
}
|
|
8149
|
+
get icon() {
|
|
8150
|
+
return 'fa-light fa-file-pen';
|
|
8151
|
+
}
|
|
8152
|
+
/**
|
|
8153
|
+
* Retrieves a list of tasks, optionally filtered by a date range.
|
|
8154
|
+
* If a date range is provided in the options, only tasks that overlap with that range will be returned.
|
|
8155
|
+
* @param options Filtering options, primarily containing a date range.
|
|
8156
|
+
* @returns An array of filtered tasks.
|
|
8157
|
+
*/
|
|
8158
|
+
async getTasks(options) {
|
|
8159
|
+
const baseFilter = {
|
|
8160
|
+
logic: 'and',
|
|
8161
|
+
filters: [],
|
|
8162
|
+
};
|
|
8163
|
+
if (options?.range?.from) {
|
|
8164
|
+
baseFilter.filters?.push({
|
|
8165
|
+
field: 'reviewDate',
|
|
8166
|
+
operator: { type: 'gte' },
|
|
8167
|
+
value: options.range.from,
|
|
8168
|
+
});
|
|
8169
|
+
}
|
|
8170
|
+
if (options?.range?.end) {
|
|
8171
|
+
baseFilter.filters?.push({
|
|
8172
|
+
field: 'distributionDate',
|
|
8173
|
+
operator: { type: 'lte' },
|
|
8174
|
+
value: options.range.end,
|
|
8175
|
+
});
|
|
8176
|
+
}
|
|
8177
|
+
const filteredList = await this.documentReviewService.query({
|
|
8178
|
+
skip: options?.skip ?? 0,
|
|
8179
|
+
take: options?.take ?? 10,
|
|
8180
|
+
filter: baseFilter,
|
|
8181
|
+
});
|
|
8182
|
+
const tasks = {
|
|
8183
|
+
items: filteredList.items.map((item) => ({
|
|
8184
|
+
id: item.id,
|
|
8185
|
+
title: item.document?.title ?? '' + ' - ' + item.version,
|
|
8186
|
+
description: item.document?.description ?? '',
|
|
8187
|
+
startDate: item.createdAt ?? new Date(),
|
|
8188
|
+
endDate: item.createdAt
|
|
8189
|
+
? new Date(new Date(item.createdAt).getTime() + 24 * 60 * 60 * 1000)
|
|
8190
|
+
: new Date(new Date().getTime() + 24 * 60 * 60 * 1000),
|
|
8191
|
+
assignee: {
|
|
8192
|
+
id: item.reviewerId ?? '',
|
|
8193
|
+
type: 'user',
|
|
8194
|
+
fullName: item.reviewer?.title ?? '',
|
|
8195
|
+
},
|
|
8196
|
+
index: 3,
|
|
8197
|
+
status: {
|
|
8198
|
+
id: item.reviewStatus,
|
|
8199
|
+
title: item.reviewStatus,
|
|
8200
|
+
},
|
|
8201
|
+
priority: 'high',
|
|
8202
|
+
reporter: {
|
|
8203
|
+
id: item.createdBy ?? '',
|
|
8204
|
+
type: 'user',
|
|
8205
|
+
fullName: item.createdBy ?? '',
|
|
8206
|
+
},
|
|
8207
|
+
})),
|
|
8208
|
+
total: filteredList.total,
|
|
8209
|
+
};
|
|
8210
|
+
return tasks;
|
|
8211
|
+
}
|
|
8212
|
+
/**
|
|
8213
|
+
* Updates one or more tasks in the provider's list.
|
|
8214
|
+
* This method finds each task by its ID and applies the new properties from the input.
|
|
8215
|
+
* It also automatically recalculates the `allDay` flag based on the task's duration.
|
|
8216
|
+
* @param tasksToUpdate An array of task objects to update. Each object must have an `id`.
|
|
8217
|
+
* @returns An array of the tasks that were successfully updated.
|
|
8218
|
+
*/
|
|
8219
|
+
async updateTasks(tasksToUpdate) {
|
|
8220
|
+
console.log(tasksToUpdate);
|
|
8221
|
+
return tasksToUpdate;
|
|
8222
|
+
}
|
|
8223
|
+
async executeCommand(command) {
|
|
8224
|
+
if (command.name === 'submitReview') {
|
|
8225
|
+
console.log(command.options);
|
|
8226
|
+
const workflow = await this.workflowService.execute('submit-review', {
|
|
8227
|
+
options: command.options,
|
|
8228
|
+
});
|
|
8229
|
+
this.eventService.dispatch('task-board.refresh');
|
|
8230
|
+
}
|
|
8231
|
+
return { success: true };
|
|
8232
|
+
}
|
|
8233
|
+
async getActions(task) {
|
|
8234
|
+
const review = {
|
|
8235
|
+
name: 'submitReview',
|
|
8236
|
+
title: 'Submit Review',
|
|
8237
|
+
icon: 'fa-light fa-pen-to-square',
|
|
8238
|
+
command: { name: 'submitReview', options: { id: task?.id ?? '' } },
|
|
8239
|
+
};
|
|
8240
|
+
const list = [];
|
|
8241
|
+
if (task?.status?.id === 'Pending') {
|
|
8242
|
+
list.push(review);
|
|
8243
|
+
}
|
|
8244
|
+
return list;
|
|
8245
|
+
}
|
|
8246
|
+
async getExtraFields() {
|
|
8247
|
+
return [];
|
|
8248
|
+
}
|
|
8249
|
+
async getStatuses() {
|
|
8250
|
+
return [
|
|
8251
|
+
{ index: 0, key: 'Pending', title: 'Pending' },
|
|
8252
|
+
{ index: 1, key: 'Approved', title: 'Approved' },
|
|
8253
|
+
{ index: 2, key: 'Rejected', title: 'Rejected' },
|
|
8254
|
+
];
|
|
8255
|
+
}
|
|
8256
|
+
}
|
|
8257
|
+
|
|
8258
|
+
class AXMDocumentDistributionTaskProvider extends AXPWorkflowTaskProvider {
|
|
8259
|
+
constructor() {
|
|
8260
|
+
super(...arguments);
|
|
8261
|
+
this.documentService = inject(AXMDistributionService);
|
|
8262
|
+
}
|
|
8263
|
+
get name() {
|
|
8264
|
+
return 'document-distribution';
|
|
8265
|
+
}
|
|
8266
|
+
get title() {
|
|
8267
|
+
return 'Document Distribution';
|
|
8268
|
+
}
|
|
8269
|
+
get icon() {
|
|
8270
|
+
return 'fa-light fa-file-pen';
|
|
8271
|
+
}
|
|
8272
|
+
/**
|
|
8273
|
+
* Retrieves a list of tasks, optionally filtered by a date range.
|
|
8274
|
+
* If a date range is provided in the options, only tasks that overlap with that range will be returned.
|
|
8275
|
+
* @param options Filtering options, primarily containing a date range.
|
|
8276
|
+
* @returns An array of filtered tasks.
|
|
8277
|
+
*/
|
|
8278
|
+
async getTasks(options) {
|
|
8279
|
+
const baseFilter = {
|
|
8280
|
+
logic: 'and',
|
|
8281
|
+
filters: [],
|
|
8282
|
+
};
|
|
8283
|
+
if (options?.range?.from) {
|
|
8284
|
+
baseFilter.filters?.push({
|
|
8285
|
+
field: 'distributionDate',
|
|
8286
|
+
operator: { type: 'gte' },
|
|
8287
|
+
value: options.range.from,
|
|
8288
|
+
});
|
|
8289
|
+
}
|
|
8290
|
+
if (options?.range?.end) {
|
|
8291
|
+
baseFilter.filters?.push({
|
|
8292
|
+
field: 'distributionDate',
|
|
8293
|
+
operator: { type: 'lte' },
|
|
8294
|
+
value: options.range.end,
|
|
8295
|
+
});
|
|
8296
|
+
}
|
|
8297
|
+
const filteredList = await this.documentService.query({
|
|
8298
|
+
skip: options?.skip ?? 0,
|
|
8299
|
+
take: options?.take ?? 10,
|
|
8300
|
+
filter: baseFilter,
|
|
8301
|
+
});
|
|
8302
|
+
return {
|
|
8303
|
+
items: filteredList.items.map((item) => ({
|
|
8304
|
+
id: item.id,
|
|
8305
|
+
title: item.document?.title ?? '' + ' - ' + item.version,
|
|
8306
|
+
startDate: item.createdAt ?? new Date(),
|
|
8307
|
+
endDate: item.dueDate ?? new Date(),
|
|
8308
|
+
index: 0,
|
|
8309
|
+
status: {
|
|
8310
|
+
id: 0,
|
|
8311
|
+
title: 'Pending',
|
|
8312
|
+
},
|
|
8313
|
+
priority: 'high',
|
|
8314
|
+
reporter: {
|
|
8315
|
+
id: item.createdBy ?? '',
|
|
8316
|
+
type: 'user',
|
|
8317
|
+
},
|
|
8318
|
+
})),
|
|
8319
|
+
total: filteredList.total,
|
|
8320
|
+
};
|
|
8321
|
+
}
|
|
8322
|
+
/**
|
|
8323
|
+
* Updates one or more tasks in the provider's list.
|
|
8324
|
+
* This method finds each task by its ID and applies the new properties from the input.
|
|
8325
|
+
* It also automatically recalculates the `allDay` flag based on the task's duration.
|
|
8326
|
+
* @param tasksToUpdate An array of task objects to update. Each object must have an `id`.
|
|
8327
|
+
* @returns An array of the tasks that were successfully updated.
|
|
8328
|
+
*/
|
|
8329
|
+
async updateTasks(tasksToUpdate) {
|
|
8330
|
+
console.log(tasksToUpdate);
|
|
8331
|
+
return tasksToUpdate;
|
|
8332
|
+
}
|
|
8333
|
+
async executeCommand(command) {
|
|
8334
|
+
if (command.name === 'edit') {
|
|
8335
|
+
console.log(command.options);
|
|
8336
|
+
}
|
|
8337
|
+
return { success: true };
|
|
8338
|
+
}
|
|
8339
|
+
async getActions(task) {
|
|
8340
|
+
const edit = {
|
|
8341
|
+
name: 'edit',
|
|
8342
|
+
title: 'Edit',
|
|
8343
|
+
icon: 'fa-light fa-pencil',
|
|
8344
|
+
command: { name: 'edit', options: { taskId: 4 } },
|
|
8345
|
+
};
|
|
8346
|
+
return [edit];
|
|
8347
|
+
}
|
|
8348
|
+
async getExtraFields() {
|
|
8349
|
+
return [];
|
|
8350
|
+
}
|
|
8351
|
+
async getStatuses() {
|
|
8352
|
+
return [
|
|
8353
|
+
{ index: 0, key: 'pending', title: 'Pending' },
|
|
8354
|
+
{ index: 1, key: 'in-progress', title: 'In Progress' },
|
|
8355
|
+
{ index: 2, key: 'done', title: 'Done' },
|
|
8356
|
+
{ index: 3, key: 'canceled', title: 'Canceled' },
|
|
8357
|
+
];
|
|
8358
|
+
}
|
|
8359
|
+
}
|
|
8360
|
+
|
|
8361
|
+
/**
|
|
8362
|
+
* Handles file list fields configured via entity.extensions.attachments.
|
|
8363
|
+
* Works for create and update: uploads pending blob entries after persistence and writes final references.
|
|
8364
|
+
*/
|
|
8365
|
+
const attachmentsUploadMiddleware = {
|
|
8366
|
+
target: { ops: ['create', 'update'], order: 70 },
|
|
8367
|
+
execute: async (ctx, next) => {
|
|
8368
|
+
const registry = inject(AXPEntityDefinitionRegistryService);
|
|
8369
|
+
const storage = inject(AXPFileStorageService);
|
|
8370
|
+
const [moduleName, entityNameOnly] = ctx.entityName.split('.');
|
|
8371
|
+
const def = await registry.resolve(moduleName, entityNameOnly).catch(() => null);
|
|
8372
|
+
const attachCfg = def?.extensions?.attachments;
|
|
8373
|
+
if (!attachCfg || !attachCfg.field) {
|
|
8374
|
+
await next();
|
|
8375
|
+
return;
|
|
8376
|
+
}
|
|
8377
|
+
const field = attachCfg.field;
|
|
8378
|
+
// Pre: normalize input
|
|
8379
|
+
if (ctx.data && typeof ctx.data === 'object') {
|
|
8380
|
+
const list = Array.isArray(ctx.data[field]) ? ctx.data[field] : [];
|
|
8381
|
+
ctx.locals.attach_pending = [];
|
|
8382
|
+
const normalized = [];
|
|
8383
|
+
for (const item of list) {
|
|
8384
|
+
if (item?.source?.kind === 'blob' && item.source.value instanceof Blob) {
|
|
8385
|
+
const blob = item.source.value;
|
|
8386
|
+
const name = item.name || `file-${Date.now()}`;
|
|
8387
|
+
ctx.locals.attach_pending.push({ fileItem: { ...item, name }, blob });
|
|
8388
|
+
normalized.push({
|
|
8389
|
+
tempId: item.id,
|
|
8390
|
+
name,
|
|
8391
|
+
size: item.size ?? blob.size,
|
|
8392
|
+
status: 'pending_upload',
|
|
8393
|
+
});
|
|
8394
|
+
}
|
|
8395
|
+
else if (item?.source?.kind === 'fileId' && item.id && typeof item.source.value === 'string') {
|
|
8396
|
+
normalized.push({
|
|
8397
|
+
id: item.id,
|
|
8398
|
+
name: item.name,
|
|
8399
|
+
size: item.size,
|
|
8400
|
+
status: item.status || 'uploaded',
|
|
8401
|
+
source: { kind: 'fileId', value: item.source.value },
|
|
8402
|
+
});
|
|
8403
|
+
}
|
|
8404
|
+
else if (item?.id && item?.name) {
|
|
8405
|
+
normalized.push({
|
|
8406
|
+
id: item.id,
|
|
8407
|
+
name: item.name,
|
|
8408
|
+
size: item.size,
|
|
8409
|
+
status: item.status || 'uploaded',
|
|
8410
|
+
source: item.source ? { kind: item.source.kind, value: item.source.value } : undefined,
|
|
8411
|
+
});
|
|
8412
|
+
}
|
|
8413
|
+
}
|
|
8414
|
+
ctx.data[field] = normalized;
|
|
8415
|
+
}
|
|
8416
|
+
await next();
|
|
8417
|
+
// Post: upload pending blobs and persist final references
|
|
8418
|
+
const pending = (ctx.locals.attach_pending ?? []);
|
|
8419
|
+
if (!pending.length)
|
|
8420
|
+
return;
|
|
8421
|
+
if (!storage)
|
|
8422
|
+
return;
|
|
8423
|
+
const finalRefs = (ctx.data[field] ?? []).filter((x) => x.status !== 'pending_upload');
|
|
8424
|
+
const refId = ctx.op === 'create' ? String(ctx.result) : String(ctx.id);
|
|
8425
|
+
const refType = ctx.entityName;
|
|
8426
|
+
for (const { fileItem, blob } of pending) {
|
|
8427
|
+
try {
|
|
8428
|
+
const info = await storage.save({ file: blob, refId, refType, category: '', name: fileItem.name });
|
|
8429
|
+
await storage.commit(info.fileId);
|
|
8430
|
+
finalRefs.push({
|
|
8431
|
+
id: info.fileId,
|
|
8432
|
+
name: info.name || fileItem.name,
|
|
8433
|
+
size: info.size || blob.size,
|
|
8434
|
+
type: info.mimeType || blob.type,
|
|
8435
|
+
status: 'uploaded',
|
|
8436
|
+
source: { kind: 'fileId', value: info.fileId },
|
|
8437
|
+
});
|
|
8438
|
+
}
|
|
8439
|
+
catch (err) {
|
|
8440
|
+
finalRefs.push({
|
|
8441
|
+
tempId: fileItem.id,
|
|
8442
|
+
name: fileItem.name,
|
|
8443
|
+
size: fileItem.size,
|
|
8444
|
+
type: blob.type,
|
|
8445
|
+
status: 'upload_failed',
|
|
8446
|
+
error: err?.message,
|
|
8447
|
+
});
|
|
8448
|
+
}
|
|
8449
|
+
}
|
|
8450
|
+
// Write back final references
|
|
8451
|
+
if (ctx.op === 'create') {
|
|
8452
|
+
try {
|
|
8453
|
+
await registry.entityResolver?.get; // noop to avoid unused warnings
|
|
8454
|
+
// Use backend raw update if available, else rely on service update separately
|
|
8455
|
+
// We only have insertOneRaw exposed; so update via public service layer is not here.
|
|
8456
|
+
// Instead, patch ctx.result if present to reflect UI immediately
|
|
8457
|
+
ctx.result = { ...ctx.result, [field]: finalRefs };
|
|
8458
|
+
}
|
|
8459
|
+
catch { }
|
|
8460
|
+
}
|
|
8461
|
+
else {
|
|
8462
|
+
ctx.result = { ...ctx.result, [field]: finalRefs };
|
|
8463
|
+
}
|
|
8464
|
+
},
|
|
8465
|
+
};
|
|
8466
|
+
|
|
8467
|
+
/**
|
|
8468
|
+
* attachments plugin
|
|
8469
|
+
* Options:
|
|
8470
|
+
* - field: string (property name to hold file list, e.g., 'imageId')
|
|
8471
|
+
* - accept?: string (e.g., '.jpg,.png')
|
|
8472
|
+
* - multiple?: boolean (default true)
|
|
8473
|
+
* - titleKey?: string (i18n key for action title)
|
|
8474
|
+
* - label?: string (fallback action label)
|
|
8475
|
+
* - fileEditable?: boolean (default true)
|
|
8476
|
+
* Notes:
|
|
8477
|
+
* - Always ensures an 'attachments' group and single-view section
|
|
8478
|
+
* - Always ensures the property exists if missing
|
|
8479
|
+
* - Uses provided accept/multiple/fileEditable; others are fixed
|
|
8480
|
+
*/
|
|
8481
|
+
const attachmentsPlugin = {
|
|
8482
|
+
name: 'attachments',
|
|
8483
|
+
order: 50,
|
|
8484
|
+
apply: (ctx, options) => {
|
|
8485
|
+
const opts = options ?? {};
|
|
8486
|
+
const field = opts.field && opts.field.trim().length > 0 ? opts.field : 'attachments';
|
|
8487
|
+
// Ensure group and section ids
|
|
8488
|
+
const sectionId = 'attachments';
|
|
8489
|
+
const groupIdForProperty = 'attachments';
|
|
8490
|
+
const existingGroups = ctx.groups.list() ?? [];
|
|
8491
|
+
if (!existingGroups.some((g) => g.id === groupIdForProperty)) {
|
|
8492
|
+
ctx.groups.add({ id: groupIdForProperty, title: 'Attachments' });
|
|
8493
|
+
}
|
|
8494
|
+
// Ensure property exists (using a generic file-uploader interface)
|
|
8495
|
+
const props = ctx.properties.list();
|
|
8496
|
+
if (!props.some((p) => p.name === field)) {
|
|
8497
|
+
ctx.properties.add({
|
|
8498
|
+
name: field,
|
|
8499
|
+
title: 'Attachments',
|
|
8500
|
+
groupId: groupIdForProperty,
|
|
8501
|
+
schema: {
|
|
8502
|
+
dataType: 'string',
|
|
8503
|
+
interface: {
|
|
8504
|
+
type: 'file-uploader',
|
|
8505
|
+
options: {
|
|
8506
|
+
multiple: opts.multiple ?? true,
|
|
8507
|
+
accept: opts.accept,
|
|
8508
|
+
fileEditable: opts.fileEditable ?? true,
|
|
8509
|
+
},
|
|
8510
|
+
},
|
|
8511
|
+
},
|
|
8512
|
+
});
|
|
8513
|
+
}
|
|
8514
|
+
// Ensure column exists
|
|
8515
|
+
const cols = ctx.columns.list() ?? [];
|
|
8516
|
+
if (!cols?.some((c) => c.name === field)) {
|
|
8517
|
+
ctx.columns.add({ name: field });
|
|
8518
|
+
}
|
|
8519
|
+
// Ensure single view section and property layout exists
|
|
8520
|
+
const sectionOrder = 8;
|
|
8521
|
+
const colSpan = 12;
|
|
8522
|
+
ctx.interfaces.master.single.update((single) => {
|
|
8523
|
+
const next = single ?? { title: ctx.entity.title, sections: [], properties: [] };
|
|
8524
|
+
next.sections = next.sections ?? [];
|
|
8525
|
+
if (!next.sections.some((s) => s.id === sectionId)) {
|
|
8526
|
+
next.sections.push({ id: sectionId });
|
|
8527
|
+
}
|
|
8528
|
+
next.properties = next.properties ?? [];
|
|
8529
|
+
if (!next.properties.some((p) => p.name === field)) {
|
|
8530
|
+
next.properties.push({
|
|
8531
|
+
name: field,
|
|
8532
|
+
layout: {
|
|
8533
|
+
label: { visible: false },
|
|
8534
|
+
positions: { lg: { colSpan, order: sectionOrder } },
|
|
8535
|
+
},
|
|
8536
|
+
});
|
|
8537
|
+
}
|
|
8538
|
+
return next;
|
|
8539
|
+
});
|
|
8540
|
+
// Ensure create view includes the section and property layout
|
|
8541
|
+
ctx.interfaces.master.create.update((create) => {
|
|
8542
|
+
const next = create ?? { sections: [], properties: [] };
|
|
8543
|
+
next.sections = next.sections ?? [];
|
|
8544
|
+
if (!next.sections.some((s) => s.id === sectionId)) {
|
|
8545
|
+
next.sections.push({ id: sectionId });
|
|
8546
|
+
}
|
|
8547
|
+
next.properties = next.properties ?? [];
|
|
8548
|
+
if (!next.properties.some((p) => p.name === field)) {
|
|
8549
|
+
next.properties.push({
|
|
8550
|
+
name: field,
|
|
8551
|
+
layout: {
|
|
8552
|
+
positions: { lg: { colSpan, order: 6 } },
|
|
8553
|
+
},
|
|
8554
|
+
});
|
|
8555
|
+
}
|
|
8556
|
+
return next;
|
|
8557
|
+
});
|
|
8558
|
+
// Ensure update view includes the section and property layout
|
|
8559
|
+
ctx.interfaces.master.modify.update((modify) => {
|
|
8560
|
+
const next = modify ?? { sections: [], properties: [] };
|
|
8561
|
+
next.sections = next.sections ?? [];
|
|
8562
|
+
if (!next.sections.some((s) => s.id === sectionId)) {
|
|
8563
|
+
next.sections.push({ id: sectionId });
|
|
8564
|
+
}
|
|
8565
|
+
next.properties = next.properties ?? [];
|
|
8566
|
+
if (!next.properties.some((p) => p.name === field)) {
|
|
8567
|
+
next.properties.push({
|
|
8568
|
+
name: field,
|
|
8569
|
+
layout: {
|
|
8570
|
+
positions: { lg: { colSpan, order: 6 } },
|
|
8571
|
+
},
|
|
8572
|
+
});
|
|
8573
|
+
}
|
|
8574
|
+
return next;
|
|
8575
|
+
});
|
|
8576
|
+
// Ensure list action to open file uploader popup exists
|
|
8577
|
+
ensureListActions(ctx);
|
|
8578
|
+
ctx.interfaces.update((i) => {
|
|
8579
|
+
const actions = i.master.list.actions;
|
|
8580
|
+
const cmdName = 'show-file-uploader-popup';
|
|
8581
|
+
if (!actionExists(actions, cmdName)) {
|
|
8582
|
+
actions.push({
|
|
8583
|
+
title: opts.titleKey ?? '@document-management:actions.upload-files',
|
|
8584
|
+
command: {
|
|
8585
|
+
name: cmdName,
|
|
8586
|
+
options: {
|
|
8587
|
+
id: '{{ context.eval("id") }}',
|
|
8588
|
+
files: `{{ context.eval("${field}") }}`,
|
|
8589
|
+
multiple: opts.multiple ?? true,
|
|
8590
|
+
accept: opts.accept ?? '.jpg,.jpeg,.png,.gif,.webp',
|
|
8591
|
+
key: field,
|
|
8592
|
+
fileEditable: opts.fileEditable ?? true,
|
|
8593
|
+
},
|
|
8594
|
+
},
|
|
8595
|
+
priority: 'secondary',
|
|
8596
|
+
type: 'upload',
|
|
8597
|
+
scope: AXPEntityCommandScope.Individual,
|
|
8598
|
+
});
|
|
8599
|
+
}
|
|
8600
|
+
return i;
|
|
8601
|
+
});
|
|
8602
|
+
// Stamp normalized config for middleware
|
|
8603
|
+
ctx.entity.extensions ??= {};
|
|
8604
|
+
ctx.entity.extensions.attachments = { field };
|
|
8605
|
+
},
|
|
8606
|
+
};
|
|
8607
|
+
|
|
7891
8608
|
function routesFacory() {
|
|
7892
8609
|
const config = inject(AXP_ENTITY_CONFIG_TOKEN);
|
|
7893
8610
|
const routes = [
|
|
@@ -7901,11 +8618,11 @@ function routesFacory() {
|
|
|
7901
8618
|
children: [
|
|
7902
8619
|
{
|
|
7903
8620
|
path: '',
|
|
7904
|
-
loadComponent: () => import('./acorex-modules-document-management-drive.component-
|
|
8621
|
+
loadComponent: () => import('./acorex-modules-document-management-drive.component-DutBXTtm.mjs').then((c) => c.AXMDocumentDriveComponent),
|
|
7905
8622
|
},
|
|
7906
8623
|
{
|
|
7907
8624
|
path: ':id',
|
|
7908
|
-
loadComponent: () => import('./acorex-modules-document-management-drive.component-
|
|
8625
|
+
loadComponent: () => import('./acorex-modules-document-management-drive.component-DutBXTtm.mjs').then((c) => c.AXMDocumentDriveComponent),
|
|
7909
8626
|
},
|
|
7910
8627
|
],
|
|
7911
8628
|
},
|
|
@@ -7959,21 +8676,28 @@ class AXMDocumentManagementModule {
|
|
|
7959
8676
|
provide: AXP_PERMISSION_DEFINITION_PROVIDER,
|
|
7960
8677
|
useFactory: async () => {
|
|
7961
8678
|
const injector = inject(Injector);
|
|
7962
|
-
const provider = (await import('./acorex-modules-document-management-permission-definition.provider-
|
|
8679
|
+
const provider = (await import('./acorex-modules-document-management-permission-definition.provider-_AXz3sdF.mjs')).AXMPermissionDefinitionProvider;
|
|
7963
8680
|
return new provider(injector);
|
|
7964
8681
|
},
|
|
7965
8682
|
multi: true,
|
|
7966
8683
|
},
|
|
7967
8684
|
{
|
|
7968
8685
|
provide: AXP_TASK_BADGE_PROVIDERS,
|
|
7969
|
-
useClass:
|
|
8686
|
+
useClass: AXMDocumentReviewBadgeProvider,
|
|
7970
8687
|
multi: true,
|
|
7971
8688
|
},
|
|
7972
8689
|
{
|
|
7973
|
-
provide:
|
|
7974
|
-
useClass:
|
|
8690
|
+
provide: AXP_WORKFLOW_TASK_PROVIDER,
|
|
8691
|
+
useClass: AXMDocumentReviewTaskProvider,
|
|
8692
|
+
multi: true,
|
|
8693
|
+
},
|
|
8694
|
+
{
|
|
8695
|
+
provide: AXP_WORKFLOW_TASK_PROVIDER,
|
|
8696
|
+
useClass: AXMDocumentDistributionTaskProvider,
|
|
7975
8697
|
multi: true,
|
|
7976
8698
|
},
|
|
8699
|
+
{ provide: AXP_ENTITY_STORAGE_MIDDLEWARE, multi: true, useValue: attachmentsUploadMiddleware },
|
|
8700
|
+
{ provide: AXP_ENTITY_ACTION_PLUGIN, multi: true, useValue: attachmentsPlugin },
|
|
7977
8701
|
{
|
|
7978
8702
|
provide: ROUTES,
|
|
7979
8703
|
multi: true,
|
|
@@ -8002,6 +8726,7 @@ class AXMDocumentManagementModule {
|
|
|
8002
8726
|
AXMCreateDistributionRecordsAction,
|
|
8003
8727
|
AXMDocumentSignaturePopupAction,
|
|
8004
8728
|
AXMSaveSignatureInteractionAction,
|
|
8729
|
+
AXMChangeEntityAction
|
|
8005
8730
|
},
|
|
8006
8731
|
workflows: {
|
|
8007
8732
|
'upload-document': AXMUploadWorkflow,
|
|
@@ -8039,6 +8764,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImpor
|
|
|
8039
8764
|
AXMCreateDistributionRecordsAction,
|
|
8040
8765
|
AXMDocumentSignaturePopupAction,
|
|
8041
8766
|
AXMSaveSignatureInteractionAction,
|
|
8767
|
+
AXMChangeEntityAction
|
|
8042
8768
|
},
|
|
8043
8769
|
workflows: {
|
|
8044
8770
|
'upload-document': AXMUploadWorkflow,
|
|
@@ -8088,21 +8814,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImpor
|
|
|
8088
8814
|
provide: AXP_PERMISSION_DEFINITION_PROVIDER,
|
|
8089
8815
|
useFactory: async () => {
|
|
8090
8816
|
const injector = inject(Injector);
|
|
8091
|
-
const provider = (await import('./acorex-modules-document-management-permission-definition.provider-
|
|
8817
|
+
const provider = (await import('./acorex-modules-document-management-permission-definition.provider-_AXz3sdF.mjs')).AXMPermissionDefinitionProvider;
|
|
8092
8818
|
return new provider(injector);
|
|
8093
8819
|
},
|
|
8094
8820
|
multi: true,
|
|
8095
8821
|
},
|
|
8096
8822
|
{
|
|
8097
8823
|
provide: AXP_TASK_BADGE_PROVIDERS,
|
|
8098
|
-
useClass:
|
|
8824
|
+
useClass: AXMDocumentReviewBadgeProvider,
|
|
8099
8825
|
multi: true,
|
|
8100
8826
|
},
|
|
8101
8827
|
{
|
|
8102
|
-
provide:
|
|
8103
|
-
useClass:
|
|
8828
|
+
provide: AXP_WORKFLOW_TASK_PROVIDER,
|
|
8829
|
+
useClass: AXMDocumentReviewTaskProvider,
|
|
8830
|
+
multi: true,
|
|
8831
|
+
},
|
|
8832
|
+
{
|
|
8833
|
+
provide: AXP_WORKFLOW_TASK_PROVIDER,
|
|
8834
|
+
useClass: AXMDocumentDistributionTaskProvider,
|
|
8104
8835
|
multi: true,
|
|
8105
8836
|
},
|
|
8837
|
+
{ provide: AXP_ENTITY_STORAGE_MIDDLEWARE, multi: true, useValue: attachmentsUploadMiddleware },
|
|
8838
|
+
{ provide: AXP_ENTITY_ACTION_PLUGIN, multi: true, useValue: attachmentsPlugin },
|
|
8106
8839
|
{
|
|
8107
8840
|
provide: ROUTES,
|
|
8108
8841
|
multi: true,
|
|
@@ -8117,4 +8850,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImpor
|
|
|
8117
8850
|
*/
|
|
8118
8851
|
|
|
8119
8852
|
export { AXPDocumentExplorerViewModel as A, AXMDocumentManagementDocumentTypeStatusDefinitionEntityServiceImpl as B, folderFactory as C, AXMFolderService as D, AXMFolderServiceImpl as E, reviewFactory as F, AXMReviewService as G, AXMReviewServiceImpl as H, distributionFactory as I, AXMDistributionService as J, AXMDistributionServiceImpl as K, distributionInteractionFactory as L, AXMDistributionInteractionService as M, AXMDistributionInteractionServiceImpl as N, AXMEntityProvider as O, AXMMenuProvider as P, AXMSearchCommandProvider as Q, RootConfig as R, AXMSettingProvider as S, AXMDocumentManagerService as a, AXMDocumentExplorerComponent as b, AXMPermissionsKeys as c, AXMFolderPathBreadcrumbsComponent as d, AXMDocumentTypeService as e, AXMDocumentManagementModule as f, documentFactory as g, AXMDocumentManagementDocumentEntityModule as h, AXMDocumentService as i, AXMDocumentServiceImpl as j, getNextStatus as k, canTransition as l, documentTypeFactory as m, AXMDocumentManagementDocumentTypeEntityModule as n, AXMDocumentTypeServiceImpl as o, documentTypeMetaDefinitionfactory as p, AXMDocumentManagementDocumentTypeMetaDefinitionEntityModule as q, AXMDocumentManagementDocumentTypeMetaDefinitionEntityService as r, AXMDocumentManagementDocumentTypeMetaDefinitionEntityServiceImpl as s, documentTypeMetaValueFactory as t, AXMDocumentManagementDocumentTypeMetaValueEntityModule as u, AXMDocumentManagementDocumentTypeMetaValueEntityService as v, AXMDocumentManagementDocumentTypeMetaValueEntityServiceImpl as w, documentTypeStatusDefinitionFactory as x, AXMDocumentManagementDocumentTypeStatusDefinitionEntityModule as y, AXMDocumentManagementDocumentTypeStatusDefinitionEntityService as z };
|
|
8120
|
-
//# sourceMappingURL=acorex-modules-document-management-acorex-modules-document-management-
|
|
8853
|
+
//# sourceMappingURL=acorex-modules-document-management-acorex-modules-document-management-D9oPjJnn.mjs.map
|