@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.
Files changed (498) hide show
  1. package/Components/AdminConfig/WorkflowsMenu.d.ts +2 -0
  2. package/Components/AdminConfig/WorkflowsMenu.js +25 -0
  3. package/Components/AdminConfig/WorkflowsMenu.js.map +1 -0
  4. package/Components/App/ContentReviews.d.ts +2 -0
  5. package/Components/App/ContentReviews.js +34 -0
  6. package/Components/App/ContentReviews.js.map +1 -0
  7. package/Components/App/WorkflowsAdminApp.d.ts +5 -0
  8. package/Components/App/WorkflowsAdminApp.js +13 -0
  9. package/Components/App/WorkflowsAdminApp.js.map +1 -0
  10. package/Components/App/index.d.ts +1 -0
  11. package/Components/App/index.js +3 -0
  12. package/Components/App/index.js.map +1 -0
  13. package/Components/Common/Options/OptionItem/Approve.d.ts +8 -0
  14. package/Components/Common/Options/OptionItem/Approve.js +25 -0
  15. package/Components/Common/Options/OptionItem/Approve.js.map +1 -0
  16. package/Components/Common/Options/OptionItem/OpenInNewWindow.d.ts +24 -0
  17. package/Components/Common/Options/OptionItem/OpenInNewWindow.js +9 -0
  18. package/Components/Common/Options/OptionItem/OpenInNewWindow.js.map +1 -0
  19. package/Components/Common/Options/OptionItem/Reject.d.ts +8 -0
  20. package/Components/Common/Options/OptionItem/Reject.js +25 -0
  21. package/Components/Common/Options/OptionItem/Reject.js.map +1 -0
  22. package/Components/Common/Options/OptionItem/Start.d.ts +8 -0
  23. package/Components/Common/Options/OptionItem/Start.js +24 -0
  24. package/Components/Common/Options/OptionItem/Start.js.map +1 -0
  25. package/Components/Common/Options/OptionItem/TakeOver.d.ts +8 -0
  26. package/Components/Common/Options/OptionItem/TakeOver.js +23 -0
  27. package/Components/Common/Options/OptionItem/TakeOver.js.map +1 -0
  28. package/Components/Common/Options/WorkflowStateOptions.d.ts +11 -0
  29. package/Components/Common/Options/WorkflowStateOptions.js +67 -0
  30. package/Components/Common/Options/WorkflowStateOptions.js.map +1 -0
  31. package/Components/Common/Options/index.d.ts +2 -0
  32. package/Components/Common/Options/index.js +4 -0
  33. package/Components/Common/Options/index.js.map +1 -0
  34. package/Components/Common/TagState.d.ts +7 -0
  35. package/Components/Common/TagState.js +14 -0
  36. package/Components/Common/TagState.js.map +1 -0
  37. package/Components/Common/TagStep.d.ts +7 -0
  38. package/Components/Common/TagStep.js +14 -0
  39. package/Components/Common/TagStep.js.map +1 -0
  40. package/Components/Common/YouCanTrackAllContentReviewsHere.d.ts +2 -0
  41. package/Components/Common/YouCanTrackAllContentReviewsHere.js +15 -0
  42. package/Components/Common/YouCanTrackAllContentReviewsHere.js.map +1 -0
  43. package/Components/Common/index.d.ts +5 -0
  44. package/Components/Common/index.js +6 -0
  45. package/Components/Common/index.js.map +1 -0
  46. package/Components/WorkflowState/Bar/Bars/WorkflowStateBarApproved.d.ts +5 -0
  47. package/Components/WorkflowState/Bar/Bars/WorkflowStateBarApproved.js +30 -0
  48. package/Components/WorkflowState/Bar/Bars/WorkflowStateBarApproved.js.map +1 -0
  49. package/Components/WorkflowState/Bar/Bars/WorkflowStateBarCancelReview.d.ts +5 -0
  50. package/Components/WorkflowState/Bar/Bars/WorkflowStateBarCancelReview.js +28 -0
  51. package/Components/WorkflowState/Bar/Bars/WorkflowStateBarCancelReview.js.map +1 -0
  52. package/Components/WorkflowState/Bar/Bars/WorkflowStateBarError.d.ts +6 -0
  53. package/Components/WorkflowState/Bar/Bars/WorkflowStateBarError.js +29 -0
  54. package/Components/WorkflowState/Bar/Bars/WorkflowStateBarError.js.map +1 -0
  55. package/Components/WorkflowState/Bar/Bars/WorkflowStateBarLoading.d.ts +5 -0
  56. package/Components/WorkflowState/Bar/Bars/WorkflowStateBarLoading.js +24 -0
  57. package/Components/WorkflowState/Bar/Bars/WorkflowStateBarLoading.js.map +1 -0
  58. package/Components/WorkflowState/Bar/Bars/WorkflowStateBarRejected.d.ts +5 -0
  59. package/Components/WorkflowState/Bar/Bars/WorkflowStateBarRejected.js +36 -0
  60. package/Components/WorkflowState/Bar/Bars/WorkflowStateBarRejected.js.map +1 -0
  61. package/Components/WorkflowState/Bar/Bars/WorkflowStateBarRequestReview.d.ts +5 -0
  62. package/Components/WorkflowState/Bar/Bars/WorkflowStateBarRequestReview.js +26 -0
  63. package/Components/WorkflowState/Bar/Bars/WorkflowStateBarRequestReview.js.map +1 -0
  64. package/Components/WorkflowState/Bar/Bars/WorkflowStateBarReview.d.ts +5 -0
  65. package/Components/WorkflowState/Bar/Bars/WorkflowStateBarReview.js +57 -0
  66. package/Components/WorkflowState/Bar/Bars/WorkflowStateBarReview.js.map +1 -0
  67. package/Components/WorkflowState/Bar/Bars/WorkflowStateBarStartReview.d.ts +2 -0
  68. package/Components/WorkflowState/Bar/Bars/WorkflowStateBarStartReview.js +31 -0
  69. package/Components/WorkflowState/Bar/Bars/WorkflowStateBarStartReview.js.map +1 -0
  70. package/Components/WorkflowState/Bar/Bars/WorkflowStateBarWorkflow.d.ts +5 -0
  71. package/Components/WorkflowState/Bar/Bars/WorkflowStateBarWorkflow.js +19 -0
  72. package/Components/WorkflowState/Bar/Bars/WorkflowStateBarWorkflow.js.map +1 -0
  73. package/Components/WorkflowState/Bar/Dialogs/ApproveDialog.d.ts +7 -0
  74. package/Components/WorkflowState/Bar/Dialogs/ApproveDialog.js +19 -0
  75. package/Components/WorkflowState/Bar/Dialogs/ApproveDialog.js.map +1 -0
  76. package/Components/WorkflowState/Bar/Dialogs/ApproveSuccessDialog.d.ts +7 -0
  77. package/Components/WorkflowState/Bar/Dialogs/ApproveSuccessDialog.js +17 -0
  78. package/Components/WorkflowState/Bar/Dialogs/ApproveSuccessDialog.js.map +1 -0
  79. package/Components/WorkflowState/Bar/Dialogs/CancelReviewDialog.d.ts +7 -0
  80. package/Components/WorkflowState/Bar/Dialogs/CancelReviewDialog.js +14 -0
  81. package/Components/WorkflowState/Bar/Dialogs/CancelReviewDialog.js.map +1 -0
  82. package/Components/WorkflowState/Bar/Dialogs/CommentDialog.d.ts +7 -0
  83. package/Components/WorkflowState/Bar/Dialogs/CommentDialog.js +17 -0
  84. package/Components/WorkflowState/Bar/Dialogs/CommentDialog.js.map +1 -0
  85. package/Components/WorkflowState/Bar/Dialogs/RejectDialog.d.ts +7 -0
  86. package/Components/WorkflowState/Bar/Dialogs/RejectDialog.js +19 -0
  87. package/Components/WorkflowState/Bar/Dialogs/RejectDialog.js.map +1 -0
  88. package/Components/WorkflowState/Bar/Dialogs/RejectSuccessDialog.d.ts +7 -0
  89. package/Components/WorkflowState/Bar/Dialogs/RejectSuccessDialog.js +17 -0
  90. package/Components/WorkflowState/Bar/Dialogs/RejectSuccessDialog.js.map +1 -0
  91. package/Components/WorkflowState/Bar/Dialogs/RequestReviewDialog.d.ts +7 -0
  92. package/Components/WorkflowState/Bar/Dialogs/RequestReviewDialog.js +14 -0
  93. package/Components/WorkflowState/Bar/Dialogs/RequestReviewDialog.js.map +1 -0
  94. package/Components/WorkflowState/Bar/Dialogs/StartDialog.d.ts +7 -0
  95. package/Components/WorkflowState/Bar/Dialogs/StartDialog.js +19 -0
  96. package/Components/WorkflowState/Bar/Dialogs/StartDialog.js.map +1 -0
  97. package/Components/WorkflowState/Bar/Dialogs/StartSuccessDialog.d.ts +7 -0
  98. package/Components/WorkflowState/Bar/Dialogs/StartSuccessDialog.js +17 -0
  99. package/Components/WorkflowState/Bar/Dialogs/StartSuccessDialog.js.map +1 -0
  100. package/Components/WorkflowState/Bar/Dialogs/TakeOverDialog.d.ts +7 -0
  101. package/Components/WorkflowState/Bar/Dialogs/TakeOverDialog.js +21 -0
  102. package/Components/WorkflowState/Bar/Dialogs/TakeOverDialog.js.map +1 -0
  103. package/Components/WorkflowState/Bar/Dialogs/TakeOverSuccessDialog.d.ts +7 -0
  104. package/Components/WorkflowState/Bar/Dialogs/TakeOverSuccessDialog.js +17 -0
  105. package/Components/WorkflowState/Bar/Dialogs/TakeOverSuccessDialog.js.map +1 -0
  106. package/Components/WorkflowState/Bar/Dialogs/index.d.ts +11 -0
  107. package/Components/WorkflowState/Bar/Dialogs/index.js +13 -0
  108. package/Components/WorkflowState/Bar/Dialogs/index.js.map +1 -0
  109. package/Components/WorkflowState/Bar/WorkflowStateBar.d.ts +23 -0
  110. package/Components/WorkflowState/Bar/WorkflowStateBar.js +37 -0
  111. package/Components/WorkflowState/Bar/WorkflowStateBar.js.map +1 -0
  112. package/Components/WorkflowState/Bar/WorkflowStateBarComponent.d.ts +40 -0
  113. package/Components/WorkflowState/Bar/WorkflowStateBarComponent.js +23 -0
  114. package/Components/WorkflowState/Bar/WorkflowStateBarComponent.js.map +1 -0
  115. package/Components/WorkflowState/Bar/WorkflowStateBarDialogs.d.ts +4 -0
  116. package/Components/WorkflowState/Bar/WorkflowStateBarDialogs.js +58 -0
  117. package/Components/WorkflowState/Bar/WorkflowStateBarDialogs.js.map +1 -0
  118. package/Components/WorkflowState/Bar/index.d.ts +1 -0
  119. package/Components/WorkflowState/Bar/index.js +3 -0
  120. package/Components/WorkflowState/Bar/index.js.map +1 -0
  121. package/Components/WorkflowState/Overlay/WorkflowStateOverlay.d.ts +15 -0
  122. package/Components/WorkflowState/Overlay/WorkflowStateOverlay.js +17 -0
  123. package/Components/WorkflowState/Overlay/WorkflowStateOverlay.js.map +1 -0
  124. package/Components/WorkflowState/Tooltip/WorkflowStateTooltip.d.ts +10 -0
  125. package/Components/WorkflowState/Tooltip/WorkflowStateTooltip.js +47 -0
  126. package/Components/WorkflowState/Tooltip/WorkflowStateTooltip.js.map +1 -0
  127. package/Components/WorkflowState/Tooltip/WorkflowStateTooltipContent.d.ts +9 -0
  128. package/Components/WorkflowState/Tooltip/WorkflowStateTooltipContent.js +42 -0
  129. package/Components/WorkflowState/Tooltip/WorkflowStateTooltipContent.js.map +1 -0
  130. package/Components/WorkflowState/Tooltip/WorkflowStateTooltipContentComment.d.ts +10 -0
  131. package/Components/WorkflowState/Tooltip/WorkflowStateTooltipContentComment.js +26 -0
  132. package/Components/WorkflowState/Tooltip/WorkflowStateTooltipContentComment.js.map +1 -0
  133. package/Components/WorkflowState/WorkflowStateProvider.d.ts +17 -0
  134. package/Components/WorkflowState/WorkflowStateProvider.js +44 -0
  135. package/Components/WorkflowState/WorkflowStateProvider.js.map +1 -0
  136. package/Components/WorkflowState/index.d.ts +5 -0
  137. package/Components/WorkflowState/index.js +7 -0
  138. package/Components/WorkflowState/index.js.map +1 -0
  139. package/Components/WorkflowState/useWorkflowState.d.ts +1 -0
  140. package/Components/WorkflowState/useWorkflowState.js +11 -0
  141. package/Components/WorkflowState/useWorkflowState.js.map +1 -0
  142. package/Components/WorkflowStateDialogs/ApproveDialog.d.ts +9 -0
  143. package/Components/WorkflowStateDialogs/ApproveDialog.js +48 -0
  144. package/Components/WorkflowStateDialogs/ApproveDialog.js.map +1 -0
  145. package/Components/WorkflowStateDialogs/ApproveSuccessDialog.d.ts +7 -0
  146. package/Components/WorkflowStateDialogs/ApproveSuccessDialog.js +34 -0
  147. package/Components/WorkflowStateDialogs/ApproveSuccessDialog.js.map +1 -0
  148. package/Components/WorkflowStateDialogs/CancelReviewDialog.d.ts +8 -0
  149. package/Components/WorkflowStateDialogs/CancelReviewDialog.js +36 -0
  150. package/Components/WorkflowStateDialogs/CancelReviewDialog.js.map +1 -0
  151. package/Components/WorkflowStateDialogs/CommentDialog.d.ts +8 -0
  152. package/Components/WorkflowStateDialogs/CommentDialog.js +47 -0
  153. package/Components/WorkflowStateDialogs/CommentDialog.js.map +1 -0
  154. package/Components/WorkflowStateDialogs/RejectDialog.d.ts +9 -0
  155. package/Components/WorkflowStateDialogs/RejectDialog.js +83 -0
  156. package/Components/WorkflowStateDialogs/RejectDialog.js.map +1 -0
  157. package/Components/WorkflowStateDialogs/RejectSuccessDialog.d.ts +7 -0
  158. package/Components/WorkflowStateDialogs/RejectSuccessDialog.js +32 -0
  159. package/Components/WorkflowStateDialogs/RejectSuccessDialog.js.map +1 -0
  160. package/Components/WorkflowStateDialogs/RequestReviewDialog.d.ts +8 -0
  161. package/Components/WorkflowStateDialogs/RequestReviewDialog.js +36 -0
  162. package/Components/WorkflowStateDialogs/RequestReviewDialog.js.map +1 -0
  163. package/Components/WorkflowStateDialogs/StartDialog.d.ts +9 -0
  164. package/Components/WorkflowStateDialogs/StartDialog.js +37 -0
  165. package/Components/WorkflowStateDialogs/StartDialog.js.map +1 -0
  166. package/Components/WorkflowStateDialogs/StartSuccessDialog.d.ts +7 -0
  167. package/Components/WorkflowStateDialogs/StartSuccessDialog.js +32 -0
  168. package/Components/WorkflowStateDialogs/StartSuccessDialog.js.map +1 -0
  169. package/Components/WorkflowStateDialogs/TakeOverDialog.d.ts +10 -0
  170. package/Components/WorkflowStateDialogs/TakeOverDialog.js +38 -0
  171. package/Components/WorkflowStateDialogs/TakeOverDialog.js.map +1 -0
  172. package/Components/WorkflowStateDialogs/TakeOverSuccessDialog.d.ts +7 -0
  173. package/Components/WorkflowStateDialogs/TakeOverSuccessDialog.js +32 -0
  174. package/Components/WorkflowStateDialogs/TakeOverSuccessDialog.js.map +1 -0
  175. package/Components/WorkflowStateDialogs/index.d.ts +11 -0
  176. package/Components/WorkflowStateDialogs/index.js +13 -0
  177. package/Components/WorkflowStateDialogs/index.js.map +1 -0
  178. package/Components/WorkflowStateList/List/WorkflowStateList.d.ts +4 -0
  179. package/Components/WorkflowStateList/List/WorkflowStateList.js +100 -0
  180. package/Components/WorkflowStateList/List/WorkflowStateList.js.map +1 -0
  181. package/Components/WorkflowStateList/List/WorkflowStateListFilters.d.ts +4 -0
  182. package/Components/WorkflowStateList/List/WorkflowStateListFilters.js +68 -0
  183. package/Components/WorkflowStateList/List/WorkflowStateListFilters.js.map +1 -0
  184. package/Components/WorkflowStateList/List/WorkflowStateListOptions.d.ts +9 -0
  185. package/Components/WorkflowStateList/List/WorkflowStateListOptions.js +13 -0
  186. package/Components/WorkflowStateList/List/WorkflowStateListOptions.js.map +1 -0
  187. package/Components/WorkflowStateList/List/WorkflowStateListView.d.ts +7 -0
  188. package/Components/WorkflowStateList/List/WorkflowStateListView.js +28 -0
  189. package/Components/WorkflowStateList/List/WorkflowStateListView.js.map +1 -0
  190. package/Components/WorkflowStateList/List/index.d.ts +2 -0
  191. package/Components/WorkflowStateList/List/index.js +4 -0
  192. package/Components/WorkflowStateList/List/index.js.map +1 -0
  193. package/Components/WorkflowStateList/Overlay/WorkflowStateListAppOverlay.d.ts +14 -0
  194. package/Components/WorkflowStateList/Overlay/WorkflowStateListAppOverlay.js +32 -0
  195. package/Components/WorkflowStateList/Overlay/WorkflowStateListAppOverlay.js.map +1 -0
  196. package/Components/WorkflowStateList/Overlay/WorkflowStateListAppOverlayView.d.ts +8 -0
  197. package/Components/WorkflowStateList/Overlay/WorkflowStateListAppOverlayView.js +34 -0
  198. package/Components/WorkflowStateList/Overlay/WorkflowStateListAppOverlayView.js.map +1 -0
  199. package/Components/WorkflowStateList/Overlay/index.d.ts +1 -0
  200. package/Components/WorkflowStateList/Overlay/index.js +3 -0
  201. package/Components/WorkflowStateList/Overlay/index.js.map +1 -0
  202. package/Components/WorkflowStateList/Provider/WorkflowStateListProvider.d.ts +16 -0
  203. package/Components/WorkflowStateList/Provider/WorkflowStateListProvider.js +37 -0
  204. package/Components/WorkflowStateList/Provider/WorkflowStateListProvider.js.map +1 -0
  205. package/Components/WorkflowStateList/Provider/index.d.ts +1 -0
  206. package/Components/WorkflowStateList/Provider/index.js +3 -0
  207. package/Components/WorkflowStateList/Provider/index.js.map +1 -0
  208. package/Components/WorkflowStateList/hooks/index.d.ts +1 -0
  209. package/Components/WorkflowStateList/hooks/index.js +3 -0
  210. package/Components/WorkflowStateList/hooks/index.js.map +1 -0
  211. package/Components/WorkflowStateList/hooks/useWorkflowStateList.d.ts +1 -0
  212. package/Components/WorkflowStateList/hooks/useWorkflowStateList.js +11 -0
  213. package/Components/WorkflowStateList/hooks/useWorkflowStateList.js.map +1 -0
  214. package/Components/WorkflowStateList/index.d.ts +2 -0
  215. package/Components/WorkflowStateList/index.js +4 -0
  216. package/Components/WorkflowStateList/index.js.map +1 -0
  217. package/Components/WorkflowStatesWidget/Card/WorkflowStatesWidgetCard.d.ts +8 -0
  218. package/Components/WorkflowStatesWidget/Card/WorkflowStatesWidgetCard.js +55 -0
  219. package/Components/WorkflowStatesWidget/Card/WorkflowStatesWidgetCard.js.map +1 -0
  220. package/Components/WorkflowStatesWidget/Card/WorkflowStatesWidgetCardTabs.d.ts +9 -0
  221. package/Components/WorkflowStatesWidget/Card/WorkflowStatesWidgetCardTabs.js +65 -0
  222. package/Components/WorkflowStatesWidget/Card/WorkflowStatesWidgetCardTabs.js.map +1 -0
  223. package/Components/WorkflowStatesWidget/Dialogs/ApproveDialog.d.ts +7 -0
  224. package/Components/WorkflowStatesWidget/Dialogs/ApproveDialog.js +25 -0
  225. package/Components/WorkflowStatesWidget/Dialogs/ApproveDialog.js.map +1 -0
  226. package/Components/WorkflowStatesWidget/Dialogs/ApproveSuccessDialog.d.ts +7 -0
  227. package/Components/WorkflowStatesWidget/Dialogs/ApproveSuccessDialog.js +17 -0
  228. package/Components/WorkflowStatesWidget/Dialogs/ApproveSuccessDialog.js.map +1 -0
  229. package/Components/WorkflowStatesWidget/Dialogs/RejectDialog.d.ts +7 -0
  230. package/Components/WorkflowStatesWidget/Dialogs/RejectDialog.js +25 -0
  231. package/Components/WorkflowStatesWidget/Dialogs/RejectDialog.js.map +1 -0
  232. package/Components/WorkflowStatesWidget/Dialogs/RejectSuccessDialog.d.ts +7 -0
  233. package/Components/WorkflowStatesWidget/Dialogs/RejectSuccessDialog.js +17 -0
  234. package/Components/WorkflowStatesWidget/Dialogs/RejectSuccessDialog.js.map +1 -0
  235. package/Components/WorkflowStatesWidget/Dialogs/StartDialog.d.ts +7 -0
  236. package/Components/WorkflowStatesWidget/Dialogs/StartDialog.js +25 -0
  237. package/Components/WorkflowStatesWidget/Dialogs/StartDialog.js.map +1 -0
  238. package/Components/WorkflowStatesWidget/Dialogs/StartSuccessDialog.d.ts +7 -0
  239. package/Components/WorkflowStatesWidget/Dialogs/StartSuccessDialog.js +17 -0
  240. package/Components/WorkflowStatesWidget/Dialogs/StartSuccessDialog.js.map +1 -0
  241. package/Components/WorkflowStatesWidget/Dialogs/TakeOverDialog.d.ts +7 -0
  242. package/Components/WorkflowStatesWidget/Dialogs/TakeOverDialog.js +28 -0
  243. package/Components/WorkflowStatesWidget/Dialogs/TakeOverDialog.js.map +1 -0
  244. package/Components/WorkflowStatesWidget/Dialogs/TakeOverSuccessDialog.d.ts +7 -0
  245. package/Components/WorkflowStatesWidget/Dialogs/TakeOverSuccessDialog.js +17 -0
  246. package/Components/WorkflowStatesWidget/Dialogs/TakeOverSuccessDialog.js.map +1 -0
  247. package/Components/WorkflowStatesWidget/Dialogs/index.d.ts +8 -0
  248. package/Components/WorkflowStatesWidget/Dialogs/index.js +10 -0
  249. package/Components/WorkflowStatesWidget/Dialogs/index.js.map +1 -0
  250. package/Components/WorkflowStatesWidget/List/WorkflowStateList.d.ts +7 -0
  251. package/Components/WorkflowStatesWidget/List/WorkflowStateList.js +18 -0
  252. package/Components/WorkflowStatesWidget/List/WorkflowStateList.js.map +1 -0
  253. package/Components/WorkflowStatesWidget/List/WorkflowStateRow.d.ts +9 -0
  254. package/Components/WorkflowStatesWidget/List/WorkflowStateRow.js +24 -0
  255. package/Components/WorkflowStatesWidget/List/WorkflowStateRow.js.map +1 -0
  256. package/Components/WorkflowStatesWidget/List/WorkflowStateRowOptions.d.ts +9 -0
  257. package/Components/WorkflowStatesWidget/List/WorkflowStateRowOptions.js +33 -0
  258. package/Components/WorkflowStatesWidget/List/WorkflowStateRowOptions.js.map +1 -0
  259. package/Components/WorkflowStatesWidget/Provider/WorkflowStatesProvider.d.ts +17 -0
  260. package/Components/WorkflowStatesWidget/Provider/WorkflowStatesProvider.js +34 -0
  261. package/Components/WorkflowStatesWidget/Provider/WorkflowStatesProvider.js.map +1 -0
  262. package/Components/WorkflowStatesWidget/Row/WorkflowStateRowDescription.d.ts +7 -0
  263. package/Components/WorkflowStatesWidget/Row/WorkflowStateRowDescription.js +22 -0
  264. package/Components/WorkflowStatesWidget/Row/WorkflowStateRowDescription.js.map +1 -0
  265. package/Components/WorkflowStatesWidget/WorkflowStatesOwnWidget.d.ts +6 -0
  266. package/Components/WorkflowStatesWidget/WorkflowStatesOwnWidget.js +29 -0
  267. package/Components/WorkflowStatesWidget/WorkflowStatesOwnWidget.js.map +1 -0
  268. package/Components/WorkflowStatesWidget/WorkflowStatesRequestedWidget.d.ts +6 -0
  269. package/Components/WorkflowStatesWidget/WorkflowStatesRequestedWidget.js +29 -0
  270. package/Components/WorkflowStatesWidget/WorkflowStatesRequestedWidget.js.map +1 -0
  271. package/Components/WorkflowStatesWidget/hooks/useWorkflowStatesWidget.d.ts +1 -0
  272. package/Components/WorkflowStatesWidget/hooks/useWorkflowStatesWidget.js +11 -0
  273. package/Components/WorkflowStatesWidget/hooks/useWorkflowStatesWidget.js.map +1 -0
  274. package/Components/WorkflowStatesWidget/index.d.ts +2 -0
  275. package/Components/WorkflowStatesWidget/index.js +4 -0
  276. package/Components/WorkflowStatesWidget/index.js.map +1 -0
  277. package/Components/WorkflowsEditor/DataList/WorkflowsDataList.d.ts +8 -0
  278. package/Components/WorkflowsEditor/DataList/WorkflowsDataList.js +46 -0
  279. package/Components/WorkflowsEditor/DataList/WorkflowsDataList.js.map +1 -0
  280. package/Components/WorkflowsEditor/Editor/Error/FormattedError.d.ts +7 -0
  281. package/Components/WorkflowsEditor/Editor/Error/FormattedError.js +37 -0
  282. package/Components/WorkflowsEditor/Editor/Error/FormattedError.js.map +1 -0
  283. package/Components/WorkflowsEditor/Editor/Error/WorkflowError.d.ts +7 -0
  284. package/Components/WorkflowsEditor/Editor/Error/WorkflowError.js +41 -0
  285. package/Components/WorkflowsEditor/Editor/Error/WorkflowError.js.map +1 -0
  286. package/Components/WorkflowsEditor/Editor/Step/Form/StepFormColor.d.ts +2 -0
  287. package/Components/WorkflowsEditor/Editor/Step/Form/StepFormColor.js +22 -0
  288. package/Components/WorkflowsEditor/Editor/Step/Form/StepFormColor.js.map +1 -0
  289. package/Components/WorkflowsEditor/Editor/Step/Form/StepFormDescription.d.ts +2 -0
  290. package/Components/WorkflowsEditor/Editor/Step/Form/StepFormDescription.js +13 -0
  291. package/Components/WorkflowsEditor/Editor/Step/Form/StepFormDescription.js.map +1 -0
  292. package/Components/WorkflowsEditor/Editor/Step/Form/StepFormNotifications.d.ts +7 -0
  293. package/Components/WorkflowsEditor/Editor/Step/Form/StepFormNotifications.js +44 -0
  294. package/Components/WorkflowsEditor/Editor/Step/Form/StepFormNotifications.js.map +1 -0
  295. package/Components/WorkflowsEditor/Editor/Step/Form/StepFormTeams.d.ts +2 -0
  296. package/Components/WorkflowsEditor/Editor/Step/Form/StepFormTeams.js +39 -0
  297. package/Components/WorkflowsEditor/Editor/Step/Form/StepFormTeams.js.map +1 -0
  298. package/Components/WorkflowsEditor/Editor/Step/Form/StepFormTitle.d.ts +2 -0
  299. package/Components/WorkflowsEditor/Editor/Step/Form/StepFormTitle.js +15 -0
  300. package/Components/WorkflowsEditor/Editor/Step/Form/StepFormTitle.js.map +1 -0
  301. package/Components/WorkflowsEditor/Editor/Step/InactiveStep.d.ts +7 -0
  302. package/Components/WorkflowsEditor/Editor/Step/InactiveStep.js +19 -0
  303. package/Components/WorkflowsEditor/Editor/Step/InactiveStep.js.map +1 -0
  304. package/Components/WorkflowsEditor/Editor/Step/NewStep.d.ts +7 -0
  305. package/Components/WorkflowsEditor/Editor/Step/NewStep.js +58 -0
  306. package/Components/WorkflowsEditor/Editor/Step/NewStep.js.map +1 -0
  307. package/Components/WorkflowsEditor/Editor/Step/Step/RemoveStep.d.ts +7 -0
  308. package/Components/WorkflowsEditor/Editor/Step/Step/RemoveStep.js +37 -0
  309. package/Components/WorkflowsEditor/Editor/Step/Step/RemoveStep.js.map +1 -0
  310. package/Components/WorkflowsEditor/Editor/Step/Step.d.ts +18 -0
  311. package/Components/WorkflowsEditor/Editor/Step/Step.js +146 -0
  312. package/Components/WorkflowsEditor/Editor/Step/Step.js.map +1 -0
  313. package/Components/WorkflowsEditor/Editor/WorkflowEditor.d.ts +6 -0
  314. package/Components/WorkflowsEditor/Editor/WorkflowEditor.js +49 -0
  315. package/Components/WorkflowsEditor/Editor/WorkflowEditor.js.map +1 -0
  316. package/Components/WorkflowsEditor/Editor/WorkflowEditorSteps.d.ts +8 -0
  317. package/Components/WorkflowsEditor/Editor/WorkflowEditorSteps.js +50 -0
  318. package/Components/WorkflowsEditor/Editor/WorkflowEditorSteps.js.map +1 -0
  319. package/Components/WorkflowsEditor/Editor/WorkflowEditorView.d.ts +9 -0
  320. package/Components/WorkflowsEditor/Editor/WorkflowEditorView.js +31 -0
  321. package/Components/WorkflowsEditor/Editor/WorkflowEditorView.js.map +1 -0
  322. package/Components/WorkflowsEditor/WorkflowsEditor.d.ts +3 -0
  323. package/Components/WorkflowsEditor/WorkflowsEditor.js +8 -0
  324. package/Components/WorkflowsEditor/WorkflowsEditor.js.map +1 -0
  325. package/Components/WorkflowsEditor/WorkflowsEditorBase.d.ts +11 -0
  326. package/Components/WorkflowsEditor/WorkflowsEditorBase.js +42 -0
  327. package/Components/WorkflowsEditor/WorkflowsEditorBase.js.map +1 -0
  328. package/Components/WorkflowsEditor/index.d.ts +1 -0
  329. package/Components/WorkflowsEditor/index.js +3 -0
  330. package/Components/WorkflowsEditor/index.js.map +1 -0
  331. package/Components/WorkflowsPermissions/HasWorkflowsEditorPermission.d.ts +5 -0
  332. package/Components/WorkflowsPermissions/HasWorkflowsEditorPermission.js +10 -0
  333. package/Components/WorkflowsPermissions/HasWorkflowsEditorPermission.js.map +1 -0
  334. package/Components/WorkflowsPermissions/SecurityPermissions.d.ts +2 -0
  335. package/Components/WorkflowsPermissions/SecurityPermissions.js +22 -0
  336. package/Components/WorkflowsPermissions/SecurityPermissions.js.map +1 -0
  337. package/Components/WorkflowsPermissions/constants.d.ts +1 -0
  338. package/Components/WorkflowsPermissions/constants.js +3 -0
  339. package/Components/WorkflowsPermissions/constants.js.map +1 -0
  340. package/Components/WorkflowsPermissions/index.d.ts +4 -0
  341. package/Components/WorkflowsPermissions/index.js +5 -0
  342. package/Components/WorkflowsPermissions/index.js.map +1 -0
  343. package/Components/WorkflowsPermissions/useWorkflowsPermission.d.ts +5 -0
  344. package/Components/WorkflowsPermissions/useWorkflowsPermission.js +33 -0
  345. package/Components/WorkflowsPermissions/useWorkflowsPermission.js.map +1 -0
  346. package/Components/helpers/index.d.ts +2 -0
  347. package/Components/helpers/index.js +4 -0
  348. package/Components/helpers/index.js.map +1 -0
  349. package/Components/helpers/stateName.d.ts +2 -0
  350. package/Components/helpers/stateName.js +17 -0
  351. package/Components/helpers/stateName.js.map +1 -0
  352. package/Components/helpers/tagStateVariant.d.ts +3 -0
  353. package/Components/helpers/tagStateVariant.js +17 -0
  354. package/Components/helpers/tagStateVariant.js.map +1 -0
  355. package/Gateways/WorkflowNotificationTypesGateway.d.ts +10 -0
  356. package/Gateways/WorkflowNotificationTypesGateway.js +29 -0
  357. package/Gateways/WorkflowNotificationTypesGateway.js.map +1 -0
  358. package/Gateways/WorkflowStateGateway.d.ts +17 -0
  359. package/Gateways/WorkflowStateGateway.js +189 -0
  360. package/Gateways/WorkflowStateGateway.js.map +1 -0
  361. package/Gateways/WorkflowStateListGateway.d.ts +13 -0
  362. package/Gateways/WorkflowStateListGateway.js +88 -0
  363. package/Gateways/WorkflowStateListGateway.js.map +1 -0
  364. package/Gateways/WorkflowStatesWidgetGateway.d.ts +16 -0
  365. package/Gateways/WorkflowStatesWidgetGateway.js +133 -0
  366. package/Gateways/WorkflowStatesWidgetGateway.js.map +1 -0
  367. package/Gateways/WorkflowsGateway.d.ts +13 -0
  368. package/Gateways/WorkflowsGateway.js +77 -0
  369. package/Gateways/WorkflowsGateway.js.map +1 -0
  370. package/Gateways/abstraction/WorkflowNotificationTypesGateway.d.ts +16 -0
  371. package/Gateways/abstraction/WorkflowNotificationTypesGateway.js +3 -0
  372. package/Gateways/abstraction/WorkflowNotificationTypesGateway.js.map +1 -0
  373. package/Gateways/abstraction/WorkflowStateGateway.d.ts +107 -0
  374. package/Gateways/abstraction/WorkflowStateGateway.js +3 -0
  375. package/Gateways/abstraction/WorkflowStateGateway.js.map +1 -0
  376. package/Gateways/abstraction/WorkflowStateListGateway.d.ts +50 -0
  377. package/Gateways/abstraction/WorkflowStateListGateway.js +3 -0
  378. package/Gateways/abstraction/WorkflowStateListGateway.js.map +1 -0
  379. package/Gateways/abstraction/WorkflowStatesWidgetGateway.d.ts +69 -0
  380. package/Gateways/abstraction/WorkflowStatesWidgetGateway.js +3 -0
  381. package/Gateways/abstraction/WorkflowStatesWidgetGateway.js.map +1 -0
  382. package/Gateways/abstraction/WorkflowsGateway.d.ts +45 -0
  383. package/Gateways/abstraction/WorkflowsGateway.js +3 -0
  384. package/Gateways/abstraction/WorkflowsGateway.js.map +1 -0
  385. package/Gateways/graphql/workflowNotifications.d.ts +11 -0
  386. package/Gateways/graphql/workflowNotifications.js +26 -0
  387. package/Gateways/graphql/workflowNotifications.js.map +1 -0
  388. package/Gateways/graphql/workflowStates.d.ts +142 -0
  389. package/Gateways/graphql/workflowStates.js +171 -0
  390. package/Gateways/graphql/workflowStates.js.map +1 -0
  391. package/Gateways/graphql/workflows.d.ts +69 -0
  392. package/Gateways/graphql/workflows.js +67 -0
  393. package/Gateways/graphql/workflows.js.map +1 -0
  394. package/Gateways/index.d.ts +12 -0
  395. package/Gateways/index.js +7 -0
  396. package/Gateways/index.js.map +1 -0
  397. package/LICENSE +21 -0
  398. package/Models/WorkflowModel.d.ts +18 -0
  399. package/Models/WorkflowModel.js +78 -0
  400. package/Models/WorkflowModel.js.map +1 -0
  401. package/Models/WorkflowStateModel.d.ts +34 -0
  402. package/Models/WorkflowStateModel.js +117 -0
  403. package/Models/WorkflowStateModel.js.map +1 -0
  404. package/Models/WorkflowStateStepModel.d.ts +20 -0
  405. package/Models/WorkflowStateStepModel.js +44 -0
  406. package/Models/WorkflowStateStepModel.js.map +1 -0
  407. package/Models/WorkflowStepModel.d.ts +13 -0
  408. package/Models/WorkflowStepModel.js +29 -0
  409. package/Models/WorkflowStepModel.js.map +1 -0
  410. package/Models/abstractions/WorkflowModel.d.ts +13 -0
  411. package/Models/abstractions/WorkflowModel.js +3 -0
  412. package/Models/abstractions/WorkflowModel.js.map +1 -0
  413. package/Models/abstractions/WorkflowStateModel.d.ts +18 -0
  414. package/Models/abstractions/WorkflowStateModel.js +3 -0
  415. package/Models/abstractions/WorkflowStateModel.js.map +1 -0
  416. package/Models/abstractions/WorkflowStateStepModel.d.ts +5 -0
  417. package/Models/abstractions/WorkflowStateStepModel.js +3 -0
  418. package/Models/abstractions/WorkflowStateStepModel.js.map +1 -0
  419. package/Models/abstractions/WorkflowStepModel.d.ts +5 -0
  420. package/Models/abstractions/WorkflowStepModel.js +3 -0
  421. package/Models/abstractions/WorkflowStepModel.js.map +1 -0
  422. package/Models/index.d.ts +8 -0
  423. package/Models/index.js +6 -0
  424. package/Models/index.js.map +1 -0
  425. package/Presenters/WorkflowStateListPresenter.d.ts +24 -0
  426. package/Presenters/WorkflowStateListPresenter.js +54 -0
  427. package/Presenters/WorkflowStateListPresenter.js.map +1 -0
  428. package/Presenters/WorkflowStatePresenter.d.ts +51 -0
  429. package/Presenters/WorkflowStatePresenter.js +225 -0
  430. package/Presenters/WorkflowStatePresenter.js.map +1 -0
  431. package/Presenters/WorkflowStatesWidgetPresenter.d.ts +34 -0
  432. package/Presenters/WorkflowStatesWidgetPresenter.js +273 -0
  433. package/Presenters/WorkflowStatesWidgetPresenter.js.map +1 -0
  434. package/Presenters/WorkflowsPresenter.d.ts +31 -0
  435. package/Presenters/WorkflowsPresenter.js +112 -0
  436. package/Presenters/WorkflowsPresenter.js.map +1 -0
  437. package/Presenters/abstractions/WorkflowStateListPresenter.d.ts +58 -0
  438. package/Presenters/abstractions/WorkflowStateListPresenter.js +3 -0
  439. package/Presenters/abstractions/WorkflowStateListPresenter.js.map +1 -0
  440. package/Presenters/abstractions/WorkflowStatePresenter.d.ts +37 -0
  441. package/Presenters/abstractions/WorkflowStatePresenter.js +3 -0
  442. package/Presenters/abstractions/WorkflowStatePresenter.js.map +1 -0
  443. package/Presenters/abstractions/WorkflowStatesWidgetPresenter.d.ts +38 -0
  444. package/Presenters/abstractions/WorkflowStatesWidgetPresenter.js +3 -0
  445. package/Presenters/abstractions/WorkflowStatesWidgetPresenter.js.map +1 -0
  446. package/Presenters/abstractions/WorkflowsPresenter.d.ts +25 -0
  447. package/Presenters/abstractions/WorkflowsPresenter.js +3 -0
  448. package/Presenters/abstractions/WorkflowsPresenter.js.map +1 -0
  449. package/Presenters/index.d.ts +11 -0
  450. package/Presenters/index.js +6 -0
  451. package/Presenters/index.js.map +1 -0
  452. package/README.md +11 -0
  453. package/Repositories/WorkflowNotificationTypesRepository.d.ts +16 -0
  454. package/Repositories/WorkflowNotificationTypesRepository.js +29 -0
  455. package/Repositories/WorkflowNotificationTypesRepository.js.map +1 -0
  456. package/Repositories/WorkflowStateListRepository.d.ts +26 -0
  457. package/Repositories/WorkflowStateListRepository.js +74 -0
  458. package/Repositories/WorkflowStateListRepository.js.map +1 -0
  459. package/Repositories/WorkflowStateRepository.d.ts +22 -0
  460. package/Repositories/WorkflowStateRepository.js +131 -0
  461. package/Repositories/WorkflowStateRepository.js.map +1 -0
  462. package/Repositories/WorkflowStatesWidgetRepository.d.ts +24 -0
  463. package/Repositories/WorkflowStatesWidgetRepository.js +137 -0
  464. package/Repositories/WorkflowStatesWidgetRepository.js.map +1 -0
  465. package/Repositories/WorkflowsRepository.d.ts +21 -0
  466. package/Repositories/WorkflowsRepository.js +86 -0
  467. package/Repositories/WorkflowsRepository.js.map +1 -0
  468. package/Repositories/abstractions/WorkflowNotificationTypesRepository.d.ts +7 -0
  469. package/Repositories/abstractions/WorkflowNotificationTypesRepository.js +3 -0
  470. package/Repositories/abstractions/WorkflowNotificationTypesRepository.js.map +1 -0
  471. package/Repositories/abstractions/WorkflowStateListRepository.d.ts +13 -0
  472. package/Repositories/abstractions/WorkflowStateListRepository.js +3 -0
  473. package/Repositories/abstractions/WorkflowStateListRepository.js.map +1 -0
  474. package/Repositories/abstractions/WorkflowStateRepository.d.ts +37 -0
  475. package/Repositories/abstractions/WorkflowStateRepository.js +3 -0
  476. package/Repositories/abstractions/WorkflowStateRepository.js.map +1 -0
  477. package/Repositories/abstractions/WorkflowStatesWidgetRepository.d.ts +36 -0
  478. package/Repositories/abstractions/WorkflowStatesWidgetRepository.js +3 -0
  479. package/Repositories/abstractions/WorkflowStatesWidgetRepository.js.map +1 -0
  480. package/Repositories/abstractions/WorkflowsRepository.d.ts +17 -0
  481. package/Repositories/abstractions/WorkflowsRepository.js +3 -0
  482. package/Repositories/abstractions/WorkflowsRepository.js.map +1 -0
  483. package/Repositories/index.d.ts +13 -0
  484. package/Repositories/index.js +7 -0
  485. package/Repositories/index.js.map +1 -0
  486. package/hooks/canUseWorkflows.d.ts +3 -0
  487. package/hooks/canUseWorkflows.js +10 -0
  488. package/hooks/canUseWorkflows.js.map +1 -0
  489. package/index.d.ts +56 -0
  490. package/index.js +42 -0
  491. package/index.js.map +1 -0
  492. package/package.json +49 -0
  493. package/routes.d.ts +10 -0
  494. package/routes.js +18 -0
  495. package/routes.js.map +1 -0
  496. package/types.d.ts +90 -0
  497. package/types.js +19 -0
  498. 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":"AAMA,SAASA,kBAAkB,EAAEC,WAAW,EAAEC,IAAI,QAAQ,MAAM;AAC5D,SAGIC,kBAAkB;AAEtB,SAAyCC,kBAAkB;AAW3D,OAAO,MAAMC,sBAAsB,CAAoC;EAG3DC,QAAQ,GAAqB,IAAI;EAKjCC,KAAK,GAA2CC,SAAS;EACzDC,MAAM,GAAkD,IAAI;EACpEC,IAAI,GAAmC,IAAI;EAE3C,IAAYC,OAAOA,CAAA,EAAY;IAC3B,IAAI,CAAC,IAAI,CAACC,QAAQ,EAAE;MAChB,OAAO,KAAK;IAChB;IACA,OAAO,IAAI,CAACL,KAAK,EAAEM,SAAS,EAAEC,EAAE,KAAK,IAAI,CAACF,QAAQ,CAACE,EAAE;EACzD;EACA;AACJ;AACA;AACA;AACA;AACA;EACI,IAAYC,SAASA,CAAA,EAAY;IAC7B,IAAI,CAAC,IAAI,CAACJ,OAAO,EAAE;MACf,OAAO,KAAK;IAChB,CAAC,MAAM,IAAI,IAAI,CAACJ,KAAK,EAAES,YAAY,EAAE;MACjC,OAAO,KAAK;IAChB,CAAC,MAAM,IACH,IAAI,CAACT,KAAK,EAAEA,KAAK,KAAKH,kBAAkB,CAACa,QAAQ,IACjD,IAAI,CAACV,KAAK,EAAEA,KAAK,KAAKH,kBAAkB,CAACc,QAAQ,EACnD;MACE,OAAO,KAAK;IAChB;IACA,OAAO,IAAI;EACf;EAEA,IAAIC,EAAEA,CAAA,EAAqC;IACvC,OAAO;MACHb,QAAQ,EAAEJ,IAAI,CAAC,IAAI,CAACI,QAAQ,CAAC;MAC7BC,KAAK,EAAE,IAAI,CAACA,KAAK,EAAEL,IAAI,CAAC,CAAC;MACzBQ,IAAI,EAAE,IAAI,CAACH,KAAK,EAAEa,WAAW,EAAElB,IAAI,CAAC,CAAC;MACrCmB,gBAAgB,EAAEnB,IAAI,CAAC,IAAI,CAACK,KAAK,EAAEe,YAAY,IAAI,IAAI,CAAC;MACxDC,gBAAgB,EAAErB,IAAI,CAAC,IAAI,CAACK,KAAK,EAAEiB,YAAY,IAAI,IAAI,CAAC;MACxDC,QAAQ,EAAEvB,IAAI,CAAC,IAAI,CAACK,KAAK,GAAG,IAAI,CAACA,KAAK,CAACkB,QAAQ,GAAG,IAAI,CAAC;MACvDC,OAAO,EAAE,IAAI,CAACC,UAAU,CAACD,OAAO,IAAI,IAAI,CAACE,mBAAmB,CAACF,OAAO;MACpEG,KAAK,EAAE3B,IAAI,CAAC,IAAI,CAACyB,UAAU,CAACE,KAAK,IAAI,IAAI,CAACD,mBAAmB,CAACC,KAAK,CAAC;MACpEC,GAAG,EAAE,IAAI,CAACA,GAAG;MACbhB,EAAE,EAAE,IAAI,CAACiB,gBAAgB;MACzBhB,SAAS,EAAE,IAAI,CAACA,SAAS;MACzBN,MAAM,EAAE,IAAI,CAACA;IACjB,CAAC;EACL;EAEOuB,WAAWA,CAACC,MAAqC,EAAE;IACtD,IAAI,CAACN,UAAU,GAAGM,MAAM,CAACN,UAAU;IACnC,IAAI,CAACC,mBAAmB,GAAGK,MAAM,CAACL,mBAAmB;IACrD,IAAI,CAACE,GAAG,GAAGG,MAAM,CAACH,GAAG;IACrB,IAAI,CAACI,KAAK,GAAGD,MAAM,CAACC,KAAK;IACzB,IAAI,CAACtB,QAAQ,GAAGqB,MAAM,CAACrB,QAAQ;IAC/B,IAAI,CAACmB,gBAAgB,GAAGE,MAAM,CAACF,gBAAgB;IAE/C/B,kBAAkB,CAAC,IAAI,CAAC;IAExB,IAAI,CAACmC,IAAI,CAAC,CAAC;EACf;EAEA,MAAcA,IAAIA,CAAA,EAAkB;IAChC,MAAMC,SAAS,GAAG,MAAM,IAAI,CAACR,mBAAmB,CAACS,aAAa,CAAC;MAC3DC,KAAK,EAAE;QACHR,GAAG,EAAE,IAAI,CAACA;MACd;IACJ,CAAC,CAAC;IAEF7B,WAAW,CAAC,MAAM;MACd,IAAImC,SAAS,CAACG,MAAM,KAAK,CAAC,EAAE;QACxB,IAAI,CAACjC,QAAQ,GAAG,IAAI;QACpB,IAAI,CAACC,KAAK,GAAG,IAAI;QACjB;MACJ;MACA,IAAI,CAACD,QAAQ,GAAG8B,SAAS,CAAC,CAAC,CAAC;IAChC,CAAC,CAAC;IACF,IAAI,CAAC,IAAI,CAAC9B,QAAQ,EAAE;MAChB;IACJ,CAAC,MAAM,IAAI,CAAC,IAAI,CAACyB,gBAAgB,EAAE;MAC/B;IACJ;IAEA,MAAMxB,KAAK,GAAG,MAAM,IAAI,CAACoB,UAAU,CAACa,cAAc,CAAC,IAAI,CAACV,GAAG,EAAE,IAAI,CAACC,gBAAgB,CAAC;IACnF9B,WAAW,CAAC,MAAM;MACd,IAAI,CAACM,KAAK,GAAGA,KAAK,GAAGJ,kBAAkB,CAACsC,MAAM,CAAClC,KAAK,CAAC,GAAG,IAAI;IAChE,CAAC,CAAC;EACN;EAEQmC,WAAWA,CAAA,EAAG;IAClB,IAAI,CAACjC,MAAM,GAAG,IAAI;EACtB;EAEQkC,SAASA,CAAClC,MAA8C,EAAE;IAC9D,IAAI,CAACA,MAAM,GAAGA,MAAM;EACxB;EAEAmC,aAAa,GAAG,MAAAA,CAAA,KAAY;IACxB,MAAMC,IAAI,GAAG,MAAM,IAAI,CAAClB,UAAU,CAACiB,aAAa,CAAC;MAC7Cd,GAAG,EAAE,IAAI,CAACA,GAAG;MACbC,gBAAgB,EAAE,IAAI,CAACA,gBAAgB;MACvCG,KAAK,EAAE,IAAI,CAACA;IAChB,CAAC,CAAC;IACFjC,WAAW,CAAC,MAAM;MACd,IAAI,CAACM,KAAK,GAAGsC,IAAI,GAAG1C,kBAAkB,CAACsC,MAAM,CAACI,IAAI,CAAC,GAAG,IAAI;MAC1D,IAAI,CAACH,WAAW,CAAC,CAAC;IACtB,CAAC,CAAC;EACN,CAAC;EAEDI,KAAK,GAAG,MAAAA,CAAA,KAAY;IAChB,MAAMD,IAAI,GAAG,MAAM,IAAI,CAAClB,UAAU,CAACmB,KAAK,CAAC;MACrChC,EAAE,EAAE,IAAI,CAACP,KAAK,CAAEO;IACpB,CAAC,CAAC;IACFb,WAAW,CAAC,MAAM;MACd,IAAI,CAACM,KAAK,GAAGsC,IAAI,GAAG1C,kBAAkB,CAACsC,MAAM,CAACI,IAAI,CAAC,GAAG,IAAI;MAC1D,IAAI,CAACA,IAAI,EAAE;QACP;MACJ;MACA,IAAI,CAACF,SAAS,CAAC;QACXI,IAAI,EAAE;MACV,CAAC,CAAC;IACN,CAAC,CAAC;EACN,CAAC;EAEDC,OAAO,GAAG,MAAOC,OAAgB,IAAK;IAClC,MAAMJ,IAAI,GAAG,MAAM,IAAI,CAAClB,UAAU,CAACqB,OAAO,CAAC;MACvClC,EAAE,EAAE,IAAI,CAACP,KAAK,CAAEO,EAAE;MAClBmC;IACJ,CAAC,CAAC;IACFhD,WAAW,CAAC,MAAM;MACd,IAAI,CAACM,KAAK,GAAGsC,IAAI,GAAG1C,kBAAkB,CAACsC,MAAM,CAACI,IAAI,CAAC,GAAG,IAAI;MAC1D,IAAI,CAACA,IAAI,EAAE;QACP;MACJ;MACA,IAAI,CAACF,SAAS,CAAC;QACXI,IAAI,EAAE;MACV,CAAC,CAAC;IACN,CAAC,CAAC;EACN,CAAC;EAEDG,MAAM,GAAG,MAAOD,OAAe,IAAK;IAChC,MAAMJ,IAAI,GAAG,MAAM,IAAI,CAAClB,UAAU,CAACuB,MAAM,CAAC;MACtCpC,EAAE,EAAE,IAAI,CAACP,KAAK,CAAEO,EAAE;MAClBmC;IACJ,CAAC,CAAC;IACFhD,WAAW,CAAC,MAAM;MACd,IAAI,CAACM,KAAK,GAAGsC,IAAI,GAAG1C,kBAAkB,CAACsC,MAAM,CAACI,IAAI,CAAC,GAAG,IAAI;MAC1D,IAAI,CAACA,IAAI,EAAE;QACP;MACJ;MACA,IAAI,CAACF,SAAS,CAAC;QACXI,IAAI,EAAE;MACV,CAAC,CAAC;IACN,CAAC,CAAC;EACN,CAAC;EAEDI,MAAM,GAAG,MAAAA,CAAA,KAAY;IACjB,MAAM,IAAI,CAACxB,UAAU,CAACwB,MAAM,CAAC,IAAI,CAAC5C,KAAK,CAAEO,EAAE,CAAC;IAC5Cb,WAAW,CAAC,MAAM;MACd,IAAI,CAACM,KAAK,GAAG,IAAI;MACjB,IAAI,CAACmC,WAAW,CAAC,CAAC;IACtB,CAAC,CAAC;EACN,CAAC;EAEDU,QAAQ,GAAG,MAAAA,CAAA,KAAY;IACnB,MAAMP,IAAI,GAAG,MAAM,IAAI,CAAClB,UAAU,CAACyB,QAAQ,CAAC;MACxCtC,EAAE,EAAE,IAAI,CAACP,KAAK,CAAEO;IACpB,CAAC,CAAC;IACFb,WAAW,CAAC,MAAM;MACd,IAAI,CAACM,KAAK,GAAGsC,IAAI,GAAG1C,kBAAkB,CAACsC,MAAM,CAACI,IAAI,CAAC,GAAG,IAAI;MAC1D,IAAI,CAACA,IAAI,EAAE;QACP;MACJ;MACA,IAAI,CAACF,SAAS,CAAC;QACXI,IAAI,EAAE,kBAAkB;QACxBrC,IAAI,EAAE;MACV,CAAC,CAAC;IACN,CAAC,CAAC;EACN,CAAC;EAED2C,sBAAsB,GAAGA,CAAA,KAAM;IAC3BpD,WAAW,CAAC,MAAM;MACd,IAAI,CAAC0C,SAAS,CAAC;QACXI,IAAI,EAAE;MACV,CAAC,CAAC;IACN,CAAC,CAAC;EACN,CAAC;EAEDO,uBAAuB,GAAGA,CAAA,KAAM;IAC5BrD,WAAW,CAAC,MAAM;MACd,IAAI,CAAC0C,SAAS,CAAC;QACXI,IAAI,EAAE;MACV,CAAC,CAAC;IACN,CAAC,CAAC;EACN,CAAC;EAEDQ,eAAe,GAAGA,CAAA,KAAM;IACpBtD,WAAW,CAAC,MAAM;MACd,IAAI,CAAC0C,SAAS,CAAC;QACXI,IAAI,EAAE;MACV,CAAC,CAAC;IACN,CAAC,CAAC;EACN,CAAC;EAEDS,iBAAiB,GAAGA,CAAA,KAAM;IACtBvD,WAAW,CAAC,MAAM;MACd,IAAI,CAAC0C,SAAS,CAAC;QACXI,IAAI,EAAE;MACV,CAAC,CAAC;IACN,CAAC,CAAC;EACN,CAAC;EAEDU,UAAU,GAAGA,CAAA,KAAM;IACfxD,WAAW,CAAC,MAAM;MACd,IAAI,CAACyC,WAAW,CAAC,CAAC;IACtB,CAAC,CAAC;EACN,CAAC;EAEDgB,gBAAgB,GAAGA,CAAA,KAAM;IACrBzD,WAAW,CAAC,MAAM;MACd,IAAI,CAAC0C,SAAS,CAAC;QACXI,IAAI,EAAE;MACV,CAAC,CAAC;IACN,CAAC,CAAC;EACN,CAAC;EAEDY,iBAAiB,GAAI7C,EAAU,IAAK;IAChC,MAAMJ,IAAI,GAAG,IAAI,CAACH,KAAK,EAAEqD,KAAK,CAACC,IAAI,CAACnD,IAAI,IAAIA,IAAI,CAACI,EAAE,KAAKA,EAAE,CAAC;IAC3D,IAAI,CAACJ,IAAI,EAAE;MACP;IACJ;IACAT,WAAW,CAAC,MAAM;MACd,IAAI,CAAC0C,SAAS,CAAC;QACXI,IAAI,EAAE,SAAS;QACfrC;MACJ,CAAC,CAAC;IACN,CAAC,CAAC;EACN,CAAC;EAEDoD,kBAAkB,GAAGA,CAAA,KAAM;IACvB7D,WAAW,CAAC,MAAM;MACd,IAAI,CAAC0C,SAAS,CAAC;QACXI,IAAI,EAAE;MACV,CAAC,CAAC;IACN,CAAC,CAAC;EACN,CAAC;AACL","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,3 @@
1
+ export {};
2
+
3
+ //# sourceMappingURL=WorkflowStateListPresenter.js.map
@@ -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":[]}