@webiny/app-workflows 6.3.0 → 6.4.0-beta.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/Components/AdminConfig/WorkflowsMenu.js +18 -19
- package/Components/AdminConfig/WorkflowsMenu.js.map +1 -1
- package/Components/App/ContentReviews.js +24 -25
- package/Components/App/ContentReviews.js.map +1 -1
- package/Components/App/WorkflowsAdminApp.js +5 -10
- package/Components/App/WorkflowsAdminApp.js.map +1 -1
- package/Components/App/index.js +0 -2
- package/Components/Common/Options/OptionItem/Approve.js +16 -20
- package/Components/Common/Options/OptionItem/Approve.js.map +1 -1
- package/Components/Common/Options/OptionItem/OpenInNewWindow.js +3 -6
- package/Components/Common/Options/OptionItem/OpenInNewWindow.js.map +1 -1
- package/Components/Common/Options/OptionItem/Reject.js +16 -20
- package/Components/Common/Options/OptionItem/Reject.js.map +1 -1
- package/Components/Common/Options/OptionItem/Start.js +15 -19
- package/Components/Common/Options/OptionItem/Start.js.map +1 -1
- package/Components/Common/Options/OptionItem/TakeOver.js +15 -19
- package/Components/Common/Options/OptionItem/TakeOver.js.map +1 -1
- package/Components/Common/Options/WorkflowStateOptions.js +57 -58
- package/Components/Common/Options/WorkflowStateOptions.js.map +1 -1
- package/Components/Common/Options/index.js +0 -2
- package/Components/Common/TagState.js +9 -10
- package/Components/Common/TagState.js.map +1 -1
- package/Components/Common/TagStep.js +9 -10
- package/Components/Common/TagStep.js.map +1 -1
- package/Components/Common/YouCanTrackAllContentReviewsHere.js +8 -9
- package/Components/Common/YouCanTrackAllContentReviewsHere.js.map +1 -1
- package/Components/Common/index.js +0 -2
- package/Components/WorkflowState/Bar/Bars/WorkflowStateBarApproved.js +15 -23
- package/Components/WorkflowState/Bar/Bars/WorkflowStateBarApproved.js.map +1 -1
- package/Components/WorkflowState/Bar/Bars/WorkflowStateBarCancelReview.js +15 -23
- package/Components/WorkflowState/Bar/Bars/WorkflowStateBarCancelReview.js.map +1 -1
- package/Components/WorkflowState/Bar/Bars/WorkflowStateBarError.js +14 -23
- package/Components/WorkflowState/Bar/Bars/WorkflowStateBarError.js.map +1 -1
- package/Components/WorkflowState/Bar/Bars/WorkflowStateBarLoading.js +10 -18
- package/Components/WorkflowState/Bar/Bars/WorkflowStateBarLoading.js.map +1 -1
- package/Components/WorkflowState/Bar/Bars/WorkflowStateBarRejected.js +22 -30
- package/Components/WorkflowState/Bar/Bars/WorkflowStateBarRejected.js.map +1 -1
- package/Components/WorkflowState/Bar/Bars/WorkflowStateBarRequestReview.js +13 -21
- package/Components/WorkflowState/Bar/Bars/WorkflowStateBarRequestReview.js.map +1 -1
- package/Components/WorkflowState/Bar/Bars/WorkflowStateBarReview.js +30 -51
- package/Components/WorkflowState/Bar/Bars/WorkflowStateBarReview.js.map +1 -1
- package/Components/WorkflowState/Bar/Bars/WorkflowStateBarStartReview.js +17 -25
- package/Components/WorkflowState/Bar/Bars/WorkflowStateBarStartReview.js.map +1 -1
- package/Components/WorkflowState/Bar/Bars/WorkflowStateBarWorkflow.js +7 -15
- package/Components/WorkflowState/Bar/Bars/WorkflowStateBarWorkflow.js.map +1 -1
- package/Components/WorkflowState/Bar/Dialogs/ApproveDialog.js +13 -16
- package/Components/WorkflowState/Bar/Dialogs/ApproveDialog.js.map +1 -1
- package/Components/WorkflowState/Bar/Dialogs/ApproveSuccessDialog.js +11 -14
- package/Components/WorkflowState/Bar/Dialogs/ApproveSuccessDialog.js.map +1 -1
- package/Components/WorkflowState/Bar/Dialogs/CancelReviewDialog.js +10 -11
- package/Components/WorkflowState/Bar/Dialogs/CancelReviewDialog.js.map +1 -1
- package/Components/WorkflowState/Bar/Dialogs/CommentDialog.js +11 -14
- package/Components/WorkflowState/Bar/Dialogs/CommentDialog.js.map +1 -1
- package/Components/WorkflowState/Bar/Dialogs/RejectDialog.js +13 -16
- package/Components/WorkflowState/Bar/Dialogs/RejectDialog.js.map +1 -1
- package/Components/WorkflowState/Bar/Dialogs/RejectSuccessDialog.js +11 -14
- package/Components/WorkflowState/Bar/Dialogs/RejectSuccessDialog.js.map +1 -1
- package/Components/WorkflowState/Bar/Dialogs/RequestReviewDialog.js +10 -11
- package/Components/WorkflowState/Bar/Dialogs/RequestReviewDialog.js.map +1 -1
- package/Components/WorkflowState/Bar/Dialogs/StartDialog.js +13 -16
- package/Components/WorkflowState/Bar/Dialogs/StartDialog.js.map +1 -1
- package/Components/WorkflowState/Bar/Dialogs/StartSuccessDialog.js +11 -14
- package/Components/WorkflowState/Bar/Dialogs/StartSuccessDialog.js.map +1 -1
- package/Components/WorkflowState/Bar/Dialogs/TakeOverDialog.js +15 -18
- package/Components/WorkflowState/Bar/Dialogs/TakeOverDialog.js.map +1 -1
- package/Components/WorkflowState/Bar/Dialogs/TakeOverSuccessDialog.js +11 -14
- package/Components/WorkflowState/Bar/Dialogs/TakeOverSuccessDialog.js.map +1 -1
- package/Components/WorkflowState/Bar/Dialogs/index.js +0 -2
- package/Components/WorkflowState/Bar/WorkflowStateBar.js +13 -20
- package/Components/WorkflowState/Bar/WorkflowStateBar.js.map +1 -1
- package/Components/WorkflowState/Bar/WorkflowStateBarComponent.js +10 -18
- package/Components/WorkflowState/Bar/WorkflowStateBarComponent.js.map +1 -1
- package/Components/WorkflowState/Bar/WorkflowStateBarDialogs.js +51 -52
- package/Components/WorkflowState/Bar/WorkflowStateBarDialogs.js.map +1 -1
- package/Components/WorkflowState/Bar/index.js +0 -2
- package/Components/WorkflowState/Overlay/WorkflowStateOverlay.js +7 -11
- package/Components/WorkflowState/Overlay/WorkflowStateOverlay.js.map +1 -1
- package/Components/WorkflowState/Tooltip/WorkflowStateTooltip.js +32 -40
- package/Components/WorkflowState/Tooltip/WorkflowStateTooltip.js.map +1 -1
- package/Components/WorkflowState/Tooltip/WorkflowStateTooltipContent.js +30 -36
- package/Components/WorkflowState/Tooltip/WorkflowStateTooltipContent.js.map +1 -1
- package/Components/WorkflowState/Tooltip/WorkflowStateTooltipContentComment.js +17 -21
- package/Components/WorkflowState/Tooltip/WorkflowStateTooltipContentComment.js.map +1 -1
- package/Components/WorkflowState/WorkflowStateProvider.d.ts +1 -0
- package/Components/WorkflowState/WorkflowStateProvider.js +41 -40
- package/Components/WorkflowState/WorkflowStateProvider.js.map +1 -1
- package/Components/WorkflowState/index.js +0 -2
- package/Components/WorkflowState/useWorkflowState.js +5 -6
- package/Components/WorkflowState/useWorkflowState.js.map +1 -1
- package/Components/WorkflowStateDialogs/ApproveDialog.js +43 -44
- package/Components/WorkflowStateDialogs/ApproveDialog.js.map +1 -1
- package/Components/WorkflowStateDialogs/ApproveSuccessDialog.js +27 -29
- package/Components/WorkflowStateDialogs/ApproveSuccessDialog.js.map +1 -1
- package/Components/WorkflowStateDialogs/CancelReviewDialog.js +29 -32
- package/Components/WorkflowStateDialogs/CancelReviewDialog.js.map +1 -1
- package/Components/WorkflowStateDialogs/CommentDialog.js +34 -40
- package/Components/WorkflowStateDialogs/CommentDialog.js.map +1 -1
- package/Components/WorkflowStateDialogs/RejectDialog.js +73 -76
- package/Components/WorkflowStateDialogs/RejectDialog.js.map +1 -1
- package/Components/WorkflowStateDialogs/RejectSuccessDialog.js +25 -27
- package/Components/WorkflowStateDialogs/RejectSuccessDialog.js.map +1 -1
- package/Components/WorkflowStateDialogs/RequestReviewDialog.js +29 -32
- package/Components/WorkflowStateDialogs/RequestReviewDialog.js.map +1 -1
- package/Components/WorkflowStateDialogs/StartDialog.js +29 -33
- package/Components/WorkflowStateDialogs/StartDialog.js.map +1 -1
- package/Components/WorkflowStateDialogs/StartSuccessDialog.js +25 -27
- package/Components/WorkflowStateDialogs/StartSuccessDialog.js.map +1 -1
- package/Components/WorkflowStateDialogs/TakeOverDialog.js +29 -34
- package/Components/WorkflowStateDialogs/TakeOverDialog.js.map +1 -1
- package/Components/WorkflowStateDialogs/TakeOverSuccessDialog.js +25 -27
- package/Components/WorkflowStateDialogs/TakeOverSuccessDialog.js.map +1 -1
- package/Components/WorkflowStateDialogs/index.js +0 -2
- package/Components/WorkflowStateList/List/WorkflowStateList.js +80 -87
- package/Components/WorkflowStateList/List/WorkflowStateList.js.map +1 -1
- package/Components/WorkflowStateList/List/WorkflowStateListFilters.js +67 -61
- package/Components/WorkflowStateList/List/WorkflowStateListFilters.js.map +1 -1
- package/Components/WorkflowStateList/List/WorkflowStateListOptions.js +7 -8
- package/Components/WorkflowStateList/List/WorkflowStateListOptions.js.map +1 -1
- package/Components/WorkflowStateList/List/WorkflowStateListView.js +18 -21
- package/Components/WorkflowStateList/List/WorkflowStateListView.js.map +1 -1
- package/Components/WorkflowStateList/List/index.js +0 -2
- package/Components/WorkflowStateList/Overlay/WorkflowStateListAppOverlay.js +24 -27
- package/Components/WorkflowStateList/Overlay/WorkflowStateListAppOverlay.js.map +1 -1
- package/Components/WorkflowStateList/Overlay/WorkflowStateListAppOverlayView.js +18 -25
- package/Components/WorkflowStateList/Overlay/WorkflowStateListAppOverlayView.js.map +1 -1
- package/Components/WorkflowStateList/Overlay/index.js +0 -2
- package/Components/WorkflowStateList/Provider/WorkflowStateListProvider.js +30 -31
- package/Components/WorkflowStateList/Provider/WorkflowStateListProvider.js.map +1 -1
- package/Components/WorkflowStateList/Provider/index.js +0 -2
- package/Components/WorkflowStateList/hooks/index.js +0 -2
- package/Components/WorkflowStateList/hooks/useWorkflowStateList.js +5 -6
- package/Components/WorkflowStateList/hooks/useWorkflowStateList.js.map +1 -1
- package/Components/WorkflowStateList/index.js +0 -2
- package/Components/WorkflowStatesWidget/Card/WorkflowStatesWidgetCard.js +42 -45
- package/Components/WorkflowStatesWidget/Card/WorkflowStatesWidgetCard.js.map +1 -1
- package/Components/WorkflowStatesWidget/Card/WorkflowStatesWidgetCardTabs.js +43 -53
- package/Components/WorkflowStatesWidget/Card/WorkflowStatesWidgetCardTabs.js.map +1 -1
- package/Components/WorkflowStatesWidget/Dialogs/ApproveDialog.js +18 -21
- package/Components/WorkflowStatesWidget/Dialogs/ApproveDialog.js.map +1 -1
- package/Components/WorkflowStatesWidget/Dialogs/ApproveSuccessDialog.js +10 -13
- package/Components/WorkflowStatesWidget/Dialogs/ApproveSuccessDialog.js.map +1 -1
- package/Components/WorkflowStatesWidget/Dialogs/RejectDialog.js +18 -21
- package/Components/WorkflowStatesWidget/Dialogs/RejectDialog.js.map +1 -1
- package/Components/WorkflowStatesWidget/Dialogs/RejectSuccessDialog.js +10 -13
- package/Components/WorkflowStatesWidget/Dialogs/RejectSuccessDialog.js.map +1 -1
- package/Components/WorkflowStatesWidget/Dialogs/StartDialog.js +18 -21
- package/Components/WorkflowStatesWidget/Dialogs/StartDialog.js.map +1 -1
- package/Components/WorkflowStatesWidget/Dialogs/StartSuccessDialog.js +10 -13
- package/Components/WorkflowStatesWidget/Dialogs/StartSuccessDialog.js.map +1 -1
- package/Components/WorkflowStatesWidget/Dialogs/TakeOverDialog.js +21 -24
- package/Components/WorkflowStatesWidget/Dialogs/TakeOverDialog.js.map +1 -1
- package/Components/WorkflowStatesWidget/Dialogs/TakeOverSuccessDialog.js +10 -13
- package/Components/WorkflowStatesWidget/Dialogs/TakeOverSuccessDialog.js.map +1 -1
- package/Components/WorkflowStatesWidget/Dialogs/index.js +0 -2
- package/Components/WorkflowStatesWidget/List/WorkflowStateList.js +10 -13
- package/Components/WorkflowStatesWidget/List/WorkflowStateList.js.map +1 -1
- package/Components/WorkflowStatesWidget/List/WorkflowStateRow.js +16 -17
- package/Components/WorkflowStatesWidget/List/WorkflowStateRow.js.map +1 -1
- package/Components/WorkflowStatesWidget/List/WorkflowStateRowOptions.js +36 -27
- package/Components/WorkflowStatesWidget/List/WorkflowStateRowOptions.js.map +1 -1
- package/Components/WorkflowStatesWidget/Provider/WorkflowStatesProvider.js +24 -28
- package/Components/WorkflowStatesWidget/Provider/WorkflowStatesProvider.js.map +1 -1
- package/Components/WorkflowStatesWidget/Row/WorkflowStateRowDescription.js +12 -17
- package/Components/WorkflowStatesWidget/Row/WorkflowStateRowDescription.js.map +1 -1
- package/Components/WorkflowStatesWidget/WorkflowStatesOwnWidget.js +22 -20
- package/Components/WorkflowStatesWidget/WorkflowStatesOwnWidget.js.map +1 -1
- package/Components/WorkflowStatesWidget/WorkflowStatesRequestedWidget.js +20 -20
- package/Components/WorkflowStatesWidget/WorkflowStatesRequestedWidget.js.map +1 -1
- package/Components/WorkflowStatesWidget/hooks/useWorkflowStatesWidget.js +5 -6
- package/Components/WorkflowStatesWidget/hooks/useWorkflowStatesWidget.js.map +1 -1
- package/Components/WorkflowStatesWidget/index.js +0 -2
- package/Components/WorkflowsEditor/DataList/WorkflowsDataList.js +34 -40
- package/Components/WorkflowsEditor/DataList/WorkflowsDataList.js.map +1 -1
- package/Components/WorkflowsEditor/Editor/Error/FormattedError.js +28 -33
- package/Components/WorkflowsEditor/Editor/Error/FormattedError.js.map +1 -1
- package/Components/WorkflowsEditor/Editor/Error/WorkflowError.js +28 -35
- package/Components/WorkflowsEditor/Editor/Error/WorkflowError.js.map +1 -1
- package/Components/WorkflowsEditor/Editor/Step/Form/StepFormColor.js +11 -17
- package/Components/WorkflowsEditor/Editor/Step/Form/StepFormColor.js.map +1 -1
- package/Components/WorkflowsEditor/Editor/Step/Form/StepFormDescription.js +8 -9
- package/Components/WorkflowsEditor/Editor/Step/Form/StepFormDescription.js.map +1 -1
- package/Components/WorkflowsEditor/Editor/Step/Form/StepFormNotifications.js +27 -37
- package/Components/WorkflowsEditor/Editor/Step/Form/StepFormNotifications.js.map +1 -1
- package/Components/WorkflowsEditor/Editor/Step/Form/StepFormTeams.js +21 -31
- package/Components/WorkflowsEditor/Editor/Step/Form/StepFormTeams.js.map +1 -1
- package/Components/WorkflowsEditor/Editor/Step/Form/StepFormTitle.js +9 -10
- package/Components/WorkflowsEditor/Editor/Step/Form/StepFormTitle.js.map +1 -1
- package/Components/WorkflowsEditor/Editor/Step/InactiveStep.js +14 -15
- package/Components/WorkflowsEditor/Editor/Step/InactiveStep.js.map +1 -1
- package/Components/WorkflowsEditor/Editor/Step/NewStep.js +52 -51
- package/Components/WorkflowsEditor/Editor/Step/NewStep.js.map +1 -1
- package/Components/WorkflowsEditor/Editor/Step/Step/RemoveStep.js +26 -32
- package/Components/WorkflowsEditor/Editor/Step/Step/RemoveStep.js.map +1 -1
- package/Components/WorkflowsEditor/Editor/Step/Step.js +119 -134
- package/Components/WorkflowsEditor/Editor/Step/Step.js.map +1 -1
- package/Components/WorkflowsEditor/Editor/WorkflowEditor.js +37 -38
- package/Components/WorkflowsEditor/Editor/WorkflowEditor.js.map +1 -1
- package/Components/WorkflowsEditor/Editor/WorkflowEditorSteps.js +34 -39
- package/Components/WorkflowsEditor/Editor/WorkflowEditorSteps.js.map +1 -1
- package/Components/WorkflowsEditor/Editor/WorkflowEditorView.js +17 -23
- package/Components/WorkflowsEditor/Editor/WorkflowEditorView.js.map +1 -1
- package/Components/WorkflowsEditor/WorkflowsEditor.js +3 -4
- package/Components/WorkflowsEditor/WorkflowsEditor.js.map +1 -1
- package/Components/WorkflowsEditor/WorkflowsEditorBase.js +26 -33
- package/Components/WorkflowsEditor/WorkflowsEditorBase.js.map +1 -1
- package/Components/WorkflowsEditor/index.js +0 -2
- package/Components/WorkflowsPermissions/HasWorkflowsEditorPermission.js +6 -6
- package/Components/WorkflowsPermissions/HasWorkflowsEditorPermission.js.map +1 -1
- package/Components/WorkflowsPermissions/SecurityPermissions.js +11 -14
- package/Components/WorkflowsPermissions/SecurityPermissions.js.map +1 -1
- package/Components/WorkflowsPermissions/constants.js +2 -1
- package/Components/WorkflowsPermissions/constants.js.map +1 -1
- package/Components/WorkflowsPermissions/index.js +0 -2
- package/Components/WorkflowsPermissions/useWorkflowsPermission.js +13 -22
- package/Components/WorkflowsPermissions/useWorkflowsPermission.js.map +1 -1
- package/Components/helpers/index.js +0 -2
- package/Components/helpers/stateName.js +14 -13
- package/Components/helpers/stateName.js.map +1 -1
- package/Components/helpers/tagStateVariant.js +14 -13
- package/Components/helpers/tagStateVariant.js.map +1 -1
- package/Gateways/WorkflowNotificationTypesGateway.js +24 -23
- package/Gateways/WorkflowNotificationTypesGateway.js.map +1 -1
- package/Gateways/WorkflowStateGateway.js +163 -170
- package/Gateways/WorkflowStateGateway.js.map +1 -1
- package/Gateways/WorkflowStateListGateway.js +87 -80
- package/Gateways/WorkflowStateListGateway.js.map +1 -1
- package/Gateways/WorkflowStatesWidgetGateway.js +124 -123
- package/Gateways/WorkflowStatesWidgetGateway.js.map +1 -1
- package/Gateways/WorkflowsGateway.js +70 -67
- package/Gateways/WorkflowsGateway.js.map +1 -1
- package/Gateways/abstraction/WorkflowNotificationTypesGateway.js +0 -3
- package/Gateways/abstraction/WorkflowStateGateway.js +0 -3
- package/Gateways/abstraction/WorkflowStateListGateway.js +0 -3
- package/Gateways/abstraction/WorkflowStatesWidgetGateway.js +0 -3
- package/Gateways/abstraction/WorkflowsGateway.js +0 -3
- package/Gateways/graphql/workflowNotifications.js +5 -4
- package/Gateways/graphql/workflowNotifications.js.map +1 -1
- package/Gateways/graphql/workflowStates.js +15 -14
- package/Gateways/graphql/workflowStates.js.map +1 -1
- package/Gateways/graphql/workflows.js +8 -7
- package/Gateways/graphql/workflows.js.map +1 -1
- package/Gateways/index.js +0 -2
- package/Models/WorkflowModel.js +61 -70
- package/Models/WorkflowModel.js.map +1 -1
- package/Models/WorkflowStateModel.js +88 -107
- package/Models/WorkflowStateModel.js.map +1 -1
- package/Models/WorkflowStateStepModel.js +41 -40
- package/Models/WorkflowStateStepModel.js.map +1 -1
- package/Models/WorkflowStepModel.js +26 -25
- package/Models/WorkflowStepModel.js.map +1 -1
- package/Models/abstractions/WorkflowModel.js +0 -3
- package/Models/abstractions/WorkflowStateModel.js +0 -3
- package/Models/abstractions/WorkflowStateStepModel.js +0 -3
- package/Models/abstractions/WorkflowStepModel.js +0 -3
- package/Models/index.js +0 -2
- package/Presenters/WorkflowStateListPresenter.js +45 -49
- package/Presenters/WorkflowStateListPresenter.js.map +1 -1
- package/Presenters/WorkflowStatePresenter.d.ts +2 -0
- package/Presenters/WorkflowStatePresenter.js +192 -214
- package/Presenters/WorkflowStatePresenter.js.map +1 -1
- package/Presenters/WorkflowStatesWidgetPresenter.js +214 -259
- package/Presenters/WorkflowStatesWidgetPresenter.js.map +1 -1
- package/Presenters/WorkflowsPresenter.js +101 -103
- package/Presenters/WorkflowsPresenter.js.map +1 -1
- package/Presenters/abstractions/WorkflowStateListPresenter.js +0 -3
- package/Presenters/abstractions/WorkflowStatePresenter.js +0 -3
- package/Presenters/abstractions/WorkflowStatesWidgetPresenter.js +0 -3
- package/Presenters/abstractions/WorkflowsPresenter.js +0 -3
- package/Presenters/index.js +0 -2
- package/Repositories/WorkflowNotificationTypesRepository.js +26 -25
- package/Repositories/WorkflowNotificationTypesRepository.js.map +1 -1
- package/Repositories/WorkflowStateListRepository.js +65 -69
- package/Repositories/WorkflowStateListRepository.js.map +1 -1
- package/Repositories/WorkflowStateRepository.js +121 -127
- package/Repositories/WorkflowStateRepository.js.map +1 -1
- package/Repositories/WorkflowStatesWidgetRepository.js +120 -131
- package/Repositories/WorkflowStatesWidgetRepository.js.map +1 -1
- package/Repositories/WorkflowsRepository.js +71 -80
- package/Repositories/WorkflowsRepository.js.map +1 -1
- package/Repositories/abstractions/WorkflowNotificationTypesRepository.js +0 -3
- package/Repositories/abstractions/WorkflowStateListRepository.js +0 -3
- package/Repositories/abstractions/WorkflowStateRepository.js +0 -3
- package/Repositories/abstractions/WorkflowStatesWidgetRepository.js +0 -3
- package/Repositories/abstractions/WorkflowsRepository.js +0 -3
- package/Repositories/index.js +0 -2
- package/domain/permissionsSchema.js +6 -5
- package/domain/permissionsSchema.js.map +1 -1
- package/features/permissions/abstractions.js +2 -1
- package/features/permissions/abstractions.js.map +1 -1
- package/features/permissions/feature.js +2 -1
- package/features/permissions/feature.js.map +1 -1
- package/hooks/canUseWorkflows.js +7 -6
- package/hooks/canUseWorkflows.js.map +1 -1
- package/index.js +32 -33
- package/index.js.map +1 -1
- package/package.json +12 -13
- package/routes.js +15 -13
- package/routes.js.map +1 -1
- package/types.js +11 -15
- package/types.js.map +1 -1
- package/Components/App/index.js.map +0 -1
- package/Components/Common/Options/index.js.map +0 -1
- package/Components/Common/index.js.map +0 -1
- package/Components/WorkflowState/Bar/Dialogs/index.js.map +0 -1
- package/Components/WorkflowState/Bar/index.js.map +0 -1
- package/Components/WorkflowState/index.js.map +0 -1
- package/Components/WorkflowStateDialogs/index.js.map +0 -1
- package/Components/WorkflowStateList/List/index.js.map +0 -1
- package/Components/WorkflowStateList/Overlay/index.js.map +0 -1
- package/Components/WorkflowStateList/Provider/index.js.map +0 -1
- package/Components/WorkflowStateList/hooks/index.js.map +0 -1
- package/Components/WorkflowStateList/index.js.map +0 -1
- package/Components/WorkflowStatesWidget/Dialogs/index.js.map +0 -1
- package/Components/WorkflowStatesWidget/index.js.map +0 -1
- package/Components/WorkflowsEditor/index.js.map +0 -1
- package/Components/WorkflowsPermissions/index.js.map +0 -1
- package/Components/helpers/index.js.map +0 -1
- package/Gateways/abstraction/WorkflowNotificationTypesGateway.js.map +0 -1
- package/Gateways/abstraction/WorkflowStateGateway.js.map +0 -1
- package/Gateways/abstraction/WorkflowStateListGateway.js.map +0 -1
- package/Gateways/abstraction/WorkflowStatesWidgetGateway.js.map +0 -1
- package/Gateways/abstraction/WorkflowsGateway.js.map +0 -1
- package/Gateways/index.js.map +0 -1
- package/Models/abstractions/WorkflowModel.js.map +0 -1
- package/Models/abstractions/WorkflowStateModel.js.map +0 -1
- package/Models/abstractions/WorkflowStateStepModel.js.map +0 -1
- package/Models/abstractions/WorkflowStepModel.js.map +0 -1
- package/Models/index.js.map +0 -1
- package/Presenters/abstractions/WorkflowStateListPresenter.js.map +0 -1
- package/Presenters/abstractions/WorkflowStatePresenter.js.map +0 -1
- package/Presenters/abstractions/WorkflowStatesWidgetPresenter.js.map +0 -1
- package/Presenters/abstractions/WorkflowsPresenter.js.map +0 -1
- package/Presenters/index.js.map +0 -1
- package/Repositories/abstractions/WorkflowNotificationTypesRepository.js.map +0 -1
- package/Repositories/abstractions/WorkflowStateListRepository.js.map +0 -1
- package/Repositories/abstractions/WorkflowStateRepository.js.map +0 -1
- package/Repositories/abstractions/WorkflowStatesWidgetRepository.js.map +0 -1
- package/Repositories/abstractions/WorkflowsRepository.js.map +0 -1
- package/Repositories/index.js.map +0 -1
|
@@ -1,225 +1,203 @@
|
|
|
1
1
|
import { makeAutoObservable, runInAction, toJS } from "mobx";
|
|
2
2
|
import { WorkflowStateModel } from "../Models/index.js";
|
|
3
3
|
import { WorkflowStateValue } from "../types.js";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
step = null;
|
|
9
|
-
get isOwner() {
|
|
10
|
-
if (!this.identity) {
|
|
11
|
-
return false;
|
|
4
|
+
class WorkflowStatePresenter {
|
|
5
|
+
get isOwner() {
|
|
6
|
+
if (!this.identity) return false;
|
|
7
|
+
return this.state?.createdBy?.id === this.identity.id;
|
|
12
8
|
}
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
* Previous step must not exist (only the initial request can be cancelled).
|
|
19
|
-
* Current step must be in pending state.
|
|
20
|
-
*/
|
|
21
|
-
get canCancel() {
|
|
22
|
-
if (!this.isOwner) {
|
|
23
|
-
return false;
|
|
24
|
-
} else if (this.state?.previousStep) {
|
|
25
|
-
return false;
|
|
26
|
-
} else if (this.state?.state === WorkflowStateValue.approved || this.state?.state === WorkflowStateValue.rejected) {
|
|
27
|
-
return false;
|
|
9
|
+
get canCancel() {
|
|
10
|
+
if (!this.isOwner) return false;
|
|
11
|
+
if (this.state?.previousStep) return false;
|
|
12
|
+
if (this.state?.state === WorkflowStateValue.approved || this.state?.state === WorkflowStateValue.rejected) return false;
|
|
13
|
+
return true;
|
|
28
14
|
}
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
}
|
|
47
|
-
constructor(params) {
|
|
48
|
-
this.repository = params.repository;
|
|
49
|
-
this.workflowsRepository = params.workflowsRepository;
|
|
50
|
-
this.app = params.app;
|
|
51
|
-
this.title = params.title;
|
|
52
|
-
this.identity = params.identity;
|
|
53
|
-
this.targetRevisionId = params.targetRevisionId;
|
|
54
|
-
makeAutoObservable(this);
|
|
55
|
-
this.init();
|
|
56
|
-
}
|
|
57
|
-
async init() {
|
|
58
|
-
const workflows = await this.workflowsRepository.listWorkflows({
|
|
59
|
-
where: {
|
|
60
|
-
app: this.app
|
|
61
|
-
}
|
|
62
|
-
});
|
|
63
|
-
runInAction(() => {
|
|
64
|
-
if (workflows.length === 0) {
|
|
15
|
+
get vm() {
|
|
16
|
+
return {
|
|
17
|
+
workflow: toJS(this.workflow),
|
|
18
|
+
state: this.state?.toJS(),
|
|
19
|
+
step: this.state?.currentStep?.toJS(),
|
|
20
|
+
lastApprovedStep: toJS(this.state?.lastApproved || null),
|
|
21
|
+
lastRejectedStep: toJS(this.state?.lastRejected || null),
|
|
22
|
+
nextStep: toJS(this.state ? this.state.nextStep : null),
|
|
23
|
+
loading: this.repository.loading || this.workflowsRepository.loading,
|
|
24
|
+
error: toJS(this.repository.error || this.workflowsRepository.error),
|
|
25
|
+
app: this.app,
|
|
26
|
+
id: this.targetRevisionId,
|
|
27
|
+
canCancel: this.canCancel,
|
|
28
|
+
dialog: this.dialog
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
constructor(params){
|
|
65
32
|
this.workflow = null;
|
|
66
|
-
this.state =
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
33
|
+
this.state = void 0;
|
|
34
|
+
this.dialog = null;
|
|
35
|
+
this.step = null;
|
|
36
|
+
this.requestReview = async ()=>{
|
|
37
|
+
const item = await this.repository.requestReview({
|
|
38
|
+
app: this.app,
|
|
39
|
+
targetRevisionId: this.targetRevisionId,
|
|
40
|
+
title: this.title
|
|
41
|
+
});
|
|
42
|
+
runInAction(()=>{
|
|
43
|
+
this.state = item ? WorkflowStateModel.create(item) : null;
|
|
44
|
+
this.clearDialog();
|
|
45
|
+
});
|
|
46
|
+
};
|
|
47
|
+
this.start = async ()=>{
|
|
48
|
+
const item = await this.repository.start({
|
|
49
|
+
id: this.state.id
|
|
50
|
+
});
|
|
51
|
+
runInAction(()=>{
|
|
52
|
+
this.state = item ? WorkflowStateModel.create(item) : null;
|
|
53
|
+
if (!item) return;
|
|
54
|
+
this.setDialog({
|
|
55
|
+
type: "start:success"
|
|
56
|
+
});
|
|
57
|
+
});
|
|
58
|
+
};
|
|
59
|
+
this.approve = async (comment)=>{
|
|
60
|
+
const item = await this.repository.approve({
|
|
61
|
+
id: this.state.id,
|
|
62
|
+
comment
|
|
63
|
+
});
|
|
64
|
+
runInAction(()=>{
|
|
65
|
+
this.state = item ? WorkflowStateModel.create(item) : null;
|
|
66
|
+
if (!item) return;
|
|
67
|
+
this.setDialog({
|
|
68
|
+
type: "approve:success"
|
|
69
|
+
});
|
|
70
|
+
});
|
|
71
|
+
};
|
|
72
|
+
this.reject = async (comment)=>{
|
|
73
|
+
const item = await this.repository.reject({
|
|
74
|
+
id: this.state.id,
|
|
75
|
+
comment
|
|
76
|
+
});
|
|
77
|
+
runInAction(()=>{
|
|
78
|
+
this.state = item ? WorkflowStateModel.create(item) : null;
|
|
79
|
+
if (!item) return;
|
|
80
|
+
this.setDialog({
|
|
81
|
+
type: "reject:success"
|
|
82
|
+
});
|
|
83
|
+
});
|
|
84
|
+
};
|
|
85
|
+
this.cancel = async ()=>{
|
|
86
|
+
await this.repository.cancel(this.state.id);
|
|
87
|
+
runInAction(()=>{
|
|
88
|
+
this.state = null;
|
|
89
|
+
this.clearDialog();
|
|
90
|
+
});
|
|
91
|
+
};
|
|
92
|
+
this.takeOver = async ()=>{
|
|
93
|
+
const item = await this.repository.takeOver({
|
|
94
|
+
id: this.state.id
|
|
95
|
+
});
|
|
96
|
+
runInAction(()=>{
|
|
97
|
+
this.state = item ? WorkflowStateModel.create(item) : null;
|
|
98
|
+
if (!item) return;
|
|
99
|
+
this.setDialog({
|
|
100
|
+
type: "takeOver:success",
|
|
101
|
+
step: null
|
|
102
|
+
});
|
|
103
|
+
});
|
|
104
|
+
};
|
|
105
|
+
this.showCancelReviewDialog = ()=>{
|
|
106
|
+
runInAction(()=>{
|
|
107
|
+
this.setDialog({
|
|
108
|
+
type: "cancelReview"
|
|
109
|
+
});
|
|
110
|
+
});
|
|
111
|
+
};
|
|
112
|
+
this.showRequestReviewDialog = ()=>{
|
|
113
|
+
runInAction(()=>{
|
|
114
|
+
this.setDialog({
|
|
115
|
+
type: "requestReview"
|
|
116
|
+
});
|
|
117
|
+
});
|
|
118
|
+
};
|
|
119
|
+
this.showStartDialog = ()=>{
|
|
120
|
+
runInAction(()=>{
|
|
121
|
+
this.setDialog({
|
|
122
|
+
type: "start"
|
|
123
|
+
});
|
|
124
|
+
});
|
|
125
|
+
};
|
|
126
|
+
this.showApproveDialog = ()=>{
|
|
127
|
+
runInAction(()=>{
|
|
128
|
+
this.setDialog({
|
|
129
|
+
type: "approve"
|
|
130
|
+
});
|
|
131
|
+
});
|
|
132
|
+
};
|
|
133
|
+
this.hideDialog = ()=>{
|
|
134
|
+
runInAction(()=>{
|
|
135
|
+
this.clearDialog();
|
|
136
|
+
});
|
|
137
|
+
};
|
|
138
|
+
this.showRejectDialog = ()=>{
|
|
139
|
+
runInAction(()=>{
|
|
140
|
+
this.setDialog({
|
|
141
|
+
type: "reject"
|
|
142
|
+
});
|
|
143
|
+
});
|
|
144
|
+
};
|
|
145
|
+
this.showCommentDialog = (id)=>{
|
|
146
|
+
const step = this.state?.steps.find((step)=>step.id === id);
|
|
147
|
+
if (!step) return;
|
|
148
|
+
runInAction(()=>{
|
|
149
|
+
this.setDialog({
|
|
150
|
+
type: "comment",
|
|
151
|
+
step
|
|
152
|
+
});
|
|
153
|
+
});
|
|
154
|
+
};
|
|
155
|
+
this.showTakeOverDialog = ()=>{
|
|
156
|
+
runInAction(()=>{
|
|
157
|
+
this.setDialog({
|
|
158
|
+
type: "takeOver"
|
|
159
|
+
});
|
|
160
|
+
});
|
|
161
|
+
};
|
|
162
|
+
this.repository = params.repository;
|
|
163
|
+
this.workflowsRepository = params.workflowsRepository;
|
|
164
|
+
this.app = params.app;
|
|
165
|
+
this.title = params.title;
|
|
166
|
+
this.identity = params.identity;
|
|
167
|
+
this.targetRevisionId = params.targetRevisionId;
|
|
168
|
+
this.disabled = params.disabled;
|
|
169
|
+
makeAutoObservable(this);
|
|
170
|
+
this.init();
|
|
171
|
+
}
|
|
172
|
+
async init() {
|
|
173
|
+
if (this.disabled) return;
|
|
174
|
+
const workflows = await this.workflowsRepository.listWorkflows({
|
|
175
|
+
where: {
|
|
176
|
+
app: this.app
|
|
177
|
+
}
|
|
178
|
+
});
|
|
179
|
+
runInAction(()=>{
|
|
180
|
+
if (0 === workflows.length) {
|
|
181
|
+
this.workflow = null;
|
|
182
|
+
this.state = null;
|
|
183
|
+
return;
|
|
184
|
+
}
|
|
185
|
+
this.workflow = workflows[0];
|
|
186
|
+
});
|
|
187
|
+
if (!this.workflow) return;
|
|
188
|
+
if (!this.targetRevisionId) return;
|
|
189
|
+
const state = await this.repository.getTargetState(this.app, this.targetRevisionId);
|
|
190
|
+
runInAction(()=>{
|
|
191
|
+
this.state = state ? WorkflowStateModel.create(state) : null;
|
|
192
|
+
});
|
|
193
|
+
}
|
|
194
|
+
clearDialog() {
|
|
195
|
+
this.dialog = null;
|
|
75
196
|
}
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
this.state = state ? WorkflowStateModel.create(state) : null;
|
|
79
|
-
});
|
|
80
|
-
}
|
|
81
|
-
clearDialog() {
|
|
82
|
-
this.dialog = null;
|
|
83
|
-
}
|
|
84
|
-
setDialog(dialog) {
|
|
85
|
-
this.dialog = dialog;
|
|
86
|
-
}
|
|
87
|
-
requestReview = async () => {
|
|
88
|
-
const item = await this.repository.requestReview({
|
|
89
|
-
app: this.app,
|
|
90
|
-
targetRevisionId: this.targetRevisionId,
|
|
91
|
-
title: this.title
|
|
92
|
-
});
|
|
93
|
-
runInAction(() => {
|
|
94
|
-
this.state = item ? WorkflowStateModel.create(item) : null;
|
|
95
|
-
this.clearDialog();
|
|
96
|
-
});
|
|
97
|
-
};
|
|
98
|
-
start = async () => {
|
|
99
|
-
const item = await this.repository.start({
|
|
100
|
-
id: this.state.id
|
|
101
|
-
});
|
|
102
|
-
runInAction(() => {
|
|
103
|
-
this.state = item ? WorkflowStateModel.create(item) : null;
|
|
104
|
-
if (!item) {
|
|
105
|
-
return;
|
|
106
|
-
}
|
|
107
|
-
this.setDialog({
|
|
108
|
-
type: "start:success"
|
|
109
|
-
});
|
|
110
|
-
});
|
|
111
|
-
};
|
|
112
|
-
approve = async comment => {
|
|
113
|
-
const item = await this.repository.approve({
|
|
114
|
-
id: this.state.id,
|
|
115
|
-
comment
|
|
116
|
-
});
|
|
117
|
-
runInAction(() => {
|
|
118
|
-
this.state = item ? WorkflowStateModel.create(item) : null;
|
|
119
|
-
if (!item) {
|
|
120
|
-
return;
|
|
121
|
-
}
|
|
122
|
-
this.setDialog({
|
|
123
|
-
type: "approve:success"
|
|
124
|
-
});
|
|
125
|
-
});
|
|
126
|
-
};
|
|
127
|
-
reject = async comment => {
|
|
128
|
-
const item = await this.repository.reject({
|
|
129
|
-
id: this.state.id,
|
|
130
|
-
comment
|
|
131
|
-
});
|
|
132
|
-
runInAction(() => {
|
|
133
|
-
this.state = item ? WorkflowStateModel.create(item) : null;
|
|
134
|
-
if (!item) {
|
|
135
|
-
return;
|
|
136
|
-
}
|
|
137
|
-
this.setDialog({
|
|
138
|
-
type: "reject:success"
|
|
139
|
-
});
|
|
140
|
-
});
|
|
141
|
-
};
|
|
142
|
-
cancel = async () => {
|
|
143
|
-
await this.repository.cancel(this.state.id);
|
|
144
|
-
runInAction(() => {
|
|
145
|
-
this.state = null;
|
|
146
|
-
this.clearDialog();
|
|
147
|
-
});
|
|
148
|
-
};
|
|
149
|
-
takeOver = async () => {
|
|
150
|
-
const item = await this.repository.takeOver({
|
|
151
|
-
id: this.state.id
|
|
152
|
-
});
|
|
153
|
-
runInAction(() => {
|
|
154
|
-
this.state = item ? WorkflowStateModel.create(item) : null;
|
|
155
|
-
if (!item) {
|
|
156
|
-
return;
|
|
157
|
-
}
|
|
158
|
-
this.setDialog({
|
|
159
|
-
type: "takeOver:success",
|
|
160
|
-
step: null
|
|
161
|
-
});
|
|
162
|
-
});
|
|
163
|
-
};
|
|
164
|
-
showCancelReviewDialog = () => {
|
|
165
|
-
runInAction(() => {
|
|
166
|
-
this.setDialog({
|
|
167
|
-
type: "cancelReview"
|
|
168
|
-
});
|
|
169
|
-
});
|
|
170
|
-
};
|
|
171
|
-
showRequestReviewDialog = () => {
|
|
172
|
-
runInAction(() => {
|
|
173
|
-
this.setDialog({
|
|
174
|
-
type: "requestReview"
|
|
175
|
-
});
|
|
176
|
-
});
|
|
177
|
-
};
|
|
178
|
-
showStartDialog = () => {
|
|
179
|
-
runInAction(() => {
|
|
180
|
-
this.setDialog({
|
|
181
|
-
type: "start"
|
|
182
|
-
});
|
|
183
|
-
});
|
|
184
|
-
};
|
|
185
|
-
showApproveDialog = () => {
|
|
186
|
-
runInAction(() => {
|
|
187
|
-
this.setDialog({
|
|
188
|
-
type: "approve"
|
|
189
|
-
});
|
|
190
|
-
});
|
|
191
|
-
};
|
|
192
|
-
hideDialog = () => {
|
|
193
|
-
runInAction(() => {
|
|
194
|
-
this.clearDialog();
|
|
195
|
-
});
|
|
196
|
-
};
|
|
197
|
-
showRejectDialog = () => {
|
|
198
|
-
runInAction(() => {
|
|
199
|
-
this.setDialog({
|
|
200
|
-
type: "reject"
|
|
201
|
-
});
|
|
202
|
-
});
|
|
203
|
-
};
|
|
204
|
-
showCommentDialog = id => {
|
|
205
|
-
const step = this.state?.steps.find(step => step.id === id);
|
|
206
|
-
if (!step) {
|
|
207
|
-
return;
|
|
197
|
+
setDialog(dialog) {
|
|
198
|
+
this.dialog = dialog;
|
|
208
199
|
}
|
|
209
|
-
runInAction(() => {
|
|
210
|
-
this.setDialog({
|
|
211
|
-
type: "comment",
|
|
212
|
-
step
|
|
213
|
-
});
|
|
214
|
-
});
|
|
215
|
-
};
|
|
216
|
-
showTakeOverDialog = () => {
|
|
217
|
-
runInAction(() => {
|
|
218
|
-
this.setDialog({
|
|
219
|
-
type: "takeOver"
|
|
220
|
-
});
|
|
221
|
-
});
|
|
222
|
-
};
|
|
223
200
|
}
|
|
201
|
+
export { WorkflowStatePresenter };
|
|
224
202
|
|
|
225
203
|
//# sourceMappingURL=WorkflowStatePresenter.js.map
|
|
@@ -1 +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":[]}
|
|
1
|
+
{"version":3,"file":"Presenters/WorkflowStatePresenter.js","sources":["../../src/Presenters/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 disabled: boolean;\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 readonly disabled;\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 this.disabled = params.disabled;\n\n makeAutoObservable(this);\n\n this.init();\n }\n\n private async init(): Promise<void> {\n if (this.disabled) {\n return;\n }\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"],"names":["WorkflowStatePresenter","WorkflowStateValue","toJS","params","undefined","item","runInAction","WorkflowStateModel","comment","id","step","makeAutoObservable","workflows","state","dialog"],"mappings":"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"}
|