@blaze-cms/plugin-media-ui 0.105.0 → 0.110.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.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,41 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [0.110.0](https://github.com/thebyte9/blaze/compare/v0.110.0-alpha.3...v0.110.0) (2021-10-18)
7
+
8
+ **Note:** Version bump only for package @blaze-cms/plugin-media-ui
9
+
10
+
11
+
12
+
13
+
14
+ # [0.110.0-alpha.1](https://github.com/thebyte9/blaze/compare/v0.110.0-alpha.0...v0.110.0-alpha.1) (2021-10-13)
15
+
16
+ **Note:** Version bump only for package @blaze-cms/plugin-media-ui
17
+
18
+
19
+
20
+
21
+
22
+ # [0.106.0](https://github.com/thebyte9/blaze/compare/v0.106.0-alpha.0...v0.106.0) (2021-09-20)
23
+
24
+ **Note:** Version bump only for package @blaze-cms/plugin-media-ui
25
+
26
+
27
+
28
+
29
+
30
+ # [0.106.0-alpha.0](https://github.com/thebyte9/blaze/compare/v0.105.1...v0.106.0-alpha.0) (2021-09-17)
31
+
32
+
33
+ ### Features
34
+
35
+ * Cards and CardLists now have the option to select an image for the items to display ([#3095](https://github.com/thebyte9/blaze/issues/3095)) ([2f66ec7](https://github.com/thebyte9/blaze/commit/2f66ec7b5f59a72ec9194019777313886ade7ce3))
36
+
37
+
38
+
39
+
40
+
6
41
  # [0.105.0](https://github.com/thebyte9/blaze/compare/v0.105.0-alpha.7...v0.105.0) (2021-09-15)
7
42
 
8
43
  **Note:** Version bump only for package @blaze-cms/plugin-media-ui
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/FileUploadAdapter/FileList.js"],"names":["FileList","selectedFiles","allFiles","handleReorderFiles","canDragAndDrop","fetchMore","children","isReorderActive","setIsReorderActive","toggleMode","length","totalImagesString","IMAGES","PREVIEW","REORDER","propTypes","PropTypes","array","isRequired","func","bool","oneOfType","object","string","defaultProps"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEA,IAAMA,QAAQ,GAAG,SAAXA,QAAW,OAOX;AAAA,MANJC,aAMI,QANJA,aAMI;AAAA,MALJC,QAKI,QALJA,QAKI;AAAA,MAJJC,kBAII,QAJJA,kBAII;AAAA,MAHJC,cAGI,QAHJA,cAGI;AAAA,MAFJC,SAEI,QAFJA,SAEI;AAAA,MADJC,QACI,QADJA,QACI;;AACJ,kBAA8C,qBAAS,KAAT,CAA9C;AAAA;AAAA,MAAOC,eAAP;AAAA,MAAwBC,kBAAxB;;AACA,MAAMC,UAAU,GAAG,SAAbA,UAAa,GAAM;AACvBJ,IAAAA,SAAS,CAAC,IAAD,CAAT;AACAG,IAAAA,kBAAkB,CAAC,CAACD,eAAF,CAAlB;AACD,GAHD;;AAKA,wBACE,YAAM;AACJ,QAAIA,eAAe,IAAIN,aAAa,CAACS,MAAd,GAAuBR,QAAQ,CAACQ,MAAvD,EAA+DL,SAAS,CAAC,IAAD,CAAT;AAChE,GAHH,EAIE,CAACJ,aAAD,CAJF,CAIkB;AAJlB;AAMA,MAAMU,iBAAiB,aAAMV,aAAa,CAACS,MAApB,cAA8BE,iBAA9B,CAAvB;AAEA,sBACE,+EACE;AAAK,IAAA,SAAS,EAAC;AAAf,KACGX,aAAa,CAACS,MAAd,GAAuB,CAAvB,iBACC;AAAG,IAAA,SAAS,EAAC;AAAb,KACGC,iBADH,CAFJ,EAMGP,cAAc,iBACb,gCAAC,kBAAD;AAAQ,IAAA,OAAO,EAAEK;AAAjB,KAA8BF,eAAe,GAAGM,kBAAH,GAAaC,kBAA1D,CAPJ,CADF,EAYGV,cAAc,IAAIG,eAAlB,gBACC,gCAAC,2BAAD;AAAiB,IAAA,aAAa,EAAEN,aAAhC;AAA+C,IAAA,kBAAkB,EAAEE;AAAnE,IADD,gBAGC,gCAAC,2BAAD;AAAiB,IAAA,aAAa,EAAEF;AAAhC,KAAgDK,QAAhD,CAfJ,CADF;AAoBD,CA1CD;;AA4CAN,QAAQ,CAACe,SAAT,GAAqB;AACnBd,EAAAA,aAAa,EAAEe,sBAAUC,KAAV,CAAgBC,UADZ;AAEnBb,EAAAA,SAAS,EAAEW,sBAAUG,IAAV,CAAeD,UAFP;AAGnBf,EAAAA,kBAAkB,EAAEa,sBAAUG,IAAV,CAAeD,UAHhB;AAInBhB,EAAAA,QAAQ,EAAEc,sBAAUC,KAJD;AAKnBb,EAAAA,cAAc,EAAEY,sBAAUI,IALP;AAOnBd,EAAAA,QAAQ,EAAEU,sBAAUK,SAAV,CAAoB,CAACL,sBAAUC,KAAX,EAAkBD,sBAAUM,MAA5B,EAAoCN,sBAAUO,MAA9C,CAApB;AAPS,CAArB;AAUAvB,QAAQ,CAACwB,YAAT,GAAwB;AACtBlB,EAAAA,QAAQ,EAAE,EADY;AAEtBJ,EAAAA,QAAQ,EAAE,EAFY;AAGtBE,EAAAA,cAAc,EAAE;AAHM,CAAxB;eAMeJ,Q","sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport Button from '@blaze-react/button';\nimport FilePreviewList from './FilePreviewList';\nimport FileReorderList from './FileReorderList';\nimport { PREVIEW, REORDER, IMAGES } from '../../constants';\n\nconst FileList = ({\n selectedFiles,\n allFiles,\n handleReorderFiles,\n canDragAndDrop,\n fetchMore,\n children\n}) => {\n const [isReorderActive, setIsReorderActive] = useState(false);\n const toggleMode = () => {\n fetchMore(true);\n setIsReorderActive(!isReorderActive);\n };\n\n useEffect(\n () => {\n if (isReorderActive && selectedFiles.length > allFiles.length) fetchMore(true);\n },\n [selectedFiles] //eslint-disable-line\n );\n const totalImagesString = `${selectedFiles.length} ${IMAGES}`;\n\n return (\n <>\n <div className=\"FileUploadAdapter__header\">\n {selectedFiles.length > 1 && (\n <p className=\"FileUploadAdapter FileUploadAdapter__preview-counter\">\n {totalImagesString}\n </p>\n )}\n {canDragAndDrop && (\n <Button onClick={toggleMode}>{isReorderActive ? PREVIEW : REORDER}</Button>\n )}\n </div>\n\n {canDragAndDrop && isReorderActive ? (\n <FileReorderList selectedFiles={selectedFiles} handleReorderFiles={handleReorderFiles} />\n ) : (\n <FilePreviewList selectedFiles={selectedFiles}>{children}</FilePreviewList>\n )}\n </>\n );\n};\n\nFileList.propTypes = {\n selectedFiles: PropTypes.array.isRequired,\n fetchMore: PropTypes.func.isRequired,\n handleReorderFiles: PropTypes.func.isRequired,\n allFiles: PropTypes.array,\n canDragAndDrop: PropTypes.bool,\n\n children: PropTypes.oneOfType([PropTypes.array, PropTypes.object, PropTypes.string])\n};\n\nFileList.defaultProps = {\n children: [],\n allFiles: [],\n canDragAndDrop: false\n};\n\nexport default FileList;\n"],"file":"FileList.js"}
1
+ {"version":3,"sources":["../../../src/components/FileUploadAdapter/FileList.js"],"names":["FileList","selectedFiles","allFiles","handleReorderFiles","canDragAndDrop","fetchMore","children","isReorderActive","setIsReorderActive","toggleMode","length","totalImagesString","IMAGES","PREVIEW","REORDER","propTypes","PropTypes","array","isRequired","func","bool","oneOfType","object","string","defaultProps"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEA,IAAMA,QAAQ,GAAG,SAAXA,QAAW,OAOX;AAAA,MANJC,aAMI,QANJA,aAMI;AAAA,MALJC,QAKI,QALJA,QAKI;AAAA,MAJJC,kBAII,QAJJA,kBAII;AAAA,MAHJC,cAGI,QAHJA,cAGI;AAAA,MAFJC,SAEI,QAFJA,SAEI;AAAA,MADJC,QACI,QADJA,QACI;;AACJ,kBAA8C,qBAAS,KAAT,CAA9C;AAAA;AAAA,MAAOC,eAAP;AAAA,MAAwBC,kBAAxB;;AACA,MAAMC,UAAU,GAAG,SAAbA,UAAa,GAAM;AACvBJ,IAAAA,SAAS,CAAC,IAAD,CAAT;AACAG,IAAAA,kBAAkB,CAAC,CAACD,eAAF,CAAlB;AACD,GAHD;;AAKA,wBACE,YAAM;AACJ,QAAIA,eAAe,IAAIN,aAAa,CAACS,MAAd,GAAuBR,QAAQ,CAACQ,MAAvD,EAA+DL,SAAS,CAAC,IAAD,CAAT;AAChE,GAHH,EAIE,CAACJ,aAAD,CAJF,CAIkB;AAJlB;AAMA,MAAMU,iBAAiB,aAAMV,aAAa,CAACS,MAApB,cAA8BE,iBAA9B,CAAvB;AAEA,sBACE,+EACE;AAAK,IAAA,SAAS,EAAC;AAAf,KACGX,aAAa,CAACS,MAAd,GAAuB,CAAvB,iBACC;AAAG,IAAA,SAAS,EAAC;AAAb,KACGC,iBADH,CAFJ,EAMGP,cAAc,iBACb,gCAAC,kBAAD;AAAQ,IAAA,OAAO,EAAEK;AAAjB,KAA8BF,eAAe,GAAGM,kBAAH,GAAaC,kBAA1D,CAPJ,CADF,EAYGV,cAAc,IAAIG,eAAlB,gBACC,gCAAC,2BAAD;AAAiB,IAAA,aAAa,EAAEN,aAAhC;AAA+C,IAAA,kBAAkB,EAAEE;AAAnE,IADD,gBAGC,gCAAC,2BAAD;AAAiB,IAAA,aAAa,EAAEF;AAAhC,KAAgDK,QAAhD,CAfJ,CADF;AAoBD,CA1CD;;AA4CAN,QAAQ,CAACe,SAAT,GAAqB;AACnBd,EAAAA,aAAa,EAAEe,sBAAUC,KAAV,CAAgBC,UADZ;AAEnBb,EAAAA,SAAS,EAAEW,sBAAUG,IAAV,CAAeD,UAFP;AAGnBf,EAAAA,kBAAkB,EAAEa,sBAAUG,IAAV,CAAeD,UAHhB;AAInBhB,EAAAA,QAAQ,EAAEc,sBAAUC,KAJD;AAKnBb,EAAAA,cAAc,EAAEY,sBAAUI,IALP;AAMnBd,EAAAA,QAAQ,EAAEU,sBAAUK,SAAV,CAAoB,CAACL,sBAAUC,KAAX,EAAkBD,sBAAUM,MAA5B,EAAoCN,sBAAUO,MAA9C,CAApB;AANS,CAArB;AASAvB,QAAQ,CAACwB,YAAT,GAAwB;AACtBlB,EAAAA,QAAQ,EAAE,EADY;AAEtBJ,EAAAA,QAAQ,EAAE,EAFY;AAGtBE,EAAAA,cAAc,EAAE;AAHM,CAAxB;eAMeJ,Q","sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport Button from '@blaze-react/button';\nimport FilePreviewList from './FilePreviewList';\nimport FileReorderList from './FileReorderList';\nimport { PREVIEW, REORDER, IMAGES } from '../../constants';\n\nconst FileList = ({\n selectedFiles,\n allFiles,\n handleReorderFiles,\n canDragAndDrop,\n fetchMore,\n children\n}) => {\n const [isReorderActive, setIsReorderActive] = useState(false);\n const toggleMode = () => {\n fetchMore(true);\n setIsReorderActive(!isReorderActive);\n };\n\n useEffect(\n () => {\n if (isReorderActive && selectedFiles.length > allFiles.length) fetchMore(true);\n },\n [selectedFiles] //eslint-disable-line\n );\n const totalImagesString = `${selectedFiles.length} ${IMAGES}`;\n\n return (\n <>\n <div className=\"FileUploadAdapter__header\">\n {selectedFiles.length > 1 && (\n <p className=\"FileUploadAdapter FileUploadAdapter__preview-counter\">\n {totalImagesString}\n </p>\n )}\n {canDragAndDrop && (\n <Button onClick={toggleMode}>{isReorderActive ? PREVIEW : REORDER}</Button>\n )}\n </div>\n\n {canDragAndDrop && isReorderActive ? (\n <FileReorderList selectedFiles={selectedFiles} handleReorderFiles={handleReorderFiles} />\n ) : (\n <FilePreviewList selectedFiles={selectedFiles}>{children}</FilePreviewList>\n )}\n </>\n );\n};\n\nFileList.propTypes = {\n selectedFiles: PropTypes.array.isRequired,\n fetchMore: PropTypes.func.isRequired,\n handleReorderFiles: PropTypes.func.isRequired,\n allFiles: PropTypes.array,\n canDragAndDrop: PropTypes.bool,\n children: PropTypes.oneOfType([PropTypes.array, PropTypes.object, PropTypes.string])\n};\n\nFileList.defaultProps = {\n children: [],\n allFiles: [],\n canDragAndDrop: false\n};\n\nexport default FileList;\n"],"file":"FileList.js"}
@@ -481,6 +481,13 @@ var FileUploadAdapter = function FileUploadAdapter(_ref) {
481
481
  modifiers: []
482
482
  }];
483
483
  var filesPendingString = "".concat(filesPending, " ").concat(_constants.MORE);
484
+ var fileListSpan = filesPending ?
485
+ /*#__PURE__*/
486
+ // eslint-disable-next-line jsx-a11y/no-static-element-interactions
487
+ _react["default"].createElement("span", {
488
+ className: "FileUploadAdapter__preview-link button button--link",
489
+ onClick: fetchMore
490
+ }, "+ ", filesPendingString) : null;
484
491
  return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("div", {
485
492
  className: "form-field form-field--button"
486
493
  }, /*#__PURE__*/_react["default"].createElement("label", null, label), selectedFiles && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_mediaContext.MediaContextProvider, {
@@ -496,13 +503,7 @@ var FileUploadAdapter = function FileUploadAdapter(_ref) {
496
503
  handleReorderFiles: handleReorderFiles,
497
504
  canDragAndDrop: canDragAndDrop,
498
505
  fetchMore: fetchMore
499
- }, !!filesPending &&
500
- /*#__PURE__*/
501
- // eslint-disable-next-line jsx-a11y/no-static-element-interactions
502
- _react["default"].createElement("span", {
503
- className: "FileUploadAdapter__preview-link button button--link",
504
- onClick: fetchMore
505
- }, "+ ", filesPendingString))) : /*#__PURE__*/_react["default"].createElement(_FileList["default"], {
506
+ }, fileListSpan)) : /*#__PURE__*/_react["default"].createElement(_FileList["default"], {
506
507
  selectedFiles: selectedFiles,
507
508
  handleReorderFiles: handleReorderFiles,
508
509
  fetchMore: fetchMore
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/FileUploadAdapter/FileUploadAdapter.js"],"names":["FileUploadAdapter","onChange","label","id","type","value","maxItems","shouldRenderInPreview","canDragAndDrop","FormContext","InjectPreview","currentLimit","displayModal","setDisplayModal","initialValue","currentValue","setCurrentValue","currentOffset","setCurrentOffset","selectedFiles","setSelectedFiles","editFile","setEditFile","client","addToast","getFiles","offset","ids","fetchAll","query","variables","limit","where","_in","skip","length","fetchPolicy","newFiles","data","files","initialFiles","filter","_","i","orderedFiles","orderFiles","fetchMore","shouldFetchAll","newOffset","updatedOffset","offsetToUse","handleSelectedFiles","checkIsUnselecting","isUnselectingFile","valueArray","selectedFilesIds","valueId","includes","parsedValue","filesIds","event","target","name","fileData","handleReorderFiles","map","fileId","closeModalAndSetValue","isSaving","fileUploadButtonText","filesPending","onOpenLibrary","handleEditModal","file","selectedEditFile","find","_id","handleEditFileForm","editedFile","values","valuesChecked","altText","caption","credits","hrefUrl","currentId","Boolean","modalActions","textButton","callback","modifiers","editModalActions","editedFileId","updatedSelectedFiles","selectedFile","mutate","mutation","input","update","cache","fileUpdated","updateFile","writeQuery","result","appearance","autoDismiss","console","error","filesPendingString","MORE","onUnselectFile","previewerId","fileName","propTypes","PropTypes","func","isRequired","string","oneOfType","array","number","bool","defaultProps"],"mappings":"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","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 'react-apollo';\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\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 {!!filesPending && (\n // eslint-disable-next-line jsx-a11y/no-static-element-interactions\n <span\n className=\"FileUploadAdapter__preview-link button button--link\"\n onClick={fetchMore}>\n + {filesPendingString}\n </span>\n )}\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"],"file":"FileUploadAdapter.js"}
1
+ {"version":3,"sources":["../../../src/components/FileUploadAdapter/FileUploadAdapter.js"],"names":["FileUploadAdapter","onChange","label","id","type","value","maxItems","shouldRenderInPreview","canDragAndDrop","FormContext","InjectPreview","currentLimit","displayModal","setDisplayModal","initialValue","currentValue","setCurrentValue","currentOffset","setCurrentOffset","selectedFiles","setSelectedFiles","editFile","setEditFile","client","addToast","getFiles","offset","ids","fetchAll","query","variables","limit","where","_in","skip","length","fetchPolicy","newFiles","data","files","initialFiles","filter","_","i","orderedFiles","orderFiles","fetchMore","shouldFetchAll","newOffset","updatedOffset","offsetToUse","handleSelectedFiles","checkIsUnselecting","isUnselectingFile","valueArray","selectedFilesIds","valueId","includes","parsedValue","filesIds","event","target","name","fileData","handleReorderFiles","map","fileId","closeModalAndSetValue","isSaving","fileUploadButtonText","filesPending","onOpenLibrary","handleEditModal","file","selectedEditFile","find","_id","handleEditFileForm","editedFile","values","valuesChecked","altText","caption","credits","hrefUrl","currentId","Boolean","modalActions","textButton","callback","modifiers","editModalActions","editedFileId","updatedSelectedFiles","selectedFile","mutate","mutation","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"],"mappings":"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","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 'react-apollo';\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"],"file":"FileUploadAdapter.js"}
@@ -2,13 +2,19 @@
2
2
 
3
3
  require("core-js/modules/es.object.define-property.js");
4
4
 
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
+
5
7
  Object.defineProperty(exports, "__esModule", {
6
8
  value: true
7
9
  });
8
10
  exports.getFormat = void 0;
9
11
 
12
+ require("core-js/modules/es.array.is-array.js");
13
+
10
14
  require("core-js/modules/es.array.join.js");
11
15
 
16
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
+
12
18
  var getFormat = function getFormat(type) {
13
19
  var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {
14
20
  filesIds: []
@@ -16,8 +22,13 @@ var getFormat = function getFormat(type) {
16
22
  filesIds = _ref.filesIds;
17
23
 
18
24
  if (!filesIds || !filesIds.length) return null;
19
- if (type === 'array') return filesIds;
20
- if (type === 'string') return filesIds.join();
25
+
26
+ var _ref2 = Array.isArray(type) ? type : [type],
27
+ _ref3 = (0, _slicedToArray2["default"])(_ref2, 1),
28
+ primaryType = _ref3[0];
29
+
30
+ if (primaryType === 'array') return filesIds || [];
31
+ if (primaryType === 'string') return filesIds.join() || '';
21
32
  };
22
33
 
23
34
  exports.getFormat = getFormat;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/FileUploadAdapter/mappers/get-format.js"],"names":["getFormat","type","filesIds","length","join"],"mappings":";;;;;;;;;;;AAAA,IAAMA,SAAS,GAAG,SAAZA,SAAY,CAACC,IAAD,EAA2C;AAAA,iFAArB;AAAEC,IAAAA,QAAQ,EAAE;AAAZ,GAAqB;AAAA,MAAlCA,QAAkC,QAAlCA,QAAkC;;AAC3D,MAAI,CAACA,QAAD,IAAa,CAACA,QAAQ,CAACC,MAA3B,EAAmC,OAAO,IAAP;AACnC,MAAIF,IAAI,KAAK,OAAb,EAAsB,OAAOC,QAAP;AACtB,MAAID,IAAI,KAAK,QAAb,EAAuB,OAAOC,QAAQ,CAACE,IAAT,EAAP;AACxB,CAJD","sourcesContent":["const getFormat = (type, { filesIds } = { filesIds: [] }) => {\n if (!filesIds || !filesIds.length) return null;\n if (type === 'array') return filesIds;\n if (type === 'string') return filesIds.join();\n};\n\nexport { getFormat };\n"],"file":"get-format.js"}
1
+ {"version":3,"sources":["../../../../src/components/FileUploadAdapter/mappers/get-format.js"],"names":["getFormat","type","filesIds","length","Array","isArray","primaryType","join"],"mappings":";;;;;;;;;;;;;;;;;AAAA,IAAMA,SAAS,GAAG,SAAZA,SAAY,CAACC,IAAD,EAA2C;AAAA,iFAArB;AAAEC,IAAAA,QAAQ,EAAE;AAAZ,GAAqB;AAAA,MAAlCA,QAAkC,QAAlCA,QAAkC;;AAC3D,MAAI,CAACA,QAAD,IAAa,CAACA,QAAQ,CAACC,MAA3B,EAAmC,OAAO,IAAP;;AAEnC,cAAsBC,KAAK,CAACC,OAAN,CAAcJ,IAAd,IAAsBA,IAAtB,GAA6B,CAACA,IAAD,CAAnD;AAAA;AAAA,MAAOK,WAAP;;AACA,MAAIA,WAAW,KAAK,OAApB,EAA6B,OAAOJ,QAAQ,IAAI,EAAnB;AAC7B,MAAII,WAAW,KAAK,QAApB,EAA8B,OAAOJ,QAAQ,CAACK,IAAT,MAAmB,EAA1B;AAC/B,CAND","sourcesContent":["const getFormat = (type, { filesIds } = { filesIds: [] }) => {\n if (!filesIds || !filesIds.length) return null;\n\n const [primaryType] = Array.isArray(type) ? type : [type];\n if (primaryType === 'array') return filesIds || [];\n if (primaryType === 'string') return filesIds.join() || '';\n};\n\nexport { getFormat };\n"],"file":"get-format.js"}
@@ -5,16 +5,16 @@ require("core-js/modules/es.object.define-property.js");
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- Object.defineProperty(exports, "isUnselecting", {
8
+ Object.defineProperty(exports, "formatInitialValue", {
9
9
  enumerable: true,
10
10
  get: function get() {
11
- return _isUnselecting.isUnselecting;
11
+ return _formatInitialValue.formatInitialValue;
12
12
  }
13
13
  });
14
- Object.defineProperty(exports, "transformToArray", {
14
+ Object.defineProperty(exports, "getButtonText", {
15
15
  enumerable: true,
16
16
  get: function get() {
17
- return _transformToArray.transformToArray;
17
+ return _getButtonText.getButtonText;
18
18
  }
19
19
  });
20
20
  Object.defineProperty(exports, "getFormat", {
@@ -23,22 +23,22 @@ Object.defineProperty(exports, "getFormat", {
23
23
  return _getFormat.getFormat;
24
24
  }
25
25
  });
26
- Object.defineProperty(exports, "getButtonText", {
26
+ Object.defineProperty(exports, "getNumberFilesPendingToFetch", {
27
27
  enumerable: true,
28
28
  get: function get() {
29
- return _getButtonText.getButtonText;
29
+ return _getNumberFilesPendingToFetch.getNumberFilesPendingToFetch;
30
30
  }
31
31
  });
32
- Object.defineProperty(exports, "formatInitialValue", {
32
+ Object.defineProperty(exports, "isUnselecting", {
33
33
  enumerable: true,
34
34
  get: function get() {
35
- return _formatInitialValue.formatInitialValue;
35
+ return _isUnselecting.isUnselecting;
36
36
  }
37
37
  });
38
- Object.defineProperty(exports, "getNumberFilesPendingToFetch", {
38
+ Object.defineProperty(exports, "transformToArray", {
39
39
  enumerable: true,
40
40
  get: function get() {
41
- return _getNumberFilesPendingToFetch.getNumberFilesPendingToFetch;
41
+ return _transformToArray.transformToArray;
42
42
  }
43
43
  });
44
44
 
@@ -11,16 +11,16 @@ Object.defineProperty(exports, "MediaContext", {
11
11
  return _mediaContext.MediaContext;
12
12
  }
13
13
  });
14
- Object.defineProperty(exports, "MediaContextProvider", {
14
+ Object.defineProperty(exports, "MediaContextConsumer", {
15
15
  enumerable: true,
16
16
  get: function get() {
17
- return _mediaContext.MediaContextProvider;
17
+ return _mediaContext.MediaContextConsumer;
18
18
  }
19
19
  });
20
- Object.defineProperty(exports, "MediaContextConsumer", {
20
+ Object.defineProperty(exports, "MediaContextProvider", {
21
21
  enumerable: true,
22
22
  get: function get() {
23
- return _mediaContext.MediaContextConsumer;
23
+ return _mediaContext.MediaContextProvider;
24
24
  }
25
25
  });
26
26
  Object.defineProperty(exports, "useMediaContext", {
@@ -7,7 +7,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
7
7
  Object.defineProperty(exports, "__esModule", {
8
8
  value: true
9
9
  });
10
- exports.MediaContextConsumer = exports.MediaContextProvider = exports.MediaContext = void 0;
10
+ exports.MediaContextProvider = exports.MediaContextConsumer = exports.MediaContext = void 0;
11
11
 
12
12
  var _react = _interopRequireDefault(require("react"));
13
13
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/FileUploadAdapter/FileList.js"],"names":["React","useState","useEffect","PropTypes","Button","FilePreviewList","FileReorderList","PREVIEW","REORDER","IMAGES","FileList","selectedFiles","allFiles","handleReorderFiles","canDragAndDrop","fetchMore","children","isReorderActive","setIsReorderActive","toggleMode","length","totalImagesString","propTypes","array","isRequired","func","bool","oneOfType","object","string","defaultProps"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,QAAhB,EAA0BC,SAA1B,QAA2C,OAA3C;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,MAAP,MAAmB,qBAAnB;AACA,OAAOC,eAAP,MAA4B,mBAA5B;AACA,OAAOC,eAAP,MAA4B,mBAA5B;AACA,SAASC,OAAT,EAAkBC,OAAlB,EAA2BC,MAA3B,QAAyC,iBAAzC;;AAEA,MAAMC,QAAQ,GAAG,CAAC;AAChBC,EAAAA,aADgB;AAEhBC,EAAAA,QAFgB;AAGhBC,EAAAA,kBAHgB;AAIhBC,EAAAA,cAJgB;AAKhBC,EAAAA,SALgB;AAMhBC,EAAAA;AANgB,CAAD,KAOX;AACJ,QAAM,CAACC,eAAD,EAAkBC,kBAAlB,IAAwCjB,QAAQ,CAAC,KAAD,CAAtD;;AACA,QAAMkB,UAAU,GAAG,MAAM;AACvBJ,IAAAA,SAAS,CAAC,IAAD,CAAT;AACAG,IAAAA,kBAAkB,CAAC,CAACD,eAAF,CAAlB;AACD,GAHD;;AAKAf,EAAAA,SAAS,CACP,MAAM;AACJ,QAAIe,eAAe,IAAIN,aAAa,CAACS,MAAd,GAAuBR,QAAQ,CAACQ,MAAvD,EAA+DL,SAAS,CAAC,IAAD,CAAT;AAChE,GAHM,EAIP,CAACJ,aAAD,CAJO,CAIS;AAJT,GAAT;AAMA,QAAMU,iBAAiB,GAAI,GAAEV,aAAa,CAACS,MAAO,IAAGX,MAAO,EAA5D;AAEA,sBACE,uDACE;AAAK,IAAA,SAAS,EAAC;AAAf,KACGE,aAAa,CAACS,MAAd,GAAuB,CAAvB,iBACC;AAAG,IAAA,SAAS,EAAC;AAAb,KACGC,iBADH,CAFJ,EAMGP,cAAc,iBACb,oBAAC,MAAD;AAAQ,IAAA,OAAO,EAAEK;AAAjB,KAA8BF,eAAe,GAAGV,OAAH,GAAaC,OAA1D,CAPJ,CADF,EAYGM,cAAc,IAAIG,eAAlB,gBACC,oBAAC,eAAD;AAAiB,IAAA,aAAa,EAAEN,aAAhC;AAA+C,IAAA,kBAAkB,EAAEE;AAAnE,IADD,gBAGC,oBAAC,eAAD;AAAiB,IAAA,aAAa,EAAEF;AAAhC,KAAgDK,QAAhD,CAfJ,CADF;AAoBD,CA1CD;;AA4CAN,QAAQ,CAACY,SAAT,GAAqB;AACnBX,EAAAA,aAAa,EAAER,SAAS,CAACoB,KAAV,CAAgBC,UADZ;AAEnBT,EAAAA,SAAS,EAAEZ,SAAS,CAACsB,IAAV,CAAeD,UAFP;AAGnBX,EAAAA,kBAAkB,EAAEV,SAAS,CAACsB,IAAV,CAAeD,UAHhB;AAInBZ,EAAAA,QAAQ,EAAET,SAAS,CAACoB,KAJD;AAKnBT,EAAAA,cAAc,EAAEX,SAAS,CAACuB,IALP;AAOnBV,EAAAA,QAAQ,EAAEb,SAAS,CAACwB,SAAV,CAAoB,CAACxB,SAAS,CAACoB,KAAX,EAAkBpB,SAAS,CAACyB,MAA5B,EAAoCzB,SAAS,CAAC0B,MAA9C,CAApB;AAPS,CAArB;AAUAnB,QAAQ,CAACoB,YAAT,GAAwB;AACtBd,EAAAA,QAAQ,EAAE,EADY;AAEtBJ,EAAAA,QAAQ,EAAE,EAFY;AAGtBE,EAAAA,cAAc,EAAE;AAHM,CAAxB;AAMA,eAAeJ,QAAf","sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport Button from '@blaze-react/button';\nimport FilePreviewList from './FilePreviewList';\nimport FileReorderList from './FileReorderList';\nimport { PREVIEW, REORDER, IMAGES } from '../../constants';\n\nconst FileList = ({\n selectedFiles,\n allFiles,\n handleReorderFiles,\n canDragAndDrop,\n fetchMore,\n children\n}) => {\n const [isReorderActive, setIsReorderActive] = useState(false);\n const toggleMode = () => {\n fetchMore(true);\n setIsReorderActive(!isReorderActive);\n };\n\n useEffect(\n () => {\n if (isReorderActive && selectedFiles.length > allFiles.length) fetchMore(true);\n },\n [selectedFiles] //eslint-disable-line\n );\n const totalImagesString = `${selectedFiles.length} ${IMAGES}`;\n\n return (\n <>\n <div className=\"FileUploadAdapter__header\">\n {selectedFiles.length > 1 && (\n <p className=\"FileUploadAdapter FileUploadAdapter__preview-counter\">\n {totalImagesString}\n </p>\n )}\n {canDragAndDrop && (\n <Button onClick={toggleMode}>{isReorderActive ? PREVIEW : REORDER}</Button>\n )}\n </div>\n\n {canDragAndDrop && isReorderActive ? (\n <FileReorderList selectedFiles={selectedFiles} handleReorderFiles={handleReorderFiles} />\n ) : (\n <FilePreviewList selectedFiles={selectedFiles}>{children}</FilePreviewList>\n )}\n </>\n );\n};\n\nFileList.propTypes = {\n selectedFiles: PropTypes.array.isRequired,\n fetchMore: PropTypes.func.isRequired,\n handleReorderFiles: PropTypes.func.isRequired,\n allFiles: PropTypes.array,\n canDragAndDrop: PropTypes.bool,\n\n children: PropTypes.oneOfType([PropTypes.array, PropTypes.object, PropTypes.string])\n};\n\nFileList.defaultProps = {\n children: [],\n allFiles: [],\n canDragAndDrop: false\n};\n\nexport default FileList;\n"],"file":"FileList.js"}
1
+ {"version":3,"sources":["../../../src/components/FileUploadAdapter/FileList.js"],"names":["React","useState","useEffect","PropTypes","Button","FilePreviewList","FileReorderList","PREVIEW","REORDER","IMAGES","FileList","selectedFiles","allFiles","handleReorderFiles","canDragAndDrop","fetchMore","children","isReorderActive","setIsReorderActive","toggleMode","length","totalImagesString","propTypes","array","isRequired","func","bool","oneOfType","object","string","defaultProps"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,QAAhB,EAA0BC,SAA1B,QAA2C,OAA3C;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,MAAP,MAAmB,qBAAnB;AACA,OAAOC,eAAP,MAA4B,mBAA5B;AACA,OAAOC,eAAP,MAA4B,mBAA5B;AACA,SAASC,OAAT,EAAkBC,OAAlB,EAA2BC,MAA3B,QAAyC,iBAAzC;;AAEA,MAAMC,QAAQ,GAAG,CAAC;AAChBC,EAAAA,aADgB;AAEhBC,EAAAA,QAFgB;AAGhBC,EAAAA,kBAHgB;AAIhBC,EAAAA,cAJgB;AAKhBC,EAAAA,SALgB;AAMhBC,EAAAA;AANgB,CAAD,KAOX;AACJ,QAAM,CAACC,eAAD,EAAkBC,kBAAlB,IAAwCjB,QAAQ,CAAC,KAAD,CAAtD;;AACA,QAAMkB,UAAU,GAAG,MAAM;AACvBJ,IAAAA,SAAS,CAAC,IAAD,CAAT;AACAG,IAAAA,kBAAkB,CAAC,CAACD,eAAF,CAAlB;AACD,GAHD;;AAKAf,EAAAA,SAAS,CACP,MAAM;AACJ,QAAIe,eAAe,IAAIN,aAAa,CAACS,MAAd,GAAuBR,QAAQ,CAACQ,MAAvD,EAA+DL,SAAS,CAAC,IAAD,CAAT;AAChE,GAHM,EAIP,CAACJ,aAAD,CAJO,CAIS;AAJT,GAAT;AAMA,QAAMU,iBAAiB,GAAI,GAAEV,aAAa,CAACS,MAAO,IAAGX,MAAO,EAA5D;AAEA,sBACE,uDACE;AAAK,IAAA,SAAS,EAAC;AAAf,KACGE,aAAa,CAACS,MAAd,GAAuB,CAAvB,iBACC;AAAG,IAAA,SAAS,EAAC;AAAb,KACGC,iBADH,CAFJ,EAMGP,cAAc,iBACb,oBAAC,MAAD;AAAQ,IAAA,OAAO,EAAEK;AAAjB,KAA8BF,eAAe,GAAGV,OAAH,GAAaC,OAA1D,CAPJ,CADF,EAYGM,cAAc,IAAIG,eAAlB,gBACC,oBAAC,eAAD;AAAiB,IAAA,aAAa,EAAEN,aAAhC;AAA+C,IAAA,kBAAkB,EAAEE;AAAnE,IADD,gBAGC,oBAAC,eAAD;AAAiB,IAAA,aAAa,EAAEF;AAAhC,KAAgDK,QAAhD,CAfJ,CADF;AAoBD,CA1CD;;AA4CAN,QAAQ,CAACY,SAAT,GAAqB;AACnBX,EAAAA,aAAa,EAAER,SAAS,CAACoB,KAAV,CAAgBC,UADZ;AAEnBT,EAAAA,SAAS,EAAEZ,SAAS,CAACsB,IAAV,CAAeD,UAFP;AAGnBX,EAAAA,kBAAkB,EAAEV,SAAS,CAACsB,IAAV,CAAeD,UAHhB;AAInBZ,EAAAA,QAAQ,EAAET,SAAS,CAACoB,KAJD;AAKnBT,EAAAA,cAAc,EAAEX,SAAS,CAACuB,IALP;AAMnBV,EAAAA,QAAQ,EAAEb,SAAS,CAACwB,SAAV,CAAoB,CAACxB,SAAS,CAACoB,KAAX,EAAkBpB,SAAS,CAACyB,MAA5B,EAAoCzB,SAAS,CAAC0B,MAA9C,CAApB;AANS,CAArB;AASAnB,QAAQ,CAACoB,YAAT,GAAwB;AACtBd,EAAAA,QAAQ,EAAE,EADY;AAEtBJ,EAAAA,QAAQ,EAAE,EAFY;AAGtBE,EAAAA,cAAc,EAAE;AAHM,CAAxB;AAMA,eAAeJ,QAAf","sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport Button from '@blaze-react/button';\nimport FilePreviewList from './FilePreviewList';\nimport FileReorderList from './FileReorderList';\nimport { PREVIEW, REORDER, IMAGES } from '../../constants';\n\nconst FileList = ({\n selectedFiles,\n allFiles,\n handleReorderFiles,\n canDragAndDrop,\n fetchMore,\n children\n}) => {\n const [isReorderActive, setIsReorderActive] = useState(false);\n const toggleMode = () => {\n fetchMore(true);\n setIsReorderActive(!isReorderActive);\n };\n\n useEffect(\n () => {\n if (isReorderActive && selectedFiles.length > allFiles.length) fetchMore(true);\n },\n [selectedFiles] //eslint-disable-line\n );\n const totalImagesString = `${selectedFiles.length} ${IMAGES}`;\n\n return (\n <>\n <div className=\"FileUploadAdapter__header\">\n {selectedFiles.length > 1 && (\n <p className=\"FileUploadAdapter FileUploadAdapter__preview-counter\">\n {totalImagesString}\n </p>\n )}\n {canDragAndDrop && (\n <Button onClick={toggleMode}>{isReorderActive ? PREVIEW : REORDER}</Button>\n )}\n </div>\n\n {canDragAndDrop && isReorderActive ? (\n <FileReorderList selectedFiles={selectedFiles} handleReorderFiles={handleReorderFiles} />\n ) : (\n <FilePreviewList selectedFiles={selectedFiles}>{children}</FilePreviewList>\n )}\n </>\n );\n};\n\nFileList.propTypes = {\n selectedFiles: PropTypes.array.isRequired,\n fetchMore: PropTypes.func.isRequired,\n handleReorderFiles: PropTypes.func.isRequired,\n allFiles: PropTypes.array,\n canDragAndDrop: PropTypes.bool,\n children: PropTypes.oneOfType([PropTypes.array, PropTypes.object, PropTypes.string])\n};\n\nFileList.defaultProps = {\n children: [],\n allFiles: [],\n canDragAndDrop: false\n};\n\nexport default FileList;\n"],"file":"FileList.js"}
@@ -286,6 +286,13 @@ const FileUploadAdapter = ({
286
286
  modifiers: []
287
287
  }];
288
288
  const filesPendingString = `${filesPending} ${MORE}`;
289
+ const fileListSpan = filesPending ?
290
+ /*#__PURE__*/
291
+ // eslint-disable-next-line jsx-a11y/no-static-element-interactions
292
+ React.createElement("span", {
293
+ className: "FileUploadAdapter__preview-link button button--link",
294
+ onClick: fetchMore
295
+ }, "+ ", filesPendingString) : null;
289
296
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
290
297
  className: "form-field form-field--button"
291
298
  }, /*#__PURE__*/React.createElement("label", null, label), selectedFiles && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(MediaContextProvider, {
@@ -301,13 +308,7 @@ const FileUploadAdapter = ({
301
308
  handleReorderFiles: handleReorderFiles,
302
309
  canDragAndDrop: canDragAndDrop,
303
310
  fetchMore: fetchMore
304
- }, !!filesPending &&
305
- /*#__PURE__*/
306
- // eslint-disable-next-line jsx-a11y/no-static-element-interactions
307
- React.createElement("span", {
308
- className: "FileUploadAdapter__preview-link button button--link",
309
- onClick: fetchMore
310
- }, "+ ", filesPendingString))) : /*#__PURE__*/React.createElement(FileList, {
311
+ }, fileListSpan)) : /*#__PURE__*/React.createElement(FileList, {
311
312
  selectedFiles: selectedFiles,
312
313
  handleReorderFiles: handleReorderFiles,
313
314
  fetchMore: fetchMore
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/FileUploadAdapter/FileUploadAdapter.js"],"names":["React","useState","useContext","useEffect","FileUpload","Modal","PropTypes","useApolloClient","getQuery","getMutation","parseFormValues","useToasts","MORE","ListingContainer","MediaContextProvider","FileList","useLimit","getFormat","formatInitialValue","transformToArray","isUnselecting","getButtonText","getNumberFilesPendingToFetch","FilePreview","FileUploadAdapter","onChange","label","id","type","value","maxItems","shouldRenderInPreview","canDragAndDrop","InjectPreview","FormContext","currentLimit","displayModal","setDisplayModal","initialValue","currentValue","setCurrentValue","currentOffset","setCurrentOffset","selectedFiles","setSelectedFiles","editFile","setEditFile","client","addToast","getFiles","offset","ids","fetchAll","data","files","newFiles","query","variables","limit","where","_in","skip","length","fetchPolicy","initialFiles","filter","_","i","orderedFiles","orderFiles","fetchMore","shouldFetchAll","newOffset","updatedOffset","offsetToUse","handleSelectedFiles","checkIsUnselecting","isUnselectingFile","valueArray","selectedFilesIds","valueId","includes","parsedValue","filesIds","event","target","name","fileData","handleReorderFiles","map","fileId","closeModalAndSetValue","isSaving","fileUploadButtonText","filesPending","onOpenLibrary","handleEditModal","file","selectedEditFile","find","_id","handleEditFileForm","editedFile","values","valuesChecked","altText","caption","credits","hrefUrl","currentId","Boolean","modalActions","textButton","callback","modifiers","editModalActions","editedFileId","updatedSelectedFiles","selectedFile","mutate","mutation","input","update","cache","updateFile","fileUpdated","writeQuery","result","appearance","autoDismiss","e","console","error","filesPendingString","onUnselectFile","previewerId","fileName","propTypes","func","isRequired","string","oneOfType","array","number","bool","defaultProps"],"mappings":"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","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 'react-apollo';\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\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 {!!filesPending && (\n // eslint-disable-next-line jsx-a11y/no-static-element-interactions\n <span\n className=\"FileUploadAdapter__preview-link button button--link\"\n onClick={fetchMore}>\n + {filesPendingString}\n </span>\n )}\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"],"file":"FileUploadAdapter.js"}
1
+ {"version":3,"sources":["../../../src/components/FileUploadAdapter/FileUploadAdapter.js"],"names":["React","useState","useContext","useEffect","FileUpload","Modal","PropTypes","useApolloClient","getQuery","getMutation","parseFormValues","useToasts","MORE","ListingContainer","MediaContextProvider","FileList","useLimit","getFormat","formatInitialValue","transformToArray","isUnselecting","getButtonText","getNumberFilesPendingToFetch","FilePreview","FileUploadAdapter","onChange","label","id","type","value","maxItems","shouldRenderInPreview","canDragAndDrop","InjectPreview","FormContext","currentLimit","displayModal","setDisplayModal","initialValue","currentValue","setCurrentValue","currentOffset","setCurrentOffset","selectedFiles","setSelectedFiles","editFile","setEditFile","client","addToast","getFiles","offset","ids","fetchAll","data","files","newFiles","query","variables","limit","where","_in","skip","length","fetchPolicy","initialFiles","filter","_","i","orderedFiles","orderFiles","fetchMore","shouldFetchAll","newOffset","updatedOffset","offsetToUse","handleSelectedFiles","checkIsUnselecting","isUnselectingFile","valueArray","selectedFilesIds","valueId","includes","parsedValue","filesIds","event","target","name","fileData","handleReorderFiles","map","fileId","closeModalAndSetValue","isSaving","fileUploadButtonText","filesPending","onOpenLibrary","handleEditModal","file","selectedEditFile","find","_id","handleEditFileForm","editedFile","values","valuesChecked","altText","caption","credits","hrefUrl","currentId","Boolean","modalActions","textButton","callback","modifiers","editModalActions","editedFileId","updatedSelectedFiles","selectedFile","mutate","mutation","input","update","cache","updateFile","fileUpdated","writeQuery","result","appearance","autoDismiss","e","console","error","filesPendingString","fileListSpan","onUnselectFile","previewerId","fileName","propTypes","func","isRequired","string","oneOfType","array","number","bool","defaultProps"],"mappings":"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","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 'react-apollo';\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"],"file":"FileUploadAdapter.js"}
@@ -4,8 +4,9 @@ const getFormat = (type, {
4
4
  filesIds: []
5
5
  }) => {
6
6
  if (!filesIds || !filesIds.length) return null;
7
- if (type === 'array') return filesIds;
8
- if (type === 'string') return filesIds.join();
7
+ const [primaryType] = Array.isArray(type) ? type : [type];
8
+ if (primaryType === 'array') return filesIds || [];
9
+ if (primaryType === 'string') return filesIds.join() || '';
9
10
  };
10
11
 
11
12
  export { getFormat };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/FileUploadAdapter/mappers/get-format.js"],"names":["getFormat","type","filesIds","length","join"],"mappings":"AAAA,MAAMA,SAAS,GAAG,CAACC,IAAD,EAAO;AAAEC,EAAAA;AAAF,IAAe;AAAEA,EAAAA,QAAQ,EAAE;AAAZ,CAAtB,KAA2C;AAC3D,MAAI,CAACA,QAAD,IAAa,CAACA,QAAQ,CAACC,MAA3B,EAAmC,OAAO,IAAP;AACnC,MAAIF,IAAI,KAAK,OAAb,EAAsB,OAAOC,QAAP;AACtB,MAAID,IAAI,KAAK,QAAb,EAAuB,OAAOC,QAAQ,CAACE,IAAT,EAAP;AACxB,CAJD;;AAMA,SAASJ,SAAT","sourcesContent":["const getFormat = (type, { filesIds } = { filesIds: [] }) => {\n if (!filesIds || !filesIds.length) return null;\n if (type === 'array') return filesIds;\n if (type === 'string') return filesIds.join();\n};\n\nexport { getFormat };\n"],"file":"get-format.js"}
1
+ {"version":3,"sources":["../../../../src/components/FileUploadAdapter/mappers/get-format.js"],"names":["getFormat","type","filesIds","length","primaryType","Array","isArray","join"],"mappings":"AAAA,MAAMA,SAAS,GAAG,CAACC,IAAD,EAAO;AAAEC,EAAAA;AAAF,IAAe;AAAEA,EAAAA,QAAQ,EAAE;AAAZ,CAAtB,KAA2C;AAC3D,MAAI,CAACA,QAAD,IAAa,CAACA,QAAQ,CAACC,MAA3B,EAAmC,OAAO,IAAP;AAEnC,QAAM,CAACC,WAAD,IAAgBC,KAAK,CAACC,OAAN,CAAcL,IAAd,IAAsBA,IAAtB,GAA6B,CAACA,IAAD,CAAnD;AACA,MAAIG,WAAW,KAAK,OAApB,EAA6B,OAAOF,QAAQ,IAAI,EAAnB;AAC7B,MAAIE,WAAW,KAAK,QAApB,EAA8B,OAAOF,QAAQ,CAACK,IAAT,MAAmB,EAA1B;AAC/B,CAND;;AAQA,SAASP,SAAT","sourcesContent":["const getFormat = (type, { filesIds } = { filesIds: [] }) => {\n if (!filesIds || !filesIds.length) return null;\n\n const [primaryType] = Array.isArray(type) ? type : [type];\n if (primaryType === 'array') return filesIds || [];\n if (primaryType === 'string') return filesIds.join() || '';\n};\n\nexport { getFormat };\n"],"file":"get-format.js"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blaze-cms/plugin-media-ui",
3
- "version": "0.105.0",
3
+ "version": "0.110.0",
4
4
  "description": "Blaze plugin media ui",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib-es/index.js",
@@ -29,8 +29,8 @@
29
29
  "dependencies": {
30
30
  "@blaze-cms/admin-ui-utils": "^0.102.0",
31
31
  "@blaze-cms/core-errors": "^0.102.0",
32
- "@blaze-cms/plugin-search-ui": "^0.102.0",
33
- "@blaze-cms/react-form-builder": "^0.105.0",
32
+ "@blaze-cms/plugin-search-ui": "^0.110.0",
33
+ "@blaze-cms/react-form-builder": "^0.106.0",
34
34
  "@blaze-cms/setup-ui": "^0.92.0",
35
35
  "@blaze-react/button": "0.5.19",
36
36
  "@blaze-react/drafteditor": "0.7.0",
@@ -44,7 +44,7 @@
44
44
  "react-tiny-virtual-list": "2.2.0"
45
45
  },
46
46
  "devDependencies": {
47
- "@blaze-cms/core-ui": "^0.102.0"
47
+ "@blaze-cms/core-ui": "^0.110.0"
48
48
  },
49
49
  "peerDependencies": {
50
50
  "@blaze-cms/admin": "^0.97.2",
@@ -57,5 +57,5 @@
57
57
  "lib/*",
58
58
  "lib-es/*"
59
59
  ],
60
- "gitHead": "bc494f945e386e19edf54c284db5ddac8086352f"
60
+ "gitHead": "c549c11be6bc4f720fd479521533f18b8e93bbaf"
61
61
  }
@@ -55,7 +55,6 @@ FileList.propTypes = {
55
55
  handleReorderFiles: PropTypes.func.isRequired,
56
56
  allFiles: PropTypes.array,
57
57
  canDragAndDrop: PropTypes.bool,
58
-
59
58
  children: PropTypes.oneOfType([PropTypes.array, PropTypes.object, PropTypes.string])
60
59
  };
61
60
 
@@ -252,6 +252,12 @@ const FileUploadAdapter = ({
252
252
  }
253
253
  ];
254
254
  const filesPendingString = `${filesPending} ${MORE}`;
255
+ const fileListSpan = filesPending ? (
256
+ // eslint-disable-next-line jsx-a11y/no-static-element-interactions
257
+ <span className="FileUploadAdapter__preview-link button button--link" onClick={fetchMore}>
258
+ + {filesPendingString}
259
+ </span>
260
+ ) : null;
255
261
 
256
262
  return (
257
263
  <>
@@ -268,14 +274,7 @@ const FileUploadAdapter = ({
268
274
  handleReorderFiles={handleReorderFiles}
269
275
  canDragAndDrop={canDragAndDrop}
270
276
  fetchMore={fetchMore}>
271
- {!!filesPending && (
272
- // eslint-disable-next-line jsx-a11y/no-static-element-interactions
273
- <span
274
- className="FileUploadAdapter__preview-link button button--link"
275
- onClick={fetchMore}>
276
- + {filesPendingString}
277
- </span>
278
- )}
277
+ {fileListSpan}
279
278
  </FileList>
280
279
  </InjectPreview>
281
280
  ) : (
@@ -1,7 +1,9 @@
1
1
  const getFormat = (type, { filesIds } = { filesIds: [] }) => {
2
2
  if (!filesIds || !filesIds.length) return null;
3
- if (type === 'array') return filesIds;
4
- if (type === 'string') return filesIds.join();
3
+
4
+ const [primaryType] = Array.isArray(type) ? type : [type];
5
+ if (primaryType === 'array') return filesIds || [];
6
+ if (primaryType === 'string') return filesIds.join() || '';
5
7
  };
6
8
 
7
9
  export { getFormat };