@webiny/app-file-manager 5.37.8 → 5.38.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.
Files changed (177) hide show
  1. package/BatchFileUploader.js +3 -1
  2. package/FileManagerFileTypePlugin.js +3 -1
  3. package/app.js +3 -1
  4. package/components/BottomInfoBar/BottomInfoBar.js +3 -1
  5. package/components/BottomInfoBar/ListStatus.js +3 -1
  6. package/components/BottomInfoBar/SupportedFileTypes.js +3 -1
  7. package/components/BottomInfoBar/index.js +3 -1
  8. package/components/BottomInfoBar/styled.js +3 -1
  9. package/components/BulkActions/ActionDelete.d.ts +4 -0
  10. package/components/BulkActions/ActionDelete.js +119 -0
  11. package/components/BulkActions/ActionDelete.js.map +1 -0
  12. package/components/BulkActions/ActionMove.d.ts +4 -0
  13. package/components/BulkActions/ActionMove.js +137 -0
  14. package/components/BulkActions/ActionMove.js.map +1 -0
  15. package/components/BulkActions/BulkActions.d.ts +3 -0
  16. package/components/BulkActions/BulkActions.js +51 -0
  17. package/components/BulkActions/BulkActions.js.map +1 -0
  18. package/components/BulkActions/BulkActions.styled.d.ts +15 -0
  19. package/components/BulkActions/BulkActions.styled.js +26 -0
  20. package/components/BulkActions/BulkActions.styled.js.map +1 -0
  21. package/components/BulkActions/index.d.ts +3 -0
  22. package/components/BulkActions/index.js +37 -0
  23. package/components/BulkActions/index.js.map +1 -0
  24. package/components/DropFilesHere/DropFilesHere.js +5 -7
  25. package/components/DropFilesHere/DropFilesHere.js.map +1 -1
  26. package/components/DropFilesHere/index.js +3 -1
  27. package/components/DropFilesHere/styled.js +9 -4
  28. package/components/DropFilesHere/styled.js.map +1 -1
  29. package/components/Empty/Empty.js +3 -1
  30. package/components/Empty/Empty.js.map +1 -1
  31. package/components/Empty/index.js +3 -1
  32. package/components/FileDetails/FileDetails.js +6 -4
  33. package/components/FileDetails/FileDetails.js.map +1 -1
  34. package/components/FileDetails/FileDetailsProvider.js +3 -1
  35. package/components/FileDetails/components/Actions.js +3 -1
  36. package/components/FileDetails/components/Aliases.js +3 -1
  37. package/components/FileDetails/components/BaseFields.js +3 -1
  38. package/components/FileDetails/components/Content.js +3 -1
  39. package/components/FileDetails/components/CreatedOn.js +3 -1
  40. package/components/FileDetails/components/Extensions.js +3 -1
  41. package/components/FileDetails/components/Flex.js +3 -1
  42. package/components/FileDetails/components/Footer.js +3 -1
  43. package/components/FileDetails/components/Header.js +3 -1
  44. package/components/FileDetails/components/Name.js +3 -1
  45. package/components/FileDetails/components/Preview.js +3 -1
  46. package/components/FileDetails/components/PreviewMeta.js +3 -1
  47. package/components/FileDetails/components/Tags.js +3 -1
  48. package/components/FileDetails/components/Thumbnail.js +3 -1
  49. package/components/FileDetails/components/TypeAndSize.js +3 -1
  50. package/components/FileDetails/components/actions/CopyUrl.js +3 -1
  51. package/components/FileDetails/components/actions/DeleteImage.js +3 -1
  52. package/components/FileDetails/components/actions/Download.js +3 -1
  53. package/components/FileDetails/components/actions/MoveTo.js +3 -1
  54. package/components/FileDetails/index.js +3 -1
  55. package/components/Grid/File.js +3 -1
  56. package/components/Grid/Grid.d.ts +2 -0
  57. package/components/Grid/Grid.js +14 -5
  58. package/components/Grid/Grid.js.map +1 -1
  59. package/components/Grid/index.js +3 -1
  60. package/components/Grid/styled.js +3 -1
  61. package/components/LayoutSwitch/LayoutSwitch.d.ts +2 -0
  62. package/components/LayoutSwitch/LayoutSwitch.js +34 -0
  63. package/components/LayoutSwitch/LayoutSwitch.js.map +1 -0
  64. package/components/LayoutSwitch/index.d.ts +1 -0
  65. package/components/LayoutSwitch/index.js +18 -0
  66. package/components/LayoutSwitch/index.js.map +1 -0
  67. package/components/NoPermission/NoPermission.js +3 -1
  68. package/components/NoPermission/index.js +3 -1
  69. package/components/NoPermission/styled.js +3 -1
  70. package/components/NoResults/NoResults.js +3 -1
  71. package/components/NoResults/index.js +3 -1
  72. package/components/NoResults/styled.js +3 -1
  73. package/components/Table/FolderActionDelete.js +3 -1
  74. package/components/Table/FolderActionEdit.js +3 -1
  75. package/components/Table/FolderActionManagePermissions.d.ts +6 -0
  76. package/components/Table/FolderActionManagePermissions.js +27 -0
  77. package/components/Table/FolderActionManagePermissions.js.map +1 -0
  78. package/components/Table/Name.d.ts +5 -1
  79. package/components/Table/Name.js +12 -3
  80. package/components/Table/Name.js.map +1 -1
  81. package/components/Table/RecordActionCopy.js +3 -1
  82. package/components/Table/RecordActionDelete.js +5 -3
  83. package/components/Table/RecordActionDelete.js.map +1 -1
  84. package/components/Table/RecordActionEdit.js +3 -1
  85. package/components/Table/RecordActionMove.js +3 -1
  86. package/components/Table/Table.d.ts +11 -13
  87. package/components/Table/Table.js +46 -15
  88. package/components/Table/Table.js.map +1 -1
  89. package/components/Table/index.js +3 -1
  90. package/components/Table/styled.d.ts +0 -1
  91. package/components/Table/styled.js +3 -3
  92. package/components/Table/styled.js.map +1 -1
  93. package/components/Title/Title.js +3 -1
  94. package/components/Title/index.js +3 -1
  95. package/components/Title/styled.js +3 -1
  96. package/components/UploadStatus/UploadStatus.js +3 -1
  97. package/components/UploadStatus/index.js +3 -1
  98. package/components/UploadStatus/styled.js +3 -1
  99. package/constants.js +3 -1
  100. package/contexts/FileProvider.js +3 -1
  101. package/getFileTypePlugin.js +3 -1
  102. package/hooks/useCopyFile.js +3 -1
  103. package/hooks/useDeleteFile.js +3 -1
  104. package/hooks/useFile.js +3 -1
  105. package/hooks/useFileDetails.js +3 -1
  106. package/hooks/useFileModel.js +3 -1
  107. package/hooks/useMoveFileToFolder.js +3 -1
  108. package/index.js +3 -1
  109. package/modules/FileManagerApiProvider/FileManagerApiContext/FileManagerApiContext.js +5 -3
  110. package/modules/FileManagerApiProvider/FileManagerApiContext/FileManagerApiContext.js.map +1 -1
  111. package/modules/FileManagerApiProvider/FileManagerApiContext/FileModelContext.js +3 -1
  112. package/modules/FileManagerApiProvider/FileManagerApiContext/getFileUploader.js +3 -1
  113. package/modules/FileManagerApiProvider/FileManagerApiContext/index.js +3 -1
  114. package/modules/FileManagerApiProvider/FileManagerApiContext/useFileManagerApi.js +3 -1
  115. package/modules/FileManagerApiProvider/graphql.js +3 -1
  116. package/modules/FileManagerApiProvider/index.js +3 -1
  117. package/modules/FileManagerRenderer/FileManagerView/FileManagerView.js +41 -33
  118. package/modules/FileManagerRenderer/FileManagerView/FileManagerView.js.map +1 -1
  119. package/modules/FileManagerRenderer/FileManagerView/FileManagerViewConfig.d.ts +12 -0
  120. package/modules/FileManagerRenderer/FileManagerView/FileManagerViewConfig.js +4 -1
  121. package/modules/FileManagerRenderer/FileManagerView/FileManagerViewConfig.js.map +1 -1
  122. package/modules/FileManagerRenderer/FileManagerView/LeftSidebar.js +3 -1
  123. package/modules/FileManagerRenderer/FileManagerView/NavigateFolderProvider.js +3 -1
  124. package/modules/FileManagerRenderer/FileManagerView/components/Filters.js +3 -1
  125. package/modules/FileManagerRenderer/FileManagerView/components/SearchWidget.js +3 -1
  126. package/modules/FileManagerRenderer/FileManagerView/components/TagsList/Empty.js +3 -1
  127. package/modules/FileManagerRenderer/FileManagerView/components/TagsList/Tag.js +3 -1
  128. package/modules/FileManagerRenderer/FileManagerView/components/TagsList/TagsList.js +3 -1
  129. package/modules/FileManagerRenderer/FileManagerView/components/TagsList/index.js +3 -1
  130. package/modules/FileManagerRenderer/FileManagerView/components/TagsList/styled.js +3 -1
  131. package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/BulkAction.d.ts +26 -0
  132. package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/BulkAction.js +96 -0
  133. package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/BulkAction.js.map +1 -0
  134. package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/Filter.js +3 -1
  135. package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/FilterByTags.js +3 -1
  136. package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/FiltersToWhere.js +3 -1
  137. package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/index.d.ts +13 -0
  138. package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/index.js +5 -1
  139. package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/index.js.map +1 -1
  140. package/modules/FileManagerRenderer/FileManagerView/configComponents/FileDetails/Field.js +3 -1
  141. package/modules/FileManagerRenderer/FileManagerView/configComponents/FileDetails/FieldDecorator.js +3 -1
  142. package/modules/FileManagerRenderer/FileManagerView/configComponents/FileDetails/Width.js +3 -1
  143. package/modules/FileManagerRenderer/FileManagerView/configComponents/FileDetails/index.js +3 -1
  144. package/modules/FileManagerRenderer/FileManagerView/index.js +3 -1
  145. package/modules/FileManagerRenderer/FileManagerView/outputFileSelectionError.js +3 -1
  146. package/modules/FileManagerRenderer/FileManagerViewProvider/FileManagerViewContext.d.ts +2 -1
  147. package/modules/FileManagerRenderer/FileManagerViewProvider/FileManagerViewContext.js +22 -21
  148. package/modules/FileManagerRenderer/FileManagerViewProvider/FileManagerViewContext.js.map +1 -1
  149. package/modules/FileManagerRenderer/FileManagerViewProvider/index.js +3 -1
  150. package/modules/FileManagerRenderer/FileManagerViewProvider/setSelection.d.ts +30 -0
  151. package/modules/FileManagerRenderer/FileManagerViewProvider/setSelection.js +115 -0
  152. package/modules/FileManagerRenderer/FileManagerViewProvider/setSelection.js.map +1 -0
  153. package/modules/FileManagerRenderer/FileManagerViewProvider/state.d.ts +4 -1
  154. package/modules/FileManagerRenderer/FileManagerViewProvider/state.js +4 -2
  155. package/modules/FileManagerRenderer/FileManagerViewProvider/state.js.map +1 -1
  156. package/modules/FileManagerRenderer/FileManagerViewProvider/useFileManagerView.js +3 -1
  157. package/modules/FileManagerRenderer/FileManagerViewProvider/useListFiles.d.ts +1 -2
  158. package/modules/FileManagerRenderer/FileManagerViewProvider/useListFiles.js +5 -9
  159. package/modules/FileManagerRenderer/FileManagerViewProvider/useListFiles.js.map +1 -1
  160. package/modules/FileManagerRenderer/FileManagerViewProvider/useTags.js +3 -1
  161. package/modules/FileManagerRenderer/filters/FilterByType.js +3 -1
  162. package/modules/FileManagerRenderer/index.js +10 -1
  163. package/modules/FileManagerRenderer/index.js.map +1 -1
  164. package/modules/FileTypes/fileDefault.js +3 -1
  165. package/modules/FileTypes/fileImage/EditAction.js +3 -1
  166. package/modules/FileTypes/fileImage/index.js +3 -1
  167. package/modules/FileTypes/index.js +3 -1
  168. package/modules/Settings/graphql.js +4 -2
  169. package/modules/Settings/graphql.js.map +1 -1
  170. package/modules/Settings/index.js +3 -1
  171. package/modules/Settings/plugins/installation.js +3 -1
  172. package/modules/Settings/plugins/permissionRenderer/FileManagerPermissions.js +3 -1
  173. package/modules/Settings/plugins/permissionRenderer/index.js +3 -1
  174. package/modules/Settings/views/FileManagerSettings.js +3 -1
  175. package/package.json +17 -16
  176. package/tagsHelpers.js +3 -1
  177. package/types.js +3 -1
@@ -13,4 +13,6 @@ Object.keys(_UploadStatus).forEach(function (key) {
13
13
  return _UploadStatus[key];
14
14
  }
15
15
  });
16
- });
16
+ });
17
+
18
+ //# sourceMappingURL=index.js.map
@@ -54,4 +54,6 @@ var Icon = /*#__PURE__*/(0, _styled.default)("img", {
54
54
  label: "Icon",
55
55
  target: "ex8csln8"
56
56
  })("position:absolute;left:50%;top:50%;margin:-15px 0 0 -15px;fill:#fff;&.loading{width:75px;left:5px;top:5px;}");
57
- exports.Icon = Icon;
57
+ exports.Icon = Icon;
58
+
59
+ //# sourceMappingURL=styled.js.map
package/constants.js CHANGED
@@ -16,4 +16,6 @@ exports.FM_ACO_APP = FM_ACO_APP;
16
16
  var DEFAULT_SCOPE = "scope:";
17
17
  exports.DEFAULT_SCOPE = DEFAULT_SCOPE;
18
18
  var LOCAL_STORAGE_LATEST_VISITED_FOLDER = "webiny_fm_file_latest_visited_folder";
19
- exports.LOCAL_STORAGE_LATEST_VISITED_FOLDER = LOCAL_STORAGE_LATEST_VISITED_FOLDER;
19
+ exports.LOCAL_STORAGE_LATEST_VISITED_FOLDER = LOCAL_STORAGE_LATEST_VISITED_FOLDER;
20
+
21
+ //# sourceMappingURL=constants.js.map
@@ -26,4 +26,6 @@ var useFile = function useFile() {
26
26
  }
27
27
  return context;
28
28
  };
29
- exports.useFile = useFile;
29
+ exports.useFile = useFile;
30
+
31
+ //# sourceMappingURL=FileProvider.js.map
@@ -48,4 +48,6 @@ function getFileTypePlugin(file) {
48
48
 
49
49
  // return the plugin
50
50
  return byTypes[type];
51
- }
51
+ }
52
+
53
+ //# sourceMappingURL=getFileTypePlugin.js.map
@@ -27,4 +27,6 @@ var useCopyFile = function useCopyFile(_ref) {
27
27
  copyFileUrl: copyFileUrl
28
28
  };
29
29
  };
30
- exports.useCopyFile = useCopyFile;
30
+ exports.useCopyFile = useCopyFile;
31
+
32
+ //# sourceMappingURL=useCopyFile.js.map
@@ -65,4 +65,6 @@ var useDeleteFile = function useDeleteFile(_ref) {
65
65
  openDialogDeleteFile: openDialogDeleteFile
66
66
  };
67
67
  };
68
- exports.useDeleteFile = useDeleteFile;
68
+ exports.useDeleteFile = useDeleteFile;
69
+
70
+ //# sourceMappingURL=useDeleteFile.js.map
package/hooks/useFile.js CHANGED
@@ -14,4 +14,6 @@ var useFile = function useFile() {
14
14
  }
15
15
  return context;
16
16
  };
17
- exports.useFile = useFile;
17
+ exports.useFile = useFile;
18
+
19
+ //# sourceMappingURL=useFile.js.map
@@ -14,4 +14,6 @@ var useFileDetails = function useFileDetails() {
14
14
  }
15
15
  return context;
16
16
  };
17
- exports.useFileDetails = useFileDetails;
17
+ exports.useFileDetails = useFileDetails;
18
+
19
+ //# sourceMappingURL=useFileDetails.js.map
@@ -13,4 +13,6 @@ function useFileModel() {
13
13
  throw Error("Missing \"FileModelContext\" in the component tree!");
14
14
  }
15
15
  return context;
16
- }
16
+ }
17
+
18
+ //# sourceMappingURL=useFileModel.js.map
@@ -45,4 +45,6 @@ function useMoveFileToFolder(file) {
45
45
  }
46
46
  });
47
47
  }, [file.id]);
48
- }
48
+ }
49
+
50
+ //# sourceMappingURL=useMoveFileToFolder.js.map
package/index.js CHANGED
@@ -95,4 +95,6 @@ Object.keys(_FileManagerFileTypePlugin).forEach(function (key) {
95
95
  }
96
96
  });
97
97
  });
98
- var _FileManagerViewConfig = require("./modules/FileManagerRenderer/FileManagerView/FileManagerViewConfig");
98
+ var _FileManagerViewConfig = require("./modules/FileManagerRenderer/FileManagerView/FileManagerViewConfig");
99
+
100
+ //# sourceMappingURL=index.js.map
@@ -16,13 +16,13 @@ var _error = _interopRequireDefault(require("@webiny/error"));
16
16
  var _appSecurity = require("@webiny/app-security");
17
17
  var _graphql = require("../graphql");
18
18
  var _getFileUploader = require("./getFileUploader");
19
- var _createFieldsList = require("@webiny/app-headless-cms/admin/graphql/createFieldsList");
19
+ var _appHeadlessCmsCommon = require("@webiny/app-headless-cms-common");
20
20
  var _useFileModel = require("../../../hooks/useFileModel");
21
21
  var _omit = _interopRequireDefault(require("lodash/omit"));
22
22
  var FileManagerApiContext = /*#__PURE__*/_react.default.createContext(undefined);
23
23
  exports.FileManagerApiContext = FileManagerApiContext;
24
24
  var getModelFields = function getModelFields(model) {
25
- var fields = (0, _createFieldsList.createFieldsList)({
25
+ var fields = (0, _appHeadlessCmsCommon.createFieldsList)({
26
26
  model: model,
27
27
  fields: model.fields
28
28
  });
@@ -372,4 +372,6 @@ var FileManagerApiProvider = function FileManagerApiProvider(_ref) {
372
372
  value: value
373
373
  }, children);
374
374
  };
375
- exports.FileManagerApiProvider = FileManagerApiProvider;
375
+ exports.FileManagerApiProvider = FileManagerApiProvider;
376
+
377
+ //# sourceMappingURL=FileManagerApiContext.js.map
@@ -1 +1 @@
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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"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactHooks","_error","_interopRequireDefault","_appSecurity","_graphql","_getFileUploader","_appHeadlessCmsCommon","_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-common\";\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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"}
@@ -33,4 +33,6 @@ var FileModelProvider = function FileModelProvider(_ref) {
33
33
  value: model
34
34
  }, children);
35
35
  };
36
- exports.FileModelProvider = FileModelProvider;
36
+ exports.FileModelProvider = FileModelProvider;
37
+
38
+ //# sourceMappingURL=FileModelContext.js.map
@@ -12,4 +12,6 @@ var getFileUploader = function getFileUploader() {
12
12
  }
13
13
  return fileStoragePlugin;
14
14
  };
15
- exports.getFileUploader = getFileUploader;
15
+ exports.getFileUploader = getFileUploader;
16
+
17
+ //# sourceMappingURL=getFileUploader.js.map
@@ -16,4 +16,6 @@ Object.defineProperty(exports, "useFileManagerApi", {
16
16
  }
17
17
  });
18
18
  var _FileManagerApiContext = require("./FileManagerApiContext");
19
- var _useFileManagerApi = require("./useFileManagerApi");
19
+ var _useFileManagerApi = require("./useFileManagerApi");
20
+
21
+ //# sourceMappingURL=index.js.map
@@ -13,4 +13,6 @@ function useFileManagerApi() {
13
13
  throw new Error("useFileManager must be used within a FileManagerProvider");
14
14
  }
15
15
  return context;
16
- }
16
+ }
17
+
18
+ //# sourceMappingURL=useFileManagerApi.js.map
@@ -32,4 +32,6 @@ exports.DELETE_FILE = DELETE_FILE;
32
32
  var GET_FILE_SETTINGS = (0, _graphqlTag.default)(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2.default)(["\n query GetSettings {\n fileManager {\n getSettings {\n data {\n srcPrefix\n uploadMinFileSize\n uploadMaxFileSize\n }\n error ", "\n }\n }\n }\n"])), ERROR_FIELDS);
33
33
  exports.GET_FILE_SETTINGS = GET_FILE_SETTINGS;
34
34
  var GET_FILE_MODEL = (0, _graphqlTag.default)(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2.default)(["\n query GetFileModel {\n fileManager {\n getFileModel {\n data\n error ", "\n }\n }\n }\n"])), ERROR_FIELDS);
35
- exports.GET_FILE_MODEL = GET_FILE_MODEL;
35
+ exports.GET_FILE_MODEL = GET_FILE_MODEL;
36
+
37
+ //# sourceMappingURL=graphql.js.map
@@ -20,4 +20,6 @@ var FileManagerApiProviderModule = function FileManagerApiProviderModule() {
20
20
  providers: [fileManagerApiProvider]
21
21
  });
22
22
  };
23
- exports.FileManagerApiProviderModule = FileManagerApiProviderModule;
23
+ exports.FileManagerApiProviderModule = FileManagerApiProviderModule;
24
+
25
+ //# sourceMappingURL=index.js.map
@@ -18,23 +18,22 @@ var _reactHotkeyz = require("react-hotkeyz");
18
18
  var _mobxReactLite = require("mobx-react-lite");
19
19
  var _cloud_upload = require("@material-design-icons/svg/filled/cloud_upload.svg");
20
20
  var _add = require("@material-design-icons/svg/filled/add.svg");
21
- var _view_module = require("@material-design-icons/svg/outlined/view_module.svg");
22
- var _view_list = require("@material-design-icons/svg/outlined/view_list.svg");
23
21
  var _i18n = require("@webiny/app/i18n");
24
22
  var _appAco = require("@webiny/app-aco");
25
23
  var _appAdmin = require("@webiny/app-admin");
26
24
  var _Button = require("@webiny/ui/Button");
27
25
  var _Scrollbar = require("@webiny/ui/Scrollbar");
28
- var _Tooltip = require("@webiny/ui/Tooltip");
29
26
  var _FileManagerViewProvider = require("../FileManagerViewProvider");
30
27
  var _outputFileSelectionError = require("./outputFileSelectionError");
31
28
  var _LeftSidebar = require("./LeftSidebar");
32
29
  var _ = require("../../..");
33
30
  var _BottomInfoBar = require("../../../components/BottomInfoBar");
31
+ var _BulkActions = require("../../../components/BulkActions");
34
32
  var _DropFilesHere = require("../../../components/DropFilesHere");
35
33
  var _Empty = require("../../../components/Empty");
36
34
  var _FileDetails = require("../../../components/FileDetails");
37
35
  var _Grid = require("../../../components/Grid");
36
+ var _LayoutSwitch = require("../../../components/LayoutSwitch");
38
37
  var _Table = require("../../../components/Table");
39
38
  var _Title = require("../../../components/Title");
40
39
  var _UploadStatus = require("../../../components/UploadStatus");
@@ -42,13 +41,14 @@ var _BatchFileUploader = require("../../../BatchFileUploader");
42
41
  var _SearchWidget = require("./components/SearchWidget");
43
42
  var _Filters = require("./components/Filters");
44
43
  var _TagsList = require("./components/TagsList");
45
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7; // @ts-ignore
44
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5; // @ts-ignore
46
45
  var t = _i18n.i18n.ns("app-admin/file-manager/file-manager-view");
47
46
  var FileListWrapper = /*#__PURE__*/(0, _styled.default)("div", {
48
47
  target: "e46i7190",
49
48
  label: "FileListWrapper"
50
49
  })({
51
50
  float: "right",
51
+ zIndex: 60,
52
52
  display: "inline-block",
53
53
  width: "calc(100vw - 286px)",
54
54
  height: "calc(100vh - 94px)",
@@ -229,20 +229,36 @@ var FileManagerView = function FileManagerView() {
229
229
  });
230
230
  }
231
231
  if (view.listTable) {
232
- var onSelectRow = view.areFilesSelectable ? function (rows) {
233
- var files = rows.filter(function (row) {
232
+ var getSelectableRow = function getSelectableRow(rows) {
233
+ return rows.filter(function (row) {
234
234
  return row.$type === "RECORD";
235
235
  }).map(function (row) {
236
236
  return row.original;
237
237
  });
238
+ };
239
+ var onSelectRow = view.hasOnSelectCallback ? function (rows) {
240
+ var files = getSelectableRow(rows);
238
241
  if (view.multiple) {
239
242
  view.setSelected(files);
240
243
  } else {
241
244
  view.onChange(files[0]);
242
245
  }
243
- } : undefined;
246
+ } : function (rows) {
247
+ var files = getSelectableRow(rows);
248
+ view.setSelected(files);
249
+ };
250
+ var onToggleRow = view.hasOnSelectCallback ? function (row) {
251
+ var files = getSelectableRow([row]);
252
+ if (view.multiple) {
253
+ view.toggleSelected(files[0]);
254
+ } else {
255
+ view.onChange(files[0]);
256
+ }
257
+ } : function (row) {
258
+ var files = getSelectableRow([row]);
259
+ view.toggleSelected(files[0]);
260
+ };
244
261
  return /*#__PURE__*/_react.default.createElement(_Table.Table, {
245
- canSelectAllRows: view.multiple,
246
262
  folders: view.folders,
247
263
  records: view.files,
248
264
  selectedRecords: view.selected,
@@ -250,10 +266,10 @@ var FileManagerView = function FileManagerView() {
250
266
  onRecordClick: view.showFileDetails,
251
267
  onFolderClick: view.setFolderId,
252
268
  onSelectRow: onSelectRow,
269
+ onToggleRow: onToggleRow,
253
270
  sorting: tableSorting,
254
271
  onSortingChange: setTableSorting,
255
- settings: view.settings,
256
- selectableItems: view.areFilesSelectable
272
+ settings: view.settings
257
273
  });
258
274
  }
259
275
  return /*#__PURE__*/_react.default.createElement(_Grid.Grid, {
@@ -265,8 +281,10 @@ var FileManagerView = function FileManagerView() {
265
281
  selected: view.selected,
266
282
  multiple: view.multiple,
267
283
  toggleSelected: view.toggleSelected,
268
- onChange: view.areFilesSelectable ? view.onChange : undefined,
269
- onClose: view.onClose
284
+ deselectAll: view.deselectAll,
285
+ onChange: view.onChange,
286
+ onClose: view.onClose,
287
+ hasOnSelectCallback: view.hasOnSelectCallback
270
288
  });
271
289
  };
272
290
  var loadMoreOnScroll = (0, _react.useCallback)((0, _debounce.default)( /*#__PURE__*/function () {
@@ -301,7 +319,6 @@ var FileManagerView = function FileManagerView() {
301
319
  uploadFiles(filesToUpload);
302
320
  },
303
321
  onError: function onError(errors) {
304
- console.log("onError", errors);
305
322
  var message = (0, _outputFileSelectionError.outputFileSelectionError)(errors);
306
323
  showSnackbar(message);
307
324
  }
@@ -314,7 +331,7 @@ var FileManagerView = function FileManagerView() {
314
331
  title: view.listTitle
315
332
  }),
316
333
  barMiddle: /*#__PURE__*/_react.default.createElement(_SearchWidget.SearchWidget, null),
317
- barRight: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, view.selected.length > 0 ? /*#__PURE__*/_react.default.createElement(_Button.ButtonPrimary, {
334
+ barRight: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, view.hasOnSelectCallback && view.selected.length > 0 ? /*#__PURE__*/_react.default.createElement(_Button.ButtonPrimary, {
318
335
  flat: true,
319
336
  small: true,
320
337
  onClick: function onClick() {
@@ -331,17 +348,7 @@ var FileManagerView = function FileManagerView() {
331
348
  }
332
349
  }, /*#__PURE__*/_react.default.createElement(_Button.ButtonIcon, {
333
350
  icon: /*#__PURE__*/_react.default.createElement(_add.ReactComponent, null)
334
- }), t(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["New Folder"])))), /*#__PURE__*/_react.default.createElement(_Tooltip.Tooltip, {
335
- content: t(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2.default)(["{mode} layout"])))({
336
- mode: view.listTable ? "Grid" : "Table"
337
- }),
338
- placement: "bottom"
339
- }, /*#__PURE__*/_react.default.createElement(_Button.IconButton, {
340
- icon: view.listTable ? /*#__PURE__*/_react.default.createElement(_view_module.ReactComponent, null) : /*#__PURE__*/_react.default.createElement(_view_list.ReactComponent, null),
341
- onClick: function onClick() {
342
- return view.setListTable(!view.listTable);
343
- }
344
- }, t(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2.default)(["Switch"]))))))
351
+ }), t(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["New Folder"])))), /*#__PURE__*/_react.default.createElement(_LayoutSwitch.LayoutSwitch, null))
345
352
  }, /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_FileDetails.FileDetails, {
346
353
  loading: view.loadingFileDetails,
347
354
  file: currentFile,
@@ -356,19 +363,18 @@ var FileManagerView = function FileManagerView() {
356
363
  tags: view.tags.allTags,
357
364
  onActivatedTagsChange: view.tags.setActiveTags
358
365
  }) : null), /*#__PURE__*/_react.default.createElement(FileListWrapper, Object.assign({}, getDropZoneProps({
359
- onDragEnter: function onDragEnter() {
360
- return view.hasPreviouslyUploadedFiles && view.setDragging(true);
361
- }
362
- }), {
363
- "data-testid": "fm-list-wrapper"
364
- }), view.dragging && view.hasPreviouslyUploadedFiles && /*#__PURE__*/_react.default.createElement(_DropFilesHere.DropFilesHere, {
366
+ onDragOver: function onDragOver() {
367
+ return view.setDragging(true);
368
+ },
365
369
  onDragLeave: function onDragLeave() {
366
370
  return view.setDragging(false);
367
371
  },
368
372
  onDrop: function onDrop() {
369
373
  return view.setDragging(false);
370
374
  }
371
- }), /*#__PURE__*/_react.default.createElement(_Filters.Filters, null), /*#__PURE__*/_react.default.createElement(_Scrollbar.Scrollbar, {
375
+ }), {
376
+ "data-testid": "fm-list-wrapper"
377
+ }), view.dragging && /*#__PURE__*/_react.default.createElement(_DropFilesHere.DropFilesHere, null), /*#__PURE__*/_react.default.createElement(_BulkActions.BulkActions, null), /*#__PURE__*/_react.default.createElement(_Filters.Filters, null), /*#__PURE__*/_react.default.createElement(_Scrollbar.Scrollbar, {
372
378
  onScrollFrame: function onScrollFrame(scrollFrame) {
373
379
  return loadMoreOnScroll({
374
380
  scrollFrame: scrollFrame
@@ -388,4 +394,6 @@ var FileManagerView = function FileManagerView() {
388
394
  }));
389
395
  };
390
396
  var _default = (0, _mobxReactLite.observer)(FileManagerView);
391
- exports.default = _default;
397
+ exports.default = _default;
398
+
399
+ //# sourceMappingURL=FileManagerView.js.map