@webiny/app-trash-bin 5.43.2-beta.0 → 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.
- package/Domain/Models/TrashBinItem/ITrashBinItemMapper.js +1 -5
- package/Domain/Models/TrashBinItem/TrashBinItem.js +6 -19
- package/Domain/Models/TrashBinItem/TrashBinItem.js.map +1 -1
- package/Domain/Models/TrashBinItem/index.js +2 -27
- package/Domain/Models/TrashBinItem/index.js.map +1 -1
- package/Domain/Models/index.js +1 -16
- package/Domain/Models/index.js.map +1 -1
- package/Domain/Repositories/Search/ISearchRepository.js +1 -5
- package/Domain/Repositories/Search/SearchRepository.js +12 -28
- package/Domain/Repositories/Search/SearchRepository.js.map +1 -1
- package/Domain/Repositories/Search/SearchRepositoryFactory.js +14 -32
- package/Domain/Repositories/Search/SearchRepositoryFactory.js.map +1 -1
- package/Domain/Repositories/Search/index.js +3 -38
- package/Domain/Repositories/Search/index.js.map +1 -1
- package/Domain/Repositories/SelectedItems/ISelectedItemsRepository.js +1 -5
- package/Domain/Repositories/SelectedItems/SelectedItemsRepository.js +24 -46
- package/Domain/Repositories/SelectedItems/SelectedItemsRepository.js.map +1 -1
- package/Domain/Repositories/SelectedItems/SelectedItemsRepositoryFactory.js +14 -32
- package/Domain/Repositories/SelectedItems/SelectedItemsRepositoryFactory.js.map +1 -1
- package/Domain/Repositories/SelectedItems/index.js +3 -38
- package/Domain/Repositories/SelectedItems/index.js.map +1 -1
- package/Domain/Repositories/Sorting/SortingRepositoryWithDefaults.d.ts +1 -1
- package/Domain/Repositories/Sorting/SortingRepositoryWithDefaults.js +16 -32
- package/Domain/Repositories/Sorting/SortingRepositoryWithDefaults.js.map +1 -1
- package/Domain/Repositories/Sorting/index.js +1 -16
- package/Domain/Repositories/Sorting/index.js.map +1 -1
- package/Domain/Repositories/TrashBinItems/ITrashBinItemsRepository.js +1 -5
- package/Domain/Repositories/TrashBinItems/TrashBinItemMapper.js +16 -31
- package/Domain/Repositories/TrashBinItems/TrashBinItemMapper.js.map +1 -1
- package/Domain/Repositories/TrashBinItems/TrashBinItemsRepository.js +87 -130
- package/Domain/Repositories/TrashBinItems/TrashBinItemsRepository.js.map +1 -1
- package/Domain/Repositories/TrashBinItems/TrashBinItemsRepositoryFactory.js +14 -32
- package/Domain/Repositories/TrashBinItems/TrashBinItemsRepositoryFactory.js.map +1 -1
- package/Domain/Repositories/TrashBinItems/TrashBinItemsRepositoryWithLoading.js +33 -62
- package/Domain/Repositories/TrashBinItems/TrashBinItemsRepositoryWithLoading.js.map +1 -1
- package/Domain/Repositories/TrashBinItems/index.js +5 -60
- package/Domain/Repositories/TrashBinItems/index.js.map +1 -1
- package/Domain/Repositories/index.js +5 -49
- package/Domain/Repositories/index.js.map +1 -1
- package/Domain/index.js +2 -27
- package/Domain/index.js.map +1 -1
- package/Gateways/TrashBinBulkActions/ITrashBinBulkActionsGateway.js +1 -5
- package/Gateways/TrashBinBulkActions/index.js +1 -16
- package/Gateways/TrashBinBulkActions/index.js.map +1 -1
- package/Gateways/TrashBinDeleteItem/ITrashBinDeleteItemGateway.js +1 -5
- package/Gateways/TrashBinDeleteItem/index.js +1 -16
- package/Gateways/TrashBinDeleteItem/index.js.map +1 -1
- package/Gateways/TrashBinListItems/ITrashBinListGateway.js +1 -5
- package/Gateways/TrashBinListItems/index.js +1 -16
- package/Gateways/TrashBinListItems/index.js.map +1 -1
- package/Gateways/TrashBinRestoreItem/ITrashBinRestoreItemGateway.js +1 -5
- package/Gateways/TrashBinRestoreItem/index.js +1 -16
- package/Gateways/TrashBinRestoreItem/index.js.map +1 -1
- package/Gateways/index.js +4 -49
- package/Gateways/index.js.map +1 -1
- package/Presentation/TrashBin/TrashBin.js +30 -37
- package/Presentation/TrashBin/TrashBin.js.map +1 -1
- package/Presentation/TrashBin/TrashBin.test.js +186 -175
- package/Presentation/TrashBin/TrashBin.test.js.map +1 -1
- package/Presentation/TrashBin/TrashBinControllers.js +60 -94
- package/Presentation/TrashBin/TrashBinControllers.js.map +1 -1
- package/Presentation/TrashBin/TrashBinPresenter.js +49 -77
- package/Presentation/TrashBin/TrashBinPresenter.js.map +1 -1
- package/Presentation/TrashBin/controllers/BulkAction/BulkActionsController.js +7 -20
- package/Presentation/TrashBin/controllers/BulkAction/BulkActionsController.js.map +1 -1
- package/Presentation/TrashBin/controllers/BulkAction/IBulkActionsController.js +1 -5
- package/Presentation/TrashBin/controllers/BulkAction/index.js +2 -27
- package/Presentation/TrashBin/controllers/BulkAction/index.js.map +1 -1
- package/Presentation/TrashBin/controllers/DeleteItem/DeleteItemController.js +7 -20
- package/Presentation/TrashBin/controllers/DeleteItem/DeleteItemController.js.map +1 -1
- package/Presentation/TrashBin/controllers/DeleteItem/IDeleteItemController.js +1 -5
- package/Presentation/TrashBin/controllers/DeleteItem/index.js +2 -27
- package/Presentation/TrashBin/controllers/DeleteItem/index.js.map +1 -1
- package/Presentation/TrashBin/controllers/GetRestoredItemById/GetRestoredItemByIdController.js +10 -23
- package/Presentation/TrashBin/controllers/GetRestoredItemById/GetRestoredItemByIdController.js.map +1 -1
- package/Presentation/TrashBin/controllers/GetRestoredItemById/IGetRestoredItemByIdController.js +1 -5
- package/Presentation/TrashBin/controllers/GetRestoredItemById/index.js +2 -27
- package/Presentation/TrashBin/controllers/GetRestoredItemById/index.js.map +1 -1
- package/Presentation/TrashBin/controllers/ListItems/IListItemsController.js +1 -5
- package/Presentation/TrashBin/controllers/ListItems/ListItemsController.js +7 -20
- package/Presentation/TrashBin/controllers/ListItems/ListItemsController.js.map +1 -1
- package/Presentation/TrashBin/controllers/ListItems/index.js +2 -27
- package/Presentation/TrashBin/controllers/ListItems/index.js.map +1 -1
- package/Presentation/TrashBin/controllers/ListMoreItems/IListMoreItemsController.js +1 -5
- package/Presentation/TrashBin/controllers/ListMoreItems/ListMoreItemsController.js +7 -20
- package/Presentation/TrashBin/controllers/ListMoreItems/ListMoreItemsController.js.map +1 -1
- package/Presentation/TrashBin/controllers/ListMoreItems/index.js +2 -27
- package/Presentation/TrashBin/controllers/ListMoreItems/index.js.map +1 -1
- package/Presentation/TrashBin/controllers/RestoreItem/IRestoreItemController.js +1 -5
- package/Presentation/TrashBin/controllers/RestoreItem/RestoreItemController.js +7 -20
- package/Presentation/TrashBin/controllers/RestoreItem/RestoreItemController.js.map +1 -1
- package/Presentation/TrashBin/controllers/RestoreItem/index.js +2 -27
- package/Presentation/TrashBin/controllers/RestoreItem/index.js.map +1 -1
- package/Presentation/TrashBin/controllers/SearchItems/ISearchItemsController.js +1 -5
- package/Presentation/TrashBin/controllers/SearchItems/SearchItemsController.js +9 -22
- package/Presentation/TrashBin/controllers/SearchItems/SearchItemsController.js.map +1 -1
- package/Presentation/TrashBin/controllers/SearchItems/index.js +2 -27
- package/Presentation/TrashBin/controllers/SearchItems/index.js.map +1 -1
- package/Presentation/TrashBin/controllers/SelectAllItems/ISelectAllItemsController.js +1 -5
- package/Presentation/TrashBin/controllers/SelectAllItems/SelectAllItemsController.js +7 -20
- package/Presentation/TrashBin/controllers/SelectAllItems/SelectAllItemsController.js.map +1 -1
- package/Presentation/TrashBin/controllers/SelectAllItems/index.js +2 -27
- package/Presentation/TrashBin/controllers/SelectAllItems/index.js.map +1 -1
- package/Presentation/TrashBin/controllers/SelectItems/ISelectItemsController.js +1 -5
- package/Presentation/TrashBin/controllers/SelectItems/SelectItemsController.js +9 -24
- package/Presentation/TrashBin/controllers/SelectItems/SelectItemsController.js.map +1 -1
- package/Presentation/TrashBin/controllers/SelectItems/index.js +2 -27
- package/Presentation/TrashBin/controllers/SelectItems/index.js.map +1 -1
- package/Presentation/TrashBin/controllers/SortItems/ISortItemsController.js +1 -5
- package/Presentation/TrashBin/controllers/SortItems/SortItemsController.js +13 -25
- package/Presentation/TrashBin/controllers/SortItems/SortItemsController.js.map +1 -1
- package/Presentation/TrashBin/controllers/SortItems/index.js +2 -27
- package/Presentation/TrashBin/controllers/SortItems/index.js.map +1 -1
- package/Presentation/TrashBin/controllers/UnselectAllItems/IUnselectAllItemsController.js +1 -5
- package/Presentation/TrashBin/controllers/UnselectAllItems/UnselectAllItemsController.js +7 -20
- package/Presentation/TrashBin/controllers/UnselectAllItems/UnselectAllItemsController.js.map +1 -1
- package/Presentation/TrashBin/controllers/UnselectAllItems/index.js +2 -27
- package/Presentation/TrashBin/controllers/UnselectAllItems/index.js.map +1 -1
- package/Presentation/TrashBin/controllers/index.js +11 -126
- package/Presentation/TrashBin/controllers/index.js.map +1 -1
- package/Presentation/TrashBin/index.js +1 -16
- package/Presentation/TrashBin/index.js.map +1 -1
- package/Presentation/TrashBinConfigs/TrashBinConfigs.js +31 -36
- package/Presentation/TrashBinConfigs/TrashBinConfigs.js.map +1 -1
- package/Presentation/TrashBinConfigs/index.js +1 -16
- package/Presentation/TrashBinConfigs/index.js.map +1 -1
- package/Presentation/TrashBinRenderer/TrashBinRenderer.js +13 -23
- package/Presentation/TrashBinRenderer/TrashBinRenderer.js.map +1 -1
- package/Presentation/TrashBinRenderer/index.js +1 -16
- package/Presentation/TrashBinRenderer/index.js.map +1 -1
- package/Presentation/abstractions/ITrashBinControllers.js +1 -5
- package/Presentation/abstractions/ITrashBinPresenter.js +1 -5
- package/Presentation/abstractions/index.js +2 -27
- package/Presentation/abstractions/index.js.map +1 -1
- package/Presentation/components/Actions/DeleteItem/DeleteItem.js +20 -22
- package/Presentation/components/Actions/DeleteItem/DeleteItem.js.map +1 -1
- package/Presentation/components/Actions/DeleteItem/index.js +1 -16
- package/Presentation/components/Actions/DeleteItem/index.js.map +1 -1
- package/Presentation/components/Actions/RestoreItem/RestoreItem.js +18 -21
- package/Presentation/components/Actions/RestoreItem/RestoreItem.js.map +1 -1
- package/Presentation/components/Actions/RestoreItem/index.js +1 -16
- package/Presentation/components/Actions/RestoreItem/index.js.map +1 -1
- package/Presentation/components/Actions/index.js +2 -27
- package/Presentation/components/Actions/index.js.map +1 -1
- package/Presentation/components/BottomInfoBar/BottomInfoBar.js +18 -20
- package/Presentation/components/BottomInfoBar/BottomInfoBar.js.map +1 -1
- package/Presentation/components/BottomInfoBar/ListMeta.js +10 -13
- package/Presentation/components/BottomInfoBar/ListMeta.js.map +1 -1
- package/Presentation/components/BottomInfoBar/ListStatus.js +14 -16
- package/Presentation/components/BottomInfoBar/ListStatus.js.map +1 -1
- package/Presentation/components/BottomInfoBar/index.js +1 -16
- package/Presentation/components/BottomInfoBar/index.js.map +1 -1
- package/Presentation/components/BulkActions/BulkActions/BulkActions.js +49 -35
- package/Presentation/components/BulkActions/BulkActions/BulkActions.js.map +1 -1
- package/Presentation/components/BulkActions/BulkActions/index.js +1 -16
- package/Presentation/components/BulkActions/BulkActions/index.js.map +1 -1
- package/Presentation/components/BulkActions/DeleteItems/DeleteItems.js +75 -74
- package/Presentation/components/BulkActions/DeleteItems/DeleteItems.js.map +1 -1
- package/Presentation/components/BulkActions/DeleteItems/index.js +1 -16
- package/Presentation/components/BulkActions/DeleteItems/index.js.map +1 -1
- package/Presentation/components/BulkActions/RestoreItems/RestoreItems.js +83 -84
- package/Presentation/components/BulkActions/RestoreItems/RestoreItems.js.map +1 -1
- package/Presentation/components/BulkActions/RestoreItems/RestoreItemsReportMessage.js +9 -14
- package/Presentation/components/BulkActions/RestoreItems/RestoreItemsReportMessage.js.map +1 -1
- package/Presentation/components/BulkActions/RestoreItems/index.js +1 -16
- package/Presentation/components/BulkActions/RestoreItems/index.js.map +1 -1
- package/Presentation/components/BulkActions/index.js +3 -38
- package/Presentation/components/BulkActions/index.js.map +1 -1
- package/Presentation/components/Cells/CellActions/CellActions.js +17 -20
- package/Presentation/components/Cells/CellActions/CellActions.js.map +1 -1
- package/Presentation/components/Cells/CellActions/index.js +1 -16
- package/Presentation/components/Cells/CellActions/index.js.map +1 -1
- package/Presentation/components/Cells/CellCreatedBy/CellCreatedBy.js +10 -14
- package/Presentation/components/Cells/CellCreatedBy/CellCreatedBy.js.map +1 -1
- package/Presentation/components/Cells/CellCreatedBy/index.js +1 -16
- package/Presentation/components/Cells/CellCreatedBy/index.js.map +1 -1
- package/Presentation/components/Cells/CellDeletedBy/CellDeletedBy.js +10 -14
- package/Presentation/components/Cells/CellDeletedBy/CellDeletedBy.js.map +1 -1
- package/Presentation/components/Cells/CellDeletedBy/index.js +1 -16
- package/Presentation/components/Cells/CellDeletedBy/index.js.map +1 -1
- package/Presentation/components/Cells/CellDeletedOn/CellDeletedOn.js +11 -15
- package/Presentation/components/Cells/CellDeletedOn/CellDeletedOn.js.map +1 -1
- package/Presentation/components/Cells/CellDeletedOn/index.js +1 -16
- package/Presentation/components/Cells/CellDeletedOn/index.js.map +1 -1
- package/Presentation/components/Cells/CellTitle/CellTitle.js +20 -17
- package/Presentation/components/Cells/CellTitle/CellTitle.js.map +1 -1
- package/Presentation/components/Cells/CellTitle/index.js +1 -16
- package/Presentation/components/Cells/CellTitle/index.js.map +1 -1
- package/Presentation/components/Cells/index.js +5 -60
- package/Presentation/components/Cells/index.js.map +1 -1
- package/Presentation/components/Empty/Empty.js +18 -21
- package/Presentation/components/Empty/Empty.js.map +1 -1
- package/Presentation/components/Empty/index.js +1 -16
- package/Presentation/components/Empty/index.js.map +1 -1
- package/Presentation/components/SearchInput/SearchInput.js +27 -32
- package/Presentation/components/SearchInput/SearchInput.js.map +1 -1
- package/Presentation/components/SearchInput/index.js +1 -16
- package/Presentation/components/SearchInput/index.js.map +1 -1
- package/Presentation/components/Table/Table.js +14 -24
- package/Presentation/components/Table/Table.js.map +1 -1
- package/Presentation/components/Table/index.js +1 -16
- package/Presentation/components/Table/index.js.map +1 -1
- package/Presentation/components/Title/Title.js +11 -18
- package/Presentation/components/Title/Title.js.map +1 -1
- package/Presentation/components/Title/index.js +1 -16
- package/Presentation/components/Title/index.js.map +1 -1
- package/Presentation/components/TrashBinOverlay/TrashBinOverlay.js +27 -35
- package/Presentation/components/TrashBinOverlay/TrashBinOverlay.js.map +1 -1
- package/Presentation/components/TrashBinOverlay/index.js +1 -16
- package/Presentation/components/TrashBinOverlay/index.js.map +1 -1
- package/Presentation/configs/index.js +1 -16
- package/Presentation/configs/index.js.map +1 -1
- package/Presentation/configs/list/Browser/BulkAction.js +36 -47
- package/Presentation/configs/list/Browser/BulkAction.js.map +1 -1
- package/Presentation/configs/list/Browser/EntryAction.js +11 -21
- package/Presentation/configs/list/Browser/EntryAction.js.map +1 -1
- package/Presentation/configs/list/Browser/Table/Column.d.ts +1 -1
- package/Presentation/configs/list/Browser/Table/Column.js +9 -19
- package/Presentation/configs/list/Browser/Table/Column.js.map +1 -1
- package/Presentation/configs/list/Browser/Table/Sorting.js +8 -18
- package/Presentation/configs/list/Browser/Table/Sorting.js.map +1 -1
- package/Presentation/configs/list/Browser/Table/index.d.ts +1 -1
- package/Presentation/configs/list/Browser/Table/index.js +5 -11
- package/Presentation/configs/list/Browser/Table/index.js.map +1 -1
- package/Presentation/configs/list/Browser/index.d.ts +1 -1
- package/Presentation/configs/list/Browser/index.js +7 -13
- package/Presentation/configs/list/Browser/index.js.map +1 -1
- package/Presentation/configs/list/TrashBinListConfig.d.ts +1 -1
- package/Presentation/configs/list/TrashBinListConfig.js +22 -33
- package/Presentation/configs/list/TrashBinListConfig.js.map +1 -1
- package/Presentation/configs/list/index.js +1 -16
- package/Presentation/configs/list/index.js.map +1 -1
- package/Presentation/hooks/index.js +4 -49
- package/Presentation/hooks/index.js.map +1 -1
- package/Presentation/hooks/useDeleteTrashBinItem.js +27 -32
- package/Presentation/hooks/useDeleteTrashBinItem.js.map +1 -1
- package/Presentation/hooks/useRestoreTrashBinItem.js +36 -43
- package/Presentation/hooks/useRestoreTrashBinItem.js.map +1 -1
- package/Presentation/hooks/useTrashBin.d.ts +1 -1
- package/Presentation/hooks/useTrashBin.js +41 -77
- package/Presentation/hooks/useTrashBin.js.map +1 -1
- package/Presentation/hooks/useTrashBinItem.js +7 -12
- package/Presentation/hooks/useTrashBinItem.js.map +1 -1
- package/Presentation/index.js +21 -48
- package/Presentation/index.js.map +1 -1
- package/UseCases/BulkAction/BulkActionUseCase.js +8 -21
- package/UseCases/BulkAction/BulkActionUseCase.js.map +1 -1
- package/UseCases/BulkAction/IBulkActionUseCase.js +1 -5
- package/UseCases/BulkAction/index.js +2 -27
- package/UseCases/BulkAction/index.js.map +1 -1
- package/UseCases/DeleteItem/DeleteItemUseCase.js +8 -21
- package/UseCases/DeleteItem/DeleteItemUseCase.js.map +1 -1
- package/UseCases/DeleteItem/IDeleteItemUseCase.js +1 -5
- package/UseCases/DeleteItem/index.js +2 -27
- package/UseCases/DeleteItem/index.js.map +1 -1
- package/UseCases/GetRestoredItem/GetRestoredItemUseCase.js +9 -24
- package/UseCases/GetRestoredItem/GetRestoredItemUseCase.js.map +1 -1
- package/UseCases/GetRestoredItem/IGetRestoredItemUseCase.js +1 -5
- package/UseCases/GetRestoredItem/index.js +2 -27
- package/UseCases/GetRestoredItem/index.js.map +1 -1
- package/UseCases/ListItems/IListItemsUseCase.js +1 -5
- package/UseCases/ListItems/ListItemsUseCase.js +10 -22
- package/UseCases/ListItems/ListItemsUseCase.js.map +1 -1
- package/UseCases/ListItems/ListItemsUseCaseWithSearch.js +12 -25
- package/UseCases/ListItems/ListItemsUseCaseWithSearch.js.map +1 -1
- package/UseCases/ListItems/ListItemsUseCaseWithSorting.js +13 -28
- package/UseCases/ListItems/ListItemsUseCaseWithSorting.js.map +1 -1
- package/UseCases/ListItems/index.js +4 -49
- package/UseCases/ListItems/index.js.map +1 -1
- package/UseCases/ListMoreItems/IListMoreItemsUseCase.js +1 -5
- package/UseCases/ListMoreItems/ListMoreItemsUseCase.js +8 -21
- package/UseCases/ListMoreItems/ListMoreItemsUseCase.js.map +1 -1
- package/UseCases/ListMoreItems/index.js +2 -27
- package/UseCases/ListMoreItems/index.js.map +1 -1
- package/UseCases/RestoreItem/IRestoreItemUseCase.js +1 -5
- package/UseCases/RestoreItem/RestoreItemUseCase.js +8 -21
- package/UseCases/RestoreItem/RestoreItemUseCase.js.map +1 -1
- package/UseCases/RestoreItem/index.js +2 -27
- package/UseCases/RestoreItem/index.js.map +1 -1
- package/UseCases/SearchItems/ISearchItemsUseCase.js +1 -5
- package/UseCases/SearchItems/SearchItemsUseCase.js +8 -21
- package/UseCases/SearchItems/SearchItemsUseCase.js.map +1 -1
- package/UseCases/SearchItems/index.js +2 -27
- package/UseCases/SearchItems/index.js.map +1 -1
- package/UseCases/SelectAllItems/ISelectAllItemsUseCase.js +1 -5
- package/UseCases/SelectAllItems/SelectAllItemsUseCase.js +8 -21
- package/UseCases/SelectAllItems/SelectAllItemsUseCase.js.map +1 -1
- package/UseCases/SelectAllItems/index.js +2 -27
- package/UseCases/SelectAllItems/index.js.map +1 -1
- package/UseCases/SelectItems/ISelectItemsUseCase.js +1 -5
- package/UseCases/SelectItems/SelectItemsUseCase.js +8 -21
- package/UseCases/SelectItems/SelectItemsUseCase.js.map +1 -1
- package/UseCases/SelectItems/index.js +2 -27
- package/UseCases/SelectItems/index.js.map +1 -1
- package/UseCases/SortItems/ISortItemsUseCase.js +1 -5
- package/UseCases/SortItems/SortItemsUseCase.js +8 -21
- package/UseCases/SortItems/SortItemsUseCase.js.map +1 -1
- package/UseCases/SortItems/index.js +2 -27
- package/UseCases/SortItems/index.js.map +1 -1
- package/UseCases/UnSelectAllItems/IUnselectAllItemsUseCase.js +1 -5
- package/UseCases/UnSelectAllItems/UnselectAllItemsUseCase.js +8 -21
- package/UseCases/UnSelectAllItems/UnselectAllItemsUseCase.js.map +1 -1
- package/UseCases/UnSelectAllItems/index.js +2 -27
- package/UseCases/UnSelectAllItems/index.js.map +1 -1
- package/UseCases/index.js +11 -126
- package/UseCases/index.js.map +1 -1
- package/index.js +3 -38
- package/index.js.map +1 -1
- package/package.json +11 -11
- package/types.js +1 -7
- package/types.js.map +1 -1
- package/Presentation/components/BottomInfoBar/BottomInfoBar.styled.d.ts +0 -21
- package/Presentation/components/BottomInfoBar/BottomInfoBar.styled.js +0 -81
- package/Presentation/components/BottomInfoBar/BottomInfoBar.styled.js.map +0 -1
- package/Presentation/components/BulkActions/BulkActions/BulkActions.styled.d.ts +0 -13
- package/Presentation/components/BulkActions/BulkActions/BulkActions.styled.js +0 -46
- package/Presentation/components/BulkActions/BulkActions/BulkActions.styled.js.map +0 -1
- package/Presentation/components/BulkActions/RestoreItems/RestoredItems.styled.d.ts +0 -5
- package/Presentation/components/BulkActions/RestoreItems/RestoredItems.styled.js +0 -25
- package/Presentation/components/BulkActions/RestoreItems/RestoredItems.styled.js.map +0 -1
- package/Presentation/components/Cells/CellTitle/CellTitle.styled.d.ts +0 -12
- package/Presentation/components/Cells/CellTitle/CellTitle.styled.js +0 -54
- package/Presentation/components/Cells/CellTitle/CellTitle.styled.js.map +0 -1
- package/Presentation/components/Empty/Empty.styled.d.ts +0 -9
- package/Presentation/components/Empty/Empty.styled.js +0 -39
- package/Presentation/components/Empty/Empty.styled.js.map +0 -1
- package/Presentation/components/SearchInput/SearchInput.styled.d.ts +0 -11
- package/Presentation/components/SearchInput/SearchInput.styled.js +0 -55
- package/Presentation/components/SearchInput/SearchInput.styled.js.map +0 -1
- package/Presentation/components/SelectAll/Messages.d.ts +0 -7
- package/Presentation/components/SelectAll/Messages.js +0 -29
- package/Presentation/components/SelectAll/Messages.js.map +0 -1
- package/Presentation/components/SelectAll/SelectAll.d.ts +0 -3
- package/Presentation/components/SelectAll/SelectAll.js +0 -35
- package/Presentation/components/SelectAll/SelectAll.js.map +0 -1
- package/Presentation/components/SelectAll/SelectAll.styled.d.ts +0 -12
- package/Presentation/components/SelectAll/SelectAll.styled.js +0 -54
- package/Presentation/components/SelectAll/SelectAll.styled.js.map +0 -1
- package/Presentation/components/SelectAll/index.d.ts +0 -1
- package/Presentation/components/SelectAll/index.js +0 -18
- package/Presentation/components/SelectAll/index.js.map +0 -1
- package/Presentation/components/Title/Title.styled.d.ts +0 -4
- package/Presentation/components/Title/Title.styled.js +0 -26
- 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
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
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
|
-
|
|
23
|
-
|
|
24
|
-
|
|
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
|
-
|
|
32
|
-
|
|
33
|
-
return new _UseCases.SelectAllItemsUseCase(_this.selectedRepository);
|
|
34
|
-
};
|
|
16
|
+
// Select All Items UseCase
|
|
17
|
+
const selectAllItemsUseCase = () => new SelectAllItemsUseCase(this.selectedRepository);
|
|
35
18
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
return new _UseCases.UnselectAllItemsUseCase(_this.selectedRepository);
|
|
39
|
-
};
|
|
19
|
+
// Unselect All Items UseCase
|
|
20
|
+
const unselectAllItemsUseCase = () => new UnselectAllItemsUseCase(this.selectedRepository);
|
|
40
21
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
return new _UseCases.SortItemsUseCase(_this.sortingRepository);
|
|
44
|
-
};
|
|
22
|
+
// Sort Items UseCase
|
|
23
|
+
const sortItemsUseCase = () => new SortItemsUseCase(this.sortingRepository);
|
|
45
24
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
return new _UseCases.SearchItemsUseCase(_this.searchRepository);
|
|
49
|
-
};
|
|
25
|
+
// Search Items UseCase
|
|
26
|
+
const searchItemsUseCase = () => new SearchItemsUseCase(this.searchRepository);
|
|
50
27
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
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
|
-
|
|
59
|
-
|
|
60
|
-
return new _UseCases.ListMoreItemsUseCase(_this.itemsRepository);
|
|
61
|
-
};
|
|
35
|
+
// List More Items UseCase
|
|
36
|
+
const listMoreItemsUseCase = () => new ListMoreItemsUseCase(this.itemsRepository);
|
|
62
37
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
return new _UseCases.DeleteItemUseCase(_this.itemsRepository);
|
|
66
|
-
};
|
|
38
|
+
// Delete Item UseCase
|
|
39
|
+
const deleteItemUseCase = () => new DeleteItemUseCase(this.itemsRepository);
|
|
67
40
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
return new _UseCases.RestoreItemUseCase(_this.itemsRepository);
|
|
71
|
-
};
|
|
41
|
+
// Restore Item UseCase
|
|
42
|
+
const restoreItemUseCase = () => new RestoreItemUseCase(this.itemsRepository);
|
|
72
43
|
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
return new _UseCases.GetRestoredItemUseCase(_this.itemsRepository);
|
|
76
|
-
};
|
|
44
|
+
// Get RestoredItem UseCase
|
|
45
|
+
const getRestoredItemUseCase = () => new GetRestoredItemUseCase(this.itemsRepository);
|
|
77
46
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
return new _UseCases.BulkActionUseCase(_this.itemsRepository);
|
|
81
|
-
};
|
|
47
|
+
// Bulk Action UseCase
|
|
48
|
+
const bulkActionUseCase = () => new BulkActionUseCase(this.itemsRepository);
|
|
82
49
|
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
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":["
|
|
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":[]}
|