@webiny/app-trash-bin 0.0.0-unstable.06b2ede40f

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 (507) hide show
  1. package/Domain/Models/TrashBinItem/ITrashBinItemMapper.d.ts +4 -0
  2. package/Domain/Models/TrashBinItem/ITrashBinItemMapper.js +3 -0
  3. package/Domain/Models/TrashBinItem/ITrashBinItemMapper.js.map +1 -0
  4. package/Domain/Models/TrashBinItem/TrashBinItem.d.ts +22 -0
  5. package/Domain/Models/TrashBinItem/TrashBinItem.js +15 -0
  6. package/Domain/Models/TrashBinItem/TrashBinItem.js.map +1 -0
  7. package/Domain/Models/TrashBinItem/index.d.ts +2 -0
  8. package/Domain/Models/TrashBinItem/index.js +4 -0
  9. package/Domain/Models/TrashBinItem/index.js.map +1 -0
  10. package/Domain/Models/index.d.ts +1 -0
  11. package/Domain/Models/index.js +3 -0
  12. package/Domain/Models/index.js.map +1 -0
  13. package/Domain/Repositories/Search/ISearchRepository.d.ts +4 -0
  14. package/Domain/Repositories/Search/ISearchRepository.js +3 -0
  15. package/Domain/Repositories/Search/ISearchRepository.js.map +1 -0
  16. package/Domain/Repositories/Search/SearchRepository.d.ts +7 -0
  17. package/Domain/Repositories/Search/SearchRepository.js +15 -0
  18. package/Domain/Repositories/Search/SearchRepository.js.map +1 -0
  19. package/Domain/Repositories/Search/SearchRepositoryFactory.d.ts +7 -0
  20. package/Domain/Repositories/Search/SearchRepositoryFactory.js +17 -0
  21. package/Domain/Repositories/Search/SearchRepositoryFactory.js.map +1 -0
  22. package/Domain/Repositories/Search/index.d.ts +3 -0
  23. package/Domain/Repositories/Search/index.js +5 -0
  24. package/Domain/Repositories/Search/index.js.map +1 -0
  25. package/Domain/Repositories/SelectedItems/ISelectedItemsRepository.d.ts +8 -0
  26. package/Domain/Repositories/SelectedItems/ISelectedItemsRepository.js +3 -0
  27. package/Domain/Repositories/SelectedItems/ISelectedItemsRepository.js.map +1 -0
  28. package/Domain/Repositories/SelectedItems/SelectedItemsRepository.d.ts +12 -0
  29. package/Domain/Repositories/SelectedItems/SelectedItemsRepository.js +27 -0
  30. package/Domain/Repositories/SelectedItems/SelectedItemsRepository.js.map +1 -0
  31. package/Domain/Repositories/SelectedItems/SelectedItemsRepositoryFactory.d.ts +7 -0
  32. package/Domain/Repositories/SelectedItems/SelectedItemsRepositoryFactory.js +17 -0
  33. package/Domain/Repositories/SelectedItems/SelectedItemsRepositoryFactory.js.map +1 -0
  34. package/Domain/Repositories/SelectedItems/index.d.ts +3 -0
  35. package/Domain/Repositories/SelectedItems/index.js +5 -0
  36. package/Domain/Repositories/SelectedItems/index.js.map +1 -0
  37. package/Domain/Repositories/Sorting/SortingRepositoryWithDefaults.d.ts +8 -0
  38. package/Domain/Repositories/Sorting/SortingRepositoryWithDefaults.js +22 -0
  39. package/Domain/Repositories/Sorting/SortingRepositoryWithDefaults.js.map +1 -0
  40. package/Domain/Repositories/Sorting/index.d.ts +1 -0
  41. package/Domain/Repositories/Sorting/index.js +3 -0
  42. package/Domain/Repositories/Sorting/index.js.map +1 -0
  43. package/Domain/Repositories/TrashBinItems/ITrashBinItemsRepository.d.ts +14 -0
  44. package/Domain/Repositories/TrashBinItems/ITrashBinItemsRepository.js +3 -0
  45. package/Domain/Repositories/TrashBinItems/ITrashBinItemsRepository.js.map +1 -0
  46. package/Domain/Repositories/TrashBinItems/TrashBinItemMapper.d.ts +15 -0
  47. package/Domain/Repositories/TrashBinItems/TrashBinItemMapper.js +18 -0
  48. package/Domain/Repositories/TrashBinItems/TrashBinItemMapper.js.map +1 -0
  49. package/Domain/Repositories/TrashBinItems/TrashBinItemsRepository.d.ts +28 -0
  50. package/Domain/Repositories/TrashBinItems/TrashBinItemsRepository.js +102 -0
  51. package/Domain/Repositories/TrashBinItems/TrashBinItemsRepository.js.map +1 -0
  52. package/Domain/Repositories/TrashBinItems/TrashBinItemsRepositoryFactory.d.ts +10 -0
  53. package/Domain/Repositories/TrashBinItems/TrashBinItemsRepositoryFactory.js +17 -0
  54. package/Domain/Repositories/TrashBinItems/TrashBinItemsRepositoryFactory.js.map +1 -0
  55. package/Domain/Repositories/TrashBinItems/TrashBinItemsRepositoryWithLoading.d.ts +17 -0
  56. package/Domain/Repositories/TrashBinItems/TrashBinItemsRepositoryWithLoading.js +38 -0
  57. package/Domain/Repositories/TrashBinItems/TrashBinItemsRepositoryWithLoading.js.map +1 -0
  58. package/Domain/Repositories/TrashBinItems/index.d.ts +5 -0
  59. package/Domain/Repositories/TrashBinItems/index.js +7 -0
  60. package/Domain/Repositories/TrashBinItems/index.js.map +1 -0
  61. package/Domain/Repositories/index.d.ts +5 -0
  62. package/Domain/Repositories/index.js +7 -0
  63. package/Domain/Repositories/index.js.map +1 -0
  64. package/Domain/index.d.ts +2 -0
  65. package/Domain/index.js +4 -0
  66. package/Domain/index.js.map +1 -0
  67. package/Gateways/TrashBinBulkActions/ITrashBinBulkActionsGateway.d.ts +4 -0
  68. package/Gateways/TrashBinBulkActions/ITrashBinBulkActionsGateway.js +3 -0
  69. package/Gateways/TrashBinBulkActions/ITrashBinBulkActionsGateway.js.map +1 -0
  70. package/Gateways/TrashBinBulkActions/index.d.ts +1 -0
  71. package/Gateways/TrashBinBulkActions/index.js +3 -0
  72. package/Gateways/TrashBinBulkActions/index.js.map +1 -0
  73. package/Gateways/TrashBinDeleteItem/ITrashBinDeleteItemGateway.d.ts +3 -0
  74. package/Gateways/TrashBinDeleteItem/ITrashBinDeleteItemGateway.js +3 -0
  75. package/Gateways/TrashBinDeleteItem/ITrashBinDeleteItemGateway.js.map +1 -0
  76. package/Gateways/TrashBinDeleteItem/index.d.ts +1 -0
  77. package/Gateways/TrashBinDeleteItem/index.js +3 -0
  78. package/Gateways/TrashBinDeleteItem/index.js.map +1 -0
  79. package/Gateways/TrashBinListItems/ITrashBinListGateway.d.ts +4 -0
  80. package/Gateways/TrashBinListItems/ITrashBinListGateway.js +3 -0
  81. package/Gateways/TrashBinListItems/ITrashBinListGateway.js.map +1 -0
  82. package/Gateways/TrashBinListItems/index.d.ts +1 -0
  83. package/Gateways/TrashBinListItems/index.js +3 -0
  84. package/Gateways/TrashBinListItems/index.js.map +1 -0
  85. package/Gateways/TrashBinRestoreItem/ITrashBinRestoreItemGateway.d.ts +3 -0
  86. package/Gateways/TrashBinRestoreItem/ITrashBinRestoreItemGateway.js +3 -0
  87. package/Gateways/TrashBinRestoreItem/ITrashBinRestoreItemGateway.js.map +1 -0
  88. package/Gateways/TrashBinRestoreItem/index.d.ts +1 -0
  89. package/Gateways/TrashBinRestoreItem/index.js +3 -0
  90. package/Gateways/TrashBinRestoreItem/index.js.map +1 -0
  91. package/Gateways/index.d.ts +4 -0
  92. package/Gateways/index.js +6 -0
  93. package/Gateways/index.js.map +1 -0
  94. package/LICENSE +21 -0
  95. package/Presentation/TrashBin/TrashBin.d.ts +22 -0
  96. package/Presentation/TrashBin/TrashBin.js +49 -0
  97. package/Presentation/TrashBin/TrashBin.js.map +1 -0
  98. package/Presentation/TrashBin/TrashBin.test.d.ts +1 -0
  99. package/Presentation/TrashBin/TrashBin.test.js +822 -0
  100. package/Presentation/TrashBin/TrashBin.test.js.map +1 -0
  101. package/Presentation/TrashBin/TrashBinControllers.d.ts +26 -0
  102. package/Presentation/TrashBin/TrashBinControllers.js +80 -0
  103. package/Presentation/TrashBin/TrashBinControllers.js.map +1 -0
  104. package/Presentation/TrashBin/TrashBinPresenter.d.ts +33 -0
  105. package/Presentation/TrashBin/TrashBinPresenter.js +61 -0
  106. package/Presentation/TrashBin/TrashBinPresenter.js.map +1 -0
  107. package/Presentation/TrashBin/controllers/BulkAction/BulkActionsController.d.ts +9 -0
  108. package/Presentation/TrashBin/controllers/BulkAction/BulkActionsController.js +12 -0
  109. package/Presentation/TrashBin/controllers/BulkAction/BulkActionsController.js.map +1 -0
  110. package/Presentation/TrashBin/controllers/BulkAction/IBulkActionsController.d.ts +4 -0
  111. package/Presentation/TrashBin/controllers/BulkAction/IBulkActionsController.js +3 -0
  112. package/Presentation/TrashBin/controllers/BulkAction/IBulkActionsController.js.map +1 -0
  113. package/Presentation/TrashBin/controllers/BulkAction/index.d.ts +2 -0
  114. package/Presentation/TrashBin/controllers/BulkAction/index.js +4 -0
  115. package/Presentation/TrashBin/controllers/BulkAction/index.js.map +1 -0
  116. package/Presentation/TrashBin/controllers/DeleteItem/DeleteItemController.d.ts +7 -0
  117. package/Presentation/TrashBin/controllers/DeleteItem/DeleteItemController.js +11 -0
  118. package/Presentation/TrashBin/controllers/DeleteItem/DeleteItemController.js.map +1 -0
  119. package/Presentation/TrashBin/controllers/DeleteItem/IDeleteItemController.d.ts +3 -0
  120. package/Presentation/TrashBin/controllers/DeleteItem/IDeleteItemController.js +3 -0
  121. package/Presentation/TrashBin/controllers/DeleteItem/IDeleteItemController.js.map +1 -0
  122. package/Presentation/TrashBin/controllers/DeleteItem/index.d.ts +2 -0
  123. package/Presentation/TrashBin/controllers/DeleteItem/index.js +4 -0
  124. package/Presentation/TrashBin/controllers/DeleteItem/index.js.map +1 -0
  125. package/Presentation/TrashBin/controllers/GetRestoredItemById/GetRestoredItemByIdController.d.ts +19 -0
  126. package/Presentation/TrashBin/controllers/GetRestoredItemById/GetRestoredItemByIdController.js +14 -0
  127. package/Presentation/TrashBin/controllers/GetRestoredItemById/GetRestoredItemByIdController.js.map +1 -0
  128. package/Presentation/TrashBin/controllers/GetRestoredItemById/IGetRestoredItemByIdController.d.ts +4 -0
  129. package/Presentation/TrashBin/controllers/GetRestoredItemById/IGetRestoredItemByIdController.js +3 -0
  130. package/Presentation/TrashBin/controllers/GetRestoredItemById/IGetRestoredItemByIdController.js.map +1 -0
  131. package/Presentation/TrashBin/controllers/GetRestoredItemById/index.d.ts +2 -0
  132. package/Presentation/TrashBin/controllers/GetRestoredItemById/index.js +4 -0
  133. package/Presentation/TrashBin/controllers/GetRestoredItemById/index.js.map +1 -0
  134. package/Presentation/TrashBin/controllers/ListItems/IListItemsController.d.ts +3 -0
  135. package/Presentation/TrashBin/controllers/ListItems/IListItemsController.js +3 -0
  136. package/Presentation/TrashBin/controllers/ListItems/IListItemsController.js.map +1 -0
  137. package/Presentation/TrashBin/controllers/ListItems/ListItemsController.d.ts +7 -0
  138. package/Presentation/TrashBin/controllers/ListItems/ListItemsController.js +11 -0
  139. package/Presentation/TrashBin/controllers/ListItems/ListItemsController.js.map +1 -0
  140. package/Presentation/TrashBin/controllers/ListItems/index.d.ts +2 -0
  141. package/Presentation/TrashBin/controllers/ListItems/index.js +4 -0
  142. package/Presentation/TrashBin/controllers/ListItems/index.js.map +1 -0
  143. package/Presentation/TrashBin/controllers/ListMoreItems/IListMoreItemsController.d.ts +3 -0
  144. package/Presentation/TrashBin/controllers/ListMoreItems/IListMoreItemsController.js +3 -0
  145. package/Presentation/TrashBin/controllers/ListMoreItems/IListMoreItemsController.js.map +1 -0
  146. package/Presentation/TrashBin/controllers/ListMoreItems/ListMoreItemsController.d.ts +7 -0
  147. package/Presentation/TrashBin/controllers/ListMoreItems/ListMoreItemsController.js +11 -0
  148. package/Presentation/TrashBin/controllers/ListMoreItems/ListMoreItemsController.js.map +1 -0
  149. package/Presentation/TrashBin/controllers/ListMoreItems/index.d.ts +2 -0
  150. package/Presentation/TrashBin/controllers/ListMoreItems/index.js +4 -0
  151. package/Presentation/TrashBin/controllers/ListMoreItems/index.js.map +1 -0
  152. package/Presentation/TrashBin/controllers/RestoreItem/IRestoreItemController.d.ts +3 -0
  153. package/Presentation/TrashBin/controllers/RestoreItem/IRestoreItemController.js +3 -0
  154. package/Presentation/TrashBin/controllers/RestoreItem/IRestoreItemController.js.map +1 -0
  155. package/Presentation/TrashBin/controllers/RestoreItem/RestoreItemController.d.ts +7 -0
  156. package/Presentation/TrashBin/controllers/RestoreItem/RestoreItemController.js +11 -0
  157. package/Presentation/TrashBin/controllers/RestoreItem/RestoreItemController.js.map +1 -0
  158. package/Presentation/TrashBin/controllers/RestoreItem/index.d.ts +2 -0
  159. package/Presentation/TrashBin/controllers/RestoreItem/index.js +4 -0
  160. package/Presentation/TrashBin/controllers/RestoreItem/index.js.map +1 -0
  161. package/Presentation/TrashBin/controllers/SearchItems/ISearchItemsController.d.ts +3 -0
  162. package/Presentation/TrashBin/controllers/SearchItems/ISearchItemsController.js +3 -0
  163. package/Presentation/TrashBin/controllers/SearchItems/ISearchItemsController.js.map +1 -0
  164. package/Presentation/TrashBin/controllers/SearchItems/SearchItemsController.d.ts +8 -0
  165. package/Presentation/TrashBin/controllers/SearchItems/SearchItemsController.js +14 -0
  166. package/Presentation/TrashBin/controllers/SearchItems/SearchItemsController.js.map +1 -0
  167. package/Presentation/TrashBin/controllers/SearchItems/index.d.ts +2 -0
  168. package/Presentation/TrashBin/controllers/SearchItems/index.js +4 -0
  169. package/Presentation/TrashBin/controllers/SearchItems/index.js.map +1 -0
  170. package/Presentation/TrashBin/controllers/SelectAllItems/ISelectAllItemsController.d.ts +3 -0
  171. package/Presentation/TrashBin/controllers/SelectAllItems/ISelectAllItemsController.js +3 -0
  172. package/Presentation/TrashBin/controllers/SelectAllItems/ISelectAllItemsController.js.map +1 -0
  173. package/Presentation/TrashBin/controllers/SelectAllItems/SelectAllItemsController.d.ts +7 -0
  174. package/Presentation/TrashBin/controllers/SelectAllItems/SelectAllItemsController.js +11 -0
  175. package/Presentation/TrashBin/controllers/SelectAllItems/SelectAllItemsController.js.map +1 -0
  176. package/Presentation/TrashBin/controllers/SelectAllItems/index.d.ts +2 -0
  177. package/Presentation/TrashBin/controllers/SelectAllItems/index.js +4 -0
  178. package/Presentation/TrashBin/controllers/SelectAllItems/index.js.map +1 -0
  179. package/Presentation/TrashBin/controllers/SelectItems/ISelectItemsController.d.ts +4 -0
  180. package/Presentation/TrashBin/controllers/SelectItems/ISelectItemsController.js +3 -0
  181. package/Presentation/TrashBin/controllers/SelectItems/ISelectItemsController.js.map +1 -0
  182. package/Presentation/TrashBin/controllers/SelectItems/SelectItemsController.d.ts +8 -0
  183. package/Presentation/TrashBin/controllers/SelectItems/SelectItemsController.js +13 -0
  184. package/Presentation/TrashBin/controllers/SelectItems/SelectItemsController.js.map +1 -0
  185. package/Presentation/TrashBin/controllers/SelectItems/index.d.ts +2 -0
  186. package/Presentation/TrashBin/controllers/SelectItems/index.js +4 -0
  187. package/Presentation/TrashBin/controllers/SelectItems/index.js.map +1 -0
  188. package/Presentation/TrashBin/controllers/SortItems/ISortItemsController.d.ts +4 -0
  189. package/Presentation/TrashBin/controllers/SortItems/ISortItemsController.js +3 -0
  190. package/Presentation/TrashBin/controllers/SortItems/ISortItemsController.js.map +1 -0
  191. package/Presentation/TrashBin/controllers/SortItems/SortItemsController.d.ts +9 -0
  192. package/Presentation/TrashBin/controllers/SortItems/SortItemsController.js +19 -0
  193. package/Presentation/TrashBin/controllers/SortItems/SortItemsController.js.map +1 -0
  194. package/Presentation/TrashBin/controllers/SortItems/index.d.ts +2 -0
  195. package/Presentation/TrashBin/controllers/SortItems/index.js +4 -0
  196. package/Presentation/TrashBin/controllers/SortItems/index.js.map +1 -0
  197. package/Presentation/TrashBin/controllers/UnselectAllItems/IUnselectAllItemsController.d.ts +3 -0
  198. package/Presentation/TrashBin/controllers/UnselectAllItems/IUnselectAllItemsController.js +3 -0
  199. package/Presentation/TrashBin/controllers/UnselectAllItems/IUnselectAllItemsController.js.map +1 -0
  200. package/Presentation/TrashBin/controllers/UnselectAllItems/UnselectAllItemsController.d.ts +7 -0
  201. package/Presentation/TrashBin/controllers/UnselectAllItems/UnselectAllItemsController.js +11 -0
  202. package/Presentation/TrashBin/controllers/UnselectAllItems/UnselectAllItemsController.js.map +1 -0
  203. package/Presentation/TrashBin/controllers/UnselectAllItems/index.d.ts +2 -0
  204. package/Presentation/TrashBin/controllers/UnselectAllItems/index.js +4 -0
  205. package/Presentation/TrashBin/controllers/UnselectAllItems/index.js.map +1 -0
  206. package/Presentation/TrashBin/controllers/index.d.ts +11 -0
  207. package/Presentation/TrashBin/controllers/index.js +13 -0
  208. package/Presentation/TrashBin/controllers/index.js.map +1 -0
  209. package/Presentation/TrashBin/index.d.ts +1 -0
  210. package/Presentation/TrashBin/index.js +3 -0
  211. package/Presentation/TrashBin/index.js.map +1 -0
  212. package/Presentation/TrashBinConfigs/TrashBinConfigs.d.ts +2 -0
  213. package/Presentation/TrashBinConfigs/TrashBinConfigs.js +57 -0
  214. package/Presentation/TrashBinConfigs/TrashBinConfigs.js.map +1 -0
  215. package/Presentation/TrashBinConfigs/index.d.ts +1 -0
  216. package/Presentation/TrashBinConfigs/index.js +3 -0
  217. package/Presentation/TrashBinConfigs/index.js.map +1 -0
  218. package/Presentation/TrashBinRenderer/TrashBinRenderer.d.ts +9 -0
  219. package/Presentation/TrashBinRenderer/TrashBinRenderer.js +21 -0
  220. package/Presentation/TrashBinRenderer/TrashBinRenderer.js.map +1 -0
  221. package/Presentation/TrashBinRenderer/index.d.ts +1 -0
  222. package/Presentation/TrashBinRenderer/index.js +3 -0
  223. package/Presentation/TrashBinRenderer/index.js.map +1 -0
  224. package/Presentation/abstractions/ITrashBinControllers.d.ts +15 -0
  225. package/Presentation/abstractions/ITrashBinControllers.js +3 -0
  226. package/Presentation/abstractions/ITrashBinControllers.js.map +1 -0
  227. package/Presentation/abstractions/ITrashBinPresenter.d.ts +22 -0
  228. package/Presentation/abstractions/ITrashBinPresenter.js +3 -0
  229. package/Presentation/abstractions/ITrashBinPresenter.js.map +1 -0
  230. package/Presentation/abstractions/index.d.ts +2 -0
  231. package/Presentation/abstractions/index.js +4 -0
  232. package/Presentation/abstractions/index.js.map +1 -0
  233. package/Presentation/components/Actions/DeleteItem/DeleteItem.d.ts +2 -0
  234. package/Presentation/components/Actions/DeleteItem/DeleteItem.js +25 -0
  235. package/Presentation/components/Actions/DeleteItem/DeleteItem.js.map +1 -0
  236. package/Presentation/components/Actions/DeleteItem/index.d.ts +1 -0
  237. package/Presentation/components/Actions/DeleteItem/index.js +3 -0
  238. package/Presentation/components/Actions/DeleteItem/index.js.map +1 -0
  239. package/Presentation/components/Actions/RestoreItem/RestoreItem.d.ts +2 -0
  240. package/Presentation/components/Actions/RestoreItem/RestoreItem.js +24 -0
  241. package/Presentation/components/Actions/RestoreItem/RestoreItem.js.map +1 -0
  242. package/Presentation/components/Actions/RestoreItem/index.d.ts +1 -0
  243. package/Presentation/components/Actions/RestoreItem/index.js +3 -0
  244. package/Presentation/components/Actions/RestoreItem/index.js.map +1 -0
  245. package/Presentation/components/Actions/index.d.ts +2 -0
  246. package/Presentation/components/Actions/index.js +4 -0
  247. package/Presentation/components/Actions/index.js.map +1 -0
  248. package/Presentation/components/BottomInfoBar/BottomInfoBar.d.ts +2 -0
  249. package/Presentation/components/BottomInfoBar/BottomInfoBar.js +24 -0
  250. package/Presentation/components/BottomInfoBar/BottomInfoBar.js.map +1 -0
  251. package/Presentation/components/BottomInfoBar/ListMeta.d.ts +7 -0
  252. package/Presentation/components/BottomInfoBar/ListMeta.js +17 -0
  253. package/Presentation/components/BottomInfoBar/ListMeta.js.map +1 -0
  254. package/Presentation/components/BottomInfoBar/ListStatus.d.ts +5 -0
  255. package/Presentation/components/BottomInfoBar/ListStatus.js +20 -0
  256. package/Presentation/components/BottomInfoBar/ListStatus.js.map +1 -0
  257. package/Presentation/components/BottomInfoBar/index.d.ts +1 -0
  258. package/Presentation/components/BottomInfoBar/index.js +3 -0
  259. package/Presentation/components/BottomInfoBar/index.js.map +1 -0
  260. package/Presentation/components/BulkActions/BulkActions/BulkActions.d.ts +3 -0
  261. package/Presentation/components/BulkActions/BulkActions/BulkActions.js +63 -0
  262. package/Presentation/components/BulkActions/BulkActions/BulkActions.js.map +1 -0
  263. package/Presentation/components/BulkActions/BulkActions/index.d.ts +1 -0
  264. package/Presentation/components/BulkActions/BulkActions/index.js +3 -0
  265. package/Presentation/components/BulkActions/BulkActions/index.js.map +1 -0
  266. package/Presentation/components/BulkActions/DeleteItems/DeleteItems.d.ts +4 -0
  267. package/Presentation/components/BulkActions/DeleteItems/DeleteItems.js +83 -0
  268. package/Presentation/components/BulkActions/DeleteItems/DeleteItems.js.map +1 -0
  269. package/Presentation/components/BulkActions/DeleteItems/index.d.ts +1 -0
  270. package/Presentation/components/BulkActions/DeleteItems/index.js +3 -0
  271. package/Presentation/components/BulkActions/DeleteItems/index.js.map +1 -0
  272. package/Presentation/components/BulkActions/RestoreItems/RestoreItems.d.ts +4 -0
  273. package/Presentation/components/BulkActions/RestoreItems/RestoreItems.js +94 -0
  274. package/Presentation/components/BulkActions/RestoreItems/RestoreItems.js.map +1 -0
  275. package/Presentation/components/BulkActions/RestoreItems/RestoreItemsReportMessage.d.ts +5 -0
  276. package/Presentation/components/BulkActions/RestoreItems/RestoreItemsReportMessage.js +13 -0
  277. package/Presentation/components/BulkActions/RestoreItems/RestoreItemsReportMessage.js.map +1 -0
  278. package/Presentation/components/BulkActions/RestoreItems/index.d.ts +1 -0
  279. package/Presentation/components/BulkActions/RestoreItems/index.js +3 -0
  280. package/Presentation/components/BulkActions/RestoreItems/index.js.map +1 -0
  281. package/Presentation/components/BulkActions/index.d.ts +3 -0
  282. package/Presentation/components/BulkActions/index.js +5 -0
  283. package/Presentation/components/BulkActions/index.js.map +1 -0
  284. package/Presentation/components/Cells/CellActions/CellActions.d.ts +2 -0
  285. package/Presentation/components/Cells/CellActions/CellActions.js +24 -0
  286. package/Presentation/components/Cells/CellActions/CellActions.js.map +1 -0
  287. package/Presentation/components/Cells/CellActions/index.d.ts +1 -0
  288. package/Presentation/components/Cells/CellActions/index.js +3 -0
  289. package/Presentation/components/Cells/CellActions/index.js.map +1 -0
  290. package/Presentation/components/Cells/CellCreatedBy/CellCreatedBy.d.ts +2 -0
  291. package/Presentation/components/Cells/CellCreatedBy/CellCreatedBy.js +13 -0
  292. package/Presentation/components/Cells/CellCreatedBy/CellCreatedBy.js.map +1 -0
  293. package/Presentation/components/Cells/CellCreatedBy/index.d.ts +1 -0
  294. package/Presentation/components/Cells/CellCreatedBy/index.js +3 -0
  295. package/Presentation/components/Cells/CellCreatedBy/index.js.map +1 -0
  296. package/Presentation/components/Cells/CellDeletedBy/CellDeletedBy.d.ts +2 -0
  297. package/Presentation/components/Cells/CellDeletedBy/CellDeletedBy.js +13 -0
  298. package/Presentation/components/Cells/CellDeletedBy/CellDeletedBy.js.map +1 -0
  299. package/Presentation/components/Cells/CellDeletedBy/index.d.ts +1 -0
  300. package/Presentation/components/Cells/CellDeletedBy/index.js +3 -0
  301. package/Presentation/components/Cells/CellDeletedBy/index.js.map +1 -0
  302. package/Presentation/components/Cells/CellDeletedOn/CellDeletedOn.d.ts +2 -0
  303. package/Presentation/components/Cells/CellDeletedOn/CellDeletedOn.js +16 -0
  304. package/Presentation/components/Cells/CellDeletedOn/CellDeletedOn.js.map +1 -0
  305. package/Presentation/components/Cells/CellDeletedOn/index.d.ts +1 -0
  306. package/Presentation/components/Cells/CellDeletedOn/index.js +3 -0
  307. package/Presentation/components/Cells/CellDeletedOn/index.js.map +1 -0
  308. package/Presentation/components/Cells/CellTitle/CellTitle.d.ts +2 -0
  309. package/Presentation/components/Cells/CellTitle/CellTitle.js +24 -0
  310. package/Presentation/components/Cells/CellTitle/CellTitle.js.map +1 -0
  311. package/Presentation/components/Cells/CellTitle/index.d.ts +1 -0
  312. package/Presentation/components/Cells/CellTitle/index.js +3 -0
  313. package/Presentation/components/Cells/CellTitle/index.js.map +1 -0
  314. package/Presentation/components/Cells/index.d.ts +5 -0
  315. package/Presentation/components/Cells/index.js +7 -0
  316. package/Presentation/components/Cells/index.js.map +1 -0
  317. package/Presentation/components/Empty/Empty.d.ts +2 -0
  318. package/Presentation/components/Empty/Empty.js +25 -0
  319. package/Presentation/components/Empty/Empty.js.map +1 -0
  320. package/Presentation/components/Empty/index.d.ts +1 -0
  321. package/Presentation/components/Empty/index.js +3 -0
  322. package/Presentation/components/Empty/index.js.map +1 -0
  323. package/Presentation/components/SearchInput/SearchInput.d.ts +2 -0
  324. package/Presentation/components/SearchInput/SearchInput.js +37 -0
  325. package/Presentation/components/SearchInput/SearchInput.js.map +1 -0
  326. package/Presentation/components/SearchInput/index.d.ts +1 -0
  327. package/Presentation/components/SearchInput/index.js +3 -0
  328. package/Presentation/components/SearchInput/index.js.map +1 -0
  329. package/Presentation/components/Table/Table.d.ts +2 -0
  330. package/Presentation/components/Table/Table.js +29 -0
  331. package/Presentation/components/Table/Table.js.map +1 -0
  332. package/Presentation/components/Table/index.d.ts +1 -0
  333. package/Presentation/components/Table/index.js +3 -0
  334. package/Presentation/components/Table/index.js.map +1 -0
  335. package/Presentation/components/Title/Title.d.ts +5 -0
  336. package/Presentation/components/Title/Title.js +14 -0
  337. package/Presentation/components/Title/Title.js.map +1 -0
  338. package/Presentation/components/Title/index.d.ts +1 -0
  339. package/Presentation/components/Title/index.js +3 -0
  340. package/Presentation/components/Title/index.js.map +1 -0
  341. package/Presentation/components/TrashBinOverlay/TrashBinOverlay.d.ts +7 -0
  342. package/Presentation/components/TrashBinOverlay/TrashBinOverlay.js +37 -0
  343. package/Presentation/components/TrashBinOverlay/TrashBinOverlay.js.map +1 -0
  344. package/Presentation/components/TrashBinOverlay/index.d.ts +1 -0
  345. package/Presentation/components/TrashBinOverlay/index.js +3 -0
  346. package/Presentation/components/TrashBinOverlay/index.js.map +1 -0
  347. package/Presentation/configs/index.d.ts +1 -0
  348. package/Presentation/configs/index.js +3 -0
  349. package/Presentation/configs/index.js.map +1 -0
  350. package/Presentation/configs/list/Browser/BulkAction.d.ts +29 -0
  351. package/Presentation/configs/list/Browser/BulkAction.js +73 -0
  352. package/Presentation/configs/list/Browser/BulkAction.js.map +1 -0
  353. package/Presentation/configs/list/Browser/EntryAction.d.ts +7 -0
  354. package/Presentation/configs/list/Browser/EntryAction.js +16 -0
  355. package/Presentation/configs/list/Browser/EntryAction.js.map +1 -0
  356. package/Presentation/configs/list/Browser/Table/Column.d.ts +14 -0
  357. package/Presentation/configs/list/Browser/Table/Column.js +14 -0
  358. package/Presentation/configs/list/Browser/Table/Column.js.map +1 -0
  359. package/Presentation/configs/list/Browser/Table/Sorting.d.ts +5 -0
  360. package/Presentation/configs/list/Browser/Table/Sorting.js +10 -0
  361. package/Presentation/configs/list/Browser/Table/Sorting.js.map +1 -0
  362. package/Presentation/configs/list/Browser/Table/index.d.ts +19 -0
  363. package/Presentation/configs/list/Browser/Table/index.js +8 -0
  364. package/Presentation/configs/list/Browser/Table/index.js.map +1 -0
  365. package/Presentation/configs/list/Browser/index.d.ts +39 -0
  366. package/Presentation/configs/list/Browser/index.js +10 -0
  367. package/Presentation/configs/list/Browser/index.js.map +1 -0
  368. package/Presentation/configs/list/TrashBinListConfig.d.ts +46 -0
  369. package/Presentation/configs/list/TrashBinListConfig.js +29 -0
  370. package/Presentation/configs/list/TrashBinListConfig.js.map +1 -0
  371. package/Presentation/configs/list/index.d.ts +1 -0
  372. package/Presentation/configs/list/index.js +3 -0
  373. package/Presentation/configs/list/index.js.map +1 -0
  374. package/Presentation/hooks/index.d.ts +4 -0
  375. package/Presentation/hooks/index.js +6 -0
  376. package/Presentation/hooks/index.js.map +1 -0
  377. package/Presentation/hooks/useDeleteTrashBinItem.d.ts +8 -0
  378. package/Presentation/hooks/useDeleteTrashBinItem.js +32 -0
  379. package/Presentation/hooks/useDeleteTrashBinItem.js.map +1 -0
  380. package/Presentation/hooks/useRestoreTrashBinItem.d.ts +8 -0
  381. package/Presentation/hooks/useRestoreTrashBinItem.js +41 -0
  382. package/Presentation/hooks/useRestoreTrashBinItem.js.map +1 -0
  383. package/Presentation/hooks/useTrashBin.d.ts +31 -0
  384. package/Presentation/hooks/useTrashBin.js +49 -0
  385. package/Presentation/hooks/useTrashBin.js.map +1 -0
  386. package/Presentation/hooks/useTrashBinItem.d.ts +12 -0
  387. package/Presentation/hooks/useTrashBinItem.js +9 -0
  388. package/Presentation/hooks/useTrashBinItem.js.map +1 -0
  389. package/Presentation/index.d.ts +26 -0
  390. package/Presentation/index.js +51 -0
  391. package/Presentation/index.js.map +1 -0
  392. package/README.md +17 -0
  393. package/UseCases/BulkAction/BulkActionUseCase.d.ts +8 -0
  394. package/UseCases/BulkAction/BulkActionUseCase.js +12 -0
  395. package/UseCases/BulkAction/BulkActionUseCase.js.map +1 -0
  396. package/UseCases/BulkAction/IBulkActionUseCase.d.ts +4 -0
  397. package/UseCases/BulkAction/IBulkActionUseCase.js +3 -0
  398. package/UseCases/BulkAction/IBulkActionUseCase.js.map +1 -0
  399. package/UseCases/BulkAction/index.d.ts +2 -0
  400. package/UseCases/BulkAction/index.js +4 -0
  401. package/UseCases/BulkAction/index.js.map +1 -0
  402. package/UseCases/DeleteItem/DeleteItemUseCase.d.ts +7 -0
  403. package/UseCases/DeleteItem/DeleteItemUseCase.js +12 -0
  404. package/UseCases/DeleteItem/DeleteItemUseCase.js.map +1 -0
  405. package/UseCases/DeleteItem/IDeleteItemUseCase.d.ts +3 -0
  406. package/UseCases/DeleteItem/IDeleteItemUseCase.js +3 -0
  407. package/UseCases/DeleteItem/IDeleteItemUseCase.js.map +1 -0
  408. package/UseCases/DeleteItem/index.d.ts +2 -0
  409. package/UseCases/DeleteItem/index.js +4 -0
  410. package/UseCases/DeleteItem/index.js.map +1 -0
  411. package/UseCases/GetRestoredItem/GetRestoredItemUseCase.d.ts +7 -0
  412. package/UseCases/GetRestoredItem/GetRestoredItemUseCase.js +13 -0
  413. package/UseCases/GetRestoredItem/GetRestoredItemUseCase.js.map +1 -0
  414. package/UseCases/GetRestoredItem/IGetRestoredItemUseCase.d.ts +4 -0
  415. package/UseCases/GetRestoredItem/IGetRestoredItemUseCase.js +3 -0
  416. package/UseCases/GetRestoredItem/IGetRestoredItemUseCase.js.map +1 -0
  417. package/UseCases/GetRestoredItem/index.d.ts +2 -0
  418. package/UseCases/GetRestoredItem/index.js +4 -0
  419. package/UseCases/GetRestoredItem/index.js.map +1 -0
  420. package/UseCases/ListItems/IListItemsUseCase.d.ts +4 -0
  421. package/UseCases/ListItems/IListItemsUseCase.js +3 -0
  422. package/UseCases/ListItems/IListItemsUseCase.js.map +1 -0
  423. package/UseCases/ListItems/ListItemsUseCase.d.ts +8 -0
  424. package/UseCases/ListItems/ListItemsUseCase.js +14 -0
  425. package/UseCases/ListItems/ListItemsUseCase.js.map +1 -0
  426. package/UseCases/ListItems/ListItemsUseCaseWithSearch.d.ts +9 -0
  427. package/UseCases/ListItems/ListItemsUseCaseWithSearch.js +17 -0
  428. package/UseCases/ListItems/ListItemsUseCaseWithSearch.js.map +1 -0
  429. package/UseCases/ListItems/ListItemsUseCaseWithSorting.d.ts +9 -0
  430. package/UseCases/ListItems/ListItemsUseCaseWithSorting.js +18 -0
  431. package/UseCases/ListItems/ListItemsUseCaseWithSorting.js.map +1 -0
  432. package/UseCases/ListItems/index.d.ts +4 -0
  433. package/UseCases/ListItems/index.js +6 -0
  434. package/UseCases/ListItems/index.js.map +1 -0
  435. package/UseCases/ListMoreItems/IListMoreItemsUseCase.d.ts +3 -0
  436. package/UseCases/ListMoreItems/IListMoreItemsUseCase.js +3 -0
  437. package/UseCases/ListMoreItems/IListMoreItemsUseCase.js.map +1 -0
  438. package/UseCases/ListMoreItems/ListMoreItemsUseCase.d.ts +7 -0
  439. package/UseCases/ListMoreItems/ListMoreItemsUseCase.js +12 -0
  440. package/UseCases/ListMoreItems/ListMoreItemsUseCase.js.map +1 -0
  441. package/UseCases/ListMoreItems/index.d.ts +2 -0
  442. package/UseCases/ListMoreItems/index.js +4 -0
  443. package/UseCases/ListMoreItems/index.js.map +1 -0
  444. package/UseCases/RestoreItem/IRestoreItemUseCase.d.ts +3 -0
  445. package/UseCases/RestoreItem/IRestoreItemUseCase.js +3 -0
  446. package/UseCases/RestoreItem/IRestoreItemUseCase.js.map +1 -0
  447. package/UseCases/RestoreItem/RestoreItemUseCase.d.ts +7 -0
  448. package/UseCases/RestoreItem/RestoreItemUseCase.js +12 -0
  449. package/UseCases/RestoreItem/RestoreItemUseCase.js.map +1 -0
  450. package/UseCases/RestoreItem/index.d.ts +2 -0
  451. package/UseCases/RestoreItem/index.js +4 -0
  452. package/UseCases/RestoreItem/index.js.map +1 -0
  453. package/UseCases/SearchItems/ISearchItemsUseCase.d.ts +3 -0
  454. package/UseCases/SearchItems/ISearchItemsUseCase.js +3 -0
  455. package/UseCases/SearchItems/ISearchItemsUseCase.js.map +1 -0
  456. package/UseCases/SearchItems/SearchItemsUseCase.d.ts +7 -0
  457. package/UseCases/SearchItems/SearchItemsUseCase.js +12 -0
  458. package/UseCases/SearchItems/SearchItemsUseCase.js.map +1 -0
  459. package/UseCases/SearchItems/index.d.ts +2 -0
  460. package/UseCases/SearchItems/index.js +4 -0
  461. package/UseCases/SearchItems/index.js.map +1 -0
  462. package/UseCases/SelectAllItems/ISelectAllItemsUseCase.d.ts +3 -0
  463. package/UseCases/SelectAllItems/ISelectAllItemsUseCase.js +3 -0
  464. package/UseCases/SelectAllItems/ISelectAllItemsUseCase.js.map +1 -0
  465. package/UseCases/SelectAllItems/SelectAllItemsUseCase.d.ts +7 -0
  466. package/UseCases/SelectAllItems/SelectAllItemsUseCase.js +12 -0
  467. package/UseCases/SelectAllItems/SelectAllItemsUseCase.js.map +1 -0
  468. package/UseCases/SelectAllItems/index.d.ts +2 -0
  469. package/UseCases/SelectAllItems/index.js +4 -0
  470. package/UseCases/SelectAllItems/index.js.map +1 -0
  471. package/UseCases/SelectItems/ISelectItemsUseCase.d.ts +4 -0
  472. package/UseCases/SelectItems/ISelectItemsUseCase.js +3 -0
  473. package/UseCases/SelectItems/ISelectItemsUseCase.js.map +1 -0
  474. package/UseCases/SelectItems/SelectItemsUseCase.d.ts +7 -0
  475. package/UseCases/SelectItems/SelectItemsUseCase.js +12 -0
  476. package/UseCases/SelectItems/SelectItemsUseCase.js.map +1 -0
  477. package/UseCases/SelectItems/index.d.ts +2 -0
  478. package/UseCases/SelectItems/index.js +4 -0
  479. package/UseCases/SelectItems/index.js.map +1 -0
  480. package/UseCases/SortItems/ISortItemsUseCase.d.ts +4 -0
  481. package/UseCases/SortItems/ISortItemsUseCase.js +3 -0
  482. package/UseCases/SortItems/ISortItemsUseCase.js.map +1 -0
  483. package/UseCases/SortItems/SortItemsUseCase.d.ts +7 -0
  484. package/UseCases/SortItems/SortItemsUseCase.js +12 -0
  485. package/UseCases/SortItems/SortItemsUseCase.js.map +1 -0
  486. package/UseCases/SortItems/index.d.ts +2 -0
  487. package/UseCases/SortItems/index.js +4 -0
  488. package/UseCases/SortItems/index.js.map +1 -0
  489. package/UseCases/UnSelectAllItems/IUnselectAllItemsUseCase.d.ts +3 -0
  490. package/UseCases/UnSelectAllItems/IUnselectAllItemsUseCase.js +3 -0
  491. package/UseCases/UnSelectAllItems/IUnselectAllItemsUseCase.js.map +1 -0
  492. package/UseCases/UnSelectAllItems/UnselectAllItemsUseCase.d.ts +7 -0
  493. package/UseCases/UnSelectAllItems/UnselectAllItemsUseCase.js +12 -0
  494. package/UseCases/UnSelectAllItems/UnselectAllItemsUseCase.js.map +1 -0
  495. package/UseCases/UnSelectAllItems/index.d.ts +2 -0
  496. package/UseCases/UnSelectAllItems/index.js +4 -0
  497. package/UseCases/UnSelectAllItems/index.js.map +1 -0
  498. package/UseCases/index.d.ts +11 -0
  499. package/UseCases/index.js +13 -0
  500. package/UseCases/index.js.map +1 -0
  501. package/index.d.ts +3 -0
  502. package/index.js +5 -0
  503. package/index.js.map +1 -0
  504. package/package.json +46 -0
  505. package/types.d.ts +43 -0
  506. package/types.js +9 -0
  507. package/types.js.map +1 -0
@@ -0,0 +1,822 @@
1
+ import { TrashBinPresenter } from "./TrashBinPresenter";
2
+ import { LoadingRepository, MetaRepository, SortingRepository } from "@webiny/app-utils";
3
+ import { LoadingActions } from "../../types";
4
+ import { TrashBinControllers } from "./TrashBinControllers";
5
+ import { SearchRepository } from "../../Domain/Repositories/Search";
6
+ import { SelectedItemsRepository } from "../../Domain/Repositories/SelectedItems";
7
+ import { SortingRepositoryWithDefaults } from "../../Domain/Repositories/Sorting";
8
+ import { TrashBinItemsRepository, TrashBinItemsRepositoryWithLoading } from "../../Domain/Repositories/TrashBinItems";
9
+ const identity1 = {
10
+ id: "1234",
11
+ displayName: "John Doe",
12
+ type: "admin"
13
+ };
14
+ const identity2 = {
15
+ id: "5678",
16
+ displayName: "Jane Doe",
17
+ type: "admin"
18
+ };
19
+ const createBinListGateway = ({
20
+ execute
21
+ }) => ({
22
+ execute
23
+ });
24
+ const createBinDeleteItemGateway = ({
25
+ execute
26
+ }) => ({
27
+ execute
28
+ });
29
+ const createBinRestoreItemGateway = ({
30
+ execute
31
+ }) => ({
32
+ execute
33
+ });
34
+ const createBinBulkActionsGateway = ({
35
+ execute
36
+ }) => ({
37
+ execute
38
+ });
39
+ class CustomItemMapper {
40
+ toDTO(data) {
41
+ return {
42
+ id: data.id,
43
+ title: data.title,
44
+ location: data.location,
45
+ createdBy: data.createdBy,
46
+ deletedOn: data.deletedOn,
47
+ deletedBy: data.deletedBy
48
+ };
49
+ }
50
+ }
51
+ const defaultSorting = [{
52
+ field: "deletedOn",
53
+ order: "desc"
54
+ }];
55
+ describe("TrashBin", () => {
56
+ const item1 = {
57
+ id: "item-1",
58
+ title: "Item 1",
59
+ location: {
60
+ folderId: "folder-a"
61
+ },
62
+ createdBy: identity1,
63
+ deletedBy: identity2,
64
+ deletedOn: new Date().toString(),
65
+ custom: "any custom data"
66
+ };
67
+ const item2 = {
68
+ id: "item-2",
69
+ title: "Item 2",
70
+ location: {
71
+ folderId: "folder-a"
72
+ },
73
+ createdBy: identity1,
74
+ deletedBy: identity1,
75
+ deletedOn: new Date().toString(),
76
+ custom: "any custom data"
77
+ };
78
+ const item3 = {
79
+ id: "item-3",
80
+ title: "Item 3",
81
+ location: {
82
+ folderId: "folder-b"
83
+ },
84
+ createdBy: identity2,
85
+ deletedBy: identity2,
86
+ deletedOn: new Date().toString(),
87
+ custom: "any custom data"
88
+ };
89
+ const item4 = {
90
+ id: "item-4",
91
+ title: "Item 4",
92
+ location: {
93
+ folderId: "folder-b"
94
+ },
95
+ createdBy: identity1,
96
+ deletedBy: identity1,
97
+ deletedOn: new Date().toString(),
98
+ custom: "any custom data"
99
+ };
100
+ const listGateway = createBinListGateway({
101
+ execute: jest.fn().mockImplementation(() => {
102
+ return Promise.resolve([[item1, item2, item3], {
103
+ totalCount: 3,
104
+ cursor: null,
105
+ hasMoreItems: false
106
+ }]);
107
+ })
108
+ });
109
+ const deleteItemGateway = createBinDeleteItemGateway({
110
+ execute: jest.fn().mockImplementation(() => {
111
+ return Promise.resolve(true);
112
+ })
113
+ });
114
+ const restoreItemGateway = createBinRestoreItemGateway({
115
+ execute: jest.fn().mockImplementation(() => {
116
+ return Promise.resolve(item1);
117
+ })
118
+ });
119
+ const bulkActionGateway = createBinBulkActionsGateway({
120
+ execute: jest.fn().mockImplementation(() => {
121
+ return Promise.resolve({
122
+ id: "123456789"
123
+ });
124
+ })
125
+ });
126
+ const itemMapper = new CustomItemMapper();
127
+ const BulkActionDeleteItems = "BulkDeleteItems";
128
+ const BulkActionRestoreItems = "BulkRestoreItems";
129
+ const init = (listGateway, deleteItemGateway, restoreItemGateway, retentionPeriod = 90) => {
130
+ const selectedRepo = new SelectedItemsRepository();
131
+ const loadingRepo = new LoadingRepository();
132
+ const sortRepo = new SortingRepository();
133
+ const sortRepoWithDefaults = new SortingRepositoryWithDefaults(defaultSorting, sortRepo);
134
+ const metaRepo = new MetaRepository();
135
+ const searchRepo = new SearchRepository();
136
+ const trashBinItemsRepo = new TrashBinItemsRepository(metaRepo, listGateway, deleteItemGateway, restoreItemGateway, bulkActionGateway, itemMapper);
137
+ const itemsRepo = new TrashBinItemsRepositoryWithLoading(loadingRepo, trashBinItemsRepo);
138
+ return {
139
+ presenter: new TrashBinPresenter(itemsRepo, selectedRepo, sortRepoWithDefaults, searchRepo, retentionPeriod),
140
+ controllers: new TrashBinControllers(itemsRepo, selectedRepo, sortRepoWithDefaults, searchRepo, BulkActionDeleteItems, BulkActionRestoreItems).getControllers()
141
+ };
142
+ };
143
+ beforeEach(() => {
144
+ jest.clearAllMocks();
145
+ });
146
+ it("should create a presenter and list trash bin entries from the gateway", async () => {
147
+ const {
148
+ presenter,
149
+ controllers
150
+ } = init(listGateway, deleteItemGateway, restoreItemGateway);
151
+ const listPromise = controllers.listItems.execute();
152
+
153
+ // Let's check the transition to loading state
154
+ expect(presenter.vm).toMatchObject({
155
+ items: [],
156
+ loading: {
157
+ [LoadingActions.list]: true
158
+ }
159
+ });
160
+ await listPromise;
161
+ expect(listGateway.execute).toHaveBeenCalledTimes(1);
162
+ expect(listGateway.execute).toHaveBeenCalledWith({
163
+ sort: ["deletedOn_DESC"]
164
+ });
165
+ expect(presenter.vm).toMatchObject({
166
+ items: [{
167
+ id: "item-1",
168
+ $selectable: true,
169
+ title: "Item 1",
170
+ createdBy: identity1,
171
+ deletedBy: identity2,
172
+ deletedOn: expect.any(String)
173
+ }, {
174
+ id: "item-2",
175
+ $selectable: true,
176
+ title: "Item 2",
177
+ createdBy: identity1,
178
+ deletedBy: identity1,
179
+ deletedOn: expect.any(String)
180
+ }, {
181
+ id: "item-3",
182
+ $selectable: true,
183
+ title: "Item 3",
184
+ createdBy: identity2,
185
+ deletedBy: identity2,
186
+ deletedOn: expect.any(String)
187
+ }],
188
+ loading: {
189
+ [LoadingActions.list]: false
190
+ }
191
+ });
192
+ });
193
+ it("should list more items from the gateway", async () => {
194
+ const listGateway = createBinListGateway({
195
+ execute: jest.fn().mockImplementationOnce(() => {
196
+ return Promise.resolve([[item1, item2, item3], {
197
+ totalCount: 4,
198
+ cursor: "IjMi",
199
+ hasMoreItems: true
200
+ }]);
201
+ }).mockImplementationOnce(() => {
202
+ return Promise.resolve([[item4], {
203
+ totalCount: 4,
204
+ cursor: null,
205
+ hasMoreItems: false
206
+ }]);
207
+ })
208
+ });
209
+ const {
210
+ presenter,
211
+ controllers
212
+ } = init(listGateway, deleteItemGateway, restoreItemGateway);
213
+
214
+ // Let's list some initial entries
215
+ await controllers.listItems.execute();
216
+ expect(listGateway.execute).toHaveBeenCalledTimes(1);
217
+
218
+ // Let's list more items from the gateway
219
+ const listMorePromise = controllers.listMoreItems.execute();
220
+ expect(presenter.vm).toMatchObject({
221
+ loading: {
222
+ [LoadingActions.listMore]: true
223
+ }
224
+ });
225
+ await listMorePromise;
226
+ expect(listGateway.execute).toHaveBeenCalledTimes(2);
227
+ expect(listGateway.execute).toHaveBeenCalledWith({
228
+ after: "IjMi",
229
+ search: undefined,
230
+ sort: ["deletedOn_DESC"]
231
+ });
232
+ expect(presenter.vm).toMatchObject({
233
+ items: [{
234
+ id: "item-1",
235
+ $selectable: true,
236
+ title: "Item 1",
237
+ createdBy: identity1,
238
+ deletedBy: identity2,
239
+ deletedOn: expect.any(String)
240
+ }, {
241
+ id: "item-2",
242
+ $selectable: true,
243
+ title: "Item 2",
244
+ createdBy: identity1,
245
+ deletedBy: identity1,
246
+ deletedOn: expect.any(String)
247
+ }, {
248
+ id: "item-3",
249
+ $selectable: true,
250
+ title: "Item 3",
251
+ createdBy: identity2,
252
+ deletedBy: identity2,
253
+ deletedOn: expect.any(String)
254
+ }, {
255
+ id: "item-4",
256
+ $selectable: true,
257
+ title: "Item 4",
258
+ createdBy: identity1,
259
+ deletedBy: identity1,
260
+ deletedOn: expect.any(String)
261
+ }],
262
+ loading: {
263
+ [LoadingActions.listMore]: false
264
+ }
265
+ });
266
+ });
267
+ it("should be able to sort items", async () => {
268
+ const sortListGateway = createBinListGateway({
269
+ execute: jest.fn().mockImplementationOnce(() => {
270
+ return Promise.resolve([[item1, item2, item3], {
271
+ totalCount: 3,
272
+ cursor: null,
273
+ hasMoreItems: false
274
+ }]);
275
+ }).mockImplementation(() => {
276
+ return Promise.resolve([[item3, item2, item1], {
277
+ totalCount: 3,
278
+ cursor: null,
279
+ hasMoreItems: false
280
+ }]);
281
+ })
282
+ });
283
+ const {
284
+ presenter,
285
+ controllers
286
+ } = init(sortListGateway, deleteItemGateway, restoreItemGateway);
287
+
288
+ // let's list some entries from the gateway
289
+ await controllers.listItems.execute();
290
+ expect(sortListGateway.execute).toHaveBeenNthCalledWith(1, {
291
+ sort: ["deletedOn_DESC"]
292
+ });
293
+
294
+ // Let's sort items, it should call back the list gateway to retrieve the items sorted
295
+ await controllers.sortItems.execute(() => [{
296
+ id: "deletedOn",
297
+ desc: false
298
+ }]);
299
+ expect(sortListGateway.execute).toHaveBeenNthCalledWith(2, {
300
+ sort: ["deletedOn_ASC"]
301
+ });
302
+ expect(presenter.vm).toMatchObject({
303
+ items: [{
304
+ id: "item-3",
305
+ $selectable: true,
306
+ title: "Item 3",
307
+ createdBy: identity2,
308
+ deletedBy: identity2,
309
+ deletedOn: expect.any(String)
310
+ }, {
311
+ id: "item-2",
312
+ $selectable: true,
313
+ title: "Item 2",
314
+ createdBy: identity1,
315
+ deletedBy: identity1,
316
+ deletedOn: expect.any(String)
317
+ }, {
318
+ id: "item-1",
319
+ $selectable: true,
320
+ title: "Item 1",
321
+ createdBy: identity1,
322
+ deletedBy: identity2,
323
+ deletedOn: expect.any(String)
324
+ }],
325
+ loading: {
326
+ [LoadingActions.list]: false
327
+ },
328
+ sorting: [{
329
+ id: "deletedOn",
330
+ desc: false
331
+ }]
332
+ });
333
+ });
334
+ it("should be able to search items", async () => {
335
+ const searchItemsGateway = createBinListGateway({
336
+ execute: jest.fn().mockImplementationOnce(() => {
337
+ return Promise.resolve([[item1, item2, item3], {
338
+ totalCount: 3,
339
+ cursor: null,
340
+ hasMoreItems: false
341
+ }]);
342
+ }).mockImplementationOnce(() => {
343
+ return Promise.resolve([[item1], {
344
+ totalCount: 1,
345
+ cursor: null,
346
+ hasMoreItems: false
347
+ }]);
348
+ }).mockImplementationOnce(() => {
349
+ return Promise.resolve([[], {
350
+ totalCount: 0,
351
+ cursor: null,
352
+ hasMoreItems: false
353
+ }]);
354
+ })
355
+ });
356
+ const {
357
+ presenter,
358
+ controllers
359
+ } = init(searchItemsGateway, deleteItemGateway, restoreItemGateway);
360
+
361
+ // let's list some entries from the gateway
362
+ await controllers.listItems.execute();
363
+ expect(searchItemsGateway.execute).toHaveBeenNthCalledWith(1, {
364
+ sort: ["deletedOn_DESC"]
365
+ });
366
+
367
+ // Let's search for items, it should return items from the gateway
368
+ await controllers.searchItems.execute("Item 1");
369
+ expect(searchItemsGateway.execute).toHaveBeenNthCalledWith(2, {
370
+ sort: ["deletedOn_DESC"],
371
+ search: "Item 1"
372
+ });
373
+ expect(presenter.vm).toMatchObject({
374
+ items: [{
375
+ id: "item-1",
376
+ $selectable: true,
377
+ title: "Item 1",
378
+ createdBy: identity1,
379
+ deletedBy: identity2,
380
+ deletedOn: expect.any(String)
381
+ }],
382
+ loading: {
383
+ [LoadingActions.list]: false
384
+ },
385
+ searchQuery: "Item 1"
386
+ });
387
+
388
+ // Let's search for items, it should return no items from the gateway
389
+ await controllers.searchItems.execute("Not found query");
390
+ expect(searchItemsGateway.execute).toHaveBeenNthCalledWith(3, {
391
+ sort: ["deletedOn_DESC"],
392
+ search: "Not found query"
393
+ });
394
+ expect(presenter.vm).toMatchObject({
395
+ items: [],
396
+ loading: {
397
+ [LoadingActions.list]: false
398
+ },
399
+ searchQuery: "Not found query",
400
+ isEmptyView: true
401
+ });
402
+ });
403
+ it("should be able to select items", async () => {
404
+ const {
405
+ presenter,
406
+ controllers
407
+ } = init(listGateway, deleteItemGateway, restoreItemGateway);
408
+
409
+ // let's list some entries from the gateway
410
+ await controllers.listItems.execute();
411
+
412
+ // No selected items found by default
413
+ expect(presenter.vm).toMatchObject({
414
+ selectedItems: []
415
+ });
416
+
417
+ // Let's select the first Item
418
+ await controllers.selectItems.execute([{
419
+ id: "item-1",
420
+ $selectable: true,
421
+ title: "Item 1",
422
+ location: {
423
+ folderId: "folder-a"
424
+ },
425
+ createdBy: identity1,
426
+ deletedBy: identity2,
427
+ deletedOn: new Date().toString()
428
+ }]);
429
+ expect(presenter.vm).toMatchObject({
430
+ selectedItems: [{
431
+ id: "item-1",
432
+ $selectable: true,
433
+ title: "Item 1",
434
+ location: {
435
+ folderId: "folder-a"
436
+ },
437
+ createdBy: identity1,
438
+ deletedBy: identity2,
439
+ deletedOn: expect.any(String)
440
+ }]
441
+ });
442
+
443
+ // Let's select the second item
444
+ await controllers.selectItems.execute([{
445
+ id: "item-1",
446
+ $selectable: true,
447
+ title: "Item 1",
448
+ location: {
449
+ folderId: "folder-a"
450
+ },
451
+ createdBy: identity1,
452
+ deletedBy: identity2,
453
+ deletedOn: new Date().toString()
454
+ }, {
455
+ id: "item-2",
456
+ $selectable: true,
457
+ title: "Item 2",
458
+ location: {
459
+ folderId: "folder-a"
460
+ },
461
+ createdBy: identity1,
462
+ deletedBy: identity1,
463
+ deletedOn: new Date().toString()
464
+ }]);
465
+ expect(presenter.vm).toMatchObject({
466
+ selectedItems: [{
467
+ id: "item-1",
468
+ $selectable: true,
469
+ title: "Item 1",
470
+ location: {
471
+ folderId: "folder-a"
472
+ },
473
+ createdBy: identity1,
474
+ deletedBy: identity2,
475
+ deletedOn: expect.any(String)
476
+ }, {
477
+ id: "item-2",
478
+ $selectable: true,
479
+ title: "Item 2",
480
+ location: {
481
+ folderId: "folder-a"
482
+ },
483
+ createdBy: identity1,
484
+ deletedBy: identity1,
485
+ deletedOn: expect.any(String)
486
+ }]
487
+ });
488
+ });
489
+ it("should delete an item, removing it from the list", async () => {
490
+ const {
491
+ presenter,
492
+ controllers
493
+ } = init(listGateway, deleteItemGateway, restoreItemGateway);
494
+
495
+ // let's list some entries from the gateway
496
+ await controllers.listItems.execute();
497
+ expect(listGateway.execute).toHaveBeenCalledTimes(1);
498
+ expect(presenter.vm).toMatchObject({
499
+ items: [{
500
+ id: "item-1",
501
+ $selectable: true,
502
+ title: "Item 1",
503
+ location: {
504
+ folderId: "folder-a"
505
+ },
506
+ createdBy: identity1,
507
+ deletedBy: identity2,
508
+ deletedOn: expect.any(String)
509
+ }, {
510
+ id: "item-2",
511
+ $selectable: true,
512
+ title: "Item 2",
513
+ location: {
514
+ folderId: "folder-a"
515
+ },
516
+ createdBy: identity1,
517
+ deletedBy: identity1,
518
+ deletedOn: expect.any(String)
519
+ }, {
520
+ id: "item-3",
521
+ $selectable: true,
522
+ title: "Item 3",
523
+ location: {
524
+ folderId: "folder-b"
525
+ },
526
+ createdBy: identity2,
527
+ deletedBy: identity2,
528
+ deletedOn: expect.any(String)
529
+ }]
530
+ });
531
+ const deletePromise = controllers.deleteItem.execute(item1.id);
532
+
533
+ // Let's check the transition to loading state
534
+ expect(presenter.vm).toMatchObject({
535
+ loading: {
536
+ [LoadingActions.delete]: true
537
+ }
538
+ });
539
+ await deletePromise;
540
+ expect(deleteItemGateway.execute).toHaveBeenCalledTimes(1);
541
+ expect(deleteItemGateway.execute).toHaveBeenCalledWith(item1.id);
542
+ expect(presenter.vm).toMatchObject({
543
+ items: [{
544
+ id: "item-2",
545
+ $selectable: true,
546
+ title: "Item 2",
547
+ location: {
548
+ folderId: "folder-a"
549
+ },
550
+ createdBy: identity1,
551
+ deletedBy: identity1,
552
+ deletedOn: expect.any(String)
553
+ }, {
554
+ id: "item-3",
555
+ $selectable: true,
556
+ title: "Item 3",
557
+ location: {
558
+ folderId: "folder-b"
559
+ },
560
+ createdBy: identity2,
561
+ deletedBy: identity2,
562
+ deletedOn: expect.any(String)
563
+ }]
564
+ });
565
+ });
566
+ it("should restore an item, removing it from the list", async () => {
567
+ const {
568
+ presenter,
569
+ controllers
570
+ } = init(listGateway, deleteItemGateway, restoreItemGateway);
571
+
572
+ // let's list some entries from the gateway
573
+ await controllers.listItems.execute();
574
+ expect(listGateway.execute).toHaveBeenCalledTimes(1);
575
+ expect(presenter.vm).toMatchObject({
576
+ items: [{
577
+ id: "item-1",
578
+ $selectable: true,
579
+ title: "Item 1",
580
+ location: {
581
+ folderId: "folder-a"
582
+ },
583
+ createdBy: identity1,
584
+ deletedBy: identity2,
585
+ deletedOn: expect.any(String)
586
+ }, {
587
+ id: "item-2",
588
+ $selectable: true,
589
+ title: "Item 2",
590
+ location: {
591
+ folderId: "folder-a"
592
+ },
593
+ createdBy: identity1,
594
+ deletedBy: identity1,
595
+ deletedOn: expect.any(String)
596
+ }, {
597
+ id: "item-3",
598
+ $selectable: true,
599
+ title: "Item 3",
600
+ location: {
601
+ folderId: "folder-b"
602
+ },
603
+ createdBy: identity2,
604
+ deletedBy: identity2,
605
+ deletedOn: expect.any(String)
606
+ }]
607
+ });
608
+ const restorePromise = controllers.restoreItem.execute(item1.id);
609
+
610
+ // Let's check the transition to loading state
611
+ expect(presenter.vm).toMatchObject({
612
+ loading: {
613
+ [LoadingActions.restore]: true
614
+ }
615
+ });
616
+ await restorePromise;
617
+ expect(restoreItemGateway.execute).toHaveBeenCalledTimes(1);
618
+ expect(restoreItemGateway.execute).toHaveBeenCalledWith(item1.id);
619
+ expect(presenter.vm).toMatchObject({
620
+ items: [{
621
+ id: "item-2",
622
+ $selectable: true,
623
+ title: "Item 2",
624
+ location: {
625
+ folderId: "folder-a"
626
+ },
627
+ createdBy: identity1,
628
+ deletedBy: identity1,
629
+ deletedOn: expect.any(String)
630
+ }, {
631
+ id: "item-3",
632
+ $selectable: true,
633
+ title: "Item 3",
634
+ location: {
635
+ folderId: "folder-b"
636
+ },
637
+ createdBy: identity2,
638
+ deletedBy: identity2,
639
+ deletedOn: expect.any(String)
640
+ }],
641
+ restoredItems: [{
642
+ id: "item-1",
643
+ $selectable: true,
644
+ title: "Item 1",
645
+ location: {
646
+ folderId: "folder-a"
647
+ },
648
+ createdBy: identity1,
649
+ deletedBy: identity2,
650
+ deletedOn: expect.any(String)
651
+ }]
652
+ });
653
+
654
+ // We should be able to get the restored item by id
655
+ const restoredItem = await controllers.getRestoredItemById.execute("item-1");
656
+ expect(restoredItem).toMatchObject({
657
+ id: "item-1",
658
+ $selectable: true,
659
+ title: "Item 1",
660
+ location: {
661
+ folderId: "folder-a"
662
+ },
663
+ createdBy: identity1,
664
+ deletedBy: identity2,
665
+ deletedOn: expect.any(String)
666
+ });
667
+ });
668
+ it.each([[0, "0 days"], [1, "1 day"], [2, "2 days"]])("should set the retention period to `%s` when input is `%i`", (input, output) => {
669
+ const {
670
+ presenter
671
+ } = init(listGateway, deleteItemGateway, restoreItemGateway, input);
672
+ expect(presenter.vm).toMatchObject({
673
+ retentionPeriod: output
674
+ });
675
+ });
676
+ it("should be able to perform bulk action - RESTORE", async () => {
677
+ const {
678
+ controllers
679
+ } = init(listGateway, deleteItemGateway, restoreItemGateway);
680
+
681
+ // let's list some entries from the gateway
682
+ await controllers.listItems.execute();
683
+ expect(listGateway.execute).toHaveBeenCalledTimes(1);
684
+ const restoreBulkActionPromise = controllers.restoreBulkAction.execute({
685
+ search: "Custom search",
686
+ where: {
687
+ title: "Item title"
688
+ },
689
+ data: {
690
+ any: 1
691
+ }
692
+ });
693
+ await restoreBulkActionPromise;
694
+ expect(bulkActionGateway.execute).toHaveBeenCalledTimes(1);
695
+ expect(bulkActionGateway.execute).toHaveBeenCalledWith({
696
+ action: BulkActionRestoreItems,
697
+ search: "Custom search",
698
+ where: {
699
+ title: "Item title"
700
+ },
701
+ data: {
702
+ any: 1
703
+ }
704
+ });
705
+ });
706
+ it("should be able to perform bulk action - DELETE", async () => {
707
+ const {
708
+ controllers
709
+ } = init(listGateway, deleteItemGateway, restoreItemGateway);
710
+
711
+ // let's list some entries from the gateway
712
+ await controllers.listItems.execute();
713
+ expect(listGateway.execute).toHaveBeenCalledTimes(1);
714
+ const deleteBulkActionPromise = controllers.deleteBulkAction.execute({
715
+ search: "Custom search",
716
+ where: {
717
+ title: "Item title"
718
+ },
719
+ data: {
720
+ any: 1
721
+ }
722
+ });
723
+ await deleteBulkActionPromise;
724
+ expect(bulkActionGateway.execute).toHaveBeenCalledTimes(1);
725
+ expect(bulkActionGateway.execute).toHaveBeenCalledWith({
726
+ action: BulkActionDeleteItems,
727
+ search: "Custom search",
728
+ where: {
729
+ title: "Item title"
730
+ },
731
+ data: {
732
+ any: 1
733
+ }
734
+ });
735
+ });
736
+ it("should be able to `selectAll` and `unselectAll` items", async () => {
737
+ {
738
+ // let's test the functionality by listing items that span multiple pages.
739
+ const listGateway = createBinListGateway({
740
+ execute: jest.fn().mockImplementation(() => {
741
+ return Promise.resolve([[item1, item2, item3], {
742
+ totalCount: 4,
743
+ cursor: "IjMi",
744
+ hasMoreItems: true
745
+ }]);
746
+ })
747
+ });
748
+ const {
749
+ presenter,
750
+ controllers
751
+ } = init(listGateway, deleteItemGateway, restoreItemGateway);
752
+
753
+ // let's list some entries from the gateway
754
+ await controllers.listItems.execute();
755
+ expect(listGateway.execute).toHaveBeenCalledTimes(1);
756
+
757
+ // let's check the initial vm state
758
+ expect(presenter.vm.items.length).toBe(3);
759
+ expect(presenter.vm.selectedItems.length).toBe(0);
760
+ expect(presenter.vm.allowSelectAll).toBeFalsy();
761
+ expect(presenter.vm.isSelectedAll).toBeFalsy();
762
+
763
+ // let's check the vm state after selecting all items on the page
764
+ await controllers.selectItems.execute([item1, item2, item3]);
765
+ expect(presenter.vm.selectedItems.length).toBe(3);
766
+ expect(presenter.vm.allowSelectAll).toBeTruthy();
767
+ expect(presenter.vm.isSelectedAll).toBeFalsy();
768
+
769
+ // let's check the vm state after selecting all items
770
+ await controllers.selectAllItems.execute();
771
+ expect(presenter.vm.selectedItems.length).toBe(3);
772
+ expect(presenter.vm.allowSelectAll).toBeTruthy();
773
+ expect(presenter.vm.isSelectedAll).toBeTruthy();
774
+
775
+ // let's check the vm state after unselecting all items
776
+ await controllers.unselectAllItems.execute();
777
+ expect(presenter.vm.selectedItems.length).toBe(0);
778
+ expect(presenter.vm.allowSelectAll).toBeFalsy();
779
+ expect(presenter.vm.isSelectedAll).toBeFalsy();
780
+
781
+ // let's check the vm state after unselecting one item
782
+ await controllers.selectItems.execute([item1, item2, item3]);
783
+ expect(presenter.vm.selectedItems.length).toBe(3);
784
+ await controllers.selectAllItems.execute();
785
+ expect(presenter.vm.isSelectedAll).toBeTruthy();
786
+ await controllers.selectItems.execute([item1, item2]);
787
+ expect(presenter.vm.isSelectedAll).toBeFalsy();
788
+ expect(presenter.vm.allowSelectAll).toBeFalsy();
789
+ }
790
+ {
791
+ // let's test the functionality by listing items that span only one page.
792
+ const listGateway = createBinListGateway({
793
+ execute: jest.fn().mockImplementation(() => {
794
+ return Promise.resolve([[item1, item2, item3], {
795
+ totalCount: 3,
796
+ cursor: null,
797
+ hasMoreItems: false
798
+ }]);
799
+ })
800
+ });
801
+ const {
802
+ presenter,
803
+ controllers
804
+ } = init(listGateway, deleteItemGateway, restoreItemGateway);
805
+
806
+ // let's list some entries from the gateway
807
+ await controllers.listItems.execute();
808
+ expect(listGateway.execute).toHaveBeenCalledTimes(1);
809
+
810
+ // let's check the initial vm state
811
+ expect(presenter.vm.items.length).toBe(3);
812
+
813
+ // let's check the vm state after selecting all items in the page
814
+ await controllers.selectItems.execute([item1, item2, item3]);
815
+ expect(presenter.vm.selectedItems.length).toBe(3);
816
+ expect(presenter.vm.allowSelectAll).toBeFalsy();
817
+ expect(presenter.vm.isSelectedAll).toBeFalsy();
818
+ }
819
+ });
820
+ });
821
+
822
+ //# sourceMappingURL=TrashBin.test.js.map