@webiny/app-workflows 0.0.0-unstable.3c5210ad37
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/Components/AdminConfig/WorkflowsMenu.d.ts +2 -0
- package/Components/AdminConfig/WorkflowsMenu.js +25 -0
- package/Components/AdminConfig/WorkflowsMenu.js.map +1 -0
- package/Components/App/ContentReviews.d.ts +2 -0
- package/Components/App/ContentReviews.js +34 -0
- package/Components/App/ContentReviews.js.map +1 -0
- package/Components/App/WorkflowsAdminApp.d.ts +5 -0
- package/Components/App/WorkflowsAdminApp.js +13 -0
- package/Components/App/WorkflowsAdminApp.js.map +1 -0
- package/Components/App/index.d.ts +1 -0
- package/Components/App/index.js +3 -0
- package/Components/App/index.js.map +1 -0
- package/Components/Common/Options/OptionItem/Approve.d.ts +8 -0
- package/Components/Common/Options/OptionItem/Approve.js +25 -0
- package/Components/Common/Options/OptionItem/Approve.js.map +1 -0
- package/Components/Common/Options/OptionItem/OpenInNewWindow.d.ts +24 -0
- package/Components/Common/Options/OptionItem/OpenInNewWindow.js +9 -0
- package/Components/Common/Options/OptionItem/OpenInNewWindow.js.map +1 -0
- package/Components/Common/Options/OptionItem/Reject.d.ts +8 -0
- package/Components/Common/Options/OptionItem/Reject.js +25 -0
- package/Components/Common/Options/OptionItem/Reject.js.map +1 -0
- package/Components/Common/Options/OptionItem/Start.d.ts +8 -0
- package/Components/Common/Options/OptionItem/Start.js +24 -0
- package/Components/Common/Options/OptionItem/Start.js.map +1 -0
- package/Components/Common/Options/OptionItem/TakeOver.d.ts +8 -0
- package/Components/Common/Options/OptionItem/TakeOver.js +23 -0
- package/Components/Common/Options/OptionItem/TakeOver.js.map +1 -0
- package/Components/Common/Options/WorkflowStateOptions.d.ts +11 -0
- package/Components/Common/Options/WorkflowStateOptions.js +67 -0
- package/Components/Common/Options/WorkflowStateOptions.js.map +1 -0
- package/Components/Common/Options/index.d.ts +2 -0
- package/Components/Common/Options/index.js +4 -0
- package/Components/Common/Options/index.js.map +1 -0
- package/Components/Common/TagState.d.ts +7 -0
- package/Components/Common/TagState.js +14 -0
- package/Components/Common/TagState.js.map +1 -0
- package/Components/Common/TagStep.d.ts +7 -0
- package/Components/Common/TagStep.js +14 -0
- package/Components/Common/TagStep.js.map +1 -0
- package/Components/Common/YouCanTrackAllContentReviewsHere.d.ts +2 -0
- package/Components/Common/YouCanTrackAllContentReviewsHere.js +15 -0
- package/Components/Common/YouCanTrackAllContentReviewsHere.js.map +1 -0
- package/Components/Common/index.d.ts +5 -0
- package/Components/Common/index.js +6 -0
- package/Components/Common/index.js.map +1 -0
- package/Components/WorkflowState/Bar/Bars/WorkflowStateBarApproved.d.ts +5 -0
- package/Components/WorkflowState/Bar/Bars/WorkflowStateBarApproved.js +30 -0
- package/Components/WorkflowState/Bar/Bars/WorkflowStateBarApproved.js.map +1 -0
- package/Components/WorkflowState/Bar/Bars/WorkflowStateBarCancelReview.d.ts +5 -0
- package/Components/WorkflowState/Bar/Bars/WorkflowStateBarCancelReview.js +28 -0
- package/Components/WorkflowState/Bar/Bars/WorkflowStateBarCancelReview.js.map +1 -0
- package/Components/WorkflowState/Bar/Bars/WorkflowStateBarError.d.ts +6 -0
- package/Components/WorkflowState/Bar/Bars/WorkflowStateBarError.js +29 -0
- package/Components/WorkflowState/Bar/Bars/WorkflowStateBarError.js.map +1 -0
- package/Components/WorkflowState/Bar/Bars/WorkflowStateBarLoading.d.ts +5 -0
- package/Components/WorkflowState/Bar/Bars/WorkflowStateBarLoading.js +24 -0
- package/Components/WorkflowState/Bar/Bars/WorkflowStateBarLoading.js.map +1 -0
- package/Components/WorkflowState/Bar/Bars/WorkflowStateBarRejected.d.ts +5 -0
- package/Components/WorkflowState/Bar/Bars/WorkflowStateBarRejected.js +36 -0
- package/Components/WorkflowState/Bar/Bars/WorkflowStateBarRejected.js.map +1 -0
- package/Components/WorkflowState/Bar/Bars/WorkflowStateBarRequestReview.d.ts +5 -0
- package/Components/WorkflowState/Bar/Bars/WorkflowStateBarRequestReview.js +26 -0
- package/Components/WorkflowState/Bar/Bars/WorkflowStateBarRequestReview.js.map +1 -0
- package/Components/WorkflowState/Bar/Bars/WorkflowStateBarReview.d.ts +5 -0
- package/Components/WorkflowState/Bar/Bars/WorkflowStateBarReview.js +57 -0
- package/Components/WorkflowState/Bar/Bars/WorkflowStateBarReview.js.map +1 -0
- package/Components/WorkflowState/Bar/Bars/WorkflowStateBarStartReview.d.ts +2 -0
- package/Components/WorkflowState/Bar/Bars/WorkflowStateBarStartReview.js +31 -0
- package/Components/WorkflowState/Bar/Bars/WorkflowStateBarStartReview.js.map +1 -0
- package/Components/WorkflowState/Bar/Bars/WorkflowStateBarWorkflow.d.ts +5 -0
- package/Components/WorkflowState/Bar/Bars/WorkflowStateBarWorkflow.js +19 -0
- package/Components/WorkflowState/Bar/Bars/WorkflowStateBarWorkflow.js.map +1 -0
- package/Components/WorkflowState/Bar/Dialogs/ApproveDialog.d.ts +7 -0
- package/Components/WorkflowState/Bar/Dialogs/ApproveDialog.js +19 -0
- package/Components/WorkflowState/Bar/Dialogs/ApproveDialog.js.map +1 -0
- package/Components/WorkflowState/Bar/Dialogs/ApproveSuccessDialog.d.ts +7 -0
- package/Components/WorkflowState/Bar/Dialogs/ApproveSuccessDialog.js +17 -0
- package/Components/WorkflowState/Bar/Dialogs/ApproveSuccessDialog.js.map +1 -0
- package/Components/WorkflowState/Bar/Dialogs/CancelReviewDialog.d.ts +7 -0
- package/Components/WorkflowState/Bar/Dialogs/CancelReviewDialog.js +14 -0
- package/Components/WorkflowState/Bar/Dialogs/CancelReviewDialog.js.map +1 -0
- package/Components/WorkflowState/Bar/Dialogs/CommentDialog.d.ts +7 -0
- package/Components/WorkflowState/Bar/Dialogs/CommentDialog.js +17 -0
- package/Components/WorkflowState/Bar/Dialogs/CommentDialog.js.map +1 -0
- package/Components/WorkflowState/Bar/Dialogs/RejectDialog.d.ts +7 -0
- package/Components/WorkflowState/Bar/Dialogs/RejectDialog.js +19 -0
- package/Components/WorkflowState/Bar/Dialogs/RejectDialog.js.map +1 -0
- package/Components/WorkflowState/Bar/Dialogs/RejectSuccessDialog.d.ts +7 -0
- package/Components/WorkflowState/Bar/Dialogs/RejectSuccessDialog.js +17 -0
- package/Components/WorkflowState/Bar/Dialogs/RejectSuccessDialog.js.map +1 -0
- package/Components/WorkflowState/Bar/Dialogs/RequestReviewDialog.d.ts +7 -0
- package/Components/WorkflowState/Bar/Dialogs/RequestReviewDialog.js +14 -0
- package/Components/WorkflowState/Bar/Dialogs/RequestReviewDialog.js.map +1 -0
- package/Components/WorkflowState/Bar/Dialogs/StartDialog.d.ts +7 -0
- package/Components/WorkflowState/Bar/Dialogs/StartDialog.js +19 -0
- package/Components/WorkflowState/Bar/Dialogs/StartDialog.js.map +1 -0
- package/Components/WorkflowState/Bar/Dialogs/StartSuccessDialog.d.ts +7 -0
- package/Components/WorkflowState/Bar/Dialogs/StartSuccessDialog.js +17 -0
- package/Components/WorkflowState/Bar/Dialogs/StartSuccessDialog.js.map +1 -0
- package/Components/WorkflowState/Bar/Dialogs/TakeOverDialog.d.ts +7 -0
- package/Components/WorkflowState/Bar/Dialogs/TakeOverDialog.js +21 -0
- package/Components/WorkflowState/Bar/Dialogs/TakeOverDialog.js.map +1 -0
- package/Components/WorkflowState/Bar/Dialogs/TakeOverSuccessDialog.d.ts +7 -0
- package/Components/WorkflowState/Bar/Dialogs/TakeOverSuccessDialog.js +17 -0
- package/Components/WorkflowState/Bar/Dialogs/TakeOverSuccessDialog.js.map +1 -0
- package/Components/WorkflowState/Bar/Dialogs/index.d.ts +11 -0
- package/Components/WorkflowState/Bar/Dialogs/index.js +13 -0
- package/Components/WorkflowState/Bar/Dialogs/index.js.map +1 -0
- package/Components/WorkflowState/Bar/WorkflowStateBar.d.ts +23 -0
- package/Components/WorkflowState/Bar/WorkflowStateBar.js +37 -0
- package/Components/WorkflowState/Bar/WorkflowStateBar.js.map +1 -0
- package/Components/WorkflowState/Bar/WorkflowStateBarComponent.d.ts +40 -0
- package/Components/WorkflowState/Bar/WorkflowStateBarComponent.js +23 -0
- package/Components/WorkflowState/Bar/WorkflowStateBarComponent.js.map +1 -0
- package/Components/WorkflowState/Bar/WorkflowStateBarDialogs.d.ts +4 -0
- package/Components/WorkflowState/Bar/WorkflowStateBarDialogs.js +58 -0
- package/Components/WorkflowState/Bar/WorkflowStateBarDialogs.js.map +1 -0
- package/Components/WorkflowState/Bar/index.d.ts +1 -0
- package/Components/WorkflowState/Bar/index.js +3 -0
- package/Components/WorkflowState/Bar/index.js.map +1 -0
- package/Components/WorkflowState/Overlay/WorkflowStateOverlay.d.ts +15 -0
- package/Components/WorkflowState/Overlay/WorkflowStateOverlay.js +17 -0
- package/Components/WorkflowState/Overlay/WorkflowStateOverlay.js.map +1 -0
- package/Components/WorkflowState/Tooltip/WorkflowStateTooltip.d.ts +10 -0
- package/Components/WorkflowState/Tooltip/WorkflowStateTooltip.js +47 -0
- package/Components/WorkflowState/Tooltip/WorkflowStateTooltip.js.map +1 -0
- package/Components/WorkflowState/Tooltip/WorkflowStateTooltipContent.d.ts +9 -0
- package/Components/WorkflowState/Tooltip/WorkflowStateTooltipContent.js +42 -0
- package/Components/WorkflowState/Tooltip/WorkflowStateTooltipContent.js.map +1 -0
- package/Components/WorkflowState/Tooltip/WorkflowStateTooltipContentComment.d.ts +10 -0
- package/Components/WorkflowState/Tooltip/WorkflowStateTooltipContentComment.js +26 -0
- package/Components/WorkflowState/Tooltip/WorkflowStateTooltipContentComment.js.map +1 -0
- package/Components/WorkflowState/WorkflowStateProvider.d.ts +17 -0
- package/Components/WorkflowState/WorkflowStateProvider.js +44 -0
- package/Components/WorkflowState/WorkflowStateProvider.js.map +1 -0
- package/Components/WorkflowState/index.d.ts +5 -0
- package/Components/WorkflowState/index.js +7 -0
- package/Components/WorkflowState/index.js.map +1 -0
- package/Components/WorkflowState/useWorkflowState.d.ts +1 -0
- package/Components/WorkflowState/useWorkflowState.js +11 -0
- package/Components/WorkflowState/useWorkflowState.js.map +1 -0
- package/Components/WorkflowStateDialogs/ApproveDialog.d.ts +9 -0
- package/Components/WorkflowStateDialogs/ApproveDialog.js +48 -0
- package/Components/WorkflowStateDialogs/ApproveDialog.js.map +1 -0
- package/Components/WorkflowStateDialogs/ApproveSuccessDialog.d.ts +7 -0
- package/Components/WorkflowStateDialogs/ApproveSuccessDialog.js +34 -0
- package/Components/WorkflowStateDialogs/ApproveSuccessDialog.js.map +1 -0
- package/Components/WorkflowStateDialogs/CancelReviewDialog.d.ts +8 -0
- package/Components/WorkflowStateDialogs/CancelReviewDialog.js +36 -0
- package/Components/WorkflowStateDialogs/CancelReviewDialog.js.map +1 -0
- package/Components/WorkflowStateDialogs/CommentDialog.d.ts +8 -0
- package/Components/WorkflowStateDialogs/CommentDialog.js +47 -0
- package/Components/WorkflowStateDialogs/CommentDialog.js.map +1 -0
- package/Components/WorkflowStateDialogs/RejectDialog.d.ts +9 -0
- package/Components/WorkflowStateDialogs/RejectDialog.js +83 -0
- package/Components/WorkflowStateDialogs/RejectDialog.js.map +1 -0
- package/Components/WorkflowStateDialogs/RejectSuccessDialog.d.ts +7 -0
- package/Components/WorkflowStateDialogs/RejectSuccessDialog.js +32 -0
- package/Components/WorkflowStateDialogs/RejectSuccessDialog.js.map +1 -0
- package/Components/WorkflowStateDialogs/RequestReviewDialog.d.ts +8 -0
- package/Components/WorkflowStateDialogs/RequestReviewDialog.js +36 -0
- package/Components/WorkflowStateDialogs/RequestReviewDialog.js.map +1 -0
- package/Components/WorkflowStateDialogs/StartDialog.d.ts +9 -0
- package/Components/WorkflowStateDialogs/StartDialog.js +37 -0
- package/Components/WorkflowStateDialogs/StartDialog.js.map +1 -0
- package/Components/WorkflowStateDialogs/StartSuccessDialog.d.ts +7 -0
- package/Components/WorkflowStateDialogs/StartSuccessDialog.js +32 -0
- package/Components/WorkflowStateDialogs/StartSuccessDialog.js.map +1 -0
- package/Components/WorkflowStateDialogs/TakeOverDialog.d.ts +10 -0
- package/Components/WorkflowStateDialogs/TakeOverDialog.js +38 -0
- package/Components/WorkflowStateDialogs/TakeOverDialog.js.map +1 -0
- package/Components/WorkflowStateDialogs/TakeOverSuccessDialog.d.ts +7 -0
- package/Components/WorkflowStateDialogs/TakeOverSuccessDialog.js +32 -0
- package/Components/WorkflowStateDialogs/TakeOverSuccessDialog.js.map +1 -0
- package/Components/WorkflowStateDialogs/index.d.ts +11 -0
- package/Components/WorkflowStateDialogs/index.js +13 -0
- package/Components/WorkflowStateDialogs/index.js.map +1 -0
- package/Components/WorkflowStateList/List/WorkflowStateList.d.ts +4 -0
- package/Components/WorkflowStateList/List/WorkflowStateList.js +100 -0
- package/Components/WorkflowStateList/List/WorkflowStateList.js.map +1 -0
- package/Components/WorkflowStateList/List/WorkflowStateListFilters.d.ts +4 -0
- package/Components/WorkflowStateList/List/WorkflowStateListFilters.js +68 -0
- package/Components/WorkflowStateList/List/WorkflowStateListFilters.js.map +1 -0
- package/Components/WorkflowStateList/List/WorkflowStateListOptions.d.ts +9 -0
- package/Components/WorkflowStateList/List/WorkflowStateListOptions.js +13 -0
- package/Components/WorkflowStateList/List/WorkflowStateListOptions.js.map +1 -0
- package/Components/WorkflowStateList/List/WorkflowStateListView.d.ts +7 -0
- package/Components/WorkflowStateList/List/WorkflowStateListView.js +28 -0
- package/Components/WorkflowStateList/List/WorkflowStateListView.js.map +1 -0
- package/Components/WorkflowStateList/List/index.d.ts +2 -0
- package/Components/WorkflowStateList/List/index.js +4 -0
- package/Components/WorkflowStateList/List/index.js.map +1 -0
- package/Components/WorkflowStateList/Overlay/WorkflowStateListAppOverlay.d.ts +14 -0
- package/Components/WorkflowStateList/Overlay/WorkflowStateListAppOverlay.js +32 -0
- package/Components/WorkflowStateList/Overlay/WorkflowStateListAppOverlay.js.map +1 -0
- package/Components/WorkflowStateList/Overlay/WorkflowStateListAppOverlayView.d.ts +8 -0
- package/Components/WorkflowStateList/Overlay/WorkflowStateListAppOverlayView.js +34 -0
- package/Components/WorkflowStateList/Overlay/WorkflowStateListAppOverlayView.js.map +1 -0
- package/Components/WorkflowStateList/Overlay/index.d.ts +1 -0
- package/Components/WorkflowStateList/Overlay/index.js +3 -0
- package/Components/WorkflowStateList/Overlay/index.js.map +1 -0
- package/Components/WorkflowStateList/Provider/WorkflowStateListProvider.d.ts +16 -0
- package/Components/WorkflowStateList/Provider/WorkflowStateListProvider.js +37 -0
- package/Components/WorkflowStateList/Provider/WorkflowStateListProvider.js.map +1 -0
- package/Components/WorkflowStateList/Provider/index.d.ts +1 -0
- package/Components/WorkflowStateList/Provider/index.js +3 -0
- package/Components/WorkflowStateList/Provider/index.js.map +1 -0
- package/Components/WorkflowStateList/hooks/index.d.ts +1 -0
- package/Components/WorkflowStateList/hooks/index.js +3 -0
- package/Components/WorkflowStateList/hooks/index.js.map +1 -0
- package/Components/WorkflowStateList/hooks/useWorkflowStateList.d.ts +1 -0
- package/Components/WorkflowStateList/hooks/useWorkflowStateList.js +11 -0
- package/Components/WorkflowStateList/hooks/useWorkflowStateList.js.map +1 -0
- package/Components/WorkflowStateList/index.d.ts +2 -0
- package/Components/WorkflowStateList/index.js +4 -0
- package/Components/WorkflowStateList/index.js.map +1 -0
- package/Components/WorkflowStatesWidget/Card/WorkflowStatesWidgetCard.d.ts +8 -0
- package/Components/WorkflowStatesWidget/Card/WorkflowStatesWidgetCard.js +55 -0
- package/Components/WorkflowStatesWidget/Card/WorkflowStatesWidgetCard.js.map +1 -0
- package/Components/WorkflowStatesWidget/Card/WorkflowStatesWidgetCardTabs.d.ts +9 -0
- package/Components/WorkflowStatesWidget/Card/WorkflowStatesWidgetCardTabs.js +65 -0
- package/Components/WorkflowStatesWidget/Card/WorkflowStatesWidgetCardTabs.js.map +1 -0
- package/Components/WorkflowStatesWidget/Dialogs/ApproveDialog.d.ts +7 -0
- package/Components/WorkflowStatesWidget/Dialogs/ApproveDialog.js +25 -0
- package/Components/WorkflowStatesWidget/Dialogs/ApproveDialog.js.map +1 -0
- package/Components/WorkflowStatesWidget/Dialogs/ApproveSuccessDialog.d.ts +7 -0
- package/Components/WorkflowStatesWidget/Dialogs/ApproveSuccessDialog.js +17 -0
- package/Components/WorkflowStatesWidget/Dialogs/ApproveSuccessDialog.js.map +1 -0
- package/Components/WorkflowStatesWidget/Dialogs/RejectDialog.d.ts +7 -0
- package/Components/WorkflowStatesWidget/Dialogs/RejectDialog.js +25 -0
- package/Components/WorkflowStatesWidget/Dialogs/RejectDialog.js.map +1 -0
- package/Components/WorkflowStatesWidget/Dialogs/RejectSuccessDialog.d.ts +7 -0
- package/Components/WorkflowStatesWidget/Dialogs/RejectSuccessDialog.js +17 -0
- package/Components/WorkflowStatesWidget/Dialogs/RejectSuccessDialog.js.map +1 -0
- package/Components/WorkflowStatesWidget/Dialogs/StartDialog.d.ts +7 -0
- package/Components/WorkflowStatesWidget/Dialogs/StartDialog.js +25 -0
- package/Components/WorkflowStatesWidget/Dialogs/StartDialog.js.map +1 -0
- package/Components/WorkflowStatesWidget/Dialogs/StartSuccessDialog.d.ts +7 -0
- package/Components/WorkflowStatesWidget/Dialogs/StartSuccessDialog.js +17 -0
- package/Components/WorkflowStatesWidget/Dialogs/StartSuccessDialog.js.map +1 -0
- package/Components/WorkflowStatesWidget/Dialogs/TakeOverDialog.d.ts +7 -0
- package/Components/WorkflowStatesWidget/Dialogs/TakeOverDialog.js +28 -0
- package/Components/WorkflowStatesWidget/Dialogs/TakeOverDialog.js.map +1 -0
- package/Components/WorkflowStatesWidget/Dialogs/TakeOverSuccessDialog.d.ts +7 -0
- package/Components/WorkflowStatesWidget/Dialogs/TakeOverSuccessDialog.js +17 -0
- package/Components/WorkflowStatesWidget/Dialogs/TakeOverSuccessDialog.js.map +1 -0
- package/Components/WorkflowStatesWidget/Dialogs/index.d.ts +8 -0
- package/Components/WorkflowStatesWidget/Dialogs/index.js +10 -0
- package/Components/WorkflowStatesWidget/Dialogs/index.js.map +1 -0
- package/Components/WorkflowStatesWidget/List/WorkflowStateList.d.ts +7 -0
- package/Components/WorkflowStatesWidget/List/WorkflowStateList.js +18 -0
- package/Components/WorkflowStatesWidget/List/WorkflowStateList.js.map +1 -0
- package/Components/WorkflowStatesWidget/List/WorkflowStateRow.d.ts +9 -0
- package/Components/WorkflowStatesWidget/List/WorkflowStateRow.js +24 -0
- package/Components/WorkflowStatesWidget/List/WorkflowStateRow.js.map +1 -0
- package/Components/WorkflowStatesWidget/List/WorkflowStateRowOptions.d.ts +9 -0
- package/Components/WorkflowStatesWidget/List/WorkflowStateRowOptions.js +33 -0
- package/Components/WorkflowStatesWidget/List/WorkflowStateRowOptions.js.map +1 -0
- package/Components/WorkflowStatesWidget/Provider/WorkflowStatesProvider.d.ts +17 -0
- package/Components/WorkflowStatesWidget/Provider/WorkflowStatesProvider.js +34 -0
- package/Components/WorkflowStatesWidget/Provider/WorkflowStatesProvider.js.map +1 -0
- package/Components/WorkflowStatesWidget/Row/WorkflowStateRowDescription.d.ts +7 -0
- package/Components/WorkflowStatesWidget/Row/WorkflowStateRowDescription.js +22 -0
- package/Components/WorkflowStatesWidget/Row/WorkflowStateRowDescription.js.map +1 -0
- package/Components/WorkflowStatesWidget/WorkflowStatesOwnWidget.d.ts +6 -0
- package/Components/WorkflowStatesWidget/WorkflowStatesOwnWidget.js +29 -0
- package/Components/WorkflowStatesWidget/WorkflowStatesOwnWidget.js.map +1 -0
- package/Components/WorkflowStatesWidget/WorkflowStatesRequestedWidget.d.ts +6 -0
- package/Components/WorkflowStatesWidget/WorkflowStatesRequestedWidget.js +29 -0
- package/Components/WorkflowStatesWidget/WorkflowStatesRequestedWidget.js.map +1 -0
- package/Components/WorkflowStatesWidget/hooks/useWorkflowStatesWidget.d.ts +1 -0
- package/Components/WorkflowStatesWidget/hooks/useWorkflowStatesWidget.js +11 -0
- package/Components/WorkflowStatesWidget/hooks/useWorkflowStatesWidget.js.map +1 -0
- package/Components/WorkflowStatesWidget/index.d.ts +2 -0
- package/Components/WorkflowStatesWidget/index.js +4 -0
- package/Components/WorkflowStatesWidget/index.js.map +1 -0
- package/Components/WorkflowsEditor/DataList/WorkflowsDataList.d.ts +8 -0
- package/Components/WorkflowsEditor/DataList/WorkflowsDataList.js +46 -0
- package/Components/WorkflowsEditor/DataList/WorkflowsDataList.js.map +1 -0
- package/Components/WorkflowsEditor/Editor/Error/FormattedError.d.ts +7 -0
- package/Components/WorkflowsEditor/Editor/Error/FormattedError.js +37 -0
- package/Components/WorkflowsEditor/Editor/Error/FormattedError.js.map +1 -0
- package/Components/WorkflowsEditor/Editor/Error/WorkflowError.d.ts +7 -0
- package/Components/WorkflowsEditor/Editor/Error/WorkflowError.js +41 -0
- package/Components/WorkflowsEditor/Editor/Error/WorkflowError.js.map +1 -0
- package/Components/WorkflowsEditor/Editor/Step/Form/StepFormColor.d.ts +2 -0
- package/Components/WorkflowsEditor/Editor/Step/Form/StepFormColor.js +22 -0
- package/Components/WorkflowsEditor/Editor/Step/Form/StepFormColor.js.map +1 -0
- package/Components/WorkflowsEditor/Editor/Step/Form/StepFormDescription.d.ts +2 -0
- package/Components/WorkflowsEditor/Editor/Step/Form/StepFormDescription.js +13 -0
- package/Components/WorkflowsEditor/Editor/Step/Form/StepFormDescription.js.map +1 -0
- package/Components/WorkflowsEditor/Editor/Step/Form/StepFormNotifications.d.ts +7 -0
- package/Components/WorkflowsEditor/Editor/Step/Form/StepFormNotifications.js +44 -0
- package/Components/WorkflowsEditor/Editor/Step/Form/StepFormNotifications.js.map +1 -0
- package/Components/WorkflowsEditor/Editor/Step/Form/StepFormTeams.d.ts +2 -0
- package/Components/WorkflowsEditor/Editor/Step/Form/StepFormTeams.js +39 -0
- package/Components/WorkflowsEditor/Editor/Step/Form/StepFormTeams.js.map +1 -0
- package/Components/WorkflowsEditor/Editor/Step/Form/StepFormTitle.d.ts +2 -0
- package/Components/WorkflowsEditor/Editor/Step/Form/StepFormTitle.js +15 -0
- package/Components/WorkflowsEditor/Editor/Step/Form/StepFormTitle.js.map +1 -0
- package/Components/WorkflowsEditor/Editor/Step/InactiveStep.d.ts +7 -0
- package/Components/WorkflowsEditor/Editor/Step/InactiveStep.js +19 -0
- package/Components/WorkflowsEditor/Editor/Step/InactiveStep.js.map +1 -0
- package/Components/WorkflowsEditor/Editor/Step/NewStep.d.ts +7 -0
- package/Components/WorkflowsEditor/Editor/Step/NewStep.js +58 -0
- package/Components/WorkflowsEditor/Editor/Step/NewStep.js.map +1 -0
- package/Components/WorkflowsEditor/Editor/Step/Step/RemoveStep.d.ts +7 -0
- package/Components/WorkflowsEditor/Editor/Step/Step/RemoveStep.js +37 -0
- package/Components/WorkflowsEditor/Editor/Step/Step/RemoveStep.js.map +1 -0
- package/Components/WorkflowsEditor/Editor/Step/Step.d.ts +18 -0
- package/Components/WorkflowsEditor/Editor/Step/Step.js +146 -0
- package/Components/WorkflowsEditor/Editor/Step/Step.js.map +1 -0
- package/Components/WorkflowsEditor/Editor/WorkflowEditor.d.ts +6 -0
- package/Components/WorkflowsEditor/Editor/WorkflowEditor.js +49 -0
- package/Components/WorkflowsEditor/Editor/WorkflowEditor.js.map +1 -0
- package/Components/WorkflowsEditor/Editor/WorkflowEditorSteps.d.ts +8 -0
- package/Components/WorkflowsEditor/Editor/WorkflowEditorSteps.js +50 -0
- package/Components/WorkflowsEditor/Editor/WorkflowEditorSteps.js.map +1 -0
- package/Components/WorkflowsEditor/Editor/WorkflowEditorView.d.ts +9 -0
- package/Components/WorkflowsEditor/Editor/WorkflowEditorView.js +31 -0
- package/Components/WorkflowsEditor/Editor/WorkflowEditorView.js.map +1 -0
- package/Components/WorkflowsEditor/WorkflowsEditor.d.ts +3 -0
- package/Components/WorkflowsEditor/WorkflowsEditor.js +8 -0
- package/Components/WorkflowsEditor/WorkflowsEditor.js.map +1 -0
- package/Components/WorkflowsEditor/WorkflowsEditorBase.d.ts +11 -0
- package/Components/WorkflowsEditor/WorkflowsEditorBase.js +42 -0
- package/Components/WorkflowsEditor/WorkflowsEditorBase.js.map +1 -0
- package/Components/WorkflowsEditor/index.d.ts +1 -0
- package/Components/WorkflowsEditor/index.js +3 -0
- package/Components/WorkflowsEditor/index.js.map +1 -0
- package/Components/WorkflowsPermissions/HasWorkflowsEditorPermission.d.ts +5 -0
- package/Components/WorkflowsPermissions/HasWorkflowsEditorPermission.js +10 -0
- package/Components/WorkflowsPermissions/HasWorkflowsEditorPermission.js.map +1 -0
- package/Components/WorkflowsPermissions/SecurityPermissions.d.ts +2 -0
- package/Components/WorkflowsPermissions/SecurityPermissions.js +22 -0
- package/Components/WorkflowsPermissions/SecurityPermissions.js.map +1 -0
- package/Components/WorkflowsPermissions/constants.d.ts +1 -0
- package/Components/WorkflowsPermissions/constants.js +3 -0
- package/Components/WorkflowsPermissions/constants.js.map +1 -0
- package/Components/WorkflowsPermissions/index.d.ts +4 -0
- package/Components/WorkflowsPermissions/index.js +5 -0
- package/Components/WorkflowsPermissions/index.js.map +1 -0
- package/Components/WorkflowsPermissions/useWorkflowsPermission.d.ts +5 -0
- package/Components/WorkflowsPermissions/useWorkflowsPermission.js +33 -0
- package/Components/WorkflowsPermissions/useWorkflowsPermission.js.map +1 -0
- package/Components/helpers/index.d.ts +2 -0
- package/Components/helpers/index.js +4 -0
- package/Components/helpers/index.js.map +1 -0
- package/Components/helpers/stateName.d.ts +2 -0
- package/Components/helpers/stateName.js +17 -0
- package/Components/helpers/stateName.js.map +1 -0
- package/Components/helpers/tagStateVariant.d.ts +3 -0
- package/Components/helpers/tagStateVariant.js +17 -0
- package/Components/helpers/tagStateVariant.js.map +1 -0
- package/Gateways/WorkflowNotificationTypesGateway.d.ts +10 -0
- package/Gateways/WorkflowNotificationTypesGateway.js +29 -0
- package/Gateways/WorkflowNotificationTypesGateway.js.map +1 -0
- package/Gateways/WorkflowStateGateway.d.ts +17 -0
- package/Gateways/WorkflowStateGateway.js +189 -0
- package/Gateways/WorkflowStateGateway.js.map +1 -0
- package/Gateways/WorkflowStateListGateway.d.ts +13 -0
- package/Gateways/WorkflowStateListGateway.js +88 -0
- package/Gateways/WorkflowStateListGateway.js.map +1 -0
- package/Gateways/WorkflowStatesWidgetGateway.d.ts +16 -0
- package/Gateways/WorkflowStatesWidgetGateway.js +133 -0
- package/Gateways/WorkflowStatesWidgetGateway.js.map +1 -0
- package/Gateways/WorkflowsGateway.d.ts +13 -0
- package/Gateways/WorkflowsGateway.js +77 -0
- package/Gateways/WorkflowsGateway.js.map +1 -0
- package/Gateways/abstraction/WorkflowNotificationTypesGateway.d.ts +16 -0
- package/Gateways/abstraction/WorkflowNotificationTypesGateway.js +3 -0
- package/Gateways/abstraction/WorkflowNotificationTypesGateway.js.map +1 -0
- package/Gateways/abstraction/WorkflowStateGateway.d.ts +107 -0
- package/Gateways/abstraction/WorkflowStateGateway.js +3 -0
- package/Gateways/abstraction/WorkflowStateGateway.js.map +1 -0
- package/Gateways/abstraction/WorkflowStateListGateway.d.ts +50 -0
- package/Gateways/abstraction/WorkflowStateListGateway.js +3 -0
- package/Gateways/abstraction/WorkflowStateListGateway.js.map +1 -0
- package/Gateways/abstraction/WorkflowStatesWidgetGateway.d.ts +69 -0
- package/Gateways/abstraction/WorkflowStatesWidgetGateway.js +3 -0
- package/Gateways/abstraction/WorkflowStatesWidgetGateway.js.map +1 -0
- package/Gateways/abstraction/WorkflowsGateway.d.ts +45 -0
- package/Gateways/abstraction/WorkflowsGateway.js +3 -0
- package/Gateways/abstraction/WorkflowsGateway.js.map +1 -0
- package/Gateways/graphql/workflowNotifications.d.ts +11 -0
- package/Gateways/graphql/workflowNotifications.js +26 -0
- package/Gateways/graphql/workflowNotifications.js.map +1 -0
- package/Gateways/graphql/workflowStates.d.ts +142 -0
- package/Gateways/graphql/workflowStates.js +171 -0
- package/Gateways/graphql/workflowStates.js.map +1 -0
- package/Gateways/graphql/workflows.d.ts +69 -0
- package/Gateways/graphql/workflows.js +67 -0
- package/Gateways/graphql/workflows.js.map +1 -0
- package/Gateways/index.d.ts +12 -0
- package/Gateways/index.js +7 -0
- package/Gateways/index.js.map +1 -0
- package/LICENSE +21 -0
- package/Models/WorkflowModel.d.ts +18 -0
- package/Models/WorkflowModel.js +78 -0
- package/Models/WorkflowModel.js.map +1 -0
- package/Models/WorkflowStateModel.d.ts +34 -0
- package/Models/WorkflowStateModel.js +117 -0
- package/Models/WorkflowStateModel.js.map +1 -0
- package/Models/WorkflowStateStepModel.d.ts +20 -0
- package/Models/WorkflowStateStepModel.js +44 -0
- package/Models/WorkflowStateStepModel.js.map +1 -0
- package/Models/WorkflowStepModel.d.ts +13 -0
- package/Models/WorkflowStepModel.js +29 -0
- package/Models/WorkflowStepModel.js.map +1 -0
- package/Models/abstractions/WorkflowModel.d.ts +13 -0
- package/Models/abstractions/WorkflowModel.js +3 -0
- package/Models/abstractions/WorkflowModel.js.map +1 -0
- package/Models/abstractions/WorkflowStateModel.d.ts +18 -0
- package/Models/abstractions/WorkflowStateModel.js +3 -0
- package/Models/abstractions/WorkflowStateModel.js.map +1 -0
- package/Models/abstractions/WorkflowStateStepModel.d.ts +5 -0
- package/Models/abstractions/WorkflowStateStepModel.js +3 -0
- package/Models/abstractions/WorkflowStateStepModel.js.map +1 -0
- package/Models/abstractions/WorkflowStepModel.d.ts +5 -0
- package/Models/abstractions/WorkflowStepModel.js +3 -0
- package/Models/abstractions/WorkflowStepModel.js.map +1 -0
- package/Models/index.d.ts +8 -0
- package/Models/index.js +6 -0
- package/Models/index.js.map +1 -0
- package/Presenters/WorkflowStateListPresenter.d.ts +24 -0
- package/Presenters/WorkflowStateListPresenter.js +54 -0
- package/Presenters/WorkflowStateListPresenter.js.map +1 -0
- package/Presenters/WorkflowStatePresenter.d.ts +51 -0
- package/Presenters/WorkflowStatePresenter.js +225 -0
- package/Presenters/WorkflowStatePresenter.js.map +1 -0
- package/Presenters/WorkflowStatesWidgetPresenter.d.ts +34 -0
- package/Presenters/WorkflowStatesWidgetPresenter.js +273 -0
- package/Presenters/WorkflowStatesWidgetPresenter.js.map +1 -0
- package/Presenters/WorkflowsPresenter.d.ts +31 -0
- package/Presenters/WorkflowsPresenter.js +112 -0
- package/Presenters/WorkflowsPresenter.js.map +1 -0
- package/Presenters/abstractions/WorkflowStateListPresenter.d.ts +58 -0
- package/Presenters/abstractions/WorkflowStateListPresenter.js +3 -0
- package/Presenters/abstractions/WorkflowStateListPresenter.js.map +1 -0
- package/Presenters/abstractions/WorkflowStatePresenter.d.ts +37 -0
- package/Presenters/abstractions/WorkflowStatePresenter.js +3 -0
- package/Presenters/abstractions/WorkflowStatePresenter.js.map +1 -0
- package/Presenters/abstractions/WorkflowStatesWidgetPresenter.d.ts +38 -0
- package/Presenters/abstractions/WorkflowStatesWidgetPresenter.js +3 -0
- package/Presenters/abstractions/WorkflowStatesWidgetPresenter.js.map +1 -0
- package/Presenters/abstractions/WorkflowsPresenter.d.ts +25 -0
- package/Presenters/abstractions/WorkflowsPresenter.js +3 -0
- package/Presenters/abstractions/WorkflowsPresenter.js.map +1 -0
- package/Presenters/index.d.ts +11 -0
- package/Presenters/index.js +6 -0
- package/Presenters/index.js.map +1 -0
- package/README.md +11 -0
- package/Repositories/WorkflowNotificationTypesRepository.d.ts +16 -0
- package/Repositories/WorkflowNotificationTypesRepository.js +29 -0
- package/Repositories/WorkflowNotificationTypesRepository.js.map +1 -0
- package/Repositories/WorkflowStateListRepository.d.ts +26 -0
- package/Repositories/WorkflowStateListRepository.js +74 -0
- package/Repositories/WorkflowStateListRepository.js.map +1 -0
- package/Repositories/WorkflowStateRepository.d.ts +22 -0
- package/Repositories/WorkflowStateRepository.js +131 -0
- package/Repositories/WorkflowStateRepository.js.map +1 -0
- package/Repositories/WorkflowStatesWidgetRepository.d.ts +24 -0
- package/Repositories/WorkflowStatesWidgetRepository.js +137 -0
- package/Repositories/WorkflowStatesWidgetRepository.js.map +1 -0
- package/Repositories/WorkflowsRepository.d.ts +21 -0
- package/Repositories/WorkflowsRepository.js +86 -0
- package/Repositories/WorkflowsRepository.js.map +1 -0
- package/Repositories/abstractions/WorkflowNotificationTypesRepository.d.ts +7 -0
- package/Repositories/abstractions/WorkflowNotificationTypesRepository.js +3 -0
- package/Repositories/abstractions/WorkflowNotificationTypesRepository.js.map +1 -0
- package/Repositories/abstractions/WorkflowStateListRepository.d.ts +13 -0
- package/Repositories/abstractions/WorkflowStateListRepository.js +3 -0
- package/Repositories/abstractions/WorkflowStateListRepository.js.map +1 -0
- package/Repositories/abstractions/WorkflowStateRepository.d.ts +37 -0
- package/Repositories/abstractions/WorkflowStateRepository.js +3 -0
- package/Repositories/abstractions/WorkflowStateRepository.js.map +1 -0
- package/Repositories/abstractions/WorkflowStatesWidgetRepository.d.ts +36 -0
- package/Repositories/abstractions/WorkflowStatesWidgetRepository.js +3 -0
- package/Repositories/abstractions/WorkflowStatesWidgetRepository.js.map +1 -0
- package/Repositories/abstractions/WorkflowsRepository.d.ts +17 -0
- package/Repositories/abstractions/WorkflowsRepository.js +3 -0
- package/Repositories/abstractions/WorkflowsRepository.js.map +1 -0
- package/Repositories/index.d.ts +13 -0
- package/Repositories/index.js +7 -0
- package/Repositories/index.js.map +1 -0
- package/hooks/canUseWorkflows.d.ts +3 -0
- package/hooks/canUseWorkflows.js +10 -0
- package/hooks/canUseWorkflows.js.map +1 -0
- package/index.d.ts +56 -0
- package/index.js +42 -0
- package/index.js.map +1 -0
- package/package.json +49 -0
- package/routes.d.ts +10 -0
- package/routes.js +18 -0
- package/routes.js.map +1 -0
- package/types.d.ts +90 -0
- package/types.js +19 -0
- package/types.js.map +1 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["makeAutoObservable","runInAction","toJS","WorkflowStateModel","WorkflowStateValue","WorkflowStatePresenter","workflow","state","undefined","dialog","step","isOwner","identity","createdBy","id","canCancel","previousStep","approved","rejected","vm","currentStep","lastApprovedStep","lastApproved","lastRejectedStep","lastRejected","nextStep","loading","repository","workflowsRepository","error","app","targetRevisionId","constructor","params","title","init","workflows","listWorkflows","where","length","getTargetState","create","clearDialog","setDialog","requestReview","item","start","type","approve","comment","reject","cancel","takeOver","showCancelReviewDialog","showRequestReviewDialog","showStartDialog","showApproveDialog","hideDialog","showRejectDialog","showCommentDialog","steps","find","showTakeOverDialog"],"sources":["WorkflowStatePresenter.ts"],"sourcesContent":["import type {\n IWorkflowStatePresenter,\n IWorkflowStatePresenterViewModel,\n IWorkflowStatePresenterViewModelDialog\n} from \"./abstractions/WorkflowStatePresenter.js\";\nimport type { IWorkflowsRepository, IWorkflowStateRepository } from \"../Repositories/index.js\";\nimport { makeAutoObservable, runInAction, toJS } from \"mobx\";\nimport {\n type IWorkflowStateModel,\n type IWorkflowStateStepModel,\n WorkflowStateModel\n} from \"~/Models/index.js\";\nimport { type IIdentity, type IWorkflow, WorkflowStateValue } from \"~/types.js\";\n\nexport interface IWorkflowStatePresenterParams {\n repository: IWorkflowStateRepository;\n workflowsRepository: IWorkflowsRepository;\n app: string;\n targetRevisionId: string;\n title: string;\n identity: IIdentity | null;\n}\n\nexport class WorkflowStatePresenter implements IWorkflowStatePresenter {\n private readonly repository;\n private readonly workflowsRepository;\n private workflow: IWorkflow | null = null;\n private readonly app;\n private readonly targetRevisionId;\n private readonly title;\n private readonly identity;\n private state: IWorkflowStateModel | null | undefined = undefined;\n private dialog: IWorkflowStatePresenterViewModelDialog | null = null;\n step: IWorkflowStateStepModel | null = null;\n\n private get isOwner(): boolean {\n if (!this.identity) {\n return false;\n }\n return this.state?.createdBy?.id === this.identity.id;\n }\n /**\n * Determines whether the current user can cancel the review request.\n * User must be the owner of the requested review.\n * Previous step must not exist (only the initial request can be cancelled).\n * Current step must be in pending state.\n */\n private get canCancel(): boolean {\n if (!this.isOwner) {\n return false;\n } else if (this.state?.previousStep) {\n return false;\n } else if (\n this.state?.state === WorkflowStateValue.approved ||\n this.state?.state === WorkflowStateValue.rejected\n ) {\n return false;\n }\n return true;\n }\n\n get vm(): IWorkflowStatePresenterViewModel {\n return {\n workflow: toJS(this.workflow),\n state: this.state?.toJS(),\n step: this.state?.currentStep?.toJS(),\n lastApprovedStep: toJS(this.state?.lastApproved || null),\n lastRejectedStep: toJS(this.state?.lastRejected || null),\n nextStep: toJS(this.state ? this.state.nextStep : null),\n loading: this.repository.loading || this.workflowsRepository.loading,\n error: toJS(this.repository.error || this.workflowsRepository.error),\n app: this.app,\n id: this.targetRevisionId,\n canCancel: this.canCancel,\n dialog: this.dialog\n };\n }\n\n public constructor(params: IWorkflowStatePresenterParams) {\n this.repository = params.repository;\n this.workflowsRepository = params.workflowsRepository;\n this.app = params.app;\n this.title = params.title;\n this.identity = params.identity;\n this.targetRevisionId = params.targetRevisionId;\n\n makeAutoObservable(this);\n\n this.init();\n }\n\n private async init(): Promise<void> {\n const workflows = await this.workflowsRepository.listWorkflows({\n where: {\n app: this.app\n }\n });\n\n runInAction(() => {\n if (workflows.length === 0) {\n this.workflow = null;\n this.state = null;\n return;\n }\n this.workflow = workflows[0];\n });\n if (!this.workflow) {\n return;\n } else if (!this.targetRevisionId) {\n return;\n }\n\n const state = await this.repository.getTargetState(this.app, this.targetRevisionId);\n runInAction(() => {\n this.state = state ? WorkflowStateModel.create(state) : null;\n });\n }\n\n private clearDialog() {\n this.dialog = null;\n }\n\n private setDialog(dialog: IWorkflowStatePresenterViewModelDialog) {\n this.dialog = dialog;\n }\n\n requestReview = async () => {\n const item = await this.repository.requestReview({\n app: this.app,\n targetRevisionId: this.targetRevisionId,\n title: this.title\n });\n runInAction(() => {\n this.state = item ? WorkflowStateModel.create(item) : null;\n this.clearDialog();\n });\n };\n\n start = async () => {\n const item = await this.repository.start({\n id: this.state!.id\n });\n runInAction(() => {\n this.state = item ? WorkflowStateModel.create(item) : null;\n if (!item) {\n return;\n }\n this.setDialog({\n type: \"start:success\"\n });\n });\n };\n\n approve = async (comment?: string) => {\n const item = await this.repository.approve({\n id: this.state!.id,\n comment\n });\n runInAction(() => {\n this.state = item ? WorkflowStateModel.create(item) : null;\n if (!item) {\n return;\n }\n this.setDialog({\n type: \"approve:success\"\n });\n });\n };\n\n reject = async (comment: string) => {\n const item = await this.repository.reject({\n id: this.state!.id,\n comment\n });\n runInAction(() => {\n this.state = item ? WorkflowStateModel.create(item) : null;\n if (!item) {\n return;\n }\n this.setDialog({\n type: \"reject:success\"\n });\n });\n };\n\n cancel = async () => {\n await this.repository.cancel(this.state!.id);\n runInAction(() => {\n this.state = null;\n this.clearDialog();\n });\n };\n\n takeOver = async () => {\n const item = await this.repository.takeOver({\n id: this.state!.id\n });\n runInAction(() => {\n this.state = item ? WorkflowStateModel.create(item) : null;\n if (!item) {\n return;\n }\n this.setDialog({\n type: \"takeOver:success\",\n step: null\n });\n });\n };\n\n showCancelReviewDialog = () => {\n runInAction(() => {\n this.setDialog({\n type: \"cancelReview\"\n });\n });\n };\n\n showRequestReviewDialog = () => {\n runInAction(() => {\n this.setDialog({\n type: \"requestReview\"\n });\n });\n };\n\n showStartDialog = () => {\n runInAction(() => {\n this.setDialog({\n type: \"start\"\n });\n });\n };\n\n showApproveDialog = () => {\n runInAction(() => {\n this.setDialog({\n type: \"approve\"\n });\n });\n };\n\n hideDialog = () => {\n runInAction(() => {\n this.clearDialog();\n });\n };\n\n showRejectDialog = () => {\n runInAction(() => {\n this.setDialog({\n type: \"reject\"\n });\n });\n };\n\n showCommentDialog = (id: string) => {\n const step = this.state?.steps.find(step => step.id === id);\n if (!step) {\n return;\n }\n runInAction(() => {\n this.setDialog({\n type: \"comment\",\n step\n });\n });\n };\n\n showTakeOverDialog = () => {\n runInAction(() => {\n this.setDialog({\n type: \"takeOver\"\n });\n });\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { IWorkflowStatesWidgetRepository } from "../Repositories/abstractions/WorkflowStatesWidgetRepository.js";
|
|
2
|
+
import type { IWorkflowStatesWidgetPresenter, IWorkflowStatesWidgetPresenterViewModel } from "./abstractions/WorkflowStatesWidgetPresenter.js";
|
|
3
|
+
import { type IWorkflowState, WorkflowStateValue } from "../types.js";
|
|
4
|
+
import type { NonEmptyArray } from "@webiny/app/types.js";
|
|
5
|
+
export interface IWorkflowStatesWidgetPresenterParams {
|
|
6
|
+
repository: IWorkflowStatesWidgetRepository;
|
|
7
|
+
type: "own" | "requested";
|
|
8
|
+
states: NonEmptyArray<WorkflowStateValue>;
|
|
9
|
+
}
|
|
10
|
+
export declare class WorkflowStatesWidgetPresenter implements IWorkflowStatesWidgetPresenter {
|
|
11
|
+
#private;
|
|
12
|
+
private readonly repository;
|
|
13
|
+
private dialog;
|
|
14
|
+
private state;
|
|
15
|
+
private readonly values;
|
|
16
|
+
get vm(): IWorkflowStatesWidgetPresenterViewModel;
|
|
17
|
+
constructor(params: IWorkflowStatesWidgetPresenterParams);
|
|
18
|
+
private init;
|
|
19
|
+
private load;
|
|
20
|
+
private initOwn;
|
|
21
|
+
private initRequested;
|
|
22
|
+
private increaseTotals;
|
|
23
|
+
private decreaseTotals;
|
|
24
|
+
private moveStepBetweenStates;
|
|
25
|
+
startStateStep: (state: IWorkflowState) => Promise<void>;
|
|
26
|
+
takeOverStateStep: (state: IWorkflowState) => Promise<void>;
|
|
27
|
+
approveStateStep: (state: IWorkflowState, comment?: string) => Promise<void>;
|
|
28
|
+
rejectStateStep: (state: IWorkflowState, comment: string) => Promise<void>;
|
|
29
|
+
showStartStateStepDialog: (state: IWorkflowState) => void;
|
|
30
|
+
showTakeOverStateStepDialog: (state: IWorkflowState) => void;
|
|
31
|
+
showApproveStateStepDialog: (state: IWorkflowState) => void;
|
|
32
|
+
showRejectStateStepDialog: (state: IWorkflowState) => void;
|
|
33
|
+
hideDialog: () => void;
|
|
34
|
+
}
|
|
@@ -0,0 +1,273 @@
|
|
|
1
|
+
import { WorkflowStateValue } from "../types.js";
|
|
2
|
+
import { makeAutoObservable, observable, runInAction, set, toJS } from "mobx";
|
|
3
|
+
const mapListStatesResponse = key => {
|
|
4
|
+
return input => {
|
|
5
|
+
return {
|
|
6
|
+
key,
|
|
7
|
+
items: input.items,
|
|
8
|
+
totalCount: input.totalCount
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
};
|
|
12
|
+
const mapPromiseAllResponse = results => {
|
|
13
|
+
return results.reduce((output, result) => {
|
|
14
|
+
output[result.key] = {
|
|
15
|
+
items: result.items,
|
|
16
|
+
total: result.totalCount
|
|
17
|
+
};
|
|
18
|
+
return output;
|
|
19
|
+
}, {});
|
|
20
|
+
};
|
|
21
|
+
export class WorkflowStatesWidgetPresenter {
|
|
22
|
+
#type;
|
|
23
|
+
#states;
|
|
24
|
+
get vm() {
|
|
25
|
+
return {
|
|
26
|
+
type: this.#type,
|
|
27
|
+
states: this.#states,
|
|
28
|
+
loading: toJS(this.repository.loading),
|
|
29
|
+
error: toJS(this.repository.error),
|
|
30
|
+
values: toJS(this.values),
|
|
31
|
+
dialogLoading: this.repository.actionLoading,
|
|
32
|
+
dialogError: this.repository.actionError,
|
|
33
|
+
showStartDialog: this.dialog === "start" && this.state ? this.state : null,
|
|
34
|
+
showStartSuccessDialog: this.dialog === "start:success" && this.state ? this.state : null,
|
|
35
|
+
showApproveDialog: this.dialog === "approve" && this.state ? this.state : null,
|
|
36
|
+
showApproveSuccessDialog: this.dialog === "approve:success" && this.state ? this.state : null,
|
|
37
|
+
showRejectDialog: this.dialog === "reject" && this.state ? this.state : null,
|
|
38
|
+
showRejectSuccessDialog: this.dialog === "reject:success" && this.state ? this.state : null,
|
|
39
|
+
showTakeOverDialog: this.dialog === "takeOver" && this.state ? this.state : null,
|
|
40
|
+
showTakeOverSuccessDialog: this.dialog === "takeOver:success" && this.state ? this.state : null
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
constructor(params) {
|
|
44
|
+
this.repository = params.repository;
|
|
45
|
+
this.#type = params.type;
|
|
46
|
+
this.#states = params.states;
|
|
47
|
+
this.values = observable.object({});
|
|
48
|
+
this.dialog = null;
|
|
49
|
+
this.state = null;
|
|
50
|
+
makeAutoObservable(this);
|
|
51
|
+
this.init();
|
|
52
|
+
}
|
|
53
|
+
async init() {
|
|
54
|
+
const result = await this.load();
|
|
55
|
+
runInAction(() => {
|
|
56
|
+
for (const key in result) {
|
|
57
|
+
set(this.values, key, result[key]);
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
async load() {
|
|
62
|
+
if (this.#type === "requested") {
|
|
63
|
+
return await this.initRequested();
|
|
64
|
+
}
|
|
65
|
+
return await this.initOwn();
|
|
66
|
+
}
|
|
67
|
+
async initOwn() {
|
|
68
|
+
return await Promise.all(this.#states.map(state => {
|
|
69
|
+
return this.repository.listOwnStates({
|
|
70
|
+
state,
|
|
71
|
+
limit: 5
|
|
72
|
+
}).then(mapListStatesResponse(state));
|
|
73
|
+
})).then(mapPromiseAllResponse);
|
|
74
|
+
}
|
|
75
|
+
async initRequested() {
|
|
76
|
+
return await Promise.all(this.#states.map(state => {
|
|
77
|
+
return this.repository.listRequestedStates({
|
|
78
|
+
state,
|
|
79
|
+
limit: 5
|
|
80
|
+
}).then(mapListStatesResponse(state));
|
|
81
|
+
})).then(mapPromiseAllResponse);
|
|
82
|
+
}
|
|
83
|
+
increaseTotals(key) {
|
|
84
|
+
const value = this.values[key];
|
|
85
|
+
if (!value) {
|
|
86
|
+
set(this.values, key, {
|
|
87
|
+
items: [],
|
|
88
|
+
total: 1
|
|
89
|
+
});
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
set(this.values, key, {
|
|
93
|
+
...value,
|
|
94
|
+
total: value.total + 1
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
decreaseTotals(key) {
|
|
98
|
+
const value = this.values[key];
|
|
99
|
+
if (!value?.total) {
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
set(this.values, key, {
|
|
103
|
+
...value,
|
|
104
|
+
total: value.total - 1
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
moveStepBetweenStates(params) {
|
|
108
|
+
const {
|
|
109
|
+
from: fromState,
|
|
110
|
+
to: toState
|
|
111
|
+
} = params;
|
|
112
|
+
if (fromState.state === toState.state) {
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
const from = fromState.state;
|
|
116
|
+
const to = toState.state;
|
|
117
|
+
const fromIndex = this.values[from].items.findIndex(item => item.id === fromState.id);
|
|
118
|
+
if (fromIndex === -1) {
|
|
119
|
+
return;
|
|
120
|
+
}
|
|
121
|
+
const fromItems = Array.from(this.values[from].items);
|
|
122
|
+
fromItems.splice(fromIndex, 1);
|
|
123
|
+
set(this.values, from, {
|
|
124
|
+
...this.values[from],
|
|
125
|
+
items: fromItems
|
|
126
|
+
});
|
|
127
|
+
const toItems = Array.from(this.values[to]?.items || []);
|
|
128
|
+
toItems.unshift(toState);
|
|
129
|
+
set(this.values, to, {
|
|
130
|
+
total: this.values[to]?.total || 0,
|
|
131
|
+
items: toItems
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
startStateStep = async state => {
|
|
135
|
+
const key = WorkflowStateValue.pending;
|
|
136
|
+
const values = this.values[key];
|
|
137
|
+
const items = values.items || [];
|
|
138
|
+
const index = items.findIndex(item => item.id === state.id);
|
|
139
|
+
if (index === -1) {
|
|
140
|
+
return;
|
|
141
|
+
}
|
|
142
|
+
const original = items[index];
|
|
143
|
+
const result = await this.repository.startStateStep({
|
|
144
|
+
id: state.id
|
|
145
|
+
});
|
|
146
|
+
if (!result) {
|
|
147
|
+
return;
|
|
148
|
+
}
|
|
149
|
+
runInAction(() => {
|
|
150
|
+
this.moveStepBetweenStates({
|
|
151
|
+
from: original,
|
|
152
|
+
to: result
|
|
153
|
+
});
|
|
154
|
+
if (result.state === WorkflowStateValue.inReview) {
|
|
155
|
+
this.decreaseTotals(WorkflowStateValue.pending);
|
|
156
|
+
this.increaseTotals(WorkflowStateValue.inReview);
|
|
157
|
+
}
|
|
158
|
+
this.state = result;
|
|
159
|
+
this.dialog = "start:success";
|
|
160
|
+
});
|
|
161
|
+
};
|
|
162
|
+
takeOverStateStep = async state => {
|
|
163
|
+
const key = WorkflowStateValue.inReview;
|
|
164
|
+
const values = this.values[key];
|
|
165
|
+
const items = values.items || [];
|
|
166
|
+
const index = items.findIndex(item => item.id === state.id);
|
|
167
|
+
if (index === -1) {
|
|
168
|
+
return;
|
|
169
|
+
}
|
|
170
|
+
const result = await this.repository.takeOverStateStep({
|
|
171
|
+
id: state.id
|
|
172
|
+
});
|
|
173
|
+
if (!result) {
|
|
174
|
+
return;
|
|
175
|
+
}
|
|
176
|
+
runInAction(() => {
|
|
177
|
+
items[index] = result;
|
|
178
|
+
set(this.values, key, {
|
|
179
|
+
...values,
|
|
180
|
+
items
|
|
181
|
+
});
|
|
182
|
+
this.state = result;
|
|
183
|
+
this.dialog = "takeOver:success";
|
|
184
|
+
});
|
|
185
|
+
};
|
|
186
|
+
approveStateStep = async (state, comment) => {
|
|
187
|
+
const key = WorkflowStateValue.inReview;
|
|
188
|
+
const values = this.values[key];
|
|
189
|
+
const items = values.items || [];
|
|
190
|
+
const original = items.find(item => item.id === state.id);
|
|
191
|
+
if (!original) {
|
|
192
|
+
return;
|
|
193
|
+
}
|
|
194
|
+
const result = await this.repository.approveStateStep({
|
|
195
|
+
id: state.id,
|
|
196
|
+
comment
|
|
197
|
+
});
|
|
198
|
+
if (!result) {
|
|
199
|
+
return;
|
|
200
|
+
}
|
|
201
|
+
runInAction(() => {
|
|
202
|
+
this.moveStepBetweenStates({
|
|
203
|
+
from: original,
|
|
204
|
+
to: result
|
|
205
|
+
});
|
|
206
|
+
if (result.state === WorkflowStateValue.pending) {
|
|
207
|
+
this.increaseTotals(WorkflowStateValue.pending);
|
|
208
|
+
}
|
|
209
|
+
this.decreaseTotals(WorkflowStateValue.inReview);
|
|
210
|
+
this.state = result;
|
|
211
|
+
this.dialog = "approve:success";
|
|
212
|
+
});
|
|
213
|
+
};
|
|
214
|
+
rejectStateStep = async (state, comment) => {
|
|
215
|
+
const key = WorkflowStateValue.inReview;
|
|
216
|
+
const values = this.values[key];
|
|
217
|
+
const items = values.items || [];
|
|
218
|
+
const original = items.find(item => item.id === state.id && item.state);
|
|
219
|
+
if (!original) {
|
|
220
|
+
return;
|
|
221
|
+
}
|
|
222
|
+
const result = await this.repository.rejectStateStep({
|
|
223
|
+
id: state.id,
|
|
224
|
+
comment
|
|
225
|
+
});
|
|
226
|
+
if (!result) {
|
|
227
|
+
return;
|
|
228
|
+
}
|
|
229
|
+
runInAction(() => {
|
|
230
|
+
this.moveStepBetweenStates({
|
|
231
|
+
from: original,
|
|
232
|
+
to: result
|
|
233
|
+
});
|
|
234
|
+
if (result.state === WorkflowStateValue.rejected) {
|
|
235
|
+
this.decreaseTotals(WorkflowStateValue.inReview);
|
|
236
|
+
}
|
|
237
|
+
this.state = result;
|
|
238
|
+
this.dialog = "reject:success";
|
|
239
|
+
});
|
|
240
|
+
};
|
|
241
|
+
showStartStateStepDialog = state => {
|
|
242
|
+
runInAction(() => {
|
|
243
|
+
this.state = state;
|
|
244
|
+
this.dialog = "start";
|
|
245
|
+
});
|
|
246
|
+
};
|
|
247
|
+
showTakeOverStateStepDialog = state => {
|
|
248
|
+
runInAction(() => {
|
|
249
|
+
this.state = state;
|
|
250
|
+
this.dialog = "takeOver";
|
|
251
|
+
});
|
|
252
|
+
};
|
|
253
|
+
showApproveStateStepDialog = state => {
|
|
254
|
+
runInAction(() => {
|
|
255
|
+
this.state = state;
|
|
256
|
+
this.dialog = "approve";
|
|
257
|
+
});
|
|
258
|
+
};
|
|
259
|
+
showRejectStateStepDialog = state => {
|
|
260
|
+
runInAction(() => {
|
|
261
|
+
this.state = state;
|
|
262
|
+
this.dialog = "reject";
|
|
263
|
+
});
|
|
264
|
+
};
|
|
265
|
+
hideDialog = () => {
|
|
266
|
+
runInAction(() => {
|
|
267
|
+
this.state = null;
|
|
268
|
+
this.dialog = null;
|
|
269
|
+
});
|
|
270
|
+
};
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
//# sourceMappingURL=WorkflowStatesWidgetPresenter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["WorkflowStateValue","makeAutoObservable","observable","runInAction","set","toJS","mapListStatesResponse","key","input","items","totalCount","mapPromiseAllResponse","results","reduce","output","result","total","WorkflowStatesWidgetPresenter","type","states","vm","loading","repository","error","values","dialogLoading","actionLoading","dialogError","actionError","showStartDialog","dialog","state","showStartSuccessDialog","showApproveDialog","showApproveSuccessDialog","showRejectDialog","showRejectSuccessDialog","showTakeOverDialog","showTakeOverSuccessDialog","constructor","params","object","init","load","initRequested","initOwn","Promise","all","map","listOwnStates","limit","then","listRequestedStates","increaseTotals","value","decreaseTotals","moveStepBetweenStates","from","fromState","to","toState","fromIndex","findIndex","item","id","fromItems","Array","splice","toItems","unshift","startStateStep","pending","index","original","inReview","takeOverStateStep","approveStateStep","comment","find","rejectStateStep","rejected","showStartStateStepDialog","showTakeOverStateStepDialog","showApproveStateStepDialog","showRejectStateStepDialog","hideDialog"],"sources":["WorkflowStatesWidgetPresenter.ts"],"sourcesContent":["import type {\n IWorkflowStatesWidgetRepository,\n IWorkflowStatesWidgetRepositoryListResult\n} from \"~/Repositories/abstractions/WorkflowStatesWidgetRepository.js\";\nimport type {\n IWorkflowStatesWidgetPresenter,\n IWorkflowStatesWidgetPresenterViewModel,\n IWorkflowStatesWidgetPresenterViewModelValues\n} from \"./abstractions/WorkflowStatesWidgetPresenter.js\";\nimport { type IWorkflowState, WorkflowStateValue } from \"~/types.js\";\nimport { makeAutoObservable, observable, runInAction, set, toJS } from \"mobx\";\nimport type { NonEmptyArray } from \"@webiny/app/types.js\";\n\nexport interface IWorkflowStatesWidgetPresenterParams {\n repository: IWorkflowStatesWidgetRepository;\n type: \"own\" | \"requested\";\n states: NonEmptyArray<WorkflowStateValue>;\n}\n\ninterface IResultData {\n key: WorkflowStateValue;\n items: IWorkflowState[];\n totalCount: number;\n}\n\nconst mapListStatesResponse = (key: WorkflowStateValue) => {\n return (input: IWorkflowStatesWidgetRepositoryListResult): IResultData => {\n return {\n key,\n items: input.items,\n totalCount: input.totalCount\n };\n };\n};\n\nconst mapPromiseAllResponse = (\n results: IResultData[]\n): IWorkflowStatesWidgetPresenterViewModelValues => {\n return results.reduce<IWorkflowStatesWidgetPresenterViewModelValues>((output, result) => {\n output[result.key] = {\n items: result.items,\n total: result.totalCount\n };\n return output;\n }, {});\n};\n\ninterface IMoveStepBetweenStatesParams {\n from: IWorkflowState;\n to: IWorkflowState;\n}\n\nexport class WorkflowStatesWidgetPresenter implements IWorkflowStatesWidgetPresenter {\n readonly #type;\n readonly #states;\n private readonly repository;\n private dialog:\n | \"approve\"\n | \"reject\"\n | \"approve:success\"\n | \"reject:success\"\n | \"start\"\n | \"start:success\"\n | \"takeOver\"\n | \"takeOver:success\"\n | null;\n private state: IWorkflowState | null;\n private readonly values;\n\n public get vm(): IWorkflowStatesWidgetPresenterViewModel {\n return {\n type: this.#type,\n states: this.#states,\n loading: toJS(this.repository.loading),\n error: toJS(this.repository.error),\n values: toJS(this.values),\n dialogLoading: this.repository.actionLoading,\n dialogError: this.repository.actionError,\n showStartDialog: this.dialog === \"start\" && this.state ? this.state : null,\n showStartSuccessDialog:\n this.dialog === \"start:success\" && this.state ? this.state : null,\n showApproveDialog: this.dialog === \"approve\" && this.state ? this.state : null,\n showApproveSuccessDialog:\n this.dialog === \"approve:success\" && this.state ? this.state : null,\n showRejectDialog: this.dialog === \"reject\" && this.state ? this.state : null,\n showRejectSuccessDialog:\n this.dialog === \"reject:success\" && this.state ? this.state : null,\n showTakeOverDialog: this.dialog === \"takeOver\" && this.state ? this.state : null,\n showTakeOverSuccessDialog:\n this.dialog === \"takeOver:success\" && this.state ? this.state : null\n };\n }\n\n public constructor(params: IWorkflowStatesWidgetPresenterParams) {\n this.repository = params.repository;\n this.#type = params.type;\n this.#states = params.states;\n this.values = observable.object<IWorkflowStatesWidgetPresenterViewModelValues>({});\n this.dialog = null;\n this.state = null;\n\n makeAutoObservable(this);\n\n this.init();\n }\n\n private async init(): Promise<void> {\n const result = await this.load();\n\n runInAction(() => {\n for (const key in result) {\n set(this.values, key, result[key]);\n }\n });\n }\n\n private async load(): Promise<IWorkflowStatesWidgetPresenterViewModelValues> {\n if (this.#type === \"requested\") {\n return await this.initRequested();\n }\n return await this.initOwn();\n }\n\n private async initOwn() {\n return await Promise.all(\n this.#states.map(state => {\n return this.repository\n .listOwnStates({\n state,\n limit: 5\n })\n .then(mapListStatesResponse(state));\n })\n ).then(mapPromiseAllResponse);\n }\n\n private async initRequested() {\n return await Promise.all(\n this.#states.map(state => {\n return this.repository\n .listRequestedStates({\n state,\n limit: 5\n })\n .then(mapListStatesResponse(state));\n })\n ).then(mapPromiseAllResponse);\n }\n\n private increaseTotals(key: WorkflowStateValue): void {\n const value = this.values[key];\n if (!value) {\n set(this.values, key, {\n items: [],\n total: 1\n });\n return;\n }\n set(this.values, key, {\n ...value,\n total: value.total + 1\n });\n }\n\n private decreaseTotals(key: WorkflowStateValue): void {\n const value = this.values[key];\n if (!value?.total) {\n return;\n }\n\n set(this.values, key, {\n ...value,\n total: value.total - 1\n });\n }\n\n private moveStepBetweenStates(params: IMoveStepBetweenStatesParams): void {\n const { from: fromState, to: toState } = params;\n if (fromState.state === toState.state) {\n return;\n }\n const from = fromState.state;\n const to = toState.state;\n\n const fromIndex = this.values[from].items.findIndex(item => item.id === fromState.id);\n if (fromIndex === -1) {\n return;\n }\n const fromItems = Array.from(this.values[from].items);\n fromItems.splice(fromIndex, 1);\n set(this.values, from, {\n ...this.values[from],\n items: fromItems\n });\n\n const toItems = Array.from(this.values[to]?.items || []);\n toItems.unshift(toState);\n set(this.values, to, {\n total: this.values[to]?.total || 0,\n items: toItems\n });\n }\n\n startStateStep = async (state: IWorkflowState): Promise<void> => {\n const key = WorkflowStateValue.pending;\n const values = this.values[key];\n const items = values.items || [];\n const index = items.findIndex(item => item.id === state.id);\n if (index === -1) {\n return;\n }\n const original = items[index];\n const result = await this.repository.startStateStep({\n id: state.id\n });\n if (!result) {\n return;\n }\n runInAction(() => {\n this.moveStepBetweenStates({\n from: original,\n to: result\n });\n if (result.state === WorkflowStateValue.inReview) {\n this.decreaseTotals(WorkflowStateValue.pending);\n this.increaseTotals(WorkflowStateValue.inReview);\n }\n this.state = result;\n this.dialog = \"start:success\";\n });\n };\n\n takeOverStateStep = async (state: IWorkflowState): Promise<void> => {\n const key = WorkflowStateValue.inReview;\n const values = this.values[key];\n const items = values.items || [];\n const index = items.findIndex(item => item.id === state.id);\n if (index === -1) {\n return;\n }\n const result = await this.repository.takeOverStateStep({\n id: state.id\n });\n if (!result) {\n return;\n }\n runInAction(() => {\n items[index] = result;\n set(this.values, key, {\n ...values,\n items\n });\n this.state = result;\n this.dialog = \"takeOver:success\";\n });\n };\n\n approveStateStep = async (state: IWorkflowState, comment?: string): Promise<void> => {\n const key = WorkflowStateValue.inReview;\n const values = this.values[key];\n const items = values.items || [];\n const original = items.find(item => item.id === state.id);\n if (!original) {\n return;\n }\n\n const result = await this.repository.approveStateStep({\n id: state.id,\n comment\n });\n if (!result) {\n return;\n }\n runInAction(() => {\n this.moveStepBetweenStates({\n from: original,\n to: result\n });\n if (result.state === WorkflowStateValue.pending) {\n this.increaseTotals(WorkflowStateValue.pending);\n }\n this.decreaseTotals(WorkflowStateValue.inReview);\n this.state = result;\n this.dialog = \"approve:success\";\n });\n };\n\n rejectStateStep = async (state: IWorkflowState, comment: string): Promise<void> => {\n const key = WorkflowStateValue.inReview;\n const values = this.values[key];\n const items = values.items || [];\n const original = items.find(item => item.id === state.id && item.state);\n if (!original) {\n return;\n }\n const result = await this.repository.rejectStateStep({\n id: state.id,\n comment\n });\n if (!result) {\n return;\n }\n\n runInAction(() => {\n this.moveStepBetweenStates({\n from: original,\n to: result\n });\n if (result.state === WorkflowStateValue.rejected) {\n this.decreaseTotals(WorkflowStateValue.inReview);\n }\n this.state = result;\n this.dialog = \"reject:success\";\n });\n };\n\n showStartStateStepDialog = (state: IWorkflowState): void => {\n runInAction(() => {\n this.state = state;\n this.dialog = \"start\";\n });\n };\n\n showTakeOverStateStepDialog = (state: IWorkflowState): void => {\n runInAction(() => {\n this.state = state;\n this.dialog = \"takeOver\";\n });\n };\n\n showApproveStateStepDialog = (state: IWorkflowState): void => {\n runInAction(() => {\n this.state = state;\n this.dialog = \"approve\";\n });\n };\n\n showRejectStateStepDialog = (state: IWorkflowState): void => {\n runInAction(() => {\n this.state = state;\n this.dialog = \"reject\";\n });\n };\n\n hideDialog = (): void => {\n runInAction(() => {\n this.state = null;\n this.dialog = null;\n });\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { IWorkflowsPresenter, IWorkflowsViewModel } from "./abstractions/WorkflowsPresenter.js";
|
|
2
|
+
import type { IWorkflowNotificationTypesRepository, IWorkflowsRepository } from "../Repositories/index.js";
|
|
3
|
+
import type { IWorkflow, IWorkflowApplication, IWorkflowStep } from "../types.js";
|
|
4
|
+
import { type IWorkflowModel } from "../Models/index.js";
|
|
5
|
+
export interface IWorkflowsPresenterParams {
|
|
6
|
+
app: IWorkflowApplication;
|
|
7
|
+
workflowsRepository: IWorkflowsRepository;
|
|
8
|
+
notificationTypesRepository: IWorkflowNotificationTypesRepository;
|
|
9
|
+
defaultWorkflow: IWorkflow;
|
|
10
|
+
}
|
|
11
|
+
export declare class WorkflowsPresenter implements IWorkflowsPresenter {
|
|
12
|
+
private readonly app;
|
|
13
|
+
private readonly workflowsRepository;
|
|
14
|
+
private readonly notificationTypesRepository;
|
|
15
|
+
private readonly workflows;
|
|
16
|
+
private readonly notifications;
|
|
17
|
+
private readonly defaultWorkflow;
|
|
18
|
+
get vm(): IWorkflowsViewModel;
|
|
19
|
+
constructor(params: IWorkflowsPresenterParams);
|
|
20
|
+
private init;
|
|
21
|
+
updateWorkflow: (workflow: IWorkflow) => void;
|
|
22
|
+
deleteWorkflow(workflow: Pick<IWorkflow, "id">): void;
|
|
23
|
+
getWorkflow: () => IWorkflowModel;
|
|
24
|
+
addStep: (step: IWorkflowStep) => void;
|
|
25
|
+
updateStep: (step: IWorkflowStep) => void;
|
|
26
|
+
removeStep: ({ id }: Pick<IWorkflowStep, "id">) => void;
|
|
27
|
+
canMoveStepUp: (step: Pick<IWorkflowStep, "id">) => boolean;
|
|
28
|
+
moveStepUp: (step: Pick<IWorkflowStep, "id">) => void;
|
|
29
|
+
canMoveStepDown: (step: Pick<IWorkflowStep, "id">) => boolean;
|
|
30
|
+
moveStepDown: (step: Pick<IWorkflowStep, "id">) => void;
|
|
31
|
+
}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { makeAutoObservable, observable, runInAction, toJS } from "mobx";
|
|
2
|
+
import { WorkflowModel } from "../Models/index.js";
|
|
3
|
+
export class WorkflowsPresenter {
|
|
4
|
+
get vm() {
|
|
5
|
+
const workflow = this.workflows[0] || null;
|
|
6
|
+
return {
|
|
7
|
+
workflows: this.workflows.map(w => w.toJS()),
|
|
8
|
+
dirty: workflow ? workflow.dirty : false,
|
|
9
|
+
workflow: workflow ? workflow.toJS() : null,
|
|
10
|
+
notifications: this.notifications,
|
|
11
|
+
loading: this.workflowsRepository.loading || this.notificationTypesRepository.loading,
|
|
12
|
+
error: toJS(this.workflowsRepository.error || this.notificationTypesRepository.error),
|
|
13
|
+
app: this.app
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
constructor(params) {
|
|
17
|
+
this.app = params.app;
|
|
18
|
+
this.workflowsRepository = params.workflowsRepository;
|
|
19
|
+
this.notificationTypesRepository = params.notificationTypesRepository;
|
|
20
|
+
this.defaultWorkflow = params.defaultWorkflow;
|
|
21
|
+
this.workflows = observable.array([]);
|
|
22
|
+
this.notifications = observable.array([]);
|
|
23
|
+
makeAutoObservable(this);
|
|
24
|
+
this.init();
|
|
25
|
+
}
|
|
26
|
+
async init() {
|
|
27
|
+
const [notifications, workflows] = await Promise.all([this.notificationTypesRepository.list(), this.workflowsRepository.listWorkflows({
|
|
28
|
+
where: {
|
|
29
|
+
app: this.app.id
|
|
30
|
+
}
|
|
31
|
+
})]);
|
|
32
|
+
if (workflows.length === 0) {
|
|
33
|
+
workflows.push(this.defaultWorkflow);
|
|
34
|
+
}
|
|
35
|
+
runInAction(() => {
|
|
36
|
+
this.workflows.replace(workflows.map(w => new WorkflowModel(w)));
|
|
37
|
+
this.notifications.replace(notifications);
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
updateWorkflow = workflow => {
|
|
41
|
+
this.workflowsRepository.save(workflow);
|
|
42
|
+
};
|
|
43
|
+
deleteWorkflow(workflow) {
|
|
44
|
+
this.workflowsRepository.remove(workflow.id);
|
|
45
|
+
}
|
|
46
|
+
getWorkflow = () => {
|
|
47
|
+
return this.workflows[0];
|
|
48
|
+
};
|
|
49
|
+
addStep = step => {
|
|
50
|
+
const workflow = this.getWorkflow();
|
|
51
|
+
workflow.addStep(step);
|
|
52
|
+
this.updateWorkflow(workflow.toJS());
|
|
53
|
+
};
|
|
54
|
+
updateStep = step => {
|
|
55
|
+
const workflow = this.getWorkflow();
|
|
56
|
+
workflow.updateStep(step);
|
|
57
|
+
this.updateWorkflow(workflow.toJS());
|
|
58
|
+
};
|
|
59
|
+
removeStep = ({
|
|
60
|
+
id
|
|
61
|
+
}) => {
|
|
62
|
+
const workflow = this.getWorkflow();
|
|
63
|
+
if (workflow.steps.length === 1) {
|
|
64
|
+
workflow.removeStep(id);
|
|
65
|
+
return this.deleteWorkflow(workflow);
|
|
66
|
+
}
|
|
67
|
+
workflow.removeStep(id);
|
|
68
|
+
this.updateWorkflow(workflow.toJS());
|
|
69
|
+
};
|
|
70
|
+
canMoveStepUp = step => {
|
|
71
|
+
const workflow = this.getWorkflow();
|
|
72
|
+
const stepIndex = workflow.steps.findIndex(s => s.id === step.id);
|
|
73
|
+
return stepIndex > 0;
|
|
74
|
+
};
|
|
75
|
+
moveStepUp = step => {
|
|
76
|
+
const workflow = this.getWorkflow();
|
|
77
|
+
if (this.canMoveStepUp(step) === false) {
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
const stepIndex = workflow.steps.findIndex(s => s.id === step.id);
|
|
81
|
+
const steps = [...workflow.steps];
|
|
82
|
+
const temp = steps[stepIndex - 1];
|
|
83
|
+
steps[stepIndex - 1] = steps[stepIndex];
|
|
84
|
+
steps[stepIndex] = temp;
|
|
85
|
+
runInAction(() => {
|
|
86
|
+
workflow.steps.replace(steps);
|
|
87
|
+
});
|
|
88
|
+
this.updateWorkflow(workflow.toJS());
|
|
89
|
+
};
|
|
90
|
+
canMoveStepDown = step => {
|
|
91
|
+
const workflow = this.getWorkflow();
|
|
92
|
+
const stepIndex = workflow.steps.findIndex(s => s.id === step.id);
|
|
93
|
+
return stepIndex < workflow.steps.length - 1;
|
|
94
|
+
};
|
|
95
|
+
moveStepDown = step => {
|
|
96
|
+
const workflow = this.getWorkflow();
|
|
97
|
+
if (this.canMoveStepDown(step) === false) {
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
const stepIndex = workflow.steps.findIndex(s => s.id === step.id);
|
|
101
|
+
const steps = [...workflow.steps];
|
|
102
|
+
const temp = steps[stepIndex + 1];
|
|
103
|
+
steps[stepIndex + 1] = steps[stepIndex];
|
|
104
|
+
steps[stepIndex] = temp;
|
|
105
|
+
runInAction(() => {
|
|
106
|
+
workflow.steps.replace(steps);
|
|
107
|
+
});
|
|
108
|
+
this.updateWorkflow(workflow.toJS());
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
//# sourceMappingURL=WorkflowsPresenter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["makeAutoObservable","observable","runInAction","toJS","WorkflowModel","WorkflowsPresenter","vm","workflow","workflows","map","w","dirty","notifications","loading","workflowsRepository","notificationTypesRepository","error","app","constructor","params","defaultWorkflow","array","init","Promise","all","list","listWorkflows","where","id","length","push","replace","updateWorkflow","save","deleteWorkflow","remove","getWorkflow","addStep","step","updateStep","removeStep","steps","canMoveStepUp","stepIndex","findIndex","s","moveStepUp","temp","canMoveStepDown","moveStepDown"],"sources":["WorkflowsPresenter.ts"],"sourcesContent":["import type {\n IWorkflowsPresenter,\n IWorkflowsViewModel\n} from \"./abstractions/WorkflowsPresenter.js\";\nimport type {\n IWorkflowNotificationTypesRepository,\n IWorkflowsRepository\n} from \"../Repositories/index.js\";\nimport { makeAutoObservable, observable, runInAction, toJS } from \"mobx\";\nimport type {\n IWorkflow,\n IWorkflowApplication,\n IWorkflowNotificationType,\n IWorkflowStep\n} from \"~/types.js\";\nimport { type IWorkflowModel, WorkflowModel } from \"~/Models/index.js\";\n\nexport interface IWorkflowsPresenterParams {\n app: IWorkflowApplication;\n workflowsRepository: IWorkflowsRepository;\n notificationTypesRepository: IWorkflowNotificationTypesRepository;\n defaultWorkflow: IWorkflow;\n}\n\nexport class WorkflowsPresenter implements IWorkflowsPresenter {\n private readonly app;\n private readonly workflowsRepository;\n private readonly notificationTypesRepository;\n private readonly workflows;\n private readonly notifications;\n private readonly defaultWorkflow;\n\n get vm(): IWorkflowsViewModel {\n const workflow = this.workflows[0] || null;\n return {\n workflows: this.workflows.map(w => w.toJS()),\n dirty: workflow ? workflow.dirty : false,\n workflow: workflow ? workflow.toJS() : null,\n notifications: this.notifications,\n loading: this.workflowsRepository.loading || this.notificationTypesRepository.loading,\n error: toJS(this.workflowsRepository.error || this.notificationTypesRepository.error),\n app: this.app\n };\n }\n\n public constructor(params: IWorkflowsPresenterParams) {\n this.app = params.app;\n this.workflowsRepository = params.workflowsRepository;\n this.notificationTypesRepository = params.notificationTypesRepository;\n this.defaultWorkflow = params.defaultWorkflow;\n\n this.workflows = observable.array<IWorkflowModel>([]);\n this.notifications = observable.array<IWorkflowNotificationType>([]);\n\n makeAutoObservable(this);\n\n this.init();\n }\n\n private async init(): Promise<void> {\n const [notifications, workflows] = await Promise.all([\n this.notificationTypesRepository.list(),\n this.workflowsRepository.listWorkflows({\n where: {\n app: this.app.id\n }\n })\n ]);\n\n if (workflows.length === 0) {\n workflows.push(this.defaultWorkflow);\n }\n\n runInAction(() => {\n this.workflows.replace(workflows.map(w => new WorkflowModel(w)));\n this.notifications.replace(notifications);\n });\n }\n\n updateWorkflow = (workflow: IWorkflow): void => {\n this.workflowsRepository.save(workflow);\n };\n\n deleteWorkflow(workflow: Pick<IWorkflow, \"id\">) {\n this.workflowsRepository.remove(workflow.id);\n }\n\n getWorkflow = () => {\n return this.workflows[0];\n };\n\n addStep = (step: IWorkflowStep): void => {\n const workflow = this.getWorkflow();\n workflow.addStep(step);\n this.updateWorkflow(workflow.toJS());\n };\n\n updateStep = (step: IWorkflowStep): void => {\n const workflow = this.getWorkflow();\n workflow.updateStep(step);\n this.updateWorkflow(workflow.toJS());\n };\n\n removeStep = ({ id }: Pick<IWorkflowStep, \"id\">): void => {\n const workflow = this.getWorkflow();\n if (workflow.steps.length === 1) {\n workflow.removeStep(id);\n return this.deleteWorkflow(workflow);\n }\n workflow.removeStep(id);\n this.updateWorkflow(workflow.toJS());\n };\n\n canMoveStepUp = (step: Pick<IWorkflowStep, \"id\">): boolean => {\n const workflow = this.getWorkflow();\n const stepIndex = workflow.steps.findIndex(s => s.id === step.id);\n return stepIndex > 0;\n };\n\n moveStepUp = (step: Pick<IWorkflowStep, \"id\">): void => {\n const workflow = this.getWorkflow();\n if (this.canMoveStepUp(step) === false) {\n return;\n }\n const stepIndex = workflow.steps.findIndex(s => s.id === step.id);\n const steps = [...workflow.steps];\n const temp = steps[stepIndex - 1];\n steps[stepIndex - 1] = steps[stepIndex];\n steps[stepIndex] = temp;\n runInAction(() => {\n workflow.steps.replace(steps);\n });\n this.updateWorkflow(workflow.toJS());\n };\n\n canMoveStepDown = (step: Pick<IWorkflowStep, \"id\">): boolean => {\n const workflow = this.getWorkflow();\n const stepIndex = workflow.steps.findIndex(s => s.id === step.id);\n return stepIndex < workflow.steps.length - 1;\n };\n\n moveStepDown = (step: Pick<IWorkflowStep, \"id\">): void => {\n const workflow = this.getWorkflow();\n if (this.canMoveStepDown(step) === false) {\n return;\n }\n const stepIndex = workflow.steps.findIndex(s => s.id === step.id);\n const steps = [...workflow.steps];\n const temp = steps[stepIndex + 1];\n steps[stepIndex + 1] = steps[stepIndex];\n steps[stepIndex] = temp;\n runInAction(() => {\n workflow.steps.replace(steps);\n });\n this.updateWorkflow(workflow.toJS());\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import type { IGenericError, IWorkflowState, WorkflowStateValue } from "../../types.js";
|
|
2
|
+
import type { WorkflowStateListRepositoryType } from "../../Repositories/index.js";
|
|
3
|
+
export interface IWorkflowStateListPresenterViewModel {
|
|
4
|
+
items: IWorkflowState[];
|
|
5
|
+
loading: boolean;
|
|
6
|
+
error: IGenericError | null;
|
|
7
|
+
totalCount: number;
|
|
8
|
+
hasMoreItems: boolean;
|
|
9
|
+
where: IWorkflowStateListPresenterListParamsWhere;
|
|
10
|
+
type: WorkflowStateListRepositoryType;
|
|
11
|
+
}
|
|
12
|
+
export interface IWorkflowStateListPresenterListParamsWhereSteps {
|
|
13
|
+
id?: string;
|
|
14
|
+
id_in?: string[];
|
|
15
|
+
state?: WorkflowStateValue;
|
|
16
|
+
state_in?: WorkflowStateValue[];
|
|
17
|
+
savedBy?: string;
|
|
18
|
+
savedBy_in?: string[];
|
|
19
|
+
}
|
|
20
|
+
export interface IWorkflowStateListPresenterListParamsWhereTeams {
|
|
21
|
+
id?: string;
|
|
22
|
+
id_in?: string[];
|
|
23
|
+
}
|
|
24
|
+
export interface IWorkflowStateListPresenterListParamsWhereNotifications {
|
|
25
|
+
id?: string;
|
|
26
|
+
id_in?: string[];
|
|
27
|
+
}
|
|
28
|
+
export interface IWorkflowStateListPresenterListParamsWhere {
|
|
29
|
+
app?: string;
|
|
30
|
+
app_in?: string[];
|
|
31
|
+
targetId?: string;
|
|
32
|
+
targetId_in?: string[];
|
|
33
|
+
targetRevisionId?: string;
|
|
34
|
+
targetRevisionId_in?: string[];
|
|
35
|
+
state?: WorkflowStateValue;
|
|
36
|
+
state_in?: WorkflowStateValue[];
|
|
37
|
+
createdBy?: string;
|
|
38
|
+
createdBy_in?: string[];
|
|
39
|
+
savedBy?: string;
|
|
40
|
+
savedBy_in?: string[];
|
|
41
|
+
steps?: IWorkflowStateListPresenterListParamsWhereSteps;
|
|
42
|
+
teams?: IWorkflowStateListPresenterListParamsWhereTeams;
|
|
43
|
+
notifications?: IWorkflowStateListPresenterListParamsWhereNotifications;
|
|
44
|
+
isActive?: boolean;
|
|
45
|
+
}
|
|
46
|
+
export interface IWorkflowStateListPresenterListParams {
|
|
47
|
+
where?: IWorkflowStateListPresenterListParamsWhere;
|
|
48
|
+
sort?: ["createdOn_ASC" | "createdOn_DESC"];
|
|
49
|
+
limit?: number;
|
|
50
|
+
after?: string;
|
|
51
|
+
}
|
|
52
|
+
export interface IWorkflowStateListPresenter {
|
|
53
|
+
vm: IWorkflowStateListPresenterViewModel;
|
|
54
|
+
nextPage(): Promise<void>;
|
|
55
|
+
filterBy(where: IWorkflowStateListPresenterListParamsWhere): Promise<void>;
|
|
56
|
+
list(params?: IWorkflowStateListPresenterListParams): Promise<void>;
|
|
57
|
+
setType(type: WorkflowStateListRepositoryType): Promise<void>;
|
|
58
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["WorkflowStateListPresenter.ts"],"sourcesContent":["import type { IGenericError, IWorkflowState, WorkflowStateValue } from \"~/types.js\";\nimport type { WorkflowStateListRepositoryType } from \"~/Repositories/index.js\";\n\nexport interface IWorkflowStateListPresenterViewModel {\n items: IWorkflowState[];\n loading: boolean;\n error: IGenericError | null;\n totalCount: number;\n hasMoreItems: boolean;\n where: IWorkflowStateListPresenterListParamsWhere;\n type: WorkflowStateListRepositoryType;\n}\n\nexport interface IWorkflowStateListPresenterListParamsWhereSteps {\n id?: string;\n id_in?: string[];\n state?: WorkflowStateValue;\n state_in?: WorkflowStateValue[];\n savedBy?: string;\n savedBy_in?: string[];\n}\n\nexport interface IWorkflowStateListPresenterListParamsWhereTeams {\n id?: string;\n id_in?: string[];\n}\n\nexport interface IWorkflowStateListPresenterListParamsWhereNotifications {\n id?: string;\n id_in?: string[];\n}\n\nexport interface IWorkflowStateListPresenterListParamsWhere {\n app?: string;\n app_in?: string[];\n targetId?: string;\n targetId_in?: string[];\n targetRevisionId?: string;\n targetRevisionId_in?: string[];\n state?: WorkflowStateValue;\n state_in?: WorkflowStateValue[];\n createdBy?: string;\n createdBy_in?: string[];\n savedBy?: string;\n savedBy_in?: string[];\n steps?: IWorkflowStateListPresenterListParamsWhereSteps;\n teams?: IWorkflowStateListPresenterListParamsWhereTeams;\n notifications?: IWorkflowStateListPresenterListParamsWhereNotifications;\n isActive?: boolean;\n}\n\nexport interface IWorkflowStateListPresenterListParams {\n where?: IWorkflowStateListPresenterListParamsWhere;\n sort?: [\"createdOn_ASC\" | \"createdOn_DESC\"];\n limit?: number;\n after?: string;\n}\n\nexport interface IWorkflowStateListPresenter {\n vm: IWorkflowStateListPresenterViewModel;\n\n nextPage(): Promise<void>;\n filterBy(where: IWorkflowStateListPresenterListParamsWhere): Promise<void>;\n list(params?: IWorkflowStateListPresenterListParams): Promise<void>;\n setType(type: WorkflowStateListRepositoryType): Promise<void>;\n}\n"],"mappings":"","ignoreList":[]}
|