@blaze-cms/plugin-media-ui 0.127.0-project-admin-customisations.3 → 0.127.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 (50) hide show
  1. package/CHANGELOG.md +1 -34
  2. package/lib/components/CardMedia/CardMedia.js +84 -80
  3. package/lib/components/CardMedia/CardMedia.js.map +1 -1
  4. package/lib/components/EditMediaFile/EditMediaFile.js +7 -7
  5. package/lib/components/EditMediaFile/EditMediaFile.js.map +1 -1
  6. package/lib/components/EditMediaFile/EditMediaFilePage.js +44 -42
  7. package/lib/components/EditMediaFile/EditMediaFilePage.js.map +1 -1
  8. package/lib/components/FileList/useGetFiles/getFiles.js +139 -137
  9. package/lib/components/FileList/useGetFiles/getFiles.js.map +1 -1
  10. package/lib/components/FileList/useGetFiles/useGetFiles.js +35 -33
  11. package/lib/components/FileList/useGetFiles/useGetFiles.js.map +1 -1
  12. package/lib/components/FileList/useGetFilesList/getCounters.js +15 -13
  13. package/lib/components/FileList/useGetFilesList/getCounters.js.map +1 -1
  14. package/lib/components/FilePreview/Actions/index.js.map +1 -1
  15. package/lib/components/FilePreview/Image/Image.js.map +1 -1
  16. package/lib/components/FilePreview/PDF/PDF.js.map +1 -1
  17. package/lib/components/FilePreview/PDF/RawPDF.js.map +1 -1
  18. package/lib/components/FilePreview/get-preview.js.map +1 -1
  19. package/lib/components/FileUploadAdapter/FileUploadAdapter.js +126 -117
  20. package/lib/components/FileUploadAdapter/FileUploadAdapter.js.map +1 -1
  21. package/lib/components/FileUploadModal/FileUploadModal.js +61 -56
  22. package/lib/components/FileUploadModal/FileUploadModal.js.map +1 -1
  23. package/lib/components/FilterPanel/FilterPanel.js.map +1 -1
  24. package/lib/components/ListingContainer/Listing/Listing.js.map +1 -1
  25. package/lib/components/ListingContainer/Listing/MediaListing/MediaFileList/MediaFileList.js +3 -1
  26. package/lib/components/ListingContainer/Listing/MediaListing/MediaFileList/MediaFileList.js.map +1 -1
  27. package/lib/components/ListingContainer/ListingContainer.js +4 -4
  28. package/lib/components/ListingContainer/ListingContainer.js.map +1 -1
  29. package/lib/index.js +39 -37
  30. package/lib/index.js.map +1 -1
  31. package/lib-es/components/CardMedia/CardMedia.js.map +1 -1
  32. package/lib-es/components/EditMediaFile/EditMediaFile.js.map +1 -1
  33. package/lib-es/components/EditMediaFile/EditMediaFilePage.js.map +1 -1
  34. package/lib-es/components/FilePreview/Actions/index.js.map +1 -1
  35. package/lib-es/components/FilePreview/Image/Image.js.map +1 -1
  36. package/lib-es/components/FilePreview/PDF/PDF.js.map +1 -1
  37. package/lib-es/components/FilePreview/PDF/RawPDF.js.map +1 -1
  38. package/lib-es/components/FilePreview/get-preview.js.map +1 -1
  39. package/lib-es/components/FileUploadAdapter/FileUploadAdapter.js +2 -1
  40. package/lib-es/components/FileUploadAdapter/FileUploadAdapter.js.map +1 -1
  41. package/lib-es/components/FileUploadModal/FileUploadModal.js +2 -1
  42. package/lib-es/components/FileUploadModal/FileUploadModal.js.map +1 -1
  43. package/lib-es/components/FilterPanel/FilterPanel.js.map +1 -1
  44. package/lib-es/components/ListingContainer/Listing/Listing.js.map +1 -1
  45. package/lib-es/components/ListingContainer/Listing/MediaListing/MediaFileList/MediaFileList.js +3 -1
  46. package/lib-es/components/ListingContainer/Listing/MediaListing/MediaFileList/MediaFileList.js.map +1 -1
  47. package/package.json +8 -8
  48. package/src/components/FileUploadAdapter/FileUploadAdapter.js +2 -1
  49. package/src/components/FileUploadModal/FileUploadModal.js +2 -1
  50. package/src/components/ListingContainer/Listing/MediaListing/MediaFileList/MediaFileList.js +4 -1
@@ -33,6 +33,7 @@ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/
33
33
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
34
34
  var _react = _interopRequireWildcard(require("react"));
35
35
  var _fileUpload = _interopRequireDefault(require("@blaze-react/file-upload"));
36
+ var _modal = _interopRequireDefault(require("@blaze-react/modal"));
36
37
  var _propTypes = _interopRequireDefault(require("prop-types"));
37
38
  var _client = require("@apollo/client");
38
39
  var _adminUiUtils = require("@blaze-cms/admin-ui-utils");
@@ -94,30 +95,32 @@ var FileUploadAdapter = function FileUploadAdapter(_ref) {
94
95
  var _ref2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(offset, ids, fetchAll) {
95
96
  var _yield$client$query, newFiles;
96
97
  return _regenerator["default"].wrap(function _callee$(_context) {
97
- while (1) switch (_context.prev = _context.next) {
98
- case 0:
99
- _context.next = 2;
100
- return client.query({
101
- query: (0, _adminUiUtils.getQuery)('GET_FILES'),
102
- variables: {
103
- limit: fetchAll ? 0 : 4,
104
- offset: offset,
105
- where: {
106
- id: {
107
- _in: ids
98
+ while (1) {
99
+ switch (_context.prev = _context.next) {
100
+ case 0:
101
+ _context.next = 2;
102
+ return client.query({
103
+ query: (0, _adminUiUtils.getQuery)('GET_FILES'),
104
+ variables: {
105
+ limit: fetchAll ? 0 : 4,
106
+ offset: offset,
107
+ where: {
108
+ id: {
109
+ _in: ids
110
+ }
108
111
  }
109
- }
110
- },
111
- skip: !currentValue.length,
112
- fetchPolicy: 'network-only'
113
- });
114
- case 2:
115
- _yield$client$query = _context.sent;
116
- newFiles = _yield$client$query.data.files;
117
- return _context.abrupt("return", newFiles);
118
- case 5:
119
- case "end":
120
- return _context.stop();
112
+ },
113
+ skip: !currentValue.length,
114
+ fetchPolicy: 'network-only'
115
+ });
116
+ case 2:
117
+ _yield$client$query = _context.sent;
118
+ newFiles = _yield$client$query.data.files;
119
+ return _context.abrupt("return", newFiles);
120
+ case 5:
121
+ case "end":
122
+ return _context.stop();
123
+ }
121
124
  }
122
125
  }, _callee);
123
126
  }));
@@ -129,21 +132,23 @@ var FileUploadAdapter = function FileUploadAdapter(_ref) {
129
132
  (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
130
133
  var initialFiles, files, orderedFiles;
131
134
  return _regenerator["default"].wrap(function _callee2$(_context2) {
132
- while (1) switch (_context2.prev = _context2.next) {
133
- case 0:
134
- initialFiles = !selectedFiles.length ? currentValue.filter(function (_, i) {
135
- return i <= 3;
136
- }) : currentValue;
137
- _context2.next = 3;
138
- return getFiles(0, initialFiles);
139
- case 3:
140
- files = _context2.sent;
141
- orderedFiles = orderFiles(files, currentValue);
142
- setCurrentOffset(0);
143
- setSelectedFiles(orderedFiles);
144
- case 7:
145
- case "end":
146
- return _context2.stop();
135
+ while (1) {
136
+ switch (_context2.prev = _context2.next) {
137
+ case 0:
138
+ initialFiles = !selectedFiles.length ? currentValue.filter(function (_, i) {
139
+ return i <= 3;
140
+ }) : currentValue;
141
+ _context2.next = 3;
142
+ return getFiles(0, initialFiles);
143
+ case 3:
144
+ files = _context2.sent;
145
+ orderedFiles = orderFiles(files, currentValue);
146
+ setCurrentOffset(0);
147
+ setSelectedFiles(orderedFiles);
148
+ case 7:
149
+ case "end":
150
+ return _context2.stop();
151
+ }
147
152
  }
148
153
  }, _callee2);
149
154
  }))();
@@ -154,28 +159,30 @@ var FileUploadAdapter = function FileUploadAdapter(_ref) {
154
159
  var _ref4 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(shouldFetchAll) {
155
160
  var newOffset, updatedOffset, offsetToUse, files, newFiles, orderedFiles;
156
161
  return _regenerator["default"].wrap(function _callee3$(_context3) {
157
- while (1) switch (_context3.prev = _context3.next) {
158
- case 0:
159
- if (!(selectedFiles.length === currentValue.length)) {
160
- _context3.next = 2;
161
- break;
162
- }
163
- return _context3.abrupt("return");
164
- case 2:
165
- newOffset = currentOffset + 4;
166
- updatedOffset = newOffset > currentValue.length ? currentValue.length : newOffset;
167
- offsetToUse = shouldFetchAll ? 0 : updatedOffset;
168
- _context3.next = 7;
169
- return getFiles(offsetToUse, currentValue, shouldFetchAll);
170
- case 7:
171
- files = _context3.sent;
172
- newFiles = [].concat((0, _toConsumableArray2["default"])(selectedFiles), (0, _toConsumableArray2["default"])(files));
173
- orderedFiles = orderFiles(newFiles, currentValue);
174
- setSelectedFiles(orderedFiles);
175
- setCurrentOffset(newOffset);
176
- case 12:
177
- case "end":
178
- return _context3.stop();
162
+ while (1) {
163
+ switch (_context3.prev = _context3.next) {
164
+ case 0:
165
+ if (!(selectedFiles.length === currentValue.length)) {
166
+ _context3.next = 2;
167
+ break;
168
+ }
169
+ return _context3.abrupt("return");
170
+ case 2:
171
+ newOffset = currentOffset + 4;
172
+ updatedOffset = newOffset > currentValue.length ? currentValue.length : newOffset;
173
+ offsetToUse = shouldFetchAll ? 0 : updatedOffset;
174
+ _context3.next = 7;
175
+ return getFiles(offsetToUse, currentValue, shouldFetchAll);
176
+ case 7:
177
+ files = _context3.sent;
178
+ newFiles = [].concat((0, _toConsumableArray2["default"])(selectedFiles), (0, _toConsumableArray2["default"])(files));
179
+ orderedFiles = orderFiles(newFiles, currentValue);
180
+ setSelectedFiles(orderedFiles);
181
+ setCurrentOffset(newOffset);
182
+ case 12:
183
+ case "end":
184
+ return _context3.stop();
185
+ }
179
186
  }
180
187
  }, _callee3);
181
188
  }));
@@ -316,63 +323,65 @@ var FileUploadAdapter = function FileUploadAdapter(_ref) {
316
323
  var _callback = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
317
324
  var name, editedFileId, data, updatedSelectedFiles;
318
325
  return _regenerator["default"].wrap(function _callee4$(_context4) {
319
- while (1) switch (_context4.prev = _context4.next) {
320
- case 0:
321
- name = editFile.name, editedFileId = editFile.id, data = editFile.data;
322
- updatedSelectedFiles = selectedFiles.map(function (selectedFile) {
323
- if (selectedFile.id === editedFileId) {
324
- return _objectSpread(_objectSpread({}, selectedFile), {}, {
325
- name: name,
326
- data: data
327
- });
328
- }
329
- return selectedFile;
330
- });
331
- setSelectedFiles(updatedSelectedFiles);
332
- _context4.prev = 3;
333
- _context4.next = 6;
334
- return client.mutate({
335
- mutation: (0, _adminUiUtils.getMutation)('UPDATE_FILE'),
336
- variables: {
337
- input: {
338
- name: name,
339
- data: data,
340
- id: editedFileId
326
+ while (1) {
327
+ switch (_context4.prev = _context4.next) {
328
+ case 0:
329
+ name = editFile.name, editedFileId = editFile.id, data = editFile.data;
330
+ updatedSelectedFiles = selectedFiles.map(function (selectedFile) {
331
+ if (selectedFile.id === editedFileId) {
332
+ return _objectSpread(_objectSpread({}, selectedFile), {}, {
333
+ name: name,
334
+ data: data
335
+ });
341
336
  }
342
- },
343
- update: function update(cache, _ref8) {
344
- var fileUpdated = _ref8.data.updateFile;
345
- cache.writeQuery({
346
- query: (0, _adminUiUtils.getQuery)('GET_FILE_BY_ID'),
347
- variables: {
348
- id: id
349
- },
350
- data: {
351
- file: fileUpdated.result
337
+ return selectedFile;
338
+ });
339
+ setSelectedFiles(updatedSelectedFiles);
340
+ _context4.prev = 3;
341
+ _context4.next = 6;
342
+ return client.mutate({
343
+ mutation: (0, _adminUiUtils.getMutation)('UPDATE_FILE'),
344
+ variables: {
345
+ input: {
346
+ name: name,
347
+ data: data,
348
+ id: editedFileId
352
349
  }
353
- });
354
- }
355
- });
356
- case 6:
357
- addToast("File: ".concat(editFile.name, " has been updated"), {
358
- appearance: 'success',
359
- autoDismiss: true
360
- });
361
- closeModalAndSetValue(true);
362
- setEditFile(null);
363
- _context4.next = 15;
364
- break;
365
- case 11:
366
- _context4.prev = 11;
367
- _context4.t0 = _context4["catch"](3);
368
- addToast("File: ".concat(editFile.name, " has not been updated"), {
369
- appearance: 'error',
370
- autoDismiss: true
371
- });
372
- console.error(_context4.t0); //eslint-disable-line
373
- case 15:
374
- case "end":
375
- return _context4.stop();
350
+ },
351
+ update: function update(cache, _ref8) {
352
+ var fileUpdated = _ref8.data.updateFile;
353
+ cache.writeQuery({
354
+ query: (0, _adminUiUtils.getQuery)('GET_FILE_BY_ID'),
355
+ variables: {
356
+ id: id
357
+ },
358
+ data: {
359
+ file: fileUpdated.result
360
+ }
361
+ });
362
+ }
363
+ });
364
+ case 6:
365
+ addToast("File: ".concat(editFile.name, " has been updated"), {
366
+ appearance: 'success',
367
+ autoDismiss: true
368
+ });
369
+ closeModalAndSetValue(true);
370
+ setEditFile(null);
371
+ _context4.next = 15;
372
+ break;
373
+ case 11:
374
+ _context4.prev = 11;
375
+ _context4.t0 = _context4["catch"](3);
376
+ addToast("File: ".concat(editFile.name, " has not been updated"), {
377
+ appearance: 'error',
378
+ autoDismiss: true
379
+ });
380
+ console.error(_context4.t0); //eslint-disable-line
381
+ case 15:
382
+ case "end":
383
+ return _context4.stop();
384
+ }
376
385
  }
377
386
  }, _callee4, null, [[3, 11]]);
378
387
  }));
@@ -414,7 +423,7 @@ var FileUploadAdapter = function FileUploadAdapter(_ref) {
414
423
  actionText: fileUploadButtonText,
415
424
  handleLibraryClick: onOpenLibrary,
416
425
  enableDragAndDrop: false
417
- })), editFile && /*#__PURE__*/_react["default"].createElement(_adminUiUtils.ModalAdapter, {
426
+ })), editFile && /*#__PURE__*/_react["default"].createElement(_modal["default"], {
418
427
  actions: editModalActions,
419
428
  title: "Edit File",
420
429
  onClose: function onClose() {
@@ -428,7 +437,7 @@ var FileUploadAdapter = function FileUploadAdapter(_ref) {
428
437
  previewType: "card"
429
438
  })), displayModal && /*#__PURE__*/_react["default"].createElement("div", {
430
439
  className: "file-upload-modal-wrapper"
431
- }, /*#__PURE__*/_react["default"].createElement(_adminUiUtils.ModalAdapter, {
440
+ }, /*#__PURE__*/_react["default"].createElement(_modal["default"], {
432
441
  actions: modalActions,
433
442
  className: "file-upload-modal",
434
443
  title: "Media library",
@@ -1 +1 @@
1
- {"version":3,"file":"FileUploadAdapter.js","names":["FileUploadAdapter","onChange","label","id","type","value","maxItems","shouldRenderInPreview","canDragAndDrop","useContext","FormContext","InjectPreview","useLimit","currentLimit","useState","displayModal","setDisplayModal","initialValue","formatInitialValue","currentValue","setCurrentValue","currentOffset","setCurrentOffset","selectedFiles","setSelectedFiles","editFile","setEditFile","client","useApolloClient","useToasts","addToast","getFiles","offset","ids","fetchAll","query","getQuery","variables","limit","where","_in","skip","length","fetchPolicy","newFiles","data","files","useEffect","initialFiles","filter","_","i","orderedFiles","orderFiles","fetchMore","shouldFetchAll","newOffset","updatedOffset","offsetToUse","handleSelectedFiles","checkIsUnselecting","isUnselectingFile","isUnselecting","valueArray","transformToArray","selectedFilesIds","valueId","includes","parsedValue","getFormat","filesIds","event","target","name","fileData","handleReorderFiles","map","fileId","closeModalAndSetValue","isSaving","fileUploadButtonText","getButtonText","filesPending","getNumberFilesPendingToFetch","onOpenLibrary","handleEditModal","file","selectedEditFile","find","_id","handleEditFileForm","editedFile","values","parseFormValues","valuesChecked","altText","caption","credits","hrefUrl","currentId","Boolean","modalActions","textButton","callback","modifiers","editModalActions","editedFileId","updatedSelectedFiles","selectedFile","mutate","mutation","getMutation","input","update","cache","fileUpdated","updateFile","writeQuery","result","appearance","autoDismiss","console","error","filesPendingString","MORE","fileListSpan","onUnselectFile","previewerId","fileName","propTypes","PropTypes","func","isRequired","string","oneOfType","array","number","bool","defaultProps"],"sources":["../../../src/components/FileUploadAdapter/FileUploadAdapter.js"],"sourcesContent":["import React, { useState, useContext, useEffect } from 'react';\nimport FileUpload from '@blaze-react/file-upload';\nimport PropTypes from 'prop-types';\nimport { useApolloClient } from '@apollo/client';\nimport { getQuery, getMutation, ModalAdapter as Modal } from '@blaze-cms/admin-ui-utils';\nimport { parseFormValues } from '@blaze-cms/react-form-builder';\nimport useToasts from '@blaze-react/toaster/lib/Toast/useToasts';\nimport { MORE } from '../../constants';\nimport ListingContainer from '../ListingContainer';\nimport { MediaContextProvider } from '../../utils/media-context';\nimport FileList from './FileList';\nimport useLimit from './useLimit';\nimport {\n getFormat,\n formatInitialValue,\n transformToArray,\n isUnselecting,\n getButtonText,\n getNumberFilesPendingToFetch\n} from './mappers';\nimport FilePreview from '../FilePreview';\n\nconst FileUploadAdapter = ({\n onChange,\n label,\n id,\n type,\n value,\n maxItems,\n shouldRenderInPreview,\n canDragAndDrop\n}) => {\n const { InjectPreview } = useContext(FileUploadAdapter.FormContext);\n const [currentLimit] = useLimit(maxItems);\n const [displayModal, setDisplayModal] = useState(false);\n const initialValue = formatInitialValue({ value, type });\n const [currentValue, setCurrentValue] = useState(initialValue);\n const [currentOffset, setCurrentOffset] = useState(0);\n const [selectedFiles, setSelectedFiles] = useState([]);\n const [editFile, setEditFile] = useState(null);\n const client = useApolloClient();\n const { addToast } = useToasts();\n\n const getFiles = async (offset, ids, fetchAll) => {\n const {\n data: { files: newFiles }\n } = await client.query({\n query: getQuery('GET_FILES'),\n variables: {\n limit: fetchAll ? 0 : 4,\n offset,\n where: {\n id: {\n _in: ids\n }\n }\n },\n skip: !currentValue.length,\n fetchPolicy: 'network-only'\n });\n return newFiles;\n };\n\n useEffect(\n () => {\n (async () => {\n const initialFiles = !selectedFiles.length\n ? currentValue.filter((_, i) => i <= 3)\n : currentValue;\n\n const files = await getFiles(0, initialFiles);\n const orderedFiles = orderFiles(files, currentValue);\n setCurrentOffset(0);\n setSelectedFiles(orderedFiles);\n })();\n },\n [currentValue] //eslint-disable-line\n );\n\n const fetchMore = async shouldFetchAll => {\n if (selectedFiles.length === currentValue.length) return;\n const newOffset = currentOffset + 4;\n const updatedOffset = newOffset > currentValue.length ? currentValue.length : newOffset;\n const offsetToUse = shouldFetchAll ? 0 : updatedOffset;\n const files = await getFiles(offsetToUse, currentValue, shouldFetchAll);\n const newFiles = [...selectedFiles, ...files];\n const orderedFiles = orderFiles(newFiles, currentValue);\n setSelectedFiles(orderedFiles);\n setCurrentOffset(newOffset);\n };\n\n const handleSelectedFiles = (files, checkIsUnselecting = true) => {\n const isUnselectingFile = isUnselecting(value, checkIsUnselecting, files);\n if (isUnselectingFile) {\n const valueArray = transformToArray(value);\n const selectedFilesIds = valueArray.filter(valueId => !files.includes(valueId));\n const parsedValue = getFormat(type, { filesIds: selectedFilesIds });\n setCurrentValue(selectedFilesIds);\n return onChange({\n event: {\n target: {\n value: parsedValue,\n name: id,\n type,\n fileData: selectedFilesIds.length ? selectedFilesIds : null\n }\n },\n value: parsedValue\n });\n }\n\n setCurrentValue(files);\n };\n\n const handleReorderFiles = files => {\n const filesIds = files.map(({ id: fileId }) => fileId);\n const parsedValue = getFormat(type, { filesIds });\n setSelectedFiles(files);\n\n return onChange({\n event: {\n target: {\n value: parsedValue,\n name: id,\n type,\n fileData: filesIds\n }\n },\n value: parsedValue\n });\n };\n\n const closeModalAndSetValue = isSaving => {\n if (isSaving) {\n const parsedValue = getFormat(type, { filesIds: currentValue });\n setDisplayModal(false);\n return onChange({\n event: { target: { value: parsedValue, name: id, type, currentValue } },\n value: parsedValue\n });\n }\n\n setCurrentValue(initialValue);\n setDisplayModal(false);\n };\n\n const fileUploadButtonText = getButtonText({ maxItems, value: initialValue });\n\n const filesPending = getNumberFilesPendingToFetch(currentOffset, currentValue);\n const onOpenLibrary = () => setDisplayModal(true);\n const handleEditModal = file => {\n const selectedEditFile = selectedFiles.find(({ id: _id }) => _id === file.id);\n setEditFile(selectedEditFile);\n };\n\n const handleEditFileForm = editedFile => {\n const values = parseFormValues(editedFile.valuesChecked);\n\n const { altText, caption, credits, hrefUrl, name } = values;\n setEditFile({\n ...editFile,\n name,\n data: {\n altText,\n caption,\n credits,\n hrefUrl\n }\n });\n };\n\n const orderFiles = (files, ids) =>\n ids.map(currentId => files.find(({ id: fileId }) => fileId === currentId)).filter(Boolean);\n\n const modalActions = [\n {\n textButton: 'Cancel',\n callback: () => {\n closeModalAndSetValue();\n },\n modifiers: ['cancel']\n },\n {\n textButton: 'Save',\n callback: () => {\n closeModalAndSetValue(true);\n },\n modifiers: []\n }\n ];\n\n const editModalActions = [\n {\n textButton: 'Cancel',\n callback: () => {\n setEditFile(null);\n },\n modifiers: ['cancel']\n },\n {\n textButton: 'Save',\n callback: async () => {\n const { name, id: editedFileId, data } = editFile;\n const updatedSelectedFiles = selectedFiles.map(selectedFile => {\n if (selectedFile.id === editedFileId) {\n return { ...selectedFile, name, data };\n }\n return selectedFile;\n });\n setSelectedFiles(updatedSelectedFiles);\n\n try {\n await client.mutate({\n mutation: getMutation('UPDATE_FILE'),\n variables: {\n input: {\n name,\n data,\n id: editedFileId\n }\n },\n update(\n cache,\n {\n data: { updateFile: fileUpdated }\n }\n ) {\n cache.writeQuery({\n query: getQuery('GET_FILE_BY_ID'),\n variables: { id },\n data: { file: fileUpdated.result }\n });\n }\n });\n\n addToast(`File: ${editFile.name} has been updated`, {\n appearance: 'success',\n autoDismiss: true\n });\n closeModalAndSetValue(true);\n setEditFile(null);\n } catch (e) {\n addToast(`File: ${editFile.name} has not been updated`, {\n appearance: 'error',\n autoDismiss: true\n });\n console.error(e); //eslint-disable-line\n }\n },\n modifiers: []\n }\n ];\n const filesPendingString = `${filesPending} ${MORE}`;\n const fileListSpan = filesPending ? (\n // eslint-disable-next-line jsx-a11y/no-static-element-interactions\n <span className=\"FileUploadAdapter__preview-link button button--link\" onClick={fetchMore}>\n + {filesPendingString}\n </span>\n ) : null;\n\n return (\n <>\n <div className=\"form-field form-field--button\">\n <label>{label}</label>\n {selectedFiles && (\n <>\n <MediaContextProvider value={{ handleEditModal, onUnselectFile: handleSelectedFiles }}>\n {shouldRenderInPreview ? (\n <InjectPreview selector={FileUploadAdapter.previewerId}>\n <FileList\n selectedFiles={selectedFiles}\n allFiles={currentValue}\n handleReorderFiles={handleReorderFiles}\n canDragAndDrop={canDragAndDrop}\n fetchMore={fetchMore}>\n {fileListSpan}\n </FileList>\n </InjectPreview>\n ) : (\n <FileList\n selectedFiles={selectedFiles}\n handleReorderFiles={handleReorderFiles}\n fetchMore={fetchMore}\n />\n )}\n </MediaContextProvider>\n </>\n )}\n <FileUpload\n actionText={fileUploadButtonText}\n handleLibraryClick={onOpenLibrary}\n enableDragAndDrop={false}\n />\n </div>\n {editFile && (\n <Modal actions={editModalActions} title=\"Edit File\" onClose={() => setEditFile(null)}>\n <FilePreview\n file={editFile}\n fileName={editFile.fileName}\n handleFormChange={handleEditFileForm}\n displayForm\n previewType=\"card\"\n />\n </Modal>\n )}\n {displayModal && (\n <div className=\"file-upload-modal-wrapper\">\n <Modal\n actions={modalActions}\n className=\"file-upload-modal\"\n title=\"Media library\"\n onClose={() => closeModalAndSetValue()}>\n <ListingContainer\n handleSelectedFiles={handleSelectedFiles}\n maxItems={currentLimit}\n filesSelected={currentValue.length > 1 ? currentValue : []}\n />\n </Modal>\n </div>\n )}\n </>\n );\n};\n\nFileUploadAdapter.propTypes = {\n onChange: PropTypes.func.isRequired,\n label: PropTypes.string.isRequired,\n id: PropTypes.string.isRequired,\n type: PropTypes.string.isRequired,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.array]),\n maxItems: PropTypes.oneOfType([PropTypes.number, PropTypes.bool]),\n shouldRenderInPreview: PropTypes.bool,\n canDragAndDrop: PropTypes.bool\n};\n\nFileUploadAdapter.defaultProps = {\n value: '',\n maxItems: false,\n shouldRenderInPreview: false,\n canDragAndDrop: false\n};\n\nexport default FileUploadAdapter;\n"],"mappings":"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"}
1
+ {"version":3,"file":"FileUploadAdapter.js","names":["FileUploadAdapter","onChange","label","id","type","value","maxItems","shouldRenderInPreview","canDragAndDrop","useContext","FormContext","InjectPreview","useLimit","currentLimit","useState","displayModal","setDisplayModal","initialValue","formatInitialValue","currentValue","setCurrentValue","currentOffset","setCurrentOffset","selectedFiles","setSelectedFiles","editFile","setEditFile","client","useApolloClient","useToasts","addToast","getFiles","offset","ids","fetchAll","query","getQuery","variables","limit","where","_in","skip","length","fetchPolicy","newFiles","data","files","useEffect","initialFiles","filter","_","i","orderedFiles","orderFiles","fetchMore","shouldFetchAll","newOffset","updatedOffset","offsetToUse","handleSelectedFiles","checkIsUnselecting","isUnselectingFile","isUnselecting","valueArray","transformToArray","selectedFilesIds","valueId","includes","parsedValue","getFormat","filesIds","event","target","name","fileData","handleReorderFiles","map","fileId","closeModalAndSetValue","isSaving","fileUploadButtonText","getButtonText","filesPending","getNumberFilesPendingToFetch","onOpenLibrary","handleEditModal","file","selectedEditFile","find","_id","handleEditFileForm","editedFile","values","parseFormValues","valuesChecked","altText","caption","credits","hrefUrl","currentId","Boolean","modalActions","textButton","callback","modifiers","editModalActions","editedFileId","updatedSelectedFiles","selectedFile","mutate","mutation","getMutation","input","update","cache","fileUpdated","updateFile","writeQuery","result","appearance","autoDismiss","console","error","filesPendingString","MORE","fileListSpan","onUnselectFile","previewerId","fileName","propTypes","PropTypes","func","isRequired","string","oneOfType","array","number","bool","defaultProps"],"sources":["../../../src/components/FileUploadAdapter/FileUploadAdapter.js"],"sourcesContent":["import React, { useState, useContext, useEffect } from 'react';\nimport FileUpload from '@blaze-react/file-upload';\nimport Modal from '@blaze-react/modal';\nimport PropTypes from 'prop-types';\nimport { useApolloClient } from '@apollo/client';\nimport { getQuery, getMutation } from '@blaze-cms/admin-ui-utils';\nimport { parseFormValues } from '@blaze-cms/react-form-builder';\nimport useToasts from '@blaze-react/toaster/lib/Toast/useToasts';\nimport { MORE } from '../../constants';\nimport ListingContainer from '../ListingContainer';\nimport { MediaContextProvider } from '../../utils/media-context';\nimport FileList from './FileList';\nimport useLimit from './useLimit';\nimport {\n getFormat,\n formatInitialValue,\n transformToArray,\n isUnselecting,\n getButtonText,\n getNumberFilesPendingToFetch\n} from './mappers';\nimport FilePreview from '../FilePreview';\n\nconst FileUploadAdapter = ({\n onChange,\n label,\n id,\n type,\n value,\n maxItems,\n shouldRenderInPreview,\n canDragAndDrop\n}) => {\n const { InjectPreview } = useContext(FileUploadAdapter.FormContext);\n const [currentLimit] = useLimit(maxItems);\n const [displayModal, setDisplayModal] = useState(false);\n const initialValue = formatInitialValue({ value, type });\n const [currentValue, setCurrentValue] = useState(initialValue);\n const [currentOffset, setCurrentOffset] = useState(0);\n const [selectedFiles, setSelectedFiles] = useState([]);\n const [editFile, setEditFile] = useState(null);\n const client = useApolloClient();\n const { addToast } = useToasts();\n\n const getFiles = async (offset, ids, fetchAll) => {\n const {\n data: { files: newFiles }\n } = await client.query({\n query: getQuery('GET_FILES'),\n variables: {\n limit: fetchAll ? 0 : 4,\n offset,\n where: {\n id: {\n _in: ids\n }\n }\n },\n skip: !currentValue.length,\n fetchPolicy: 'network-only'\n });\n return newFiles;\n };\n\n useEffect(\n () => {\n (async () => {\n const initialFiles = !selectedFiles.length\n ? currentValue.filter((_, i) => i <= 3)\n : currentValue;\n\n const files = await getFiles(0, initialFiles);\n const orderedFiles = orderFiles(files, currentValue);\n setCurrentOffset(0);\n setSelectedFiles(orderedFiles);\n })();\n },\n [currentValue] //eslint-disable-line\n );\n\n const fetchMore = async shouldFetchAll => {\n if (selectedFiles.length === currentValue.length) return;\n const newOffset = currentOffset + 4;\n const updatedOffset = newOffset > currentValue.length ? currentValue.length : newOffset;\n const offsetToUse = shouldFetchAll ? 0 : updatedOffset;\n const files = await getFiles(offsetToUse, currentValue, shouldFetchAll);\n const newFiles = [...selectedFiles, ...files];\n const orderedFiles = orderFiles(newFiles, currentValue);\n setSelectedFiles(orderedFiles);\n setCurrentOffset(newOffset);\n };\n\n const handleSelectedFiles = (files, checkIsUnselecting = true) => {\n const isUnselectingFile = isUnselecting(value, checkIsUnselecting, files);\n if (isUnselectingFile) {\n const valueArray = transformToArray(value);\n const selectedFilesIds = valueArray.filter(valueId => !files.includes(valueId));\n const parsedValue = getFormat(type, { filesIds: selectedFilesIds });\n setCurrentValue(selectedFilesIds);\n return onChange({\n event: {\n target: {\n value: parsedValue,\n name: id,\n type,\n fileData: selectedFilesIds.length ? selectedFilesIds : null\n }\n },\n value: parsedValue\n });\n }\n\n setCurrentValue(files);\n };\n\n const handleReorderFiles = files => {\n const filesIds = files.map(({ id: fileId }) => fileId);\n const parsedValue = getFormat(type, { filesIds });\n setSelectedFiles(files);\n\n return onChange({\n event: {\n target: {\n value: parsedValue,\n name: id,\n type,\n fileData: filesIds\n }\n },\n value: parsedValue\n });\n };\n\n const closeModalAndSetValue = isSaving => {\n if (isSaving) {\n const parsedValue = getFormat(type, { filesIds: currentValue });\n setDisplayModal(false);\n return onChange({\n event: { target: { value: parsedValue, name: id, type, currentValue } },\n value: parsedValue\n });\n }\n\n setCurrentValue(initialValue);\n setDisplayModal(false);\n };\n\n const fileUploadButtonText = getButtonText({ maxItems, value: initialValue });\n\n const filesPending = getNumberFilesPendingToFetch(currentOffset, currentValue);\n const onOpenLibrary = () => setDisplayModal(true);\n const handleEditModal = file => {\n const selectedEditFile = selectedFiles.find(({ id: _id }) => _id === file.id);\n setEditFile(selectedEditFile);\n };\n\n const handleEditFileForm = editedFile => {\n const values = parseFormValues(editedFile.valuesChecked);\n\n const { altText, caption, credits, hrefUrl, name } = values;\n setEditFile({\n ...editFile,\n name,\n data: {\n altText,\n caption,\n credits,\n hrefUrl\n }\n });\n };\n\n const orderFiles = (files, ids) =>\n ids.map(currentId => files.find(({ id: fileId }) => fileId === currentId)).filter(Boolean);\n\n const modalActions = [\n {\n textButton: 'Cancel',\n callback: () => {\n closeModalAndSetValue();\n },\n modifiers: ['cancel']\n },\n {\n textButton: 'Save',\n callback: () => {\n closeModalAndSetValue(true);\n },\n modifiers: []\n }\n ];\n\n const editModalActions = [\n {\n textButton: 'Cancel',\n callback: () => {\n setEditFile(null);\n },\n modifiers: ['cancel']\n },\n {\n textButton: 'Save',\n callback: async () => {\n const { name, id: editedFileId, data } = editFile;\n const updatedSelectedFiles = selectedFiles.map(selectedFile => {\n if (selectedFile.id === editedFileId) {\n return { ...selectedFile, name, data };\n }\n return selectedFile;\n });\n setSelectedFiles(updatedSelectedFiles);\n\n try {\n await client.mutate({\n mutation: getMutation('UPDATE_FILE'),\n variables: {\n input: {\n name,\n data,\n id: editedFileId\n }\n },\n update(\n cache,\n {\n data: { updateFile: fileUpdated }\n }\n ) {\n cache.writeQuery({\n query: getQuery('GET_FILE_BY_ID'),\n variables: { id },\n data: { file: fileUpdated.result }\n });\n }\n });\n\n addToast(`File: ${editFile.name} has been updated`, {\n appearance: 'success',\n autoDismiss: true\n });\n closeModalAndSetValue(true);\n setEditFile(null);\n } catch (e) {\n addToast(`File: ${editFile.name} has not been updated`, {\n appearance: 'error',\n autoDismiss: true\n });\n console.error(e); //eslint-disable-line\n }\n },\n modifiers: []\n }\n ];\n const filesPendingString = `${filesPending} ${MORE}`;\n const fileListSpan = filesPending ? (\n // eslint-disable-next-line jsx-a11y/no-static-element-interactions\n <span className=\"FileUploadAdapter__preview-link button button--link\" onClick={fetchMore}>\n + {filesPendingString}\n </span>\n ) : null;\n\n return (\n <>\n <div className=\"form-field form-field--button\">\n <label>{label}</label>\n {selectedFiles && (\n <>\n <MediaContextProvider value={{ handleEditModal, onUnselectFile: handleSelectedFiles }}>\n {shouldRenderInPreview ? (\n <InjectPreview selector={FileUploadAdapter.previewerId}>\n <FileList\n selectedFiles={selectedFiles}\n allFiles={currentValue}\n handleReorderFiles={handleReorderFiles}\n canDragAndDrop={canDragAndDrop}\n fetchMore={fetchMore}>\n {fileListSpan}\n </FileList>\n </InjectPreview>\n ) : (\n <FileList\n selectedFiles={selectedFiles}\n handleReorderFiles={handleReorderFiles}\n fetchMore={fetchMore}\n />\n )}\n </MediaContextProvider>\n </>\n )}\n <FileUpload\n actionText={fileUploadButtonText}\n handleLibraryClick={onOpenLibrary}\n enableDragAndDrop={false}\n />\n </div>\n {editFile && (\n <Modal actions={editModalActions} title=\"Edit File\" onClose={() => setEditFile(null)}>\n <FilePreview\n file={editFile}\n fileName={editFile.fileName}\n handleFormChange={handleEditFileForm}\n displayForm\n previewType=\"card\"\n />\n </Modal>\n )}\n {displayModal && (\n <div className=\"file-upload-modal-wrapper\">\n <Modal\n actions={modalActions}\n className=\"file-upload-modal\"\n title=\"Media library\"\n onClose={() => closeModalAndSetValue()}>\n <ListingContainer\n handleSelectedFiles={handleSelectedFiles}\n maxItems={currentLimit}\n filesSelected={currentValue.length > 1 ? currentValue : []}\n />\n </Modal>\n </div>\n )}\n </>\n );\n};\n\nFileUploadAdapter.propTypes = {\n onChange: PropTypes.func.isRequired,\n label: PropTypes.string.isRequired,\n id: PropTypes.string.isRequired,\n type: PropTypes.string.isRequired,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.array]),\n maxItems: PropTypes.oneOfType([PropTypes.number, PropTypes.bool]),\n shouldRenderInPreview: PropTypes.bool,\n canDragAndDrop: PropTypes.bool\n};\n\nFileUploadAdapter.defaultProps = {\n value: '',\n maxItems: false,\n shouldRenderInPreview: false,\n canDragAndDrop: false\n};\n\nexport default FileUploadAdapter;\n"],"mappings":"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"}
@@ -21,9 +21,10 @@ require("core-js/modules/es.array.join.js");
21
21
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
22
22
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
23
23
  var _react = _interopRequireWildcard(require("react"));
24
- var _adminUiUtils = require("@blaze-cms/admin-ui-utils");
24
+ var _modal = _interopRequireDefault(require("@blaze-react/modal"));
25
25
  var _fileUpload = _interopRequireDefault(require("@blaze-react/file-upload"));
26
26
  var _propTypes = _interopRequireDefault(require("prop-types"));
27
+ var _adminUiUtils = require("@blaze-cms/admin-ui-utils");
27
28
  var _toaster = require("@blaze-react/toaster");
28
29
  var _client = require("@apollo/client");
29
30
  var _useFileList2 = _interopRequireDefault(require("../FileList/useFileList"));
@@ -46,10 +47,10 @@ var FileUploadModal = function FileUploadModal(_ref) {
46
47
  visibleInAdmin: true
47
48
  }
48
49
  }),
49
- _useQuery$data = _useQuery.data,
50
- _useQuery$data2 = _useQuery$data === void 0 ? {} : _useQuery$data,
51
- _useQuery$data2$getFi = _useQuery$data2.getFileStores,
52
- storeType = _useQuery$data2$getFi === void 0 ? [] : _useQuery$data2$getFi;
50
+ _useQuery$data = _useQuery.data;
51
+ _useQuery$data = _useQuery$data === void 0 ? {} : _useQuery$data;
52
+ var _useQuery$data$getFil = _useQuery$data.getFileStores,
53
+ storeType = _useQuery$data$getFil === void 0 ? [] : _useQuery$data$getFil;
53
54
  var handleFiles = function handleFiles(filesToUpload) {
54
55
  setFiles(filesToUpload);
55
56
  };
@@ -57,49 +58,51 @@ var FileUploadModal = function FileUploadModal(_ref) {
57
58
  var _ref2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
58
59
  var response, parsedResponse, fileNames;
59
60
  return _regenerator["default"].wrap(function _callee$(_context) {
60
- while (1) switch (_context.prev = _context.next) {
61
- case 0:
62
- _context.next = 2;
63
- return Promise.all(files.map(function (_ref3) {
64
- var file = _ref3.file,
65
- name = _ref3.name,
66
- fileData = _ref3.data,
67
- storeKey = _ref3.storeKey;
68
- return client.mutate({
69
- mutation: (0, _adminUiUtils.getMutation)('UPLOAD_FILE'),
70
- variables: {
71
- input: {
72
- file: file,
73
- name: name || file.filename,
74
- storeKey: storeKey,
75
- data: fileData
61
+ while (1) {
62
+ switch (_context.prev = _context.next) {
63
+ case 0:
64
+ _context.next = 2;
65
+ return Promise.all(files.map(function (_ref3) {
66
+ var file = _ref3.file,
67
+ name = _ref3.name,
68
+ fileData = _ref3.data,
69
+ storeKey = _ref3.storeKey;
70
+ return client.mutate({
71
+ mutation: (0, _adminUiUtils.getMutation)('UPLOAD_FILE'),
72
+ variables: {
73
+ input: {
74
+ file: file,
75
+ name: name || file.filename,
76
+ storeKey: storeKey,
77
+ data: fileData
78
+ }
76
79
  }
77
- }
80
+ });
81
+ }))["catch"](function (error) {
82
+ addToast(error.message, {
83
+ appearance: 'error',
84
+ autoDismiss: true
85
+ });
86
+ });
87
+ case 2:
88
+ response = _context.sent;
89
+ parsedResponse = response.map(function (_ref4) {
90
+ var file = _ref4.data.file;
91
+ return file.result;
92
+ });
93
+ fileNames = files.map(function (_ref5) {
94
+ var file = _ref5.file;
95
+ return file.name;
78
96
  });
79
- }))["catch"](function (error) {
80
- addToast(error.message, {
81
- appearance: 'error',
97
+ addNewFile(parsedResponse);
98
+ addToast("Uploaded: ".concat(fileNames.join(', ')), {
99
+ appearance: 'success',
82
100
  autoDismiss: true
83
101
  });
84
- });
85
- case 2:
86
- response = _context.sent;
87
- parsedResponse = response.map(function (_ref4) {
88
- var file = _ref4.data.file;
89
- return file.result;
90
- });
91
- fileNames = files.map(function (_ref5) {
92
- var file = _ref5.file;
93
- return file.name;
94
- });
95
- addNewFile(parsedResponse);
96
- addToast("Uploaded: ".concat(fileNames.join(', ')), {
97
- appearance: 'success',
98
- autoDismiss: true
99
- });
100
- case 7:
101
- case "end":
102
- return _context.stop();
102
+ case 7:
103
+ case "end":
104
+ return _context.stop();
105
+ }
103
106
  }
104
107
  }, _callee);
105
108
  }));
@@ -110,18 +113,20 @@ var FileUploadModal = function FileUploadModal(_ref) {
110
113
  var handleOnSave = /*#__PURE__*/function () {
111
114
  var _ref6 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
112
115
  return _regenerator["default"].wrap(function _callee2$(_context2) {
113
- while (1) switch (_context2.prev = _context2.next) {
114
- case 0:
115
- onClose();
116
- if (!files.length) {
116
+ while (1) {
117
+ switch (_context2.prev = _context2.next) {
118
+ case 0:
119
+ onClose();
120
+ if (!files.length) {
121
+ _context2.next = 4;
122
+ break;
123
+ }
117
124
  _context2.next = 4;
118
- break;
119
- }
120
- _context2.next = 4;
121
- return uploadFiles();
122
- case 4:
123
- case "end":
124
- return _context2.stop();
125
+ return uploadFiles();
126
+ case 4:
127
+ case "end":
128
+ return _context2.stop();
129
+ }
125
130
  }
126
131
  }, _callee2);
127
132
  }));
@@ -132,7 +137,7 @@ var FileUploadModal = function FileUploadModal(_ref) {
132
137
  var storeOptions = storeType.map(function (type) {
133
138
  return [type.key, type.name];
134
139
  });
135
- return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_adminUiUtils.ModalAdapter, {
140
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_modal["default"], {
136
141
  onClose: onClose,
137
142
  title: "Add media",
138
143
  actions: [{
@@ -1 +1 @@
1
- {"version":3,"file":"FileUploadModal.js","names":["FileUploadModal","onClose","useState","files","setFiles","useToasts","addToast","client","useApolloClient","useFileList","addNewFile","fileStoresType","getQuery","useQuery","variables","visibleInAdmin","data","getFileStores","storeType","handleFiles","filesToUpload","uploadFiles","Promise","all","map","file","name","fileData","storeKey","mutate","mutation","getMutation","input","filename","error","message","appearance","autoDismiss","response","parsedResponse","result","fileNames","join","handleOnSave","length","storeOptions","type","key","textButton","callback","modifiers","propTypes","PropTypes","func","defaultProps"],"sources":["../../../src/components/FileUploadModal/FileUploadModal.js"],"sourcesContent":["import React, { useState } from 'react';\nimport { ModalAdapter as Modal, getMutation, getQuery } from '@blaze-cms/admin-ui-utils';\nimport FileUpload from '@blaze-react/file-upload';\nimport PropTypes from 'prop-types';\nimport { useToasts } from '@blaze-react/toaster';\nimport { useApolloClient, useQuery } from '@apollo/client';\nimport useFileList from '../FileList/useFileList';\n\nconst FileUploadModal = ({ onClose }) => {\n const [files, setFiles] = useState([]);\n const { addToast } = useToasts();\n const client = useApolloClient();\n const { addNewFile } = useFileList();\n\n const fileStoresType = getQuery('GET_FILE_STORES');\n\n const { data: { getFileStores: storeType = [] } = {} } = useQuery(fileStoresType, {\n variables: { visibleInAdmin: true }\n });\n\n const handleFiles = filesToUpload => {\n setFiles(filesToUpload);\n };\n\n const uploadFiles = async () => {\n const response = await Promise.all(\n files.map(({ file, name, data: fileData, storeKey }) =>\n client.mutate({\n mutation: getMutation('UPLOAD_FILE'),\n variables: {\n input: {\n file,\n name: name || file.filename,\n storeKey,\n data: fileData\n }\n }\n })\n )\n ).catch(error => {\n addToast(error.message, {\n appearance: 'error',\n autoDismiss: true\n });\n });\n\n const parsedResponse = response.map(({ data: { file } }) => file.result);\n\n const fileNames = files.map(({ file }) => file.name);\n addNewFile(parsedResponse);\n addToast(`Uploaded: ${fileNames.join(', ')}`, {\n appearance: 'success',\n autoDismiss: true\n });\n };\n\n const handleOnSave = async () => {\n onClose();\n if (files.length) await uploadFiles();\n };\n\n const storeOptions = storeType.map(type => [type.key, type.name]);\n\n return (\n <>\n <Modal\n onClose={onClose}\n title=\"Add media\"\n actions={[\n {\n textButton: 'Cancel',\n callback: onClose,\n modifiers: ['cancel']\n },\n {\n textButton: 'Save',\n callback: handleOnSave,\n modifiers: []\n }\n ]}\n upload>\n <FileUpload onChange={handleFiles} selectOptions={storeOptions} />\n </Modal>\n </>\n );\n};\n\nFileUploadModal.propTypes = {\n onClose: PropTypes.func\n};\n\nFileUploadModal.defaultProps = {\n onClose: () => {}\n};\n\nexport default FileUploadModal;\n"],"mappings":"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"}
1
+ {"version":3,"file":"FileUploadModal.js","names":["FileUploadModal","onClose","useState","files","setFiles","useToasts","addToast","client","useApolloClient","useFileList","addNewFile","fileStoresType","getQuery","useQuery","variables","visibleInAdmin","data","getFileStores","storeType","handleFiles","filesToUpload","uploadFiles","Promise","all","map","file","name","fileData","storeKey","mutate","mutation","getMutation","input","filename","error","message","appearance","autoDismiss","response","parsedResponse","result","fileNames","join","handleOnSave","length","storeOptions","type","key","textButton","callback","modifiers","propTypes","PropTypes","func","defaultProps"],"sources":["../../../src/components/FileUploadModal/FileUploadModal.js"],"sourcesContent":["import React, { useState } from 'react';\nimport Modal from '@blaze-react/modal';\nimport FileUpload from '@blaze-react/file-upload';\nimport PropTypes from 'prop-types';\nimport { getMutation, getQuery } from '@blaze-cms/admin-ui-utils';\nimport { useToasts } from '@blaze-react/toaster';\nimport { useApolloClient, useQuery } from '@apollo/client';\nimport useFileList from '../FileList/useFileList';\n\nconst FileUploadModal = ({ onClose }) => {\n const [files, setFiles] = useState([]);\n const { addToast } = useToasts();\n const client = useApolloClient();\n const { addNewFile } = useFileList();\n\n const fileStoresType = getQuery('GET_FILE_STORES');\n\n const { data: { getFileStores: storeType = [] } = {} } = useQuery(fileStoresType, {\n variables: { visibleInAdmin: true }\n });\n\n const handleFiles = filesToUpload => {\n setFiles(filesToUpload);\n };\n\n const uploadFiles = async () => {\n const response = await Promise.all(\n files.map(({ file, name, data: fileData, storeKey }) =>\n client.mutate({\n mutation: getMutation('UPLOAD_FILE'),\n variables: {\n input: {\n file,\n name: name || file.filename,\n storeKey,\n data: fileData\n }\n }\n })\n )\n ).catch(error => {\n addToast(error.message, {\n appearance: 'error',\n autoDismiss: true\n });\n });\n\n const parsedResponse = response.map(({ data: { file } }) => file.result);\n\n const fileNames = files.map(({ file }) => file.name);\n addNewFile(parsedResponse);\n addToast(`Uploaded: ${fileNames.join(', ')}`, {\n appearance: 'success',\n autoDismiss: true\n });\n };\n\n const handleOnSave = async () => {\n onClose();\n if (files.length) await uploadFiles();\n };\n\n const storeOptions = storeType.map(type => [type.key, type.name]);\n\n return (\n <>\n <Modal\n onClose={onClose}\n title=\"Add media\"\n actions={[\n {\n textButton: 'Cancel',\n callback: onClose,\n modifiers: ['cancel']\n },\n {\n textButton: 'Save',\n callback: handleOnSave,\n modifiers: []\n }\n ]}\n upload>\n <FileUpload onChange={handleFiles} selectOptions={storeOptions} />\n </Modal>\n </>\n );\n};\n\nFileUploadModal.propTypes = {\n onClose: PropTypes.func\n};\n\nFileUploadModal.defaultProps = {\n onClose: () => {}\n};\n\nexport default FileUploadModal;\n"],"mappings":"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"}