@webiny/app-file-manager 5.37.8 → 5.38.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (167) 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 +3 -1
  25. package/components/DropFilesHere/index.js +3 -1
  26. package/components/DropFilesHere/styled.js +3 -1
  27. package/components/Empty/Empty.js +3 -1
  28. package/components/Empty/index.js +3 -1
  29. package/components/FileDetails/FileDetails.js +5 -3
  30. package/components/FileDetails/FileDetails.js.map +1 -1
  31. package/components/FileDetails/FileDetailsProvider.js +3 -1
  32. package/components/FileDetails/components/Actions.js +3 -1
  33. package/components/FileDetails/components/Aliases.js +3 -1
  34. package/components/FileDetails/components/BaseFields.js +3 -1
  35. package/components/FileDetails/components/Content.js +3 -1
  36. package/components/FileDetails/components/CreatedOn.js +3 -1
  37. package/components/FileDetails/components/Extensions.js +3 -1
  38. package/components/FileDetails/components/Flex.js +3 -1
  39. package/components/FileDetails/components/Footer.js +3 -1
  40. package/components/FileDetails/components/Header.js +3 -1
  41. package/components/FileDetails/components/Name.js +3 -1
  42. package/components/FileDetails/components/Preview.js +3 -1
  43. package/components/FileDetails/components/PreviewMeta.js +3 -1
  44. package/components/FileDetails/components/Tags.js +3 -1
  45. package/components/FileDetails/components/Thumbnail.js +3 -1
  46. package/components/FileDetails/components/TypeAndSize.js +3 -1
  47. package/components/FileDetails/components/actions/CopyUrl.js +3 -1
  48. package/components/FileDetails/components/actions/DeleteImage.js +3 -1
  49. package/components/FileDetails/components/actions/Download.js +3 -1
  50. package/components/FileDetails/components/actions/MoveTo.js +3 -1
  51. package/components/FileDetails/index.js +3 -1
  52. package/components/Grid/File.js +3 -1
  53. package/components/Grid/Grid.d.ts +1 -0
  54. package/components/Grid/Grid.js +6 -3
  55. package/components/Grid/Grid.js.map +1 -1
  56. package/components/Grid/index.js +3 -1
  57. package/components/Grid/styled.js +3 -1
  58. package/components/LayoutSwitch/LayoutSwitch.d.ts +2 -0
  59. package/components/LayoutSwitch/LayoutSwitch.js +34 -0
  60. package/components/LayoutSwitch/LayoutSwitch.js.map +1 -0
  61. package/components/LayoutSwitch/index.d.ts +1 -0
  62. package/components/LayoutSwitch/index.js +18 -0
  63. package/components/LayoutSwitch/index.js.map +1 -0
  64. package/components/NoPermission/NoPermission.js +3 -1
  65. package/components/NoPermission/index.js +3 -1
  66. package/components/NoPermission/styled.js +3 -1
  67. package/components/NoResults/NoResults.js +3 -1
  68. package/components/NoResults/index.js +3 -1
  69. package/components/NoResults/styled.js +3 -1
  70. package/components/Table/FolderActionDelete.js +3 -1
  71. package/components/Table/FolderActionEdit.js +3 -1
  72. package/components/Table/FolderActionManagePermissions.d.ts +6 -0
  73. package/components/Table/FolderActionManagePermissions.js +27 -0
  74. package/components/Table/FolderActionManagePermissions.js.map +1 -0
  75. package/components/Table/Name.d.ts +5 -1
  76. package/components/Table/Name.js +12 -3
  77. package/components/Table/Name.js.map +1 -1
  78. package/components/Table/RecordActionCopy.js +3 -1
  79. package/components/Table/RecordActionDelete.js +5 -3
  80. package/components/Table/RecordActionDelete.js.map +1 -1
  81. package/components/Table/RecordActionEdit.js +3 -1
  82. package/components/Table/RecordActionMove.js +3 -1
  83. package/components/Table/Table.d.ts +10 -13
  84. package/components/Table/Table.js +54 -15
  85. package/components/Table/Table.js.map +1 -1
  86. package/components/Table/index.js +3 -1
  87. package/components/Table/styled.d.ts +0 -1
  88. package/components/Table/styled.js +3 -3
  89. package/components/Table/styled.js.map +1 -1
  90. package/components/Title/Title.js +3 -1
  91. package/components/Title/index.js +3 -1
  92. package/components/Title/styled.js +3 -1
  93. package/components/UploadStatus/UploadStatus.js +3 -1
  94. package/components/UploadStatus/index.js +3 -1
  95. package/components/UploadStatus/styled.js +3 -1
  96. package/constants.js +3 -1
  97. package/contexts/FileProvider.js +3 -1
  98. package/getFileTypePlugin.js +3 -1
  99. package/hooks/useCopyFile.js +3 -1
  100. package/hooks/useDeleteFile.js +3 -1
  101. package/hooks/useFile.js +3 -1
  102. package/hooks/useFileDetails.js +3 -1
  103. package/hooks/useFileModel.js +3 -1
  104. package/hooks/useMoveFileToFolder.js +3 -1
  105. package/index.js +3 -1
  106. package/modules/FileManagerApiProvider/FileManagerApiContext/FileManagerApiContext.js +5 -3
  107. package/modules/FileManagerApiProvider/FileManagerApiContext/FileManagerApiContext.js.map +1 -1
  108. package/modules/FileManagerApiProvider/FileManagerApiContext/FileModelContext.js +3 -1
  109. package/modules/FileManagerApiProvider/FileManagerApiContext/getFileUploader.js +3 -1
  110. package/modules/FileManagerApiProvider/FileManagerApiContext/index.js +3 -1
  111. package/modules/FileManagerApiProvider/FileManagerApiContext/useFileManagerApi.js +3 -1
  112. package/modules/FileManagerApiProvider/graphql.js +3 -1
  113. package/modules/FileManagerApiProvider/index.js +3 -1
  114. package/modules/FileManagerRenderer/FileManagerView/FileManagerView.js +22 -26
  115. package/modules/FileManagerRenderer/FileManagerView/FileManagerView.js.map +1 -1
  116. package/modules/FileManagerRenderer/FileManagerView/FileManagerViewConfig.d.ts +12 -0
  117. package/modules/FileManagerRenderer/FileManagerView/FileManagerViewConfig.js +4 -1
  118. package/modules/FileManagerRenderer/FileManagerView/FileManagerViewConfig.js.map +1 -1
  119. package/modules/FileManagerRenderer/FileManagerView/LeftSidebar.js +3 -1
  120. package/modules/FileManagerRenderer/FileManagerView/NavigateFolderProvider.js +3 -1
  121. package/modules/FileManagerRenderer/FileManagerView/components/Filters.js +3 -1
  122. package/modules/FileManagerRenderer/FileManagerView/components/SearchWidget.js +3 -1
  123. package/modules/FileManagerRenderer/FileManagerView/components/TagsList/Empty.js +3 -1
  124. package/modules/FileManagerRenderer/FileManagerView/components/TagsList/Tag.js +3 -1
  125. package/modules/FileManagerRenderer/FileManagerView/components/TagsList/TagsList.js +3 -1
  126. package/modules/FileManagerRenderer/FileManagerView/components/TagsList/index.js +3 -1
  127. package/modules/FileManagerRenderer/FileManagerView/components/TagsList/styled.js +3 -1
  128. package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/BulkAction.d.ts +26 -0
  129. package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/BulkAction.js +96 -0
  130. package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/BulkAction.js.map +1 -0
  131. package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/Filter.js +3 -1
  132. package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/FilterByTags.js +3 -1
  133. package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/FiltersToWhere.js +3 -1
  134. package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/index.d.ts +13 -0
  135. package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/index.js +5 -1
  136. package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/index.js.map +1 -1
  137. package/modules/FileManagerRenderer/FileManagerView/configComponents/FileDetails/Field.js +3 -1
  138. package/modules/FileManagerRenderer/FileManagerView/configComponents/FileDetails/FieldDecorator.js +3 -1
  139. package/modules/FileManagerRenderer/FileManagerView/configComponents/FileDetails/Width.js +3 -1
  140. package/modules/FileManagerRenderer/FileManagerView/configComponents/FileDetails/index.js +3 -1
  141. package/modules/FileManagerRenderer/FileManagerView/index.js +3 -1
  142. package/modules/FileManagerRenderer/FileManagerView/outputFileSelectionError.js +3 -1
  143. package/modules/FileManagerRenderer/FileManagerViewProvider/FileManagerViewContext.d.ts +1 -1
  144. package/modules/FileManagerRenderer/FileManagerViewProvider/FileManagerViewContext.js +5 -3
  145. package/modules/FileManagerRenderer/FileManagerViewProvider/FileManagerViewContext.js.map +1 -1
  146. package/modules/FileManagerRenderer/FileManagerViewProvider/index.js +3 -1
  147. package/modules/FileManagerRenderer/FileManagerViewProvider/state.js +3 -1
  148. package/modules/FileManagerRenderer/FileManagerViewProvider/useFileManagerView.js +3 -1
  149. package/modules/FileManagerRenderer/FileManagerViewProvider/useListFiles.js +3 -1
  150. package/modules/FileManagerRenderer/FileManagerViewProvider/useTags.js +3 -1
  151. package/modules/FileManagerRenderer/filters/FilterByType.js +3 -1
  152. package/modules/FileManagerRenderer/index.js +10 -1
  153. package/modules/FileManagerRenderer/index.js.map +1 -1
  154. package/modules/FileTypes/fileDefault.js +3 -1
  155. package/modules/FileTypes/fileImage/EditAction.js +3 -1
  156. package/modules/FileTypes/fileImage/index.js +3 -1
  157. package/modules/FileTypes/index.js +3 -1
  158. package/modules/Settings/graphql.js +4 -2
  159. package/modules/Settings/graphql.js.map +1 -1
  160. package/modules/Settings/index.js +3 -1
  161. package/modules/Settings/plugins/installation.js +3 -1
  162. package/modules/Settings/plugins/permissionRenderer/FileManagerPermissions.js +3 -1
  163. package/modules/Settings/plugins/permissionRenderer/index.js +3 -1
  164. package/modules/Settings/views/FileManagerSettings.js +3 -1
  165. package/package.json +17 -16
  166. package/tagsHelpers.js +3 -1
  167. package/types.js +3 -1
@@ -35,4 +35,6 @@ var TagListWrapper = /*#__PURE__*/(0, _styled.default)("div", {
35
35
  width: 110
36
36
  }
37
37
  });
38
- exports.TagListWrapper = TagListWrapper;
38
+ exports.TagListWrapper = TagListWrapper;
39
+
40
+ //# sourceMappingURL=styled.js.map
@@ -0,0 +1,26 @@
1
+ import React from "react";
2
+ import { CallbackParams } from "@webiny/app-admin";
3
+ import { FileItem } from "@webiny/app-admin/types";
4
+ export interface BulkActionConfig {
5
+ name: string;
6
+ element: React.ReactElement;
7
+ }
8
+ export interface BulkActionProps {
9
+ name: string;
10
+ remove?: boolean;
11
+ before?: string;
12
+ after?: string;
13
+ element: React.ReactElement;
14
+ }
15
+ export declare const BaseBulkAction: React.FC<BulkActionProps>;
16
+ export declare const BulkAction: React.FC<BulkActionProps> & {
17
+ useButtons: () => import("@webiny/app-admin/components/Buttons/useButtons").ButtonsProviderContext;
18
+ useWorker: () => {
19
+ items: FileItem[];
20
+ process: (callback: (items: FileItem[]) => void) => void;
21
+ processInSeries: (callback: ({ item, allItems, report }: CallbackParams<FileItem>) => Promise<void>, chunkSize?: number) => Promise<void>;
22
+ resetItems: () => void;
23
+ results: import("@webiny/app-admin").Result[];
24
+ };
25
+ useDialog: () => import("@webiny/app-admin").UseDialogWithReportResponse;
26
+ };
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.BulkAction = exports.BaseBulkAction = void 0;
9
+ var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
10
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
11
+ var _react = _interopRequireWildcard(require("react"));
12
+ var _appAdmin = require("@webiny/app-admin");
13
+ var _reactProperties = require("@webiny/react-properties");
14
+ var _FileManagerViewProvider = require("../../../FileManagerViewProvider");
15
+ var BaseBulkAction = function BaseBulkAction(_ref) {
16
+ var name = _ref.name,
17
+ _ref$after = _ref.after,
18
+ after = _ref$after === void 0 ? undefined : _ref$after,
19
+ _ref$before = _ref.before,
20
+ before = _ref$before === void 0 ? undefined : _ref$before,
21
+ _ref$remove = _ref.remove,
22
+ remove = _ref$remove === void 0 ? false : _ref$remove,
23
+ element = _ref.element;
24
+ var getId = (0, _reactProperties.useIdGenerator)("bulkAction");
25
+ var placeAfter = after !== undefined ? getId(after) : undefined;
26
+ var placeBefore = before !== undefined ? getId(before) : undefined;
27
+ return /*#__PURE__*/_react.default.createElement(_reactProperties.Property, {
28
+ id: "browser",
29
+ name: "browser"
30
+ }, /*#__PURE__*/_react.default.createElement(_reactProperties.Property, {
31
+ id: getId(name),
32
+ name: "bulkActions",
33
+ remove: remove,
34
+ array: true,
35
+ before: placeBefore,
36
+ after: placeAfter
37
+ }, /*#__PURE__*/_react.default.createElement(_reactProperties.Property, {
38
+ id: getId(name, "name"),
39
+ name: "name",
40
+ value: name
41
+ }), /*#__PURE__*/_react.default.createElement(_reactProperties.Property, {
42
+ id: getId(name, "element"),
43
+ name: "element",
44
+ value: element
45
+ })));
46
+ };
47
+ exports.BaseBulkAction = BaseBulkAction;
48
+ var useWorker = function useWorker() {
49
+ var _useFileManagerView = (0, _FileManagerViewProvider.useFileManagerView)(),
50
+ selected = _useFileManagerView.selected,
51
+ setSelected = _useFileManagerView.setSelected;
52
+ var _useRef = (0, _react.useRef)(new _appAdmin.Worker()),
53
+ worker = _useRef.current;
54
+ (0, _react.useEffect)(function () {
55
+ worker.items = selected;
56
+ }, [selected.length]);
57
+
58
+ // Reset selected items in both useFileManagerView and Worker
59
+ var resetItems = (0, _react.useCallback)(function () {
60
+ worker.items = [];
61
+ setSelected([]);
62
+ }, []);
63
+ return {
64
+ items: selected,
65
+ process: function process(callback) {
66
+ return worker.process(callback);
67
+ },
68
+ processInSeries: function () {
69
+ var _processInSeries = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee(callback, chunkSize) {
70
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
71
+ while (1) switch (_context.prev = _context.next) {
72
+ case 0:
73
+ return _context.abrupt("return", worker.processInSeries(callback, chunkSize));
74
+ case 1:
75
+ case "end":
76
+ return _context.stop();
77
+ }
78
+ }, _callee);
79
+ }));
80
+ function processInSeries(_x, _x2) {
81
+ return _processInSeries.apply(this, arguments);
82
+ }
83
+ return processInSeries;
84
+ }(),
85
+ resetItems: resetItems,
86
+ results: worker.results
87
+ };
88
+ };
89
+ var BulkAction = Object.assign(BaseBulkAction, {
90
+ useButtons: _appAdmin.useButtons,
91
+ useWorker: useWorker,
92
+ useDialog: _appAdmin.useDialogWithReport
93
+ });
94
+ exports.BulkAction = BulkAction;
95
+
96
+ //# sourceMappingURL=BulkAction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_appAdmin","_reactProperties","_FileManagerViewProvider","BaseBulkAction","_ref","name","_ref$after","after","undefined","_ref$before","before","_ref$remove","remove","element","getId","useIdGenerator","placeAfter","placeBefore","default","createElement","Property","id","array","value","exports","useWorker","_useFileManagerView","useFileManagerView","selected","setSelected","_useRef","useRef","Worker","worker","current","useEffect","items","length","resetItems","useCallback","process","callback","processInSeries","_processInSeries","_asyncToGenerator2","_regeneratorRuntime2","mark","_callee","chunkSize","wrap","_callee$","_context","prev","next","abrupt","stop","_x","_x2","apply","arguments","results","BulkAction","Object","assign","useButtons","useDialog","useDialogWithReport"],"sources":["BulkAction.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef } from \"react\";\nimport { CallbackParams, useButtons, useDialogWithReport, Worker } from \"@webiny/app-admin\";\nimport { Property, useIdGenerator } from \"@webiny/react-properties\";\nimport { useFileManagerView } from \"~/modules/FileManagerRenderer/FileManagerViewProvider\";\nimport { FileItem } from \"@webiny/app-admin/types\";\n\nexport interface BulkActionConfig {\n name: string;\n element: React.ReactElement;\n}\n\nexport interface BulkActionProps {\n name: string;\n remove?: boolean;\n before?: string;\n after?: string;\n element: React.ReactElement;\n}\n\nexport const BaseBulkAction: React.FC<BulkActionProps> = ({\n name,\n after = undefined,\n before = undefined,\n remove = false,\n element\n}) => {\n const getId = useIdGenerator(\"bulkAction\");\n\n const placeAfter = after !== undefined ? getId(after) : undefined;\n const placeBefore = before !== undefined ? getId(before) : undefined;\n\n return (\n <Property id=\"browser\" name={\"browser\"}>\n <Property\n id={getId(name)}\n name={\"bulkActions\"}\n remove={remove}\n array={true}\n before={placeBefore}\n after={placeAfter}\n >\n <Property id={getId(name, \"name\")} name={\"name\"} value={name} />\n <Property id={getId(name, \"element\")} name={\"element\"} value={element} />\n </Property>\n </Property>\n );\n};\n\nconst useWorker = () => {\n const { selected, setSelected } = useFileManagerView();\n const { current: worker } = useRef(new Worker<FileItem>());\n\n useEffect(() => {\n worker.items = selected;\n }, [selected.length]);\n\n // Reset selected items in both useFileManagerView and Worker\n const resetItems = useCallback(() => {\n worker.items = [];\n setSelected([]);\n }, []);\n\n return {\n items: selected,\n process: (callback: (items: FileItem[]) => void) => worker.process(callback),\n processInSeries: async (\n callback: ({ item, allItems, report }: CallbackParams<FileItem>) => Promise<void>,\n chunkSize?: number\n ) => worker.processInSeries(callback, chunkSize),\n resetItems: resetItems,\n results: worker.results\n };\n};\n\nexport const BulkAction = Object.assign(BaseBulkAction, {\n useButtons,\n useWorker,\n useDialog: useDialogWithReport\n});\n"],"mappings":"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"}
@@ -49,4 +49,6 @@ var createDecorator = (0, _appAdmin.createDecoratorFactory)()(BaseFilter, functi
49
49
  var Filter = Object.assign(BaseFilter, {
50
50
  createDecorator: createDecorator
51
51
  });
52
- exports.Filter = Filter;
52
+ exports.Filter = Filter;
53
+
54
+ //# sourceMappingURL=Filter.js.map
@@ -19,4 +19,6 @@ var FilterByTags = function FilterByTags(_ref) {
19
19
  remove: remove
20
20
  }));
21
21
  };
22
- exports.FilterByTags = FilterByTags;
22
+ exports.FilterByTags = FilterByTags;
23
+
24
+ //# sourceMappingURL=FilterByTags.js.map
@@ -18,4 +18,6 @@ var FiltersToWhere = function FiltersToWhere(_ref) {
18
18
  value: converter
19
19
  }));
20
20
  };
21
- exports.FiltersToWhere = FiltersToWhere;
21
+ exports.FiltersToWhere = FiltersToWhere;
22
+
23
+ //# sourceMappingURL=FiltersToWhere.js.map
@@ -1,12 +1,25 @@
1
1
  /// <reference types="react" />
2
+ import { BulkActionConfig } from "./BulkAction";
2
3
  import { FilterConfig } from "./Filter";
3
4
  import { FiltersToWhereConverter } from "./FiltersToWhere";
4
5
  export interface BrowserConfig {
6
+ bulkActions: BulkActionConfig[];
5
7
  filters: FilterConfig[];
6
8
  filtersToWhere: FiltersToWhereConverter[];
7
9
  filterByTags: Boolean;
8
10
  }
9
11
  export declare const Browser: {
12
+ BulkAction: import("react").FC<import("./BulkAction").BulkActionProps> & {
13
+ useButtons: () => import("@webiny/app-admin/components/Buttons/useButtons").ButtonsProviderContext;
14
+ useWorker: () => {
15
+ items: import("@webiny/app-admin/types").FileItem[];
16
+ process: (callback: (items: import("@webiny/app-admin/types").FileItem[]) => void) => void;
17
+ processInSeries: (callback: ({ item, allItems, report }: import("@webiny/app-admin").CallbackParams<import("@webiny/app-admin/types").FileItem>) => Promise<void>, chunkSize?: number | undefined) => Promise<void>;
18
+ resetItems: () => void;
19
+ results: import("@webiny/app-admin").Result[];
20
+ };
21
+ useDialog: () => import("@webiny/app-admin").UseDialogWithReportResponse;
22
+ };
10
23
  Filter: import("@webiny/react-composition").ComposableFC<import("./Filter").FilterProps> & {
11
24
  createDecorator: (decorator: import("@webiny/react-composition").Decorator<import("./Filter").FilterProps>) => (props: {
12
25
  name: string;
@@ -4,12 +4,16 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.Browser = void 0;
7
+ var _BulkAction = require("./BulkAction");
7
8
  var _Filter = require("./Filter");
8
9
  var _FiltersToWhere = require("./FiltersToWhere");
9
10
  var _FilterByTags = require("./FilterByTags");
10
11
  var Browser = {
12
+ BulkAction: _BulkAction.BulkAction,
11
13
  Filter: _Filter.Filter,
12
14
  FiltersToWhere: _FiltersToWhere.FiltersToWhere,
13
15
  FilterByTags: _FilterByTags.FilterByTags
14
16
  };
15
- exports.Browser = Browser;
17
+ exports.Browser = Browser;
18
+
19
+ //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_Filter","require","_FiltersToWhere","_FilterByTags","Browser","Filter","FiltersToWhere","FilterByTags","exports"],"sources":["index.ts"],"sourcesContent":["import { Filter, FilterConfig } from \"./Filter\";\nimport { FiltersToWhere, FiltersToWhereConverter } from \"./FiltersToWhere\";\nimport { FilterByTags } from \"./FilterByTags\";\n\nexport interface BrowserConfig {\n filters: FilterConfig[];\n filtersToWhere: FiltersToWhereConverter[];\n filterByTags: Boolean;\n}\n\nexport const Browser = {\n Filter,\n FiltersToWhere,\n FilterByTags\n};\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,eAAA,GAAAD,OAAA;AACA,IAAAE,aAAA,GAAAF,OAAA;AAQO,IAAMG,OAAO,GAAG;EACnBC,MAAM,EAANA,cAAM;EACNC,cAAc,EAAdA,8BAAc;EACdC,YAAY,EAAZA;AACJ,CAAC;AAACC,OAAA,CAAAJ,OAAA,GAAAA,OAAA"}
1
+ {"version":3,"names":["_BulkAction","require","_Filter","_FiltersToWhere","_FilterByTags","Browser","BulkAction","Filter","FiltersToWhere","FilterByTags","exports"],"sources":["index.ts"],"sourcesContent":["import { BulkAction, BulkActionConfig } from \"./BulkAction\";\nimport { Filter, FilterConfig } from \"./Filter\";\nimport { FiltersToWhere, FiltersToWhereConverter } from \"./FiltersToWhere\";\nimport { FilterByTags } from \"./FilterByTags\";\n\nexport interface BrowserConfig {\n bulkActions: BulkActionConfig[];\n filters: FilterConfig[];\n filtersToWhere: FiltersToWhereConverter[];\n filterByTags: Boolean;\n}\n\nexport const Browser = {\n BulkAction,\n Filter,\n FiltersToWhere,\n FilterByTags\n};\n"],"mappings":";;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,eAAA,GAAAF,OAAA;AACA,IAAAG,aAAA,GAAAH,OAAA;AASO,IAAMI,OAAO,GAAG;EACnBC,UAAU,EAAVA,sBAAU;EACVC,MAAM,EAANA,cAAM;EACNC,cAAc,EAAdA,8BAAc;EACdC,YAAY,EAAZA;AACJ,CAAC;AAACC,OAAA,CAAAL,OAAA,GAAAA,OAAA"}
@@ -49,4 +49,6 @@ var createDecorator = (0, _appAdmin.createDecoratorFactory)()(BaseField, functio
49
49
  var Field = Object.assign(BaseField, {
50
50
  createDecorator: createDecorator
51
51
  });
52
- exports.Field = Field;
52
+ exports.Field = Field;
53
+
54
+ //# sourceMappingURL=Field.js.map
@@ -29,4 +29,6 @@ var createScopedFieldDecorator = function createScopedFieldDecorator() {
29
29
  };
30
30
  };
31
31
  };
32
- exports.createScopedFieldDecorator = createScopedFieldDecorator;
32
+ exports.createScopedFieldDecorator = createScopedFieldDecorator;
33
+
34
+ //# sourceMappingURL=FieldDecorator.js.map
@@ -18,4 +18,6 @@ var Width = function Width(_ref) {
18
18
  value: value
19
19
  }));
20
20
  };
21
- exports.Width = Width;
21
+ exports.Width = Width;
22
+
23
+ //# sourceMappingURL=Width.js.map
@@ -14,4 +14,6 @@ var FileDetails = {
14
14
  createDecorator: (0, _FieldDecorator.createScopedFieldDecorator)("fm.fileDetails.extensionFields")
15
15
  }
16
16
  };
17
- exports.FileDetails = FileDetails;
17
+ exports.FileDetails = FileDetails;
18
+
19
+ //# sourceMappingURL=index.js.map
@@ -69,4 +69,6 @@ var FileManagerRenderer = (0, _appAdmin.createComponentPlugin)(_appAdmin.FileMan
69
69
  }, /*#__PURE__*/_react.default.createElement(_NavigateFolderProvider.NavigateFolderProvider, null, /*#__PURE__*/_react.default.createElement(_appAco.DialogsProvider, null, /*#__PURE__*/_react.default.createElement(_FileManagerViewProvider.FileManagerViewProvider, viewProps, /*#__PURE__*/_react.default.createElement(_FileManagerViewConfig.FileManagerViewWithConfig, null, /*#__PURE__*/_react.default.createElement(_FileManagerView.default, null))))));
70
70
  };
71
71
  });
72
- exports.FileManagerRenderer = FileManagerRenderer;
72
+ exports.FileManagerRenderer = FileManagerRenderer;
73
+
74
+ //# sourceMappingURL=index.js.map
@@ -37,4 +37,6 @@ var outputFileSelectionError = function outputFileSelectionError(errors) {
37
37
  return null;
38
38
  }
39
39
  };
40
- exports.outputFileSelectionError = outputFileSelectionError;
40
+ exports.outputFileSelectionError = outputFileSelectionError;
41
+
42
+ //# sourceMappingURL=outputFileSelectionError.js.map
@@ -18,7 +18,7 @@ export interface FileManagerViewContext<TFileItem extends FileItem = FileItem> e
18
18
  hideFilters: () => void;
19
19
  isListLoading: boolean;
20
20
  isListLoadingMore: boolean;
21
- areFilesSelectable: boolean;
21
+ hasOnSelectCallback: boolean;
22
22
  listTitle: string;
23
23
  loadMoreFiles: () => void;
24
24
  meta: ListMeta | undefined;
@@ -459,7 +459,7 @@ var FileManagerViewProvider = function FileManagerViewProvider(_ref) {
459
459
  };
460
460
  var context = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, (0, _omit.default)(state, ["activeTags"])), {}, {
461
461
  accept: props.accept,
462
- areFilesSelectable: Boolean(props.onChange),
462
+ hasOnSelectCallback: Boolean(props.onChange),
463
463
  createFile: createFile,
464
464
  deleteFile: deleteFile,
465
465
  files: files,
@@ -599,7 +599,7 @@ var FileManagerViewProvider = function FileManagerViewProvider(_ref) {
599
599
  var existingIndex = state.selected.findIndex(function (item) {
600
600
  return item.id === file.id;
601
601
  });
602
- var selected = state.selected;
602
+ var selected = (0, _toConsumableArray2.default)(state.selected);
603
603
  if (existingIndex < 0) {
604
604
  selected.push(file);
605
605
  } else {
@@ -617,4 +617,6 @@ var FileManagerViewProvider = function FileManagerViewProvider(_ref) {
617
617
  value: context
618
618
  }, children);
619
619
  };
620
- exports.FileManagerViewProvider = FileManagerViewProvider;
620
+ exports.FileManagerViewProvider = FileManagerViewProvider;
621
+
622
+ //# sourceMappingURL=FileManagerViewContext.js.map
@@ -1 +1 @@
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
+ {"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","hasOnSelectCallback","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 hasOnSelectCallback: 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 hasOnSelectCallback: 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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"}
@@ -24,4 +24,6 @@ Object.keys(_FileManagerViewContext).forEach(function (key) {
24
24
  return _FileManagerViewContext[key];
25
25
  }
26
26
  });
27
- });
27
+ });
28
+
29
+ //# sourceMappingURL=index.js.map
@@ -36,4 +36,6 @@ var initializeState = function initializeState() {
36
36
  tagsFilterMode: "OR"
37
37
  };
38
38
  };
39
- exports.initializeState = initializeState;
39
+ exports.initializeState = initializeState;
40
+
41
+ //# sourceMappingURL=state.js.map
@@ -12,4 +12,6 @@ function useFileManagerView() {
12
12
  throw new Error("useFileManagerView() must be used within a FileManagerViewProvider");
13
13
  }
14
14
  return context;
15
- }
15
+ }
16
+
17
+ //# sourceMappingURL=useFileManagerView.js.map
@@ -171,4 +171,6 @@ function useListFiles(_ref) {
171
171
  listFiles: listFiles,
172
172
  getListVariables: getListVariables
173
173
  };
174
- }
174
+ }
175
+
176
+ //# sourceMappingURL=useListFiles.js.map
@@ -97,4 +97,6 @@ var useTags = function useTags(_ref) {
97
97
  addTags: addTags
98
98
  };
99
99
  };
100
- exports.useTags = useTags;
100
+ exports.useTags = useTags;
101
+
102
+ //# sourceMappingURL=useTags.js.map
@@ -35,4 +35,6 @@ var FilterByType = function FilterByType() {
35
35
  size: "medium"
36
36
  }));
37
37
  };
38
- exports.FilterByType = FilterByType;
38
+ exports.FilterByType = FilterByType;
39
+
40
+ //# sourceMappingURL=FilterByType.js.map
@@ -9,6 +9,7 @@ var _react = _interopRequireDefault(require("react"));
9
9
  var _ = require("../..");
10
10
  var _FileManagerView = require("./FileManagerView");
11
11
  var _FilterByType = require("./filters/FilterByType");
12
+ var _BulkActions = require("../../components/BulkActions");
12
13
  var _Name = require("../../components/FileDetails/components/Name");
13
14
  var _Tags = require("../../components/FileDetails/components/Tags");
14
15
  var _Aliases = require("../../components/FileDetails/components/Aliases");
@@ -18,6 +19,12 @@ var FileManagerRendererModule = function FileManagerRendererModule() {
18
19
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_FileManagerView.FileManagerRenderer, null), /*#__PURE__*/_react.default.createElement(_.FileManagerViewConfig, null, /*#__PURE__*/_react.default.createElement(Browser.FilterByTags, null), /*#__PURE__*/_react.default.createElement(Browser.Filter, {
19
20
  name: "type",
20
21
  element: /*#__PURE__*/_react.default.createElement(_FilterByType.FilterByType, null)
22
+ }), /*#__PURE__*/_react.default.createElement(Browser.BulkAction, {
23
+ name: "move",
24
+ element: /*#__PURE__*/_react.default.createElement(_BulkActions.ActionMove, null)
25
+ }), /*#__PURE__*/_react.default.createElement(Browser.BulkAction, {
26
+ name: "delete",
27
+ element: /*#__PURE__*/_react.default.createElement(_BulkActions.ActionDelete, null)
21
28
  }), /*#__PURE__*/_react.default.createElement(FileDetails.Field, {
22
29
  name: "name",
23
30
  element: /*#__PURE__*/_react.default.createElement(_Name.Name, null)
@@ -29,4 +36,6 @@ var FileManagerRendererModule = function FileManagerRendererModule() {
29
36
  element: /*#__PURE__*/_react.default.createElement(_Aliases.Aliases, null)
30
37
  })));
31
38
  };
32
- exports.FileManagerRendererModule = FileManagerRendererModule;
39
+ exports.FileManagerRendererModule = FileManagerRendererModule;
40
+
41
+ //# sourceMappingURL=index.js.map