@blaze-cms/plugin-media-ui 0.127.0 → 0.128.0-admin-updates.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 +22 -0
  2. package/lib/components/CardMedia/CardMedia.js +80 -84
  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 +42 -44
  7. package/lib/components/EditMediaFile/EditMediaFilePage.js.map +1 -1
  8. package/lib/components/FileList/useGetFiles/getFiles.js +137 -139
  9. package/lib/components/FileList/useGetFiles/getFiles.js.map +1 -1
  10. package/lib/components/FileList/useGetFiles/useGetFiles.js +33 -35
  11. package/lib/components/FileList/useGetFiles/useGetFiles.js.map +1 -1
  12. package/lib/components/FileList/useGetFilesList/getCounters.js +13 -15
  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 +117 -126
  20. package/lib/components/FileUploadAdapter/FileUploadAdapter.js.map +1 -1
  21. package/lib/components/FileUploadModal/FileUploadModal.js +56 -61
  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 +1 -3
  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 +37 -39
  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 +1 -2
  40. package/lib-es/components/FileUploadAdapter/FileUploadAdapter.js.map +1 -1
  41. package/lib-es/components/FileUploadModal/FileUploadModal.js +1 -2
  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 +1 -3
  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 +1 -2
  49. package/src/components/FileUploadModal/FileUploadModal.js +1 -2
  50. package/src/components/ListingContainer/Listing/MediaListing/MediaFileList/MediaFileList.js +1 -4
@@ -33,7 +33,6 @@ 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"));
37
36
  var _propTypes = _interopRequireDefault(require("prop-types"));
38
37
  var _client = require("@apollo/client");
39
38
  var _adminUiUtils = require("@blaze-cms/admin-ui-utils");
@@ -95,32 +94,30 @@ var FileUploadAdapter = function FileUploadAdapter(_ref) {
95
94
  var _ref2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(offset, ids, fetchAll) {
96
95
  var _yield$client$query, newFiles;
97
96
  return _regenerator["default"].wrap(function _callee$(_context) {
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
- }
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
111
108
  }
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
- }
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();
124
121
  }
125
122
  }, _callee);
126
123
  }));
@@ -132,23 +129,21 @@ var FileUploadAdapter = function FileUploadAdapter(_ref) {
132
129
  (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
133
130
  var initialFiles, files, orderedFiles;
134
131
  return _regenerator["default"].wrap(function _callee2$(_context2) {
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
- }
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();
152
147
  }
153
148
  }, _callee2);
154
149
  }))();
@@ -159,30 +154,28 @@ var FileUploadAdapter = function FileUploadAdapter(_ref) {
159
154
  var _ref4 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(shouldFetchAll) {
160
155
  var newOffset, updatedOffset, offsetToUse, files, newFiles, orderedFiles;
161
156
  return _regenerator["default"].wrap(function _callee3$(_context3) {
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
- }
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();
186
179
  }
187
180
  }, _callee3);
188
181
  }));
@@ -323,65 +316,63 @@ var FileUploadAdapter = function FileUploadAdapter(_ref) {
323
316
  var _callback = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
324
317
  var name, editedFileId, data, updatedSelectedFiles;
325
318
  return _regenerator["default"].wrap(function _callee4$(_context4) {
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
- });
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
336
341
  }
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
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
349
352
  }
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
- }
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();
385
376
  }
386
377
  }, _callee4, null, [[3, 11]]);
387
378
  }));
@@ -423,7 +414,7 @@ var FileUploadAdapter = function FileUploadAdapter(_ref) {
423
414
  actionText: fileUploadButtonText,
424
415
  handleLibraryClick: onOpenLibrary,
425
416
  enableDragAndDrop: false
426
- })), editFile && /*#__PURE__*/_react["default"].createElement(_modal["default"], {
417
+ })), editFile && /*#__PURE__*/_react["default"].createElement(_adminUiUtils.ModalAdapter, {
427
418
  actions: editModalActions,
428
419
  title: "Edit File",
429
420
  onClose: function onClose() {
@@ -437,7 +428,7 @@ var FileUploadAdapter = function FileUploadAdapter(_ref) {
437
428
  previewType: "card"
438
429
  })), displayModal && /*#__PURE__*/_react["default"].createElement("div", {
439
430
  className: "file-upload-modal-wrapper"
440
- }, /*#__PURE__*/_react["default"].createElement(_modal["default"], {
431
+ }, /*#__PURE__*/_react["default"].createElement(_adminUiUtils.ModalAdapter, {
441
432
  actions: modalActions,
442
433
  className: "file-upload-modal",
443
434
  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 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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"}
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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"}
@@ -21,10 +21,9 @@ 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 _modal = _interopRequireDefault(require("@blaze-react/modal"));
24
+ var _adminUiUtils = require("@blaze-cms/admin-ui-utils");
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");
28
27
  var _toaster = require("@blaze-react/toaster");
29
28
  var _client = require("@apollo/client");
30
29
  var _useFileList2 = _interopRequireDefault(require("../FileList/useFileList"));
@@ -47,10 +46,10 @@ var FileUploadModal = function FileUploadModal(_ref) {
47
46
  visibleInAdmin: true
48
47
  }
49
48
  }),
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;
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;
54
53
  var handleFiles = function handleFiles(filesToUpload) {
55
54
  setFiles(filesToUpload);
56
55
  };
@@ -58,51 +57,49 @@ var FileUploadModal = function FileUploadModal(_ref) {
58
57
  var _ref2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
59
58
  var response, parsedResponse, fileNames;
60
59
  return _regenerator["default"].wrap(function _callee$(_context) {
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
- }
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
79
76
  }
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;
77
+ }
96
78
  });
97
- addNewFile(parsedResponse);
98
- addToast("Uploaded: ".concat(fileNames.join(', ')), {
99
- appearance: 'success',
79
+ }))["catch"](function (error) {
80
+ addToast(error.message, {
81
+ appearance: 'error',
100
82
  autoDismiss: true
101
83
  });
102
- case 7:
103
- case "end":
104
- return _context.stop();
105
- }
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();
106
103
  }
107
104
  }, _callee);
108
105
  }));
@@ -113,20 +110,18 @@ var FileUploadModal = function FileUploadModal(_ref) {
113
110
  var handleOnSave = /*#__PURE__*/function () {
114
111
  var _ref6 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
115
112
  return _regenerator["default"].wrap(function _callee2$(_context2) {
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
- }
113
+ while (1) switch (_context2.prev = _context2.next) {
114
+ case 0:
115
+ onClose();
116
+ if (!files.length) {
124
117
  _context2.next = 4;
125
- return uploadFiles();
126
- case 4:
127
- case "end":
128
- return _context2.stop();
129
- }
118
+ break;
119
+ }
120
+ _context2.next = 4;
121
+ return uploadFiles();
122
+ case 4:
123
+ case "end":
124
+ return _context2.stop();
130
125
  }
131
126
  }, _callee2);
132
127
  }));
@@ -137,7 +132,7 @@ var FileUploadModal = function FileUploadModal(_ref) {
137
132
  var storeOptions = storeType.map(function (type) {
138
133
  return [type.key, type.name];
139
134
  });
140
- return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_modal["default"], {
135
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_adminUiUtils.ModalAdapter, {
141
136
  onClose: onClose,
142
137
  title: "Add media",
143
138
  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 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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"}
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":";;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAAkD;AAAA;AAElD,IAAMA,eAAe,GAAG,SAAlBA,eAAe,OAAoB;EAAA,IAAdC,OAAO,QAAPA,OAAO;EAChC,gBAA0B,IAAAC,eAAQ,EAAC,EAAE,CAAC;IAAA;IAA/BC,KAAK;IAAEC,QAAQ;EACtB,iBAAqB,IAAAC,kBAAS,GAAE;IAAxBC,QAAQ,cAARA,QAAQ;EAChB,IAAMC,MAAM,GAAG,IAAAC,uBAAe,GAAE;EAChC,mBAAuB,IAAAC,wBAAW,GAAE;IAA5BC,UAAU,gBAAVA,UAAU;EAElB,IAAMC,cAAc,GAAG,IAAAC,sBAAQ,EAAC,iBAAiB,CAAC;EAElD,gBAAyD,IAAAC,gBAAQ,EAACF,cAAc,EAAE;MAChFG,SAAS,EAAE;QAAEC,cAAc,EAAE;MAAK;IACpC,CAAC,CAAC;IAAA,2BAFMC,IAAI;IAAA,8CAAsC,CAAC,CAAC;IAAA,wCAApCC,aAAa;IAAEC,SAAS,sCAAG,EAAE;EAI7C,IAAMC,WAAW,GAAG,SAAdA,WAAW,CAAGC,aAAa,EAAI;IACnChB,QAAQ,CAACgB,aAAa,CAAC;EACzB,CAAC;EAED,IAAMC,WAAW;IAAA,0FAAG;MAAA;MAAA;QAAA;UAAA;YAAA;YAAA,OACKC,OAAO,CAACC,GAAG,CAChCpB,KAAK,CAACqB,GAAG,CAAC;cAAA,IAAGC,IAAI,SAAJA,IAAI;gBAAEC,IAAI,SAAJA,IAAI;gBAAQC,QAAQ,SAAdX,IAAI;gBAAYY,QAAQ,SAARA,QAAQ;cAAA,OAC/CrB,MAAM,CAACsB,MAAM,CAAC;gBACZC,QAAQ,EAAE,IAAAC,yBAAW,EAAC,aAAa,CAAC;gBACpCjB,SAAS,EAAE;kBACTkB,KAAK,EAAE;oBACLP,IAAI,EAAJA,IAAI;oBACJC,IAAI,EAAEA,IAAI,IAAID,IAAI,CAACQ,QAAQ;oBAC3BL,QAAQ,EAARA,QAAQ;oBACRZ,IAAI,EAAEW;kBACR;gBACF;cACF,CAAC,CAAC;YAAA,EACH,CACF,SAAM,CAAC,UAAAO,KAAK,EAAI;cACf5B,QAAQ,CAAC4B,KAAK,CAACC,OAAO,EAAE;gBACtBC,UAAU,EAAE,OAAO;gBACnBC,WAAW,EAAE;cACf,CAAC,CAAC;YACJ,CAAC,CAAC;UAAA;YAnBIC,QAAQ;YAqBRC,cAAc,GAAGD,QAAQ,CAACd,GAAG,CAAC;cAAA,IAAWC,IAAI,SAAZT,IAAI,CAAIS,IAAI;cAAA,OAASA,IAAI,CAACe,MAAM;YAAA,EAAC;YAElEC,SAAS,GAAGtC,KAAK,CAACqB,GAAG,CAAC;cAAA,IAAGC,IAAI,SAAJA,IAAI;cAAA,OAAOA,IAAI,CAACC,IAAI;YAAA,EAAC;YACpDhB,UAAU,CAAC6B,cAAc,CAAC;YAC1BjC,QAAQ,qBAAcmC,SAAS,CAACC,IAAI,CAAC,IAAI,CAAC,GAAI;cAC5CN,UAAU,EAAE,SAAS;cACrBC,WAAW,EAAE;YACf,CAAC,CAAC;UAAC;UAAA;YAAA;QAAA;MAAA;IAAA,CACJ;IAAA,gBA9BKhB,WAAW;MAAA;IAAA;EAAA,GA8BhB;EAED,IAAMsB,YAAY;IAAA,0FAAG;MAAA;QAAA;UAAA;YACnB1C,OAAO,EAAE;YAAC,KACNE,KAAK,CAACyC,MAAM;cAAA;cAAA;YAAA;YAAA;YAAA,OAAQvB,WAAW,EAAE;UAAA;UAAA;YAAA;QAAA;MAAA;IAAA,CACtC;IAAA,gBAHKsB,YAAY;MAAA;IAAA;EAAA,GAGjB;EAED,IAAME,YAAY,GAAG3B,SAAS,CAACM,GAAG,CAAC,UAAAsB,IAAI;IAAA,OAAI,CAACA,IAAI,CAACC,GAAG,EAAED,IAAI,CAACpB,IAAI,CAAC;EAAA,EAAC;EAEjE,oBACE,+EACE,gCAAC,0BAAK;IACJ,OAAO,EAAEzB,OAAQ;IACjB,KAAK,EAAC,WAAW;IACjB,OAAO,EAAE,CACP;MACE+C,UAAU,EAAE,QAAQ;MACpBC,QAAQ,EAAEhD,OAAO;MACjBiD,SAAS,EAAE,CAAC,QAAQ;IACtB,CAAC,EACD;MACEF,UAAU,EAAE,MAAM;MAClBC,QAAQ,EAAEN,YAAY;MACtBO,SAAS,EAAE;IACb,CAAC,CACD;IACF,MAAM;EAAA,gBACN,gCAAC,sBAAU;IAAC,QAAQ,EAAE/B,WAAY;IAAC,aAAa,EAAE0B;EAAa,EAAG,CAC5D,CACP;AAEP,CAAC;AAED7C,eAAe,CAACmD,SAAS,GAAG;EAC1BlD,OAAO,EAAEmD,qBAAS,CAACC;AACrB,CAAC;AAEDrD,eAAe,CAACsD,YAAY,GAAG;EAC7BrD,OAAO,EAAE,mBAAM,CAAC;AAClB,CAAC;AAAC,eAEaD,eAAe;AAAA"}