@webiny/app-admin 5.35.0 → 5.35.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 (94) hide show
  1. package/package.json +28 -28
  2. package/assets/images/icons.png +0 -0
  3. package/assets/images/icons_retina.png +0 -0
  4. package/assets/images/swich.png +0 -0
  5. package/components/FileManager/BottomInfoBar/SupportedFileTypes.d.ts +0 -6
  6. package/components/FileManager/BottomInfoBar/SupportedFileTypes.js +0 -55
  7. package/components/FileManager/BottomInfoBar/SupportedFileTypes.js.map +0 -1
  8. package/components/FileManager/BottomInfoBar/UploadStatus.d.ts +0 -6
  9. package/components/FileManager/BottomInfoBar/UploadStatus.js +0 -60
  10. package/components/FileManager/BottomInfoBar/UploadStatus.js.map +0 -1
  11. package/components/FileManager/BottomInfoBar.d.ts +0 -5
  12. package/components/FileManager/BottomInfoBar.js +0 -60
  13. package/components/FileManager/BottomInfoBar.js.map +0 -1
  14. package/components/FileManager/DropFilesHere.d.ts +0 -10
  15. package/components/FileManager/DropFilesHere.js +0 -76
  16. package/components/FileManager/DropFilesHere.js.map +0 -1
  17. package/components/FileManager/File.d.ts +0 -17
  18. package/components/FileManager/File.js +0 -155
  19. package/components/FileManager/File.js.map +0 -1
  20. package/components/FileManager/FileDetails/Name.d.ts +0 -8
  21. package/components/FileManager/FileDetails/Name.js +0 -138
  22. package/components/FileManager/FileDetails/Name.js.map +0 -1
  23. package/components/FileManager/FileDetails/Tags.d.ts +0 -10
  24. package/components/FileManager/FileDetails/Tags.js +0 -339
  25. package/components/FileManager/FileDetails/Tags.js.map +0 -1
  26. package/components/FileManager/FileDetails.d.ts +0 -24
  27. package/components/FileManager/FileDetails.js +0 -474
  28. package/components/FileManager/FileDetails.js.map +0 -1
  29. package/components/FileManager/FileManagerContext.d.ts +0 -42
  30. package/components/FileManager/FileManagerContext.js +0 -224
  31. package/components/FileManager/FileManagerContext.js.map +0 -1
  32. package/components/FileManager/FileManagerView.d.ts +0 -18
  33. package/components/FileManager/FileManagerView.js +0 -721
  34. package/components/FileManager/FileManagerView.js.map +0 -1
  35. package/components/FileManager/LeftSidebar.d.ts +0 -10
  36. package/components/FileManager/LeftSidebar.js +0 -127
  37. package/components/FileManager/LeftSidebar.js.map +0 -1
  38. package/components/FileManager/NoPermissionView.d.ts +0 -3
  39. package/components/FileManager/NoPermissionView.js +0 -87
  40. package/components/FileManager/NoPermissionView.js.map +0 -1
  41. package/components/FileManager/NoResults.d.ts +0 -3
  42. package/components/FileManager/NoResults.js +0 -28
  43. package/components/FileManager/NoResults.js.map +0 -1
  44. package/components/FileManager/getFileTypePlugin.d.ts +0 -4
  45. package/components/FileManager/getFileTypePlugin.js +0 -57
  46. package/components/FileManager/getFileTypePlugin.js.map +0 -1
  47. package/components/FileManager/getFileUploader.d.ts +0 -3
  48. package/components/FileManager/getFileUploader.js +0 -20
  49. package/components/FileManager/getFileUploader.js.map +0 -1
  50. package/components/FileManager/graphql.d.ts +0 -96
  51. package/components/FileManager/graphql.js +0 -58
  52. package/components/FileManager/graphql.js.map +0 -1
  53. package/components/FileManager/icons/content_copy-black-24px.svg +0 -1
  54. package/components/FileManager/icons/delete.svg +0 -12
  55. package/components/FileManager/icons/privacy_tip-24px.svg +0 -10
  56. package/components/FileManager/icons/round-check_box-24px.svg +0 -4
  57. package/components/FileManager/icons/round-check_box_outline_blank-24px.svg +0 -4
  58. package/components/FileManager/icons/round-cloud_download-24px.svg +0 -4
  59. package/components/FileManager/icons/round-cloud_upload-24px.svg +0 -4
  60. package/components/FileManager/icons/round-description-24px.svg +0 -4
  61. package/components/FileManager/icons/round-edit-24px.svg +0 -4
  62. package/components/FileManager/icons/round-info-24px.svg +0 -4
  63. package/components/FileManager/icons/round-label-24px.svg +0 -4
  64. package/components/FileManager/icons/round-more_vert-24px.svg +0 -4
  65. package/components/FileManager/icons/round-search-24px.svg +0 -20
  66. package/components/FileManager/outputFileSelectionError.d.ts +0 -7
  67. package/components/FileManager/outputFileSelectionError.js +0 -54
  68. package/components/FileManager/outputFileSelectionError.js.map +0 -1
  69. package/components/FileManager/types.d.ts +0 -21
  70. package/components/FileManager/types.js +0 -5
  71. package/components/FileManager/types.js.map +0 -1
  72. package/components/FileManager.d.ts +0 -67
  73. package/components/FileManager.js +0 -144
  74. package/components/FileManager.js.map +0 -1
  75. package/plugins/FileManagerFileTypePlugin.d.ts +0 -33
  76. package/plugins/FileManagerFileTypePlugin.js +0 -63
  77. package/plugins/FileManagerFileTypePlugin.js.map +0 -1
  78. package/plugins/fileManager/fileDefault.d.ts +0 -2
  79. package/plugins/fileManager/fileDefault.js +0 -34
  80. package/plugins/fileManager/fileDefault.js.map +0 -1
  81. package/plugins/fileManager/fileImage/DeleteAction.d.ts +0 -7
  82. package/plugins/fileManager/fileImage/DeleteAction.js +0 -83
  83. package/plugins/fileManager/fileImage/DeleteAction.js.map +0 -1
  84. package/plugins/fileManager/fileImage/EditAction.d.ts +0 -10
  85. package/plugins/fileManager/fileImage/EditAction.js +0 -179
  86. package/plugins/fileManager/fileImage/EditAction.js.map +0 -1
  87. package/plugins/fileManager/fileImage/index.d.ts +0 -2
  88. package/plugins/fileManager/fileImage/index.js +0 -46
  89. package/plugins/fileManager/fileImage/index.js.map +0 -1
  90. package/plugins/fileManager/icons/edit.svg +0 -17
  91. package/plugins/fileManager/icons/round-description-24px.svg +0 -1
  92. package/plugins/fileManager/index.d.ts +0 -2
  93. package/plugins/fileManager/index.js +0 -21
  94. package/plugins/fileManager/index.js.map +0 -1
@@ -1,721 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
-
5
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
6
-
7
- Object.defineProperty(exports, "__esModule", {
8
- value: true
9
- });
10
- exports.default = void 0;
11
-
12
- var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
-
14
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
-
16
- var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
17
-
18
- var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
19
-
20
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
21
-
22
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
23
-
24
- var _react = _interopRequireWildcard(require("react"));
25
-
26
- var _emotion = require("emotion");
27
-
28
- var _styled = _interopRequireDefault(require("@emotion/styled"));
29
-
30
- var _reactButterfiles = _interopRequireDefault(require("react-butterfiles"));
31
-
32
- var _Button = require("@webiny/ui/Button");
33
-
34
- var _Icon = require("@webiny/ui/Icon");
35
-
36
- var _File = _interopRequireDefault(require("./File"));
37
-
38
- var _reactHooks = require("@apollo/react-hooks");
39
-
40
- var _graphql = require("./graphql");
41
-
42
- var _getFileTypePlugin = _interopRequireDefault(require("./getFileTypePlugin"));
43
-
44
- var _get = _interopRequireDefault(require("lodash/get"));
45
-
46
- var _debounce = _interopRequireDefault(require("lodash/debounce"));
47
-
48
- var _getFileUploader = _interopRequireDefault(require("./getFileUploader"));
49
-
50
- var _outputFileSelectionError = require("./outputFileSelectionError");
51
-
52
- var _DropFilesHere = _interopRequireDefault(require("./DropFilesHere"));
53
-
54
- var _NoResults = _interopRequireDefault(require("./NoResults"));
55
-
56
- var _FileDetails = _interopRequireDefault(require("./FileDetails"));
57
-
58
- var _LeftSidebar = _interopRequireDefault(require("./LeftSidebar"));
59
-
60
- var _BottomInfoBar = _interopRequireDefault(require("./BottomInfoBar"));
61
-
62
- var _OverlayLayout = require("../OverlayLayout");
63
-
64
- var _useSnackbar2 = require("../../hooks/useSnackbar");
65
-
66
- var _Scrollbar = require("@webiny/ui/Scrollbar");
67
-
68
- var _Progress = require("@webiny/ui/Progress");
69
-
70
- var _i18n = require("@webiny/app/i18n");
71
-
72
- var _appSecurity = require("@webiny/app-security");
73
-
74
- var _reactHotkeyz = require("react-hotkeyz");
75
-
76
- var _FileManagerContext = require("./FileManagerContext");
77
-
78
- var _roundSearch24px = require("./icons/round-search-24px.svg");
79
-
80
- var _roundCloud_upload24px = require("./icons/round-cloud_upload-24px.svg");
81
-
82
- var _NoPermissionView = _interopRequireDefault(require("./NoPermissionView"));
83
-
84
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
85
-
86
- var t = _i18n.i18n.ns("app-admin/file-manager/file-manager-view");
87
-
88
- var style = {
89
- draggingFeedback: /*#__PURE__*/(0, _emotion.css)({
90
- position: "fixed",
91
- top: 0,
92
- left: 0,
93
- width: "100%",
94
- height: "100%",
95
- opacity: 0.5,
96
- background: "white",
97
- zIndex: 100
98
- }, "label:draggingFeedback;"),
99
- leftDrawer: {
100
- header: /*#__PURE__*/(0, _emotion.css)({
101
- textAlign: "center",
102
- fontSize: 18,
103
- padding: 10,
104
- fontWeight: 600,
105
- color: "var(--mdc-theme-on-surface)"
106
- }, "label:header;")
107
- }
108
- };
109
- var InputSearch = /*#__PURE__*/(0, _styled.default)("div", {
110
- target: "ee8m09m0",
111
- label: "InputSearch"
112
- })({
113
- backgroundColor: "var(--mdc-theme-on-background)",
114
- position: "relative",
115
- height: 32,
116
- padding: 3,
117
- width: "100%",
118
- borderRadius: 2,
119
- "> input": {
120
- border: "none",
121
- fontSize: 14,
122
- width: "calc(100% - 10px)",
123
- height: "100%",
124
- marginLeft: 50,
125
- backgroundColor: "transparent",
126
- outline: "none",
127
- color: "var(--mdc-theme-text-primary-on-background)"
128
- }
129
- });
130
- var searchIcon = /*#__PURE__*/(0, _emotion.css)({
131
- "&.mdc-button__icon": {
132
- color: "var(--mdc-theme-text-secondary-on-background)",
133
- position: "absolute",
134
- width: 24,
135
- height: 24,
136
- left: 15,
137
- top: 7
138
- }
139
- }, "label:searchIcon;");
140
- var FileListWrapper = /*#__PURE__*/(0, _styled.default)("div", {
141
- target: "ee8m09m1",
142
- label: "FileListWrapper"
143
- })({
144
- float: "right",
145
- display: "inline-block",
146
- width: "calc(100vw - 270px)",
147
- height: "100%"
148
- });
149
- var FileList = /*#__PURE__*/(0, _styled.default)("div", {
150
- target: "ee8m09m2",
151
- label: "FileList"
152
- })({
153
- width: "100%",
154
- display: "grid",
155
-
156
- /* define the number of grid columns */
157
- gridTemplateColumns: "repeat( auto-fill, minmax(220px, 1fr) )",
158
- marginBottom: 95
159
- });
160
-
161
- var renderFile = function renderFile(props) {
162
- var file = props.file;
163
- var plugin = (0, _getFileTypePlugin.default)(file);
164
-
165
- if (!plugin) {
166
- return null;
167
- }
168
-
169
- return /*#__PURE__*/_react.default.createElement(_File.default, Object.assign({}, props, {
170
- key: file.id
171
- }), plugin.render({
172
- /**
173
- * TODO @ts-refactor
174
- */
175
- // @ts-ignore
176
- file: file
177
- }));
178
- };
179
-
180
- var renderEmpty = function renderEmpty(_ref) {
181
- var hasPreviouslyUploadedFiles = _ref.hasPreviouslyUploadedFiles,
182
- browseFiles = _ref.browseFiles,
183
- fmFilePermission = _ref.fmFilePermission;
184
-
185
- if (!fmFilePermission) {
186
- return /*#__PURE__*/_react.default.createElement(_NoPermissionView.default, null);
187
- }
188
-
189
- if (hasPreviouslyUploadedFiles) {
190
- return /*#__PURE__*/_react.default.createElement(_NoResults.default, null);
191
- }
192
-
193
- return /*#__PURE__*/_react.default.createElement(_DropFilesHere.default, {
194
- empty: true,
195
- onClick: function onClick() {
196
- return browseFiles();
197
- }
198
- });
199
- };
200
-
201
- var FileManagerView = function FileManagerView(props) {
202
- var onClose = props.onClose,
203
- onChange = props.onChange,
204
- accept = props.accept,
205
- _props$multiple = props.multiple,
206
- multiple = _props$multiple === void 0 ? false : _props$multiple,
207
- onUploadCompletion = props.onUploadCompletion;
208
-
209
- var _useFileManager = (0, _FileManagerContext.useFileManager)(),
210
- selected = _useFileManager.selected,
211
- toggleSelected = _useFileManager.toggleSelected,
212
- dragging = _useFileManager.dragging,
213
- setDragging = _useFileManager.setDragging,
214
- uploading = _useFileManager.uploading,
215
- setUploading = _useFileManager.setUploading,
216
- _showFileDetails = _useFileManager.showFileDetails,
217
- showingFileDetails = _useFileManager.showingFileDetails,
218
- queryParams = _useFileManager.queryParams,
219
- setQueryParams = _useFileManager.setQueryParams,
220
- hasPreviouslyUploadedFiles = _useFileManager.hasPreviouslyUploadedFiles,
221
- setHasPreviouslyUploadedFiles = _useFileManager.setHasPreviouslyUploadedFiles;
222
-
223
- var _useSnackbar = (0, _useSnackbar2.useSnackbar)(),
224
- showSnackbar = _useSnackbar.showSnackbar;
225
-
226
- var _useSecurity = (0, _appSecurity.useSecurity)(),
227
- identity = _useSecurity.identity,
228
- getPermission = _useSecurity.getPermission;
229
-
230
- var fmFilePermission = (0, _react.useMemo)(function () {
231
- return getPermission("fm.file");
232
- }, [identity]);
233
- var canCreate = (0, _react.useMemo)(function () {
234
- // Bail out early if no access
235
- if (!fmFilePermission) {
236
- return false;
237
- }
238
-
239
- if (fmFilePermission.own) {
240
- return true;
241
- }
242
-
243
- if (typeof fmFilePermission.rwd === "string") {
244
- return fmFilePermission.rwd.includes("w");
245
- }
246
-
247
- return true;
248
- }, [fmFilePermission]);
249
- var canEdit = (0, _react.useCallback)(function (item) {
250
- // Bail out early if no access
251
- if (!fmFilePermission) {
252
- return false;
253
- }
254
-
255
- var creatorId = (0, _get.default)(item, "createdBy.id");
256
-
257
- if (fmFilePermission.own && creatorId) {
258
- var identityId = identity ? identity.id || identity.login : null;
259
- return creatorId === identityId;
260
- }
261
-
262
- if (typeof fmFilePermission.rwd === "string") {
263
- return fmFilePermission.rwd.includes("w");
264
- }
265
-
266
- return true;
267
- }, [fmFilePermission]);
268
- var searchOnChange = (0, _react.useCallback)( // @ts-ignore
269
- (0, _debounce.default)(function (search) {
270
- return setQueryParams({
271
- search: search
272
- });
273
- }, 500), []);
274
-
275
- var _toggleTag = (0, _react.useCallback)( /*#__PURE__*/function () {
276
- var _ref3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee(_ref2) {
277
- var tag, queryParams, finalTags;
278
- return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
279
- while (1) {
280
- switch (_context.prev = _context.next) {
281
- case 0:
282
- tag = _ref2.tag, queryParams = _ref2.queryParams;
283
- finalTags = Array.isArray(queryParams.tags) ? (0, _toConsumableArray2.default)(queryParams.tags) : [];
284
-
285
- if (finalTags.includes(tag)) {
286
- finalTags.splice(finalTags.indexOf(tag), 1);
287
- } else {
288
- finalTags.push(tag);
289
- }
290
-
291
- setQueryParams((0, _objectSpread2.default)((0, _objectSpread2.default)({}, queryParams), {}, {
292
- tags: finalTags
293
- }));
294
-
295
- case 4:
296
- case "end":
297
- return _context.stop();
298
- }
299
- }
300
- }, _callee);
301
- }));
302
-
303
- return function (_x) {
304
- return _ref3.apply(this, arguments);
305
- };
306
- }(), []);
307
-
308
- var getFileUploadErrorMessage = (0, _react.useCallback)(function (e) {
309
- if (typeof e === "string") {
310
- var match = e.match(/Message>(.*?)<\/Message/);
311
-
312
- if (match) {
313
- var _match = (0, _slicedToArray2.default)(match, 2),
314
- message = _match[1];
315
-
316
- return message;
317
- }
318
-
319
- return e;
320
- }
321
-
322
- return e.message;
323
- }, []);
324
-
325
- var updateCacheAfterCreateFile = function updateCacheAfterCreateFile(cache, newFile) {
326
- var _data$fileManager;
327
-
328
- var newFileData = (0, _get.default)(newFile, "data.fileManager.createFile.data");
329
- var data = cache.readQuery({
330
- query: _graphql.LIST_FILES,
331
- variables: queryParams
332
- });
333
- cache.writeQuery({
334
- query: _graphql.LIST_FILES,
335
- variables: queryParams,
336
- data: {
337
- fileManager: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, (data === null || data === void 0 ? void 0 : data.fileManager) || {}), {}, {
338
- listFiles: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, ((data === null || data === void 0 ? void 0 : data.fileManager) || {}).listFiles), {}, {
339
- data: [newFileData].concat((0, _toConsumableArray2.default)(((data === null || data === void 0 ? void 0 : (_data$fileManager = data.fileManager) === null || _data$fileManager === void 0 ? void 0 : _data$fileManager.listFiles) || {}).data || []))
340
- })
341
- })
342
- }
343
- });
344
- };
345
-
346
- var getFileDetailsFile = (0, _react.useCallback)(function (_ref4) {
347
- var src = _ref4.src,
348
- list = _ref4.list;
349
- return list.find(function (item) {
350
- return item.src === src;
351
- });
352
- }, []);
353
- (0, _reactHotkeyz.useHotkeys)({
354
- zIndex: 50,
355
- keys: {
356
- esc: onClose
357
- }
358
- });
359
- var searchInput = (0, _react.useRef)(null);
360
- var apolloClient = (0, _reactHooks.useApolloClient)();
361
- var gqlQuery = (0, _reactHooks.useQuery)(_graphql.LIST_FILES, {
362
- variables: queryParams,
363
- onCompleted: function onCompleted(response) {
364
- var list = (0, _get.default)(response, "fileManager.listFiles.data") || [];
365
-
366
- if (hasPreviouslyUploadedFiles === null) {
367
- setHasPreviouslyUploadedFiles(list.length > 0);
368
- }
369
- }
370
- });
371
- var refreshOnScroll = (0, _react.useCallback)((0, _debounce.default)(function (_ref5) {
372
- var scrollFrame = _ref5.scrollFrame,
373
- fetchMore = _ref5.fetchMore;
374
-
375
- if (scrollFrame.top > 0.9) {
376
- var cursor = (0, _get.default)(gqlQuery.data, "fileManager.listFiles.meta.cursor");
377
-
378
- if (cursor) {
379
- fetchMore({
380
- variables: {
381
- after: cursor
382
- },
383
- updateQuery: function updateQuery(prev, result) {
384
- var fetchMoreResult = result.fetchMoreResult;
385
-
386
- if (!fetchMoreResult) {
387
- return prev;
388
- }
389
-
390
- var next = (0, _objectSpread2.default)({}, fetchMoreResult);
391
- next.fileManager.listFiles.data = [].concat((0, _toConsumableArray2.default)(prev.fileManager.listFiles.data), (0, _toConsumableArray2.default)(fetchMoreResult.fileManager.listFiles.data));
392
- return next;
393
- }
394
- });
395
- }
396
- }
397
- }, 500), [gqlQuery]);
398
- var data = gqlQuery.data,
399
- fetchMore = gqlQuery.fetchMore,
400
- loading = gqlQuery.loading;
401
- var list = (0, _get.default)(data, "fileManager.listFiles.data") || [];
402
-
403
- var _useMutation = (0, _reactHooks.useMutation)(_graphql.CREATE_FILE, {
404
- update: updateCacheAfterCreateFile
405
- }),
406
- _useMutation2 = (0, _slicedToArray2.default)(_useMutation, 1),
407
- createFile = _useMutation2[0];
408
-
409
- var uploadFile = /*#__PURE__*/function () {
410
- var _ref6 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee3(files) {
411
- var list, errors, uploadedFiles;
412
- return (0, _regeneratorRuntime2.default)().wrap(function _callee3$(_context3) {
413
- while (1) {
414
- switch (_context3.prev = _context3.next) {
415
- case 0:
416
- setUploading(true);
417
- list = Array.isArray(files) ? files : [files];
418
- errors = [];
419
- uploadedFiles = [];
420
- _context3.next = 6;
421
- return Promise.all(list.map( /*#__PURE__*/function () {
422
- var _ref7 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee2(file) {
423
- var response, createFileResponse;
424
- return (0, _regeneratorRuntime2.default)().wrap(function _callee2$(_context2) {
425
- while (1) {
426
- switch (_context2.prev = _context2.next) {
427
- case 0:
428
- _context2.prev = 0;
429
- _context2.next = 3;
430
- return (0, _getFileUploader.default)()(file, {
431
- apolloClient: apolloClient
432
- });
433
-
434
- case 3:
435
- response = _context2.sent;
436
- _context2.next = 6;
437
- return createFile({
438
- variables: {
439
- data: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, response), {}, {
440
- tags: queryParams.scope ? [queryParams.scope] : []
441
- })
442
- }
443
- });
444
-
445
- case 6:
446
- createFileResponse = _context2.sent;
447
- // Save create file data for later
448
- uploadedFiles.push((0, _get.default)(createFileResponse, "data.fileManager.createFile.data"));
449
- _context2.next = 13;
450
- break;
451
-
452
- case 10:
453
- _context2.prev = 10;
454
- _context2.t0 = _context2["catch"](0);
455
- errors.push({
456
- file: file,
457
- e: _context2.t0
458
- });
459
-
460
- case 13:
461
- case "end":
462
- return _context2.stop();
463
- }
464
- }
465
- }, _callee2, null, [[0, 10]]);
466
- }));
467
-
468
- return function (_x3) {
469
- return _ref7.apply(this, arguments);
470
- };
471
- }()));
472
-
473
- case 6:
474
- if (!hasPreviouslyUploadedFiles) {
475
- setHasPreviouslyUploadedFiles(true);
476
- }
477
-
478
- setUploading(false);
479
-
480
- if (!(errors.length > 0)) {
481
- _context3.next = 10;
482
- break;
483
- }
484
-
485
- return _context3.abrupt("return", setTimeout(function () {
486
- showSnackbar( /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, t(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["One or more files were not uploaded successfully:"]))), /*#__PURE__*/_react.default.createElement("ol", null, errors.map(function (_ref8) {
487
- var file = _ref8.file,
488
- e = _ref8.e;
489
- return /*#__PURE__*/_react.default.createElement("li", {
490
- key: file.name
491
- }, /*#__PURE__*/_react.default.createElement("strong", null, file.name), ": ", getFileUploadErrorMessage(e));
492
- })))); // TODO @ts-refactor
493
- }, 750));
494
-
495
- case 10:
496
- // We wait 750ms, just for everything to settle down a bit.
497
- setTimeout(function () {
498
- return showSnackbar(t(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["File upload complete."]))));
499
- }, 750);
500
-
501
- if (!(typeof onUploadCompletion === "function")) {
502
- _context3.next = 13;
503
- break;
504
- }
505
-
506
- return _context3.abrupt("return", setTimeout(function () {
507
- onUploadCompletion(uploadedFiles);
508
- onClose && onClose(); // TODO @ts-refactor
509
- }, 750));
510
-
511
- case 13:
512
- return _context3.abrupt("return", null);
513
-
514
- case 14:
515
- case "end":
516
- return _context3.stop();
517
- }
518
- }
519
- }, _callee3);
520
- }));
521
-
522
- return function uploadFile(_x2) {
523
- return _ref6.apply(this, arguments);
524
- };
525
- }();
526
-
527
- var renderUploadFileAction = (0, _react.useCallback)(function (_ref9) {
528
- var browseFiles = _ref9.browseFiles;
529
-
530
- if (!canCreate) {
531
- return null;
532
- }
533
-
534
- return /*#__PURE__*/_react.default.createElement(_Button.ButtonPrimary, {
535
- onClick: browseFiles,
536
- disabled: uploading
537
- }, /*#__PURE__*/_react.default.createElement(_Button.ButtonIcon, {
538
- icon: /*#__PURE__*/_react.default.createElement(_roundCloud_upload24px.ReactComponent, null)
539
- }), t(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["Upload..."]))));
540
- }, [uploading, canCreate]);
541
- var settingsQuery = (0, _reactHooks.useQuery)(_graphql.GET_FILE_SETTINGS);
542
- var settings = (0, _get.default)(settingsQuery.data, "fileManager.getSettings.data") || {};
543
- return /*#__PURE__*/_react.default.createElement(_reactButterfiles.default, {
544
- multiple: true,
545
- maxSize: settings.uploadMaxFileSize ? settings.uploadMaxFileSize + "b" : "1TB",
546
- multipleMaxSize: "1TB",
547
- accept: accept,
548
- onSuccess: function onSuccess(files) {
549
- uploadFile(files.map(function (file) {
550
- return file.src.file;
551
- }).filter(Boolean));
552
- },
553
- onError: function onError(errors) {
554
- console.error("File selection error", errors);
555
- /**
556
- * TODO @ts-refactor
557
- * Figure out if incoming errors var is wrong or the one in the outputFileSelectionError
558
- */
559
- // @ts-ignore
560
-
561
- var message = (0, _outputFileSelectionError.outputFileSelectionError)(errors);
562
- showSnackbar(message);
563
- }
564
- }, function (_ref10) {
565
- var getDropZoneProps = _ref10.getDropZoneProps,
566
- browseFiles = _ref10.browseFiles,
567
- validateFiles = _ref10.validateFiles;
568
- return /*#__PURE__*/_react.default.createElement(_OverlayLayout.OverlayLayout, Object.assign({}, getDropZoneProps({
569
- onDragEnter: function onDragEnter() {
570
- return hasPreviouslyUploadedFiles && setDragging(true);
571
- },
572
- onExited: onClose
573
- }), {
574
- barLeft: /*#__PURE__*/_react.default.createElement(InputSearch, null, /*#__PURE__*/_react.default.createElement(_Icon.Icon, {
575
- className: searchIcon,
576
- icon: /*#__PURE__*/_react.default.createElement(_roundSearch24px.ReactComponent, null)
577
- }), /*#__PURE__*/_react.default.createElement("input", {
578
- ref: searchInput,
579
- onChange: function onChange(e) {
580
- return searchOnChange(e.target.value);
581
- },
582
- placeholder: t(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["Search by filename or tags"]))),
583
- disabled: !fmFilePermission,
584
- "data-testid": "file-manager.search-input"
585
- })),
586
- barRight: selected.length > 0 ? /*#__PURE__*/_react.default.createElement(_Button.ButtonPrimary, {
587
- disabled: uploading,
588
- onClick: function onClick() {
589
- (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee4() {
590
- return (0, _regeneratorRuntime2.default)().wrap(function _callee4$(_context4) {
591
- while (1) {
592
- switch (_context4.prev = _context4.next) {
593
- case 0:
594
- if (!(typeof onChange === "function")) {
595
- _context4.next = 4;
596
- break;
597
- }
598
-
599
- _context4.next = 3;
600
- return onChange(multiple ? selected : selected[0]);
601
-
602
- case 3:
603
- onClose && onClose();
604
-
605
- case 4:
606
- case "end":
607
- return _context4.stop();
608
- }
609
- }
610
- }, _callee4);
611
- }))();
612
- }
613
- }, t(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["Select"]))), " ", multiple && "(".concat(selected.length, ")")) : renderUploadFileAction({
614
- browseFiles: browseFiles
615
- })
616
- }), /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, dragging && hasPreviouslyUploadedFiles && /*#__PURE__*/_react.default.createElement(_DropFilesHere.default // @ts-ignore TODO: @adrian - className is never rendered?!
617
- , {
618
- className: style.draggingFeedback,
619
- onDragLeave: function onDragLeave() {
620
- return setDragging(false);
621
- },
622
- onDrop: function onDrop() {
623
- return setDragging(false);
624
- }
625
- }), /*#__PURE__*/_react.default.createElement(_FileDetails.default, {
626
- validateFiles: validateFiles,
627
- uploadFile: uploadFile,
628
- file: getFileDetailsFile({
629
- list: list,
630
- src: showingFileDetails
631
- }),
632
- canEdit: canEdit
633
- }), /*#__PURE__*/_react.default.createElement(_LeftSidebar.default, {
634
- queryParams: queryParams,
635
- toggleTag: function toggleTag(tag) {
636
- return _toggleTag({
637
- tag: tag,
638
- queryParams: queryParams
639
- });
640
- }
641
- }), /*#__PURE__*/_react.default.createElement(FileListWrapper, {
642
- "data-testid": "fm-list-wrapper"
643
- }, loading && /*#__PURE__*/_react.default.createElement(_Progress.CircularProgress, {
644
- label: t(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2.default)(["Loading Files..."]))),
645
- style: {
646
- opacity: 1
647
- }
648
- }), /*#__PURE__*/_react.default.createElement(_Scrollbar.Scrollbar, {
649
- onScrollFrame: function onScrollFrame(scrollFrame) {
650
- return refreshOnScroll({
651
- scrollFrame: scrollFrame,
652
- fetchMore: fetchMore
653
- });
654
- }
655
- }, /*#__PURE__*/_react.default.createElement(FileList, null, list.length ? list.map(function (file) {
656
- return renderFile({
657
- uploadFile: uploadFile,
658
- file: file,
659
- showFileDetails: function showFileDetails() {
660
- return _showFileDetails(file.src);
661
- },
662
- selected: selected.find(function (current) {
663
- return current.src === file.src;
664
- }),
665
- onSelect: function () {
666
- var _onSelect = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee5() {
667
- return (0, _regeneratorRuntime2.default)().wrap(function _callee5$(_context5) {
668
- while (1) {
669
- switch (_context5.prev = _context5.next) {
670
- case 0:
671
- if (!(typeof onChange === "function")) {
672
- _context5.next = 7;
673
- break;
674
- }
675
-
676
- if (!multiple) {
677
- _context5.next = 4;
678
- break;
679
- }
680
-
681
- toggleSelected(file);
682
- return _context5.abrupt("return");
683
-
684
- case 4:
685
- _context5.next = 6;
686
- return onChange(file);
687
-
688
- case 6:
689
- onClose && onClose();
690
-
691
- case 7:
692
- case "end":
693
- return _context5.stop();
694
- }
695
- }
696
- }, _callee5);
697
- }));
698
-
699
- function onSelect() {
700
- return _onSelect.apply(this, arguments);
701
- }
702
-
703
- return onSelect;
704
- }()
705
- });
706
- }) : renderEmpty({
707
- hasPreviouslyUploadedFiles: hasPreviouslyUploadedFiles,
708
- browseFiles: browseFiles,
709
- fmFilePermission: fmFilePermission
710
- }))), /*#__PURE__*/_react.default.createElement(_BottomInfoBar.default, {
711
- accept: accept,
712
- uploading: uploading
713
- }))));
714
- });
715
- };
716
-
717
- FileManagerView.defaultProps = {
718
- multiple: false
719
- };
720
- var _default = FileManagerView;
721
- exports.default = _default;