@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.
- package/package.json +28 -28
- package/assets/images/icons.png +0 -0
- package/assets/images/icons_retina.png +0 -0
- package/assets/images/swich.png +0 -0
- package/components/FileManager/BottomInfoBar/SupportedFileTypes.d.ts +0 -6
- package/components/FileManager/BottomInfoBar/SupportedFileTypes.js +0 -55
- package/components/FileManager/BottomInfoBar/SupportedFileTypes.js.map +0 -1
- package/components/FileManager/BottomInfoBar/UploadStatus.d.ts +0 -6
- package/components/FileManager/BottomInfoBar/UploadStatus.js +0 -60
- package/components/FileManager/BottomInfoBar/UploadStatus.js.map +0 -1
- package/components/FileManager/BottomInfoBar.d.ts +0 -5
- package/components/FileManager/BottomInfoBar.js +0 -60
- package/components/FileManager/BottomInfoBar.js.map +0 -1
- package/components/FileManager/DropFilesHere.d.ts +0 -10
- package/components/FileManager/DropFilesHere.js +0 -76
- package/components/FileManager/DropFilesHere.js.map +0 -1
- package/components/FileManager/File.d.ts +0 -17
- package/components/FileManager/File.js +0 -155
- package/components/FileManager/File.js.map +0 -1
- package/components/FileManager/FileDetails/Name.d.ts +0 -8
- package/components/FileManager/FileDetails/Name.js +0 -138
- package/components/FileManager/FileDetails/Name.js.map +0 -1
- package/components/FileManager/FileDetails/Tags.d.ts +0 -10
- package/components/FileManager/FileDetails/Tags.js +0 -339
- package/components/FileManager/FileDetails/Tags.js.map +0 -1
- package/components/FileManager/FileDetails.d.ts +0 -24
- package/components/FileManager/FileDetails.js +0 -474
- package/components/FileManager/FileDetails.js.map +0 -1
- package/components/FileManager/FileManagerContext.d.ts +0 -42
- package/components/FileManager/FileManagerContext.js +0 -224
- package/components/FileManager/FileManagerContext.js.map +0 -1
- package/components/FileManager/FileManagerView.d.ts +0 -18
- package/components/FileManager/FileManagerView.js +0 -721
- package/components/FileManager/FileManagerView.js.map +0 -1
- package/components/FileManager/LeftSidebar.d.ts +0 -10
- package/components/FileManager/LeftSidebar.js +0 -127
- package/components/FileManager/LeftSidebar.js.map +0 -1
- package/components/FileManager/NoPermissionView.d.ts +0 -3
- package/components/FileManager/NoPermissionView.js +0 -87
- package/components/FileManager/NoPermissionView.js.map +0 -1
- package/components/FileManager/NoResults.d.ts +0 -3
- package/components/FileManager/NoResults.js +0 -28
- package/components/FileManager/NoResults.js.map +0 -1
- package/components/FileManager/getFileTypePlugin.d.ts +0 -4
- package/components/FileManager/getFileTypePlugin.js +0 -57
- package/components/FileManager/getFileTypePlugin.js.map +0 -1
- package/components/FileManager/getFileUploader.d.ts +0 -3
- package/components/FileManager/getFileUploader.js +0 -20
- package/components/FileManager/getFileUploader.js.map +0 -1
- package/components/FileManager/graphql.d.ts +0 -96
- package/components/FileManager/graphql.js +0 -58
- package/components/FileManager/graphql.js.map +0 -1
- package/components/FileManager/icons/content_copy-black-24px.svg +0 -1
- package/components/FileManager/icons/delete.svg +0 -12
- package/components/FileManager/icons/privacy_tip-24px.svg +0 -10
- package/components/FileManager/icons/round-check_box-24px.svg +0 -4
- package/components/FileManager/icons/round-check_box_outline_blank-24px.svg +0 -4
- package/components/FileManager/icons/round-cloud_download-24px.svg +0 -4
- package/components/FileManager/icons/round-cloud_upload-24px.svg +0 -4
- package/components/FileManager/icons/round-description-24px.svg +0 -4
- package/components/FileManager/icons/round-edit-24px.svg +0 -4
- package/components/FileManager/icons/round-info-24px.svg +0 -4
- package/components/FileManager/icons/round-label-24px.svg +0 -4
- package/components/FileManager/icons/round-more_vert-24px.svg +0 -4
- package/components/FileManager/icons/round-search-24px.svg +0 -20
- package/components/FileManager/outputFileSelectionError.d.ts +0 -7
- package/components/FileManager/outputFileSelectionError.js +0 -54
- package/components/FileManager/outputFileSelectionError.js.map +0 -1
- package/components/FileManager/types.d.ts +0 -21
- package/components/FileManager/types.js +0 -5
- package/components/FileManager/types.js.map +0 -1
- package/components/FileManager.d.ts +0 -67
- package/components/FileManager.js +0 -144
- package/components/FileManager.js.map +0 -1
- package/plugins/FileManagerFileTypePlugin.d.ts +0 -33
- package/plugins/FileManagerFileTypePlugin.js +0 -63
- package/plugins/FileManagerFileTypePlugin.js.map +0 -1
- package/plugins/fileManager/fileDefault.d.ts +0 -2
- package/plugins/fileManager/fileDefault.js +0 -34
- package/plugins/fileManager/fileDefault.js.map +0 -1
- package/plugins/fileManager/fileImage/DeleteAction.d.ts +0 -7
- package/plugins/fileManager/fileImage/DeleteAction.js +0 -83
- package/plugins/fileManager/fileImage/DeleteAction.js.map +0 -1
- package/plugins/fileManager/fileImage/EditAction.d.ts +0 -10
- package/plugins/fileManager/fileImage/EditAction.js +0 -179
- package/plugins/fileManager/fileImage/EditAction.js.map +0 -1
- package/plugins/fileManager/fileImage/index.d.ts +0 -2
- package/plugins/fileManager/fileImage/index.js +0 -46
- package/plugins/fileManager/fileImage/index.js.map +0 -1
- package/plugins/fileManager/icons/edit.svg +0 -17
- package/plugins/fileManager/icons/round-description-24px.svg +0 -1
- package/plugins/fileManager/index.d.ts +0 -2
- package/plugins/fileManager/index.js +0 -21
- 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;
|