@webiny/app-file-manager 5.36.2 → 5.37.0-beta.1
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/BatchFileUploader.d.ts +2 -2
- package/BatchFileUploader.js +3 -7
- package/BatchFileUploader.js.map +1 -1
- package/FileManagerFileTypePlugin.d.ts +1 -0
- package/FileManagerFileTypePlugin.js +0 -2
- package/FileManagerFileTypePlugin.js.map +1 -1
- package/app.js.map +1 -1
- package/components/BottomInfoBar/BottomInfoBar.js.map +1 -1
- package/components/BottomInfoBar/ListStatus.js.map +1 -1
- package/components/BottomInfoBar/SupportedFileTypes.js.map +1 -1
- package/components/BottomInfoBar/index.js.map +1 -1
- package/components/BottomInfoBar/styled.js.map +1 -1
- package/components/DropFilesHere/DropFilesHere.js.map +1 -1
- package/components/DropFilesHere/index.js.map +1 -1
- package/components/DropFilesHere/styled.js.map +1 -1
- package/components/Empty/Empty.js.map +1 -1
- package/components/Empty/index.js.map +1 -1
- package/components/FileDetails/FileDetails.d.ts +0 -15
- package/components/FileDetails/FileDetails.js +115 -227
- package/components/FileDetails/FileDetails.js.map +1 -1
- package/components/FileDetails/FileDetailsProvider.d.ts +13 -0
- package/components/FileDetails/FileDetailsProvider.js +25 -0
- package/components/FileDetails/FileDetailsProvider.js.map +1 -0
- package/components/FileDetails/components/Actions.d.ts +2 -0
- package/components/FileDetails/components/Actions.js +35 -0
- package/components/FileDetails/components/Actions.js.map +1 -0
- package/components/FileDetails/{Aliases.d.ts → components/Aliases.d.ts} +0 -1
- package/components/FileDetails/components/Aliases.js +107 -0
- package/components/FileDetails/components/Aliases.js.map +1 -0
- package/components/FileDetails/components/BaseFields.d.ts +7 -0
- package/components/FileDetails/components/BaseFields.js +31 -0
- package/components/FileDetails/components/BaseFields.js.map +1 -0
- package/components/FileDetails/components/Content.d.ts +12 -0
- package/components/FileDetails/components/Content.js +29 -0
- package/components/FileDetails/components/Content.js.map +1 -0
- package/components/FileDetails/components/CreatedOn.d.ts +2 -0
- package/components/FileDetails/components/CreatedOn.js +33 -0
- package/components/FileDetails/components/CreatedOn.js.map +1 -0
- package/components/FileDetails/components/Extensions.d.ts +7 -0
- package/components/FileDetails/components/Extensions.js +59 -0
- package/components/FileDetails/components/Extensions.js.map +1 -0
- package/components/FileDetails/components/Flex.d.ts +7 -0
- package/components/FileDetails/components/Flex.js +27 -0
- package/components/FileDetails/components/Flex.js.map +1 -0
- package/components/FileDetails/components/Footer.d.ts +2 -0
- package/components/FileDetails/components/Footer.js +28 -0
- package/components/FileDetails/components/Footer.js.map +1 -0
- package/components/FileDetails/components/Header.d.ts +2 -0
- package/components/FileDetails/components/Header.js +28 -0
- package/components/FileDetails/components/Header.js.map +1 -0
- package/components/FileDetails/components/Name.d.ts +2 -0
- package/components/FileDetails/components/Name.js +30 -0
- package/components/FileDetails/components/Name.js.map +1 -0
- package/components/FileDetails/components/Preview.d.ts +2 -0
- package/components/FileDetails/components/Preview.js +18 -0
- package/components/FileDetails/components/Preview.js.map +1 -0
- package/components/FileDetails/components/PreviewMeta.d.ts +2 -0
- package/components/FileDetails/components/PreviewMeta.js +19 -0
- package/components/FileDetails/components/PreviewMeta.js.map +1 -0
- package/components/FileDetails/components/Tags.d.ts +2 -0
- package/components/FileDetails/components/Tags.js +37 -0
- package/components/FileDetails/components/Tags.js.map +1 -0
- package/components/FileDetails/components/Thumbnail.d.ts +5 -0
- package/components/FileDetails/components/Thumbnail.js +26 -0
- package/components/FileDetails/components/Thumbnail.js.map +1 -0
- package/components/FileDetails/components/TypeAndSize.d.ts +2 -0
- package/components/FileDetails/components/TypeAndSize.js +45 -0
- package/components/FileDetails/components/TypeAndSize.js.map +1 -0
- package/components/FileDetails/components/actions/CopyUrl.d.ts +2 -0
- package/components/FileDetails/components/actions/CopyUrl.js +33 -0
- package/components/FileDetails/components/actions/CopyUrl.js.map +1 -0
- package/components/FileDetails/components/actions/DeleteImage.d.ts +6 -0
- package/components/FileDetails/{DeleteImageAction.js → components/actions/DeleteImage.js} +8 -7
- package/components/FileDetails/components/actions/DeleteImage.js.map +1 -0
- package/components/FileDetails/components/actions/Download.d.ts +2 -0
- package/components/FileDetails/components/actions/Download.js +31 -0
- package/components/FileDetails/components/actions/Download.js.map +1 -0
- package/components/FileDetails/components/actions/MoveTo.d.ts +2 -0
- package/components/FileDetails/components/actions/MoveTo.js +29 -0
- package/components/FileDetails/components/actions/MoveTo.js.map +1 -0
- package/components/FileDetails/index.js.map +1 -1
- package/components/Grid/File.d.ts +3 -3
- package/components/Grid/File.js +52 -30
- package/components/Grid/File.js.map +1 -1
- package/components/Grid/Grid.d.ts +1 -1
- package/components/Grid/Grid.js +27 -54
- package/components/Grid/Grid.js.map +1 -1
- package/components/Grid/index.js.map +1 -1
- package/components/Grid/styled.d.ts +9 -6
- package/components/Grid/styled.js +20 -18
- package/components/Grid/styled.js.map +1 -1
- package/components/NoPermission/NoPermission.js.map +1 -1
- package/components/NoPermission/index.js.map +1 -1
- package/components/NoPermission/styled.js.map +1 -1
- package/components/NoResults/NoResults.js.map +1 -1
- package/components/NoResults/index.js.map +1 -1
- package/components/NoResults/styled.js.map +1 -1
- package/components/Table/FolderActionDelete.js.map +1 -1
- package/components/Table/FolderActionEdit.js.map +1 -1
- package/components/Table/Name.js.map +1 -1
- package/components/Table/RecordActionCopy.d.ts +1 -1
- package/components/Table/RecordActionCopy.js.map +1 -1
- package/components/Table/RecordActionDelete.d.ts +1 -1
- package/components/Table/RecordActionDelete.js +2 -6
- package/components/Table/RecordActionDelete.js.map +1 -1
- package/components/Table/RecordActionEdit.js.map +1 -1
- package/components/Table/RecordActionMove.d.ts +2 -6
- package/components/Table/RecordActionMove.js +6 -3
- package/components/Table/RecordActionMove.js.map +1 -1
- package/components/Table/Table.d.ts +25 -12
- package/components/Table/Table.js +111 -145
- package/components/Table/Table.js.map +1 -1
- package/components/Table/index.js.map +1 -1
- package/components/Table/styled.js.map +1 -1
- package/components/Title/Title.js.map +1 -1
- package/components/Title/index.js.map +1 -1
- package/components/Title/styled.js.map +1 -1
- package/components/UploadStatus/UploadStatus.js.map +1 -1
- package/components/UploadStatus/index.js.map +1 -1
- package/components/UploadStatus/styled.js.map +1 -1
- package/constants.d.ts +3 -2
- package/constants.js +13 -6
- package/constants.js.map +1 -1
- package/contexts/FileProvider.js.map +1 -0
- package/getFileTypePlugin.d.ts +1 -2
- package/getFileTypePlugin.js.map +1 -1
- package/hooks/useCopyFile.js +3 -3
- package/hooks/useCopyFile.js.map +1 -1
- package/hooks/useDeleteFile.js +7 -3
- package/hooks/useDeleteFile.js.map +1 -1
- package/hooks/useFile.d.ts +2 -0
- package/hooks/useFile.js +17 -0
- package/hooks/useFile.js.map +1 -0
- package/hooks/useFileDetails.d.ts +2 -0
- package/hooks/useFileDetails.js +17 -0
- package/hooks/useFileDetails.js.map +1 -0
- package/hooks/useFileModel.d.ts +1 -0
- package/hooks/useFileModel.js +16 -0
- package/hooks/useFileModel.js.map +1 -0
- package/hooks/useMoveFileToFolder.d.ts +2 -0
- package/hooks/useMoveFileToFolder.js +48 -0
- package/hooks/useMoveFileToFolder.js.map +1 -0
- package/index.d.ts +5 -2
- package/index.js +60 -13
- package/index.js.map +1 -1
- package/modules/FileManagerApiProvider/FileManagerApiContext/FileManagerApiContext.d.ts +3 -1
- package/modules/FileManagerApiProvider/FileManagerApiContext/FileManagerApiContext.js +128 -76
- package/modules/FileManagerApiProvider/FileManagerApiContext/FileManagerApiContext.js.map +1 -1
- package/modules/FileManagerApiProvider/FileManagerApiContext/FileModelContext.d.ts +6 -0
- package/modules/FileManagerApiProvider/FileManagerApiContext/FileModelContext.js +36 -0
- package/modules/FileManagerApiProvider/FileManagerApiContext/FileModelContext.js.map +1 -0
- package/modules/FileManagerApiProvider/FileManagerApiContext/getFileUploader.js.map +1 -1
- package/modules/FileManagerApiProvider/FileManagerApiContext/index.js.map +1 -1
- package/modules/FileManagerApiProvider/FileManagerApiContext/useFileManagerApi.js.map +1 -1
- package/modules/FileManagerApiProvider/graphql.d.ts +46 -28
- package/modules/FileManagerApiProvider/graphql.js +18 -9
- package/modules/FileManagerApiProvider/graphql.js.map +1 -1
- package/modules/FileManagerApiProvider/index.js +2 -1
- package/modules/FileManagerApiProvider/index.js.map +1 -1
- package/modules/FileManagerRenderer/FileManagerView/FileManagerView.d.ts +5 -0
- package/modules/FileManagerRenderer/FileManagerView/FileManagerView.js +389 -0
- package/modules/FileManagerRenderer/FileManagerView/FileManagerView.js.map +1 -0
- package/modules/FileManagerRenderer/FileManagerView/FileManagerViewConfig.d.ts +32 -0
- package/modules/FileManagerRenderer/FileManagerView/FileManagerViewConfig.js +37 -0
- package/modules/FileManagerRenderer/FileManagerView/FileManagerViewConfig.js.map +1 -0
- package/modules/FileManagerRenderer/FileManagerView/LeftSidebar.d.ts +8 -0
- package/modules/FileManagerRenderer/FileManagerView/LeftSidebar.js +32 -0
- package/modules/FileManagerRenderer/FileManagerView/LeftSidebar.js.map +1 -0
- package/modules/FileManagerRenderer/FileManagerView/NavigateFolderProvider.d.ts +4 -0
- package/modules/FileManagerRenderer/FileManagerView/NavigateFolderProvider.js +36 -0
- package/modules/FileManagerRenderer/FileManagerView/NavigateFolderProvider.js.map +1 -0
- package/modules/FileManagerRenderer/FileManagerView/components/Filters.d.ts +2 -0
- package/modules/FileManagerRenderer/FileManagerView/components/Filters.js +33 -0
- package/modules/FileManagerRenderer/FileManagerView/components/Filters.js.map +1 -0
- package/modules/FileManagerRenderer/FileManagerView/components/SearchWidget.d.ts +2 -0
- package/modules/FileManagerRenderer/FileManagerView/components/SearchWidget.js +65 -0
- package/modules/FileManagerRenderer/FileManagerView/components/SearchWidget.js.map +1 -0
- package/modules/FileManagerRenderer/FileManagerView/components/TagsList/Empty.d.ts +6 -0
- package/modules/FileManagerRenderer/FileManagerView/components/TagsList/Empty.js +18 -0
- package/modules/FileManagerRenderer/FileManagerView/components/TagsList/Empty.js.map +1 -0
- package/modules/FileManagerRenderer/FileManagerView/components/TagsList/Tag.d.ts +9 -0
- package/modules/FileManagerRenderer/FileManagerView/components/TagsList/Tag.js +28 -0
- package/modules/FileManagerRenderer/FileManagerView/components/TagsList/Tag.js.map +1 -0
- package/modules/FileManagerRenderer/FileManagerView/components/TagsList/TagsList.d.ts +11 -0
- package/modules/FileManagerRenderer/FileManagerView/components/TagsList/TagsList.js +73 -0
- package/modules/FileManagerRenderer/FileManagerView/components/TagsList/TagsList.js.map +1 -0
- package/modules/FileManagerRenderer/FileManagerView/components/TagsList/index.d.ts +1 -0
- package/modules/FileManagerRenderer/FileManagerView/components/TagsList/index.js +16 -0
- package/modules/FileManagerRenderer/FileManagerView/components/TagsList/index.js.map +1 -0
- package/modules/FileManagerRenderer/FileManagerView/components/TagsList/styled.d.ts +23 -0
- package/modules/FileManagerRenderer/FileManagerView/components/TagsList/styled.js +38 -0
- package/modules/FileManagerRenderer/FileManagerView/components/TagsList/styled.js.map +1 -0
- package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/Filter.d.ts +17 -0
- package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/Filter.js +52 -0
- package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/Filter.js.map +1 -0
- package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/FiltersToWhere.d.ts +7 -0
- package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/FiltersToWhere.js +21 -0
- package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/FiltersToWhere.js.map +1 -0
- package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/index.d.ts +17 -0
- package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/index.js +13 -0
- package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/index.js.map +1 -0
- package/modules/FileManagerRenderer/FileManagerView/configComponents/FileDetails/FieldDecorator.d.ts +8 -0
- package/modules/FileManagerRenderer/FileManagerView/configComponents/FileDetails/FieldDecorator.js +32 -0
- package/modules/FileManagerRenderer/FileManagerView/configComponents/FileDetails/FieldDecorator.js.map +1 -0
- package/modules/FileManagerRenderer/FileManagerView/configComponents/FileDetails/Width.d.ts +5 -0
- package/modules/FileManagerRenderer/FileManagerView/configComponents/FileDetails/Width.js +21 -0
- package/modules/FileManagerRenderer/FileManagerView/configComponents/FileDetails/Width.js.map +1 -0
- package/modules/FileManagerRenderer/FileManagerView/configComponents/FileDetails/index.d.ts +12 -0
- package/modules/FileManagerRenderer/FileManagerView/configComponents/FileDetails/index.js +15 -0
- package/modules/FileManagerRenderer/FileManagerView/configComponents/FileDetails/index.js.map +1 -0
- package/modules/FileManagerRenderer/FileManagerView/index.d.ts +2 -0
- package/modules/FileManagerRenderer/{DefaultRenderer → FileManagerView}/index.js +11 -9
- package/modules/FileManagerRenderer/FileManagerView/index.js.map +1 -0
- package/modules/FileManagerRenderer/FileManagerView/outputFileSelectionError.js.map +1 -0
- package/modules/FileManagerRenderer/FileManagerViewProvider/FileManagerViewContext.d.ts +59 -33
- package/modules/FileManagerRenderer/FileManagerViewProvider/FileManagerViewContext.js +405 -237
- package/modules/FileManagerRenderer/FileManagerViewProvider/FileManagerViewContext.js.map +1 -1
- package/modules/FileManagerRenderer/FileManagerViewProvider/index.js.map +1 -1
- package/modules/FileManagerRenderer/FileManagerViewProvider/state.d.ts +29 -0
- package/modules/FileManagerRenderer/FileManagerViewProvider/state.js +39 -0
- package/modules/FileManagerRenderer/FileManagerViewProvider/state.js.map +1 -0
- package/modules/FileManagerRenderer/FileManagerViewProvider/useFileManagerView.d.ts +2 -2
- package/modules/FileManagerRenderer/FileManagerViewProvider/useFileManagerView.js.map +1 -1
- package/modules/FileManagerRenderer/FileManagerViewProvider/useListFiles.d.ts +25 -0
- package/modules/FileManagerRenderer/FileManagerViewProvider/useListFiles.js +174 -0
- package/modules/FileManagerRenderer/FileManagerViewProvider/useListFiles.js.map +1 -0
- package/modules/FileManagerRenderer/FileManagerViewProvider/useTags.d.ts +11 -0
- package/modules/FileManagerRenderer/FileManagerViewProvider/useTags.js +100 -0
- package/modules/FileManagerRenderer/FileManagerViewProvider/useTags.js.map +1 -0
- package/modules/FileManagerRenderer/filters/FilterByType.d.ts +2 -0
- package/modules/FileManagerRenderer/filters/FilterByType.js +38 -0
- package/modules/FileManagerRenderer/filters/FilterByType.js.map +1 -0
- package/modules/FileManagerRenderer/index.js +8 -2
- package/modules/FileManagerRenderer/index.js.map +1 -1
- package/modules/FileTypes/fileDefault.js.map +1 -1
- package/modules/FileTypes/fileImage/EditAction.js +2 -2
- package/modules/FileTypes/fileImage/EditAction.js.map +1 -1
- package/modules/FileTypes/fileImage/index.js +10 -9
- package/modules/FileTypes/fileImage/index.js.map +1 -1
- package/modules/FileTypes/index.js.map +1 -1
- package/modules/Settings/graphql.js.map +1 -1
- package/modules/Settings/index.js.map +1 -1
- package/modules/Settings/plugins/installation.js +1 -1
- package/modules/Settings/plugins/installation.js.map +1 -1
- package/modules/Settings/plugins/permissionRenderer/FileManagerPermissions.js +16 -2
- package/modules/Settings/plugins/permissionRenderer/FileManagerPermissions.js.map +1 -1
- package/modules/Settings/plugins/permissionRenderer/index.js.map +1 -1
- package/modules/Settings/views/FileManagerSettings.js.map +1 -1
- package/package.json +24 -22
- package/tagsHelpers.js.map +1 -1
- package/types.d.ts +4 -0
- package/types.js.map +1 -1
- package/components/FileDetails/Aliases.js +0 -232
- package/components/FileDetails/Aliases.js.map +0 -1
- package/components/FileDetails/DeleteImageAction.d.ts +0 -6
- package/components/FileDetails/DeleteImageAction.js.map +0 -1
- package/components/FileDetails/FileProvider.js.map +0 -1
- package/components/FileDetails/Name.d.ts +0 -3
- package/components/FileDetails/Name.js +0 -81
- package/components/FileDetails/Name.js.map +0 -1
- package/components/FileDetails/Tags.d.ts +0 -7
- package/components/FileDetails/Tags.js +0 -191
- package/components/FileDetails/Tags.js.map +0 -1
- package/modules/FileManagerRenderer/AcoRenderer/FileManagerAcoView.d.ts +0 -18
- package/modules/FileManagerRenderer/AcoRenderer/FileManagerAcoView.js +0 -623
- package/modules/FileManagerRenderer/AcoRenderer/FileManagerAcoView.js.map +0 -1
- package/modules/FileManagerRenderer/AcoRenderer/LeftSidebar.d.ts +0 -12
- package/modules/FileManagerRenderer/AcoRenderer/LeftSidebar.js +0 -75
- package/modules/FileManagerRenderer/AcoRenderer/LeftSidebar.js.map +0 -1
- package/modules/FileManagerRenderer/AcoRenderer/index.d.ts +0 -2
- package/modules/FileManagerRenderer/AcoRenderer/index.js +0 -70
- package/modules/FileManagerRenderer/AcoRenderer/index.js.map +0 -1
- package/modules/FileManagerRenderer/AcoRenderer/outputFileSelectionError.js.map +0 -1
- package/modules/FileManagerRenderer/DefaultRenderer/BottomInfoBar/SupportedFileTypes.d.ts +0 -6
- package/modules/FileManagerRenderer/DefaultRenderer/BottomInfoBar/SupportedFileTypes.js +0 -46
- package/modules/FileManagerRenderer/DefaultRenderer/BottomInfoBar/SupportedFileTypes.js.map +0 -1
- package/modules/FileManagerRenderer/DefaultRenderer/BottomInfoBar/UploadStatus.d.ts +0 -7
- package/modules/FileManagerRenderer/DefaultRenderer/BottomInfoBar/UploadStatus.js +0 -63
- package/modules/FileManagerRenderer/DefaultRenderer/BottomInfoBar/UploadStatus.js.map +0 -1
- package/modules/FileManagerRenderer/DefaultRenderer/BottomInfoBar/assets/check.svg +0 -3
- package/modules/FileManagerRenderer/DefaultRenderer/BottomInfoBar/assets/loading.svg +0 -17
- package/modules/FileManagerRenderer/DefaultRenderer/BottomInfoBar.d.ts +0 -6
- package/modules/FileManagerRenderer/DefaultRenderer/BottomInfoBar.js +0 -29
- package/modules/FileManagerRenderer/DefaultRenderer/BottomInfoBar.js.map +0 -1
- package/modules/FileManagerRenderer/DefaultRenderer/DropFilesHere.d.ts +0 -11
- package/modules/FileManagerRenderer/DefaultRenderer/DropFilesHere.js +0 -68
- package/modules/FileManagerRenderer/DefaultRenderer/DropFilesHere.js.map +0 -1
- package/modules/FileManagerRenderer/DefaultRenderer/EmptyView.d.ts +0 -7
- package/modules/FileManagerRenderer/DefaultRenderer/EmptyView.js +0 -32
- package/modules/FileManagerRenderer/DefaultRenderer/EmptyView.js.map +0 -1
- package/modules/FileManagerRenderer/DefaultRenderer/File.d.ts +0 -16
- package/modules/FileManagerRenderer/DefaultRenderer/File.js +0 -131
- package/modules/FileManagerRenderer/DefaultRenderer/File.js.map +0 -1
- package/modules/FileManagerRenderer/DefaultRenderer/FileManagerView.d.ts +0 -18
- package/modules/FileManagerRenderer/DefaultRenderer/FileManagerView.js +0 -414
- package/modules/FileManagerRenderer/DefaultRenderer/FileManagerView.js.map +0 -1
- package/modules/FileManagerRenderer/DefaultRenderer/LeftSidebar.d.ts +0 -6
- package/modules/FileManagerRenderer/DefaultRenderer/LeftSidebar.js +0 -96
- package/modules/FileManagerRenderer/DefaultRenderer/LeftSidebar.js.map +0 -1
- package/modules/FileManagerRenderer/DefaultRenderer/NoPermissionView.d.ts +0 -3
- package/modules/FileManagerRenderer/DefaultRenderer/NoPermissionView.js +0 -74
- package/modules/FileManagerRenderer/DefaultRenderer/NoPermissionView.js.map +0 -1
- package/modules/FileManagerRenderer/DefaultRenderer/NoResults.d.ts +0 -3
- package/modules/FileManagerRenderer/DefaultRenderer/NoResults.js +0 -22
- package/modules/FileManagerRenderer/DefaultRenderer/NoResults.js.map +0 -1
- package/modules/FileManagerRenderer/DefaultRenderer/index.d.ts +0 -2
- package/modules/FileManagerRenderer/DefaultRenderer/index.js.map +0 -1
- package/modules/FileManagerRenderer/DefaultRenderer/outputFileSelectionError.d.ts +0 -2
- package/modules/FileManagerRenderer/DefaultRenderer/outputFileSelectionError.js +0 -40
- package/modules/FileManagerRenderer/DefaultRenderer/outputFileSelectionError.js.map +0 -1
- package/modules/FileManagerRenderer/FileManagerAcoViewProvider/FileManagerAcoViewContext.d.ts +0 -54
- package/modules/FileManagerRenderer/FileManagerAcoViewProvider/FileManagerAcoViewContext.js +0 -430
- package/modules/FileManagerRenderer/FileManagerAcoViewProvider/FileManagerAcoViewContext.js.map +0 -1
- package/modules/FileManagerRenderer/FileManagerAcoViewProvider/index.d.ts +0 -2
- package/modules/FileManagerRenderer/FileManagerAcoViewProvider/index.js +0 -27
- package/modules/FileManagerRenderer/FileManagerAcoViewProvider/index.js.map +0 -1
- package/modules/FileManagerRenderer/FileManagerAcoViewProvider/stateReducer.d.ts +0 -74
- package/modules/FileManagerRenderer/FileManagerAcoViewProvider/stateReducer.js +0 -118
- package/modules/FileManagerRenderer/FileManagerAcoViewProvider/stateReducer.js.map +0 -1
- package/modules/FileManagerRenderer/FileManagerAcoViewProvider/useFileManagerAcoView.d.ts +0 -3
- package/modules/FileManagerRenderer/FileManagerAcoViewProvider/useFileManagerAcoView.js +0 -15
- package/modules/FileManagerRenderer/FileManagerAcoViewProvider/useFileManagerAcoView.js.map +0 -1
- package/modules/FileManagerRenderer/FileManagerViewProvider/stateReducer.d.ts +0 -60
- package/modules/FileManagerRenderer/FileManagerViewProvider/stateReducer.js +0 -95
- package/modules/FileManagerRenderer/FileManagerViewProvider/stateReducer.js.map +0 -1
- package/{components/FileDetails → contexts}/FileProvider.d.ts +1 -1
- /package/{components/FileDetails → contexts}/FileProvider.js +0 -0
- /package/modules/FileManagerRenderer/{AcoRenderer → FileManagerView}/outputFileSelectionError.d.ts +0 -0
- /package/modules/FileManagerRenderer/{AcoRenderer → FileManagerView}/outputFileSelectionError.js +0 -0
|
@@ -9,72 +9,111 @@ exports.FileManagerApiProvider = exports.FileManagerApiContext = void 0;
|
|
|
9
9
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
10
10
|
var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
|
|
11
11
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
12
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
12
13
|
var _react = _interopRequireWildcard(require("react"));
|
|
13
14
|
var _reactHooks = require("@apollo/react-hooks");
|
|
15
|
+
var _error = _interopRequireDefault(require("@webiny/error"));
|
|
14
16
|
var _appSecurity = require("@webiny/app-security");
|
|
15
17
|
var _graphql = require("../graphql");
|
|
16
18
|
var _getFileUploader = require("./getFileUploader");
|
|
19
|
+
var _createFieldsList = require("@webiny/app-headless-cms/admin/graphql/createFieldsList");
|
|
20
|
+
var _useFileModel = require("../../../hooks/useFileModel");
|
|
21
|
+
var _omit = _interopRequireDefault(require("lodash/omit"));
|
|
17
22
|
var FileManagerApiContext = /*#__PURE__*/_react.default.createContext(undefined);
|
|
18
23
|
exports.FileManagerApiContext = FileManagerApiContext;
|
|
24
|
+
var getModelFields = function getModelFields(model) {
|
|
25
|
+
var fields = (0, _createFieldsList.createFieldsList)({
|
|
26
|
+
model: model,
|
|
27
|
+
fields: model.fields
|
|
28
|
+
});
|
|
29
|
+
return (/* GraphQL */"{\n __typename\n id\n createdOn\n savedOn\n createdBy {\n id\n displayName\n }\n src\n ".concat(fields, "\n }")
|
|
30
|
+
);
|
|
31
|
+
};
|
|
32
|
+
var FM_FULL_ACCESS_PERMISSION_NAME = "fm.*";
|
|
19
33
|
var FileManagerApiProvider = function FileManagerApiProvider(_ref) {
|
|
20
34
|
var children = _ref.children;
|
|
21
35
|
var _useSecurity = (0, _appSecurity.useSecurity)(),
|
|
22
36
|
identity = _useSecurity.identity,
|
|
37
|
+
getIdentityId = _useSecurity.getIdentityId,
|
|
38
|
+
getPermissions = _useSecurity.getPermissions,
|
|
23
39
|
getPermission = _useSecurity.getPermission;
|
|
24
40
|
var client = (0, _reactHooks.useApolloClient)();
|
|
25
|
-
var
|
|
26
|
-
|
|
41
|
+
var fileModel = (0, _useFileModel.useFileModel)();
|
|
42
|
+
var _useState = (0, _react.useState)(getModelFields(fileModel)),
|
|
43
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 1),
|
|
44
|
+
modelFields = _useState2[0];
|
|
45
|
+
|
|
46
|
+
// Note for below permissions checks:
|
|
47
|
+
// `own: true` defines full RWD access to files created by the user.
|
|
48
|
+
|
|
49
|
+
var fmFilePermissions = (0, _react.useMemo)(function () {
|
|
50
|
+
return getPermissions("fm.file");
|
|
27
51
|
}, [identity]);
|
|
52
|
+
var hasFullAccess = (0, _react.useMemo)(function () {
|
|
53
|
+
return !!getPermission(FM_FULL_ACCESS_PERMISSION_NAME);
|
|
54
|
+
}, [identity]);
|
|
55
|
+
var hasNoAccess = (0, _react.useMemo)(function () {
|
|
56
|
+
return fmFilePermissions.length === 0;
|
|
57
|
+
}, [fmFilePermissions]);
|
|
28
58
|
var canDelete = (0, _react.useCallback)(function (item) {
|
|
29
|
-
// Bail out early if no access
|
|
30
|
-
if (
|
|
59
|
+
// Bail out early if no access or has full access.
|
|
60
|
+
if (hasNoAccess) {
|
|
31
61
|
return false;
|
|
32
62
|
}
|
|
33
|
-
|
|
34
|
-
var
|
|
35
|
-
|
|
36
|
-
|
|
63
|
+
return hasFullAccess || fmFilePermissions.some(function (_ref2) {
|
|
64
|
+
var rwd = _ref2.rwd,
|
|
65
|
+
own = _ref2.own;
|
|
66
|
+
if (own) {
|
|
67
|
+
var _item$createdBy;
|
|
68
|
+
var identityId = getIdentityId();
|
|
69
|
+
var createdById = (_item$createdBy = item.createdBy) === null || _item$createdBy === void 0 ? void 0 : _item$createdBy.id;
|
|
70
|
+
return identityId && identityId === createdById;
|
|
37
71
|
}
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
return
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
}, [fmFilePermission]);
|
|
72
|
+
if (rwd && rwd.includes("d")) {
|
|
73
|
+
return true;
|
|
74
|
+
}
|
|
75
|
+
return false;
|
|
76
|
+
});
|
|
77
|
+
}, [fmFilePermissions]);
|
|
45
78
|
var canRead = (0, _react.useMemo)(function () {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
var canCreate = (0, _react.useMemo)(function () {
|
|
49
|
-
// Bail out early if no access
|
|
50
|
-
if (!fmFilePermission) {
|
|
79
|
+
// Bail out early if no access or has full access.
|
|
80
|
+
if (hasNoAccess) {
|
|
51
81
|
return false;
|
|
52
82
|
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
if
|
|
57
|
-
|
|
83
|
+
return hasFullAccess || fmFilePermissions.length > 0;
|
|
84
|
+
}, [fmFilePermissions]);
|
|
85
|
+
var canCreate = (0, _react.useMemo)(function () {
|
|
86
|
+
// Bail out early if no access or has full access.
|
|
87
|
+
if (hasNoAccess) {
|
|
88
|
+
return false;
|
|
58
89
|
}
|
|
59
|
-
return
|
|
60
|
-
|
|
90
|
+
return hasFullAccess || fmFilePermissions.some(function (_ref3) {
|
|
91
|
+
var rwd = _ref3.rwd;
|
|
92
|
+
return rwd && rwd.includes("w");
|
|
93
|
+
});
|
|
94
|
+
}, [fmFilePermissions]);
|
|
61
95
|
var canEdit = (0, _react.useCallback)(function (item) {
|
|
62
|
-
// Bail out early if no access
|
|
63
|
-
if (
|
|
96
|
+
// Bail out early if no access or has full access.
|
|
97
|
+
if (hasNoAccess) {
|
|
64
98
|
return false;
|
|
65
99
|
}
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
100
|
+
return hasFullAccess || fmFilePermissions.some(function (_ref4) {
|
|
101
|
+
var rwd = _ref4.rwd,
|
|
102
|
+
own = _ref4.own;
|
|
103
|
+
if (own) {
|
|
104
|
+
var _item$createdBy2;
|
|
105
|
+
var identityId = getIdentityId();
|
|
106
|
+
var createdById = (_item$createdBy2 = item.createdBy) === null || _item$createdBy2 === void 0 ? void 0 : _item$createdBy2.id;
|
|
107
|
+
return identityId && identityId === createdById;
|
|
108
|
+
}
|
|
109
|
+
if (rwd && rwd.includes("w")) {
|
|
110
|
+
return true;
|
|
111
|
+
}
|
|
112
|
+
return false;
|
|
113
|
+
});
|
|
114
|
+
}, [fmFilePermissions]);
|
|
76
115
|
var createFile = /*#__PURE__*/function () {
|
|
77
|
-
var
|
|
116
|
+
var _ref5 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee(data) {
|
|
78
117
|
var _response$data;
|
|
79
118
|
var response;
|
|
80
119
|
return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
|
|
@@ -82,10 +121,9 @@ var FileManagerApiProvider = function FileManagerApiProvider(_ref) {
|
|
|
82
121
|
case 0:
|
|
83
122
|
_context.next = 2;
|
|
84
123
|
return client.mutate({
|
|
85
|
-
mutation: _graphql.CREATE_FILE,
|
|
124
|
+
mutation: (0, _graphql.CREATE_FILE)(modelFields),
|
|
86
125
|
variables: {
|
|
87
|
-
data: data
|
|
88
|
-
meta: meta
|
|
126
|
+
data: data
|
|
89
127
|
}
|
|
90
128
|
});
|
|
91
129
|
case 2:
|
|
@@ -97,21 +135,21 @@ var FileManagerApiProvider = function FileManagerApiProvider(_ref) {
|
|
|
97
135
|
}
|
|
98
136
|
}, _callee);
|
|
99
137
|
}));
|
|
100
|
-
return function createFile(_x
|
|
101
|
-
return
|
|
138
|
+
return function createFile(_x) {
|
|
139
|
+
return _ref5.apply(this, arguments);
|
|
102
140
|
};
|
|
103
141
|
}();
|
|
104
142
|
var updateFile = /*#__PURE__*/function () {
|
|
105
|
-
var
|
|
143
|
+
var _ref6 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee2(id, data) {
|
|
106
144
|
return (0, _regeneratorRuntime2.default)().wrap(function _callee2$(_context2) {
|
|
107
145
|
while (1) switch (_context2.prev = _context2.next) {
|
|
108
146
|
case 0:
|
|
109
147
|
_context2.next = 2;
|
|
110
148
|
return client.mutate({
|
|
111
|
-
mutation: _graphql.UPDATE_FILE,
|
|
149
|
+
mutation: (0, _graphql.UPDATE_FILE)(modelFields),
|
|
112
150
|
variables: {
|
|
113
151
|
id: id,
|
|
114
|
-
data: data
|
|
152
|
+
data: (0, _omit.default)(data, ["createdOn", "savedOn", "createdBy"])
|
|
115
153
|
}
|
|
116
154
|
});
|
|
117
155
|
case 2:
|
|
@@ -120,12 +158,12 @@ var FileManagerApiProvider = function FileManagerApiProvider(_ref) {
|
|
|
120
158
|
}
|
|
121
159
|
}, _callee2);
|
|
122
160
|
}));
|
|
123
|
-
return function updateFile(
|
|
124
|
-
return
|
|
161
|
+
return function updateFile(_x2, _x3) {
|
|
162
|
+
return _ref6.apply(this, arguments);
|
|
125
163
|
};
|
|
126
164
|
}();
|
|
127
165
|
var deleteFile = /*#__PURE__*/function () {
|
|
128
|
-
var
|
|
166
|
+
var _ref7 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee3(id) {
|
|
129
167
|
return (0, _regeneratorRuntime2.default)().wrap(function _callee3$(_context3) {
|
|
130
168
|
while (1) switch (_context3.prev = _context3.next) {
|
|
131
169
|
case 0:
|
|
@@ -142,45 +180,53 @@ var FileManagerApiProvider = function FileManagerApiProvider(_ref) {
|
|
|
142
180
|
}
|
|
143
181
|
}, _callee3);
|
|
144
182
|
}));
|
|
145
|
-
return function deleteFile(
|
|
146
|
-
return
|
|
183
|
+
return function deleteFile(_x4) {
|
|
184
|
+
return _ref7.apply(this, arguments);
|
|
147
185
|
};
|
|
148
186
|
}();
|
|
149
187
|
var getFile = /*#__PURE__*/function () {
|
|
150
|
-
var
|
|
188
|
+
var _ref8 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee4(id) {
|
|
151
189
|
var _response$data2;
|
|
152
|
-
var response;
|
|
190
|
+
var response, _response$data$fileMa, data, error;
|
|
153
191
|
return (0, _regeneratorRuntime2.default)().wrap(function _callee4$(_context4) {
|
|
154
192
|
while (1) switch (_context4.prev = _context4.next) {
|
|
155
193
|
case 0:
|
|
156
194
|
_context4.next = 2;
|
|
157
195
|
return client.query({
|
|
158
|
-
query: _graphql.GET_FILE,
|
|
196
|
+
query: (0, _graphql.GET_FILE)(modelFields),
|
|
159
197
|
variables: {
|
|
160
198
|
id: id
|
|
161
199
|
}
|
|
162
200
|
});
|
|
163
201
|
case 2:
|
|
164
202
|
response = _context4.sent;
|
|
165
|
-
|
|
166
|
-
|
|
203
|
+
_response$data$fileMa = (_response$data2 = response.data) === null || _response$data2 === void 0 ? void 0 : _response$data2.fileManager.getFile, data = _response$data$fileMa.data, error = _response$data$fileMa.error;
|
|
204
|
+
if (!error) {
|
|
205
|
+
_context4.next = 6;
|
|
206
|
+
break;
|
|
207
|
+
}
|
|
208
|
+
throw new _error.default(error);
|
|
209
|
+
case 6:
|
|
210
|
+
return _context4.abrupt("return", data);
|
|
211
|
+
case 7:
|
|
167
212
|
case "end":
|
|
168
213
|
return _context4.stop();
|
|
169
214
|
}
|
|
170
215
|
}, _callee4);
|
|
171
216
|
}));
|
|
172
|
-
return function getFile(
|
|
173
|
-
return
|
|
217
|
+
return function getFile(_x5) {
|
|
218
|
+
return _ref8.apply(this, arguments);
|
|
174
219
|
};
|
|
175
220
|
}();
|
|
176
221
|
var listFiles = /*#__PURE__*/function () {
|
|
177
|
-
var
|
|
222
|
+
var _ref9 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee5() {
|
|
178
223
|
var params,
|
|
179
224
|
_yield$client$query,
|
|
180
225
|
data,
|
|
181
226
|
_data$fileManager$lis,
|
|
182
227
|
files,
|
|
183
228
|
meta,
|
|
229
|
+
error,
|
|
184
230
|
_args5 = arguments;
|
|
185
231
|
return (0, _regeneratorRuntime2.default)().wrap(function _callee5$(_context5) {
|
|
186
232
|
while (1) switch (_context5.prev = _context5.next) {
|
|
@@ -188,17 +234,18 @@ var FileManagerApiProvider = function FileManagerApiProvider(_ref) {
|
|
|
188
234
|
params = _args5.length > 0 && _args5[0] !== undefined ? _args5[0] : {};
|
|
189
235
|
_context5.next = 3;
|
|
190
236
|
return client.query({
|
|
191
|
-
query: _graphql.LIST_FILES,
|
|
237
|
+
query: (0, _graphql.LIST_FILES)(modelFields),
|
|
192
238
|
variables: params,
|
|
193
239
|
fetchPolicy: "no-cache"
|
|
194
240
|
});
|
|
195
241
|
case 3:
|
|
196
242
|
_yield$client$query = _context5.sent;
|
|
197
243
|
data = _yield$client$query.data;
|
|
198
|
-
_data$fileManager$lis = data.fileManager.listFiles, files = _data$fileManager$lis.data, meta = _data$fileManager$lis.meta;
|
|
244
|
+
_data$fileManager$lis = data.fileManager.listFiles, files = _data$fileManager$lis.data, meta = _data$fileManager$lis.meta, error = _data$fileManager$lis.error;
|
|
199
245
|
return _context5.abrupt("return", {
|
|
200
246
|
files: files,
|
|
201
|
-
meta: meta
|
|
247
|
+
meta: meta,
|
|
248
|
+
error: error
|
|
202
249
|
});
|
|
203
250
|
case 7:
|
|
204
251
|
case "end":
|
|
@@ -207,23 +254,28 @@ var FileManagerApiProvider = function FileManagerApiProvider(_ref) {
|
|
|
207
254
|
}, _callee5);
|
|
208
255
|
}));
|
|
209
256
|
return function listFiles() {
|
|
210
|
-
return
|
|
257
|
+
return _ref9.apply(this, arguments);
|
|
211
258
|
};
|
|
212
259
|
}();
|
|
213
260
|
var listTags = /*#__PURE__*/function () {
|
|
214
|
-
var
|
|
215
|
-
var
|
|
261
|
+
var _ref10 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee6() {
|
|
262
|
+
var _ref11,
|
|
263
|
+
where,
|
|
264
|
+
refetch,
|
|
216
265
|
_yield$client$query2,
|
|
217
266
|
data,
|
|
218
267
|
_args6 = arguments;
|
|
219
268
|
return (0, _regeneratorRuntime2.default)().wrap(function _callee6$(_context6) {
|
|
220
269
|
while (1) switch (_context6.prev = _context6.next) {
|
|
221
270
|
case 0:
|
|
222
|
-
|
|
271
|
+
_ref11 = _args6.length > 0 && _args6[0] !== undefined ? _args6[0] : {}, where = _ref11.where, refetch = _ref11.refetch;
|
|
223
272
|
_context6.next = 3;
|
|
224
273
|
return client.query({
|
|
225
274
|
query: _graphql.LIST_TAGS,
|
|
226
|
-
variables:
|
|
275
|
+
variables: {
|
|
276
|
+
where: where
|
|
277
|
+
},
|
|
278
|
+
fetchPolicy: refetch ? "network-only" : "cache-first"
|
|
227
279
|
});
|
|
228
280
|
case 3:
|
|
229
281
|
_yield$client$query2 = _context6.sent;
|
|
@@ -236,7 +288,7 @@ var FileManagerApiProvider = function FileManagerApiProvider(_ref) {
|
|
|
236
288
|
}, _callee6);
|
|
237
289
|
}));
|
|
238
290
|
return function listTags() {
|
|
239
|
-
return
|
|
291
|
+
return _ref10.apply(this, arguments);
|
|
240
292
|
};
|
|
241
293
|
}();
|
|
242
294
|
|
|
@@ -246,7 +298,7 @@ var FileManagerApiProvider = function FileManagerApiProvider(_ref) {
|
|
|
246
298
|
* @param File file
|
|
247
299
|
*/
|
|
248
300
|
var uploadFile = /*#__PURE__*/function () {
|
|
249
|
-
var
|
|
301
|
+
var _ref12 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee7(file, meta) {
|
|
250
302
|
var options,
|
|
251
303
|
response,
|
|
252
304
|
tags,
|
|
@@ -266,7 +318,7 @@ var FileManagerApiProvider = function FileManagerApiProvider(_ref) {
|
|
|
266
318
|
_context7.next = 7;
|
|
267
319
|
return createFile((0, _objectSpread2.default)((0, _objectSpread2.default)({}, response), {}, {
|
|
268
320
|
tags: tags
|
|
269
|
-
}
|
|
321
|
+
}, meta));
|
|
270
322
|
case 7:
|
|
271
323
|
return _context7.abrupt("return", _context7.sent);
|
|
272
324
|
case 8:
|
|
@@ -275,12 +327,12 @@ var FileManagerApiProvider = function FileManagerApiProvider(_ref) {
|
|
|
275
327
|
}
|
|
276
328
|
}, _callee7);
|
|
277
329
|
}));
|
|
278
|
-
return function uploadFile(
|
|
279
|
-
return
|
|
330
|
+
return function uploadFile(_x6, _x7) {
|
|
331
|
+
return _ref12.apply(this, arguments);
|
|
280
332
|
};
|
|
281
333
|
}();
|
|
282
334
|
var getSettings = /*#__PURE__*/function () {
|
|
283
|
-
var
|
|
335
|
+
var _ref13 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee8() {
|
|
284
336
|
var settingsQuery;
|
|
285
337
|
return (0, _regeneratorRuntime2.default)().wrap(function _callee8$(_context8) {
|
|
286
338
|
while (1) switch (_context8.prev = _context8.next) {
|
|
@@ -299,7 +351,7 @@ var FileManagerApiProvider = function FileManagerApiProvider(_ref) {
|
|
|
299
351
|
}, _callee8);
|
|
300
352
|
}));
|
|
301
353
|
return function getSettings() {
|
|
302
|
-
return
|
|
354
|
+
return _ref13.apply(this, arguments);
|
|
303
355
|
};
|
|
304
356
|
}();
|
|
305
357
|
var value = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["FileManagerApiContext","React","createContext","undefined","FileManagerApiProvider","children","useSecurity","identity","getPermission","client","useApolloClient","fmFilePermission","useMemo","canDelete","useCallback","item","own","identityId","id","login","createdBy","rwd","includes","canRead","Boolean","canCreate","canEdit","creatorId","createFile","data","meta","mutate","mutation","CREATE_FILE","variables","response","fileManager","updateFile","UPDATE_FILE","deleteFile","DELETE_FILE","getFile","query","GET_FILE","listFiles","params","LIST_FILES","fetchPolicy","files","listTags","LIST_TAGS","uploadFile","file","options","getFileUploader","upload","apolloClient","onProgress","tags","getSettings","GET_FILE_SETTINGS","settingsQuery","value"],"sources":["FileManagerApiContext.tsx"],"sourcesContent":["import React, { useCallback, useMemo } from \"react\";\nimport { useApolloClient } from \"@apollo/react-hooks\";\nimport { useSecurity } from \"@webiny/app-security\";\nimport {\n CREATE_FILE,\n CreateFileMutationResponse,\n CreateFileMutationVariables,\n DELETE_FILE,\n DeleteFileMutationResponse,\n DeleteFileMutationVariables,\n FileInput,\n GET_FILE,\n GET_FILE_SETTINGS,\n GetFileManagerSettingsQueryResponse,\n LIST_FILES,\n LIST_TAGS,\n ListFileTagsQueryResponse,\n ListFileTagsQueryVariables,\n ListFilesListFilesResponse,\n ListFilesQueryResponse,\n ListFilesQueryVariables,\n UPDATE_FILE,\n UpdateFileMutationResponse,\n UpdateFileMutationVariables\n} from \"../graphql\";\nimport { FileItem, FileManagerSecurityPermission } from \"@webiny/app-admin/types\";\nimport { getFileUploader } from \"./getFileUploader\";\nimport { Settings } from \"~/types\";\n\nexport interface ListTagsResponseItem {\n tag: string;\n count: number;\n}\n\nexport interface FileManagerApiContextData<TFileItem extends FileItem = FileItem> {\n canRead: boolean;\n canCreate: boolean;\n canEdit: (file: TFileItem) => boolean;\n canDelete: (file: TFileItem) => boolean;\n createFile: (data: TFileItem, meta: Record<string, any>) => Promise<TFileItem | undefined>;\n updateFile: (id: string, data: Partial<TFileItem>) => Promise<void>;\n deleteFile: (id: string) => Promise<void>;\n getFile: (id: string) => Promise<TFileItem | undefined>;\n uploadFile: (\n file: File,\n meta: Record<string, any>,\n options?: UploadFileOptions\n ) => Promise<TFileItem | undefined>;\n listFiles: (\n params?: ListFilesQueryVariables\n ) => Promise<{ files: TFileItem[]; meta: ListFilesListFilesResponse[\"meta\"] }>;\n listTags: (params?: ListTagsOptions) => Promise<ListTagsResponseItem[]>;\n getSettings(): Promise<Settings>;\n}\n\nexport const FileManagerApiContext = React.createContext<FileManagerApiContextData | undefined>(\n undefined\n);\n\nexport interface FileManagerApiProviderProps {\n children: React.ReactNode;\n}\n\ninterface UploadFileOptions {\n tags?: string[];\n onProgress?: (params: { sent: number; total: number; percentage: number }) => void;\n}\n\ninterface ListTagsOptions {\n where?: ListFileTagsQueryVariables[\"where\"];\n}\n\nconst FileManagerApiProvider = ({ children }: FileManagerApiProviderProps) => {\n const { identity, getPermission } = useSecurity();\n const client = useApolloClient();\n\n const fmFilePermission = useMemo<FileManagerSecurityPermission | null>(() => {\n return getPermission<FileManagerSecurityPermission>(\"fm.file\");\n }, [identity]);\n\n const canDelete = useCallback(\n (item: FileItem) => {\n // Bail out early if no access\n if (!fmFilePermission) {\n return false;\n }\n\n if (fmFilePermission.own) {\n const identityId = identity ? identity.id || identity.login : null;\n if (!identityId) {\n return false;\n }\n return item.createdBy.id === identityId;\n }\n\n if (typeof fmFilePermission.rwd === \"string\") {\n return fmFilePermission.rwd.includes(\"d\");\n }\n return true;\n },\n [fmFilePermission]\n );\n\n const canRead = useMemo(() => {\n return Boolean(fmFilePermission);\n }, [fmFilePermission]);\n\n const canCreate = useMemo(() => {\n // Bail out early if no access\n if (!fmFilePermission) {\n return false;\n }\n\n if (fmFilePermission.own) {\n return true;\n }\n\n if (typeof fmFilePermission.rwd === \"string\") {\n return fmFilePermission.rwd.includes(\"w\");\n }\n\n return true;\n }, [fmFilePermission]);\n\n const canEdit = useCallback(\n (item: FileItem) => {\n // Bail out early if no access\n if (!fmFilePermission) {\n return false;\n }\n const creatorId = item.createdBy.id;\n\n if (fmFilePermission.own && creatorId) {\n const identityId = identity ? identity.id || identity.login : null;\n return creatorId === identityId;\n }\n\n if (typeof fmFilePermission.rwd === \"string\") {\n return fmFilePermission.rwd.includes(\"w\");\n }\n\n return true;\n },\n [fmFilePermission]\n );\n\n const createFile = async (data: FileInput, meta: Record<string, any>) => {\n const response = await client.mutate<\n CreateFileMutationResponse,\n CreateFileMutationVariables\n >({\n mutation: CREATE_FILE,\n variables: {\n data,\n meta\n }\n });\n\n return response.data?.fileManager.createFile.data;\n };\n\n const updateFile = async (id: string, data: Partial<FileItem>) => {\n await client.mutate<UpdateFileMutationResponse, UpdateFileMutationVariables>({\n mutation: UPDATE_FILE,\n variables: {\n id,\n data\n }\n });\n };\n\n const deleteFile = async (id: string) => {\n await client.mutate<DeleteFileMutationResponse, DeleteFileMutationVariables>({\n mutation: DELETE_FILE,\n variables: {\n id\n }\n });\n };\n\n const getFile = async (id: string) => {\n const response = await client.query({\n query: GET_FILE,\n variables: {\n id\n }\n });\n\n return response.data?.fileManager.getFile.data;\n };\n\n const listFiles: FileManagerApiContextData[\"listFiles\"] = async (params = {}) => {\n const { data } = await client.query<ListFilesQueryResponse>({\n query: LIST_FILES,\n variables: params,\n fetchPolicy: \"no-cache\"\n });\n const { data: files, meta } = data.fileManager.listFiles;\n return { files, meta };\n };\n\n const listTags = async (params = {}) => {\n const { data } = await client.query<ListFileTagsQueryResponse>({\n query: LIST_TAGS,\n variables: params\n });\n\n return data.fileManager.listTags.data;\n };\n\n /**\n * Upload native browser File\n * @see https://developer.mozilla.org/en-US/docs/Web/API/File\n * @param File file\n */\n const uploadFile = async (\n file: File,\n meta: Record<string, any>,\n options: UploadFileOptions = {}\n ) => {\n const response = await getFileUploader().upload(file, {\n apolloClient: client,\n onProgress: options.onProgress\n });\n\n const tags = options?.tags || [];\n\n return await createFile({ ...response, tags }, meta);\n };\n\n const getSettings = async () => {\n const settingsQuery = await client.query<GetFileManagerSettingsQueryResponse>({\n query: GET_FILE_SETTINGS\n });\n return settingsQuery.data.fileManager.getSettings.data || {};\n };\n\n const value: FileManagerApiContextData = {\n canRead,\n canCreate,\n canEdit,\n canDelete,\n createFile,\n updateFile,\n deleteFile,\n uploadFile,\n getFile,\n listFiles,\n listTags,\n getSettings\n };\n\n return (\n <FileManagerApiContext.Provider value={value}>{children}</FileManagerApiContext.Provider>\n );\n};\n\nexport { FileManagerApiProvider };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactHooks","_error","_interopRequireDefault","_appSecurity","_graphql","_getFileUploader","_createFieldsList","_useFileModel","_omit","FileManagerApiContext","React","createContext","undefined","exports","getModelFields","model","fields","createFieldsList","concat","FM_FULL_ACCESS_PERMISSION_NAME","FileManagerApiProvider","_ref","children","_useSecurity","useSecurity","identity","getIdentityId","getPermissions","getPermission","client","useApolloClient","fileModel","useFileModel","_useState","useState","_useState2","_slicedToArray2","default","modelFields","fmFilePermissions","useMemo","hasFullAccess","hasNoAccess","length","canDelete","useCallback","item","some","_ref2","rwd","own","_item$createdBy","identityId","createdById","createdBy","id","includes","canRead","canCreate","_ref3","canEdit","_ref4","_item$createdBy2","createFile","_ref5","_asyncToGenerator2","_regeneratorRuntime2","mark","_callee","data","_response$data","response","wrap","_callee$","_context","prev","next","mutate","mutation","CREATE_FILE","variables","sent","abrupt","fileManager","stop","_x","apply","arguments","updateFile","_ref6","_callee2","_callee2$","_context2","UPDATE_FILE","omit","_x2","_x3","deleteFile","_ref7","_callee3","_callee3$","_context3","DELETE_FILE","_x4","getFile","_ref8","_callee4","_response$data2","_response$data$fileMa","error","_callee4$","_context4","query","GET_FILE","WebinyError","_x5","listFiles","_ref9","_callee5","params","_yield$client$query","_data$fileManager$lis","files","meta","_args5","_callee5$","_context5","LIST_FILES","fetchPolicy","listTags","_ref10","_callee6","_ref11","where","refetch","_yield$client$query2","_args6","_callee6$","_context6","LIST_TAGS","uploadFile","_ref12","_callee7","file","options","tags","_args7","_callee7$","_context7","getFileUploader","upload","apolloClient","onProgress","_objectSpread2","_x6","_x7","getSettings","_ref13","_callee8","settingsQuery","_callee8$","_context8","GET_FILE_SETTINGS","value","createElement","Provider"],"sources":["FileManagerApiContext.tsx"],"sourcesContent":["import React, { useCallback, useMemo, useState } from \"react\";\nimport { useApolloClient } from \"@apollo/react-hooks\";\nimport WebinyError from \"@webiny/error\";\nimport { useSecurity } from \"@webiny/app-security\";\nimport {\n CREATE_FILE,\n CreateFileMutationResponse,\n CreateFileMutationVariables,\n DELETE_FILE,\n DeleteFileMutationResponse,\n DeleteFileMutationVariables,\n FileInput,\n GET_FILE,\n GET_FILE_SETTINGS,\n GetFileManagerSettingsQueryResponse,\n LIST_FILES,\n LIST_TAGS,\n ListFileTagsQueryResponse,\n ListFileTagsQueryVariables,\n ListFilesListFilesResponse,\n ListFilesQueryResponse,\n ListFilesQueryVariables,\n UPDATE_FILE,\n UpdateFileMutationResponse,\n UpdateFileMutationVariables,\n FmError\n} from \"../graphql\";\nimport { FileItem, FileManagerSecurityPermission } from \"@webiny/app-admin/types\";\nimport { getFileUploader } from \"./getFileUploader\";\nimport { Settings } from \"~/types\";\nimport { createFieldsList } from \"@webiny/app-headless-cms/admin/graphql/createFieldsList\";\nimport { useFileModel } from \"~/hooks/useFileModel\";\nimport omit from \"lodash/omit\";\n\nexport interface ListTagsResponseItem {\n tag: string;\n count: number;\n}\n\nexport interface FileManagerApiContextData<TFileItem extends FileItem = FileItem> {\n canRead: boolean;\n canCreate: boolean;\n canEdit: (file: TFileItem) => boolean;\n canDelete: (file: TFileItem) => boolean;\n createFile: (data: TFileItem, meta: Record<string, any>) => Promise<TFileItem | undefined>;\n updateFile: (id: string, data: Partial<TFileItem>) => Promise<void>;\n deleteFile: (id: string) => Promise<void>;\n getFile: (id: string) => Promise<TFileItem | undefined>;\n uploadFile: (\n file: File,\n meta: Record<string, any>,\n options?: UploadFileOptions\n ) => Promise<TFileItem | undefined>;\n listFiles: (params?: ListFilesQueryVariables) => Promise<{\n files: TFileItem[];\n meta: ListFilesListFilesResponse[\"meta\"];\n error: FmError | null;\n }>;\n listTags: (params?: ListTagsOptions) => Promise<ListTagsResponseItem[]>;\n getSettings(): Promise<Settings>;\n}\n\nexport const FileManagerApiContext = React.createContext<FileManagerApiContextData | undefined>(\n undefined\n);\n\nexport interface FileManagerApiProviderProps {\n children: React.ReactNode;\n}\n\ninterface UploadFileOptions {\n tags?: string[];\n onProgress?: (params: { sent: number; total: number; percentage: number }) => void;\n}\n\ninterface ListTagsOptions {\n where?: ListFileTagsQueryVariables[\"where\"];\n refetch?: boolean;\n}\n\nconst getModelFields = (model: ReturnType<typeof useFileModel>) => {\n const fields = createFieldsList({ model, fields: model.fields });\n return /* GraphQL */ `{\n __typename\n id\n createdOn\n savedOn\n createdBy {\n id\n displayName\n }\n src\n ${fields}\n }`;\n};\n\nconst FM_FULL_ACCESS_PERMISSION_NAME = \"fm.*\";\n\nconst FileManagerApiProvider = ({ children }: FileManagerApiProviderProps) => {\n const { identity, getIdentityId, getPermissions, getPermission } = useSecurity();\n const client = useApolloClient();\n const fileModel = useFileModel();\n const [modelFields] = useState(getModelFields(fileModel));\n\n // Note for below permissions checks:\n // `own: true` defines full RWD access to files created by the user.\n\n const fmFilePermissions = useMemo<FileManagerSecurityPermission[]>(() => {\n return getPermissions<FileManagerSecurityPermission>(\"fm.file\");\n }, [identity]);\n\n const hasFullAccess = useMemo(\n () => !!getPermission(FM_FULL_ACCESS_PERMISSION_NAME),\n [identity]\n );\n\n const hasNoAccess = useMemo(() => fmFilePermissions.length === 0, [fmFilePermissions]);\n\n const canDelete = useCallback(\n (item: FileItem) => {\n // Bail out early if no access or has full access.\n if (hasNoAccess) {\n return false;\n }\n\n return (\n hasFullAccess ||\n fmFilePermissions.some(({ rwd, own }) => {\n if (own) {\n const identityId = getIdentityId();\n const createdById = item.createdBy?.id;\n return identityId && identityId === createdById;\n }\n\n if (rwd && rwd.includes(\"d\")) {\n return true;\n }\n\n return false;\n })\n );\n },\n [fmFilePermissions]\n );\n\n const canRead = useMemo(() => {\n // Bail out early if no access or has full access.\n if (hasNoAccess) {\n return false;\n }\n\n return hasFullAccess || fmFilePermissions.length > 0;\n }, [fmFilePermissions]);\n\n const canCreate = useMemo(() => {\n // Bail out early if no access or has full access.\n if (hasNoAccess) {\n return false;\n }\n\n return hasFullAccess || fmFilePermissions.some(({ rwd }) => rwd && rwd.includes(\"w\"));\n }, [fmFilePermissions]);\n\n const canEdit = useCallback(\n (item: FileItem) => {\n // Bail out early if no access or has full access.\n if (hasNoAccess) {\n return false;\n }\n\n return (\n hasFullAccess ||\n fmFilePermissions.some(({ rwd, own }) => {\n if (own) {\n const identityId = getIdentityId();\n const createdById = item.createdBy?.id;\n return identityId && identityId === createdById;\n }\n\n if (rwd && rwd.includes(\"w\")) {\n return true;\n }\n\n return false;\n })\n );\n },\n [fmFilePermissions]\n );\n\n const createFile = async (data: FileInput) => {\n const response = await client.mutate<\n CreateFileMutationResponse,\n CreateFileMutationVariables\n >({\n mutation: CREATE_FILE(modelFields),\n variables: {\n data\n }\n });\n\n return response.data?.fileManager.createFile.data;\n };\n\n const updateFile = async (id: string, data: Partial<FileItem>) => {\n await client.mutate<UpdateFileMutationResponse, UpdateFileMutationVariables>({\n mutation: UPDATE_FILE(modelFields),\n variables: {\n id,\n data: omit(data, [\"createdOn\", \"savedOn\", \"createdBy\"])\n }\n });\n };\n\n const deleteFile = async (id: string) => {\n await client.mutate<DeleteFileMutationResponse, DeleteFileMutationVariables>({\n mutation: DELETE_FILE,\n variables: {\n id\n }\n });\n };\n\n const getFile = async (id: string) => {\n const response = await client.query({\n query: GET_FILE(modelFields),\n variables: {\n id\n }\n });\n\n const { data, error } = response.data?.fileManager.getFile;\n\n if (error) {\n throw new WebinyError(error);\n }\n\n return data;\n };\n\n const listFiles: FileManagerApiContextData[\"listFiles\"] = async (params = {}) => {\n const { data } = await client.query<ListFilesQueryResponse>({\n query: LIST_FILES(modelFields),\n variables: params,\n fetchPolicy: \"no-cache\"\n });\n const { data: files, meta, error } = data.fileManager.listFiles;\n return { files, meta, error };\n };\n\n const listTags: FileManagerApiContextData[\"listTags\"] = async ({ where, refetch } = {}) => {\n const { data } = await client.query<ListFileTagsQueryResponse>({\n query: LIST_TAGS,\n variables: { where },\n fetchPolicy: refetch ? \"network-only\" : \"cache-first\"\n });\n\n return data.fileManager.listTags.data;\n };\n\n /**\n * Upload native browser File\n * @see https://developer.mozilla.org/en-US/docs/Web/API/File\n * @param File file\n */\n const uploadFile = async (\n file: File,\n meta: Partial<FileInput>,\n options: UploadFileOptions = {}\n ) => {\n const response = await getFileUploader().upload(file, {\n apolloClient: client,\n onProgress: options.onProgress\n });\n\n const tags = options?.tags || [];\n\n return await createFile({ ...response, tags, ...meta });\n };\n\n const getSettings = async () => {\n const settingsQuery = await client.query<GetFileManagerSettingsQueryResponse>({\n query: GET_FILE_SETTINGS\n });\n return settingsQuery.data.fileManager.getSettings.data || {};\n };\n\n const value: FileManagerApiContextData = {\n canRead,\n canCreate,\n canEdit,\n canDelete,\n createFile,\n updateFile,\n deleteFile,\n uploadFile,\n getFile,\n listFiles,\n listTags,\n getSettings\n };\n\n return (\n <FileManagerApiContext.Provider value={value}>{children}</FileManagerApiContext.Provider>\n );\n};\n\nexport { FileManagerApiProvider };\n"],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { CmsModel } from "@webiny/app-headless-cms/types";
|
|
3
|
+
export declare const FileModelContext: React.Context<CmsModel | undefined>;
|
|
4
|
+
export declare const FileModelProvider: ({ children }: {
|
|
5
|
+
children: React.ReactNode;
|
|
6
|
+
}) => JSX.Element;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
4
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.FileModelProvider = exports.FileModelContext = void 0;
|
|
9
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
10
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
+
var _reactHooks = require("@apollo/react-hooks");
|
|
12
|
+
var _graphql = require("../graphql");
|
|
13
|
+
var _Progress = require("@webiny/ui/Progress");
|
|
14
|
+
var FileModelContext = /*#__PURE__*/_react.default.createContext(undefined);
|
|
15
|
+
exports.FileModelContext = FileModelContext;
|
|
16
|
+
var FileModelProvider = function FileModelProvider(_ref) {
|
|
17
|
+
var children = _ref.children;
|
|
18
|
+
var _useState = (0, _react.useState)(undefined),
|
|
19
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
20
|
+
model = _useState2[0],
|
|
21
|
+
setModel = _useState2[1];
|
|
22
|
+
(0, _reactHooks.useQuery)(_graphql.GET_FILE_MODEL, {
|
|
23
|
+
onCompleted: function onCompleted(data) {
|
|
24
|
+
setModel(data.fileManager.getFileModel.data);
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
if (!model) {
|
|
28
|
+
return /*#__PURE__*/_react.default.createElement(_Progress.CircularProgress, {
|
|
29
|
+
label: "Preparing File Manager..."
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
return /*#__PURE__*/_react.default.createElement(FileModelContext.Provider, {
|
|
33
|
+
value: model
|
|
34
|
+
}, children);
|
|
35
|
+
};
|
|
36
|
+
exports.FileModelProvider = FileModelProvider;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactHooks","_graphql","_Progress","FileModelContext","React","createContext","undefined","exports","FileModelProvider","_ref","children","_useState","useState","_useState2","_slicedToArray2","default","model","setModel","useQuery","GET_FILE_MODEL","onCompleted","data","fileManager","getFileModel","createElement","CircularProgress","label","Provider","value"],"sources":["FileModelContext.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport { CmsModel } from \"@webiny/app-headless-cms/types\";\nimport { useQuery } from \"@apollo/react-hooks\";\nimport { GET_FILE_MODEL } from \"~/modules/FileManagerApiProvider/graphql\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\n\nexport const FileModelContext = React.createContext<CmsModel | undefined>(undefined);\n\nexport const FileModelProvider = ({ children }: { children: React.ReactNode }) => {\n const [model, setModel] = useState<CmsModel | undefined>(undefined);\n\n useQuery(GET_FILE_MODEL, {\n onCompleted: data => {\n setModel(data.fileManager.getFileModel.data);\n }\n });\n\n if (!model) {\n return <CircularProgress label={\"Preparing File Manager...\"} />;\n }\n\n return <FileModelContext.Provider value={model}>{children}</FileModelContext.Provider>;\n};\n"],"mappings":";;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,SAAA,GAAAH,OAAA;AAEO,IAAMI,gBAAgB,gBAAGC,cAAK,CAACC,aAAa,CAAuBC,SAAS,CAAC;AAACC,OAAA,CAAAJ,gBAAA,GAAAA,gBAAA;AAE9E,IAAMK,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAAC,IAAA,EAAoD;EAAA,IAA9CC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;EACxC,IAAAC,SAAA,GAA0B,IAAAC,eAAQ,EAAuBN,SAAS,CAAC;IAAAO,UAAA,OAAAC,eAAA,CAAAC,OAAA,EAAAJ,SAAA;IAA5DK,KAAK,GAAAH,UAAA;IAAEI,QAAQ,GAAAJ,UAAA;EAEtB,IAAAK,oBAAQ,EAACC,uBAAc,EAAE;IACrBC,WAAW,EAAE,SAAAA,YAAAC,IAAI,EAAI;MACjBJ,QAAQ,CAACI,IAAI,CAACC,WAAW,CAACC,YAAY,CAACF,IAAI,CAAC;IAChD;EACJ,CAAC,CAAC;EAEF,IAAI,CAACL,KAAK,EAAE;IACR,oBAAOnB,MAAA,CAAAkB,OAAA,CAAAS,aAAA,CAACtB,SAAA,CAAAuB,gBAAgB;MAACC,KAAK,EAAE;IAA4B,CAAE,CAAC;EACnE;EAEA,oBAAO7B,MAAA,CAAAkB,OAAA,CAAAS,aAAA,CAACrB,gBAAgB,CAACwB,QAAQ;IAACC,KAAK,EAAEZ;EAAM,GAAEN,QAAoC,CAAC;AAC1F,CAAC;AAACH,OAAA,CAAAC,iBAAA,GAAAA,iBAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getFileUploader","fileStoragePlugin","plugins","byName","Error"],"sources":["getFileUploader.ts"],"sourcesContent":["import { plugins } from \"@webiny/plugins\";\nimport { FileUploaderPlugin } from \"@webiny/app/types\";\n\nexport const getFileUploader = (): FileUploaderPlugin => {\n const fileStoragePlugin = plugins.byName<FileUploaderPlugin>(\"file-uploader\");\n\n if (!fileStoragePlugin) {\n throw Error('Missing plugin: \"file-uploader\".');\n }\n\n return fileStoragePlugin;\n};\n"],"mappings":";;;;;;AAAA;AAGO,
|
|
1
|
+
{"version":3,"names":["_plugins","require","getFileUploader","fileStoragePlugin","plugins","byName","Error","exports"],"sources":["getFileUploader.ts"],"sourcesContent":["import { plugins } from \"@webiny/plugins\";\nimport { FileUploaderPlugin } from \"@webiny/app/types\";\n\nexport const getFileUploader = (): FileUploaderPlugin => {\n const fileStoragePlugin = plugins.byName<FileUploaderPlugin>(\"file-uploader\");\n\n if (!fileStoragePlugin) {\n throw Error('Missing plugin: \"file-uploader\".');\n }\n\n return fileStoragePlugin;\n};\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAGO,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,CAAA,EAA6B;EACrD,IAAMC,iBAAiB,GAAGC,gBAAO,CAACC,MAAM,CAAqB,eAAe,CAAC;EAE7E,IAAI,CAACF,iBAAiB,EAAE;IACpB,MAAMG,KAAK,CAAC,kCAAkC,CAAC;EACnD;EAEA,OAAOH,iBAAiB;AAC5B,CAAC;AAACI,OAAA,CAAAL,eAAA,GAAAA,eAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export { FileManagerApiProvider } from \"./FileManagerApiContext\";\nexport { useFileManagerApi } from \"./useFileManagerApi\";\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;AACA"}
|
|
1
|
+
{"version":3,"names":["_FileManagerApiContext","require","_useFileManagerApi"],"sources":["index.ts"],"sourcesContent":["export { FileManagerApiProvider } from \"./FileManagerApiContext\";\nexport { useFileManagerApi } from \"./useFileManagerApi\";\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA,IAAAA,sBAAA,GAAAC,OAAA;AACA,IAAAC,kBAAA,GAAAD,OAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useFileManagerApi","context","React","useContext","FileManagerApiContext","Error"],"sources":["useFileManagerApi.ts"],"sourcesContent":["import { FileItem } from \"@webiny/app-admin/types\";\nimport React from \"react\";\nimport { FileManagerApiContext, FileManagerApiContextData } from \"./FileManagerApiContext\";\n\nexport function useFileManagerApi<TFileItem extends FileItem = FileItem>() {\n const context = React.useContext<FileManagerApiContextData<TFileItem>>(\n FileManagerApiContext as unknown as React.Context<FileManagerApiContextData<TFileItem>>\n );\n\n if (!context) {\n throw new Error(\"useFileManager must be used within a FileManagerProvider\");\n }\n\n return context;\n}\n"],"mappings":";;;;;;;AACA;AACA;AAEO,
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_FileManagerApiContext","useFileManagerApi","context","React","useContext","FileManagerApiContext","Error"],"sources":["useFileManagerApi.ts"],"sourcesContent":["import { FileItem } from \"@webiny/app-admin/types\";\nimport React from \"react\";\nimport { FileManagerApiContext, FileManagerApiContextData } from \"./FileManagerApiContext\";\n\nexport function useFileManagerApi<TFileItem extends FileItem = FileItem>() {\n const context = React.useContext<FileManagerApiContextData<TFileItem>>(\n FileManagerApiContext as unknown as React.Context<FileManagerApiContextData<TFileItem>>\n );\n\n if (!context) {\n throw new Error(\"useFileManager must be used within a FileManagerProvider\");\n }\n\n return context;\n}\n"],"mappings":";;;;;;;AACA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,sBAAA,GAAAD,OAAA;AAEO,SAASE,iBAAiBA,CAAA,EAA0C;EACvE,IAAMC,OAAO,GAAGC,cAAK,CAACC,UAAU,CAC5BC,4CACJ,CAAC;EAED,IAAI,CAACH,OAAO,EAAE;IACV,MAAM,IAAII,KAAK,CAAC,0DAA0D,CAAC;EAC/E;EAEA,OAAOJ,OAAO;AAClB"}
|