@webiny/app-aco 5.42.0-beta.4 → 5.42.1-beta.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/components/AdvancedSearch/domain/Filter.d.ts +8 -8
- package/components/FolderTree/List/index.js +8 -9
- package/components/FolderTree/List/index.js.map +1 -1
- package/components/FolderTree/List/utils.d.ts +3 -3
- package/components/FolderTree/List/utils.js +3 -3
- package/components/FolderTree/List/utils.js.map +1 -1
- package/components/FolderTree/index.js +8 -6
- package/components/FolderTree/index.js.map +1 -1
- package/contexts/acoList.js +10 -8
- package/contexts/acoList.js.map +1 -1
- package/contexts/folders.d.ts +1 -17
- package/contexts/folders.js +2 -127
- package/contexts/folders.js.map +1 -1
- package/dialogs/useCreateDialog.js +3 -3
- package/dialogs/useCreateDialog.js.map +1 -1
- package/dialogs/useDeleteDialog.js +5 -9
- package/dialogs/useDeleteDialog.js.map +1 -1
- package/dialogs/useEditDialog.js +5 -9
- package/dialogs/useEditDialog.js.map +1 -1
- package/dialogs/useSetPermissionsDialog.js +4 -6
- package/dialogs/useSetPermissionsDialog.js.map +1 -1
- package/features/folders/Folder.d.ts +39 -0
- package/features/folders/Folder.js +38 -0
- package/features/folders/Folder.js.map +1 -0
- package/features/folders/cache/FoldersCacheFactory.d.ts +8 -0
- package/features/folders/cache/FoldersCacheFactory.js +35 -0
- package/features/folders/cache/FoldersCacheFactory.js.map +1 -0
- package/features/folders/cache/ListCache.d.ts +29 -0
- package/features/folders/cache/ListCache.js +82 -0
- package/features/folders/cache/ListCache.js.map +1 -0
- package/features/folders/cache/index.d.ts +2 -0
- package/features/folders/cache/index.js +29 -0
- package/features/folders/cache/index.js.map +1 -0
- package/features/folders/createFolder/CreateFolder.d.ts +5 -0
- package/features/folders/createFolder/CreateFolder.js +31 -0
- package/features/folders/createFolder/CreateFolder.js.map +1 -0
- package/features/folders/createFolder/CreateFolder.test.d.ts +1 -0
- package/features/folders/createFolder/CreateFolder.test.js +42 -0
- package/features/folders/createFolder/CreateFolder.test.js.map +1 -0
- package/features/folders/createFolder/CreateFolderGqlGateway.d.ts +21 -0
- package/features/folders/createFolder/CreateFolderGqlGateway.js +44 -0
- package/features/folders/createFolder/CreateFolderGqlGateway.js.map +1 -0
- package/features/folders/createFolder/CreateFolderRepository.d.ts +11 -0
- package/features/folders/createFolder/CreateFolderRepository.js +34 -0
- package/features/folders/createFolder/CreateFolderRepository.js.map +1 -0
- package/features/folders/createFolder/CreateFolderUseCase.d.ts +7 -0
- package/features/folders/createFolder/CreateFolderUseCase.js +30 -0
- package/features/folders/createFolder/CreateFolderUseCase.js.map +1 -0
- package/features/folders/createFolder/CreateFolderUseCaseWithLoading.d.ts +8 -0
- package/features/folders/createFolder/CreateFolderUseCaseWithLoading.js +25 -0
- package/features/folders/createFolder/CreateFolderUseCaseWithLoading.js.map +1 -0
- package/features/folders/createFolder/FolderDto.d.ts +8 -0
- package/features/folders/createFolder/FolderDto.js +7 -0
- package/features/folders/createFolder/FolderDto.js.map +1 -0
- package/features/folders/createFolder/FolderGqlDto.d.ts +19 -0
- package/features/folders/createFolder/FolderGqlDto.js +7 -0
- package/features/folders/createFolder/FolderGqlDto.js.map +1 -0
- package/features/folders/createFolder/ICreateFolderGateway.d.ts +5 -0
- package/features/folders/createFolder/ICreateFolderGateway.js +7 -0
- package/features/folders/createFolder/ICreateFolderGateway.js.map +1 -0
- package/features/folders/createFolder/ICreateFolderRepository.d.ts +4 -0
- package/features/folders/createFolder/ICreateFolderRepository.js +7 -0
- package/features/folders/createFolder/ICreateFolderRepository.js.map +1 -0
- package/features/folders/createFolder/ICreateFolderUseCase.d.ts +11 -0
- package/features/folders/createFolder/ICreateFolderUseCase.js +7 -0
- package/features/folders/createFolder/ICreateFolderUseCase.js.map +1 -0
- package/features/folders/createFolder/index.d.ts +1 -0
- package/features/folders/createFolder/index.js +18 -0
- package/features/folders/createFolder/index.js.map +1 -0
- package/features/folders/createFolder/useCreateFolder.d.ts +4 -0
- package/features/folders/createFolder/useCreateFolder.js +25 -0
- package/features/folders/createFolder/useCreateFolder.js.map +1 -0
- package/features/folders/deleteFolder/DeleteFolder.d.ts +5 -0
- package/features/folders/deleteFolder/DeleteFolder.js +31 -0
- package/features/folders/deleteFolder/DeleteFolder.js.map +1 -0
- package/features/folders/deleteFolder/DeleteFolder.test.d.ts +1 -0
- package/features/folders/deleteFolder/DeleteFolder.test.js +43 -0
- package/features/folders/deleteFolder/DeleteFolder.test.js.map +1 -0
- package/features/folders/deleteFolder/DeleteFolderGqlGateway.d.ts +20 -0
- package/features/folders/deleteFolder/DeleteFolderGqlGateway.js +43 -0
- package/features/folders/deleteFolder/DeleteFolderGqlGateway.js.map +1 -0
- package/features/folders/deleteFolder/DeleteFolderRepository.d.ts +10 -0
- package/features/folders/deleteFolder/DeleteFolderRepository.js +27 -0
- package/features/folders/deleteFolder/DeleteFolderRepository.js.map +1 -0
- package/features/folders/deleteFolder/DeleteFolderUseCase.d.ts +7 -0
- package/features/folders/deleteFolder/DeleteFolderUseCase.js +31 -0
- package/features/folders/deleteFolder/DeleteFolderUseCase.js.map +1 -0
- package/features/folders/deleteFolder/DeleteFolderUseCaseWithLoading.d.ts +8 -0
- package/features/folders/deleteFolder/DeleteFolderUseCaseWithLoading.js +25 -0
- package/features/folders/deleteFolder/DeleteFolderUseCaseWithLoading.js.map +1 -0
- package/features/folders/deleteFolder/IDeleteFolderGateway.d.ts +3 -0
- package/features/folders/deleteFolder/IDeleteFolderGateway.js +7 -0
- package/features/folders/deleteFolder/IDeleteFolderGateway.js.map +1 -0
- package/features/folders/deleteFolder/IDeleteFolderRepository.d.ts +4 -0
- package/features/folders/deleteFolder/IDeleteFolderRepository.js +7 -0
- package/features/folders/deleteFolder/IDeleteFolderRepository.js.map +1 -0
- package/features/folders/deleteFolder/IDeleteFolderUseCase.d.ts +12 -0
- package/features/folders/deleteFolder/IDeleteFolderUseCase.js +7 -0
- package/features/folders/deleteFolder/IDeleteFolderUseCase.js.map +1 -0
- package/features/folders/deleteFolder/index.d.ts +1 -0
- package/features/folders/deleteFolder/index.js +18 -0
- package/features/folders/deleteFolder/index.js.map +1 -0
- package/features/folders/deleteFolder/useDeleteFolder.d.ts +4 -0
- package/features/folders/deleteFolder/useDeleteFolder.js +25 -0
- package/features/folders/deleteFolder/useDeleteFolder.js.map +1 -0
- package/features/folders/getDescendantFolders/FolderDto.d.ts +9 -0
- package/features/folders/getDescendantFolders/FolderDto.js +7 -0
- package/features/folders/getDescendantFolders/FolderDto.js.map +1 -0
- package/features/folders/getDescendantFolders/GetDescendantFolders.d.ts +4 -0
- package/features/folders/getDescendantFolders/GetDescendantFolders.js +27 -0
- package/features/folders/getDescendantFolders/GetDescendantFolders.js.map +1 -0
- package/features/folders/getDescendantFolders/GetDescendantFolders.test.d.ts +1 -0
- package/features/folders/getDescendantFolders/GetDescendantFolders.test.js +106 -0
- package/features/folders/getDescendantFolders/GetDescendantFolders.test.js.map +1 -0
- package/features/folders/getDescendantFolders/GetDescendantFoldersRepository.d.ts +8 -0
- package/features/folders/getDescendantFolders/GetDescendantFoldersRepository.js +45 -0
- package/features/folders/getDescendantFolders/GetDescendantFoldersRepository.js.map +1 -0
- package/features/folders/getDescendantFolders/GetDescendantFoldersUseCase.d.ts +14 -0
- package/features/folders/getDescendantFolders/GetDescendantFoldersUseCase.js +33 -0
- package/features/folders/getDescendantFolders/GetDescendantFoldersUseCase.js.map +1 -0
- package/features/folders/getDescendantFolders/IGetDescendantFoldersRepository.d.ts +4 -0
- package/features/folders/getDescendantFolders/IGetDescendantFoldersRepository.js +7 -0
- package/features/folders/getDescendantFolders/IGetDescendantFoldersRepository.js.map +1 -0
- package/features/folders/getDescendantFolders/IGetDescendantFoldersUseCase.d.ts +7 -0
- package/features/folders/getDescendantFolders/IGetDescendantFoldersUseCase.js +7 -0
- package/features/folders/getDescendantFolders/IGetDescendantFoldersUseCase.js.map +1 -0
- package/features/folders/getDescendantFolders/index.d.ts +1 -0
- package/features/folders/getDescendantFolders/index.js +18 -0
- package/features/folders/getDescendantFolders/index.js.map +1 -0
- package/features/folders/getDescendantFolders/useGetDescendantFolders.d.ts +3 -0
- package/features/folders/getDescendantFolders/useGetDescendantFolders.js +23 -0
- package/features/folders/getDescendantFolders/useGetDescendantFolders.js.map +1 -0
- package/features/folders/getFolder/GetFolder.d.ts +5 -0
- package/features/folders/getFolder/GetFolder.js +31 -0
- package/features/folders/getFolder/GetFolder.js.map +1 -0
- package/features/folders/getFolder/GetFolderGqlGateway.d.ts +20 -0
- package/features/folders/getFolder/GetFolderGqlGateway.js +47 -0
- package/features/folders/getFolder/GetFolderGqlGateway.js.map +1 -0
- package/features/folders/getFolder/GetFolderRepository.d.ts +10 -0
- package/features/folders/getFolder/GetFolderRepository.js +26 -0
- package/features/folders/getFolder/GetFolderRepository.js.map +1 -0
- package/features/folders/getFolder/GetFolderUseCase.d.ts +7 -0
- package/features/folders/getFolder/GetFolderUseCase.js +23 -0
- package/features/folders/getFolder/GetFolderUseCase.js.map +1 -0
- package/features/folders/getFolder/GetFolderUseCaseWithLoading.d.ts +8 -0
- package/features/folders/getFolder/GetFolderUseCaseWithLoading.js +25 -0
- package/features/folders/getFolder/GetFolderUseCaseWithLoading.js.map +1 -0
- package/features/folders/getFolder/IGetFolderGateway.d.ts +22 -0
- package/features/folders/getFolder/IGetFolderGateway.js +7 -0
- package/features/folders/getFolder/IGetFolderGateway.js.map +1 -0
- package/features/folders/getFolder/IGetFolderRepository.d.ts +3 -0
- package/features/folders/getFolder/IGetFolderRepository.js +7 -0
- package/features/folders/getFolder/IGetFolderRepository.js.map +1 -0
- package/features/folders/getFolder/IGetFolderUseCase.d.ts +6 -0
- package/features/folders/getFolder/IGetFolderUseCase.js +7 -0
- package/features/folders/getFolder/IGetFolderUseCase.js.map +1 -0
- package/features/folders/getFolder/index.d.ts +1 -0
- package/features/folders/getFolder/index.js +18 -0
- package/features/folders/getFolder/index.js.map +1 -0
- package/features/folders/getFolder/useGetFolder.d.ts +4 -0
- package/features/folders/getFolder/useGetFolder.js +25 -0
- package/features/folders/getFolder/useGetFolder.js.map +1 -0
- package/features/folders/getFolderLevelPermission/FolderPermissionName.d.ts +1 -0
- package/features/folders/getFolderLevelPermission/FolderPermissionName.js +7 -0
- package/features/folders/getFolderLevelPermission/FolderPermissionName.js.map +1 -0
- package/features/folders/getFolderLevelPermission/GetFolderLevelPermission.d.ts +5 -0
- package/features/folders/getFolderLevelPermission/GetFolderLevelPermission.js +31 -0
- package/features/folders/getFolderLevelPermission/GetFolderLevelPermission.js.map +1 -0
- package/features/folders/getFolderLevelPermission/GetFolderLevelPermission.test.d.ts +1 -0
- package/features/folders/getFolderLevelPermission/GetFolderLevelPermission.test.js +158 -0
- package/features/folders/getFolderLevelPermission/GetFolderLevelPermission.test.js.map +1 -0
- package/features/folders/getFolderLevelPermission/GetFolderLevelPermissionRepository.d.ts +10 -0
- package/features/folders/getFolderLevelPermission/GetFolderLevelPermissionRepository.js +30 -0
- package/features/folders/getFolderLevelPermission/GetFolderLevelPermissionRepository.js.map +1 -0
- package/features/folders/getFolderLevelPermission/GetFolderLevelPermissionUseCase.d.ts +4 -0
- package/features/folders/getFolderLevelPermission/GetFolderLevelPermissionUseCase.js +22 -0
- package/features/folders/getFolderLevelPermission/GetFolderLevelPermissionUseCase.js.map +1 -0
- package/features/folders/getFolderLevelPermission/GetFolderLevelPermissionWithFlpUseCase.d.ts +7 -0
- package/features/folders/getFolderLevelPermission/GetFolderLevelPermissionWithFlpUseCase.js +23 -0
- package/features/folders/getFolderLevelPermission/GetFolderLevelPermissionWithFlpUseCase.js.map +1 -0
- package/features/folders/getFolderLevelPermission/IGetFolderLevelPermissionRepository.d.ts +3 -0
- package/features/folders/getFolderLevelPermission/IGetFolderLevelPermissionRepository.js +7 -0
- package/features/folders/getFolderLevelPermission/IGetFolderLevelPermissionRepository.js.map +1 -0
- package/features/folders/getFolderLevelPermission/IGetFolderLevelPermissionUseCase.d.ts +6 -0
- package/features/folders/getFolderLevelPermission/IGetFolderLevelPermissionUseCase.js +7 -0
- package/features/folders/getFolderLevelPermission/IGetFolderLevelPermissionUseCase.js.map +1 -0
- package/features/folders/getFolderLevelPermission/index.d.ts +1 -0
- package/features/folders/getFolderLevelPermission/index.js +18 -0
- package/features/folders/getFolderLevelPermission/index.js.map +1 -0
- package/features/folders/getFolderLevelPermission/useGetFolderLevelPermission.d.ts +4 -0
- package/features/folders/getFolderLevelPermission/useGetFolderLevelPermission.js +25 -0
- package/features/folders/getFolderLevelPermission/useGetFolderLevelPermission.js.map +1 -0
- package/features/folders/index.d.ts +9 -0
- package/features/folders/index.js +106 -0
- package/features/folders/index.js.map +1 -0
- package/features/folders/listFolders/FolderDto.d.ts +24 -0
- package/features/folders/listFolders/FolderDto.js +49 -0
- package/features/folders/listFolders/FolderDto.js.map +1 -0
- package/features/folders/listFolders/FolderGqlDto.d.ts +19 -0
- package/features/folders/listFolders/FolderGqlDto.js +7 -0
- package/features/folders/listFolders/FolderGqlDto.js.map +1 -0
- package/features/folders/listFolders/IListFoldersGateway.d.ts +7 -0
- package/features/folders/listFolders/IListFoldersGateway.js +7 -0
- package/features/folders/listFolders/IListFoldersGateway.js.map +1 -0
- package/features/folders/listFolders/IListFoldersRepository.d.ts +3 -0
- package/features/folders/listFolders/IListFoldersRepository.js +7 -0
- package/features/folders/listFolders/IListFoldersRepository.js.map +1 -0
- package/features/folders/listFolders/IListFoldersUseCase.d.ts +3 -0
- package/features/folders/listFolders/IListFoldersUseCase.js +7 -0
- package/features/folders/listFolders/IListFoldersUseCase.js.map +1 -0
- package/features/folders/listFolders/ListFolders.d.ts +14 -0
- package/features/folders/listFolders/ListFolders.js +36 -0
- package/features/folders/listFolders/ListFolders.js.map +1 -0
- package/features/folders/listFolders/ListFolders.test.d.ts +1 -0
- package/features/folders/listFolders/ListFolders.test.js +90 -0
- package/features/folders/listFolders/ListFolders.test.js.map +1 -0
- package/features/folders/listFolders/ListFoldersGqlGateway.d.ts +24 -0
- package/features/folders/listFolders/ListFoldersGqlGateway.js +77 -0
- package/features/folders/listFolders/ListFoldersGqlGateway.js.map +1 -0
- package/features/folders/listFolders/ListFoldersRepository.d.ts +11 -0
- package/features/folders/listFolders/ListFoldersRepository.js +32 -0
- package/features/folders/listFolders/ListFoldersRepository.js.map +1 -0
- package/features/folders/listFolders/ListFoldersUseCase.d.ts +7 -0
- package/features/folders/listFolders/ListFoldersUseCase.js +23 -0
- package/features/folders/listFolders/ListFoldersUseCase.js.map +1 -0
- package/features/folders/listFolders/ListFoldersUseCaseWithLoading.d.ts +8 -0
- package/features/folders/listFolders/ListFoldersUseCaseWithLoading.js +25 -0
- package/features/folders/listFolders/ListFoldersUseCaseWithLoading.js.map +1 -0
- package/features/folders/listFolders/index.d.ts +2 -0
- package/features/folders/listFolders/index.js +29 -0
- package/features/folders/listFolders/index.js.map +1 -0
- package/features/folders/listFolders/useListFolders.d.ts +6 -0
- package/features/folders/listFolders/useListFolders.js +72 -0
- package/features/folders/listFolders/useListFolders.js.map +1 -0
- package/features/folders/updateFolder/FolderDto.d.ts +8 -0
- package/features/folders/updateFolder/FolderDto.js +7 -0
- package/features/folders/updateFolder/FolderDto.js.map +1 -0
- package/features/folders/updateFolder/FolderGqlDto.d.ts +19 -0
- package/features/folders/updateFolder/FolderGqlDto.js +7 -0
- package/features/folders/updateFolder/FolderGqlDto.js.map +1 -0
- package/features/folders/updateFolder/IUpdateFolderGateway.d.ts +5 -0
- package/features/folders/updateFolder/IUpdateFolderGateway.js +7 -0
- package/features/folders/updateFolder/IUpdateFolderGateway.js.map +1 -0
- package/features/folders/updateFolder/IUpdateFolderRepository.d.ts +4 -0
- package/features/folders/updateFolder/IUpdateFolderRepository.js +7 -0
- package/features/folders/updateFolder/IUpdateFolderRepository.js.map +1 -0
- package/features/folders/updateFolder/IUpdateFolderUseCase.d.ts +12 -0
- package/features/folders/updateFolder/IUpdateFolderUseCase.js +7 -0
- package/features/folders/updateFolder/IUpdateFolderUseCase.js.map +1 -0
- package/features/folders/updateFolder/UpdateFolder.d.ts +5 -0
- package/features/folders/updateFolder/UpdateFolder.js +33 -0
- package/features/folders/updateFolder/UpdateFolder.js.map +1 -0
- package/features/folders/updateFolder/UpdateFolder.test.d.ts +1 -0
- package/features/folders/updateFolder/UpdateFolder.test.js +99 -0
- package/features/folders/updateFolder/UpdateFolder.test.js.map +1 -0
- package/features/folders/updateFolder/UpdateFolderGqlGateway.d.ts +22 -0
- package/features/folders/updateFolder/UpdateFolderGqlGateway.js +57 -0
- package/features/folders/updateFolder/UpdateFolderGqlGateway.js.map +1 -0
- package/features/folders/updateFolder/UpdateFolderRepository.d.ts +10 -0
- package/features/folders/updateFolder/UpdateFolderRepository.js +38 -0
- package/features/folders/updateFolder/UpdateFolderRepository.js.map +1 -0
- package/features/folders/updateFolder/UpdateFolderUseCase.d.ts +7 -0
- package/features/folders/updateFolder/UpdateFolderUseCase.js +31 -0
- package/features/folders/updateFolder/UpdateFolderUseCase.js.map +1 -0
- package/features/folders/updateFolder/UpdateFolderUseCaseWithLoading.d.ts +8 -0
- package/features/folders/updateFolder/UpdateFolderUseCaseWithLoading.js +25 -0
- package/features/folders/updateFolder/UpdateFolderUseCaseWithLoading.js.map +1 -0
- package/features/folders/updateFolder/UpdateFolderUseCaseWithoutInheritedPermissions.d.ts +6 -0
- package/features/folders/updateFolder/UpdateFolderUseCaseWithoutInheritedPermissions.js +30 -0
- package/features/folders/updateFolder/UpdateFolderUseCaseWithoutInheritedPermissions.js.map +1 -0
- package/features/folders/updateFolder/index.d.ts +1 -0
- package/features/folders/updateFolder/index.js +18 -0
- package/features/folders/updateFolder/index.js.map +1 -0
- package/features/folders/updateFolder/useUpdateFolder.d.ts +4 -0
- package/features/folders/updateFolder/useUpdateFolder.js +25 -0
- package/features/folders/updateFolder/useUpdateFolder.js.map +1 -0
- package/features/index.d.ts +1 -0
- package/features/index.js +18 -0
- package/features/index.js.map +1 -0
- package/hooks/index.d.ts +1 -1
- package/hooks/index.js +11 -17
- package/hooks/index.js.map +1 -1
- package/hooks/useFolders.d.ts +18 -15
- package/hooks/useFolders.js +41 -38
- package/hooks/useFolders.js.map +1 -1
- package/hooks/useFoldersType.d.ts +1 -0
- package/hooks/useFoldersType.js +21 -0
- package/hooks/useFoldersType.js.map +1 -0
- package/index.d.ts +1 -1
- package/index.js +8 -8
- package/index.js.map +1 -1
- package/package.json +17 -16
- package/types.d.ts +11 -1
- package/types.js +20 -0
- package/types.js.map +1 -1
- package/Folders.d.ts +0 -2
- package/Folders.js +0 -23
- package/Folders.js.map +0 -1
- package/contexts/FoldersApi/FoldersApiProvider.d.ts +0 -26
- package/contexts/FoldersApi/FoldersApiProvider.js +0 -255
- package/contexts/FoldersApi/FoldersApiProvider.js.map +0 -1
- package/contexts/FoldersApi/index.d.ts +0 -2
- package/contexts/FoldersApi/index.js +0 -29
- package/contexts/FoldersApi/index.js.map +0 -1
- package/contexts/FoldersApi/useFoldersApi.d.ts +0 -2
- package/contexts/FoldersApi/useFoldersApi.js +0 -17
- package/contexts/FoldersApi/useFoldersApi.js.map +0 -1
- package/graphql/folders.gql.d.ts +0 -5
- package/graphql/folders.gql.js +0 -19
- package/graphql/folders.gql.js.map +0 -1
package/contexts/folders.js
CHANGED
|
@@ -6,150 +6,25 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
8
|
exports.FoldersProvider = exports.FoldersContext = void 0;
|
|
9
|
-
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
10
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
11
9
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
12
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
13
|
-
var _useWcp2 = require("@webiny/app-wcp/hooks/useWcp");
|
|
14
|
-
var _appAdmin = require("@webiny/app-admin");
|
|
15
|
-
var _handlers = require("../handlers");
|
|
16
11
|
var _app = require("./app");
|
|
17
|
-
var _hooks = require("../hooks");
|
|
18
|
-
var _constants = require("../constants");
|
|
19
12
|
var _excluded = ["children"];
|
|
20
13
|
var FoldersContext = exports.FoldersContext = /*#__PURE__*/_react.default.createContext(undefined);
|
|
21
|
-
var defaultLoading = {
|
|
22
|
-
INIT: true,
|
|
23
|
-
LIST: false,
|
|
24
|
-
LIST_MORE: false,
|
|
25
|
-
GET: false,
|
|
26
|
-
MOVE: false,
|
|
27
|
-
CREATE: false,
|
|
28
|
-
UPDATE: false,
|
|
29
|
-
DELETE: false
|
|
30
|
-
};
|
|
31
14
|
var FoldersProvider = exports.FoldersProvider = function FoldersProvider(_ref) {
|
|
32
15
|
var children = _ref.children,
|
|
33
16
|
props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
34
17
|
var appContext = (0, _react.useContext)(_app.AcoAppContext);
|
|
35
|
-
var _useStateIfMounted = (0, _appAdmin.useStateIfMounted)(null),
|
|
36
|
-
_useStateIfMounted2 = (0, _slicedToArray2.default)(_useStateIfMounted, 2),
|
|
37
|
-
folders = _useStateIfMounted2[0],
|
|
38
|
-
setFolders = _useStateIfMounted2[1];
|
|
39
|
-
var _useStateIfMounted3 = (0, _appAdmin.useStateIfMounted)(defaultLoading),
|
|
40
|
-
_useStateIfMounted4 = (0, _slicedToArray2.default)(_useStateIfMounted3, 2),
|
|
41
|
-
loading = _useStateIfMounted4[0],
|
|
42
|
-
setLoading = _useStateIfMounted4[1];
|
|
43
|
-
var foldersApi = (0, _hooks.useFoldersApi)();
|
|
44
|
-
var _useWcp = (0, _useWcp2.useWcp)(),
|
|
45
|
-
canUseFolderLevelPermissions = _useWcp.canUseFolderLevelPermissions;
|
|
46
18
|
var app = appContext ? appContext.app : undefined;
|
|
47
19
|
var type = props.type ?? app?.id;
|
|
48
20
|
if (!type) {
|
|
49
21
|
throw Error("FoldersProvider requires a \"type\" prop or an AcoAppContext to be available!");
|
|
50
22
|
}
|
|
51
|
-
(0, _react.useEffect)(function () {
|
|
52
|
-
return foldersApi.onFoldersChanged(type, function (folders) {
|
|
53
|
-
setFolders(folders);
|
|
54
|
-
});
|
|
55
|
-
}, []);
|
|
56
|
-
var folderLevelPermissions = (0, _react.useMemo)(function () {
|
|
57
|
-
var createCanManage = function createCanManage(callback) {
|
|
58
|
-
return function (folderId) {
|
|
59
|
-
if (!canUseFolderLevelPermissions() || folderId === _constants.ROOT_FOLDER) {
|
|
60
|
-
return true;
|
|
61
|
-
}
|
|
62
|
-
var folder = folders?.find(function (folder) {
|
|
63
|
-
return folder.id === folderId;
|
|
64
|
-
});
|
|
65
|
-
if (!folder) {
|
|
66
|
-
return false;
|
|
67
|
-
}
|
|
68
|
-
return callback(folder);
|
|
69
|
-
};
|
|
70
|
-
};
|
|
71
|
-
return {
|
|
72
|
-
canManageStructure: createCanManage(function (folder) {
|
|
73
|
-
return folder.canManageStructure;
|
|
74
|
-
}),
|
|
75
|
-
canManagePermissions: createCanManage(function (folder) {
|
|
76
|
-
return folder.canManagePermissions;
|
|
77
|
-
}),
|
|
78
|
-
canManageContent: createCanManage(function (folder) {
|
|
79
|
-
return folder.canManageContent;
|
|
80
|
-
})
|
|
81
|
-
};
|
|
82
|
-
}, [folders]);
|
|
83
23
|
var context = (0, _react.useMemo)(function () {
|
|
84
24
|
return {
|
|
85
|
-
|
|
86
|
-
loading: loading,
|
|
87
|
-
listFolders: async function listFolders() {
|
|
88
|
-
var folders = await (0, _handlers.dataLoader)((0, _handlers.loadingHandler)("LIST", setLoading), function () {
|
|
89
|
-
return foldersApi.listFolders(type);
|
|
90
|
-
});
|
|
91
|
-
setFolders(function () {
|
|
92
|
-
return folders;
|
|
93
|
-
});
|
|
94
|
-
setLoading(function (prev) {
|
|
95
|
-
return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, prev), {}, {
|
|
96
|
-
INIT: false
|
|
97
|
-
});
|
|
98
|
-
});
|
|
99
|
-
return folders;
|
|
100
|
-
},
|
|
101
|
-
getFolder: async function getFolder(id) {
|
|
102
|
-
if (!id) {
|
|
103
|
-
throw new Error("Folder `id` is mandatory");
|
|
104
|
-
}
|
|
105
|
-
return await (0, _handlers.dataLoader)((0, _handlers.loadingHandler)("GET", setLoading), function () {
|
|
106
|
-
return foldersApi.getFolder(type, id);
|
|
107
|
-
});
|
|
108
|
-
},
|
|
109
|
-
createFolder: async function createFolder(folder) {
|
|
110
|
-
return await (0, _handlers.dataLoader)((0, _handlers.loadingHandler)("CREATE", setLoading), function () {
|
|
111
|
-
return foldersApi.createFolder(type, folder);
|
|
112
|
-
});
|
|
113
|
-
},
|
|
114
|
-
updateFolder: async function updateFolder(folder, options) {
|
|
115
|
-
var id = folder.id,
|
|
116
|
-
title = folder.title,
|
|
117
|
-
slug = folder.slug,
|
|
118
|
-
permissions = folder.permissions,
|
|
119
|
-
parentId = folder.parentId;
|
|
120
|
-
|
|
121
|
-
// We must omit all inherited permissions.
|
|
122
|
-
var filteredPermissions = permissions.filter(function (p) {
|
|
123
|
-
return !p.inheritedFrom;
|
|
124
|
-
});
|
|
125
|
-
return await (0, _handlers.dataLoader)((0, _handlers.loadingHandler)("UPDATE", setLoading), async function () {
|
|
126
|
-
var response = await foldersApi.updateFolder(type, {
|
|
127
|
-
id: id,
|
|
128
|
-
title: title,
|
|
129
|
-
slug: slug,
|
|
130
|
-
permissions: filteredPermissions,
|
|
131
|
-
parentId: parentId
|
|
132
|
-
});
|
|
133
|
-
if (options?.refetchFoldersList) {
|
|
134
|
-
foldersApi.listFolders(type, {
|
|
135
|
-
invalidateCache: true
|
|
136
|
-
}).then(setFolders);
|
|
137
|
-
}
|
|
138
|
-
return response;
|
|
139
|
-
});
|
|
140
|
-
},
|
|
141
|
-
deleteFolder: async function deleteFolder(folder) {
|
|
142
|
-
var id = folder.id;
|
|
143
|
-
return await (0, _handlers.dataLoader)((0, _handlers.loadingHandler)("DELETE", setLoading), function () {
|
|
144
|
-
return foldersApi.deleteFolder(type, id);
|
|
145
|
-
});
|
|
146
|
-
},
|
|
147
|
-
getDescendantFolders: function getDescendantFolders(id) {
|
|
148
|
-
return foldersApi.getDescendantFolders(type, id);
|
|
149
|
-
},
|
|
150
|
-
folderLevelPermissions: folderLevelPermissions
|
|
25
|
+
type: type
|
|
151
26
|
};
|
|
152
|
-
}, [
|
|
27
|
+
}, [type]);
|
|
153
28
|
return /*#__PURE__*/_react.default.createElement(FoldersContext.Provider, {
|
|
154
29
|
value: context
|
|
155
30
|
}, children);
|
package/contexts/folders.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_useWcp2","_appAdmin","_handlers","_app","_hooks","_constants","_excluded","FoldersContext","exports","React","createContext","undefined","defaultLoading","INIT","LIST","LIST_MORE","GET","MOVE","CREATE","UPDATE","DELETE","FoldersProvider","_ref","children","props","_objectWithoutProperties2","default","appContext","useContext","AcoAppContext","_useStateIfMounted","useStateIfMounted","_useStateIfMounted2","_slicedToArray2","folders","setFolders","_useStateIfMounted3","_useStateIfMounted4","loading","setLoading","foldersApi","useFoldersApi","_useWcp","useWcp","canUseFolderLevelPermissions","app","type","id","Error","useEffect","onFoldersChanged","folderLevelPermissions","useMemo","createCanManage","callback","folderId","ROOT_FOLDER","folder","find","canManageStructure","canManagePermissions","canManageContent","context","listFolders","dataLoader","loadingHandler","prev","_objectSpread2","getFolder","createFolder","updateFolder","options","title","slug","permissions","parentId","filteredPermissions","filter","p","inheritedFrom","response","refetchFoldersList","invalidateCache","then","deleteFolder","getDescendantFolders","createElement","Provider","value"],"sources":["folders.tsx"],"sourcesContent":["import React, { ReactNode, useContext, useEffect, useMemo } from \"react\";\nimport { useWcp } from \"@webiny/app-wcp/hooks/useWcp\";\nimport { useStateIfMounted } from \"@webiny/app-admin\";\nimport { dataLoader, loadingHandler } from \"~/handlers\";\nimport { FolderItem, Loading, LoadingActions } from \"~/types\";\nimport { AcoAppContext } from \"~/contexts/app\";\nimport { useFoldersApi } from \"~/hooks\";\nimport { ROOT_FOLDER } from \"~/constants\";\n\nexport interface FoldersContextFolderLevelPermissions {\n canManageStructure(folderId: string): boolean;\n\n canManagePermissions(folderId: string): boolean;\n\n canManageContent(folderId: string): boolean;\n}\n\ninterface FoldersContext {\n folders?: FolderItem[] | null;\n loading: Loading<LoadingActions>;\n listFolders: () => Promise<FolderItem[]>;\n getFolder: (id: string) => Promise<FolderItem>;\n createFolder: (folder: Omit<FolderItem, \"id\" | \"type\">) => Promise<FolderItem>;\n updateFolder: (\n folder: Omit<FolderItem, \"type\">,\n options?: Partial<{\n refetchFoldersList: boolean;\n }>\n ) => Promise<FolderItem>;\n\n deleteFolder(folder: Pick<FolderItem, \"id\">): Promise<true>;\n\n getDescendantFolders(id?: string): FolderItem[];\n\n folderLevelPermissions: FoldersContextFolderLevelPermissions;\n}\n\nexport const FoldersContext = React.createContext<FoldersContext | undefined>(undefined);\n\ninterface Props {\n type?: string;\n children: ReactNode;\n}\n\nconst defaultLoading: Record<LoadingActions, boolean> = {\n INIT: true,\n LIST: false,\n LIST_MORE: false,\n GET: false,\n MOVE: false,\n CREATE: false,\n UPDATE: false,\n DELETE: false\n};\n\nexport const FoldersProvider = ({ children, ...props }: Props) => {\n const appContext = useContext(AcoAppContext);\n const [folders, setFolders] = useStateIfMounted<FolderItem[] | null>(null);\n const [loading, setLoading] = useStateIfMounted<Loading<LoadingActions>>(defaultLoading);\n const foldersApi = useFoldersApi();\n const { canUseFolderLevelPermissions } = useWcp();\n\n const app = appContext ? appContext.app : undefined;\n\n const type = props.type ?? app?.id;\n if (!type) {\n throw Error(`FoldersProvider requires a \"type\" prop or an AcoAppContext to be available!`);\n }\n\n useEffect(() => {\n return foldersApi.onFoldersChanged(type, folders => {\n setFolders(folders);\n });\n }, []);\n\n const folderLevelPermissions: FoldersContextFolderLevelPermissions = useMemo(() => {\n const createCanManage =\n (callback: (folder: FolderItem) => boolean) => (folderId: string) => {\n if (!canUseFolderLevelPermissions() || folderId === ROOT_FOLDER) {\n return true;\n }\n\n const folder = folders?.find(folder => folder.id === folderId);\n if (!folder) {\n return false;\n }\n\n return callback(folder);\n };\n\n return {\n canManageStructure: createCanManage(folder => folder.canManageStructure),\n canManagePermissions: createCanManage(folder => folder.canManagePermissions),\n canManageContent: createCanManage(folder => folder.canManageContent)\n };\n }, [folders]);\n\n const context = useMemo<FoldersContext>(() => {\n return {\n folders,\n loading,\n async listFolders() {\n const folders = await dataLoader(loadingHandler(\"LIST\", setLoading), () =>\n foldersApi.listFolders(type)\n );\n\n setFolders(() => folders);\n\n setLoading(prev => ({\n ...prev,\n INIT: false\n }));\n\n return folders;\n },\n\n async getFolder(id) {\n if (!id) {\n throw new Error(\"Folder `id` is mandatory\");\n }\n\n return await dataLoader(loadingHandler(\"GET\", setLoading), () =>\n foldersApi.getFolder(type, id)\n );\n },\n\n async createFolder(folder) {\n return await dataLoader(loadingHandler(\"CREATE\", setLoading), () =>\n foldersApi.createFolder(type, folder)\n );\n },\n\n async updateFolder(folder, options) {\n const { id, title, slug, permissions, parentId } = folder;\n\n // We must omit all inherited permissions.\n const filteredPermissions = permissions.filter(p => !p.inheritedFrom);\n\n return await dataLoader(loadingHandler(\"UPDATE\", setLoading), async () => {\n const response = await foldersApi.updateFolder(type, {\n id,\n title,\n slug,\n permissions: filteredPermissions,\n parentId\n });\n\n if (options?.refetchFoldersList) {\n foldersApi.listFolders(type, { invalidateCache: true }).then(setFolders);\n }\n\n return response;\n });\n },\n\n async deleteFolder(folder) {\n const { id } = folder;\n\n return await dataLoader(loadingHandler(\"DELETE\", setLoading), () =>\n foldersApi.deleteFolder(type, id)\n );\n },\n\n getDescendantFolders(id) {\n return foldersApi.getDescendantFolders(type, id);\n },\n\n folderLevelPermissions\n };\n }, [folders, loading, setLoading, setFolders]);\n\n return <FoldersContext.Provider value={context}>{children}</FoldersContext.Provider>;\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_app","_excluded","FoldersContext","exports","React","createContext","undefined","FoldersProvider","_ref","children","props","_objectWithoutProperties2","default","appContext","useContext","AcoAppContext","app","type","id","Error","context","useMemo","createElement","Provider","value"],"sources":["folders.tsx"],"sourcesContent":["import React, { ReactNode, useContext, useMemo } from \"react\";\nimport { AcoAppContext } from \"~/contexts/app\";\n\ninterface FoldersContext {\n type?: string | null;\n}\n\nexport const FoldersContext = React.createContext<FoldersContext | undefined>(undefined);\n\ninterface Props {\n type?: string;\n children: ReactNode;\n}\n\nexport const FoldersProvider = ({ children, ...props }: Props) => {\n const appContext = useContext(AcoAppContext);\n\n const app = appContext ? appContext.app : undefined;\n\n const type = props.type ?? app?.id;\n\n if (!type) {\n throw Error(`FoldersProvider requires a \"type\" prop or an AcoAppContext to be available!`);\n }\n\n const context = useMemo<FoldersContext>(() => {\n return {\n type\n };\n }, [type]);\n\n return <FoldersContext.Provider value={context}>{children}</FoldersContext.Provider>;\n};\n"],"mappings":";;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,IAAA,GAAAD,OAAA;AAA+C,IAAAE,SAAA;AAMxC,IAAMC,cAAc,GAAAC,OAAA,CAAAD,cAAA,gBAAGE,cAAK,CAACC,aAAa,CAA6BC,SAAS,CAAC;AAOjF,IAAMC,eAAe,GAAAJ,OAAA,CAAAI,eAAA,GAAG,SAAlBA,eAAeA,CAAAC,IAAA,EAAsC;EAAA,IAAhCC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IAAKC,KAAK,OAAAC,yBAAA,CAAAC,OAAA,EAAAJ,IAAA,EAAAP,SAAA;EAChD,IAAMY,UAAU,GAAG,IAAAC,iBAAU,EAACC,kBAAa,CAAC;EAE5C,IAAMC,GAAG,GAAGH,UAAU,GAAGA,UAAU,CAACG,GAAG,GAAGV,SAAS;EAEnD,IAAMW,IAAI,GAAGP,KAAK,CAACO,IAAI,IAAID,GAAG,EAAEE,EAAE;EAElC,IAAI,CAACD,IAAI,EAAE;IACP,MAAME,KAAK,gFAA8E,CAAC;EAC9F;EAEA,IAAMC,OAAO,GAAG,IAAAC,cAAO,EAAiB,YAAM;IAC1C,OAAO;MACHJ,IAAI,EAAJA;IACJ,CAAC;EACL,CAAC,EAAE,CAACA,IAAI,CAAC,CAAC;EAEV,oBAAOpB,MAAA,CAAAe,OAAA,CAAAU,aAAA,CAACpB,cAAc,CAACqB,QAAQ;IAACC,KAAK,EAAEJ;EAAQ,GAAEX,QAAkC,CAAC;AACxF,CAAC","ignoreList":[]}
|
|
@@ -18,7 +18,7 @@ var _Typography = require("@webiny/ui/Typography");
|
|
|
18
18
|
var _validation = require("@webiny/validation");
|
|
19
19
|
var _components = require("../components");
|
|
20
20
|
var _styled = require("./styled");
|
|
21
|
-
var
|
|
21
|
+
var _features = require("../features");
|
|
22
22
|
var _constants = require("../constants");
|
|
23
23
|
var FormComponent = function FormComponent(_ref) {
|
|
24
24
|
var _ref$currentParentId = _ref.currentParentId,
|
|
@@ -78,8 +78,8 @@ var FormComponent = function FormComponent(_ref) {
|
|
|
78
78
|
};
|
|
79
79
|
var useCreateDialog = exports.useCreateDialog = function useCreateDialog() {
|
|
80
80
|
var dialogs = (0, _appAdmin.useDialogs)();
|
|
81
|
-
var
|
|
82
|
-
createFolder =
|
|
81
|
+
var _useCreateFolder = (0, _features.useCreateFolder)(),
|
|
82
|
+
createFolder = _useCreateFolder.createFolder;
|
|
83
83
|
var _useSnackbar = (0, _appAdmin.useSnackbar)(),
|
|
84
84
|
showSnackbar = _useSnackbar.showSnackbar;
|
|
85
85
|
var onAccept = (0, _react.useCallback)(async function (data) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_slugify","_interopRequireDefault","_appAdmin","_form","_Grid","_Input","_Typography","_validation","_components","_styled","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_slugify","_interopRequireDefault","_appAdmin","_form","_Grid","_Input","_Typography","_validation","_components","_styled","_features","_constants","FormComponent","_ref","_ref$currentParentId","currentParentId","_useState","useState","_useState2","_slicedToArray2","default","parentId","setParentId","form","useForm","generateSlug","data","slug","title","setValue","slugify","replacement","lower","remove","trim","createElement","Grid","Cell","span","Bind","name","validators","validation","create","bind","Input","Object","assign","label","onBlur","Typography","use","DialogFoldersContainer","defaultValue","_ref2","onChange","FolderTree","focusedFolderId","ROOT_FOLDER","onFolderClick","folder","id","useCreateDialog","exports","dialogs","useDialogs","_useCreateFolder","useCreateFolder","createFolder","_useSnackbar","useSnackbar","showSnackbar","onAccept","useCallback","_objectSpread2","error","message","showDialog","params","_ref3","_ref3$currentParentId","content","acceptLabel","cancelLabel","loadingLabel"],"sources":["useCreateDialog.tsx"],"sourcesContent":["import React, { useCallback, useState } from \"react\";\nimport slugify from \"slugify\";\nimport { useSnackbar } from \"@webiny/app-admin\";\nimport { Bind, GenericFormData, useForm } from \"@webiny/form\";\nimport { Cell, Grid } from \"@webiny/ui/Grid\";\nimport { Input } from \"@webiny/ui/Input\";\nimport { Typography } from \"@webiny/ui/Typography\";\nimport { validation } from \"@webiny/validation\";\n\nimport { FolderTree } from \"~/components\";\nimport { useDialogs } from \"@webiny/app-admin\";\nimport { DialogFoldersContainer } from \"~/dialogs/styled\";\nimport { useCreateFolder } from \"~/features\";\nimport { ROOT_FOLDER } from \"~/constants\";\nimport { FolderItem } from \"~/types\";\n\ninterface ShowDialogParams {\n currentParentId?: string | null;\n}\n\ninterface UseCreateDialogResponse {\n showDialog: (params?: ShowDialogParams) => void;\n}\n\ninterface FormComponentProps {\n currentParentId?: string | null;\n}\n\nconst FormComponent = ({ currentParentId = null }: FormComponentProps) => {\n const [parentId, setParentId] = useState<string | null>(currentParentId);\n const form = useForm();\n\n const generateSlug = () => {\n if (form.data.slug || !form.data.title) {\n return;\n }\n\n // We want to update slug only when the folder is first being created.\n form.setValue(\n \"slug\",\n slugify(form.data.title, {\n replacement: \"-\",\n lower: true,\n remove: /[*#\\?<>_\\{\\}\\[\\]+~.()'\"!:;@]/g,\n trim: false\n })\n );\n };\n\n return (\n <Grid>\n <Cell span={12}>\n <Bind name={\"title\"} validators={validation.create(\"required\")}>\n {bind => <Input {...bind} label={\"Title\"} onBlur={generateSlug} />}\n </Bind>\n </Cell>\n <Cell span={12}>\n <Bind name={\"slug\"} validators={validation.create(\"required,slug\")}>\n <Input label={\"Slug\"} />\n </Bind>\n </Cell>\n <Cell span={12}>\n <Typography use=\"body1\">{\"Parent folder\"}</Typography>\n <DialogFoldersContainer>\n <Bind name={\"parentId\"} defaultValue={parentId}>\n {({ onChange }) => (\n <FolderTree\n focusedFolderId={parentId || ROOT_FOLDER}\n onFolderClick={folder => {\n setParentId(folder.id);\n onChange(folder.id === ROOT_FOLDER ? null : folder.id);\n }}\n />\n )}\n </Bind>\n </DialogFoldersContainer>\n </Cell>\n </Grid>\n );\n};\n\nexport const useCreateDialog = (): UseCreateDialogResponse => {\n const dialogs = useDialogs();\n const { createFolder } = useCreateFolder();\n const { showSnackbar } = useSnackbar();\n\n const onAccept = useCallback(async (data: FolderItem) => {\n try {\n await createFolder({\n ...data,\n parentId: data.parentId === ROOT_FOLDER ? null : data.parentId\n });\n showSnackbar(\"Folder created successfully!\");\n } catch (error) {\n showSnackbar(error.message);\n }\n }, []);\n\n const showDialog = (params?: ShowDialogParams) => {\n const { currentParentId = null } = params ?? {};\n\n dialogs.showDialog({\n title: \"Create a new folder\",\n content: <FormComponent currentParentId={currentParentId} />,\n acceptLabel: \"Create folder\",\n cancelLabel: \"Cancel\",\n loadingLabel: \"Creating folder...\",\n /**\n * We need to cast as there are no generics to pass for the onAccept function.\n */\n onAccept: onAccept as (data: GenericFormData) => Promise<void>\n });\n };\n\n return {\n showDialog\n };\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -5,22 +5,18 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.useDeleteDialog = void 0;
|
|
7
7
|
var _appAdmin = require("@webiny/app-admin");
|
|
8
|
-
var
|
|
8
|
+
var _features = require("../features");
|
|
9
9
|
var _react = require("react");
|
|
10
10
|
var useDeleteDialog = exports.useDeleteDialog = function useDeleteDialog() {
|
|
11
11
|
var dialogs = (0, _appAdmin.useDialogs)();
|
|
12
|
-
var
|
|
13
|
-
deleteFolder =
|
|
12
|
+
var _useDeleteFolder = (0, _features.useDeleteFolder)(),
|
|
13
|
+
deleteFolder = _useDeleteFolder.deleteFolder;
|
|
14
14
|
var _useSnackbar = (0, _appAdmin.useSnackbar)(),
|
|
15
15
|
showSnackbar = _useSnackbar.showSnackbar;
|
|
16
16
|
var _onAccept = (0, _react.useCallback)(async function (folder) {
|
|
17
17
|
try {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
showSnackbar("The folder \"".concat(folder.title, "\" was deleted successfully."));
|
|
21
|
-
} else {
|
|
22
|
-
throw new Error("Error while deleting folder \"".concat(folder.title, "\"!"));
|
|
23
|
-
}
|
|
18
|
+
await deleteFolder(folder);
|
|
19
|
+
showSnackbar("The folder \"".concat(folder.title, "\" was deleted successfully."));
|
|
24
20
|
} catch (error) {
|
|
25
21
|
showSnackbar(error.message);
|
|
26
22
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_appAdmin","require","
|
|
1
|
+
{"version":3,"names":["_appAdmin","require","_features","_react","useDeleteDialog","exports","dialogs","useDialogs","_useDeleteFolder","useDeleteFolder","deleteFolder","_useSnackbar","useSnackbar","showSnackbar","onAccept","useCallback","folder","concat","title","error","message","showDialog","_ref","content","acceptLabel","cancelLabel","loadingLabel"],"sources":["useDeleteDialog.tsx"],"sourcesContent":["import { useSnackbar } from \"@webiny/app-admin\";\n\nimport { useDialogs } from \"@webiny/app-admin\";\nimport { useDeleteFolder } from \"~/features\";\nimport { FolderItem } from \"~/types\";\nimport { useCallback } from \"react\";\n\ninterface ShowDialogParams {\n folder: FolderItem;\n}\n\ninterface UseDeleteDialogResponse {\n showDialog: (params: ShowDialogParams) => void;\n}\n\nexport const useDeleteDialog = (): UseDeleteDialogResponse => {\n const dialogs = useDialogs();\n const { deleteFolder } = useDeleteFolder();\n const { showSnackbar } = useSnackbar();\n\n const onAccept = useCallback(async (folder: FolderItem) => {\n try {\n await deleteFolder(folder);\n showSnackbar(`The folder \"${folder.title}\" was deleted successfully.`);\n } catch (error) {\n showSnackbar(error.message);\n }\n }, []);\n\n const showDialog = ({ folder }: ShowDialogParams) => {\n dialogs.showDialog({\n title: \"Delete folder\",\n content: `You are about to delete the folder \"${folder.title}\"! Are you sure you want to continue?`,\n acceptLabel: \"Delete folder\",\n cancelLabel: \"Cancel\",\n loadingLabel: \"Deleting folder...\",\n onAccept: () => onAccept(folder)\n });\n };\n\n return {\n showDialog\n };\n};\n"],"mappings":";;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AAGA,IAAAC,SAAA,GAAAD,OAAA;AAEA,IAAAE,MAAA,GAAAF,OAAA;AAUO,IAAMG,eAAe,GAAAC,OAAA,CAAAD,eAAA,GAAG,SAAlBA,eAAeA,CAAA,EAAkC;EAC1D,IAAME,OAAO,GAAG,IAAAC,oBAAU,EAAC,CAAC;EAC5B,IAAAC,gBAAA,GAAyB,IAAAC,yBAAe,EAAC,CAAC;IAAlCC,YAAY,GAAAF,gBAAA,CAAZE,YAAY;EACpB,IAAAC,YAAA,GAAyB,IAAAC,qBAAW,EAAC,CAAC;IAA9BC,YAAY,GAAAF,YAAA,CAAZE,YAAY;EAEpB,IAAMC,SAAQ,GAAG,IAAAC,kBAAW,EAAC,gBAAOC,MAAkB,EAAK;IACvD,IAAI;MACA,MAAMN,YAAY,CAACM,MAAM,CAAC;MAC1BH,YAAY,iBAAAI,MAAA,CAAgBD,MAAM,CAACE,KAAK,iCAA6B,CAAC;IAC1E,CAAC,CAAC,OAAOC,KAAK,EAAE;MACZN,YAAY,CAACM,KAAK,CAACC,OAAO,CAAC;IAC/B;EACJ,CAAC,EAAE,EAAE,CAAC;EAEN,IAAMC,UAAU,GAAG,SAAbA,UAAUA,CAAAC,IAAA,EAAqC;IAAA,IAA/BN,MAAM,GAAAM,IAAA,CAANN,MAAM;IACxBV,OAAO,CAACe,UAAU,CAAC;MACfH,KAAK,EAAE,eAAe;MACtBK,OAAO,0CAAAN,MAAA,CAAyCD,MAAM,CAACE,KAAK,2CAAuC;MACnGM,WAAW,EAAE,eAAe;MAC5BC,WAAW,EAAE,QAAQ;MACrBC,YAAY,EAAE,oBAAoB;MAClCZ,QAAQ,EAAE,SAAVA,QAAQA,CAAA;QAAA,OAAQA,SAAQ,CAACE,MAAM,CAAC;MAAA;IACpC,CAAC,CAAC;EACN,CAAC;EAED,OAAO;IACHK,UAAU,EAAVA;EACJ,CAAC;AACL,CAAC","ignoreList":[]}
|
package/dialogs/useEditDialog.js
CHANGED
|
@@ -18,7 +18,7 @@ var _Typography = require("@webiny/ui/Typography");
|
|
|
18
18
|
var _components = require("../components");
|
|
19
19
|
var _constants = require("../constants");
|
|
20
20
|
var _styled = require("./styled");
|
|
21
|
-
var
|
|
21
|
+
var _features = require("../features");
|
|
22
22
|
var FormComponent = function FormComponent(_ref) {
|
|
23
23
|
var folder = _ref.folder;
|
|
24
24
|
var _useState = (0, _react.useState)(folder.parentId),
|
|
@@ -63,18 +63,14 @@ var FormComponent = function FormComponent(_ref) {
|
|
|
63
63
|
};
|
|
64
64
|
var useEditDialog = exports.useEditDialog = function useEditDialog() {
|
|
65
65
|
var dialog = (0, _appAdmin.useDialogs)();
|
|
66
|
-
var
|
|
67
|
-
updateFolder =
|
|
66
|
+
var _useUpdateFolder = (0, _features.useUpdateFolder)(),
|
|
67
|
+
updateFolder = _useUpdateFolder.updateFolder;
|
|
68
68
|
var _useSnackbar = (0, _appAdmin.useSnackbar)(),
|
|
69
69
|
showSnackbar = _useSnackbar.showSnackbar;
|
|
70
70
|
var _onAccept = (0, _react.useCallback)(async function (folder, data) {
|
|
71
71
|
try {
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
showSnackbar("The folder \"".concat(result.title, "\" was updated successfully!"));
|
|
75
|
-
} else {
|
|
76
|
-
throw new Error("Error while updating folder \"".concat(folder.title, "\"!"));
|
|
77
|
-
}
|
|
72
|
+
await updateFolder((0, _objectSpread2.default)((0, _objectSpread2.default)({}, folder), data));
|
|
73
|
+
showSnackbar("The folder \"".concat(data.title, "\" was updated successfully!"));
|
|
78
74
|
} catch (error) {
|
|
79
75
|
showSnackbar(error.message);
|
|
80
76
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_appAdmin","_form","_validation","_Grid","_Input","_Typography","_components","_constants","_styled","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_appAdmin","_form","_validation","_Grid","_Input","_Typography","_components","_constants","_styled","_features","FormComponent","_ref","folder","_useState","useState","parentId","_useState2","_slicedToArray2","default","setParentId","createElement","Grid","Cell","span","Bind","name","defaultValue","title","validators","validation","create","Input","label","slug","Typography","use","DialogFoldersContainer","_ref2","onChange","FolderTree","focusedFolderId","ROOT_FOLDER","hiddenFolderIds","id","onFolderClick","enableCreate","useEditDialog","exports","dialog","useDialogs","_useUpdateFolder","useUpdateFolder","updateFolder","_useSnackbar","useSnackbar","showSnackbar","onAccept","useCallback","data","_objectSpread2","concat","error","message","showDialog","_ref3","content","acceptLabel","cancelLabel","loadingLabel"],"sources":["useEditDialog.tsx"],"sourcesContent":["import React, { useCallback, useState } from \"react\";\nimport { useSnackbar } from \"@webiny/app-admin\";\nimport { Bind, GenericFormData } from \"@webiny/form\";\nimport { validation } from \"@webiny/validation\";\nimport { Cell, Grid } from \"@webiny/ui/Grid\";\nimport { Input } from \"@webiny/ui/Input\";\nimport { Typography } from \"@webiny/ui/Typography\";\n\nimport { FolderTree } from \"~/components\";\nimport { ROOT_FOLDER } from \"~/constants\";\nimport { useDialogs } from \"@webiny/app-admin\";\nimport { DialogFoldersContainer } from \"~/dialogs/styled\";\nimport { useUpdateFolder } from \"~/features\";\nimport { FolderItem } from \"~/types\";\n\ninterface ShowDialogParams {\n folder: FolderItem;\n}\n\ninterface UseEditDialogResponse {\n showDialog: (params: ShowDialogParams) => void;\n}\n\ninterface FormComponentProps {\n folder: FolderItem;\n}\n\nconst FormComponent = ({ folder }: FormComponentProps) => {\n const [parentId, setParentId] = useState<string | null>(folder.parentId);\n\n return (\n <Grid>\n <Cell span={12}>\n <Bind\n name={\"title\"}\n defaultValue={folder.title}\n validators={[validation.create(\"required\")]}\n >\n <Input label={\"Title\"} />\n </Bind>\n </Cell>\n <Cell span={12}>\n <Bind\n name={\"slug\"}\n defaultValue={folder.slug}\n validators={[validation.create(\"required,slug\")]}\n >\n <Input label={\"Slug\"} />\n </Bind>\n </Cell>\n <Cell span={12}>\n <Typography use=\"body1\">{\"Parent folder\"}</Typography>\n <DialogFoldersContainer>\n <Bind name={\"parentId\"} defaultValue={parentId}>\n {({ onChange }) => (\n <FolderTree\n focusedFolderId={parentId || ROOT_FOLDER}\n hiddenFolderIds={[folder.id]}\n onFolderClick={folder => {\n setParentId(folder.id);\n onChange(folder.id === ROOT_FOLDER ? null : folder.id);\n }}\n enableCreate={true}\n />\n )}\n </Bind>\n </DialogFoldersContainer>\n </Cell>\n </Grid>\n );\n};\n\nexport const useEditDialog = (): UseEditDialogResponse => {\n const dialog = useDialogs();\n const { updateFolder } = useUpdateFolder();\n const { showSnackbar } = useSnackbar();\n\n const onAccept = useCallback(async (folder: FolderItem, data: GenericFormData) => {\n try {\n await updateFolder({\n ...folder,\n ...data\n });\n showSnackbar(`The folder \"${data.title}\" was updated successfully!`);\n } catch (error) {\n showSnackbar(error.message);\n }\n }, []);\n\n const showDialog = ({ folder }: ShowDialogParams) => {\n dialog.showDialog({\n title: \"Edit folder\",\n content: <FormComponent folder={folder} />,\n acceptLabel: \"Edit folder\",\n cancelLabel: \"Cancel\",\n loadingLabel: \"Editing folder...\",\n onAccept: (data: GenericFormData) => onAccept(folder, data)\n });\n };\n\n return {\n showDialog\n };\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -17,7 +17,7 @@ var _Grid = require("@webiny/ui/Grid");
|
|
|
17
17
|
var _UsersTeamsMultiAutocomplete = require("./DialogSetPermissions/UsersTeamsMultiAutocomplete");
|
|
18
18
|
var _UsersTeamsSelection = require("./DialogSetPermissions/UsersTeamsSelection");
|
|
19
19
|
var _graphql = require("./DialogSetPermissions/graphql");
|
|
20
|
-
var
|
|
20
|
+
var _features = require("../features");
|
|
21
21
|
var FormComponent = function FormComponent(_ref) {
|
|
22
22
|
var folder = _ref.folder;
|
|
23
23
|
var _useState = (0, _react.useState)(folder.permissions || []),
|
|
@@ -74,16 +74,14 @@ var FormComponent = function FormComponent(_ref) {
|
|
|
74
74
|
};
|
|
75
75
|
var useSetPermissionsDialog = exports.useSetPermissionsDialog = function useSetPermissionsDialog() {
|
|
76
76
|
var dialogs = (0, _appAdmin.useDialogs)();
|
|
77
|
-
var
|
|
78
|
-
updateFolder =
|
|
77
|
+
var _useUpdateFolder = (0, _features.useUpdateFolder)(),
|
|
78
|
+
updateFolder = _useUpdateFolder.updateFolder;
|
|
79
79
|
var _useSnackbar = (0, _appAdmin.useSnackbar)(),
|
|
80
80
|
showSnackbar = _useSnackbar.showSnackbar;
|
|
81
81
|
var _onAccept = (0, _react.useCallback)(async function (folder, data) {
|
|
82
82
|
var updateData = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, folder), data);
|
|
83
83
|
try {
|
|
84
|
-
await updateFolder(updateData
|
|
85
|
-
refetchFoldersList: true
|
|
86
|
-
});
|
|
84
|
+
await updateFolder(updateData);
|
|
87
85
|
showSnackbar("Folder permissions updated successfully!");
|
|
88
86
|
} catch (error) {
|
|
89
87
|
showSnackbar(error.message);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactHooks","_appAdmin","_form","_Grid","_UsersTeamsMultiAutocomplete","_UsersTeamsSelection","_graphql","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactHooks","_appAdmin","_form","_Grid","_UsersTeamsMultiAutocomplete","_UsersTeamsSelection","_graphql","_features","FormComponent","_ref","folder","_useState","useState","permissions","_useState2","_slicedToArray2","default","setPermissions","listTargetsQuery","useQuery","LIST_FOLDER_LEVEL_PERMISSIONS_TARGETS","targetsList","data","aco","listFolderLevelPermissionsTargets","bind","useBind","name","useEffect","onChange","addPermission","useCallback","value","selectedUserOrTeam","length","newPermission","target","level","concat","_toConsumableArray2","slice","updatePermission","_ref2","updatedPermission","permission","map","removeUserTeam","item","filter","createElement","Grid","Cell","span","UsersTeamsMultiAutocomplete","options","UsersTeamsSelection","onRemoveAccess","onUpdatePermission","useSetPermissionsDialog","exports","dialogs","useDialogs","_useUpdateFolder","useUpdateFolder","updateFolder","_useSnackbar","useSnackbar","showSnackbar","onAccept","updateData","_objectSpread2","error","message","showDialog","_ref3","title","content","acceptLabel","cancelLabel","loadingLabel"],"sources":["useSetPermissionsDialog.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useState } from \"react\";\nimport { useQuery } from \"@apollo/react-hooks\";\nimport { useSnackbar } from \"@webiny/app-admin\";\nimport { GenericFormData, useBind } from \"@webiny/form\";\nimport { Cell, Grid } from \"@webiny/ui/Grid\";\n\nimport { UsersTeamsMultiAutocomplete } from \"./DialogSetPermissions/UsersTeamsMultiAutocomplete\";\nimport { UsersTeamsSelection } from \"./DialogSetPermissions/UsersTeamsSelection\";\nimport { LIST_FOLDER_LEVEL_PERMISSIONS_TARGETS } from \"./DialogSetPermissions/graphql\";\n\nimport { useDialogs } from \"@webiny/app-admin\";\nimport { useUpdateFolder } from \"~/features\";\nimport { FolderItem, FolderLevelPermissionsTarget, FolderPermission } from \"~/types\";\n\ninterface ShowDialogParams {\n folder: FolderItem;\n}\n\ninterface UseSetPermissionsDialogResponse {\n showDialog: (params: ShowDialogParams) => void;\n}\n\ninterface FormComponentProps {\n folder: FolderItem;\n}\n\ninterface UpdatePermissionCallableParams {\n permission: FolderPermission;\n}\n\ninterface UpdatePermissionCallable {\n (params: UpdatePermissionCallableParams): void;\n}\n\ninterface RemoveUserTeamCallableParams {\n permission: FolderPermission;\n}\n\ninterface RemoveUserTeamCallable {\n (params: RemoveUserTeamCallableParams): void;\n}\n\nconst FormComponent = ({ folder }: FormComponentProps) => {\n const [permissions, setPermissions] = useState<FolderPermission[]>(folder.permissions || []); // Moved useState outside showDialog\n const listTargetsQuery = useQuery(LIST_FOLDER_LEVEL_PERMISSIONS_TARGETS);\n const targetsList: FolderLevelPermissionsTarget[] =\n listTargetsQuery.data?.aco.listFolderLevelPermissionsTargets.data || [];\n\n const bind = useBind({\n name: \"permissions\"\n });\n\n useEffect(() => {\n bind.onChange(permissions);\n }, [permissions]);\n\n const addPermission = useCallback(\n (value: FolderPermission[]) => {\n const selectedUserOrTeam = value[value.length - 1];\n const newPermission: FolderPermission = {\n target: selectedUserOrTeam.target,\n level: \"editor\"\n };\n\n // We want to add the new permission to the 2nd position in the array.\n // The 1st position is reserved for the \"current user\" permission.\n setPermissions([permissions[0], newPermission, ...permissions.slice(1)]);\n },\n [permissions]\n );\n\n const updatePermission = useCallback<UpdatePermissionCallable>(\n ({ permission: updatedPermission }) => {\n setPermissions(\n permissions.map(permission => {\n if (permission.target === updatedPermission.target) {\n return updatedPermission;\n }\n return permission;\n })\n );\n },\n [permissions]\n );\n\n const removeUserTeam = useCallback<RemoveUserTeamCallable>(\n item => {\n setPermissions(\n permissions.filter(permission => permission.target !== item.permission.target)\n );\n },\n [permissions]\n );\n\n return (\n <Grid>\n <Cell span={12}>\n <UsersTeamsMultiAutocomplete\n options={targetsList}\n value={permissions}\n onChange={addPermission}\n />\n </Cell>\n <Cell span={12}>\n <UsersTeamsSelection\n permissions={permissions}\n targetsList={targetsList}\n onRemoveAccess={removeUserTeam}\n onUpdatePermission={updatePermission}\n />\n </Cell>\n </Grid>\n );\n};\n\nexport const useSetPermissionsDialog = (): UseSetPermissionsDialogResponse => {\n const dialogs = useDialogs();\n const { updateFolder } = useUpdateFolder();\n const { showSnackbar } = useSnackbar();\n\n const onAccept = useCallback(async (folder: FolderItem, data: Partial<FolderItem>) => {\n const updateData = { ...folder, ...data };\n\n try {\n await updateFolder(updateData);\n showSnackbar(\"Folder permissions updated successfully!\");\n } catch (error) {\n showSnackbar(error.message);\n }\n }, []);\n\n const showDialog = ({ folder }: ShowDialogParams) => {\n dialogs.showDialog({\n title: `Manage permissions - ${folder.title}`,\n content: <FormComponent folder={folder} />,\n acceptLabel: \"Save\",\n cancelLabel: \"Cancel\",\n loadingLabel: \"Updating permissions...\",\n onAccept: (data: GenericFormData) => onAccept(folder, data)\n });\n };\n\n return {\n showDialog\n };\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { CmsIdentity, FolderPermission } from "../../types";
|
|
2
|
+
export interface FolderData {
|
|
3
|
+
id?: string;
|
|
4
|
+
title: string;
|
|
5
|
+
slug: string;
|
|
6
|
+
type: string;
|
|
7
|
+
parentId: string | null;
|
|
8
|
+
permissions: FolderPermission[];
|
|
9
|
+
hasNonInheritedPermissions?: boolean;
|
|
10
|
+
canManagePermissions?: boolean;
|
|
11
|
+
canManageStructure?: boolean;
|
|
12
|
+
canManageContent?: boolean;
|
|
13
|
+
createdBy?: CmsIdentity;
|
|
14
|
+
createdOn?: string;
|
|
15
|
+
savedBy?: CmsIdentity;
|
|
16
|
+
savedOn?: string;
|
|
17
|
+
modifiedBy?: CmsIdentity | null;
|
|
18
|
+
modifiedOn?: string | null;
|
|
19
|
+
}
|
|
20
|
+
export declare class Folder {
|
|
21
|
+
id: string;
|
|
22
|
+
title: string;
|
|
23
|
+
slug: string;
|
|
24
|
+
type: string;
|
|
25
|
+
parentId: string | null;
|
|
26
|
+
permissions: FolderPermission[];
|
|
27
|
+
hasNonInheritedPermissions?: boolean;
|
|
28
|
+
canManagePermissions?: boolean;
|
|
29
|
+
canManageStructure?: boolean;
|
|
30
|
+
canManageContent?: boolean;
|
|
31
|
+
createdBy?: CmsIdentity;
|
|
32
|
+
createdOn?: string;
|
|
33
|
+
savedBy?: CmsIdentity;
|
|
34
|
+
savedOn?: string;
|
|
35
|
+
modifiedBy?: CmsIdentity | null;
|
|
36
|
+
modifiedOn?: string | null;
|
|
37
|
+
protected constructor(folder: FolderData);
|
|
38
|
+
static create(folder: FolderData): Folder;
|
|
39
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.Folder = void 0;
|
|
8
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
9
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
10
|
+
var Folder = exports.Folder = /*#__PURE__*/function () {
|
|
11
|
+
function Folder(folder) {
|
|
12
|
+
(0, _classCallCheck2.default)(this, Folder);
|
|
13
|
+
this.id = folder.id ?? "";
|
|
14
|
+
this.title = folder.title;
|
|
15
|
+
this.slug = folder.slug;
|
|
16
|
+
this.type = folder.type;
|
|
17
|
+
this.parentId = folder.parentId;
|
|
18
|
+
this.permissions = folder.permissions;
|
|
19
|
+
this.hasNonInheritedPermissions = folder.hasNonInheritedPermissions;
|
|
20
|
+
this.canManagePermissions = folder.canManagePermissions;
|
|
21
|
+
this.canManageStructure = folder.canManageStructure;
|
|
22
|
+
this.canManageContent = folder.canManageContent;
|
|
23
|
+
this.createdBy = folder.createdBy;
|
|
24
|
+
this.createdOn = folder.createdOn;
|
|
25
|
+
this.savedBy = folder.savedBy;
|
|
26
|
+
this.savedOn = folder.savedOn;
|
|
27
|
+
this.modifiedBy = folder.modifiedBy;
|
|
28
|
+
this.modifiedOn = folder.modifiedOn;
|
|
29
|
+
}
|
|
30
|
+
return (0, _createClass2.default)(Folder, null, [{
|
|
31
|
+
key: "create",
|
|
32
|
+
value: function create(folder) {
|
|
33
|
+
return new Folder(folder);
|
|
34
|
+
}
|
|
35
|
+
}]);
|
|
36
|
+
}();
|
|
37
|
+
|
|
38
|
+
//# sourceMappingURL=Folder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Folder","exports","folder","_classCallCheck2","default","id","title","slug","type","parentId","permissions","hasNonInheritedPermissions","canManagePermissions","canManageStructure","canManageContent","createdBy","createdOn","savedBy","savedOn","modifiedBy","modifiedOn","_createClass2","key","value","create"],"sources":["Folder.ts"],"sourcesContent":["import { CmsIdentity, FolderPermission } from \"~/types\";\n\nexport interface FolderData {\n id?: string;\n title: string;\n slug: string;\n type: string;\n parentId: string | null;\n permissions: FolderPermission[];\n hasNonInheritedPermissions?: boolean;\n canManagePermissions?: boolean;\n canManageStructure?: boolean;\n canManageContent?: boolean;\n createdBy?: CmsIdentity;\n createdOn?: string;\n savedBy?: CmsIdentity;\n savedOn?: string;\n modifiedBy?: CmsIdentity | null;\n modifiedOn?: string | null;\n}\n\nexport class Folder {\n public id: string;\n public title: string;\n public slug: string;\n public type: string;\n public parentId: string | null;\n public permissions: FolderPermission[];\n public hasNonInheritedPermissions?: boolean;\n public canManagePermissions?: boolean;\n public canManageStructure?: boolean;\n public canManageContent?: boolean;\n public createdBy?: CmsIdentity;\n public createdOn?: string;\n public savedBy?: CmsIdentity;\n public savedOn?: string;\n public modifiedBy?: CmsIdentity | null;\n public modifiedOn?: string | null;\n\n protected constructor(folder: FolderData) {\n this.id = folder.id ?? \"\";\n this.title = folder.title;\n this.slug = folder.slug;\n this.type = folder.type;\n this.parentId = folder.parentId;\n this.permissions = folder.permissions;\n this.hasNonInheritedPermissions = folder.hasNonInheritedPermissions;\n this.canManagePermissions = folder.canManagePermissions;\n this.canManageStructure = folder.canManageStructure;\n this.canManageContent = folder.canManageContent;\n this.createdBy = folder.createdBy;\n this.createdOn = folder.createdOn;\n this.savedBy = folder.savedBy;\n this.savedOn = folder.savedOn;\n this.modifiedBy = folder.modifiedBy;\n this.modifiedOn = folder.modifiedOn;\n }\n\n static create(folder: FolderData) {\n return new Folder(folder);\n }\n}\n"],"mappings":";;;;;;;;;IAqBaA,MAAM,GAAAC,OAAA,CAAAD,MAAA;EAkBf,SAAAA,OAAsBE,MAAkB,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA,QAAAJ,MAAA;IACtC,IAAI,CAACK,EAAE,GAAGH,MAAM,CAACG,EAAE,IAAI,EAAE;IACzB,IAAI,CAACC,KAAK,GAAGJ,MAAM,CAACI,KAAK;IACzB,IAAI,CAACC,IAAI,GAAGL,MAAM,CAACK,IAAI;IACvB,IAAI,CAACC,IAAI,GAAGN,MAAM,CAACM,IAAI;IACvB,IAAI,CAACC,QAAQ,GAAGP,MAAM,CAACO,QAAQ;IAC/B,IAAI,CAACC,WAAW,GAAGR,MAAM,CAACQ,WAAW;IACrC,IAAI,CAACC,0BAA0B,GAAGT,MAAM,CAACS,0BAA0B;IACnE,IAAI,CAACC,oBAAoB,GAAGV,MAAM,CAACU,oBAAoB;IACvD,IAAI,CAACC,kBAAkB,GAAGX,MAAM,CAACW,kBAAkB;IACnD,IAAI,CAACC,gBAAgB,GAAGZ,MAAM,CAACY,gBAAgB;IAC/C,IAAI,CAACC,SAAS,GAAGb,MAAM,CAACa,SAAS;IACjC,IAAI,CAACC,SAAS,GAAGd,MAAM,CAACc,SAAS;IACjC,IAAI,CAACC,OAAO,GAAGf,MAAM,CAACe,OAAO;IAC7B,IAAI,CAACC,OAAO,GAAGhB,MAAM,CAACgB,OAAO;IAC7B,IAAI,CAACC,UAAU,GAAGjB,MAAM,CAACiB,UAAU;IACnC,IAAI,CAACC,UAAU,GAAGlB,MAAM,CAACkB,UAAU;EACvC;EAAC,WAAAC,aAAA,CAAAjB,OAAA,EAAAJ,MAAA;IAAAsB,GAAA;IAAAC,KAAA,EAED,SAAOC,MAAMA,CAACtB,MAAkB,EAAE;MAC9B,OAAO,IAAIF,MAAM,CAACE,MAAM,CAAC;IAC7B;EAAC;AAAA","ignoreList":[]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Folder } from "../Folder";
|
|
2
|
+
import { ListCache } from "./ListCache";
|
|
3
|
+
export declare class FoldersCacheFactory {
|
|
4
|
+
private cache;
|
|
5
|
+
getCache(namespace: string): ListCache<Folder>;
|
|
6
|
+
private getCacheKey;
|
|
7
|
+
}
|
|
8
|
+
export declare const folderCacheFactory: FoldersCacheFactory;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.folderCacheFactory = exports.FoldersCacheFactory = void 0;
|
|
8
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
9
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
+
var _ListCache = require("./ListCache");
|
|
12
|
+
var FoldersCacheFactory = exports.FoldersCacheFactory = /*#__PURE__*/function () {
|
|
13
|
+
function FoldersCacheFactory() {
|
|
14
|
+
(0, _classCallCheck2.default)(this, FoldersCacheFactory);
|
|
15
|
+
(0, _defineProperty2.default)(this, "cache", new Map());
|
|
16
|
+
}
|
|
17
|
+
return (0, _createClass2.default)(FoldersCacheFactory, [{
|
|
18
|
+
key: "getCache",
|
|
19
|
+
value: function getCache(namespace) {
|
|
20
|
+
var cacheKey = this.getCacheKey(namespace);
|
|
21
|
+
if (!this.cache.has(cacheKey)) {
|
|
22
|
+
this.cache.set(cacheKey, new _ListCache.ListCache());
|
|
23
|
+
}
|
|
24
|
+
return this.cache.get(cacheKey);
|
|
25
|
+
}
|
|
26
|
+
}, {
|
|
27
|
+
key: "getCacheKey",
|
|
28
|
+
value: function getCacheKey(namespace) {
|
|
29
|
+
return namespace;
|
|
30
|
+
}
|
|
31
|
+
}]);
|
|
32
|
+
}();
|
|
33
|
+
var folderCacheFactory = exports.folderCacheFactory = new FoldersCacheFactory();
|
|
34
|
+
|
|
35
|
+
//# sourceMappingURL=FoldersCacheFactory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_ListCache","require","FoldersCacheFactory","exports","_classCallCheck2","default","_defineProperty2","Map","_createClass2","key","value","getCache","namespace","cacheKey","getCacheKey","cache","has","set","ListCache","get","folderCacheFactory"],"sources":["FoldersCacheFactory.ts"],"sourcesContent":["import { Folder } from \"../Folder\";\nimport { ListCache } from \"~/features/folders/cache/ListCache\";\n\nexport class FoldersCacheFactory {\n private cache: Map<string, ListCache<Folder>> = new Map();\n\n getCache(namespace: string) {\n const cacheKey = this.getCacheKey(namespace);\n\n if (!this.cache.has(cacheKey)) {\n this.cache.set(cacheKey, new ListCache<Folder>());\n }\n\n return this.cache.get(cacheKey) as ListCache<Folder>;\n }\n\n private getCacheKey(namespace: string) {\n return namespace;\n }\n}\n\nexport const folderCacheFactory = new FoldersCacheFactory();\n"],"mappings":";;;;;;;;;;AACA,IAAAA,UAAA,GAAAC,OAAA;AAA+D,IAElDC,mBAAmB,GAAAC,OAAA,CAAAD,mBAAA;EAAA,SAAAA,oBAAA;IAAA,IAAAE,gBAAA,CAAAC,OAAA,QAAAH,mBAAA;IAAA,IAAAI,gBAAA,CAAAD,OAAA,iBACoB,IAAIE,GAAG,CAAC,CAAC;EAAA;EAAA,WAAAC,aAAA,CAAAH,OAAA,EAAAH,mBAAA;IAAAO,GAAA;IAAAC,KAAA,EAEzD,SAAAC,QAAQA,CAACC,SAAiB,EAAE;MACxB,IAAMC,QAAQ,GAAG,IAAI,CAACC,WAAW,CAACF,SAAS,CAAC;MAE5C,IAAI,CAAC,IAAI,CAACG,KAAK,CAACC,GAAG,CAACH,QAAQ,CAAC,EAAE;QAC3B,IAAI,CAACE,KAAK,CAACE,GAAG,CAACJ,QAAQ,EAAE,IAAIK,oBAAS,CAAS,CAAC,CAAC;MACrD;MAEA,OAAO,IAAI,CAACH,KAAK,CAACI,GAAG,CAACN,QAAQ,CAAC;IACnC;EAAC;IAAAJ,GAAA;IAAAC,KAAA,EAED,SAAQI,WAAWA,CAACF,SAAiB,EAAE;MACnC,OAAOA,SAAS;IACpB;EAAC;AAAA;AAGE,IAAMQ,kBAAkB,GAAAjB,OAAA,CAAAiB,kBAAA,GAAG,IAAIlB,mBAAmB,CAAC,CAAC","ignoreList":[]}
|