@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["DEFAULT_SCOPE","getWhere","scope","tag_not_startsWith","tag_startsWith","nonEmptyArray","value","fallback","undefined","Array","isArray","length","FileManagerViewContext","React","createContext","FileManagerViewProvider","children","props","useSecurity","identity","fileManager","useFileManagerApi","useState","files","setFiles","tags","setTags","meta","setMeta","settings","setSettings","loadingFiles","setLoading","useReducer","stateReducer","initializeState","state","dispatch","queryParamsToWhereInput","queryParams","limit","where","createdBy","search","tag_in","addScopePrefix","type_in","types","listFiles","map","file","removeScopePrefix","hasPreviouslyUploadedFiles","setHasPreviouslyUploadedFiles","listTags","tag","getSettings","useEffect","JSON","stringify","type","loadMore","cursor","after","response","createFile","data","location","folderId","FOLDER_ID_DEFAULT","newFile","updateFile","id","find","index","findIndex","slice","from","Set","deleteFile","uploadFile","options","onProgress","filter","replace","selected","toggleSelected","setQueryParams","setDragging","dragging","showFileDetails","hideFileDetails","showingFileDetails"],"sources":["FileManagerViewContext.tsx"],"sourcesContent":["import React, { useEffect, useState } from \"react\";\nimport { UploadOptions } from \"@webiny/app/types\";\nimport { FileItem } from \"@webiny/app-admin/types\";\nimport { useSecurity } from \"@webiny/app-security\";\nimport { Settings } from \"~/types\";\nimport { useFileManagerApi } from \"~/index\";\nimport { Action, initializeState, State, StateQueryParams, stateReducer } from \"./stateReducer\";\nimport {\n ListFilesListFilesResponse,\n ListFilesQueryVariables\n} from \"~/modules/FileManagerApiProvider/graphql\";\nimport { FOLDER_ID_DEFAULT } from \"~/constants\";\n\nconst DEFAULT_SCOPE = \"scope:\";\n\nexport const getWhere = (scope: string | undefined) => {\n if (!scope) {\n return {\n tag_not_startsWith: DEFAULT_SCOPE\n };\n }\n return {\n tag_startsWith: scope\n };\n};\n\nexport interface FileManagerViewContextData<TFileItem extends FileItem = FileItem> {\n state: State;\n dispatch: React.Dispatch<Action>;\n createFile: (data: TFileItem) => Promise<TFileItem | undefined>;\n updateFile: (id: string, data: Partial<TFileItem>) => Promise<void>;\n deleteFile: (id: string) => Promise<void>;\n uploadFile: (file: File, options?: UploadFileOptions) => Promise<TFileItem | undefined>;\n files: TFileItem[];\n loadingFiles: boolean;\n loadMore: () => void;\n tags: string[];\n settings: Settings | undefined;\n selected: TFileItem[];\n toggleSelected: (file: TFileItem) => void;\n hasPreviouslyUploadedFiles: boolean | null;\n setHasPreviouslyUploadedFiles: (flag: boolean) => void;\n queryParams: StateQueryParams;\n setQueryParams: (queryParams: StateQueryParams) => void;\n dragging: boolean;\n setDragging: (state: boolean) => void;\n showFileDetails: (id: string) => void;\n showingFileDetails: string | null;\n hideFileDetails: () => void;\n}\n\nfunction nonEmptyArray(value: string[] | undefined, fallback: string[] | undefined = undefined) {\n if (Array.isArray(value)) {\n return value.length ? value : undefined;\n }\n\n return fallback;\n}\n\nexport const FileManagerViewContext = React.createContext<FileManagerViewContextData | undefined>(\n undefined\n);\n\nexport interface FileManagerViewProviderProps {\n accept: string[];\n tags: string[];\n scope?: string;\n own?: boolean;\n children: React.ReactNode;\n}\n\ntype UploadFileOptions = Pick<UploadOptions, \"onProgress\">;\n\nexport const FileManagerViewProvider = ({ children, ...props }: FileManagerViewProviderProps) => {\n const { identity } = useSecurity();\n const fileManager = useFileManagerApi();\n const [files, setFiles] = useState<FileItem[]>([]);\n const [tags, setTags] = useState<string[]>([]);\n const [meta, setMeta] = useState<ListFilesListFilesResponse[\"meta\"]>();\n const [settings, setSettings] = useState<Settings | undefined>(undefined);\n const [loadingFiles, setLoading] = useState(false);\n\n const [state, dispatch] = React.useReducer(\n stateReducer,\n { ...props, identity },\n initializeState\n );\n\n const queryParamsToWhereInput = (queryParams: StateQueryParams): ListFilesQueryVariables => {\n return {\n limit: queryParams.limit,\n where: {\n ...getWhere(props.scope),\n createdBy: queryParams.createdBy,\n search: queryParams.search,\n tag_in: nonEmptyArray(addScopePrefix(queryParams.tags)),\n type_in: nonEmptyArray(queryParams.types)\n }\n };\n };\n\n const listFiles = async () => {\n setLoading(true);\n const { files, meta } = await fileManager.listFiles(\n queryParamsToWhereInput(state.queryParams)\n );\n setLoading(false);\n setFiles(\n files.map(file => {\n file.tags = removeScopePrefix(file.tags || []);\n return file;\n })\n );\n setMeta(meta);\n if (state.hasPreviouslyUploadedFiles === null) {\n setHasPreviouslyUploadedFiles(files.length > 0);\n }\n };\n\n const listTags = async () => {\n const tags = await fileManager.listTags({\n where: getWhere(props.scope)\n });\n\n setTags(\n tags.map(tag => {\n return tag.tag;\n })\n );\n };\n\n const getSettings = async () => {\n const settings = await fileManager.getSettings();\n\n setSettings(settings);\n };\n\n useEffect(() => {\n listTags();\n getSettings();\n }, []);\n\n useEffect(() => {\n listFiles();\n }, [JSON.stringify(state.queryParams)]);\n\n const setHasPreviouslyUploadedFiles: FileManagerViewContextData[\"setHasPreviouslyUploadedFiles\"] =\n state => {\n dispatch({ type: \"hasPreviouslyUploadedFiles\", state });\n };\n\n const loadMore = async () => {\n if (!meta?.cursor) {\n return;\n }\n\n const response = await fileManager.listFiles({\n ...queryParamsToWhereInput(state.queryParams),\n after: meta?.cursor\n });\n\n setFiles(files => {\n return [\n ...files,\n ...response.files.map(file => {\n file.tags = removeScopePrefix(file.tags || []);\n return file;\n })\n ];\n });\n setMeta(response.meta);\n };\n\n const createFile = async (data: FileItem) => {\n if (data.tags) {\n data.tags = addScopePrefix(data.tags);\n }\n\n if (props.scope) {\n data.tags = [...(data.tags || []), props.scope];\n }\n\n const meta = {\n location: {\n folderId: FOLDER_ID_DEFAULT\n }\n };\n\n const newFile = await fileManager.createFile(data, meta);\n if (newFile) {\n newFile.tags = removeScopePrefix(newFile.tags || []);\n setFiles(files => [newFile, ...files]);\n }\n return newFile;\n };\n\n const updateFile = async (id: string, data: Partial<FileItem>) => {\n const file = files.find(file => file.id === id);\n if (!file) {\n return;\n }\n\n if (data.tags) {\n data.tags = addScopePrefix(data.tags);\n }\n\n if (props.scope) {\n data.tags = [...(data.tags || []), props.scope];\n }\n\n await fileManager.updateFile(id, data);\n\n setFiles(files => {\n const index = files.findIndex(file => file.id === id);\n if (index === -1) {\n return files;\n }\n\n const newFile = {\n ...data,\n tags: removeScopePrefix(data.tags)\n };\n\n return [\n ...files.slice(0, index),\n { ...files[index], ...newFile },\n ...files.slice(index + 1)\n ];\n });\n\n setTags(tags => {\n // Create an array of unique tags\n return Array.from(new Set([...tags, ...(data.tags || [])]));\n });\n };\n\n const deleteFile = async (id: string) => {\n const file = files.find(file => file.id === id);\n if (!file) {\n return;\n }\n\n await fileManager.deleteFile(id);\n\n setFiles(files => {\n const index = files.findIndex(file => file.id === id);\n if (index === -1) {\n return files;\n }\n\n return [...files.slice(0, index), ...files.slice(index + 1)];\n });\n };\n\n /**\n * Upload native browser File\n * @see https://developer.mozilla.org/en-US/docs/Web/API/File\n * @param file\n * @param options\n */\n const uploadFile: FileManagerViewContextData[\"uploadFile\"] = async (file, options = {}) => {\n const tags = props.scope ? [props.scope] : [];\n\n const newFile = await fileManager.uploadFile(file, {\n tags,\n onProgress: options.onProgress\n });\n\n if (newFile) {\n newFile.tags = removeScopePrefix(newFile.tags);\n setFiles(files => [newFile, ...files]);\n }\n return newFile;\n };\n\n const addScopePrefix = (tags: string[] = []) => {\n if (!props.scope) {\n return tags;\n }\n\n return tags.map(tag => `${props.scope}:${tag}`);\n };\n\n const removeScopePrefix = (tags: string[] = []) => {\n if (!props.scope) {\n return tags;\n }\n\n return tags\n .filter(tag => tag !== props.scope)\n .map(tag => {\n return props.scope ? tag.replace(`${props.scope}:`, \"\") : tag;\n });\n };\n\n const value: FileManagerViewContextData = {\n state,\n dispatch,\n files,\n loadingFiles,\n loadMore,\n tags: removeScopePrefix(tags),\n createFile,\n updateFile,\n deleteFile,\n uploadFile,\n settings,\n selected: state.selected,\n toggleSelected(file: FileItem) {\n dispatch({\n type: \"toggleSelected\",\n file\n });\n },\n hasPreviouslyUploadedFiles: state.hasPreviouslyUploadedFiles,\n setHasPreviouslyUploadedFiles,\n queryParams: state.queryParams,\n setQueryParams(queryParams: StateQueryParams) {\n dispatch({ type: \"queryParams\", queryParams });\n },\n setDragging(state = true) {\n dispatch({\n type: \"dragging\",\n state\n });\n },\n dragging: state.dragging,\n showFileDetails(id: string) {\n dispatch({ type: \"showFileDetails\", id });\n },\n hideFileDetails() {\n dispatch({ type: \"showFileDetails\", id: null });\n },\n showingFileDetails: state.showingFileDetails\n };\n\n return (\n <FileManagerViewContext.Provider value={value}>{children}</FileManagerViewContext.Provider>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;AAAA;AAGA;AAEA;AACA;AAKA;AAAgD;AAEhD,IAAMA,aAAa,GAAG,QAAQ;AAEvB,IAAMC,QAAQ,GAAG,SAAXA,QAAQ,CAAIC,KAAyB,EAAK;EACnD,IAAI,CAACA,KAAK,EAAE;IACR,OAAO;MACHC,kBAAkB,EAAEH;IACxB,CAAC;EACL;EACA,OAAO;IACHI,cAAc,EAAEF;EACpB,CAAC;AACL,CAAC;AAAC;AA2BF,SAASG,aAAa,CAACC,KAA2B,EAA8C;EAAA,IAA5CC,QAA8B,uEAAGC,SAAS;EAC1F,IAAIC,KAAK,CAACC,OAAO,CAACJ,KAAK,CAAC,EAAE;IACtB,OAAOA,KAAK,CAACK,MAAM,GAAGL,KAAK,GAAGE,SAAS;EAC3C;EAEA,OAAOD,QAAQ;AACnB;AAEO,IAAMK,sBAAsB,gBAAGC,cAAK,CAACC,aAAa,CACrDN,SAAS,CACZ;AAAC;AAYK,IAAMO,uBAAuB,GAAG,SAA1BA,uBAAuB,OAA6D;EAAA,IAAvDC,QAAQ,QAARA,QAAQ;IAAKC,KAAK;EACxD,mBAAqB,IAAAC,wBAAW,GAAE;IAA1BC,QAAQ,gBAARA,QAAQ;EAChB,IAAMC,WAAW,GAAG,IAAAC,mBAAiB,GAAE;EACvC,gBAA0B,IAAAC,eAAQ,EAAa,EAAE,CAAC;IAAA;IAA3CC,KAAK;IAAEC,QAAQ;EACtB,iBAAwB,IAAAF,eAAQ,EAAW,EAAE,CAAC;IAAA;IAAvCG,IAAI;IAAEC,OAAO;EACpB,iBAAwB,IAAAJ,eAAQ,GAAsC;IAAA;IAA/DK,IAAI;IAAEC,OAAO;EACpB,iBAAgC,IAAAN,eAAQ,EAAuBd,SAAS,CAAC;IAAA;IAAlEqB,QAAQ;IAAEC,WAAW;EAC5B,iBAAmC,IAAAR,eAAQ,EAAC,KAAK,CAAC;IAAA;IAA3CS,YAAY;IAAEC,UAAU;EAE/B,wBAA0BnB,cAAK,CAACoB,UAAU,CACtCC,0BAAY,8DACPjB,KAAK;MAAEE,QAAQ,EAARA;IAAQ,IACpBgB,6BAAe,CAClB;IAAA;IAJMC,KAAK;IAAEC,QAAQ;EAMtB,IAAMC,uBAAuB,GAAG,SAA1BA,uBAAuB,CAAIC,WAA6B,EAA8B;IACxF,OAAO;MACHC,KAAK,EAAED,WAAW,CAACC,KAAK;MACxBC,KAAK,8DACExC,QAAQ,CAACgB,KAAK,CAACf,KAAK,CAAC;QACxBwC,SAAS,EAAEH,WAAW,CAACG,SAAS;QAChCC,MAAM,EAAEJ,WAAW,CAACI,MAAM;QAC1BC,MAAM,EAAEvC,aAAa,CAACwC,cAAc,CAACN,WAAW,CAACd,IAAI,CAAC,CAAC;QACvDqB,OAAO,EAAEzC,aAAa,CAACkC,WAAW,CAACQ,KAAK;MAAC;IAEjD,CAAC;EACL,CAAC;EAED,IAAMC,SAAS;IAAA,mGAAG;MAAA;MAAA;QAAA;UAAA;YACdhB,UAAU,CAAC,IAAI,CAAC;YAAC;YAAA,OACaZ,WAAW,CAAC4B,SAAS,CAC/CV,uBAAuB,CAACF,KAAK,CAACG,WAAW,CAAC,CAC7C;UAAA;YAAA;YAFOhB,KAAK,yBAALA,KAAK;YAAEI,IAAI,yBAAJA,IAAI;YAGnBK,UAAU,CAAC,KAAK,CAAC;YACjBR,QAAQ,CACJD,KAAK,CAAC0B,GAAG,CAAC,UAAAC,IAAI,EAAI;cACdA,IAAI,CAACzB,IAAI,GAAG0B,iBAAiB,CAACD,IAAI,CAACzB,IAAI,IAAI,EAAE,CAAC;cAC9C,OAAOyB,IAAI;YACf,CAAC,CAAC,CACL;YACDtB,OAAO,CAACD,IAAI,CAAC;YACb,IAAIS,KAAK,CAACgB,0BAA0B,KAAK,IAAI,EAAE;cAC3CC,6BAA6B,CAAC9B,KAAK,CAACZ,MAAM,GAAG,CAAC,CAAC;YACnD;UAAC;UAAA;YAAA;QAAA;MAAA;IAAA,CACJ;IAAA,gBAhBKqC,SAAS;MAAA;IAAA;EAAA,GAgBd;EAED,IAAMM,QAAQ;IAAA,mGAAG;MAAA;MAAA;QAAA;UAAA;YAAA;YAAA,OACMlC,WAAW,CAACkC,QAAQ,CAAC;cACpCb,KAAK,EAAExC,QAAQ,CAACgB,KAAK,CAACf,KAAK;YAC/B,CAAC,CAAC;UAAA;YAFIuB,IAAI;YAIVC,OAAO,CACHD,IAAI,CAACwB,GAAG,CAAC,UAAAM,GAAG,EAAI;cACZ,OAAOA,GAAG,CAACA,GAAG;YAClB,CAAC,CAAC,CACL;UAAC;UAAA;YAAA;QAAA;MAAA;IAAA,CACL;IAAA,gBAVKD,QAAQ;MAAA;IAAA;EAAA,GAUb;EAED,IAAME,WAAW;IAAA,mGAAG;MAAA;MAAA;QAAA;UAAA;YAAA;YAAA,OACOpC,WAAW,CAACoC,WAAW,EAAE;UAAA;YAA1C3B,QAAQ;YAEdC,WAAW,CAACD,QAAQ,CAAC;UAAC;UAAA;YAAA;QAAA;MAAA;IAAA,CACzB;IAAA,gBAJK2B,WAAW;MAAA;IAAA;EAAA,GAIhB;EAED,IAAAC,gBAAS,EAAC,YAAM;IACZH,QAAQ,EAAE;IACVE,WAAW,EAAE;EACjB,CAAC,EAAE,EAAE,CAAC;EAEN,IAAAC,gBAAS,EAAC,YAAM;IACZT,SAAS,EAAE;EACf,CAAC,EAAE,CAACU,IAAI,CAACC,SAAS,CAACvB,KAAK,CAACG,WAAW,CAAC,CAAC,CAAC;EAEvC,IAAMc,6BAA0F,GAC5F,SADEA,6BAA0F,CAC5FjB,KAAK,EAAI;IACLC,QAAQ,CAAC;MAAEuB,IAAI,EAAE,4BAA4B;MAAExB,KAAK,EAALA;IAAM,CAAC,CAAC;EAC3D,CAAC;EAEL,IAAMyB,QAAQ;IAAA,mGAAG;MAAA;MAAA;QAAA;UAAA;YAAA,IACRlC,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAEmC,MAAM;cAAA;cAAA;YAAA;YAAA;UAAA;YAAA;YAAA,OAIM1C,WAAW,CAAC4B,SAAS,6DACrCV,uBAAuB,CAACF,KAAK,CAACG,WAAW,CAAC;cAC7CwB,KAAK,EAAEpC,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEmC;YAAM,GACrB;UAAA;YAHIE,QAAQ;YAKdxC,QAAQ,CAAC,UAAAD,KAAK,EAAI;cACd,kDACOA,KAAK,oCACLyC,QAAQ,CAACzC,KAAK,CAAC0B,GAAG,CAAC,UAAAC,IAAI,EAAI;gBAC1BA,IAAI,CAACzB,IAAI,GAAG0B,iBAAiB,CAACD,IAAI,CAACzB,IAAI,IAAI,EAAE,CAAC;gBAC9C,OAAOyB,IAAI;cACf,CAAC,CAAC;YAEV,CAAC,CAAC;YACFtB,OAAO,CAACoC,QAAQ,CAACrC,IAAI,CAAC;UAAC;UAAA;YAAA;QAAA;MAAA;IAAA,CAC1B;IAAA,gBApBKkC,QAAQ;MAAA;IAAA;EAAA,GAoBb;EAED,IAAMI,UAAU;IAAA,mGAAG,kBAAOC,IAAc;MAAA;MAAA;QAAA;UAAA;YACpC,IAAIA,IAAI,CAACzC,IAAI,EAAE;cACXyC,IAAI,CAACzC,IAAI,GAAGoB,cAAc,CAACqB,IAAI,CAACzC,IAAI,CAAC;YACzC;YAEA,IAAIR,KAAK,CAACf,KAAK,EAAE;cACbgE,IAAI,CAACzC,IAAI,8CAAQyC,IAAI,CAACzC,IAAI,IAAI,EAAE,IAAGR,KAAK,CAACf,KAAK,EAAC;YACnD;YAEMyB,IAAI,GAAG;cACTwC,QAAQ,EAAE;gBACNC,QAAQ,EAAEC;cACd;YACJ,CAAC;YAAA;YAAA,OAEqBjD,WAAW,CAAC6C,UAAU,CAACC,IAAI,EAAEvC,IAAI,CAAC;UAAA;YAAlD2C,OAAO;YACb,IAAIA,OAAO,EAAE;cACTA,OAAO,CAAC7C,IAAI,GAAG0B,iBAAiB,CAACmB,OAAO,CAAC7C,IAAI,IAAI,EAAE,CAAC;cACpDD,QAAQ,CAAC,UAAAD,KAAK;gBAAA,QAAK+C,OAAO,0CAAK/C,KAAK;cAAA,CAAC,CAAC;YAC1C;YAAC,kCACM+C,OAAO;UAAA;UAAA;YAAA;QAAA;MAAA;IAAA,CACjB;IAAA,gBArBKL,UAAU;MAAA;IAAA;EAAA,GAqBf;EAED,IAAMM,UAAU;IAAA,mGAAG,kBAAOC,EAAU,EAAEN,IAAuB;MAAA;MAAA;QAAA;UAAA;YACnDhB,IAAI,GAAG3B,KAAK,CAACkD,IAAI,CAAC,UAAAvB,IAAI;cAAA,OAAIA,IAAI,CAACsB,EAAE,KAAKA,EAAE;YAAA,EAAC;YAAA,IAC1CtB,IAAI;cAAA;cAAA;YAAA;YAAA;UAAA;YAIT,IAAIgB,IAAI,CAACzC,IAAI,EAAE;cACXyC,IAAI,CAACzC,IAAI,GAAGoB,cAAc,CAACqB,IAAI,CAACzC,IAAI,CAAC;YACzC;YAEA,IAAIR,KAAK,CAACf,KAAK,EAAE;cACbgE,IAAI,CAACzC,IAAI,8CAAQyC,IAAI,CAACzC,IAAI,IAAI,EAAE,IAAGR,KAAK,CAACf,KAAK,EAAC;YACnD;YAAC;YAAA,OAEKkB,WAAW,CAACmD,UAAU,CAACC,EAAE,EAAEN,IAAI,CAAC;UAAA;YAEtC1C,QAAQ,CAAC,UAAAD,KAAK,EAAI;cACd,IAAMmD,KAAK,GAAGnD,KAAK,CAACoD,SAAS,CAAC,UAAAzB,IAAI;gBAAA,OAAIA,IAAI,CAACsB,EAAE,KAAKA,EAAE;cAAA,EAAC;cACrD,IAAIE,KAAK,KAAK,CAAC,CAAC,EAAE;gBACd,OAAOnD,KAAK;cAChB;cAEA,IAAM+C,OAAO,+DACNJ,IAAI;gBACPzC,IAAI,EAAE0B,iBAAiB,CAACe,IAAI,CAACzC,IAAI;cAAC,EACrC;cAED,kDACOF,KAAK,CAACqD,KAAK,CAAC,CAAC,EAAEF,KAAK,CAAC,gEACnBnD,KAAK,CAACmD,KAAK,CAAC,GAAKJ,OAAO,qCAC1B/C,KAAK,CAACqD,KAAK,CAACF,KAAK,GAAG,CAAC,CAAC;YAEjC,CAAC,CAAC;YAEFhD,OAAO,CAAC,UAAAD,IAAI,EAAI;cACZ;cACA,OAAOhB,KAAK,CAACoE,IAAI,CAAC,IAAIC,GAAG,4CAAKrD,IAAI,oCAAMyC,IAAI,CAACzC,IAAI,IAAI,EAAE,GAAG,CAAC;YAC/D,CAAC,CAAC;UAAC;UAAA;YAAA;QAAA;MAAA;IAAA,CACN;IAAA,gBAtCK8C,UAAU;MAAA;IAAA;EAAA,GAsCf;EAED,IAAMQ,UAAU;IAAA,mGAAG,kBAAOP,EAAU;MAAA;MAAA;QAAA;UAAA;YAC1BtB,IAAI,GAAG3B,KAAK,CAACkD,IAAI,CAAC,UAAAvB,IAAI;cAAA,OAAIA,IAAI,CAACsB,EAAE,KAAKA,EAAE;YAAA,EAAC;YAAA,IAC1CtB,IAAI;cAAA;cAAA;YAAA;YAAA;UAAA;YAAA;YAAA,OAIH9B,WAAW,CAAC2D,UAAU,CAACP,EAAE,CAAC;UAAA;YAEhChD,QAAQ,CAAC,UAAAD,KAAK,EAAI;cACd,IAAMmD,KAAK,GAAGnD,KAAK,CAACoD,SAAS,CAAC,UAAAzB,IAAI;gBAAA,OAAIA,IAAI,CAACsB,EAAE,KAAKA,EAAE;cAAA,EAAC;cACrD,IAAIE,KAAK,KAAK,CAAC,CAAC,EAAE;gBACd,OAAOnD,KAAK;cAChB;cAEA,kDAAWA,KAAK,CAACqD,KAAK,CAAC,CAAC,EAAEF,KAAK,CAAC,oCAAKnD,KAAK,CAACqD,KAAK,CAACF,KAAK,GAAG,CAAC,CAAC;YAC/D,CAAC,CAAC;UAAC;UAAA;YAAA;QAAA;MAAA;IAAA,CACN;IAAA,gBAhBKK,UAAU;MAAA;IAAA;EAAA,GAgBf;;EAED;AACJ;AACA;AACA;AACA;AACA;EACI,IAAMC,UAAoD;IAAA,mGAAG,kBAAO9B,IAAI;MAAA;QAAA;QAAA;QAAA;MAAA;QAAA;UAAA;YAAE+B,OAAO,8DAAG,CAAC,CAAC;YAC5ExD,IAAI,GAAGR,KAAK,CAACf,KAAK,GAAG,CAACe,KAAK,CAACf,KAAK,CAAC,GAAG,EAAE;YAAA;YAAA,OAEvBkB,WAAW,CAAC4D,UAAU,CAAC9B,IAAI,EAAE;cAC/CzB,IAAI,EAAJA,IAAI;cACJyD,UAAU,EAAED,OAAO,CAACC;YACxB,CAAC,CAAC;UAAA;YAHIZ,OAAO;YAKb,IAAIA,OAAO,EAAE;cACTA,OAAO,CAAC7C,IAAI,GAAG0B,iBAAiB,CAACmB,OAAO,CAAC7C,IAAI,CAAC;cAC9CD,QAAQ,CAAC,UAAAD,KAAK;gBAAA,QAAK+C,OAAO,0CAAK/C,KAAK;cAAA,CAAC,CAAC;YAC1C;YAAC,kCACM+C,OAAO;UAAA;UAAA;YAAA;QAAA;MAAA;IAAA,CACjB;IAAA,gBAbKU,UAAoD;MAAA;IAAA;EAAA,GAazD;EAED,IAAMnC,cAAc,GAAG,SAAjBA,cAAc,GAA4B;IAAA,IAAxBpB,IAAc,uEAAG,EAAE;IACvC,IAAI,CAACR,KAAK,CAACf,KAAK,EAAE;MACd,OAAOuB,IAAI;IACf;IAEA,OAAOA,IAAI,CAACwB,GAAG,CAAC,UAAAM,GAAG;MAAA,iBAAOtC,KAAK,CAACf,KAAK,cAAIqD,GAAG;IAAA,CAAE,CAAC;EACnD,CAAC;EAED,IAAMJ,iBAAiB,GAAG,SAApBA,iBAAiB,GAA4B;IAAA,IAAxB1B,IAAc,uEAAG,EAAE;IAC1C,IAAI,CAACR,KAAK,CAACf,KAAK,EAAE;MACd,OAAOuB,IAAI;IACf;IAEA,OAAOA,IAAI,CACN0D,MAAM,CAAC,UAAA5B,GAAG;MAAA,OAAIA,GAAG,KAAKtC,KAAK,CAACf,KAAK;IAAA,EAAC,CAClC+C,GAAG,CAAC,UAAAM,GAAG,EAAI;MACR,OAAOtC,KAAK,CAACf,KAAK,GAAGqD,GAAG,CAAC6B,OAAO,WAAInE,KAAK,CAACf,KAAK,QAAK,EAAE,CAAC,GAAGqD,GAAG;IACjE,CAAC,CAAC;EACV,CAAC;EAED,IAAMjD,KAAiC,GAAG;IACtC8B,KAAK,EAALA,KAAK;IACLC,QAAQ,EAARA,QAAQ;IACRd,KAAK,EAALA,KAAK;IACLQ,YAAY,EAAZA,YAAY;IACZ8B,QAAQ,EAARA,QAAQ;IACRpC,IAAI,EAAE0B,iBAAiB,CAAC1B,IAAI,CAAC;IAC7BwC,UAAU,EAAVA,UAAU;IACVM,UAAU,EAAVA,UAAU;IACVQ,UAAU,EAAVA,UAAU;IACVC,UAAU,EAAVA,UAAU;IACVnD,QAAQ,EAARA,QAAQ;IACRwD,QAAQ,EAAEjD,KAAK,CAACiD,QAAQ;IACxBC,cAAc,0BAACpC,IAAc,EAAE;MAC3Bb,QAAQ,CAAC;QACLuB,IAAI,EAAE,gBAAgB;QACtBV,IAAI,EAAJA;MACJ,CAAC,CAAC;IACN,CAAC;IACDE,0BAA0B,EAAEhB,KAAK,CAACgB,0BAA0B;IAC5DC,6BAA6B,EAA7BA,6BAA6B;IAC7Bd,WAAW,EAAEH,KAAK,CAACG,WAAW;IAC9BgD,cAAc,0BAAChD,WAA6B,EAAE;MAC1CF,QAAQ,CAAC;QAAEuB,IAAI,EAAE,aAAa;QAAErB,WAAW,EAAXA;MAAY,CAAC,CAAC;IAClD,CAAC;IACDiD,WAAW,yBAAe;MAAA,IAAdpD,KAAK,uEAAG,IAAI;MACpBC,QAAQ,CAAC;QACLuB,IAAI,EAAE,UAAU;QAChBxB,KAAK,EAALA;MACJ,CAAC,CAAC;IACN,CAAC;IACDqD,QAAQ,EAAErD,KAAK,CAACqD,QAAQ;IACxBC,eAAe,2BAAClB,EAAU,EAAE;MACxBnC,QAAQ,CAAC;QAAEuB,IAAI,EAAE,iBAAiB;QAAEY,EAAE,EAAFA;MAAG,CAAC,CAAC;IAC7C,CAAC;IACDmB,eAAe,6BAAG;MACdtD,QAAQ,CAAC;QAAEuB,IAAI,EAAE,iBAAiB;QAAEY,EAAE,EAAE;MAAK,CAAC,CAAC;IACnD,CAAC;IACDoB,kBAAkB,EAAExD,KAAK,CAACwD;EAC9B,CAAC;EAED,oBACI,6BAAC,sBAAsB,CAAC,QAAQ;IAAC,KAAK,EAAEtF;EAAM,GAAEU,QAAQ,CAAmC;AAEnG,CAAC;AAAC"}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_omit","_interopRequireDefault","_","_state","_sorting","_appAco","_useListFiles2","_useTags","_constants","_excluded","FileManagerViewContext","React","createContext","undefined","exports","getCurrentFolderList","folders","currentFolderId","toLowerCase","ROOT_FOLDER","filter","folder","parentId","FileManagerViewProvider","_ref","children","props","_objectWithoutProperties2","default","modifiers","scope","own","accept","fileManager","useFileManagerApi","_useFolders","useFolders","originalFolders","foldersLoading","loading","_useNavigateFolder","useNavigateFolder","_useNavigateFolder$cu","navigateToFolder","tags","useTags","_useState","useState","initializeState","_useState2","_slicedToArray2","state","setState","_useListFiles","useListFiles","folderId","onFirstLoad","meta","_objectSpread2","hasPreviouslyUploadedFiles","totalCount","files","listFiles","setFiles","getListVariables","useEffect","loadFiles","searchQuery","filters","activeTags","listSort","tagsFilterMode","_ref2","_asyncToGenerator2","_regeneratorRuntime2","mark","_callee","action","params","queryVariables","wrap","_callee$","_context","prev","next","INIT","abrupt","isSearch","Boolean","length","stop","_x","_x2","apply","arguments","loadMoreFiles","cursor","after","resetSearchParameters","find","id","isRoot","searchLabel","concat","title","_useMemo","useMemo","subFolders","sortTableItems","name","currentFolder","listTitle","getFile","_ref3","_callee2","fileInState","file","_callee2$","_context2","loadingFileDetails","sent","prevFiles","fileIndex","findIndex","_toConsumableArray2","slice","_x3","getSettings","_ref4","_callee3","settings","_callee3$","_context3","createFile","_ref5","_callee4","data","newFile","_callee4$","_context4","addScopePrefix","location","removeScopePrefix","_x4","updateFile","_ref6","_callee5","_data$tags","newTags","_callee5$","_context5","tag","some","t","addTags","index","_x5","_x6","deleteFile","_ref7","_callee6","_callee6$","_context6","_x7","uploadFile","_ref8","_callee7","options","_args7","_callee7$","_context7","onProgress","_x8","moveFileToFolder","_ref9","_callee8","fileId","_callee8$","_context8","_x9","_x10","map","replace","context","omit","areFilesSelectable","onChange","hideFileDetails","showingFileDetails","hideFilters","showingFilters","isListLoading","LIST","isListLoadingMore","LIST_MORE","multiple","value","onClose","onUploadCompletion","setDragging","dragging","setFilters","selected","setFolderId","setListSort","sort","setListTable","flag","listTable","setSearchQuery","search","setSelected","showFileDetails","useCallback","showFilters","allTags","filterMode","setFilterMode","mode","setActiveTags","toggleSelected","existingIndex","item","push","splice","createElement","Provider"],"sources":["FileManagerViewContext.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useState } from \"react\";\nimport omit from \"lodash/omit\";\nimport { FileItem } from \"@webiny/app-admin/types\";\nimport { FileTag } from \"~/types\";\nimport { useFileManagerApi } from \"~/index\";\nimport { initializeState, State } from \"./state\";\nimport { FolderItem, ListMeta, ListSearchRecordsSort } from \"@webiny/app-aco/types\";\nimport { UploadOptions } from \"@webiny/app/types\";\nimport { sortTableItems } from \"@webiny/app-aco/sorting\";\nimport { useFolders, useNavigateFolder } from \"@webiny/app-aco\";\nimport { ListFilesQueryVariables } from \"~/modules/FileManagerApiProvider/graphql\";\nimport { useListFiles } from \"./useListFiles\";\nimport { useTags } from \"./useTags\";\nimport { ROOT_FOLDER } from \"~/constants\";\n\ntype PublicState = Omit<State, \"activeTags\">;\n\nexport interface FileManagerViewContext<TFileItem extends FileItem = FileItem> extends PublicState {\n accept: string[];\n createFile: (data: TFileItem) => Promise<TFileItem | undefined>;\n deleteFile: (id: string) => Promise<void>;\n files: FileItem[];\n folderId: string;\n folders: FolderItem[];\n getFile: (id: string) => Promise<TFileItem | undefined>;\n hideFileDetails: () => void;\n hideFilters: () => void;\n isListLoading: boolean;\n isListLoadingMore: boolean;\n areFilesSelectable: boolean;\n listTitle: string;\n loadMoreFiles: () => void;\n meta: ListMeta | undefined;\n moveFileToFolder: (fileId: string, folderId: string) => Promise<void>;\n multiple: boolean;\n onClose: () => void;\n onChange: Function;\n onUploadCompletion: (files: FileItem[]) => void;\n own: boolean;\n scope?: string;\n setDragging: (state: boolean) => void;\n setFilters: (data: Record<string, any>) => void;\n setFolderId: (folderId: string) => void;\n setListSort: (state: ListSearchRecordsSort) => void;\n setListTable: (mode: boolean) => void;\n setSearchQuery: (query: string) => void;\n setSelected: (files: TFileItem[]) => void;\n showFileDetails: (id: string) => void;\n showFilters: () => void;\n tags: {\n allTags: FileTag[];\n activeTags: string[];\n setActiveTags: (tags: string[]) => void;\n filterMode: \"AND\" | \"OR\";\n setFilterMode(mode: \"AND\" | \"OR\"): void;\n loading: boolean;\n };\n toggleSelected: (file: TFileItem) => void;\n updateFile: (id: string, data: Partial<TFileItem>) => Promise<void>;\n uploadFile: (file: File, options?: UploadFileOptions) => Promise<TFileItem | undefined>;\n}\n\nexport const FileManagerViewContext = React.createContext<FileManagerViewContext | undefined>(\n undefined\n);\n\nconst getCurrentFolderList = (\n folders?: FolderItem[] | null,\n currentFolderId?: string\n): FolderItem[] | [] => {\n if (!folders) {\n return [];\n }\n if (!currentFolderId || currentFolderId.toLowerCase() === ROOT_FOLDER) {\n return folders.filter(\n folder => !folder.parentId || folder.parentId.toLowerCase() === ROOT_FOLDER\n );\n }\n return folders.filter(folder => folder.parentId === currentFolderId);\n};\n\nexport interface FileManagerViewProviderProps {\n onChange?: Function;\n onClose?: () => void;\n multiple?: boolean;\n accept: string[];\n maxSize?: number | string;\n multipleMaxCount?: number;\n multipleMaxSize?: number | string;\n onUploadCompletion?: Function;\n tags?: string[];\n scope?: string;\n own?: boolean;\n children?: React.ReactNode;\n}\n\ntype UploadFileOptions = Pick<UploadOptions, \"onProgress\">;\n\nexport type Loading<T extends string> = { [P in T]?: boolean };\nexport type LoadingActions = \"INIT\" | \"LIST\" | \"LIST_MORE\";\n\nexport const FileManagerViewProvider: React.VFC<FileManagerViewProviderProps> = ({\n children,\n ...props\n}) => {\n const modifiers = { scope: props.scope, own: props.own, accept: props.accept };\n const fileManager = useFileManagerApi();\n const { folders: originalFolders, loading: foldersLoading } = useFolders();\n const { currentFolderId = ROOT_FOLDER, navigateToFolder } = useNavigateFolder();\n const tags = useTags(modifiers);\n const [state, setState] = useState(initializeState());\n\n const { loading, files, meta, listFiles, setFiles, getListVariables } = useListFiles({\n folderId: currentFolderId,\n modifiers,\n state,\n onFirstLoad(meta) {\n setState(state => ({\n ...state,\n hasPreviouslyUploadedFiles: meta.totalCount > 0\n }));\n }\n });\n\n useEffect(() => {\n loadFiles(\"INIT\");\n }, []);\n\n useEffect(() => {\n loadFiles(\"LIST\");\n }, [state.searchQuery, state.filters, state.activeTags, state.listSort, state.tagsFilterMode]);\n\n const loadFiles = async (action: LoadingActions, params?: Partial<ListFilesQueryVariables>) => {\n if (loading.INIT || loading[action]) {\n return;\n }\n const queryVariables = getListVariables();\n await listFiles({ ...queryVariables, ...params });\n setState(state => ({\n ...state,\n isSearch: Boolean(state.searchQuery || state.filters || state.activeTags.length)\n }));\n };\n\n const loadMoreFiles = () => {\n if (meta?.cursor) {\n loadFiles(\"LIST_MORE\", { after: meta.cursor });\n }\n };\n\n const resetSearchParameters = (folderId: string) => {\n const folder = (originalFolders || []).find(folder => folder.id === folderId);\n const isRoot = folder ? folder.id === ROOT_FOLDER : false;\n\n setState(state => ({\n ...state,\n filters: undefined,\n searchQuery: \"\",\n activeTags: [],\n searchLabel:\n folder && !isRoot ? `Search files in \"${folder.title}\"` : `Search all files`\n }));\n };\n\n const { folders, listTitle } = useMemo(() => {\n // Filter sub-folders and sort them accordingly\n const subFolders = getCurrentFolderList(originalFolders, currentFolderId);\n const folders = sortTableItems(subFolders, state.listSort, { name: \"title\" });\n\n // Get current folder name\n const currentFolder = originalFolders?.find(folder => folder.id === currentFolderId);\n\n return { folders, listTitle: currentFolder?.title || \"\" };\n }, [originalFolders, currentFolderId, state.listSort]);\n\n const getFile = async (id: string) => {\n const fileInState = files.find(file => file.id === id);\n\n if (fileInState) {\n return fileInState;\n }\n\n setState(state => ({\n ...state,\n loadingFileDetails: true\n }));\n\n const file = await fileManager.getFile(id);\n\n if (!file) {\n // No file found - must be deleted by previous operation\n setFiles(files => files.filter(file => file.id !== id));\n } else {\n setFiles(prevFiles => {\n const fileIndex = prevFiles.findIndex(file => file.id === id);\n\n // No record found in the list - must be added by previous operation\n if (fileIndex === -1) {\n return [...prevFiles, file];\n }\n\n // Updating record found in the list\n return [\n ...prevFiles.slice(0, fileIndex),\n {\n ...prevFiles[fileIndex],\n ...file\n },\n ...prevFiles.slice(fileIndex + 1)\n ];\n });\n }\n\n setState(state => ({\n ...state,\n loadingFileDetails: false\n }));\n\n return file;\n };\n\n const getSettings = async () => {\n const settings = await fileManager.getSettings();\n setState(state => ({\n ...state,\n settings\n }));\n };\n\n useEffect(() => {\n getSettings();\n }, []);\n\n const createFile = async (data: FileItem) => {\n if (data.tags) {\n data.tags = addScopePrefix(data.tags);\n }\n\n if (props.scope) {\n data.tags = [...(data.tags || []), props.scope];\n }\n\n const meta = {\n location: {\n folderId: currentFolderId || ROOT_FOLDER\n }\n };\n\n const newFile = await fileManager.createFile(data, meta);\n if (newFile) {\n newFile.tags = removeScopePrefix(newFile.tags || []);\n setFiles(files => [newFile, ...files]);\n }\n return newFile;\n };\n\n const updateFile = async (id: string, data: Partial<FileItem>) => {\n const file = files.find(file => file.id === id);\n if (!file) {\n return;\n }\n\n const newTags = data.tags?.filter(tag => !tags.tags.some(t => t.tag === tag));\n\n if (data.tags) {\n data.tags = addScopePrefix(data.tags);\n }\n\n if (props.scope) {\n data.tags = [...(data.tags || []), props.scope];\n }\n\n await fileManager.updateFile(id, data);\n\n if (newTags) {\n tags.addTags(newTags);\n }\n\n setFiles(files => {\n const index = files.findIndex(file => file.id === id);\n if (index === -1) {\n return files;\n }\n\n const newFile = {\n ...data,\n tags: removeScopePrefix(data.tags)\n };\n\n return [\n ...files.slice(0, index),\n { ...files[index], ...newFile },\n ...files.slice(index + 1)\n ];\n });\n };\n\n const deleteFile = async (id: string) => {\n await fileManager.deleteFile(id);\n\n setFiles(files => {\n const index = files.findIndex(file => file.id === id);\n if (index === -1) {\n return files;\n }\n\n return [...files.slice(0, index), ...files.slice(index + 1)];\n });\n };\n\n /**\n * Upload native browser File\n * @see https://developer.mozilla.org/en-US/docs/Web/API/File\n * @param file\n * @param options\n */\n const uploadFile: FileManagerViewContext[\"uploadFile\"] = async (file, options = {}) => {\n const tags = props.scope ? [props.scope] : [];\n const meta = {\n location: {\n folderId: currentFolderId || ROOT_FOLDER\n }\n };\n\n const newFile = await fileManager.uploadFile(file, meta, {\n tags,\n onProgress: options.onProgress\n });\n if (newFile) {\n newFile.tags = removeScopePrefix(newFile.tags);\n setFiles(files => [newFile, ...files]);\n }\n return newFile;\n };\n\n const moveFileToFolder: FileManagerViewContext[\"moveFileToFolder\"] = async (\n fileId,\n folderId\n ) => {\n await updateFile(fileId, { location: { folderId } });\n setFiles(files => files.filter(file => file.id !== fileId));\n };\n\n const addScopePrefix = (tags: string[] = []) => {\n if (!props.scope) {\n return tags;\n }\n\n return tags.map(tag => `${props.scope}:${tag}`);\n };\n\n const removeScopePrefix = (tags: string[] = []) => {\n if (!props.scope) {\n return tags;\n }\n\n return tags\n .filter(tag => tag !== props.scope)\n .map(tag => {\n return props.scope ? tag.replace(`${props.scope}:`, \"\") : tag;\n });\n };\n\n const context: FileManagerViewContext = {\n ...omit(state, [\"activeTags\"]),\n accept: props.accept,\n areFilesSelectable: Boolean(props.onChange),\n createFile,\n deleteFile,\n files,\n folderId: currentFolderId,\n folders: state.isSearch ? [] : folders,\n getFile,\n hideFileDetails() {\n setState(state => ({\n ...state,\n showingFileDetails: null\n }));\n },\n hideFilters() {\n setState(state => ({\n ...state,\n filters: undefined,\n showingFilters: false\n }));\n },\n isListLoading: Boolean(\n loading.INIT || foldersLoading.INIT || loading.LIST || foldersLoading.LIST\n ),\n isListLoadingMore: Boolean(loading.LIST_MORE),\n listTitle,\n loadMoreFiles,\n meta,\n moveFileToFolder,\n multiple: Boolean(props.multiple),\n onChange(value: any[]) {\n if (typeof props.onChange === \"function\") {\n props.onChange(value);\n }\n\n context.onClose();\n },\n onClose() {\n if (typeof props.onClose === \"function\") {\n props.onClose();\n }\n },\n onUploadCompletion(files) {\n setState(state => ({\n ...state,\n hasPreviouslyUploadedFiles: true\n }));\n\n if (typeof props.onUploadCompletion === \"function\") {\n props.onUploadCompletion(files);\n context.onClose();\n }\n },\n own: Boolean(props.own),\n scope: props.scope,\n setDragging(value = true) {\n setState(state => ({\n ...state,\n dragging: value\n }));\n },\n setFilters(data) {\n setState(state => ({\n ...state,\n selected: [],\n filters: data\n }));\n },\n setFolderId(folderId) {\n resetSearchParameters(folderId);\n navigateToFolder(folderId);\n },\n setListSort(sort: ListSearchRecordsSort) {\n setState(state => ({\n ...state,\n listSort: sort\n }));\n },\n setListTable(flag) {\n setState(state => ({\n ...state,\n listTable: flag\n }));\n },\n setSearchQuery(search) {\n setState(state => ({\n ...state,\n searchQuery: search\n }));\n },\n setSelected(files: FileItem[]) {\n setState(state => ({\n ...state,\n selected: files\n }));\n },\n showFileDetails: useCallback((id: string) => {\n setState(state => ({\n ...state,\n showingFileDetails: id\n }));\n }, []),\n showFilters() {\n setState(state => ({\n ...state,\n showingFilters: true\n }));\n },\n tags: {\n loading: tags.loading,\n allTags: tags.tags,\n activeTags: state.activeTags,\n filterMode: state.tagsFilterMode,\n setFilterMode(mode) {\n setState(state => ({\n ...state,\n tagsFilterMode: mode\n }));\n },\n setActiveTags(activeTags) {\n setState(state => ({\n ...state,\n activeTags\n }));\n }\n },\n toggleSelected(file: FileItem) {\n setState(state => {\n const existingIndex = state.selected.findIndex(item => item.id === file.id);\n const selected = state.selected;\n\n if (existingIndex < 0) {\n selected.push(file);\n } else {\n selected.splice(existingIndex, 1);\n }\n\n return {\n ...state,\n selected\n };\n });\n },\n updateFile,\n uploadFile\n };\n\n return (\n <FileManagerViewContext.Provider value={context}>\n {children}\n </FileManagerViewContext.Provider>\n );\n};\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./useFileManagerView\";\nexport * from \"./FileManagerViewContext\";\n"],"mappings":";;;;;AAAA;
|
|
1
|
+
{"version":3,"names":["_useFileManagerView","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_FileManagerViewContext"],"sources":["index.ts"],"sourcesContent":["export * from \"./useFileManagerView\";\nexport * from \"./FileManagerViewContext\";\n"],"mappings":";;;;;AAAA,IAAAA,mBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,mBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,mBAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAT,mBAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,uBAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,uBAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,uBAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAC,uBAAA,CAAAL,GAAA;IAAA;EAAA;AAAA"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { FileItem } from "@webiny/app-admin/types";
|
|
2
|
+
import { ListFilesSort } from "../../FileManagerApiProvider/graphql";
|
|
3
|
+
import { Settings } from "../../../types";
|
|
4
|
+
export interface State {
|
|
5
|
+
activeTags: string[];
|
|
6
|
+
dragging: boolean;
|
|
7
|
+
filters: Record<string, any> | undefined;
|
|
8
|
+
hasPreviouslyUploadedFiles: boolean | null;
|
|
9
|
+
isSearch: boolean;
|
|
10
|
+
limit: number;
|
|
11
|
+
listSort?: ListFilesSort;
|
|
12
|
+
listTable: boolean;
|
|
13
|
+
loadingFileDetails: boolean;
|
|
14
|
+
searchLabel: string;
|
|
15
|
+
searchQuery: string;
|
|
16
|
+
selected: FileItem[];
|
|
17
|
+
settings: Settings | undefined;
|
|
18
|
+
showingFileDetails: string | null;
|
|
19
|
+
showingFilters: boolean;
|
|
20
|
+
tagsFilterMode: "AND" | "OR";
|
|
21
|
+
}
|
|
22
|
+
export declare const getScopeWhereParams: (scope: string | undefined) => {
|
|
23
|
+
tags_not_startsWith: string;
|
|
24
|
+
tags_startsWith?: undefined;
|
|
25
|
+
} | {
|
|
26
|
+
tags_startsWith: string;
|
|
27
|
+
tags_not_startsWith?: undefined;
|
|
28
|
+
};
|
|
29
|
+
export declare const initializeState: () => State;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.initializeState = exports.getScopeWhereParams = void 0;
|
|
7
|
+
var DEFAULT_SCOPE = "scope:";
|
|
8
|
+
var getScopeWhereParams = function getScopeWhereParams(scope) {
|
|
9
|
+
if (!scope) {
|
|
10
|
+
return {
|
|
11
|
+
tags_not_startsWith: DEFAULT_SCOPE
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
return {
|
|
15
|
+
tags_startsWith: scope
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
exports.getScopeWhereParams = getScopeWhereParams;
|
|
19
|
+
var initializeState = function initializeState() {
|
|
20
|
+
return {
|
|
21
|
+
activeTags: [],
|
|
22
|
+
dragging: false,
|
|
23
|
+
isSearch: false,
|
|
24
|
+
filters: undefined,
|
|
25
|
+
hasPreviouslyUploadedFiles: null,
|
|
26
|
+
limit: 50,
|
|
27
|
+
listSort: [],
|
|
28
|
+
listTable: false,
|
|
29
|
+
loadingFileDetails: false,
|
|
30
|
+
searchLabel: "",
|
|
31
|
+
searchQuery: "",
|
|
32
|
+
selected: [],
|
|
33
|
+
settings: undefined,
|
|
34
|
+
showingFileDetails: null,
|
|
35
|
+
showingFilters: false,
|
|
36
|
+
tagsFilterMode: "OR"
|
|
37
|
+
};
|
|
38
|
+
};
|
|
39
|
+
exports.initializeState = initializeState;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["DEFAULT_SCOPE","getScopeWhereParams","scope","tags_not_startsWith","tags_startsWith","exports","initializeState","activeTags","dragging","isSearch","filters","undefined","hasPreviouslyUploadedFiles","limit","listSort","listTable","loadingFileDetails","searchLabel","searchQuery","selected","settings","showingFileDetails","showingFilters","tagsFilterMode"],"sources":["state.ts"],"sourcesContent":["import { FileItem } from \"@webiny/app-admin/types\";\nimport { ListFilesSort } from \"~/modules/FileManagerApiProvider/graphql\";\nimport { Settings } from \"~/types\";\n\nexport interface State {\n activeTags: string[];\n dragging: boolean;\n filters: Record<string, any> | undefined;\n hasPreviouslyUploadedFiles: boolean | null;\n isSearch: boolean;\n limit: number;\n listSort?: ListFilesSort;\n listTable: boolean;\n loadingFileDetails: boolean;\n searchLabel: string;\n searchQuery: string;\n selected: FileItem[];\n settings: Settings | undefined;\n showingFileDetails: string | null;\n showingFilters: boolean;\n tagsFilterMode: \"AND\" | \"OR\";\n}\nconst DEFAULT_SCOPE = \"scope:\";\n\nexport const getScopeWhereParams = (scope: string | undefined) => {\n if (!scope) {\n return {\n tags_not_startsWith: DEFAULT_SCOPE\n };\n }\n return {\n tags_startsWith: scope\n };\n};\n\nexport const initializeState = (): State => {\n return {\n activeTags: [],\n dragging: false,\n isSearch: false,\n filters: undefined,\n hasPreviouslyUploadedFiles: null,\n limit: 50,\n listSort: [],\n listTable: false,\n loadingFileDetails: false,\n searchLabel: \"\",\n searchQuery: \"\",\n selected: [],\n settings: undefined,\n showingFileDetails: null,\n showingFilters: false,\n tagsFilterMode: \"OR\"\n };\n};\n"],"mappings":";;;;;;AAsBA,IAAMA,aAAa,GAAG,QAAQ;AAEvB,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAIC,KAAyB,EAAK;EAC9D,IAAI,CAACA,KAAK,EAAE;IACR,OAAO;MACHC,mBAAmB,EAAEH;IACzB,CAAC;EACL;EACA,OAAO;IACHI,eAAe,EAAEF;EACrB,CAAC;AACL,CAAC;AAACG,OAAA,CAAAJ,mBAAA,GAAAA,mBAAA;AAEK,IAAMK,eAAe,GAAG,SAAlBA,eAAeA,CAAA,EAAgB;EACxC,OAAO;IACHC,UAAU,EAAE,EAAE;IACdC,QAAQ,EAAE,KAAK;IACfC,QAAQ,EAAE,KAAK;IACfC,OAAO,EAAEC,SAAS;IAClBC,0BAA0B,EAAE,IAAI;IAChCC,KAAK,EAAE,EAAE;IACTC,QAAQ,EAAE,EAAE;IACZC,SAAS,EAAE,KAAK;IAChBC,kBAAkB,EAAE,KAAK;IACzBC,WAAW,EAAE,EAAE;IACfC,WAAW,EAAE,EAAE;IACfC,QAAQ,EAAE,EAAE;IACZC,QAAQ,EAAET,SAAS;IACnBU,kBAAkB,EAAE,IAAI;IACxBC,cAAc,EAAE,KAAK;IACrBC,cAAc,EAAE;EACpB,CAAC;AACL,CAAC;AAAClB,OAAA,CAAAC,eAAA,GAAAA,eAAA"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { FileManagerViewContext } from "./FileManagerViewContext";
|
|
2
2
|
import { FileItem } from "@webiny/app-admin/types";
|
|
3
|
-
export declare function useFileManagerView<TFileItem extends FileItem = FileItem>():
|
|
3
|
+
export declare function useFileManagerView<TFileItem extends FileItem = FileItem>(): FileManagerViewContext<TFileItem>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useFileManagerView","context","useContext","FileManagerViewContext","Error"],"sources":["useFileManagerView.ts"],"sourcesContent":["import { useContext } from \"react\";\nimport { FileManagerViewContext
|
|
1
|
+
{"version":3,"names":["_react","require","_FileManagerViewContext","useFileManagerView","context","useContext","FileManagerViewContext","Error"],"sources":["useFileManagerView.ts"],"sourcesContent":["import { useContext } from \"react\";\nimport { FileManagerViewContext } from \"./FileManagerViewContext\";\nimport { FileItem } from \"@webiny/app-admin/types\";\n\nexport function useFileManagerView<TFileItem extends FileItem = FileItem>() {\n const context = useContext<FileManagerViewContext<TFileItem>>(\n FileManagerViewContext as unknown as React.Context<FileManagerViewContext<TFileItem>>\n );\n if (!context) {\n throw new Error(\"useFileManagerView() must be used within a FileManagerViewProvider\");\n }\n\n return context;\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,uBAAA,GAAAD,OAAA;AAGO,SAASE,kBAAkBA,CAAA,EAA0C;EACxE,IAAMC,OAAO,GAAG,IAAAC,iBAAU,EACtBC,8CACJ,CAAC;EACD,IAAI,CAACF,OAAO,EAAE;IACV,MAAM,IAAIG,KAAK,CAAC,oEAAoE,CAAC;EACzF;EAEA,OAAOH,OAAO;AAClB"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { ListMeta } from "@webiny/app-aco/types";
|
|
3
|
+
import { FileItem } from "@webiny/app-admin/types";
|
|
4
|
+
import { Loading, LoadingActions } from ".";
|
|
5
|
+
import { ListFilesQueryVariables } from "../../FileManagerApiProvider/graphql";
|
|
6
|
+
import { State } from "./state";
|
|
7
|
+
interface UseListFilesParams {
|
|
8
|
+
modifiers: {
|
|
9
|
+
scope?: string;
|
|
10
|
+
own?: boolean;
|
|
11
|
+
accept: string[];
|
|
12
|
+
};
|
|
13
|
+
folderId: string;
|
|
14
|
+
state: State;
|
|
15
|
+
onFirstLoad: (meta: ListMeta) => void;
|
|
16
|
+
}
|
|
17
|
+
export declare function useListFiles({ modifiers, folderId, state, onFirstLoad }: UseListFilesParams): {
|
|
18
|
+
files: FileItem[];
|
|
19
|
+
loading: Loading<LoadingActions>;
|
|
20
|
+
meta: ListMeta | undefined;
|
|
21
|
+
setFiles: import("react").Dispatch<import("react").SetStateAction<FileItem[]>>;
|
|
22
|
+
listFiles: (params: ListFilesQueryVariables) => Promise<void>;
|
|
23
|
+
getListVariables: () => ListFilesQueryVariables;
|
|
24
|
+
};
|
|
25
|
+
export {};
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.useListFiles = useListFiles;
|
|
8
|
+
var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
|
|
9
|
+
var _objectSpread3 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
10
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
11
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
12
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
13
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
14
|
+
var _react = require("react");
|
|
15
|
+
var _isEqual = _interopRequireDefault(require("lodash/isEqual"));
|
|
16
|
+
var _sorting = require("@webiny/app-aco/sorting");
|
|
17
|
+
var _appAco = require("@webiny/app-aco");
|
|
18
|
+
var _appSecurity = require("@webiny/app-security");
|
|
19
|
+
var _FileManagerApiContext = require("../../FileManagerApiProvider/FileManagerApiContext");
|
|
20
|
+
var _state = require("./state");
|
|
21
|
+
var _constants = require("../../../constants");
|
|
22
|
+
function nonEmptyArray(value) {
|
|
23
|
+
var fallback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;
|
|
24
|
+
if (Array.isArray(value)) {
|
|
25
|
+
return value.length ? value : undefined;
|
|
26
|
+
}
|
|
27
|
+
return fallback;
|
|
28
|
+
}
|
|
29
|
+
function useListFiles(_ref) {
|
|
30
|
+
var modifiers = _ref.modifiers,
|
|
31
|
+
folderId = _ref.folderId,
|
|
32
|
+
state = _ref.state,
|
|
33
|
+
onFirstLoad = _ref.onFirstLoad;
|
|
34
|
+
var _useSecurity = (0, _appSecurity.useSecurity)(),
|
|
35
|
+
identity = _useSecurity.identity;
|
|
36
|
+
var fileManager = (0, _FileManagerApiContext.useFileManagerApi)();
|
|
37
|
+
var _useFolders = (0, _appAco.useFolders)(),
|
|
38
|
+
getDescendantFolders = _useFolders.getDescendantFolders;
|
|
39
|
+
var firstLoad = (0, _react.useRef)(true);
|
|
40
|
+
var _useState = (0, _react.useState)(undefined),
|
|
41
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
42
|
+
meta = _useState2[0],
|
|
43
|
+
setMeta = _useState2[1];
|
|
44
|
+
var _useState3 = (0, _react.useState)([]),
|
|
45
|
+
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
|
46
|
+
files = _useState4[0],
|
|
47
|
+
setFiles = _useState4[1];
|
|
48
|
+
var _useState5 = (0, _react.useState)({}),
|
|
49
|
+
_useState6 = (0, _slicedToArray2.default)(_useState5, 2),
|
|
50
|
+
loading = _useState6[0],
|
|
51
|
+
setLoading = _useState6[1];
|
|
52
|
+
var _useState7 = (0, _react.useState)(undefined),
|
|
53
|
+
_useState8 = (0, _slicedToArray2.default)(_useState7, 2),
|
|
54
|
+
lastSort = _useState8[0],
|
|
55
|
+
setLastSort = _useState8[1];
|
|
56
|
+
var listFiles = /*#__PURE__*/function () {
|
|
57
|
+
var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee(params) {
|
|
58
|
+
var after, limit, sorting, search, where, hasMoreItems, action, sort, fmResponse;
|
|
59
|
+
return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
|
|
60
|
+
while (1) switch (_context.prev = _context.next) {
|
|
61
|
+
case 0:
|
|
62
|
+
after = params.after, limit = params.limit, sorting = params.sort, search = params.search, where = params.where;
|
|
63
|
+
/*
|
|
64
|
+
* We're avoiding to fetch records in case they have already been fetched.
|
|
65
|
+
* This happens when visiting a list with all records loaded and receives "after" param.
|
|
66
|
+
*/
|
|
67
|
+
hasMoreItems = (meta === null || meta === void 0 ? void 0 : meta.hasMoreItems) || true;
|
|
68
|
+
if (!(after && !hasMoreItems)) {
|
|
69
|
+
_context.next = 4;
|
|
70
|
+
break;
|
|
71
|
+
}
|
|
72
|
+
return _context.abrupt("return");
|
|
73
|
+
case 4:
|
|
74
|
+
action = after ? "LIST_MORE" : "LIST";
|
|
75
|
+
sort = (0, _sorting.validateOrGetDefaultDbSort)(sorting);
|
|
76
|
+
setLoading((0, _defineProperty2.default)({}, action, true));
|
|
77
|
+
_context.next = 9;
|
|
78
|
+
return fileManager.listFiles({
|
|
79
|
+
where: where,
|
|
80
|
+
sort: sort,
|
|
81
|
+
search: search,
|
|
82
|
+
limit: limit,
|
|
83
|
+
after: after
|
|
84
|
+
});
|
|
85
|
+
case 9:
|
|
86
|
+
fmResponse = _context.sent;
|
|
87
|
+
setFiles(function (prev) {
|
|
88
|
+
// If there's no cursor, or sorting changed, it means we're receiving a new list of files from scratch.
|
|
89
|
+
if (!after || !(0, _isEqual.default)(sorting, lastSort)) {
|
|
90
|
+
return fmResponse.files;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
// Otherwise, we're merging results with the previous state.
|
|
94
|
+
return [].concat((0, _toConsumableArray2.default)(prev), (0, _toConsumableArray2.default)(fmResponse.files));
|
|
95
|
+
});
|
|
96
|
+
|
|
97
|
+
// We need to keep track of the last used sorting. If sorting is changed, it means we're loading
|
|
98
|
+
// a completely new list of files (starting from "page 1").
|
|
99
|
+
setLastSort(sorting);
|
|
100
|
+
setMeta(fmResponse.meta);
|
|
101
|
+
setLoading(function (prev) {
|
|
102
|
+
return (0, _objectSpread3.default)((0, _objectSpread3.default)({}, prev), {}, (0, _defineProperty2.default)({
|
|
103
|
+
INIT: false
|
|
104
|
+
}, action, false));
|
|
105
|
+
});
|
|
106
|
+
if (firstLoad.current) {
|
|
107
|
+
firstLoad.current = false;
|
|
108
|
+
onFirstLoad(fmResponse.meta);
|
|
109
|
+
}
|
|
110
|
+
case 15:
|
|
111
|
+
case "end":
|
|
112
|
+
return _context.stop();
|
|
113
|
+
}
|
|
114
|
+
}, _callee);
|
|
115
|
+
}));
|
|
116
|
+
return function listFiles(_x) {
|
|
117
|
+
return _ref2.apply(this, arguments);
|
|
118
|
+
};
|
|
119
|
+
}();
|
|
120
|
+
var getListVariables = function getListVariables() {
|
|
121
|
+
var isSearch = state.searchQuery || state.filters || state.activeTags.length;
|
|
122
|
+
var AND = [];
|
|
123
|
+
if (state.filters) {
|
|
124
|
+
AND.push(state.filters);
|
|
125
|
+
}
|
|
126
|
+
if (state.activeTags.length) {
|
|
127
|
+
if (state.tagsFilterMode == "OR") {
|
|
128
|
+
AND.push({
|
|
129
|
+
tags_in: state.activeTags
|
|
130
|
+
});
|
|
131
|
+
} else {
|
|
132
|
+
AND.push.apply(AND, (0, _toConsumableArray2.default)(state.activeTags.map(function (tag) {
|
|
133
|
+
return {
|
|
134
|
+
tags_in: [tag]
|
|
135
|
+
};
|
|
136
|
+
})));
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
var locationWhere = {
|
|
140
|
+
folderId: folderId
|
|
141
|
+
};
|
|
142
|
+
if (isSearch) {
|
|
143
|
+
if (folderId === _constants.ROOT_FOLDER) {
|
|
144
|
+
locationWhere = undefined;
|
|
145
|
+
} else {
|
|
146
|
+
locationWhere = {
|
|
147
|
+
folderId_in: getDescendantFolders(folderId).map(function (folder) {
|
|
148
|
+
return folder.id;
|
|
149
|
+
})
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
var queryParams = {
|
|
154
|
+
limit: 50,
|
|
155
|
+
sort: state.listSort,
|
|
156
|
+
search: state.searchQuery || undefined,
|
|
157
|
+
where: (0, _objectSpread3.default)((0, _objectSpread3.default)({}, (0, _state.getScopeWhereParams)(modifiers.scope)), {}, {
|
|
158
|
+
location: locationWhere,
|
|
159
|
+
createdBy: modifiers.own ? identity.id : undefined,
|
|
160
|
+
type_in: nonEmptyArray(modifiers.accept),
|
|
161
|
+
AND: AND.length > 0 ? AND : undefined
|
|
162
|
+
})
|
|
163
|
+
};
|
|
164
|
+
return queryParams;
|
|
165
|
+
};
|
|
166
|
+
return {
|
|
167
|
+
files: files || [],
|
|
168
|
+
loading: loading,
|
|
169
|
+
meta: meta,
|
|
170
|
+
setFiles: setFiles,
|
|
171
|
+
listFiles: listFiles,
|
|
172
|
+
getListVariables: getListVariables
|
|
173
|
+
};
|
|
174
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","_isEqual","_interopRequireDefault","_sorting","_appAco","_appSecurity","_FileManagerApiContext","_state","_constants","nonEmptyArray","value","fallback","arguments","length","undefined","Array","isArray","useListFiles","_ref","modifiers","folderId","state","onFirstLoad","_useSecurity","useSecurity","identity","fileManager","useFileManagerApi","_useFolders","useFolders","getDescendantFolders","firstLoad","useRef","_useState","useState","_useState2","_slicedToArray2","default","meta","setMeta","_useState3","_useState4","files","setFiles","_useState5","_useState6","loading","setLoading","_useState7","_useState8","lastSort","setLastSort","listFiles","_ref2","_asyncToGenerator2","_regeneratorRuntime2","mark","_callee","params","after","limit","sorting","search","where","hasMoreItems","action","sort","fmResponse","wrap","_callee$","_context","prev","next","abrupt","validateOrGetDefaultDbSort","_defineProperty2","sent","isEqual","concat","_toConsumableArray2","_objectSpread3","INIT","current","stop","_x","apply","getListVariables","isSearch","searchQuery","filters","activeTags","AND","push","tagsFilterMode","tags_in","map","tag","locationWhere","ROOT_FOLDER","folderId_in","folder","id","queryParams","listSort","getScopeWhereParams","scope","location","createdBy","own","type_in","accept"],"sources":["useListFiles.ts"],"sourcesContent":["import { useRef, useState } from \"react\";\nimport isEqual from \"lodash/isEqual\";\nimport { validateOrGetDefaultDbSort } from \"@webiny/app-aco/sorting\";\nimport { useFolders } from \"@webiny/app-aco\";\nimport { ListMeta } from \"@webiny/app-aco/types\";\nimport { useSecurity } from \"@webiny/app-security\";\nimport { FileItem } from \"@webiny/app-admin/types\";\nimport { Loading, LoadingActions } from \"~/modules/FileManagerRenderer/FileManagerViewProvider\";\nimport {\n ListFilesQueryVariables,\n ListFilesSort,\n ListFilesWhereLocation,\n ListFilesWhereQueryVariables\n} from \"~/modules/FileManagerApiProvider/graphql\";\nimport { useFileManagerApi } from \"~/modules/FileManagerApiProvider/FileManagerApiContext\";\nimport { getScopeWhereParams, State } from \"./state\";\nimport { ROOT_FOLDER } from \"~/constants\";\n\nfunction nonEmptyArray(value: string[] | undefined, fallback: string[] | undefined = undefined) {\n if (Array.isArray(value)) {\n return value.length ? value : undefined;\n }\n\n return fallback;\n}\n\ninterface UseListFilesParams {\n modifiers: {\n scope?: string;\n own?: boolean;\n accept: string[];\n };\n folderId: string;\n state: State;\n onFirstLoad: (meta: ListMeta) => void;\n}\n\nexport function useListFiles({ modifiers, folderId, state, onFirstLoad }: UseListFilesParams) {\n const { identity } = useSecurity();\n const fileManager = useFileManagerApi();\n const { getDescendantFolders } = useFolders();\n const firstLoad = useRef(true);\n const [meta, setMeta] = useState<ListMeta | undefined>(undefined);\n const [files, setFiles] = useState<FileItem[]>([]);\n const [loading, setLoading] = useState<Loading<LoadingActions>>({});\n const [lastSort, setLastSort] = useState<ListFilesSort | undefined>(undefined);\n\n const listFiles = async (params: ListFilesQueryVariables) => {\n const { after, limit, sort: sorting, search, where } = params;\n\n /*\n * We're avoiding to fetch records in case they have already been fetched.\n * This happens when visiting a list with all records loaded and receives \"after\" param.\n */\n const hasMoreItems = meta?.hasMoreItems || true;\n if (after && !hasMoreItems) {\n return;\n }\n\n const action = after ? \"LIST_MORE\" : \"LIST\";\n const sort = validateOrGetDefaultDbSort(sorting);\n\n setLoading({ [action]: true });\n\n const fmResponse = await fileManager.listFiles({\n where,\n sort,\n search,\n limit,\n after\n });\n\n setFiles(prev => {\n // If there's no cursor, or sorting changed, it means we're receiving a new list of files from scratch.\n if (!after || !isEqual(sorting, lastSort)) {\n return fmResponse.files;\n }\n\n // Otherwise, we're merging results with the previous state.\n return [...prev, ...fmResponse.files];\n });\n\n // We need to keep track of the last used sorting. If sorting is changed, it means we're loading\n // a completely new list of files (starting from \"page 1\").\n setLastSort(sorting);\n\n setMeta(fmResponse.meta);\n\n setLoading(prev => {\n return {\n ...prev,\n INIT: false,\n [action]: false\n };\n });\n\n if (firstLoad.current) {\n firstLoad.current = false;\n onFirstLoad(fmResponse.meta);\n }\n };\n\n const getListVariables = () => {\n const isSearch = state.searchQuery || state.filters || state.activeTags.length;\n\n const AND: ListFilesWhereQueryVariables[] = [];\n\n if (state.filters) {\n AND.push(state.filters);\n }\n\n if (state.activeTags.length) {\n if (state.tagsFilterMode == \"OR\") {\n AND.push({ tags_in: state.activeTags });\n } else {\n AND.push(...state.activeTags.map(tag => ({ tags_in: [tag] })));\n }\n }\n\n let locationWhere: ListFilesWhereLocation | undefined = { folderId };\n\n if (isSearch) {\n if (folderId === ROOT_FOLDER) {\n locationWhere = undefined;\n } else {\n locationWhere = {\n folderId_in: getDescendantFolders(folderId).map(folder => folder.id)\n };\n }\n }\n\n const queryParams: ListFilesQueryVariables = {\n limit: 50,\n sort: state.listSort,\n search: state.searchQuery || undefined,\n where: {\n ...getScopeWhereParams(modifiers.scope),\n location: locationWhere,\n createdBy: modifiers.own ? identity!.id : undefined,\n type_in: nonEmptyArray(modifiers.accept),\n AND: AND.length > 0 ? AND : undefined\n }\n };\n\n return queryParams;\n };\n\n return {\n files: files || [],\n loading,\n meta,\n setFiles,\n listFiles,\n getListVariables\n };\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { FileTag } from "../../../types";
|
|
2
|
+
interface UseTagsParams {
|
|
3
|
+
scope?: string;
|
|
4
|
+
own?: boolean;
|
|
5
|
+
}
|
|
6
|
+
export declare const useTags: ({ scope, own }: UseTagsParams) => {
|
|
7
|
+
loading: boolean;
|
|
8
|
+
tags: FileTag[];
|
|
9
|
+
addTags: (tags: string[]) => void;
|
|
10
|
+
};
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.useTags = void 0;
|
|
8
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
9
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
10
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
11
|
+
var _react = require("react");
|
|
12
|
+
var _appSecurity = require("@webiny/app-security");
|
|
13
|
+
var _FileManagerApiContext = require("../../FileManagerApiProvider/FileManagerApiContext");
|
|
14
|
+
var _constants = require("../../../constants");
|
|
15
|
+
var sortTags = function sortTags(tags) {
|
|
16
|
+
return tags.sort(function (a, b) {
|
|
17
|
+
return a.tag.localeCompare(b.tag);
|
|
18
|
+
});
|
|
19
|
+
};
|
|
20
|
+
var useTags = function useTags(_ref) {
|
|
21
|
+
var scope = _ref.scope,
|
|
22
|
+
own = _ref.own;
|
|
23
|
+
var _useSecurity = (0, _appSecurity.useSecurity)(),
|
|
24
|
+
identity = _useSecurity.identity;
|
|
25
|
+
var fileManager = (0, _FileManagerApiContext.useFileManagerApi)();
|
|
26
|
+
var _useState = (0, _react.useState)([]),
|
|
27
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
28
|
+
tags = _useState2[0],
|
|
29
|
+
setSortedTags = _useState2[1];
|
|
30
|
+
var _useState3 = (0, _react.useState)(false),
|
|
31
|
+
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
|
32
|
+
loading = _useState4[0],
|
|
33
|
+
setLoading = _useState4[1];
|
|
34
|
+
var getTagsInitialParams = (0, _react.useCallback)(function (_ref2) {
|
|
35
|
+
var scope = _ref2.scope,
|
|
36
|
+
own = _ref2.own;
|
|
37
|
+
return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, own && {
|
|
38
|
+
createdBy: identity === null || identity === void 0 ? void 0 : identity.id
|
|
39
|
+
}), scope ? {
|
|
40
|
+
tags_startsWith: scope
|
|
41
|
+
} : {
|
|
42
|
+
tags_not_startsWith: _constants.DEFAULT_SCOPE
|
|
43
|
+
});
|
|
44
|
+
}, [scope, own, identity]);
|
|
45
|
+
var setTags = (0, _react.useCallback)(function (tags) {
|
|
46
|
+
setSortedTags(function (state) {
|
|
47
|
+
return sortTags([].concat((0, _toConsumableArray2.default)(state), (0, _toConsumableArray2.default)(tags)));
|
|
48
|
+
});
|
|
49
|
+
}, []);
|
|
50
|
+
var where = (0, _react.useMemo)(function () {
|
|
51
|
+
return getTagsInitialParams({
|
|
52
|
+
scope: scope,
|
|
53
|
+
own: own
|
|
54
|
+
});
|
|
55
|
+
}, [getTagsInitialParams]);
|
|
56
|
+
(0, _react.useEffect)(function () {
|
|
57
|
+
setLoading(true);
|
|
58
|
+
fileManager.listTags({
|
|
59
|
+
where: where
|
|
60
|
+
}).then(function (tags) {
|
|
61
|
+
setLoading(false);
|
|
62
|
+
setTags(tagsModifier(tags));
|
|
63
|
+
});
|
|
64
|
+
}, []);
|
|
65
|
+
var addTags = function addTags(tags) {
|
|
66
|
+
if (!tags.length) {
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
setTags(tagsModifier(tags.map(function (tag) {
|
|
70
|
+
return {
|
|
71
|
+
tag: tag,
|
|
72
|
+
count: 1
|
|
73
|
+
};
|
|
74
|
+
})));
|
|
75
|
+
fileManager.listTags({
|
|
76
|
+
where: where,
|
|
77
|
+
refetch: true
|
|
78
|
+
});
|
|
79
|
+
};
|
|
80
|
+
var tagsModifier = (0, _react.useCallback)(function (tags) {
|
|
81
|
+
return tags.filter(function (_ref3) {
|
|
82
|
+
var tag = _ref3.tag;
|
|
83
|
+
return tag !== scope;
|
|
84
|
+
}).filter(function (_ref4) {
|
|
85
|
+
var tag = _ref4.tag;
|
|
86
|
+
return !tag.startsWith("mime:");
|
|
87
|
+
}).map(function (item) {
|
|
88
|
+
var tagName = scope ? item.tag.replace("".concat(scope, ":"), "") : item.tag;
|
|
89
|
+
return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, item), {}, {
|
|
90
|
+
tag: tagName
|
|
91
|
+
});
|
|
92
|
+
});
|
|
93
|
+
}, [scope]);
|
|
94
|
+
return {
|
|
95
|
+
loading: loading,
|
|
96
|
+
tags: tags,
|
|
97
|
+
addTags: addTags
|
|
98
|
+
};
|
|
99
|
+
};
|
|
100
|
+
exports.useTags = useTags;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","_appSecurity","_FileManagerApiContext","_constants","sortTags","tags","sort","a","b","tag","localeCompare","useTags","_ref","scope","own","_useSecurity","useSecurity","identity","fileManager","useFileManagerApi","_useState","useState","_useState2","_slicedToArray2","default","setSortedTags","_useState3","_useState4","loading","setLoading","getTagsInitialParams","useCallback","_ref2","_objectSpread2","createdBy","id","tags_startsWith","tags_not_startsWith","DEFAULT_SCOPE","setTags","state","concat","_toConsumableArray2","where","useMemo","useEffect","listTags","then","tagsModifier","addTags","length","map","count","refetch","filter","_ref3","_ref4","startsWith","item","tagName","replace","exports"],"sources":["useTags.ts"],"sourcesContent":["import { useCallback, useEffect, useMemo, useState } from \"react\";\nimport { useSecurity } from \"@webiny/app-security\";\nimport { useFileManagerApi } from \"~/modules/FileManagerApiProvider/FileManagerApiContext\";\nimport { DEFAULT_SCOPE } from \"~/constants\";\nimport { FileTag } from \"~/types\";\n\nconst sortTags = (tags: FileTag[]) => {\n return tags.sort((a, b) => a.tag.localeCompare(b.tag));\n};\n\ninterface UseTagsParams {\n scope?: string;\n own?: boolean;\n}\n\nexport const useTags = ({ scope, own }: UseTagsParams) => {\n const { identity } = useSecurity();\n const fileManager = useFileManagerApi();\n const [tags, setSortedTags] = useState<FileTag[]>([]);\n const [loading, setLoading] = useState(false);\n\n const getTagsInitialParams = useCallback(\n ({ scope, own }: UseTagsParams) => {\n return {\n ...(own && { createdBy: identity?.id }),\n ...(scope ? { tags_startsWith: scope } : { tags_not_startsWith: DEFAULT_SCOPE })\n };\n },\n [scope, own, identity]\n );\n\n const setTags = useCallback(tags => {\n setSortedTags(state => sortTags([...state, ...tags]));\n }, []);\n\n const where = useMemo(() => getTagsInitialParams({ scope, own }), [getTagsInitialParams]);\n\n useEffect(() => {\n setLoading(true);\n fileManager.listTags({ where }).then(tags => {\n setLoading(false);\n setTags(tagsModifier(tags));\n });\n }, []);\n\n const addTags = (tags: string[]) => {\n if (!tags.length) {\n return;\n }\n\n setTags(tagsModifier(tags.map(tag => ({ tag, count: 1 }))));\n\n fileManager.listTags({ where, refetch: true });\n };\n\n const tagsModifier = useCallback(\n (tags: FileTag[]) => {\n return tags\n .filter(({ tag }) => tag !== scope)\n .filter(({ tag }) => !tag.startsWith(\"mime:\"))\n .map(item => {\n const tagName = scope ? item.tag.replace(`${scope}:`, \"\") : item.tag;\n return {\n ...item,\n tag: tagName\n };\n });\n },\n [scope]\n );\n\n return {\n loading,\n tags,\n addTags\n };\n};\n"],"mappings":"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"}
|