@webiny/app-trash-bin 5.43.2 → 6.0.0-alpha.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.
Files changed (344) hide show
  1. package/Domain/Models/TrashBinItem/ITrashBinItemMapper.js +1 -5
  2. package/Domain/Models/TrashBinItem/TrashBinItem.js +6 -19
  3. package/Domain/Models/TrashBinItem/TrashBinItem.js.map +1 -1
  4. package/Domain/Models/TrashBinItem/index.js +2 -27
  5. package/Domain/Models/TrashBinItem/index.js.map +1 -1
  6. package/Domain/Models/index.js +1 -16
  7. package/Domain/Models/index.js.map +1 -1
  8. package/Domain/Repositories/Search/ISearchRepository.js +1 -5
  9. package/Domain/Repositories/Search/SearchRepository.js +12 -28
  10. package/Domain/Repositories/Search/SearchRepository.js.map +1 -1
  11. package/Domain/Repositories/Search/SearchRepositoryFactory.js +14 -32
  12. package/Domain/Repositories/Search/SearchRepositoryFactory.js.map +1 -1
  13. package/Domain/Repositories/Search/index.js +3 -38
  14. package/Domain/Repositories/Search/index.js.map +1 -1
  15. package/Domain/Repositories/SelectedItems/ISelectedItemsRepository.js +1 -5
  16. package/Domain/Repositories/SelectedItems/SelectedItemsRepository.js +24 -46
  17. package/Domain/Repositories/SelectedItems/SelectedItemsRepository.js.map +1 -1
  18. package/Domain/Repositories/SelectedItems/SelectedItemsRepositoryFactory.js +14 -32
  19. package/Domain/Repositories/SelectedItems/SelectedItemsRepositoryFactory.js.map +1 -1
  20. package/Domain/Repositories/SelectedItems/index.js +3 -38
  21. package/Domain/Repositories/SelectedItems/index.js.map +1 -1
  22. package/Domain/Repositories/Sorting/SortingRepositoryWithDefaults.d.ts +1 -1
  23. package/Domain/Repositories/Sorting/SortingRepositoryWithDefaults.js +16 -32
  24. package/Domain/Repositories/Sorting/SortingRepositoryWithDefaults.js.map +1 -1
  25. package/Domain/Repositories/Sorting/index.js +1 -16
  26. package/Domain/Repositories/Sorting/index.js.map +1 -1
  27. package/Domain/Repositories/TrashBinItems/ITrashBinItemsRepository.js +1 -5
  28. package/Domain/Repositories/TrashBinItems/TrashBinItemMapper.js +16 -31
  29. package/Domain/Repositories/TrashBinItems/TrashBinItemMapper.js.map +1 -1
  30. package/Domain/Repositories/TrashBinItems/TrashBinItemsRepository.js +87 -130
  31. package/Domain/Repositories/TrashBinItems/TrashBinItemsRepository.js.map +1 -1
  32. package/Domain/Repositories/TrashBinItems/TrashBinItemsRepositoryFactory.js +14 -32
  33. package/Domain/Repositories/TrashBinItems/TrashBinItemsRepositoryFactory.js.map +1 -1
  34. package/Domain/Repositories/TrashBinItems/TrashBinItemsRepositoryWithLoading.js +33 -62
  35. package/Domain/Repositories/TrashBinItems/TrashBinItemsRepositoryWithLoading.js.map +1 -1
  36. package/Domain/Repositories/TrashBinItems/index.js +5 -60
  37. package/Domain/Repositories/TrashBinItems/index.js.map +1 -1
  38. package/Domain/Repositories/index.js +5 -49
  39. package/Domain/Repositories/index.js.map +1 -1
  40. package/Domain/index.js +2 -27
  41. package/Domain/index.js.map +1 -1
  42. package/Gateways/TrashBinBulkActions/ITrashBinBulkActionsGateway.js +1 -5
  43. package/Gateways/TrashBinBulkActions/index.js +1 -16
  44. package/Gateways/TrashBinBulkActions/index.js.map +1 -1
  45. package/Gateways/TrashBinDeleteItem/ITrashBinDeleteItemGateway.js +1 -5
  46. package/Gateways/TrashBinDeleteItem/index.js +1 -16
  47. package/Gateways/TrashBinDeleteItem/index.js.map +1 -1
  48. package/Gateways/TrashBinListItems/ITrashBinListGateway.js +1 -5
  49. package/Gateways/TrashBinListItems/index.js +1 -16
  50. package/Gateways/TrashBinListItems/index.js.map +1 -1
  51. package/Gateways/TrashBinRestoreItem/ITrashBinRestoreItemGateway.js +1 -5
  52. package/Gateways/TrashBinRestoreItem/index.js +1 -16
  53. package/Gateways/TrashBinRestoreItem/index.js.map +1 -1
  54. package/Gateways/index.js +4 -49
  55. package/Gateways/index.js.map +1 -1
  56. package/Presentation/TrashBin/TrashBin.js +30 -37
  57. package/Presentation/TrashBin/TrashBin.js.map +1 -1
  58. package/Presentation/TrashBin/TrashBin.test.js +186 -175
  59. package/Presentation/TrashBin/TrashBin.test.js.map +1 -1
  60. package/Presentation/TrashBin/TrashBinControllers.js +60 -94
  61. package/Presentation/TrashBin/TrashBinControllers.js.map +1 -1
  62. package/Presentation/TrashBin/TrashBinPresenter.js +49 -77
  63. package/Presentation/TrashBin/TrashBinPresenter.js.map +1 -1
  64. package/Presentation/TrashBin/controllers/BulkAction/BulkActionsController.js +7 -20
  65. package/Presentation/TrashBin/controllers/BulkAction/BulkActionsController.js.map +1 -1
  66. package/Presentation/TrashBin/controllers/BulkAction/IBulkActionsController.js +1 -5
  67. package/Presentation/TrashBin/controllers/BulkAction/index.js +2 -27
  68. package/Presentation/TrashBin/controllers/BulkAction/index.js.map +1 -1
  69. package/Presentation/TrashBin/controllers/DeleteItem/DeleteItemController.js +7 -20
  70. package/Presentation/TrashBin/controllers/DeleteItem/DeleteItemController.js.map +1 -1
  71. package/Presentation/TrashBin/controllers/DeleteItem/IDeleteItemController.js +1 -5
  72. package/Presentation/TrashBin/controllers/DeleteItem/index.js +2 -27
  73. package/Presentation/TrashBin/controllers/DeleteItem/index.js.map +1 -1
  74. package/Presentation/TrashBin/controllers/GetRestoredItemById/GetRestoredItemByIdController.js +10 -23
  75. package/Presentation/TrashBin/controllers/GetRestoredItemById/GetRestoredItemByIdController.js.map +1 -1
  76. package/Presentation/TrashBin/controllers/GetRestoredItemById/IGetRestoredItemByIdController.js +1 -5
  77. package/Presentation/TrashBin/controllers/GetRestoredItemById/index.js +2 -27
  78. package/Presentation/TrashBin/controllers/GetRestoredItemById/index.js.map +1 -1
  79. package/Presentation/TrashBin/controllers/ListItems/IListItemsController.js +1 -5
  80. package/Presentation/TrashBin/controllers/ListItems/ListItemsController.js +7 -20
  81. package/Presentation/TrashBin/controllers/ListItems/ListItemsController.js.map +1 -1
  82. package/Presentation/TrashBin/controllers/ListItems/index.js +2 -27
  83. package/Presentation/TrashBin/controllers/ListItems/index.js.map +1 -1
  84. package/Presentation/TrashBin/controllers/ListMoreItems/IListMoreItemsController.js +1 -5
  85. package/Presentation/TrashBin/controllers/ListMoreItems/ListMoreItemsController.js +7 -20
  86. package/Presentation/TrashBin/controllers/ListMoreItems/ListMoreItemsController.js.map +1 -1
  87. package/Presentation/TrashBin/controllers/ListMoreItems/index.js +2 -27
  88. package/Presentation/TrashBin/controllers/ListMoreItems/index.js.map +1 -1
  89. package/Presentation/TrashBin/controllers/RestoreItem/IRestoreItemController.js +1 -5
  90. package/Presentation/TrashBin/controllers/RestoreItem/RestoreItemController.js +7 -20
  91. package/Presentation/TrashBin/controllers/RestoreItem/RestoreItemController.js.map +1 -1
  92. package/Presentation/TrashBin/controllers/RestoreItem/index.js +2 -27
  93. package/Presentation/TrashBin/controllers/RestoreItem/index.js.map +1 -1
  94. package/Presentation/TrashBin/controllers/SearchItems/ISearchItemsController.js +1 -5
  95. package/Presentation/TrashBin/controllers/SearchItems/SearchItemsController.js +9 -22
  96. package/Presentation/TrashBin/controllers/SearchItems/SearchItemsController.js.map +1 -1
  97. package/Presentation/TrashBin/controllers/SearchItems/index.js +2 -27
  98. package/Presentation/TrashBin/controllers/SearchItems/index.js.map +1 -1
  99. package/Presentation/TrashBin/controllers/SelectAllItems/ISelectAllItemsController.js +1 -5
  100. package/Presentation/TrashBin/controllers/SelectAllItems/SelectAllItemsController.js +7 -20
  101. package/Presentation/TrashBin/controllers/SelectAllItems/SelectAllItemsController.js.map +1 -1
  102. package/Presentation/TrashBin/controllers/SelectAllItems/index.js +2 -27
  103. package/Presentation/TrashBin/controllers/SelectAllItems/index.js.map +1 -1
  104. package/Presentation/TrashBin/controllers/SelectItems/ISelectItemsController.js +1 -5
  105. package/Presentation/TrashBin/controllers/SelectItems/SelectItemsController.js +9 -24
  106. package/Presentation/TrashBin/controllers/SelectItems/SelectItemsController.js.map +1 -1
  107. package/Presentation/TrashBin/controllers/SelectItems/index.js +2 -27
  108. package/Presentation/TrashBin/controllers/SelectItems/index.js.map +1 -1
  109. package/Presentation/TrashBin/controllers/SortItems/ISortItemsController.js +1 -5
  110. package/Presentation/TrashBin/controllers/SortItems/SortItemsController.js +13 -25
  111. package/Presentation/TrashBin/controllers/SortItems/SortItemsController.js.map +1 -1
  112. package/Presentation/TrashBin/controllers/SortItems/index.js +2 -27
  113. package/Presentation/TrashBin/controllers/SortItems/index.js.map +1 -1
  114. package/Presentation/TrashBin/controllers/UnselectAllItems/IUnselectAllItemsController.js +1 -5
  115. package/Presentation/TrashBin/controllers/UnselectAllItems/UnselectAllItemsController.js +7 -20
  116. package/Presentation/TrashBin/controllers/UnselectAllItems/UnselectAllItemsController.js.map +1 -1
  117. package/Presentation/TrashBin/controllers/UnselectAllItems/index.js +2 -27
  118. package/Presentation/TrashBin/controllers/UnselectAllItems/index.js.map +1 -1
  119. package/Presentation/TrashBin/controllers/index.js +11 -126
  120. package/Presentation/TrashBin/controllers/index.js.map +1 -1
  121. package/Presentation/TrashBin/index.js +1 -16
  122. package/Presentation/TrashBin/index.js.map +1 -1
  123. package/Presentation/TrashBinConfigs/TrashBinConfigs.js +31 -36
  124. package/Presentation/TrashBinConfigs/TrashBinConfigs.js.map +1 -1
  125. package/Presentation/TrashBinConfigs/index.js +1 -16
  126. package/Presentation/TrashBinConfigs/index.js.map +1 -1
  127. package/Presentation/TrashBinRenderer/TrashBinRenderer.js +13 -23
  128. package/Presentation/TrashBinRenderer/TrashBinRenderer.js.map +1 -1
  129. package/Presentation/TrashBinRenderer/index.js +1 -16
  130. package/Presentation/TrashBinRenderer/index.js.map +1 -1
  131. package/Presentation/abstractions/ITrashBinControllers.js +1 -5
  132. package/Presentation/abstractions/ITrashBinPresenter.js +1 -5
  133. package/Presentation/abstractions/index.js +2 -27
  134. package/Presentation/abstractions/index.js.map +1 -1
  135. package/Presentation/components/Actions/DeleteItem/DeleteItem.js +20 -22
  136. package/Presentation/components/Actions/DeleteItem/DeleteItem.js.map +1 -1
  137. package/Presentation/components/Actions/DeleteItem/index.js +1 -16
  138. package/Presentation/components/Actions/DeleteItem/index.js.map +1 -1
  139. package/Presentation/components/Actions/RestoreItem/RestoreItem.js +18 -21
  140. package/Presentation/components/Actions/RestoreItem/RestoreItem.js.map +1 -1
  141. package/Presentation/components/Actions/RestoreItem/index.js +1 -16
  142. package/Presentation/components/Actions/RestoreItem/index.js.map +1 -1
  143. package/Presentation/components/Actions/index.js +2 -27
  144. package/Presentation/components/Actions/index.js.map +1 -1
  145. package/Presentation/components/BottomInfoBar/BottomInfoBar.js +18 -20
  146. package/Presentation/components/BottomInfoBar/BottomInfoBar.js.map +1 -1
  147. package/Presentation/components/BottomInfoBar/ListMeta.js +10 -13
  148. package/Presentation/components/BottomInfoBar/ListMeta.js.map +1 -1
  149. package/Presentation/components/BottomInfoBar/ListStatus.js +14 -16
  150. package/Presentation/components/BottomInfoBar/ListStatus.js.map +1 -1
  151. package/Presentation/components/BottomInfoBar/index.js +1 -16
  152. package/Presentation/components/BottomInfoBar/index.js.map +1 -1
  153. package/Presentation/components/BulkActions/BulkActions/BulkActions.js +49 -35
  154. package/Presentation/components/BulkActions/BulkActions/BulkActions.js.map +1 -1
  155. package/Presentation/components/BulkActions/BulkActions/index.js +1 -16
  156. package/Presentation/components/BulkActions/BulkActions/index.js.map +1 -1
  157. package/Presentation/components/BulkActions/DeleteItems/DeleteItems.js +75 -74
  158. package/Presentation/components/BulkActions/DeleteItems/DeleteItems.js.map +1 -1
  159. package/Presentation/components/BulkActions/DeleteItems/index.js +1 -16
  160. package/Presentation/components/BulkActions/DeleteItems/index.js.map +1 -1
  161. package/Presentation/components/BulkActions/RestoreItems/RestoreItems.js +83 -84
  162. package/Presentation/components/BulkActions/RestoreItems/RestoreItems.js.map +1 -1
  163. package/Presentation/components/BulkActions/RestoreItems/RestoreItemsReportMessage.js +9 -14
  164. package/Presentation/components/BulkActions/RestoreItems/RestoreItemsReportMessage.js.map +1 -1
  165. package/Presentation/components/BulkActions/RestoreItems/index.js +1 -16
  166. package/Presentation/components/BulkActions/RestoreItems/index.js.map +1 -1
  167. package/Presentation/components/BulkActions/index.js +3 -38
  168. package/Presentation/components/BulkActions/index.js.map +1 -1
  169. package/Presentation/components/Cells/CellActions/CellActions.js +17 -20
  170. package/Presentation/components/Cells/CellActions/CellActions.js.map +1 -1
  171. package/Presentation/components/Cells/CellActions/index.js +1 -16
  172. package/Presentation/components/Cells/CellActions/index.js.map +1 -1
  173. package/Presentation/components/Cells/CellCreatedBy/CellCreatedBy.js +10 -14
  174. package/Presentation/components/Cells/CellCreatedBy/CellCreatedBy.js.map +1 -1
  175. package/Presentation/components/Cells/CellCreatedBy/index.js +1 -16
  176. package/Presentation/components/Cells/CellCreatedBy/index.js.map +1 -1
  177. package/Presentation/components/Cells/CellDeletedBy/CellDeletedBy.js +10 -14
  178. package/Presentation/components/Cells/CellDeletedBy/CellDeletedBy.js.map +1 -1
  179. package/Presentation/components/Cells/CellDeletedBy/index.js +1 -16
  180. package/Presentation/components/Cells/CellDeletedBy/index.js.map +1 -1
  181. package/Presentation/components/Cells/CellDeletedOn/CellDeletedOn.js +11 -15
  182. package/Presentation/components/Cells/CellDeletedOn/CellDeletedOn.js.map +1 -1
  183. package/Presentation/components/Cells/CellDeletedOn/index.js +1 -16
  184. package/Presentation/components/Cells/CellDeletedOn/index.js.map +1 -1
  185. package/Presentation/components/Cells/CellTitle/CellTitle.js +20 -17
  186. package/Presentation/components/Cells/CellTitle/CellTitle.js.map +1 -1
  187. package/Presentation/components/Cells/CellTitle/index.js +1 -16
  188. package/Presentation/components/Cells/CellTitle/index.js.map +1 -1
  189. package/Presentation/components/Cells/index.js +5 -60
  190. package/Presentation/components/Cells/index.js.map +1 -1
  191. package/Presentation/components/Empty/Empty.js +18 -21
  192. package/Presentation/components/Empty/Empty.js.map +1 -1
  193. package/Presentation/components/Empty/index.js +1 -16
  194. package/Presentation/components/Empty/index.js.map +1 -1
  195. package/Presentation/components/SearchInput/SearchInput.js +27 -32
  196. package/Presentation/components/SearchInput/SearchInput.js.map +1 -1
  197. package/Presentation/components/SearchInput/index.js +1 -16
  198. package/Presentation/components/SearchInput/index.js.map +1 -1
  199. package/Presentation/components/Table/Table.js +14 -24
  200. package/Presentation/components/Table/Table.js.map +1 -1
  201. package/Presentation/components/Table/index.js +1 -16
  202. package/Presentation/components/Table/index.js.map +1 -1
  203. package/Presentation/components/Title/Title.js +11 -18
  204. package/Presentation/components/Title/Title.js.map +1 -1
  205. package/Presentation/components/Title/index.js +1 -16
  206. package/Presentation/components/Title/index.js.map +1 -1
  207. package/Presentation/components/TrashBinOverlay/TrashBinOverlay.js +27 -35
  208. package/Presentation/components/TrashBinOverlay/TrashBinOverlay.js.map +1 -1
  209. package/Presentation/components/TrashBinOverlay/index.js +1 -16
  210. package/Presentation/components/TrashBinOverlay/index.js.map +1 -1
  211. package/Presentation/configs/index.js +1 -16
  212. package/Presentation/configs/index.js.map +1 -1
  213. package/Presentation/configs/list/Browser/BulkAction.js +36 -47
  214. package/Presentation/configs/list/Browser/BulkAction.js.map +1 -1
  215. package/Presentation/configs/list/Browser/EntryAction.js +11 -21
  216. package/Presentation/configs/list/Browser/EntryAction.js.map +1 -1
  217. package/Presentation/configs/list/Browser/Table/Column.d.ts +1 -1
  218. package/Presentation/configs/list/Browser/Table/Column.js +9 -19
  219. package/Presentation/configs/list/Browser/Table/Column.js.map +1 -1
  220. package/Presentation/configs/list/Browser/Table/Sorting.js +8 -18
  221. package/Presentation/configs/list/Browser/Table/Sorting.js.map +1 -1
  222. package/Presentation/configs/list/Browser/Table/index.d.ts +1 -1
  223. package/Presentation/configs/list/Browser/Table/index.js +5 -11
  224. package/Presentation/configs/list/Browser/Table/index.js.map +1 -1
  225. package/Presentation/configs/list/Browser/index.d.ts +1 -1
  226. package/Presentation/configs/list/Browser/index.js +7 -13
  227. package/Presentation/configs/list/Browser/index.js.map +1 -1
  228. package/Presentation/configs/list/TrashBinListConfig.d.ts +1 -1
  229. package/Presentation/configs/list/TrashBinListConfig.js +22 -33
  230. package/Presentation/configs/list/TrashBinListConfig.js.map +1 -1
  231. package/Presentation/configs/list/index.js +1 -16
  232. package/Presentation/configs/list/index.js.map +1 -1
  233. package/Presentation/hooks/index.js +4 -49
  234. package/Presentation/hooks/index.js.map +1 -1
  235. package/Presentation/hooks/useDeleteTrashBinItem.js +27 -32
  236. package/Presentation/hooks/useDeleteTrashBinItem.js.map +1 -1
  237. package/Presentation/hooks/useRestoreTrashBinItem.js +36 -43
  238. package/Presentation/hooks/useRestoreTrashBinItem.js.map +1 -1
  239. package/Presentation/hooks/useTrashBin.d.ts +1 -1
  240. package/Presentation/hooks/useTrashBin.js +41 -77
  241. package/Presentation/hooks/useTrashBin.js.map +1 -1
  242. package/Presentation/hooks/useTrashBinItem.js +7 -12
  243. package/Presentation/hooks/useTrashBinItem.js.map +1 -1
  244. package/Presentation/index.js +21 -48
  245. package/Presentation/index.js.map +1 -1
  246. package/UseCases/BulkAction/BulkActionUseCase.js +8 -21
  247. package/UseCases/BulkAction/BulkActionUseCase.js.map +1 -1
  248. package/UseCases/BulkAction/IBulkActionUseCase.js +1 -5
  249. package/UseCases/BulkAction/index.js +2 -27
  250. package/UseCases/BulkAction/index.js.map +1 -1
  251. package/UseCases/DeleteItem/DeleteItemUseCase.js +8 -21
  252. package/UseCases/DeleteItem/DeleteItemUseCase.js.map +1 -1
  253. package/UseCases/DeleteItem/IDeleteItemUseCase.js +1 -5
  254. package/UseCases/DeleteItem/index.js +2 -27
  255. package/UseCases/DeleteItem/index.js.map +1 -1
  256. package/UseCases/GetRestoredItem/GetRestoredItemUseCase.js +9 -24
  257. package/UseCases/GetRestoredItem/GetRestoredItemUseCase.js.map +1 -1
  258. package/UseCases/GetRestoredItem/IGetRestoredItemUseCase.js +1 -5
  259. package/UseCases/GetRestoredItem/index.js +2 -27
  260. package/UseCases/GetRestoredItem/index.js.map +1 -1
  261. package/UseCases/ListItems/IListItemsUseCase.js +1 -5
  262. package/UseCases/ListItems/ListItemsUseCase.js +10 -22
  263. package/UseCases/ListItems/ListItemsUseCase.js.map +1 -1
  264. package/UseCases/ListItems/ListItemsUseCaseWithSearch.js +12 -25
  265. package/UseCases/ListItems/ListItemsUseCaseWithSearch.js.map +1 -1
  266. package/UseCases/ListItems/ListItemsUseCaseWithSorting.js +13 -28
  267. package/UseCases/ListItems/ListItemsUseCaseWithSorting.js.map +1 -1
  268. package/UseCases/ListItems/index.js +4 -49
  269. package/UseCases/ListItems/index.js.map +1 -1
  270. package/UseCases/ListMoreItems/IListMoreItemsUseCase.js +1 -5
  271. package/UseCases/ListMoreItems/ListMoreItemsUseCase.js +8 -21
  272. package/UseCases/ListMoreItems/ListMoreItemsUseCase.js.map +1 -1
  273. package/UseCases/ListMoreItems/index.js +2 -27
  274. package/UseCases/ListMoreItems/index.js.map +1 -1
  275. package/UseCases/RestoreItem/IRestoreItemUseCase.js +1 -5
  276. package/UseCases/RestoreItem/RestoreItemUseCase.js +8 -21
  277. package/UseCases/RestoreItem/RestoreItemUseCase.js.map +1 -1
  278. package/UseCases/RestoreItem/index.js +2 -27
  279. package/UseCases/RestoreItem/index.js.map +1 -1
  280. package/UseCases/SearchItems/ISearchItemsUseCase.js +1 -5
  281. package/UseCases/SearchItems/SearchItemsUseCase.js +8 -21
  282. package/UseCases/SearchItems/SearchItemsUseCase.js.map +1 -1
  283. package/UseCases/SearchItems/index.js +2 -27
  284. package/UseCases/SearchItems/index.js.map +1 -1
  285. package/UseCases/SelectAllItems/ISelectAllItemsUseCase.js +1 -5
  286. package/UseCases/SelectAllItems/SelectAllItemsUseCase.js +8 -21
  287. package/UseCases/SelectAllItems/SelectAllItemsUseCase.js.map +1 -1
  288. package/UseCases/SelectAllItems/index.js +2 -27
  289. package/UseCases/SelectAllItems/index.js.map +1 -1
  290. package/UseCases/SelectItems/ISelectItemsUseCase.js +1 -5
  291. package/UseCases/SelectItems/SelectItemsUseCase.js +8 -21
  292. package/UseCases/SelectItems/SelectItemsUseCase.js.map +1 -1
  293. package/UseCases/SelectItems/index.js +2 -27
  294. package/UseCases/SelectItems/index.js.map +1 -1
  295. package/UseCases/SortItems/ISortItemsUseCase.js +1 -5
  296. package/UseCases/SortItems/SortItemsUseCase.js +8 -21
  297. package/UseCases/SortItems/SortItemsUseCase.js.map +1 -1
  298. package/UseCases/SortItems/index.js +2 -27
  299. package/UseCases/SortItems/index.js.map +1 -1
  300. package/UseCases/UnSelectAllItems/IUnselectAllItemsUseCase.js +1 -5
  301. package/UseCases/UnSelectAllItems/UnselectAllItemsUseCase.js +8 -21
  302. package/UseCases/UnSelectAllItems/UnselectAllItemsUseCase.js.map +1 -1
  303. package/UseCases/UnSelectAllItems/index.js +2 -27
  304. package/UseCases/UnSelectAllItems/index.js.map +1 -1
  305. package/UseCases/index.js +11 -126
  306. package/UseCases/index.js.map +1 -1
  307. package/index.js +3 -38
  308. package/index.js.map +1 -1
  309. package/package.json +11 -11
  310. package/types.js +1 -7
  311. package/types.js.map +1 -1
  312. package/Presentation/components/BottomInfoBar/BottomInfoBar.styled.d.ts +0 -21
  313. package/Presentation/components/BottomInfoBar/BottomInfoBar.styled.js +0 -81
  314. package/Presentation/components/BottomInfoBar/BottomInfoBar.styled.js.map +0 -1
  315. package/Presentation/components/BulkActions/BulkActions/BulkActions.styled.d.ts +0 -13
  316. package/Presentation/components/BulkActions/BulkActions/BulkActions.styled.js +0 -46
  317. package/Presentation/components/BulkActions/BulkActions/BulkActions.styled.js.map +0 -1
  318. package/Presentation/components/BulkActions/RestoreItems/RestoredItems.styled.d.ts +0 -5
  319. package/Presentation/components/BulkActions/RestoreItems/RestoredItems.styled.js +0 -25
  320. package/Presentation/components/BulkActions/RestoreItems/RestoredItems.styled.js.map +0 -1
  321. package/Presentation/components/Cells/CellTitle/CellTitle.styled.d.ts +0 -12
  322. package/Presentation/components/Cells/CellTitle/CellTitle.styled.js +0 -54
  323. package/Presentation/components/Cells/CellTitle/CellTitle.styled.js.map +0 -1
  324. package/Presentation/components/Empty/Empty.styled.d.ts +0 -9
  325. package/Presentation/components/Empty/Empty.styled.js +0 -39
  326. package/Presentation/components/Empty/Empty.styled.js.map +0 -1
  327. package/Presentation/components/SearchInput/SearchInput.styled.d.ts +0 -11
  328. package/Presentation/components/SearchInput/SearchInput.styled.js +0 -55
  329. package/Presentation/components/SearchInput/SearchInput.styled.js.map +0 -1
  330. package/Presentation/components/SelectAll/Messages.d.ts +0 -7
  331. package/Presentation/components/SelectAll/Messages.js +0 -29
  332. package/Presentation/components/SelectAll/Messages.js.map +0 -1
  333. package/Presentation/components/SelectAll/SelectAll.d.ts +0 -3
  334. package/Presentation/components/SelectAll/SelectAll.js +0 -35
  335. package/Presentation/components/SelectAll/SelectAll.js.map +0 -1
  336. package/Presentation/components/SelectAll/SelectAll.styled.d.ts +0 -12
  337. package/Presentation/components/SelectAll/SelectAll.styled.js +0 -54
  338. package/Presentation/components/SelectAll/SelectAll.styled.js.map +0 -1
  339. package/Presentation/components/SelectAll/index.d.ts +0 -1
  340. package/Presentation/components/SelectAll/index.js +0 -18
  341. package/Presentation/components/SelectAll/index.js.map +0 -1
  342. package/Presentation/components/Title/Title.styled.d.ts +0 -4
  343. package/Presentation/components/Title/Title.styled.js +0 -26
  344. package/Presentation/components/Title/Title.styled.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"names":["_TrashBinPresenter","require","_appUtils","_types","_TrashBinControllers","_Search","_SelectedItems","_Sorting","_TrashBinItems","identity1","id","displayName","type","identity2","createBinListGateway","_ref","execute","createBinDeleteItemGateway","_ref2","createBinRestoreItemGateway","_ref3","createBinBulkActionsGateway","_ref4","CustomItemMapper","_classCallCheck2","default","_createClass2","key","value","toDTO","data","title","location","createdBy","deletedOn","deletedBy","defaultSorting","field","order","describe","item1","folderId","Date","toString","custom","item2","item3","item4","listGateway","jest","fn","mockImplementation","Promise","resolve","totalCount","cursor","hasMoreItems","deleteItemGateway","restoreItemGateway","bulkActionGateway","itemMapper","BulkActionDeleteItems","BulkActionRestoreItems","init","retentionPeriod","arguments","length","undefined","selectedRepo","SelectedItemsRepository","loadingRepo","LoadingRepository","sortRepo","SortingRepository","sortRepoWithDefaults","SortingRepositoryWithDefaults","metaRepo","MetaRepository","searchRepo","SearchRepository","trashBinItemsRepo","TrashBinItemsRepository","itemsRepo","TrashBinItemsRepositoryWithLoading","presenter","TrashBinPresenter","controllers","TrashBinControllers","getControllers","beforeEach","clearAllMocks","it","_init","listPromise","listItems","expect","vm","toMatchObject","items","loading","_defineProperty2","LoadingActions","list","toHaveBeenCalledTimes","toHaveBeenCalledWith","sort","$selectable","any","String","mockImplementationOnce","_init2","listMorePromise","listMoreItems","listMore","after","search","sortListGateway","_init3","toHaveBeenNthCalledWith","sortItems","desc","sorting","searchItemsGateway","_init4","searchItems","searchQuery","isEmptyView","_init5","selectedItems","selectItems","_init6","deletePromise","deleteItem","delete","_init7","restorePromise","restoreItem","restore","restoredItems","restoredItem","getRestoredItemById","each","input","output","_init8","_init9","restoreBulkActionPromise","restoreBulkAction","where","action","_init10","deleteBulkActionPromise","deleteBulkAction","_init11","toBe","allowSelectAll","toBeFalsy","isSelectedAll","toBeTruthy","selectAllItems","unselectAllItems","_init12"],"sources":["TrashBin.test.ts"],"sourcesContent":["import { TrashBinPresenter } from \"./TrashBinPresenter\";\nimport { LoadingRepository, MetaRepository, Sorting, SortingRepository } from \"@webiny/app-utils\";\nimport { LoadingActions, TrashBinIdentity, TrashBinLocation } from \"~/types\";\nimport { TrashBinControllers } from \"~/Presentation/TrashBin/TrashBinControllers\";\nimport {\n ITrashBinBulkActionsGateway,\n ITrashBinDeleteItemGateway,\n ITrashBinListGateway,\n ITrashBinRestoreItemGateway\n} from \"~/Gateways\";\nimport { ITrashBinItemMapper } from \"~/Domain/Models/TrashBinItem\";\nimport { SearchRepository } from \"~/Domain/Repositories/Search\";\nimport { SelectedItemsRepository } from \"~/Domain/Repositories/SelectedItems\";\nimport { SortingRepositoryWithDefaults } from \"~/Domain/Repositories/Sorting\";\nimport {\n TrashBinItemsRepository,\n TrashBinItemsRepositoryWithLoading\n} from \"~/Domain/Repositories/TrashBinItems\";\n\ninterface Item {\n id: string;\n title: string;\n location: TrashBinLocation;\n createdBy: TrashBinIdentity;\n deletedOn: string;\n deletedBy: TrashBinIdentity;\n custom: string;\n}\n\nconst identity1: TrashBinIdentity = {\n id: \"1234\",\n displayName: \"John Doe\",\n type: \"admin\"\n};\n\nconst identity2: TrashBinIdentity = {\n id: \"5678\",\n displayName: \"Jane Doe\",\n type: \"admin\"\n};\n\nconst createBinListGateway = ({\n execute\n}: ITrashBinListGateway<Item>): ITrashBinListGateway<Item> => ({\n execute\n});\n\nconst createBinDeleteItemGateway = ({\n execute\n}: ITrashBinDeleteItemGateway): ITrashBinDeleteItemGateway => ({\n execute\n});\n\nconst createBinRestoreItemGateway = ({\n execute\n}: ITrashBinRestoreItemGateway<Item>): ITrashBinRestoreItemGateway<Item> => ({\n execute\n});\n\nconst createBinBulkActionsGateway = ({\n execute\n}: ITrashBinBulkActionsGateway): ITrashBinBulkActionsGateway => ({\n execute\n});\n\nclass CustomItemMapper implements ITrashBinItemMapper<Item> {\n toDTO(data: Item) {\n return {\n id: data.id,\n title: data.title,\n location: data.location,\n createdBy: data.createdBy,\n deletedOn: data.deletedOn,\n deletedBy: data.deletedBy\n };\n }\n}\n\nconst defaultSorting: Sorting[] = [{ field: \"deletedOn\", order: \"desc\" }];\n\ndescribe(\"TrashBin\", () => {\n const item1: Item = {\n id: \"item-1\",\n title: \"Item 1\",\n location: {\n folderId: \"folder-a\"\n },\n createdBy: identity1,\n deletedBy: identity2,\n deletedOn: new Date().toString(),\n custom: \"any custom data\"\n };\n\n const item2: Item = {\n id: \"item-2\",\n title: \"Item 2\",\n location: {\n folderId: \"folder-a\"\n },\n createdBy: identity1,\n deletedBy: identity1,\n deletedOn: new Date().toString(),\n custom: \"any custom data\"\n };\n\n const item3: Item = {\n id: \"item-3\",\n title: \"Item 3\",\n location: {\n folderId: \"folder-b\"\n },\n createdBy: identity2,\n deletedBy: identity2,\n deletedOn: new Date().toString(),\n custom: \"any custom data\"\n };\n\n const item4: Item = {\n id: \"item-4\",\n title: \"Item 4\",\n location: {\n folderId: \"folder-b\"\n },\n createdBy: identity1,\n deletedBy: identity1,\n deletedOn: new Date().toString(),\n custom: \"any custom data\"\n };\n\n const listGateway = createBinListGateway({\n execute: jest.fn().mockImplementation(() => {\n return Promise.resolve([\n [item1, item2, item3],\n { totalCount: 3, cursor: null, hasMoreItems: false }\n ]);\n })\n });\n\n const deleteItemGateway = createBinDeleteItemGateway({\n execute: jest.fn().mockImplementation(() => {\n return Promise.resolve(true);\n })\n });\n\n const restoreItemGateway = createBinRestoreItemGateway({\n execute: jest.fn().mockImplementation(() => {\n return Promise.resolve(item1);\n })\n });\n\n const bulkActionGateway = createBinBulkActionsGateway({\n execute: jest.fn().mockImplementation(() => {\n return Promise.resolve({ id: \"123456789\" });\n })\n });\n\n const itemMapper = new CustomItemMapper();\n\n const BulkActionDeleteItems = \"BulkDeleteItems\";\n const BulkActionRestoreItems = \"BulkRestoreItems\";\n\n const init = (\n listGateway: ITrashBinListGateway<Item>,\n deleteItemGateway: ITrashBinDeleteItemGateway,\n restoreItemGateway: ITrashBinRestoreItemGateway<Item>,\n retentionPeriod = 90\n ) => {\n const selectedRepo = new SelectedItemsRepository();\n const loadingRepo = new LoadingRepository();\n const sortRepo = new SortingRepository();\n const sortRepoWithDefaults = new SortingRepositoryWithDefaults(defaultSorting, sortRepo);\n const metaRepo = new MetaRepository();\n const searchRepo = new SearchRepository();\n const trashBinItemsRepo = new TrashBinItemsRepository(\n metaRepo,\n listGateway,\n deleteItemGateway,\n restoreItemGateway,\n bulkActionGateway,\n itemMapper\n );\n\n const itemsRepo = new TrashBinItemsRepositoryWithLoading(loadingRepo, trashBinItemsRepo);\n\n return {\n presenter: new TrashBinPresenter(\n itemsRepo,\n selectedRepo,\n sortRepoWithDefaults,\n searchRepo,\n retentionPeriod\n ),\n controllers: new TrashBinControllers(\n itemsRepo,\n selectedRepo,\n sortRepoWithDefaults,\n searchRepo,\n BulkActionDeleteItems,\n BulkActionRestoreItems\n ).getControllers()\n };\n };\n\n beforeEach(() => {\n jest.clearAllMocks();\n });\n\n it(\"should create a presenter and list trash bin entries from the gateway\", async () => {\n const { presenter, controllers } = init(listGateway, deleteItemGateway, restoreItemGateway);\n\n const listPromise = controllers.listItems.execute();\n\n // Let's check the transition to loading state\n expect(presenter.vm).toMatchObject({\n items: [],\n loading: {\n [LoadingActions.list]: true\n }\n });\n\n await listPromise;\n\n expect(listGateway.execute).toHaveBeenCalledTimes(1);\n expect(listGateway.execute).toHaveBeenCalledWith({\n sort: [\"deletedOn_DESC\"]\n });\n\n expect(presenter.vm).toMatchObject({\n items: [\n {\n id: \"item-1\",\n $selectable: true,\n title: \"Item 1\",\n createdBy: identity1,\n deletedBy: identity2,\n deletedOn: expect.any(String)\n },\n {\n id: \"item-2\",\n $selectable: true,\n title: \"Item 2\",\n createdBy: identity1,\n deletedBy: identity1,\n deletedOn: expect.any(String)\n },\n {\n id: \"item-3\",\n $selectable: true,\n title: \"Item 3\",\n createdBy: identity2,\n deletedBy: identity2,\n deletedOn: expect.any(String)\n }\n ],\n loading: {\n [LoadingActions.list]: false\n }\n });\n });\n\n it(\"should list more items from the gateway\", async () => {\n const listGateway = createBinListGateway({\n execute: jest\n .fn()\n .mockImplementationOnce(() => {\n return Promise.resolve([\n [item1, item2, item3],\n { totalCount: 4, cursor: \"IjMi\", hasMoreItems: true }\n ]);\n })\n .mockImplementationOnce(() => {\n return Promise.resolve([\n [item4],\n { totalCount: 4, cursor: null, hasMoreItems: false }\n ]);\n })\n });\n\n const { presenter, controllers } = init(listGateway, deleteItemGateway, restoreItemGateway);\n\n // Let's list some initial entries\n await controllers.listItems.execute();\n expect(listGateway.execute).toHaveBeenCalledTimes(1);\n\n // Let's list more items from the gateway\n const listMorePromise = controllers.listMoreItems.execute();\n\n expect(presenter.vm).toMatchObject({\n loading: {\n [LoadingActions.listMore]: true\n }\n });\n\n await listMorePromise;\n\n expect(listGateway.execute).toHaveBeenCalledTimes(2);\n expect(listGateway.execute).toHaveBeenCalledWith({\n after: \"IjMi\",\n search: undefined,\n sort: [\"deletedOn_DESC\"]\n });\n\n expect(presenter.vm).toMatchObject({\n items: [\n {\n id: \"item-1\",\n $selectable: true,\n title: \"Item 1\",\n createdBy: identity1,\n deletedBy: identity2,\n deletedOn: expect.any(String)\n },\n {\n id: \"item-2\",\n $selectable: true,\n title: \"Item 2\",\n createdBy: identity1,\n deletedBy: identity1,\n deletedOn: expect.any(String)\n },\n {\n id: \"item-3\",\n $selectable: true,\n title: \"Item 3\",\n createdBy: identity2,\n deletedBy: identity2,\n deletedOn: expect.any(String)\n },\n {\n id: \"item-4\",\n $selectable: true,\n title: \"Item 4\",\n createdBy: identity1,\n deletedBy: identity1,\n deletedOn: expect.any(String)\n }\n ],\n loading: {\n [LoadingActions.listMore]: false\n }\n });\n });\n\n it(\"should be able to sort items\", async () => {\n const sortListGateway = createBinListGateway({\n execute: jest\n .fn()\n .mockImplementationOnce(() => {\n return Promise.resolve([\n [item1, item2, item3],\n { totalCount: 3, cursor: null, hasMoreItems: false }\n ]);\n })\n .mockImplementation(() => {\n return Promise.resolve([\n [item3, item2, item1],\n { totalCount: 3, cursor: null, hasMoreItems: false }\n ]);\n })\n });\n\n const { presenter, controllers } = init(\n sortListGateway,\n deleteItemGateway,\n restoreItemGateway\n );\n\n // let's list some entries from the gateway\n await controllers.listItems.execute();\n\n expect(sortListGateway.execute).toHaveBeenNthCalledWith(1, {\n sort: [\"deletedOn_DESC\"]\n });\n\n // Let's sort items, it should call back the list gateway to retrieve the items sorted\n await controllers.sortItems.execute(() => [{ id: \"deletedOn\", desc: false }]);\n\n expect(sortListGateway.execute).toHaveBeenNthCalledWith(2, {\n sort: [\"deletedOn_ASC\"]\n });\n\n expect(presenter.vm).toMatchObject({\n items: [\n {\n id: \"item-3\",\n $selectable: true,\n title: \"Item 3\",\n createdBy: identity2,\n deletedBy: identity2,\n deletedOn: expect.any(String)\n },\n {\n id: \"item-2\",\n $selectable: true,\n title: \"Item 2\",\n createdBy: identity1,\n deletedBy: identity1,\n deletedOn: expect.any(String)\n },\n {\n id: \"item-1\",\n $selectable: true,\n title: \"Item 1\",\n createdBy: identity1,\n deletedBy: identity2,\n deletedOn: expect.any(String)\n }\n ],\n loading: {\n [LoadingActions.list]: false\n },\n sorting: [{ id: \"deletedOn\", desc: false }]\n });\n });\n\n it(\"should be able to search items\", async () => {\n const searchItemsGateway = createBinListGateway({\n execute: jest\n .fn()\n .mockImplementationOnce(() => {\n return Promise.resolve([\n [item1, item2, item3],\n { totalCount: 3, cursor: null, hasMoreItems: false }\n ]);\n })\n .mockImplementationOnce(() => {\n return Promise.resolve([\n [item1],\n { totalCount: 1, cursor: null, hasMoreItems: false }\n ]);\n })\n .mockImplementationOnce(() => {\n return Promise.resolve([\n [],\n { totalCount: 0, cursor: null, hasMoreItems: false }\n ]);\n })\n });\n\n const { presenter, controllers } = init(\n searchItemsGateway,\n deleteItemGateway,\n restoreItemGateway\n );\n\n // let's list some entries from the gateway\n await controllers.listItems.execute();\n\n expect(searchItemsGateway.execute).toHaveBeenNthCalledWith(1, {\n sort: [\"deletedOn_DESC\"]\n });\n\n // Let's search for items, it should return items from the gateway\n await controllers.searchItems.execute(\"Item 1\");\n\n expect(searchItemsGateway.execute).toHaveBeenNthCalledWith(2, {\n sort: [\"deletedOn_DESC\"],\n search: \"Item 1\"\n });\n\n expect(presenter.vm).toMatchObject({\n items: [\n {\n id: \"item-1\",\n $selectable: true,\n title: \"Item 1\",\n createdBy: identity1,\n deletedBy: identity2,\n deletedOn: expect.any(String)\n }\n ],\n loading: {\n [LoadingActions.list]: false\n },\n searchQuery: \"Item 1\"\n });\n\n // Let's search for items, it should return no items from the gateway\n await controllers.searchItems.execute(\"Not found query\");\n\n expect(searchItemsGateway.execute).toHaveBeenNthCalledWith(3, {\n sort: [\"deletedOn_DESC\"],\n search: \"Not found query\"\n });\n\n expect(presenter.vm).toMatchObject({\n items: [],\n loading: {\n [LoadingActions.list]: false\n },\n searchQuery: \"Not found query\",\n isEmptyView: true\n });\n });\n\n it(\"should be able to select items\", async () => {\n const { presenter, controllers } = init(listGateway, deleteItemGateway, restoreItemGateway);\n\n // let's list some entries from the gateway\n await controllers.listItems.execute();\n\n // No selected items found by default\n expect(presenter.vm).toMatchObject({\n selectedItems: []\n });\n\n // Let's select the first Item\n await controllers.selectItems.execute([\n {\n id: \"item-1\",\n $selectable: true,\n title: \"Item 1\",\n location: {\n folderId: \"folder-a\"\n },\n createdBy: identity1,\n deletedBy: identity2,\n deletedOn: new Date().toString()\n }\n ]);\n\n expect(presenter.vm).toMatchObject({\n selectedItems: [\n {\n id: \"item-1\",\n $selectable: true,\n title: \"Item 1\",\n location: {\n folderId: \"folder-a\"\n },\n createdBy: identity1,\n deletedBy: identity2,\n deletedOn: expect.any(String)\n }\n ]\n });\n\n // Let's select the second item\n await controllers.selectItems.execute([\n {\n id: \"item-1\",\n $selectable: true,\n title: \"Item 1\",\n location: {\n folderId: \"folder-a\"\n },\n createdBy: identity1,\n deletedBy: identity2,\n deletedOn: new Date().toString()\n },\n {\n id: \"item-2\",\n $selectable: true,\n title: \"Item 2\",\n location: {\n folderId: \"folder-a\"\n },\n createdBy: identity1,\n deletedBy: identity1,\n deletedOn: new Date().toString()\n }\n ]);\n\n expect(presenter.vm).toMatchObject({\n selectedItems: [\n {\n id: \"item-1\",\n $selectable: true,\n title: \"Item 1\",\n location: {\n folderId: \"folder-a\"\n },\n createdBy: identity1,\n deletedBy: identity2,\n deletedOn: expect.any(String)\n },\n {\n id: \"item-2\",\n $selectable: true,\n title: \"Item 2\",\n location: {\n folderId: \"folder-a\"\n },\n createdBy: identity1,\n deletedBy: identity1,\n deletedOn: expect.any(String)\n }\n ]\n });\n });\n\n it(\"should delete an item, removing it from the list\", async () => {\n const { presenter, controllers } = init(listGateway, deleteItemGateway, restoreItemGateway);\n\n // let's list some entries from the gateway\n await controllers.listItems.execute();\n\n expect(listGateway.execute).toHaveBeenCalledTimes(1);\n\n expect(presenter.vm).toMatchObject({\n items: [\n {\n id: \"item-1\",\n $selectable: true,\n title: \"Item 1\",\n location: {\n folderId: \"folder-a\"\n },\n createdBy: identity1,\n deletedBy: identity2,\n deletedOn: expect.any(String)\n },\n {\n id: \"item-2\",\n $selectable: true,\n title: \"Item 2\",\n location: {\n folderId: \"folder-a\"\n },\n createdBy: identity1,\n deletedBy: identity1,\n deletedOn: expect.any(String)\n },\n {\n id: \"item-3\",\n $selectable: true,\n title: \"Item 3\",\n location: {\n folderId: \"folder-b\"\n },\n createdBy: identity2,\n deletedBy: identity2,\n deletedOn: expect.any(String)\n }\n ]\n });\n\n const deletePromise = controllers.deleteItem.execute(item1.id);\n\n // Let's check the transition to loading state\n expect(presenter.vm).toMatchObject({\n loading: {\n [LoadingActions.delete]: true\n }\n });\n\n await deletePromise;\n\n expect(deleteItemGateway.execute).toHaveBeenCalledTimes(1);\n expect(deleteItemGateway.execute).toHaveBeenCalledWith(item1.id);\n\n expect(presenter.vm).toMatchObject({\n items: [\n {\n id: \"item-2\",\n $selectable: true,\n title: \"Item 2\",\n location: {\n folderId: \"folder-a\"\n },\n createdBy: identity1,\n deletedBy: identity1,\n deletedOn: expect.any(String)\n },\n {\n id: \"item-3\",\n $selectable: true,\n title: \"Item 3\",\n location: {\n folderId: \"folder-b\"\n },\n createdBy: identity2,\n deletedBy: identity2,\n deletedOn: expect.any(String)\n }\n ]\n });\n });\n\n it(\"should restore an item, removing it from the list\", async () => {\n const { presenter, controllers } = init(listGateway, deleteItemGateway, restoreItemGateway);\n\n // let's list some entries from the gateway\n await controllers.listItems.execute();\n\n expect(listGateway.execute).toHaveBeenCalledTimes(1);\n\n expect(presenter.vm).toMatchObject({\n items: [\n {\n id: \"item-1\",\n $selectable: true,\n title: \"Item 1\",\n location: {\n folderId: \"folder-a\"\n },\n createdBy: identity1,\n deletedBy: identity2,\n deletedOn: expect.any(String)\n },\n {\n id: \"item-2\",\n $selectable: true,\n title: \"Item 2\",\n location: {\n folderId: \"folder-a\"\n },\n createdBy: identity1,\n deletedBy: identity1,\n deletedOn: expect.any(String)\n },\n {\n id: \"item-3\",\n $selectable: true,\n title: \"Item 3\",\n location: {\n folderId: \"folder-b\"\n },\n createdBy: identity2,\n deletedBy: identity2,\n deletedOn: expect.any(String)\n }\n ]\n });\n\n const restorePromise = controllers.restoreItem.execute(item1.id);\n\n // Let's check the transition to loading state\n expect(presenter.vm).toMatchObject({\n loading: {\n [LoadingActions.restore]: true\n }\n });\n\n await restorePromise;\n\n expect(restoreItemGateway.execute).toHaveBeenCalledTimes(1);\n expect(restoreItemGateway.execute).toHaveBeenCalledWith(item1.id);\n\n expect(presenter.vm).toMatchObject({\n items: [\n {\n id: \"item-2\",\n $selectable: true,\n title: \"Item 2\",\n location: {\n folderId: \"folder-a\"\n },\n createdBy: identity1,\n deletedBy: identity1,\n deletedOn: expect.any(String)\n },\n {\n id: \"item-3\",\n $selectable: true,\n title: \"Item 3\",\n location: {\n folderId: \"folder-b\"\n },\n createdBy: identity2,\n deletedBy: identity2,\n deletedOn: expect.any(String)\n }\n ],\n restoredItems: [\n {\n id: \"item-1\",\n $selectable: true,\n title: \"Item 1\",\n location: {\n folderId: \"folder-a\"\n },\n createdBy: identity1,\n deletedBy: identity2,\n deletedOn: expect.any(String)\n }\n ]\n });\n\n // We should be able to get the restored item by id\n const restoredItem = await controllers.getRestoredItemById.execute(\"item-1\");\n expect(restoredItem).toMatchObject({\n id: \"item-1\",\n $selectable: true,\n title: \"Item 1\",\n location: {\n folderId: \"folder-a\"\n },\n createdBy: identity1,\n deletedBy: identity2,\n deletedOn: expect.any(String)\n });\n });\n\n it.each([\n [0, \"0 days\"],\n [1, \"1 day\"],\n [2, \"2 days\"]\n ])(\"should set the retention period to `%s` when input is `%i`\", (input, output) => {\n const { presenter } = init(listGateway, deleteItemGateway, restoreItemGateway, input);\n\n expect(presenter.vm).toMatchObject({\n retentionPeriod: output\n });\n });\n\n it(\"should be able to perform bulk action - RESTORE\", async () => {\n const { controllers } = init(listGateway, deleteItemGateway, restoreItemGateway);\n\n // let's list some entries from the gateway\n await controllers.listItems.execute();\n\n expect(listGateway.execute).toHaveBeenCalledTimes(1);\n\n const restoreBulkActionPromise = controllers.restoreBulkAction.execute({\n search: \"Custom search\",\n where: {\n title: \"Item title\"\n },\n data: {\n any: 1\n }\n });\n\n await restoreBulkActionPromise;\n\n expect(bulkActionGateway.execute).toHaveBeenCalledTimes(1);\n expect(bulkActionGateway.execute).toHaveBeenCalledWith({\n action: BulkActionRestoreItems,\n search: \"Custom search\",\n where: {\n title: \"Item title\"\n },\n data: {\n any: 1\n }\n });\n });\n\n it(\"should be able to perform bulk action - DELETE\", async () => {\n const { controllers } = init(listGateway, deleteItemGateway, restoreItemGateway);\n\n // let's list some entries from the gateway\n await controllers.listItems.execute();\n\n expect(listGateway.execute).toHaveBeenCalledTimes(1);\n\n const deleteBulkActionPromise = controllers.deleteBulkAction.execute({\n search: \"Custom search\",\n where: {\n title: \"Item title\"\n },\n data: {\n any: 1\n }\n });\n\n await deleteBulkActionPromise;\n\n expect(bulkActionGateway.execute).toHaveBeenCalledTimes(1);\n expect(bulkActionGateway.execute).toHaveBeenCalledWith({\n action: BulkActionDeleteItems,\n search: \"Custom search\",\n where: {\n title: \"Item title\"\n },\n data: {\n any: 1\n }\n });\n });\n\n it(\"should be able to `selectAll` and `unselectAll` items\", async () => {\n {\n // let's test the functionality by listing items that span multiple pages.\n const listGateway = createBinListGateway({\n execute: jest.fn().mockImplementation(() => {\n return Promise.resolve([\n [item1, item2, item3],\n { totalCount: 4, cursor: \"IjMi\", hasMoreItems: true }\n ]);\n })\n });\n\n const { presenter, controllers } = init(\n listGateway,\n deleteItemGateway,\n restoreItemGateway\n );\n\n // let's list some entries from the gateway\n await controllers.listItems.execute();\n\n expect(listGateway.execute).toHaveBeenCalledTimes(1);\n\n // let's check the initial vm state\n expect(presenter.vm.items.length).toBe(3);\n expect(presenter.vm.selectedItems.length).toBe(0);\n expect(presenter.vm.allowSelectAll).toBeFalsy();\n expect(presenter.vm.isSelectedAll).toBeFalsy();\n\n // let's check the vm state after selecting all items on the page\n await controllers.selectItems.execute([item1, item2, item3]);\n expect(presenter.vm.selectedItems.length).toBe(3);\n expect(presenter.vm.allowSelectAll).toBeTruthy();\n expect(presenter.vm.isSelectedAll).toBeFalsy();\n\n // let's check the vm state after selecting all items\n await controllers.selectAllItems.execute();\n expect(presenter.vm.selectedItems.length).toBe(3);\n expect(presenter.vm.allowSelectAll).toBeTruthy();\n expect(presenter.vm.isSelectedAll).toBeTruthy();\n\n // let's check the vm state after unselecting all items\n await controllers.unselectAllItems.execute();\n expect(presenter.vm.selectedItems.length).toBe(0);\n expect(presenter.vm.allowSelectAll).toBeFalsy();\n expect(presenter.vm.isSelectedAll).toBeFalsy();\n\n // let's check the vm state after unselecting one item\n await controllers.selectItems.execute([item1, item2, item3]);\n expect(presenter.vm.selectedItems.length).toBe(3);\n await controllers.selectAllItems.execute();\n expect(presenter.vm.isSelectedAll).toBeTruthy();\n await controllers.selectItems.execute([item1, item2]);\n expect(presenter.vm.isSelectedAll).toBeFalsy();\n expect(presenter.vm.allowSelectAll).toBeFalsy();\n }\n\n {\n // let's test the functionality by listing items that span only one page.\n const listGateway = createBinListGateway({\n execute: jest.fn().mockImplementation(() => {\n return Promise.resolve([\n [item1, item2, item3],\n { totalCount: 3, cursor: null, hasMoreItems: false }\n ]);\n })\n });\n\n const { presenter, controllers } = init(\n listGateway,\n deleteItemGateway,\n restoreItemGateway\n );\n\n // let's list some entries from the gateway\n await controllers.listItems.execute();\n\n expect(listGateway.execute).toHaveBeenCalledTimes(1);\n\n // let's check the initial vm state\n expect(presenter.vm.items.length).toBe(3);\n\n // let's check the vm state after selecting all items in the page\n await controllers.selectItems.execute([item1, item2, item3]);\n expect(presenter.vm.selectedItems.length).toBe(3);\n expect(presenter.vm.allowSelectAll).toBeFalsy();\n expect(presenter.vm.isSelectedAll).toBeFalsy();\n }\n });\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["TrashBinPresenter","LoadingRepository","MetaRepository","SortingRepository","LoadingActions","TrashBinControllers","SearchRepository","SelectedItemsRepository","SortingRepositoryWithDefaults","TrashBinItemsRepository","TrashBinItemsRepositoryWithLoading","identity1","id","displayName","type","identity2","createBinListGateway","execute","createBinDeleteItemGateway","createBinRestoreItemGateway","createBinBulkActionsGateway","CustomItemMapper","toDTO","data","title","location","createdBy","deletedOn","deletedBy","defaultSorting","field","order","describe","item1","folderId","Date","toString","custom","item2","item3","item4","listGateway","jest","fn","mockImplementation","Promise","resolve","totalCount","cursor","hasMoreItems","deleteItemGateway","restoreItemGateway","bulkActionGateway","itemMapper","BulkActionDeleteItems","BulkActionRestoreItems","init","retentionPeriod","selectedRepo","loadingRepo","sortRepo","sortRepoWithDefaults","metaRepo","searchRepo","trashBinItemsRepo","itemsRepo","presenter","controllers","getControllers","beforeEach","clearAllMocks","it","listPromise","listItems","expect","vm","toMatchObject","items","loading","list","toHaveBeenCalledTimes","toHaveBeenCalledWith","sort","$selectable","any","String","mockImplementationOnce","listMorePromise","listMoreItems","listMore","after","search","undefined","sortListGateway","toHaveBeenNthCalledWith","sortItems","desc","sorting","searchItemsGateway","searchItems","searchQuery","isEmptyView","selectedItems","selectItems","deletePromise","deleteItem","delete","restorePromise","restoreItem","restore","restoredItems","restoredItem","getRestoredItemById","each","input","output","restoreBulkActionPromise","restoreBulkAction","where","action","deleteBulkActionPromise","deleteBulkAction","length","toBe","allowSelectAll","toBeFalsy","isSelectedAll","toBeTruthy","selectAllItems","unselectAllItems"],"sources":["TrashBin.test.ts"],"sourcesContent":["import { TrashBinPresenter } from \"./TrashBinPresenter\";\nimport { LoadingRepository, MetaRepository, Sorting, SortingRepository } from \"@webiny/app-utils\";\nimport { LoadingActions, TrashBinIdentity, TrashBinLocation } from \"~/types\";\nimport { TrashBinControllers } from \"~/Presentation/TrashBin/TrashBinControllers\";\nimport {\n ITrashBinBulkActionsGateway,\n ITrashBinDeleteItemGateway,\n ITrashBinListGateway,\n ITrashBinRestoreItemGateway\n} from \"~/Gateways\";\nimport { ITrashBinItemMapper } from \"~/Domain/Models/TrashBinItem\";\nimport { SearchRepository } from \"~/Domain/Repositories/Search\";\nimport { SelectedItemsRepository } from \"~/Domain/Repositories/SelectedItems\";\nimport { SortingRepositoryWithDefaults } from \"~/Domain/Repositories/Sorting\";\nimport {\n TrashBinItemsRepository,\n TrashBinItemsRepositoryWithLoading\n} from \"~/Domain/Repositories/TrashBinItems\";\n\ninterface Item {\n id: string;\n title: string;\n location: TrashBinLocation;\n createdBy: TrashBinIdentity;\n deletedOn: string;\n deletedBy: TrashBinIdentity;\n custom: string;\n}\n\nconst identity1: TrashBinIdentity = {\n id: \"1234\",\n displayName: \"John Doe\",\n type: \"admin\"\n};\n\nconst identity2: TrashBinIdentity = {\n id: \"5678\",\n displayName: \"Jane Doe\",\n type: \"admin\"\n};\n\nconst createBinListGateway = ({\n execute\n}: ITrashBinListGateway<Item>): ITrashBinListGateway<Item> => ({\n execute\n});\n\nconst createBinDeleteItemGateway = ({\n execute\n}: ITrashBinDeleteItemGateway): ITrashBinDeleteItemGateway => ({\n execute\n});\n\nconst createBinRestoreItemGateway = ({\n execute\n}: ITrashBinRestoreItemGateway<Item>): ITrashBinRestoreItemGateway<Item> => ({\n execute\n});\n\nconst createBinBulkActionsGateway = ({\n execute\n}: ITrashBinBulkActionsGateway): ITrashBinBulkActionsGateway => ({\n execute\n});\n\nclass CustomItemMapper implements ITrashBinItemMapper<Item> {\n toDTO(data: Item) {\n return {\n id: data.id,\n title: data.title,\n location: data.location,\n createdBy: data.createdBy,\n deletedOn: data.deletedOn,\n deletedBy: data.deletedBy\n };\n }\n}\n\nconst defaultSorting: Sorting[] = [{ field: \"deletedOn\", order: \"desc\" }];\n\ndescribe(\"TrashBin\", () => {\n const item1: Item = {\n id: \"item-1\",\n title: \"Item 1\",\n location: {\n folderId: \"folder-a\"\n },\n createdBy: identity1,\n deletedBy: identity2,\n deletedOn: new Date().toString(),\n custom: \"any custom data\"\n };\n\n const item2: Item = {\n id: \"item-2\",\n title: \"Item 2\",\n location: {\n folderId: \"folder-a\"\n },\n createdBy: identity1,\n deletedBy: identity1,\n deletedOn: new Date().toString(),\n custom: \"any custom data\"\n };\n\n const item3: Item = {\n id: \"item-3\",\n title: \"Item 3\",\n location: {\n folderId: \"folder-b\"\n },\n createdBy: identity2,\n deletedBy: identity2,\n deletedOn: new Date().toString(),\n custom: \"any custom data\"\n };\n\n const item4: Item = {\n id: \"item-4\",\n title: \"Item 4\",\n location: {\n folderId: \"folder-b\"\n },\n createdBy: identity1,\n deletedBy: identity1,\n deletedOn: new Date().toString(),\n custom: \"any custom data\"\n };\n\n const listGateway = createBinListGateway({\n execute: jest.fn().mockImplementation(() => {\n return Promise.resolve([\n [item1, item2, item3],\n { totalCount: 3, cursor: null, hasMoreItems: false }\n ]);\n })\n });\n\n const deleteItemGateway = createBinDeleteItemGateway({\n execute: jest.fn().mockImplementation(() => {\n return Promise.resolve(true);\n })\n });\n\n const restoreItemGateway = createBinRestoreItemGateway({\n execute: jest.fn().mockImplementation(() => {\n return Promise.resolve(item1);\n })\n });\n\n const bulkActionGateway = createBinBulkActionsGateway({\n execute: jest.fn().mockImplementation(() => {\n return Promise.resolve({ id: \"123456789\" });\n })\n });\n\n const itemMapper = new CustomItemMapper();\n\n const BulkActionDeleteItems = \"BulkDeleteItems\";\n const BulkActionRestoreItems = \"BulkRestoreItems\";\n\n const init = (\n listGateway: ITrashBinListGateway<Item>,\n deleteItemGateway: ITrashBinDeleteItemGateway,\n restoreItemGateway: ITrashBinRestoreItemGateway<Item>,\n retentionPeriod = 90\n ) => {\n const selectedRepo = new SelectedItemsRepository();\n const loadingRepo = new LoadingRepository();\n const sortRepo = new SortingRepository();\n const sortRepoWithDefaults = new SortingRepositoryWithDefaults(defaultSorting, sortRepo);\n const metaRepo = new MetaRepository();\n const searchRepo = new SearchRepository();\n const trashBinItemsRepo = new TrashBinItemsRepository(\n metaRepo,\n listGateway,\n deleteItemGateway,\n restoreItemGateway,\n bulkActionGateway,\n itemMapper\n );\n\n const itemsRepo = new TrashBinItemsRepositoryWithLoading(loadingRepo, trashBinItemsRepo);\n\n return {\n presenter: new TrashBinPresenter(\n itemsRepo,\n selectedRepo,\n sortRepoWithDefaults,\n searchRepo,\n retentionPeriod\n ),\n controllers: new TrashBinControllers(\n itemsRepo,\n selectedRepo,\n sortRepoWithDefaults,\n searchRepo,\n BulkActionDeleteItems,\n BulkActionRestoreItems\n ).getControllers()\n };\n };\n\n beforeEach(() => {\n jest.clearAllMocks();\n });\n\n it(\"should create a presenter and list trash bin entries from the gateway\", async () => {\n const { presenter, controllers } = init(listGateway, deleteItemGateway, restoreItemGateway);\n\n const listPromise = controllers.listItems.execute();\n\n // Let's check the transition to loading state\n expect(presenter.vm).toMatchObject({\n items: [],\n loading: {\n [LoadingActions.list]: true\n }\n });\n\n await listPromise;\n\n expect(listGateway.execute).toHaveBeenCalledTimes(1);\n expect(listGateway.execute).toHaveBeenCalledWith({\n sort: [\"deletedOn_DESC\"]\n });\n\n expect(presenter.vm).toMatchObject({\n items: [\n {\n id: \"item-1\",\n $selectable: true,\n title: \"Item 1\",\n createdBy: identity1,\n deletedBy: identity2,\n deletedOn: expect.any(String)\n },\n {\n id: \"item-2\",\n $selectable: true,\n title: \"Item 2\",\n createdBy: identity1,\n deletedBy: identity1,\n deletedOn: expect.any(String)\n },\n {\n id: \"item-3\",\n $selectable: true,\n title: \"Item 3\",\n createdBy: identity2,\n deletedBy: identity2,\n deletedOn: expect.any(String)\n }\n ],\n loading: {\n [LoadingActions.list]: false\n }\n });\n });\n\n it(\"should list more items from the gateway\", async () => {\n const listGateway = createBinListGateway({\n execute: jest\n .fn()\n .mockImplementationOnce(() => {\n return Promise.resolve([\n [item1, item2, item3],\n { totalCount: 4, cursor: \"IjMi\", hasMoreItems: true }\n ]);\n })\n .mockImplementationOnce(() => {\n return Promise.resolve([\n [item4],\n { totalCount: 4, cursor: null, hasMoreItems: false }\n ]);\n })\n });\n\n const { presenter, controllers } = init(listGateway, deleteItemGateway, restoreItemGateway);\n\n // Let's list some initial entries\n await controllers.listItems.execute();\n expect(listGateway.execute).toHaveBeenCalledTimes(1);\n\n // Let's list more items from the gateway\n const listMorePromise = controllers.listMoreItems.execute();\n\n expect(presenter.vm).toMatchObject({\n loading: {\n [LoadingActions.listMore]: true\n }\n });\n\n await listMorePromise;\n\n expect(listGateway.execute).toHaveBeenCalledTimes(2);\n expect(listGateway.execute).toHaveBeenCalledWith({\n after: \"IjMi\",\n search: undefined,\n sort: [\"deletedOn_DESC\"]\n });\n\n expect(presenter.vm).toMatchObject({\n items: [\n {\n id: \"item-1\",\n $selectable: true,\n title: \"Item 1\",\n createdBy: identity1,\n deletedBy: identity2,\n deletedOn: expect.any(String)\n },\n {\n id: \"item-2\",\n $selectable: true,\n title: \"Item 2\",\n createdBy: identity1,\n deletedBy: identity1,\n deletedOn: expect.any(String)\n },\n {\n id: \"item-3\",\n $selectable: true,\n title: \"Item 3\",\n createdBy: identity2,\n deletedBy: identity2,\n deletedOn: expect.any(String)\n },\n {\n id: \"item-4\",\n $selectable: true,\n title: \"Item 4\",\n createdBy: identity1,\n deletedBy: identity1,\n deletedOn: expect.any(String)\n }\n ],\n loading: {\n [LoadingActions.listMore]: false\n }\n });\n });\n\n it(\"should be able to sort items\", async () => {\n const sortListGateway = createBinListGateway({\n execute: jest\n .fn()\n .mockImplementationOnce(() => {\n return Promise.resolve([\n [item1, item2, item3],\n { totalCount: 3, cursor: null, hasMoreItems: false }\n ]);\n })\n .mockImplementation(() => {\n return Promise.resolve([\n [item3, item2, item1],\n { totalCount: 3, cursor: null, hasMoreItems: false }\n ]);\n })\n });\n\n const { presenter, controllers } = init(\n sortListGateway,\n deleteItemGateway,\n restoreItemGateway\n );\n\n // let's list some entries from the gateway\n await controllers.listItems.execute();\n\n expect(sortListGateway.execute).toHaveBeenNthCalledWith(1, {\n sort: [\"deletedOn_DESC\"]\n });\n\n // Let's sort items, it should call back the list gateway to retrieve the items sorted\n await controllers.sortItems.execute(() => [{ id: \"deletedOn\", desc: false }]);\n\n expect(sortListGateway.execute).toHaveBeenNthCalledWith(2, {\n sort: [\"deletedOn_ASC\"]\n });\n\n expect(presenter.vm).toMatchObject({\n items: [\n {\n id: \"item-3\",\n $selectable: true,\n title: \"Item 3\",\n createdBy: identity2,\n deletedBy: identity2,\n deletedOn: expect.any(String)\n },\n {\n id: \"item-2\",\n $selectable: true,\n title: \"Item 2\",\n createdBy: identity1,\n deletedBy: identity1,\n deletedOn: expect.any(String)\n },\n {\n id: \"item-1\",\n $selectable: true,\n title: \"Item 1\",\n createdBy: identity1,\n deletedBy: identity2,\n deletedOn: expect.any(String)\n }\n ],\n loading: {\n [LoadingActions.list]: false\n },\n sorting: [{ id: \"deletedOn\", desc: false }]\n });\n });\n\n it(\"should be able to search items\", async () => {\n const searchItemsGateway = createBinListGateway({\n execute: jest\n .fn()\n .mockImplementationOnce(() => {\n return Promise.resolve([\n [item1, item2, item3],\n { totalCount: 3, cursor: null, hasMoreItems: false }\n ]);\n })\n .mockImplementationOnce(() => {\n return Promise.resolve([\n [item1],\n { totalCount: 1, cursor: null, hasMoreItems: false }\n ]);\n })\n .mockImplementationOnce(() => {\n return Promise.resolve([\n [],\n { totalCount: 0, cursor: null, hasMoreItems: false }\n ]);\n })\n });\n\n const { presenter, controllers } = init(\n searchItemsGateway,\n deleteItemGateway,\n restoreItemGateway\n );\n\n // let's list some entries from the gateway\n await controllers.listItems.execute();\n\n expect(searchItemsGateway.execute).toHaveBeenNthCalledWith(1, {\n sort: [\"deletedOn_DESC\"]\n });\n\n // Let's search for items, it should return items from the gateway\n await controllers.searchItems.execute(\"Item 1\");\n\n expect(searchItemsGateway.execute).toHaveBeenNthCalledWith(2, {\n sort: [\"deletedOn_DESC\"],\n search: \"Item 1\"\n });\n\n expect(presenter.vm).toMatchObject({\n items: [\n {\n id: \"item-1\",\n $selectable: true,\n title: \"Item 1\",\n createdBy: identity1,\n deletedBy: identity2,\n deletedOn: expect.any(String)\n }\n ],\n loading: {\n [LoadingActions.list]: false\n },\n searchQuery: \"Item 1\"\n });\n\n // Let's search for items, it should return no items from the gateway\n await controllers.searchItems.execute(\"Not found query\");\n\n expect(searchItemsGateway.execute).toHaveBeenNthCalledWith(3, {\n sort: [\"deletedOn_DESC\"],\n search: \"Not found query\"\n });\n\n expect(presenter.vm).toMatchObject({\n items: [],\n loading: {\n [LoadingActions.list]: false\n },\n searchQuery: \"Not found query\",\n isEmptyView: true\n });\n });\n\n it(\"should be able to select items\", async () => {\n const { presenter, controllers } = init(listGateway, deleteItemGateway, restoreItemGateway);\n\n // let's list some entries from the gateway\n await controllers.listItems.execute();\n\n // No selected items found by default\n expect(presenter.vm).toMatchObject({\n selectedItems: []\n });\n\n // Let's select the first Item\n await controllers.selectItems.execute([\n {\n id: \"item-1\",\n $selectable: true,\n title: \"Item 1\",\n location: {\n folderId: \"folder-a\"\n },\n createdBy: identity1,\n deletedBy: identity2,\n deletedOn: new Date().toString()\n }\n ]);\n\n expect(presenter.vm).toMatchObject({\n selectedItems: [\n {\n id: \"item-1\",\n $selectable: true,\n title: \"Item 1\",\n location: {\n folderId: \"folder-a\"\n },\n createdBy: identity1,\n deletedBy: identity2,\n deletedOn: expect.any(String)\n }\n ]\n });\n\n // Let's select the second item\n await controllers.selectItems.execute([\n {\n id: \"item-1\",\n $selectable: true,\n title: \"Item 1\",\n location: {\n folderId: \"folder-a\"\n },\n createdBy: identity1,\n deletedBy: identity2,\n deletedOn: new Date().toString()\n },\n {\n id: \"item-2\",\n $selectable: true,\n title: \"Item 2\",\n location: {\n folderId: \"folder-a\"\n },\n createdBy: identity1,\n deletedBy: identity1,\n deletedOn: new Date().toString()\n }\n ]);\n\n expect(presenter.vm).toMatchObject({\n selectedItems: [\n {\n id: \"item-1\",\n $selectable: true,\n title: \"Item 1\",\n location: {\n folderId: \"folder-a\"\n },\n createdBy: identity1,\n deletedBy: identity2,\n deletedOn: expect.any(String)\n },\n {\n id: \"item-2\",\n $selectable: true,\n title: \"Item 2\",\n location: {\n folderId: \"folder-a\"\n },\n createdBy: identity1,\n deletedBy: identity1,\n deletedOn: expect.any(String)\n }\n ]\n });\n });\n\n it(\"should delete an item, removing it from the list\", async () => {\n const { presenter, controllers } = init(listGateway, deleteItemGateway, restoreItemGateway);\n\n // let's list some entries from the gateway\n await controllers.listItems.execute();\n\n expect(listGateway.execute).toHaveBeenCalledTimes(1);\n\n expect(presenter.vm).toMatchObject({\n items: [\n {\n id: \"item-1\",\n $selectable: true,\n title: \"Item 1\",\n location: {\n folderId: \"folder-a\"\n },\n createdBy: identity1,\n deletedBy: identity2,\n deletedOn: expect.any(String)\n },\n {\n id: \"item-2\",\n $selectable: true,\n title: \"Item 2\",\n location: {\n folderId: \"folder-a\"\n },\n createdBy: identity1,\n deletedBy: identity1,\n deletedOn: expect.any(String)\n },\n {\n id: \"item-3\",\n $selectable: true,\n title: \"Item 3\",\n location: {\n folderId: \"folder-b\"\n },\n createdBy: identity2,\n deletedBy: identity2,\n deletedOn: expect.any(String)\n }\n ]\n });\n\n const deletePromise = controllers.deleteItem.execute(item1.id);\n\n // Let's check the transition to loading state\n expect(presenter.vm).toMatchObject({\n loading: {\n [LoadingActions.delete]: true\n }\n });\n\n await deletePromise;\n\n expect(deleteItemGateway.execute).toHaveBeenCalledTimes(1);\n expect(deleteItemGateway.execute).toHaveBeenCalledWith(item1.id);\n\n expect(presenter.vm).toMatchObject({\n items: [\n {\n id: \"item-2\",\n $selectable: true,\n title: \"Item 2\",\n location: {\n folderId: \"folder-a\"\n },\n createdBy: identity1,\n deletedBy: identity1,\n deletedOn: expect.any(String)\n },\n {\n id: \"item-3\",\n $selectable: true,\n title: \"Item 3\",\n location: {\n folderId: \"folder-b\"\n },\n createdBy: identity2,\n deletedBy: identity2,\n deletedOn: expect.any(String)\n }\n ]\n });\n });\n\n it(\"should restore an item, removing it from the list\", async () => {\n const { presenter, controllers } = init(listGateway, deleteItemGateway, restoreItemGateway);\n\n // let's list some entries from the gateway\n await controllers.listItems.execute();\n\n expect(listGateway.execute).toHaveBeenCalledTimes(1);\n\n expect(presenter.vm).toMatchObject({\n items: [\n {\n id: \"item-1\",\n $selectable: true,\n title: \"Item 1\",\n location: {\n folderId: \"folder-a\"\n },\n createdBy: identity1,\n deletedBy: identity2,\n deletedOn: expect.any(String)\n },\n {\n id: \"item-2\",\n $selectable: true,\n title: \"Item 2\",\n location: {\n folderId: \"folder-a\"\n },\n createdBy: identity1,\n deletedBy: identity1,\n deletedOn: expect.any(String)\n },\n {\n id: \"item-3\",\n $selectable: true,\n title: \"Item 3\",\n location: {\n folderId: \"folder-b\"\n },\n createdBy: identity2,\n deletedBy: identity2,\n deletedOn: expect.any(String)\n }\n ]\n });\n\n const restorePromise = controllers.restoreItem.execute(item1.id);\n\n // Let's check the transition to loading state\n expect(presenter.vm).toMatchObject({\n loading: {\n [LoadingActions.restore]: true\n }\n });\n\n await restorePromise;\n\n expect(restoreItemGateway.execute).toHaveBeenCalledTimes(1);\n expect(restoreItemGateway.execute).toHaveBeenCalledWith(item1.id);\n\n expect(presenter.vm).toMatchObject({\n items: [\n {\n id: \"item-2\",\n $selectable: true,\n title: \"Item 2\",\n location: {\n folderId: \"folder-a\"\n },\n createdBy: identity1,\n deletedBy: identity1,\n deletedOn: expect.any(String)\n },\n {\n id: \"item-3\",\n $selectable: true,\n title: \"Item 3\",\n location: {\n folderId: \"folder-b\"\n },\n createdBy: identity2,\n deletedBy: identity2,\n deletedOn: expect.any(String)\n }\n ],\n restoredItems: [\n {\n id: \"item-1\",\n $selectable: true,\n title: \"Item 1\",\n location: {\n folderId: \"folder-a\"\n },\n createdBy: identity1,\n deletedBy: identity2,\n deletedOn: expect.any(String)\n }\n ]\n });\n\n // We should be able to get the restored item by id\n const restoredItem = await controllers.getRestoredItemById.execute(\"item-1\");\n expect(restoredItem).toMatchObject({\n id: \"item-1\",\n $selectable: true,\n title: \"Item 1\",\n location: {\n folderId: \"folder-a\"\n },\n createdBy: identity1,\n deletedBy: identity2,\n deletedOn: expect.any(String)\n });\n });\n\n it.each([\n [0, \"0 days\"],\n [1, \"1 day\"],\n [2, \"2 days\"]\n ])(\"should set the retention period to `%s` when input is `%i`\", (input, output) => {\n const { presenter } = init(listGateway, deleteItemGateway, restoreItemGateway, input);\n\n expect(presenter.vm).toMatchObject({\n retentionPeriod: output\n });\n });\n\n it(\"should be able to perform bulk action - RESTORE\", async () => {\n const { controllers } = init(listGateway, deleteItemGateway, restoreItemGateway);\n\n // let's list some entries from the gateway\n await controllers.listItems.execute();\n\n expect(listGateway.execute).toHaveBeenCalledTimes(1);\n\n const restoreBulkActionPromise = controllers.restoreBulkAction.execute({\n search: \"Custom search\",\n where: {\n title: \"Item title\"\n },\n data: {\n any: 1\n }\n });\n\n await restoreBulkActionPromise;\n\n expect(bulkActionGateway.execute).toHaveBeenCalledTimes(1);\n expect(bulkActionGateway.execute).toHaveBeenCalledWith({\n action: BulkActionRestoreItems,\n search: \"Custom search\",\n where: {\n title: \"Item title\"\n },\n data: {\n any: 1\n }\n });\n });\n\n it(\"should be able to perform bulk action - DELETE\", async () => {\n const { controllers } = init(listGateway, deleteItemGateway, restoreItemGateway);\n\n // let's list some entries from the gateway\n await controllers.listItems.execute();\n\n expect(listGateway.execute).toHaveBeenCalledTimes(1);\n\n const deleteBulkActionPromise = controllers.deleteBulkAction.execute({\n search: \"Custom search\",\n where: {\n title: \"Item title\"\n },\n data: {\n any: 1\n }\n });\n\n await deleteBulkActionPromise;\n\n expect(bulkActionGateway.execute).toHaveBeenCalledTimes(1);\n expect(bulkActionGateway.execute).toHaveBeenCalledWith({\n action: BulkActionDeleteItems,\n search: \"Custom search\",\n where: {\n title: \"Item title\"\n },\n data: {\n any: 1\n }\n });\n });\n\n it(\"should be able to `selectAll` and `unselectAll` items\", async () => {\n {\n // let's test the functionality by listing items that span multiple pages.\n const listGateway = createBinListGateway({\n execute: jest.fn().mockImplementation(() => {\n return Promise.resolve([\n [item1, item2, item3],\n { totalCount: 4, cursor: \"IjMi\", hasMoreItems: true }\n ]);\n })\n });\n\n const { presenter, controllers } = init(\n listGateway,\n deleteItemGateway,\n restoreItemGateway\n );\n\n // let's list some entries from the gateway\n await controllers.listItems.execute();\n\n expect(listGateway.execute).toHaveBeenCalledTimes(1);\n\n // let's check the initial vm state\n expect(presenter.vm.items.length).toBe(3);\n expect(presenter.vm.selectedItems.length).toBe(0);\n expect(presenter.vm.allowSelectAll).toBeFalsy();\n expect(presenter.vm.isSelectedAll).toBeFalsy();\n\n // let's check the vm state after selecting all items on the page\n await controllers.selectItems.execute([item1, item2, item3]);\n expect(presenter.vm.selectedItems.length).toBe(3);\n expect(presenter.vm.allowSelectAll).toBeTruthy();\n expect(presenter.vm.isSelectedAll).toBeFalsy();\n\n // let's check the vm state after selecting all items\n await controllers.selectAllItems.execute();\n expect(presenter.vm.selectedItems.length).toBe(3);\n expect(presenter.vm.allowSelectAll).toBeTruthy();\n expect(presenter.vm.isSelectedAll).toBeTruthy();\n\n // let's check the vm state after unselecting all items\n await controllers.unselectAllItems.execute();\n expect(presenter.vm.selectedItems.length).toBe(0);\n expect(presenter.vm.allowSelectAll).toBeFalsy();\n expect(presenter.vm.isSelectedAll).toBeFalsy();\n\n // let's check the vm state after unselecting one item\n await controllers.selectItems.execute([item1, item2, item3]);\n expect(presenter.vm.selectedItems.length).toBe(3);\n await controllers.selectAllItems.execute();\n expect(presenter.vm.isSelectedAll).toBeTruthy();\n await controllers.selectItems.execute([item1, item2]);\n expect(presenter.vm.isSelectedAll).toBeFalsy();\n expect(presenter.vm.allowSelectAll).toBeFalsy();\n }\n\n {\n // let's test the functionality by listing items that span only one page.\n const listGateway = createBinListGateway({\n execute: jest.fn().mockImplementation(() => {\n return Promise.resolve([\n [item1, item2, item3],\n { totalCount: 3, cursor: null, hasMoreItems: false }\n ]);\n })\n });\n\n const { presenter, controllers } = init(\n listGateway,\n deleteItemGateway,\n restoreItemGateway\n );\n\n // let's list some entries from the gateway\n await controllers.listItems.execute();\n\n expect(listGateway.execute).toHaveBeenCalledTimes(1);\n\n // let's check the initial vm state\n expect(presenter.vm.items.length).toBe(3);\n\n // let's check the vm state after selecting all items in the page\n await controllers.selectItems.execute([item1, item2, item3]);\n expect(presenter.vm.selectedItems.length).toBe(3);\n expect(presenter.vm.allowSelectAll).toBeFalsy();\n expect(presenter.vm.isSelectedAll).toBeFalsy();\n }\n });\n});\n"],"mappings":"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","ignoreList":[]}
@@ -1,17 +1,7 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.TrashBinControllers = void 0;
8
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
9
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
10
- var _controllers = require("./controllers");
11
- var _UseCases = require("../../UseCases");
12
- var TrashBinControllers = exports.TrashBinControllers = /*#__PURE__*/function () {
13
- function TrashBinControllers(itemsRepository, selectedRepository, sortingRepository, searchRepository, deleteBulkActionName, restoreBulkActionName) {
14
- (0, _classCallCheck2.default)(this, TrashBinControllers);
1
+ import { BulkActionsController, DeleteItemController, GetRestoredItemByIdController, ListItemsController, ListMoreItemsController, RestoreItemController, SearchItemsController, SelectAllItemsController, SelectItemsController, SortItemsController, UnselectAllItemsController } from "./controllers";
2
+ import { BulkActionUseCase, DeleteItemUseCase, GetRestoredItemUseCase, ListItemsUseCase, ListItemsUseCaseWithSearch, ListItemsUseCaseWithSorting, ListMoreItemsUseCase, RestoreItemUseCase, SearchItemsUseCase, SelectAllItemsUseCase, SelectItemsUseCase, SortItemsUseCase, UnselectAllItemsUseCase } from "../../UseCases";
3
+ export class TrashBinControllers {
4
+ constructor(itemsRepository, selectedRepository, sortingRepository, searchRepository, deleteBulkActionName, restoreBulkActionName) {
15
5
  this.itemsRepository = itemsRepository;
16
6
  this.selectedRepository = selectedRepository;
17
7
  this.sortingRepository = sortingRepository;
@@ -19,96 +9,72 @@ var TrashBinControllers = exports.TrashBinControllers = /*#__PURE__*/function ()
19
9
  this.deleteBulkActionName = deleteBulkActionName;
20
10
  this.restoreBulkActionName = restoreBulkActionName;
21
11
  }
22
- return (0, _createClass2.default)(TrashBinControllers, [{
23
- key: "getControllers",
24
- value: function getControllers() {
25
- var _this = this;
26
- // Select Items UseCase
27
- var selectItemsUseCase = function selectItemsUseCase() {
28
- return new _UseCases.SelectItemsUseCase(_this.selectedRepository);
29
- };
12
+ getControllers() {
13
+ // Select Items UseCase
14
+ const selectItemsUseCase = () => new SelectItemsUseCase(this.selectedRepository);
30
15
 
31
- // Select All Items UseCase
32
- var selectAllItemsUseCase = function selectAllItemsUseCase() {
33
- return new _UseCases.SelectAllItemsUseCase(_this.selectedRepository);
34
- };
16
+ // Select All Items UseCase
17
+ const selectAllItemsUseCase = () => new SelectAllItemsUseCase(this.selectedRepository);
35
18
 
36
- // Unselect All Items UseCase
37
- var unselectAllItemsUseCase = function unselectAllItemsUseCase() {
38
- return new _UseCases.UnselectAllItemsUseCase(_this.selectedRepository);
39
- };
19
+ // Unselect All Items UseCase
20
+ const unselectAllItemsUseCase = () => new UnselectAllItemsUseCase(this.selectedRepository);
40
21
 
41
- // Sort Items UseCase
42
- var sortItemsUseCase = function sortItemsUseCase() {
43
- return new _UseCases.SortItemsUseCase(_this.sortingRepository);
44
- };
22
+ // Sort Items UseCase
23
+ const sortItemsUseCase = () => new SortItemsUseCase(this.sortingRepository);
45
24
 
46
- // Search Items UseCase
47
- var searchItemsUseCase = function searchItemsUseCase() {
48
- return new _UseCases.SearchItemsUseCase(_this.searchRepository);
49
- };
25
+ // Search Items UseCase
26
+ const searchItemsUseCase = () => new SearchItemsUseCase(this.searchRepository);
50
27
 
51
- // List Items UseCase
52
- var listItemsUseCase = function listItemsUseCase() {
53
- var baseListItemsUseCase = new _UseCases.ListItemsUseCase(_this.itemsRepository);
54
- var listItemsWithSearch = new _UseCases.ListItemsUseCaseWithSearch(_this.searchRepository, baseListItemsUseCase);
55
- return new _UseCases.ListItemsUseCaseWithSorting(_this.sortingRepository, listItemsWithSearch);
56
- };
28
+ // List Items UseCase
29
+ const listItemsUseCase = () => {
30
+ const baseListItemsUseCase = new ListItemsUseCase(this.itemsRepository);
31
+ const listItemsWithSearch = new ListItemsUseCaseWithSearch(this.searchRepository, baseListItemsUseCase);
32
+ return new ListItemsUseCaseWithSorting(this.sortingRepository, listItemsWithSearch);
33
+ };
57
34
 
58
- // List More Items UseCase
59
- var listMoreItemsUseCase = function listMoreItemsUseCase() {
60
- return new _UseCases.ListMoreItemsUseCase(_this.itemsRepository);
61
- };
35
+ // List More Items UseCase
36
+ const listMoreItemsUseCase = () => new ListMoreItemsUseCase(this.itemsRepository);
62
37
 
63
- // Delete Item UseCase
64
- var deleteItemUseCase = function deleteItemUseCase() {
65
- return new _UseCases.DeleteItemUseCase(_this.itemsRepository);
66
- };
38
+ // Delete Item UseCase
39
+ const deleteItemUseCase = () => new DeleteItemUseCase(this.itemsRepository);
67
40
 
68
- // Restore Item UseCase
69
- var restoreItemUseCase = function restoreItemUseCase() {
70
- return new _UseCases.RestoreItemUseCase(_this.itemsRepository);
71
- };
41
+ // Restore Item UseCase
42
+ const restoreItemUseCase = () => new RestoreItemUseCase(this.itemsRepository);
72
43
 
73
- // Get RestoredItem UseCase
74
- var getRestoredItemUseCase = function getRestoredItemUseCase() {
75
- return new _UseCases.GetRestoredItemUseCase(_this.itemsRepository);
76
- };
44
+ // Get RestoredItem UseCase
45
+ const getRestoredItemUseCase = () => new GetRestoredItemUseCase(this.itemsRepository);
77
46
 
78
- // Bulk Action UseCase
79
- var bulkActionUseCase = function bulkActionUseCase() {
80
- return new _UseCases.BulkActionUseCase(_this.itemsRepository);
81
- };
47
+ // Bulk Action UseCase
48
+ const bulkActionUseCase = () => new BulkActionUseCase(this.itemsRepository);
82
49
 
83
- // Create controllers
84
- var listItems = new _controllers.ListItemsController(listItemsUseCase);
85
- var listMoreItems = new _controllers.ListMoreItemsController(listMoreItemsUseCase);
86
- var deleteItem = new _controllers.DeleteItemController(deleteItemUseCase);
87
- var restoreItem = new _controllers.RestoreItemController(restoreItemUseCase);
88
- var selectItems = new _controllers.SelectItemsController(selectItemsUseCase);
89
- var selectAllItems = new _controllers.SelectAllItemsController(selectAllItemsUseCase);
90
- var unselectAllItems = new _controllers.UnselectAllItemsController(unselectAllItemsUseCase);
91
- var sortItems = new _controllers.SortItemsController(listItemsUseCase, sortItemsUseCase);
92
- var searchItems = new _controllers.SearchItemsController(listItemsUseCase, searchItemsUseCase);
93
- var getRestoredItemById = new _controllers.GetRestoredItemByIdController(getRestoredItemUseCase);
94
- var restoreBulkAction = new _controllers.BulkActionsController(bulkActionUseCase, this.restoreBulkActionName);
95
- var deleteBulkAction = new _controllers.BulkActionsController(bulkActionUseCase, this.deleteBulkActionName);
96
- return {
97
- listItems: listItems,
98
- listMoreItems: listMoreItems,
99
- deleteItem: deleteItem,
100
- restoreItem: restoreItem,
101
- restoreBulkAction: restoreBulkAction,
102
- deleteBulkAction: deleteBulkAction,
103
- selectItems: selectItems,
104
- selectAllItems: selectAllItems,
105
- unselectAllItems: unselectAllItems,
106
- sortItems: sortItems,
107
- searchItems: searchItems,
108
- getRestoredItemById: getRestoredItemById
109
- };
110
- }
111
- }]);
112
- }();
50
+ // Create controllers
51
+ const listItems = new ListItemsController(listItemsUseCase);
52
+ const listMoreItems = new ListMoreItemsController(listMoreItemsUseCase);
53
+ const deleteItem = new DeleteItemController(deleteItemUseCase);
54
+ const restoreItem = new RestoreItemController(restoreItemUseCase);
55
+ const selectItems = new SelectItemsController(selectItemsUseCase);
56
+ const selectAllItems = new SelectAllItemsController(selectAllItemsUseCase);
57
+ const unselectAllItems = new UnselectAllItemsController(unselectAllItemsUseCase);
58
+ const sortItems = new SortItemsController(listItemsUseCase, sortItemsUseCase);
59
+ const searchItems = new SearchItemsController(listItemsUseCase, searchItemsUseCase);
60
+ const getRestoredItemById = new GetRestoredItemByIdController(getRestoredItemUseCase);
61
+ const restoreBulkAction = new BulkActionsController(bulkActionUseCase, this.restoreBulkActionName);
62
+ const deleteBulkAction = new BulkActionsController(bulkActionUseCase, this.deleteBulkActionName);
63
+ return {
64
+ listItems,
65
+ listMoreItems,
66
+ deleteItem,
67
+ restoreItem,
68
+ restoreBulkAction,
69
+ deleteBulkAction,
70
+ selectItems,
71
+ selectAllItems,
72
+ unselectAllItems,
73
+ sortItems,
74
+ searchItems,
75
+ getRestoredItemById
76
+ };
77
+ }
78
+ }
113
79
 
114
80
  //# sourceMappingURL=TrashBinControllers.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_controllers","require","_UseCases","TrashBinControllers","exports","itemsRepository","selectedRepository","sortingRepository","searchRepository","deleteBulkActionName","restoreBulkActionName","_classCallCheck2","default","_createClass2","key","value","getControllers","_this","selectItemsUseCase","SelectItemsUseCase","selectAllItemsUseCase","SelectAllItemsUseCase","unselectAllItemsUseCase","UnselectAllItemsUseCase","sortItemsUseCase","SortItemsUseCase","searchItemsUseCase","SearchItemsUseCase","listItemsUseCase","baseListItemsUseCase","ListItemsUseCase","listItemsWithSearch","ListItemsUseCaseWithSearch","ListItemsUseCaseWithSorting","listMoreItemsUseCase","ListMoreItemsUseCase","deleteItemUseCase","DeleteItemUseCase","restoreItemUseCase","RestoreItemUseCase","getRestoredItemUseCase","GetRestoredItemUseCase","bulkActionUseCase","BulkActionUseCase","listItems","ListItemsController","listMoreItems","ListMoreItemsController","deleteItem","DeleteItemController","restoreItem","RestoreItemController","selectItems","SelectItemsController","selectAllItems","SelectAllItemsController","unselectAllItems","UnselectAllItemsController","sortItems","SortItemsController","searchItems","SearchItemsController","getRestoredItemById","GetRestoredItemByIdController","restoreBulkAction","BulkActionsController","deleteBulkAction"],"sources":["TrashBinControllers.ts"],"sourcesContent":["import { ISortingRepository } from \"@webiny/app-utils\";\nimport { ISearchRepository, ISelectedItemsRepository, ITrashBinItemsRepository } from \"~/Domain\";\nimport {\n BulkActionsController,\n DeleteItemController,\n GetRestoredItemByIdController,\n ListItemsController,\n ListMoreItemsController,\n RestoreItemController,\n SearchItemsController,\n SelectAllItemsController,\n SelectItemsController,\n SortItemsController,\n UnselectAllItemsController\n} from \"~/Presentation/TrashBin/controllers\";\nimport {\n BulkActionUseCase,\n DeleteItemUseCase,\n GetRestoredItemUseCase,\n ListItemsUseCase,\n ListItemsUseCaseWithSearch,\n ListItemsUseCaseWithSorting,\n ListMoreItemsUseCase,\n RestoreItemUseCase,\n SearchItemsUseCase,\n SelectAllItemsUseCase,\n SelectItemsUseCase,\n SortItemsUseCase,\n UnselectAllItemsUseCase\n} from \"~/UseCases\";\n\nexport class TrashBinControllers {\n private readonly itemsRepository: ITrashBinItemsRepository;\n private readonly selectedRepository: ISelectedItemsRepository;\n private readonly sortingRepository: ISortingRepository;\n private readonly searchRepository: ISearchRepository;\n private readonly deleteBulkActionName: string;\n private readonly restoreBulkActionName: string;\n\n constructor(\n itemsRepository: ITrashBinItemsRepository,\n selectedRepository: ISelectedItemsRepository,\n sortingRepository: ISortingRepository,\n searchRepository: ISearchRepository,\n deleteBulkActionName: string,\n restoreBulkActionName: string\n ) {\n this.itemsRepository = itemsRepository;\n this.selectedRepository = selectedRepository;\n this.sortingRepository = sortingRepository;\n this.searchRepository = searchRepository;\n this.deleteBulkActionName = deleteBulkActionName;\n this.restoreBulkActionName = restoreBulkActionName;\n }\n\n getControllers() {\n // Select Items UseCase\n const selectItemsUseCase = () => new SelectItemsUseCase(this.selectedRepository);\n\n // Select All Items UseCase\n const selectAllItemsUseCase = () => new SelectAllItemsUseCase(this.selectedRepository);\n\n // Unselect All Items UseCase\n const unselectAllItemsUseCase = () => new UnselectAllItemsUseCase(this.selectedRepository);\n\n // Sort Items UseCase\n const sortItemsUseCase = () => new SortItemsUseCase(this.sortingRepository);\n\n // Search Items UseCase\n const searchItemsUseCase = () => new SearchItemsUseCase(this.searchRepository);\n\n // List Items UseCase\n const listItemsUseCase = () => {\n const baseListItemsUseCase = new ListItemsUseCase(this.itemsRepository);\n const listItemsWithSearch = new ListItemsUseCaseWithSearch(\n this.searchRepository,\n baseListItemsUseCase\n );\n return new ListItemsUseCaseWithSorting(this.sortingRepository, listItemsWithSearch);\n };\n\n // List More Items UseCase\n const listMoreItemsUseCase = () => new ListMoreItemsUseCase(this.itemsRepository);\n\n // Delete Item UseCase\n const deleteItemUseCase = () => new DeleteItemUseCase(this.itemsRepository);\n\n // Restore Item UseCase\n const restoreItemUseCase = () => new RestoreItemUseCase(this.itemsRepository);\n\n // Get RestoredItem UseCase\n const getRestoredItemUseCase = () => new GetRestoredItemUseCase(this.itemsRepository);\n\n // Bulk Action UseCase\n const bulkActionUseCase = () => new BulkActionUseCase(this.itemsRepository);\n\n // Create controllers\n const listItems = new ListItemsController(listItemsUseCase);\n const listMoreItems = new ListMoreItemsController(listMoreItemsUseCase);\n const deleteItem = new DeleteItemController(deleteItemUseCase);\n const restoreItem = new RestoreItemController(restoreItemUseCase);\n const selectItems = new SelectItemsController(selectItemsUseCase);\n const selectAllItems = new SelectAllItemsController(selectAllItemsUseCase);\n const unselectAllItems = new UnselectAllItemsController(unselectAllItemsUseCase);\n const sortItems = new SortItemsController(listItemsUseCase, sortItemsUseCase);\n const searchItems = new SearchItemsController(listItemsUseCase, searchItemsUseCase);\n const getRestoredItemById = new GetRestoredItemByIdController(getRestoredItemUseCase);\n const restoreBulkAction = new BulkActionsController(\n bulkActionUseCase,\n this.restoreBulkActionName\n );\n const deleteBulkAction = new BulkActionsController(\n bulkActionUseCase,\n this.deleteBulkActionName\n );\n\n return {\n listItems,\n listMoreItems,\n deleteItem,\n restoreItem,\n restoreBulkAction,\n deleteBulkAction,\n selectItems,\n selectAllItems,\n unselectAllItems,\n sortItems,\n searchItems,\n getRestoredItemById\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["BulkActionsController","DeleteItemController","GetRestoredItemByIdController","ListItemsController","ListMoreItemsController","RestoreItemController","SearchItemsController","SelectAllItemsController","SelectItemsController","SortItemsController","UnselectAllItemsController","BulkActionUseCase","DeleteItemUseCase","GetRestoredItemUseCase","ListItemsUseCase","ListItemsUseCaseWithSearch","ListItemsUseCaseWithSorting","ListMoreItemsUseCase","RestoreItemUseCase","SearchItemsUseCase","SelectAllItemsUseCase","SelectItemsUseCase","SortItemsUseCase","UnselectAllItemsUseCase","TrashBinControllers","constructor","itemsRepository","selectedRepository","sortingRepository","searchRepository","deleteBulkActionName","restoreBulkActionName","getControllers","selectItemsUseCase","selectAllItemsUseCase","unselectAllItemsUseCase","sortItemsUseCase","searchItemsUseCase","listItemsUseCase","baseListItemsUseCase","listItemsWithSearch","listMoreItemsUseCase","deleteItemUseCase","restoreItemUseCase","getRestoredItemUseCase","bulkActionUseCase","listItems","listMoreItems","deleteItem","restoreItem","selectItems","selectAllItems","unselectAllItems","sortItems","searchItems","getRestoredItemById","restoreBulkAction","deleteBulkAction"],"sources":["TrashBinControllers.ts"],"sourcesContent":["import { ISortingRepository } from \"@webiny/app-utils\";\nimport { ISearchRepository, ISelectedItemsRepository, ITrashBinItemsRepository } from \"~/Domain\";\nimport {\n BulkActionsController,\n DeleteItemController,\n GetRestoredItemByIdController,\n ListItemsController,\n ListMoreItemsController,\n RestoreItemController,\n SearchItemsController,\n SelectAllItemsController,\n SelectItemsController,\n SortItemsController,\n UnselectAllItemsController\n} from \"~/Presentation/TrashBin/controllers\";\nimport {\n BulkActionUseCase,\n DeleteItemUseCase,\n GetRestoredItemUseCase,\n ListItemsUseCase,\n ListItemsUseCaseWithSearch,\n ListItemsUseCaseWithSorting,\n ListMoreItemsUseCase,\n RestoreItemUseCase,\n SearchItemsUseCase,\n SelectAllItemsUseCase,\n SelectItemsUseCase,\n SortItemsUseCase,\n UnselectAllItemsUseCase\n} from \"~/UseCases\";\n\nexport class TrashBinControllers {\n private readonly itemsRepository: ITrashBinItemsRepository;\n private readonly selectedRepository: ISelectedItemsRepository;\n private readonly sortingRepository: ISortingRepository;\n private readonly searchRepository: ISearchRepository;\n private readonly deleteBulkActionName: string;\n private readonly restoreBulkActionName: string;\n\n constructor(\n itemsRepository: ITrashBinItemsRepository,\n selectedRepository: ISelectedItemsRepository,\n sortingRepository: ISortingRepository,\n searchRepository: ISearchRepository,\n deleteBulkActionName: string,\n restoreBulkActionName: string\n ) {\n this.itemsRepository = itemsRepository;\n this.selectedRepository = selectedRepository;\n this.sortingRepository = sortingRepository;\n this.searchRepository = searchRepository;\n this.deleteBulkActionName = deleteBulkActionName;\n this.restoreBulkActionName = restoreBulkActionName;\n }\n\n getControllers() {\n // Select Items UseCase\n const selectItemsUseCase = () => new SelectItemsUseCase(this.selectedRepository);\n\n // Select All Items UseCase\n const selectAllItemsUseCase = () => new SelectAllItemsUseCase(this.selectedRepository);\n\n // Unselect All Items UseCase\n const unselectAllItemsUseCase = () => new UnselectAllItemsUseCase(this.selectedRepository);\n\n // Sort Items UseCase\n const sortItemsUseCase = () => new SortItemsUseCase(this.sortingRepository);\n\n // Search Items UseCase\n const searchItemsUseCase = () => new SearchItemsUseCase(this.searchRepository);\n\n // List Items UseCase\n const listItemsUseCase = () => {\n const baseListItemsUseCase = new ListItemsUseCase(this.itemsRepository);\n const listItemsWithSearch = new ListItemsUseCaseWithSearch(\n this.searchRepository,\n baseListItemsUseCase\n );\n return new ListItemsUseCaseWithSorting(this.sortingRepository, listItemsWithSearch);\n };\n\n // List More Items UseCase\n const listMoreItemsUseCase = () => new ListMoreItemsUseCase(this.itemsRepository);\n\n // Delete Item UseCase\n const deleteItemUseCase = () => new DeleteItemUseCase(this.itemsRepository);\n\n // Restore Item UseCase\n const restoreItemUseCase = () => new RestoreItemUseCase(this.itemsRepository);\n\n // Get RestoredItem UseCase\n const getRestoredItemUseCase = () => new GetRestoredItemUseCase(this.itemsRepository);\n\n // Bulk Action UseCase\n const bulkActionUseCase = () => new BulkActionUseCase(this.itemsRepository);\n\n // Create controllers\n const listItems = new ListItemsController(listItemsUseCase);\n const listMoreItems = new ListMoreItemsController(listMoreItemsUseCase);\n const deleteItem = new DeleteItemController(deleteItemUseCase);\n const restoreItem = new RestoreItemController(restoreItemUseCase);\n const selectItems = new SelectItemsController(selectItemsUseCase);\n const selectAllItems = new SelectAllItemsController(selectAllItemsUseCase);\n const unselectAllItems = new UnselectAllItemsController(unselectAllItemsUseCase);\n const sortItems = new SortItemsController(listItemsUseCase, sortItemsUseCase);\n const searchItems = new SearchItemsController(listItemsUseCase, searchItemsUseCase);\n const getRestoredItemById = new GetRestoredItemByIdController(getRestoredItemUseCase);\n const restoreBulkAction = new BulkActionsController(\n bulkActionUseCase,\n this.restoreBulkActionName\n );\n const deleteBulkAction = new BulkActionsController(\n bulkActionUseCase,\n this.deleteBulkActionName\n );\n\n return {\n listItems,\n listMoreItems,\n deleteItem,\n restoreItem,\n restoreBulkAction,\n deleteBulkAction,\n selectItems,\n selectAllItems,\n unselectAllItems,\n sortItems,\n searchItems,\n getRestoredItemById\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}