@webiny/app-trash-bin 0.0.0-unstable.2aaa1916d9
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.d.ts +4 -0
- package/Domain/Models/TrashBinItem/ITrashBinItemMapper.js +3 -0
- package/Domain/Models/TrashBinItem/ITrashBinItemMapper.js.map +1 -0
- package/Domain/Models/TrashBinItem/TrashBinItem.d.ts +20 -0
- package/Domain/Models/TrashBinItem/TrashBinItem.js +15 -0
- package/Domain/Models/TrashBinItem/TrashBinItem.js.map +1 -0
- package/Domain/Models/TrashBinItem/index.d.ts +2 -0
- package/Domain/Models/TrashBinItem/index.js +4 -0
- package/Domain/Models/TrashBinItem/index.js.map +1 -0
- package/Domain/Models/index.d.ts +1 -0
- package/Domain/Models/index.js +3 -0
- package/Domain/Models/index.js.map +1 -0
- package/Domain/Repositories/Search/ISearchRepository.d.ts +4 -0
- package/Domain/Repositories/Search/ISearchRepository.js +3 -0
- package/Domain/Repositories/Search/ISearchRepository.js.map +1 -0
- package/Domain/Repositories/Search/SearchRepository.d.ts +7 -0
- package/Domain/Repositories/Search/SearchRepository.js +15 -0
- package/Domain/Repositories/Search/SearchRepository.js.map +1 -0
- package/Domain/Repositories/Search/SearchRepositoryFactory.d.ts +7 -0
- package/Domain/Repositories/Search/SearchRepositoryFactory.js +17 -0
- package/Domain/Repositories/Search/SearchRepositoryFactory.js.map +1 -0
- package/Domain/Repositories/Search/index.d.ts +3 -0
- package/Domain/Repositories/Search/index.js +5 -0
- package/Domain/Repositories/Search/index.js.map +1 -0
- package/Domain/Repositories/SelectedItems/ISelectedItemsRepository.d.ts +8 -0
- package/Domain/Repositories/SelectedItems/ISelectedItemsRepository.js +3 -0
- package/Domain/Repositories/SelectedItems/ISelectedItemsRepository.js.map +1 -0
- package/Domain/Repositories/SelectedItems/SelectedItemsRepository.d.ts +12 -0
- package/Domain/Repositories/SelectedItems/SelectedItemsRepository.js +27 -0
- package/Domain/Repositories/SelectedItems/SelectedItemsRepository.js.map +1 -0
- package/Domain/Repositories/SelectedItems/SelectedItemsRepositoryFactory.d.ts +7 -0
- package/Domain/Repositories/SelectedItems/SelectedItemsRepositoryFactory.js +17 -0
- package/Domain/Repositories/SelectedItems/SelectedItemsRepositoryFactory.js.map +1 -0
- package/Domain/Repositories/SelectedItems/index.d.ts +3 -0
- package/Domain/Repositories/SelectedItems/index.js +5 -0
- package/Domain/Repositories/SelectedItems/index.js.map +1 -0
- package/Domain/Repositories/Sorting/SortingRepositoryWithDefaults.d.ts +8 -0
- package/Domain/Repositories/Sorting/SortingRepositoryWithDefaults.js +22 -0
- package/Domain/Repositories/Sorting/SortingRepositoryWithDefaults.js.map +1 -0
- package/Domain/Repositories/Sorting/index.d.ts +1 -0
- package/Domain/Repositories/Sorting/index.js +3 -0
- package/Domain/Repositories/Sorting/index.js.map +1 -0
- package/Domain/Repositories/TrashBinItems/ITrashBinItemsRepository.d.ts +14 -0
- package/Domain/Repositories/TrashBinItems/ITrashBinItemsRepository.js +3 -0
- package/Domain/Repositories/TrashBinItems/ITrashBinItemsRepository.js.map +1 -0
- package/Domain/Repositories/TrashBinItems/TrashBinItemMapper.d.ts +16 -0
- package/Domain/Repositories/TrashBinItems/TrashBinItemMapper.js +19 -0
- package/Domain/Repositories/TrashBinItems/TrashBinItemMapper.js.map +1 -0
- package/Domain/Repositories/TrashBinItems/TrashBinItemsRepository.d.ts +28 -0
- package/Domain/Repositories/TrashBinItems/TrashBinItemsRepository.js +102 -0
- package/Domain/Repositories/TrashBinItems/TrashBinItemsRepository.js.map +1 -0
- package/Domain/Repositories/TrashBinItems/TrashBinItemsRepositoryFactory.d.ts +10 -0
- package/Domain/Repositories/TrashBinItems/TrashBinItemsRepositoryFactory.js +17 -0
- package/Domain/Repositories/TrashBinItems/TrashBinItemsRepositoryFactory.js.map +1 -0
- package/Domain/Repositories/TrashBinItems/TrashBinItemsRepositoryWithLoading.d.ts +17 -0
- package/Domain/Repositories/TrashBinItems/TrashBinItemsRepositoryWithLoading.js +38 -0
- package/Domain/Repositories/TrashBinItems/TrashBinItemsRepositoryWithLoading.js.map +1 -0
- package/Domain/Repositories/TrashBinItems/index.d.ts +5 -0
- package/Domain/Repositories/TrashBinItems/index.js +7 -0
- package/Domain/Repositories/TrashBinItems/index.js.map +1 -0
- package/Domain/Repositories/index.d.ts +5 -0
- package/Domain/Repositories/index.js +7 -0
- package/Domain/Repositories/index.js.map +1 -0
- package/Domain/index.d.ts +2 -0
- package/Domain/index.js +4 -0
- package/Domain/index.js.map +1 -0
- package/Gateways/TrashBinBulkActions/ITrashBinBulkActionsGateway.d.ts +4 -0
- package/Gateways/TrashBinBulkActions/ITrashBinBulkActionsGateway.js +3 -0
- package/Gateways/TrashBinBulkActions/ITrashBinBulkActionsGateway.js.map +1 -0
- package/Gateways/TrashBinBulkActions/index.d.ts +1 -0
- package/Gateways/TrashBinBulkActions/index.js +3 -0
- package/Gateways/TrashBinBulkActions/index.js.map +1 -0
- package/Gateways/TrashBinDeleteItem/ITrashBinDeleteItemGateway.d.ts +3 -0
- package/Gateways/TrashBinDeleteItem/ITrashBinDeleteItemGateway.js +3 -0
- package/Gateways/TrashBinDeleteItem/ITrashBinDeleteItemGateway.js.map +1 -0
- package/Gateways/TrashBinDeleteItem/index.d.ts +1 -0
- package/Gateways/TrashBinDeleteItem/index.js +3 -0
- package/Gateways/TrashBinDeleteItem/index.js.map +1 -0
- package/Gateways/TrashBinListItems/ITrashBinListGateway.d.ts +4 -0
- package/Gateways/TrashBinListItems/ITrashBinListGateway.js +3 -0
- package/Gateways/TrashBinListItems/ITrashBinListGateway.js.map +1 -0
- package/Gateways/TrashBinListItems/index.d.ts +1 -0
- package/Gateways/TrashBinListItems/index.js +3 -0
- package/Gateways/TrashBinListItems/index.js.map +1 -0
- package/Gateways/TrashBinRestoreItem/ITrashBinRestoreItemGateway.d.ts +3 -0
- package/Gateways/TrashBinRestoreItem/ITrashBinRestoreItemGateway.js +3 -0
- package/Gateways/TrashBinRestoreItem/ITrashBinRestoreItemGateway.js.map +1 -0
- package/Gateways/TrashBinRestoreItem/index.d.ts +1 -0
- package/Gateways/TrashBinRestoreItem/index.js +3 -0
- package/Gateways/TrashBinRestoreItem/index.js.map +1 -0
- package/Gateways/index.d.ts +4 -0
- package/Gateways/index.js +6 -0
- package/Gateways/index.js.map +1 -0
- package/LICENSE +21 -0
- package/Presentation/TrashBin/TrashBin.d.ts +22 -0
- package/Presentation/TrashBin/TrashBin.js +49 -0
- package/Presentation/TrashBin/TrashBin.js.map +1 -0
- package/Presentation/TrashBin/TrashBin.test.d.ts +1 -0
- package/Presentation/TrashBin/TrashBin.test.js +822 -0
- package/Presentation/TrashBin/TrashBin.test.js.map +1 -0
- package/Presentation/TrashBin/TrashBinControllers.d.ts +26 -0
- package/Presentation/TrashBin/TrashBinControllers.js +80 -0
- package/Presentation/TrashBin/TrashBinControllers.js.map +1 -0
- package/Presentation/TrashBin/TrashBinPresenter.d.ts +33 -0
- package/Presentation/TrashBin/TrashBinPresenter.js +59 -0
- package/Presentation/TrashBin/TrashBinPresenter.js.map +1 -0
- package/Presentation/TrashBin/controllers/BulkAction/BulkActionsController.d.ts +9 -0
- package/Presentation/TrashBin/controllers/BulkAction/BulkActionsController.js +12 -0
- package/Presentation/TrashBin/controllers/BulkAction/BulkActionsController.js.map +1 -0
- package/Presentation/TrashBin/controllers/BulkAction/IBulkActionsController.d.ts +4 -0
- package/Presentation/TrashBin/controllers/BulkAction/IBulkActionsController.js +3 -0
- package/Presentation/TrashBin/controllers/BulkAction/IBulkActionsController.js.map +1 -0
- package/Presentation/TrashBin/controllers/BulkAction/index.d.ts +2 -0
- package/Presentation/TrashBin/controllers/BulkAction/index.js +4 -0
- package/Presentation/TrashBin/controllers/BulkAction/index.js.map +1 -0
- package/Presentation/TrashBin/controllers/DeleteItem/DeleteItemController.d.ts +7 -0
- package/Presentation/TrashBin/controllers/DeleteItem/DeleteItemController.js +11 -0
- package/Presentation/TrashBin/controllers/DeleteItem/DeleteItemController.js.map +1 -0
- package/Presentation/TrashBin/controllers/DeleteItem/IDeleteItemController.d.ts +3 -0
- package/Presentation/TrashBin/controllers/DeleteItem/IDeleteItemController.js +3 -0
- package/Presentation/TrashBin/controllers/DeleteItem/IDeleteItemController.js.map +1 -0
- package/Presentation/TrashBin/controllers/DeleteItem/index.d.ts +2 -0
- package/Presentation/TrashBin/controllers/DeleteItem/index.js +4 -0
- package/Presentation/TrashBin/controllers/DeleteItem/index.js.map +1 -0
- package/Presentation/TrashBin/controllers/GetRestoredItemById/GetRestoredItemByIdController.d.ts +20 -0
- package/Presentation/TrashBin/controllers/GetRestoredItemById/GetRestoredItemByIdController.js +14 -0
- package/Presentation/TrashBin/controllers/GetRestoredItemById/GetRestoredItemByIdController.js.map +1 -0
- package/Presentation/TrashBin/controllers/GetRestoredItemById/IGetRestoredItemByIdController.d.ts +4 -0
- package/Presentation/TrashBin/controllers/GetRestoredItemById/IGetRestoredItemByIdController.js +3 -0
- package/Presentation/TrashBin/controllers/GetRestoredItemById/IGetRestoredItemByIdController.js.map +1 -0
- package/Presentation/TrashBin/controllers/GetRestoredItemById/index.d.ts +2 -0
- package/Presentation/TrashBin/controllers/GetRestoredItemById/index.js +4 -0
- package/Presentation/TrashBin/controllers/GetRestoredItemById/index.js.map +1 -0
- package/Presentation/TrashBin/controllers/ListItems/IListItemsController.d.ts +3 -0
- package/Presentation/TrashBin/controllers/ListItems/IListItemsController.js +3 -0
- package/Presentation/TrashBin/controllers/ListItems/IListItemsController.js.map +1 -0
- package/Presentation/TrashBin/controllers/ListItems/ListItemsController.d.ts +7 -0
- package/Presentation/TrashBin/controllers/ListItems/ListItemsController.js +11 -0
- package/Presentation/TrashBin/controllers/ListItems/ListItemsController.js.map +1 -0
- package/Presentation/TrashBin/controllers/ListItems/index.d.ts +2 -0
- package/Presentation/TrashBin/controllers/ListItems/index.js +4 -0
- package/Presentation/TrashBin/controllers/ListItems/index.js.map +1 -0
- package/Presentation/TrashBin/controllers/ListMoreItems/IListMoreItemsController.d.ts +3 -0
- package/Presentation/TrashBin/controllers/ListMoreItems/IListMoreItemsController.js +3 -0
- package/Presentation/TrashBin/controllers/ListMoreItems/IListMoreItemsController.js.map +1 -0
- package/Presentation/TrashBin/controllers/ListMoreItems/ListMoreItemsController.d.ts +7 -0
- package/Presentation/TrashBin/controllers/ListMoreItems/ListMoreItemsController.js +11 -0
- package/Presentation/TrashBin/controllers/ListMoreItems/ListMoreItemsController.js.map +1 -0
- package/Presentation/TrashBin/controllers/ListMoreItems/index.d.ts +2 -0
- package/Presentation/TrashBin/controllers/ListMoreItems/index.js +4 -0
- package/Presentation/TrashBin/controllers/ListMoreItems/index.js.map +1 -0
- package/Presentation/TrashBin/controllers/RestoreItem/IRestoreItemController.d.ts +3 -0
- package/Presentation/TrashBin/controllers/RestoreItem/IRestoreItemController.js +3 -0
- package/Presentation/TrashBin/controllers/RestoreItem/IRestoreItemController.js.map +1 -0
- package/Presentation/TrashBin/controllers/RestoreItem/RestoreItemController.d.ts +7 -0
- package/Presentation/TrashBin/controllers/RestoreItem/RestoreItemController.js +11 -0
- package/Presentation/TrashBin/controllers/RestoreItem/RestoreItemController.js.map +1 -0
- package/Presentation/TrashBin/controllers/RestoreItem/index.d.ts +2 -0
- package/Presentation/TrashBin/controllers/RestoreItem/index.js +4 -0
- package/Presentation/TrashBin/controllers/RestoreItem/index.js.map +1 -0
- package/Presentation/TrashBin/controllers/SearchItems/ISearchItemsController.d.ts +3 -0
- package/Presentation/TrashBin/controllers/SearchItems/ISearchItemsController.js +3 -0
- package/Presentation/TrashBin/controllers/SearchItems/ISearchItemsController.js.map +1 -0
- package/Presentation/TrashBin/controllers/SearchItems/SearchItemsController.d.ts +8 -0
- package/Presentation/TrashBin/controllers/SearchItems/SearchItemsController.js +14 -0
- package/Presentation/TrashBin/controllers/SearchItems/SearchItemsController.js.map +1 -0
- package/Presentation/TrashBin/controllers/SearchItems/index.d.ts +2 -0
- package/Presentation/TrashBin/controllers/SearchItems/index.js +4 -0
- package/Presentation/TrashBin/controllers/SearchItems/index.js.map +1 -0
- package/Presentation/TrashBin/controllers/SelectAllItems/ISelectAllItemsController.d.ts +3 -0
- package/Presentation/TrashBin/controllers/SelectAllItems/ISelectAllItemsController.js +3 -0
- package/Presentation/TrashBin/controllers/SelectAllItems/ISelectAllItemsController.js.map +1 -0
- package/Presentation/TrashBin/controllers/SelectAllItems/SelectAllItemsController.d.ts +7 -0
- package/Presentation/TrashBin/controllers/SelectAllItems/SelectAllItemsController.js +11 -0
- package/Presentation/TrashBin/controllers/SelectAllItems/SelectAllItemsController.js.map +1 -0
- package/Presentation/TrashBin/controllers/SelectAllItems/index.d.ts +2 -0
- package/Presentation/TrashBin/controllers/SelectAllItems/index.js +4 -0
- package/Presentation/TrashBin/controllers/SelectAllItems/index.js.map +1 -0
- package/Presentation/TrashBin/controllers/SelectItems/ISelectItemsController.d.ts +4 -0
- package/Presentation/TrashBin/controllers/SelectItems/ISelectItemsController.js +3 -0
- package/Presentation/TrashBin/controllers/SelectItems/ISelectItemsController.js.map +1 -0
- package/Presentation/TrashBin/controllers/SelectItems/SelectItemsController.d.ts +8 -0
- package/Presentation/TrashBin/controllers/SelectItems/SelectItemsController.js +13 -0
- package/Presentation/TrashBin/controllers/SelectItems/SelectItemsController.js.map +1 -0
- package/Presentation/TrashBin/controllers/SelectItems/index.d.ts +2 -0
- package/Presentation/TrashBin/controllers/SelectItems/index.js +4 -0
- package/Presentation/TrashBin/controllers/SelectItems/index.js.map +1 -0
- package/Presentation/TrashBin/controllers/SortItems/ISortItemsController.d.ts +4 -0
- package/Presentation/TrashBin/controllers/SortItems/ISortItemsController.js +3 -0
- package/Presentation/TrashBin/controllers/SortItems/ISortItemsController.js.map +1 -0
- package/Presentation/TrashBin/controllers/SortItems/SortItemsController.d.ts +9 -0
- package/Presentation/TrashBin/controllers/SortItems/SortItemsController.js +19 -0
- package/Presentation/TrashBin/controllers/SortItems/SortItemsController.js.map +1 -0
- package/Presentation/TrashBin/controllers/SortItems/index.d.ts +2 -0
- package/Presentation/TrashBin/controllers/SortItems/index.js +4 -0
- package/Presentation/TrashBin/controllers/SortItems/index.js.map +1 -0
- package/Presentation/TrashBin/controllers/UnselectAllItems/IUnselectAllItemsController.d.ts +3 -0
- package/Presentation/TrashBin/controllers/UnselectAllItems/IUnselectAllItemsController.js +3 -0
- package/Presentation/TrashBin/controllers/UnselectAllItems/IUnselectAllItemsController.js.map +1 -0
- package/Presentation/TrashBin/controllers/UnselectAllItems/UnselectAllItemsController.d.ts +7 -0
- package/Presentation/TrashBin/controllers/UnselectAllItems/UnselectAllItemsController.js +11 -0
- package/Presentation/TrashBin/controllers/UnselectAllItems/UnselectAllItemsController.js.map +1 -0
- package/Presentation/TrashBin/controllers/UnselectAllItems/index.d.ts +2 -0
- package/Presentation/TrashBin/controllers/UnselectAllItems/index.js +4 -0
- package/Presentation/TrashBin/controllers/UnselectAllItems/index.js.map +1 -0
- package/Presentation/TrashBin/controllers/index.d.ts +11 -0
- package/Presentation/TrashBin/controllers/index.js +13 -0
- package/Presentation/TrashBin/controllers/index.js.map +1 -0
- package/Presentation/TrashBin/index.d.ts +1 -0
- package/Presentation/TrashBin/index.js +3 -0
- package/Presentation/TrashBin/index.js.map +1 -0
- package/Presentation/TrashBinConfigs/TrashBinConfigs.d.ts +2 -0
- package/Presentation/TrashBinConfigs/TrashBinConfigs.js +57 -0
- package/Presentation/TrashBinConfigs/TrashBinConfigs.js.map +1 -0
- package/Presentation/TrashBinConfigs/index.d.ts +1 -0
- package/Presentation/TrashBinConfigs/index.js +3 -0
- package/Presentation/TrashBinConfigs/index.js.map +1 -0
- package/Presentation/TrashBinRenderer/TrashBinRenderer.d.ts +9 -0
- package/Presentation/TrashBinRenderer/TrashBinRenderer.js +21 -0
- package/Presentation/TrashBinRenderer/TrashBinRenderer.js.map +1 -0
- package/Presentation/TrashBinRenderer/index.d.ts +1 -0
- package/Presentation/TrashBinRenderer/index.js +3 -0
- package/Presentation/TrashBinRenderer/index.js.map +1 -0
- package/Presentation/abstractions/ITrashBinControllers.d.ts +15 -0
- package/Presentation/abstractions/ITrashBinControllers.js +3 -0
- package/Presentation/abstractions/ITrashBinControllers.js.map +1 -0
- package/Presentation/abstractions/ITrashBinPresenter.d.ts +22 -0
- package/Presentation/abstractions/ITrashBinPresenter.js +3 -0
- package/Presentation/abstractions/ITrashBinPresenter.js.map +1 -0
- package/Presentation/abstractions/index.d.ts +2 -0
- package/Presentation/abstractions/index.js +4 -0
- package/Presentation/abstractions/index.js.map +1 -0
- package/Presentation/components/Actions/DeleteItem/DeleteItem.d.ts +2 -0
- package/Presentation/components/Actions/DeleteItem/DeleteItem.js +25 -0
- package/Presentation/components/Actions/DeleteItem/DeleteItem.js.map +1 -0
- package/Presentation/components/Actions/DeleteItem/index.d.ts +1 -0
- package/Presentation/components/Actions/DeleteItem/index.js +3 -0
- package/Presentation/components/Actions/DeleteItem/index.js.map +1 -0
- package/Presentation/components/Actions/RestoreItem/RestoreItem.d.ts +2 -0
- package/Presentation/components/Actions/RestoreItem/RestoreItem.js +24 -0
- package/Presentation/components/Actions/RestoreItem/RestoreItem.js.map +1 -0
- package/Presentation/components/Actions/RestoreItem/index.d.ts +1 -0
- package/Presentation/components/Actions/RestoreItem/index.js +3 -0
- package/Presentation/components/Actions/RestoreItem/index.js.map +1 -0
- package/Presentation/components/Actions/index.d.ts +2 -0
- package/Presentation/components/Actions/index.js +4 -0
- package/Presentation/components/Actions/index.js.map +1 -0
- package/Presentation/components/BottomInfoBar/BottomInfoBar.d.ts +2 -0
- package/Presentation/components/BottomInfoBar/BottomInfoBar.js +24 -0
- package/Presentation/components/BottomInfoBar/BottomInfoBar.js.map +1 -0
- package/Presentation/components/BottomInfoBar/ListMeta.d.ts +7 -0
- package/Presentation/components/BottomInfoBar/ListMeta.js +17 -0
- package/Presentation/components/BottomInfoBar/ListMeta.js.map +1 -0
- package/Presentation/components/BottomInfoBar/ListStatus.d.ts +5 -0
- package/Presentation/components/BottomInfoBar/ListStatus.js +20 -0
- package/Presentation/components/BottomInfoBar/ListStatus.js.map +1 -0
- package/Presentation/components/BottomInfoBar/index.d.ts +1 -0
- package/Presentation/components/BottomInfoBar/index.js +3 -0
- package/Presentation/components/BottomInfoBar/index.js.map +1 -0
- package/Presentation/components/BulkActions/BulkActions/BulkActions.d.ts +3 -0
- package/Presentation/components/BulkActions/BulkActions/BulkActions.js +63 -0
- package/Presentation/components/BulkActions/BulkActions/BulkActions.js.map +1 -0
- package/Presentation/components/BulkActions/BulkActions/index.d.ts +1 -0
- package/Presentation/components/BulkActions/BulkActions/index.js +3 -0
- package/Presentation/components/BulkActions/BulkActions/index.js.map +1 -0
- package/Presentation/components/BulkActions/DeleteItems/DeleteItems.d.ts +4 -0
- package/Presentation/components/BulkActions/DeleteItems/DeleteItems.js +83 -0
- package/Presentation/components/BulkActions/DeleteItems/DeleteItems.js.map +1 -0
- package/Presentation/components/BulkActions/DeleteItems/index.d.ts +1 -0
- package/Presentation/components/BulkActions/DeleteItems/index.js +3 -0
- package/Presentation/components/BulkActions/DeleteItems/index.js.map +1 -0
- package/Presentation/components/BulkActions/RestoreItems/RestoreItems.d.ts +4 -0
- package/Presentation/components/BulkActions/RestoreItems/RestoreItems.js +94 -0
- package/Presentation/components/BulkActions/RestoreItems/RestoreItems.js.map +1 -0
- package/Presentation/components/BulkActions/RestoreItems/RestoreItemsReportMessage.d.ts +5 -0
- package/Presentation/components/BulkActions/RestoreItems/RestoreItemsReportMessage.js +13 -0
- package/Presentation/components/BulkActions/RestoreItems/RestoreItemsReportMessage.js.map +1 -0
- package/Presentation/components/BulkActions/RestoreItems/index.d.ts +1 -0
- package/Presentation/components/BulkActions/RestoreItems/index.js +3 -0
- package/Presentation/components/BulkActions/RestoreItems/index.js.map +1 -0
- package/Presentation/components/BulkActions/index.d.ts +3 -0
- package/Presentation/components/BulkActions/index.js +5 -0
- package/Presentation/components/BulkActions/index.js.map +1 -0
- package/Presentation/components/Cells/CellActions/CellActions.d.ts +2 -0
- package/Presentation/components/Cells/CellActions/CellActions.js +24 -0
- package/Presentation/components/Cells/CellActions/CellActions.js.map +1 -0
- package/Presentation/components/Cells/CellActions/index.d.ts +1 -0
- package/Presentation/components/Cells/CellActions/index.js +3 -0
- package/Presentation/components/Cells/CellActions/index.js.map +1 -0
- package/Presentation/components/Cells/CellCreatedBy/CellCreatedBy.d.ts +2 -0
- package/Presentation/components/Cells/CellCreatedBy/CellCreatedBy.js +13 -0
- package/Presentation/components/Cells/CellCreatedBy/CellCreatedBy.js.map +1 -0
- package/Presentation/components/Cells/CellCreatedBy/index.d.ts +1 -0
- package/Presentation/components/Cells/CellCreatedBy/index.js +3 -0
- package/Presentation/components/Cells/CellCreatedBy/index.js.map +1 -0
- package/Presentation/components/Cells/CellDeletedBy/CellDeletedBy.d.ts +2 -0
- package/Presentation/components/Cells/CellDeletedBy/CellDeletedBy.js +13 -0
- package/Presentation/components/Cells/CellDeletedBy/CellDeletedBy.js.map +1 -0
- package/Presentation/components/Cells/CellDeletedBy/index.d.ts +1 -0
- package/Presentation/components/Cells/CellDeletedBy/index.js +3 -0
- package/Presentation/components/Cells/CellDeletedBy/index.js.map +1 -0
- package/Presentation/components/Cells/CellDeletedOn/CellDeletedOn.d.ts +2 -0
- package/Presentation/components/Cells/CellDeletedOn/CellDeletedOn.js +16 -0
- package/Presentation/components/Cells/CellDeletedOn/CellDeletedOn.js.map +1 -0
- package/Presentation/components/Cells/CellDeletedOn/index.d.ts +1 -0
- package/Presentation/components/Cells/CellDeletedOn/index.js +3 -0
- package/Presentation/components/Cells/CellDeletedOn/index.js.map +1 -0
- package/Presentation/components/Cells/CellTitle/CellTitle.d.ts +2 -0
- package/Presentation/components/Cells/CellTitle/CellTitle.js +24 -0
- package/Presentation/components/Cells/CellTitle/CellTitle.js.map +1 -0
- package/Presentation/components/Cells/CellTitle/index.d.ts +1 -0
- package/Presentation/components/Cells/CellTitle/index.js +3 -0
- package/Presentation/components/Cells/CellTitle/index.js.map +1 -0
- package/Presentation/components/Cells/index.d.ts +5 -0
- package/Presentation/components/Cells/index.js +7 -0
- package/Presentation/components/Cells/index.js.map +1 -0
- package/Presentation/components/Empty/Empty.d.ts +2 -0
- package/Presentation/components/Empty/Empty.js +25 -0
- package/Presentation/components/Empty/Empty.js.map +1 -0
- package/Presentation/components/Empty/index.d.ts +1 -0
- package/Presentation/components/Empty/index.js +3 -0
- package/Presentation/components/Empty/index.js.map +1 -0
- package/Presentation/components/SearchInput/SearchInput.d.ts +2 -0
- package/Presentation/components/SearchInput/SearchInput.js +37 -0
- package/Presentation/components/SearchInput/SearchInput.js.map +1 -0
- package/Presentation/components/SearchInput/index.d.ts +1 -0
- package/Presentation/components/SearchInput/index.js +3 -0
- package/Presentation/components/SearchInput/index.js.map +1 -0
- package/Presentation/components/Table/Table.d.ts +2 -0
- package/Presentation/components/Table/Table.js +23 -0
- package/Presentation/components/Table/Table.js.map +1 -0
- package/Presentation/components/Table/index.d.ts +1 -0
- package/Presentation/components/Table/index.js +3 -0
- package/Presentation/components/Table/index.js.map +1 -0
- package/Presentation/components/Title/Title.d.ts +5 -0
- package/Presentation/components/Title/Title.js +14 -0
- package/Presentation/components/Title/Title.js.map +1 -0
- package/Presentation/components/Title/index.d.ts +1 -0
- package/Presentation/components/Title/index.js +3 -0
- package/Presentation/components/Title/index.js.map +1 -0
- package/Presentation/components/TrashBinOverlay/TrashBinOverlay.d.ts +7 -0
- package/Presentation/components/TrashBinOverlay/TrashBinOverlay.js +37 -0
- package/Presentation/components/TrashBinOverlay/TrashBinOverlay.js.map +1 -0
- package/Presentation/components/TrashBinOverlay/index.d.ts +1 -0
- package/Presentation/components/TrashBinOverlay/index.js +3 -0
- package/Presentation/components/TrashBinOverlay/index.js.map +1 -0
- package/Presentation/configs/index.d.ts +1 -0
- package/Presentation/configs/index.js +3 -0
- package/Presentation/configs/index.js.map +1 -0
- package/Presentation/configs/list/Browser/BulkAction.d.ts +29 -0
- package/Presentation/configs/list/Browser/BulkAction.js +73 -0
- package/Presentation/configs/list/Browser/BulkAction.js.map +1 -0
- package/Presentation/configs/list/Browser/EntryAction.d.ts +7 -0
- package/Presentation/configs/list/Browser/EntryAction.js +16 -0
- package/Presentation/configs/list/Browser/EntryAction.js.map +1 -0
- package/Presentation/configs/list/Browser/Table/Column.d.ts +9 -0
- package/Presentation/configs/list/Browser/Table/Column.js +14 -0
- package/Presentation/configs/list/Browser/Table/Column.js.map +1 -0
- package/Presentation/configs/list/Browser/Table/Sorting.d.ts +5 -0
- package/Presentation/configs/list/Browser/Table/Sorting.js +10 -0
- package/Presentation/configs/list/Browser/Table/Sorting.js.map +1 -0
- package/Presentation/configs/list/Browser/Table/index.d.ts +14 -0
- package/Presentation/configs/list/Browser/Table/index.js +8 -0
- package/Presentation/configs/list/Browser/Table/index.js.map +1 -0
- package/Presentation/configs/list/Browser/index.d.ts +34 -0
- package/Presentation/configs/list/Browser/index.js +10 -0
- package/Presentation/configs/list/Browser/index.js.map +1 -0
- package/Presentation/configs/list/TrashBinListConfig.d.ts +41 -0
- package/Presentation/configs/list/TrashBinListConfig.js +29 -0
- package/Presentation/configs/list/TrashBinListConfig.js.map +1 -0
- package/Presentation/configs/list/index.d.ts +1 -0
- package/Presentation/configs/list/index.js +3 -0
- package/Presentation/configs/list/index.js.map +1 -0
- package/Presentation/hooks/index.d.ts +4 -0
- package/Presentation/hooks/index.js +6 -0
- package/Presentation/hooks/index.js.map +1 -0
- package/Presentation/hooks/useDeleteTrashBinItem.d.ts +8 -0
- package/Presentation/hooks/useDeleteTrashBinItem.js +32 -0
- package/Presentation/hooks/useDeleteTrashBinItem.js.map +1 -0
- package/Presentation/hooks/useRestoreTrashBinItem.d.ts +8 -0
- package/Presentation/hooks/useRestoreTrashBinItem.js +41 -0
- package/Presentation/hooks/useRestoreTrashBinItem.js.map +1 -0
- package/Presentation/hooks/useTrashBin.d.ts +31 -0
- package/Presentation/hooks/useTrashBin.js +49 -0
- package/Presentation/hooks/useTrashBin.js.map +1 -0
- package/Presentation/hooks/useTrashBinItem.d.ts +12 -0
- package/Presentation/hooks/useTrashBinItem.js +9 -0
- package/Presentation/hooks/useTrashBinItem.js.map +1 -0
- package/Presentation/index.d.ts +26 -0
- package/Presentation/index.js +51 -0
- package/Presentation/index.js.map +1 -0
- package/README.md +17 -0
- package/UseCases/BulkAction/BulkActionUseCase.d.ts +8 -0
- package/UseCases/BulkAction/BulkActionUseCase.js +12 -0
- package/UseCases/BulkAction/BulkActionUseCase.js.map +1 -0
- package/UseCases/BulkAction/IBulkActionUseCase.d.ts +4 -0
- package/UseCases/BulkAction/IBulkActionUseCase.js +3 -0
- package/UseCases/BulkAction/IBulkActionUseCase.js.map +1 -0
- package/UseCases/BulkAction/index.d.ts +2 -0
- package/UseCases/BulkAction/index.js +4 -0
- package/UseCases/BulkAction/index.js.map +1 -0
- package/UseCases/DeleteItem/DeleteItemUseCase.d.ts +7 -0
- package/UseCases/DeleteItem/DeleteItemUseCase.js +12 -0
- package/UseCases/DeleteItem/DeleteItemUseCase.js.map +1 -0
- package/UseCases/DeleteItem/IDeleteItemUseCase.d.ts +3 -0
- package/UseCases/DeleteItem/IDeleteItemUseCase.js +3 -0
- package/UseCases/DeleteItem/IDeleteItemUseCase.js.map +1 -0
- package/UseCases/DeleteItem/index.d.ts +2 -0
- package/UseCases/DeleteItem/index.js +4 -0
- package/UseCases/DeleteItem/index.js.map +1 -0
- package/UseCases/GetRestoredItem/GetRestoredItemUseCase.d.ts +7 -0
- package/UseCases/GetRestoredItem/GetRestoredItemUseCase.js +13 -0
- package/UseCases/GetRestoredItem/GetRestoredItemUseCase.js.map +1 -0
- package/UseCases/GetRestoredItem/IGetRestoredItemUseCase.d.ts +4 -0
- package/UseCases/GetRestoredItem/IGetRestoredItemUseCase.js +3 -0
- package/UseCases/GetRestoredItem/IGetRestoredItemUseCase.js.map +1 -0
- package/UseCases/GetRestoredItem/index.d.ts +2 -0
- package/UseCases/GetRestoredItem/index.js +4 -0
- package/UseCases/GetRestoredItem/index.js.map +1 -0
- package/UseCases/ListItems/IListItemsUseCase.d.ts +4 -0
- package/UseCases/ListItems/IListItemsUseCase.js +3 -0
- package/UseCases/ListItems/IListItemsUseCase.js.map +1 -0
- package/UseCases/ListItems/ListItemsUseCase.d.ts +8 -0
- package/UseCases/ListItems/ListItemsUseCase.js +14 -0
- package/UseCases/ListItems/ListItemsUseCase.js.map +1 -0
- package/UseCases/ListItems/ListItemsUseCaseWithSearch.d.ts +9 -0
- package/UseCases/ListItems/ListItemsUseCaseWithSearch.js +17 -0
- package/UseCases/ListItems/ListItemsUseCaseWithSearch.js.map +1 -0
- package/UseCases/ListItems/ListItemsUseCaseWithSorting.d.ts +9 -0
- package/UseCases/ListItems/ListItemsUseCaseWithSorting.js +18 -0
- package/UseCases/ListItems/ListItemsUseCaseWithSorting.js.map +1 -0
- package/UseCases/ListItems/index.d.ts +4 -0
- package/UseCases/ListItems/index.js +6 -0
- package/UseCases/ListItems/index.js.map +1 -0
- package/UseCases/ListMoreItems/IListMoreItemsUseCase.d.ts +3 -0
- package/UseCases/ListMoreItems/IListMoreItemsUseCase.js +3 -0
- package/UseCases/ListMoreItems/IListMoreItemsUseCase.js.map +1 -0
- package/UseCases/ListMoreItems/ListMoreItemsUseCase.d.ts +7 -0
- package/UseCases/ListMoreItems/ListMoreItemsUseCase.js +12 -0
- package/UseCases/ListMoreItems/ListMoreItemsUseCase.js.map +1 -0
- package/UseCases/ListMoreItems/index.d.ts +2 -0
- package/UseCases/ListMoreItems/index.js +4 -0
- package/UseCases/ListMoreItems/index.js.map +1 -0
- package/UseCases/RestoreItem/IRestoreItemUseCase.d.ts +3 -0
- package/UseCases/RestoreItem/IRestoreItemUseCase.js +3 -0
- package/UseCases/RestoreItem/IRestoreItemUseCase.js.map +1 -0
- package/UseCases/RestoreItem/RestoreItemUseCase.d.ts +7 -0
- package/UseCases/RestoreItem/RestoreItemUseCase.js +12 -0
- package/UseCases/RestoreItem/RestoreItemUseCase.js.map +1 -0
- package/UseCases/RestoreItem/index.d.ts +2 -0
- package/UseCases/RestoreItem/index.js +4 -0
- package/UseCases/RestoreItem/index.js.map +1 -0
- package/UseCases/SearchItems/ISearchItemsUseCase.d.ts +3 -0
- package/UseCases/SearchItems/ISearchItemsUseCase.js +3 -0
- package/UseCases/SearchItems/ISearchItemsUseCase.js.map +1 -0
- package/UseCases/SearchItems/SearchItemsUseCase.d.ts +7 -0
- package/UseCases/SearchItems/SearchItemsUseCase.js +12 -0
- package/UseCases/SearchItems/SearchItemsUseCase.js.map +1 -0
- package/UseCases/SearchItems/index.d.ts +2 -0
- package/UseCases/SearchItems/index.js +4 -0
- package/UseCases/SearchItems/index.js.map +1 -0
- package/UseCases/SelectAllItems/ISelectAllItemsUseCase.d.ts +3 -0
- package/UseCases/SelectAllItems/ISelectAllItemsUseCase.js +3 -0
- package/UseCases/SelectAllItems/ISelectAllItemsUseCase.js.map +1 -0
- package/UseCases/SelectAllItems/SelectAllItemsUseCase.d.ts +7 -0
- package/UseCases/SelectAllItems/SelectAllItemsUseCase.js +12 -0
- package/UseCases/SelectAllItems/SelectAllItemsUseCase.js.map +1 -0
- package/UseCases/SelectAllItems/index.d.ts +2 -0
- package/UseCases/SelectAllItems/index.js +4 -0
- package/UseCases/SelectAllItems/index.js.map +1 -0
- package/UseCases/SelectItems/ISelectItemsUseCase.d.ts +4 -0
- package/UseCases/SelectItems/ISelectItemsUseCase.js +3 -0
- package/UseCases/SelectItems/ISelectItemsUseCase.js.map +1 -0
- package/UseCases/SelectItems/SelectItemsUseCase.d.ts +7 -0
- package/UseCases/SelectItems/SelectItemsUseCase.js +12 -0
- package/UseCases/SelectItems/SelectItemsUseCase.js.map +1 -0
- package/UseCases/SelectItems/index.d.ts +2 -0
- package/UseCases/SelectItems/index.js +4 -0
- package/UseCases/SelectItems/index.js.map +1 -0
- package/UseCases/SortItems/ISortItemsUseCase.d.ts +4 -0
- package/UseCases/SortItems/ISortItemsUseCase.js +3 -0
- package/UseCases/SortItems/ISortItemsUseCase.js.map +1 -0
- package/UseCases/SortItems/SortItemsUseCase.d.ts +7 -0
- package/UseCases/SortItems/SortItemsUseCase.js +12 -0
- package/UseCases/SortItems/SortItemsUseCase.js.map +1 -0
- package/UseCases/SortItems/index.d.ts +2 -0
- package/UseCases/SortItems/index.js +4 -0
- package/UseCases/SortItems/index.js.map +1 -0
- package/UseCases/UnSelectAllItems/IUnselectAllItemsUseCase.d.ts +3 -0
- package/UseCases/UnSelectAllItems/IUnselectAllItemsUseCase.js +3 -0
- package/UseCases/UnSelectAllItems/IUnselectAllItemsUseCase.js.map +1 -0
- package/UseCases/UnSelectAllItems/UnselectAllItemsUseCase.d.ts +7 -0
- package/UseCases/UnSelectAllItems/UnselectAllItemsUseCase.js +12 -0
- package/UseCases/UnSelectAllItems/UnselectAllItemsUseCase.js.map +1 -0
- package/UseCases/UnSelectAllItems/index.d.ts +2 -0
- package/UseCases/UnSelectAllItems/index.js +4 -0
- package/UseCases/UnSelectAllItems/index.js.map +1 -0
- package/UseCases/index.d.ts +11 -0
- package/UseCases/index.js +13 -0
- package/UseCases/index.js.map +1 -0
- package/index.d.ts +3 -0
- package/index.js +5 -0
- package/index.js.map +1 -0
- package/package.json +46 -0
- package/types.d.ts +43 -0
- package/types.js +9 -0
- package/types.js.map +1 -0
|
@@ -0,0 +1 @@
|
|
|
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 type { Sorting } from \"@webiny/app-utils\";\nimport { LoadingRepository, MetaRepository, SortingRepository } from \"@webiny/app-utils\";\nimport type { TrashBinIdentity, TrashBinLocation } from \"~/types\";\nimport { LoadingActions } from \"~/types\";\nimport { TrashBinControllers } from \"~/Presentation/TrashBin/TrashBinControllers\";\nimport type {\n ITrashBinBulkActionsGateway,\n ITrashBinDeleteItemGateway,\n ITrashBinListGateway,\n ITrashBinRestoreItemGateway\n} from \"~/Gateways\";\nimport type { 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":[]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { ISortingRepository } from "@webiny/app-utils";
|
|
2
|
+
import type { ISearchRepository, ISelectedItemsRepository, ITrashBinItemsRepository } from "../../Domain";
|
|
3
|
+
import { BulkActionsController, DeleteItemController, GetRestoredItemByIdController, ListItemsController, ListMoreItemsController, RestoreItemController, SearchItemsController, SelectAllItemsController, SelectItemsController, SortItemsController, UnselectAllItemsController } from "./controllers";
|
|
4
|
+
export declare class TrashBinControllers {
|
|
5
|
+
private readonly itemsRepository;
|
|
6
|
+
private readonly selectedRepository;
|
|
7
|
+
private readonly sortingRepository;
|
|
8
|
+
private readonly searchRepository;
|
|
9
|
+
private readonly deleteBulkActionName;
|
|
10
|
+
private readonly restoreBulkActionName;
|
|
11
|
+
constructor(itemsRepository: ITrashBinItemsRepository, selectedRepository: ISelectedItemsRepository, sortingRepository: ISortingRepository, searchRepository: ISearchRepository, deleteBulkActionName: string, restoreBulkActionName: string);
|
|
12
|
+
getControllers(): {
|
|
13
|
+
listItems: ListItemsController;
|
|
14
|
+
listMoreItems: ListMoreItemsController;
|
|
15
|
+
deleteItem: DeleteItemController;
|
|
16
|
+
restoreItem: RestoreItemController;
|
|
17
|
+
restoreBulkAction: BulkActionsController;
|
|
18
|
+
deleteBulkAction: BulkActionsController;
|
|
19
|
+
selectItems: SelectItemsController;
|
|
20
|
+
selectAllItems: SelectAllItemsController;
|
|
21
|
+
unselectAllItems: UnselectAllItemsController;
|
|
22
|
+
sortItems: SortItemsController;
|
|
23
|
+
searchItems: SearchItemsController;
|
|
24
|
+
getRestoredItemById: GetRestoredItemByIdController;
|
|
25
|
+
};
|
|
26
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
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) {
|
|
5
|
+
this.itemsRepository = itemsRepository;
|
|
6
|
+
this.selectedRepository = selectedRepository;
|
|
7
|
+
this.sortingRepository = sortingRepository;
|
|
8
|
+
this.searchRepository = searchRepository;
|
|
9
|
+
this.deleteBulkActionName = deleteBulkActionName;
|
|
10
|
+
this.restoreBulkActionName = restoreBulkActionName;
|
|
11
|
+
}
|
|
12
|
+
getControllers() {
|
|
13
|
+
// Select Items UseCase
|
|
14
|
+
const selectItemsUseCase = () => new SelectItemsUseCase(this.selectedRepository);
|
|
15
|
+
|
|
16
|
+
// Select All Items UseCase
|
|
17
|
+
const selectAllItemsUseCase = () => new SelectAllItemsUseCase(this.selectedRepository);
|
|
18
|
+
|
|
19
|
+
// Unselect All Items UseCase
|
|
20
|
+
const unselectAllItemsUseCase = () => new UnselectAllItemsUseCase(this.selectedRepository);
|
|
21
|
+
|
|
22
|
+
// Sort Items UseCase
|
|
23
|
+
const sortItemsUseCase = () => new SortItemsUseCase(this.sortingRepository);
|
|
24
|
+
|
|
25
|
+
// Search Items UseCase
|
|
26
|
+
const searchItemsUseCase = () => new SearchItemsUseCase(this.searchRepository);
|
|
27
|
+
|
|
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
|
+
};
|
|
34
|
+
|
|
35
|
+
// List More Items UseCase
|
|
36
|
+
const listMoreItemsUseCase = () => new ListMoreItemsUseCase(this.itemsRepository);
|
|
37
|
+
|
|
38
|
+
// Delete Item UseCase
|
|
39
|
+
const deleteItemUseCase = () => new DeleteItemUseCase(this.itemsRepository);
|
|
40
|
+
|
|
41
|
+
// Restore Item UseCase
|
|
42
|
+
const restoreItemUseCase = () => new RestoreItemUseCase(this.itemsRepository);
|
|
43
|
+
|
|
44
|
+
// Get RestoredItem UseCase
|
|
45
|
+
const getRestoredItemUseCase = () => new GetRestoredItemUseCase(this.itemsRepository);
|
|
46
|
+
|
|
47
|
+
// Bulk Action UseCase
|
|
48
|
+
const bulkActionUseCase = () => new BulkActionUseCase(this.itemsRepository);
|
|
49
|
+
|
|
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
|
+
}
|
|
79
|
+
|
|
80
|
+
//# sourceMappingURL=TrashBinControllers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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 type { ISortingRepository } from \"@webiny/app-utils\";\nimport type {\n ISearchRepository,\n ISelectedItemsRepository,\n ITrashBinItemsRepository\n} 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":[]}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { ISortingRepository } from "@webiny/app-utils";
|
|
2
|
+
import type { ITrashBinItemsRepository, ISelectedItemsRepository, ISearchRepository } from "../../Domain/Repositories";
|
|
3
|
+
export declare class TrashBinPresenter {
|
|
4
|
+
private itemsRepository;
|
|
5
|
+
private selectedRepository;
|
|
6
|
+
private sortingRepository;
|
|
7
|
+
private searchRepository;
|
|
8
|
+
private itemMapper;
|
|
9
|
+
private readonly retentionPeriod;
|
|
10
|
+
private readonly nameColumnId;
|
|
11
|
+
constructor(itemsRepository: ITrashBinItemsRepository, selectedRepository: ISelectedItemsRepository, sortingRepository: ISortingRepository, searchRepository: ISearchRepository, retentionPeriod: number, nameColumnId?: string);
|
|
12
|
+
get vm(): {
|
|
13
|
+
items: import("../../Domain").TrashBinItemDTO[];
|
|
14
|
+
restoredItems: import("../../Domain").TrashBinItemDTO[];
|
|
15
|
+
selectedItems: import("../../Domain").TrashBinItemDTO[];
|
|
16
|
+
allowSelectAll: boolean;
|
|
17
|
+
isSelectedAll: boolean;
|
|
18
|
+
meta: import("@webiny/app-utils").MetaDTO;
|
|
19
|
+
sorting: import("@webiny/app-utils").ColumnSorting[];
|
|
20
|
+
loading: Record<string, any>;
|
|
21
|
+
isEmptyView: boolean;
|
|
22
|
+
isSearchView: boolean;
|
|
23
|
+
searchQuery: string;
|
|
24
|
+
searchLabel: string;
|
|
25
|
+
nameColumnId: string;
|
|
26
|
+
retentionPeriod: string;
|
|
27
|
+
};
|
|
28
|
+
private mapItemsToDTOs;
|
|
29
|
+
private getIsEmptyView;
|
|
30
|
+
private getIsSearchView;
|
|
31
|
+
private getRetentionPeriod;
|
|
32
|
+
private getAllowSelectAll;
|
|
33
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { makeAutoObservable } from "mobx";
|
|
2
|
+
import { MetaMapper, SortingMapper } from "@webiny/app-utils";
|
|
3
|
+
import { TrashBinItemMapper } from "../../Domain/Repositories";
|
|
4
|
+
import { LoadingActions } from "../../types";
|
|
5
|
+
export class TrashBinPresenter {
|
|
6
|
+
constructor(itemsRepository, selectedRepository, sortingRepository, searchRepository, retentionPeriod, nameColumnId) {
|
|
7
|
+
this.itemsRepository = itemsRepository;
|
|
8
|
+
this.selectedRepository = selectedRepository;
|
|
9
|
+
this.sortingRepository = sortingRepository;
|
|
10
|
+
this.searchRepository = searchRepository;
|
|
11
|
+
this.itemMapper = new TrashBinItemMapper();
|
|
12
|
+
this.retentionPeriod = retentionPeriod;
|
|
13
|
+
this.nameColumnId = nameColumnId;
|
|
14
|
+
makeAutoObservable(this);
|
|
15
|
+
}
|
|
16
|
+
get vm() {
|
|
17
|
+
return {
|
|
18
|
+
items: this.mapItemsToDTOs(this.itemsRepository.getItems()),
|
|
19
|
+
restoredItems: this.mapItemsToDTOs(this.itemsRepository.getRestoredItems()),
|
|
20
|
+
selectedItems: this.mapItemsToDTOs(this.selectedRepository.getSelectedItems()),
|
|
21
|
+
allowSelectAll: this.getAllowSelectAll(),
|
|
22
|
+
isSelectedAll: this.selectedRepository.getSelectedAllItems(),
|
|
23
|
+
meta: MetaMapper.toDto(this.itemsRepository.getMeta()),
|
|
24
|
+
sorting: this.sortingRepository.get().map(sort => SortingMapper.fromDTOtoColumn(sort)),
|
|
25
|
+
loading: this.itemsRepository.getLoading(),
|
|
26
|
+
isEmptyView: this.getIsEmptyView(),
|
|
27
|
+
isSearchView: this.getIsSearchView(),
|
|
28
|
+
searchQuery: this.searchRepository.get(),
|
|
29
|
+
searchLabel: "Search all items",
|
|
30
|
+
nameColumnId: this.nameColumnId || "id",
|
|
31
|
+
retentionPeriod: this.getRetentionPeriod()
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
mapItemsToDTOs(items) {
|
|
35
|
+
return items.map(item => this.itemMapper.toDTO(item));
|
|
36
|
+
}
|
|
37
|
+
getIsEmptyView() {
|
|
38
|
+
const loading = this.itemsRepository.getLoading();
|
|
39
|
+
const items = this.itemsRepository.getItems();
|
|
40
|
+
return !loading[LoadingActions.list] && !items.length;
|
|
41
|
+
}
|
|
42
|
+
getIsSearchView() {
|
|
43
|
+
const loading = this.itemsRepository.getLoading();
|
|
44
|
+
const items = this.itemsRepository.getItems();
|
|
45
|
+
const searchQuery = this.searchRepository.get();
|
|
46
|
+
return !loading[LoadingActions.list] && !items.length && !!searchQuery;
|
|
47
|
+
}
|
|
48
|
+
getRetentionPeriod() {
|
|
49
|
+
if (this.retentionPeriod === 1) {
|
|
50
|
+
return "1 day";
|
|
51
|
+
}
|
|
52
|
+
return `${this.retentionPeriod} days`;
|
|
53
|
+
}
|
|
54
|
+
getAllowSelectAll() {
|
|
55
|
+
return this.itemsRepository.getMeta().hasMoreItems && !!this.itemsRepository.getItems().length && this.selectedRepository.getSelectedItems().length === this.itemsRepository.getItems().length;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
//# sourceMappingURL=TrashBinPresenter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["makeAutoObservable","MetaMapper","SortingMapper","TrashBinItemMapper","LoadingActions","TrashBinPresenter","constructor","itemsRepository","selectedRepository","sortingRepository","searchRepository","retentionPeriod","nameColumnId","itemMapper","vm","items","mapItemsToDTOs","getItems","restoredItems","getRestoredItems","selectedItems","getSelectedItems","allowSelectAll","getAllowSelectAll","isSelectedAll","getSelectedAllItems","meta","toDto","getMeta","sorting","get","map","sort","fromDTOtoColumn","loading","getLoading","isEmptyView","getIsEmptyView","isSearchView","getIsSearchView","searchQuery","searchLabel","getRetentionPeriod","item","toDTO","list","length","hasMoreItems"],"sources":["TrashBinPresenter.ts"],"sourcesContent":["import { makeAutoObservable } from \"mobx\";\nimport type { ITrashBinItemMapper, TrashBinItem } from \"~/Domain\";\nimport type { ISortingRepository } from \"@webiny/app-utils\";\nimport { MetaMapper, SortingMapper } from \"@webiny/app-utils\";\nimport type {\n ITrashBinItemsRepository,\n ISelectedItemsRepository,\n ISearchRepository\n} from \"~/Domain/Repositories\";\nimport { TrashBinItemMapper } from \"~/Domain/Repositories\";\nimport { LoadingActions } from \"~/types\";\n\nexport class TrashBinPresenter {\n private itemsRepository: ITrashBinItemsRepository;\n private selectedRepository: ISelectedItemsRepository;\n private sortingRepository: ISortingRepository;\n private searchRepository: ISearchRepository;\n private itemMapper: ITrashBinItemMapper<TrashBinItem>;\n private readonly retentionPeriod: number;\n private readonly nameColumnId: string | undefined;\n\n constructor(\n itemsRepository: ITrashBinItemsRepository,\n selectedRepository: ISelectedItemsRepository,\n sortingRepository: ISortingRepository,\n searchRepository: ISearchRepository,\n retentionPeriod: number,\n nameColumnId?: string\n ) {\n this.itemsRepository = itemsRepository;\n this.selectedRepository = selectedRepository;\n this.sortingRepository = sortingRepository;\n this.searchRepository = searchRepository;\n this.itemMapper = new TrashBinItemMapper();\n this.retentionPeriod = retentionPeriod;\n this.nameColumnId = nameColumnId;\n makeAutoObservable(this);\n }\n\n get vm() {\n return {\n items: this.mapItemsToDTOs(this.itemsRepository.getItems()),\n restoredItems: this.mapItemsToDTOs(this.itemsRepository.getRestoredItems()),\n selectedItems: this.mapItemsToDTOs(this.selectedRepository.getSelectedItems()),\n allowSelectAll: this.getAllowSelectAll(),\n isSelectedAll: this.selectedRepository.getSelectedAllItems(),\n meta: MetaMapper.toDto(this.itemsRepository.getMeta()),\n sorting: this.sortingRepository.get().map(sort => SortingMapper.fromDTOtoColumn(sort)),\n loading: this.itemsRepository.getLoading(),\n isEmptyView: this.getIsEmptyView(),\n isSearchView: this.getIsSearchView(),\n searchQuery: this.searchRepository.get(),\n searchLabel: \"Search all items\",\n nameColumnId: this.nameColumnId || \"id\",\n retentionPeriod: this.getRetentionPeriod()\n };\n }\n\n private mapItemsToDTOs(items: TrashBinItem[]) {\n return items.map(item => this.itemMapper.toDTO(item));\n }\n\n private getIsEmptyView() {\n const loading = this.itemsRepository.getLoading();\n const items = this.itemsRepository.getItems();\n return !loading[LoadingActions.list] && !items.length;\n }\n\n private getIsSearchView() {\n const loading = this.itemsRepository.getLoading();\n const items = this.itemsRepository.getItems();\n const searchQuery = this.searchRepository.get();\n return !loading[LoadingActions.list] && !items.length && !!searchQuery;\n }\n\n private getRetentionPeriod() {\n if (this.retentionPeriod === 1) {\n return \"1 day\";\n }\n return `${this.retentionPeriod} days`;\n }\n\n private getAllowSelectAll() {\n return (\n this.itemsRepository.getMeta().hasMoreItems &&\n !!this.itemsRepository.getItems().length &&\n this.selectedRepository.getSelectedItems().length ===\n this.itemsRepository.getItems().length\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { IBulkActionUseCase } from "../../../../UseCases";
|
|
2
|
+
import type { IBulkActionsController } from "./IBulkActionsController";
|
|
3
|
+
import type { TrashBinBulkActionsParams } from "../../../../types";
|
|
4
|
+
export declare class BulkActionsController implements IBulkActionsController {
|
|
5
|
+
private readonly useCaseFactory;
|
|
6
|
+
private readonly action;
|
|
7
|
+
constructor(useCaseFactory: () => IBulkActionUseCase, action: string);
|
|
8
|
+
execute(params: TrashBinBulkActionsParams): Promise<void>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export class BulkActionsController {
|
|
2
|
+
constructor(useCaseFactory, action) {
|
|
3
|
+
this.useCaseFactory = useCaseFactory;
|
|
4
|
+
this.action = action;
|
|
5
|
+
}
|
|
6
|
+
async execute(params) {
|
|
7
|
+
const bulkActionUseCase = this.useCaseFactory();
|
|
8
|
+
await bulkActionUseCase.execute(this.action, params);
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
//# sourceMappingURL=BulkActionsController.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["BulkActionsController","constructor","useCaseFactory","action","execute","params","bulkActionUseCase"],"sources":["BulkActionsController.ts"],"sourcesContent":["import type { IBulkActionUseCase } from \"~/UseCases\";\nimport type { IBulkActionsController } from \"./IBulkActionsController\";\nimport type { TrashBinBulkActionsParams } from \"~/types\";\n\nexport class BulkActionsController implements IBulkActionsController {\n private readonly useCaseFactory: () => IBulkActionUseCase;\n private readonly action: string;\n\n constructor(useCaseFactory: () => IBulkActionUseCase, action: string) {\n this.useCaseFactory = useCaseFactory;\n this.action = action;\n }\n\n async execute(params: TrashBinBulkActionsParams) {\n const bulkActionUseCase = this.useCaseFactory();\n await bulkActionUseCase.execute(this.action, params);\n }\n}\n"],"mappings":"AAIA,OAAO,MAAMA,qBAAqB,CAAmC;EAIjEC,WAAWA,CAACC,cAAwC,EAAEC,MAAc,EAAE;IAClE,IAAI,CAACD,cAAc,GAAGA,cAAc;IACpC,IAAI,CAACC,MAAM,GAAGA,MAAM;EACxB;EAEA,MAAMC,OAAOA,CAACC,MAAiC,EAAE;IAC7C,MAAMC,iBAAiB,GAAG,IAAI,CAACJ,cAAc,CAAC,CAAC;IAC/C,MAAMI,iBAAiB,CAACF,OAAO,CAAC,IAAI,CAACD,MAAM,EAAEE,MAAM,CAAC;EACxD;AACJ","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["IBulkActionsController.ts"],"sourcesContent":["import type { TrashBinBulkActionsParams } from \"~/types\";\n\nexport interface IBulkActionsController {\n execute: (params: TrashBinBulkActionsParams) => Promise<void>;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./IBulkActionsController\";\nexport * from \"./BulkActionsController\";\n"],"mappings":"AAAA;AACA","ignoreList":[]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { IDeleteItemUseCase } from "../../../../UseCases";
|
|
2
|
+
import type { IDeleteItemController } from "./IDeleteItemController";
|
|
3
|
+
export declare class DeleteItemController implements IDeleteItemController {
|
|
4
|
+
private readonly useCaseFactory;
|
|
5
|
+
constructor(useCaseFactory: () => IDeleteItemUseCase);
|
|
6
|
+
execute(id: string): Promise<void>;
|
|
7
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export class DeleteItemController {
|
|
2
|
+
constructor(useCaseFactory) {
|
|
3
|
+
this.useCaseFactory = useCaseFactory;
|
|
4
|
+
}
|
|
5
|
+
async execute(id) {
|
|
6
|
+
const deleteItemUseCase = this.useCaseFactory();
|
|
7
|
+
await deleteItemUseCase.execute(id);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
//# sourceMappingURL=DeleteItemController.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["DeleteItemController","constructor","useCaseFactory","execute","id","deleteItemUseCase"],"sources":["DeleteItemController.ts"],"sourcesContent":["import type { IDeleteItemUseCase } from \"~/UseCases\";\nimport type { IDeleteItemController } from \"./IDeleteItemController\";\n\nexport class DeleteItemController implements IDeleteItemController {\n private readonly useCaseFactory: () => IDeleteItemUseCase;\n\n constructor(useCaseFactory: () => IDeleteItemUseCase) {\n this.useCaseFactory = useCaseFactory;\n }\n\n async execute(id: string) {\n const deleteItemUseCase = this.useCaseFactory();\n await deleteItemUseCase.execute(id);\n }\n}\n"],"mappings":"AAGA,OAAO,MAAMA,oBAAoB,CAAkC;EAG/DC,WAAWA,CAACC,cAAwC,EAAE;IAClD,IAAI,CAACA,cAAc,GAAGA,cAAc;EACxC;EAEA,MAAMC,OAAOA,CAACC,EAAU,EAAE;IACtB,MAAMC,iBAAiB,GAAG,IAAI,CAACH,cAAc,CAAC,CAAC;IAC/C,MAAMG,iBAAiB,CAACF,OAAO,CAACC,EAAE,CAAC;EACvC;AACJ","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["IDeleteItemController.ts"],"sourcesContent":["export interface IDeleteItemController {\n execute: (id: string) => Promise<void>;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./IDeleteItemController\";\nexport * from \"./DeleteItemController\";\n"],"mappings":"AAAA;AACA","ignoreList":[]}
|
package/Presentation/TrashBin/controllers/GetRestoredItemById/GetRestoredItemByIdController.d.ts
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { IGetRestoredItemUseCase } from "../../../../UseCases";
|
|
2
|
+
import type { IGetRestoredItemByIdController } from "./IGetRestoredItemByIdController";
|
|
3
|
+
export declare class GetRestoredItemByIdController implements IGetRestoredItemByIdController {
|
|
4
|
+
private readonly useCaseFactory;
|
|
5
|
+
private itemMapper;
|
|
6
|
+
constructor(useCaseFactory: () => IGetRestoredItemUseCase);
|
|
7
|
+
execute(id: string): Promise<{
|
|
8
|
+
id: string;
|
|
9
|
+
$selectable: boolean;
|
|
10
|
+
title: string;
|
|
11
|
+
location: import("../../../../types").TrashBinLocation;
|
|
12
|
+
createdBy: import("../../../../types").TrashBinIdentity;
|
|
13
|
+
deletedBy: {
|
|
14
|
+
id: string;
|
|
15
|
+
displayName: string;
|
|
16
|
+
type: string;
|
|
17
|
+
};
|
|
18
|
+
deletedOn: string;
|
|
19
|
+
} | undefined>;
|
|
20
|
+
}
|
package/Presentation/TrashBin/controllers/GetRestoredItemById/GetRestoredItemByIdController.js
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { TrashBinItemMapper } from "../../../../Domain/Repositories/TrashBinItems/TrashBinItemMapper";
|
|
2
|
+
export class GetRestoredItemByIdController {
|
|
3
|
+
constructor(useCaseFactory) {
|
|
4
|
+
this.useCaseFactory = useCaseFactory;
|
|
5
|
+
this.itemMapper = new TrashBinItemMapper();
|
|
6
|
+
}
|
|
7
|
+
async execute(id) {
|
|
8
|
+
const getRestoredItemUseCase = this.useCaseFactory();
|
|
9
|
+
const item = await getRestoredItemUseCase.execute(id);
|
|
10
|
+
return item ? this.itemMapper.toDTO(item) : undefined;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
//# sourceMappingURL=GetRestoredItemByIdController.js.map
|
package/Presentation/TrashBin/controllers/GetRestoredItemById/GetRestoredItemByIdController.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["TrashBinItemMapper","GetRestoredItemByIdController","constructor","useCaseFactory","itemMapper","execute","id","getRestoredItemUseCase","item","toDTO","undefined"],"sources":["GetRestoredItemByIdController.ts"],"sourcesContent":["import type { IGetRestoredItemUseCase } from \"~/UseCases\";\nimport type { IGetRestoredItemByIdController } from \"./IGetRestoredItemByIdController\";\nimport { TrashBinItemMapper } from \"~/Domain/Repositories/TrashBinItems/TrashBinItemMapper\";\n\nexport class GetRestoredItemByIdController implements IGetRestoredItemByIdController {\n private readonly useCaseFactory: () => IGetRestoredItemUseCase;\n private itemMapper: TrashBinItemMapper;\n\n constructor(useCaseFactory: () => IGetRestoredItemUseCase) {\n this.useCaseFactory = useCaseFactory;\n this.itemMapper = new TrashBinItemMapper();\n }\n\n async execute(id: string) {\n const getRestoredItemUseCase = this.useCaseFactory();\n const item = await getRestoredItemUseCase.execute(id);\n return item ? this.itemMapper.toDTO(item) : undefined;\n }\n}\n"],"mappings":"AAEA,SAASA,kBAAkB;AAE3B,OAAO,MAAMC,6BAA6B,CAA2C;EAIjFC,WAAWA,CAACC,cAA6C,EAAE;IACvD,IAAI,CAACA,cAAc,GAAGA,cAAc;IACpC,IAAI,CAACC,UAAU,GAAG,IAAIJ,kBAAkB,CAAC,CAAC;EAC9C;EAEA,MAAMK,OAAOA,CAACC,EAAU,EAAE;IACtB,MAAMC,sBAAsB,GAAG,IAAI,CAACJ,cAAc,CAAC,CAAC;IACpD,MAAMK,IAAI,GAAG,MAAMD,sBAAsB,CAACF,OAAO,CAACC,EAAE,CAAC;IACrD,OAAOE,IAAI,GAAG,IAAI,CAACJ,UAAU,CAACK,KAAK,CAACD,IAAI,CAAC,GAAGE,SAAS;EACzD;AACJ","ignoreList":[]}
|
package/Presentation/TrashBin/controllers/GetRestoredItemById/IGetRestoredItemByIdController.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["IGetRestoredItemByIdController.ts"],"sourcesContent":["import type { TrashBinItemDTO } from \"~/Domain\";\n\nexport interface IGetRestoredItemByIdController {\n execute(id: string): Promise<TrashBinItemDTO | undefined>;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./GetRestoredItemByIdController\";\nexport * from \"./IGetRestoredItemByIdController\";\n"],"mappings":"AAAA;AACA","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["IListItemsController.ts"],"sourcesContent":["export interface IListItemsController {\n execute: () => Promise<void>;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { IListItemsController } from "./IListItemsController";
|
|
2
|
+
import type { IListItemsUseCase } from "../../../../UseCases";
|
|
3
|
+
export declare class ListItemsController implements IListItemsController {
|
|
4
|
+
private readonly useCaseFactory;
|
|
5
|
+
constructor(useCaseFactory: () => IListItemsUseCase);
|
|
6
|
+
execute(): Promise<void>;
|
|
7
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export class ListItemsController {
|
|
2
|
+
constructor(useCaseFactory) {
|
|
3
|
+
this.useCaseFactory = useCaseFactory;
|
|
4
|
+
}
|
|
5
|
+
async execute() {
|
|
6
|
+
const listItemsUseCase = this.useCaseFactory();
|
|
7
|
+
await listItemsUseCase.execute();
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
//# sourceMappingURL=ListItemsController.js.map
|