@blaze-cms/plugin-media-ui 0.146.0-core-styles.36 → 0.146.0-core-styles.41
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 +19 -0
- package/lib/components/FileUploadAdapter/FileUploadAdapter.js +7 -1
- package/lib/components/FileUploadAdapter/FileUploadAdapter.js.map +1 -1
- package/lib/components/FileUploadModal/FileUploadModal.js +18 -12
- package/lib/components/FileUploadModal/FileUploadModal.js.map +1 -1
- package/lib-es/components/FileUploadAdapter/FileUploadAdapter.js +7 -1
- package/lib-es/components/FileUploadAdapter/FileUploadAdapter.js.map +1 -1
- package/lib-es/components/FileUploadModal/FileUploadModal.js +5 -3
- package/lib-es/components/FileUploadModal/FileUploadModal.js.map +1 -1
- package/package.json +7 -7
- package/src/components/FileUploadAdapter/FileUploadAdapter.js +8 -1
- package/src/components/FileUploadModal/FileUploadModal.js +5 -3
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,25 @@
|
|
|
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.146.0-core-styles.41](https://github.com/thebyte9/blaze/compare/v0.146.0-core-styles.40...v0.146.0-core-styles.41) (2024-12-16)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @blaze-cms/plugin-media-ui
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
# [0.146.0-core-styles.40](https://github.com/thebyte9/blaze/compare/v0.146.0-core-styles.39...v0.146.0-core-styles.40) (2024-12-13)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Bug Fixes
|
|
18
|
+
|
|
19
|
+
* add simple layout toast message ([#4567](https://github.com/thebyte9/blaze/issues/4567)) ([473b722](https://github.com/thebyte9/blaze/commit/473b7226bbc74337462973150910a58e5289b2fb))
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
6
25
|
# [0.146.0-core-styles.36](https://github.com/thebyte9/blaze/compare/v0.146.0-core-styles.35...v0.146.0-core-styles.36) (2024-11-07)
|
|
7
26
|
|
|
8
27
|
**Note:** Version bump only for package @blaze-cms/plugin-media-ui
|
|
@@ -239,7 +239,13 @@ var FileUploadAdapter = function FileUploadAdapter(_ref) {
|
|
|
239
239
|
value: parsedValue
|
|
240
240
|
});
|
|
241
241
|
};
|
|
242
|
-
var closeModalAndSetValue = function closeModalAndSetValue(isSaving, values) {
|
|
242
|
+
var closeModalAndSetValue = function closeModalAndSetValue(isSaving, values, toastMessage) {
|
|
243
|
+
if (toastMessage) {
|
|
244
|
+
addToast(toastMessage, {
|
|
245
|
+
appearance: 'success',
|
|
246
|
+
autoDismiss: true
|
|
247
|
+
});
|
|
248
|
+
}
|
|
243
249
|
if (isSaving) {
|
|
244
250
|
var parsedValue = (0, _mappers.getFormat)(type, {
|
|
245
251
|
filesIds: simpleLayout ? values : currentValue
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileUploadAdapter.js","names":["_react","_interopRequireWildcard","require","_fileUpload","_interopRequireDefault","_propTypes","_client","_adminUiUtils","_reactFormBuilder","_toaster","_constants","_ListingContainer","_mediaContext","_FileList","_useLimit3","_mappers","_FilePreview","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","FileUploadAdapter","_ref","onChange","label","id","type","value","maxItems","shouldRenderInPreview","canDragAndDrop","simpleLayout","previewAllFiles","_useContext","useContext","FormContext","InjectPreview","_useLimit","useLimit","_useLimit2","_slicedToArray2","currentLimit","_useState","useState","_useState2","displayModal","setDisplayModal","_useState3","_useState4","displayFileUploadModal","setDisplayFileUploadModal","initialValue","formatInitialValue","_useState5","_useState6","currentValue","setCurrentValue","_useState7","_useState8","currentOffset","setCurrentOffset","_useState9","_useState10","selectedFiles","setSelectedFiles","_useState11","_useState12","editFile","setEditFile","client","useApolloClient","_useToasts","useToasts","addToast","getFiles","_ref2","_asyncToGenerator2","_regenerator","mark","_callee","offset","ids","fetchAll","_yield$client$query","newFiles","_args","wrap","_callee$","_context","prev","next","undefined","query","getQuery","variables","limit","where","_in","skip","fetchPolicy","sent","data","files","abrupt","stop","_x","_x2","useEffect","_callee2","initialFiles","orderedFiles","_callee2$","_context2","_","orderFiles","fetchMore","_ref4","_callee3","shouldFetchAll","newOffset","updatedOffset","offsetToUse","_callee3$","_context3","concat","_toConsumableArray2","_x3","handleSelectedFiles","checkIsUnselecting","isUnselectingFile","isUnselecting","valueArray","transformToArray","selectedFilesIds","valueId","includes","parsedValue","getFormat","filesIds","event","target","name","fileData","handleReorderFiles","map","_ref5","fileId","closeModalAndSetValue","isSaving","values","fileUploadButtonText","getButtonText","filesPending","getNumberFilesPendingToFetch","onOpenLibrary","handleEditModal","file","selectedEditFile","find","_ref6","_id","handleEditFileForm","editedFile","parseFormValues","valuesChecked","altText","caption","credits","hrefUrl","currentId","_ref7","Boolean","modalActions","textButton","callback","modifiers","editModalActions","_callback","_callee4","editedFileId","updatedSelectedFiles","_callee4$","_context4","selectedFile","mutate","mutation","getMutation","input","update","cache","_ref8","fileUpdated","updateFile","writeQuery","result","appearance","autoDismiss","t0","console","error","filesPendingString","MORE","fileListSpan","createElement","className","onClick","Fragment","MediaContextProvider","onUnselectFile","selector","previewerId","allFiles","actionText","handleLibraryClick","enableDragAndDrop","ModalAdapter","actions","title","onClose","fileName","handleFormChange","displayForm","previewType","filesSelected","propTypes","PropTypes","func","isRequired","string","oneOfType","array","number","bool","defaultProps","_default","exports"],"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';\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 simpleLayout,\n previewAllFiles\n}) => {\n const { InjectPreview } = useContext(FileUploadAdapter.FormContext);\n const [currentLimit] = useLimit(maxItems);\n const [displayModal, setDisplayModal] = useState(false);\n const [displayFileUploadModal, setDisplayFileUploadModal] = 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 = previewAllFiles) => {\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 =\n !selectedFiles.length && !previewAllFiles\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, values) => {\n if (isSaving) {\n const parsedValue = getFormat(type, { filesIds: simpleLayout ? values : 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 = previewAllFiles\n ? 0\n : 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={() => {\n if (simpleLayout) {\n setDisplayFileUploadModal(true);\n } else {\n onOpenLibrary();\n }\n }}\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\n {displayFileUploadModal &&\n simpleLayout && (\n <div className=\"file-upload-modal-wrapper\">\n <ListingContainer\n displayFileUploadModal={displayFileUploadModal}\n closeModalAndSetValue={closeModalAndSetValue}\n setDisplayFileUploadModal={setDisplayFileUploadModal}\n handleSelectedFiles={handleSelectedFiles}\n maxItems={currentLimit}\n simpleLayout={simpleLayout}\n filesSelected={currentValue.length > 1 ? currentValue : []}\n />\n </div>\n )}\n\n {displayModal &&\n !simpleLayout && (\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 closeModalAndSetValue={closeModalAndSetValue}\n displayFileUploadModal={displayFileUploadModal}\n setDisplayFileUploadModal={setDisplayFileUploadModal}\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 simpleLayout: PropTypes.bool,\n previewAllFiles: PropTypes.bool\n};\n\nFileUploadAdapter.defaultProps = {\n value: '',\n maxItems: false,\n shouldRenderInPreview: false,\n canDragAndDrop: false,\n simpleLayout: false,\n previewAllFiles: false\n};\n\nexport default FileUploadAdapter;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"FileUploadAdapter.js","names":["_react","_interopRequireWildcard","require","_fileUpload","_interopRequireDefault","_propTypes","_client","_adminUiUtils","_reactFormBuilder","_toaster","_constants","_ListingContainer","_mediaContext","_FileList","_useLimit3","_mappers","_FilePreview","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","FileUploadAdapter","_ref","onChange","label","id","type","value","maxItems","shouldRenderInPreview","canDragAndDrop","simpleLayout","previewAllFiles","_useContext","useContext","FormContext","InjectPreview","_useLimit","useLimit","_useLimit2","_slicedToArray2","currentLimit","_useState","useState","_useState2","displayModal","setDisplayModal","_useState3","_useState4","displayFileUploadModal","setDisplayFileUploadModal","initialValue","formatInitialValue","_useState5","_useState6","currentValue","setCurrentValue","_useState7","_useState8","currentOffset","setCurrentOffset","_useState9","_useState10","selectedFiles","setSelectedFiles","_useState11","_useState12","editFile","setEditFile","client","useApolloClient","_useToasts","useToasts","addToast","getFiles","_ref2","_asyncToGenerator2","_regenerator","mark","_callee","offset","ids","fetchAll","_yield$client$query","newFiles","_args","wrap","_callee$","_context","prev","next","undefined","query","getQuery","variables","limit","where","_in","skip","fetchPolicy","sent","data","files","abrupt","stop","_x","_x2","useEffect","_callee2","initialFiles","orderedFiles","_callee2$","_context2","_","orderFiles","fetchMore","_ref4","_callee3","shouldFetchAll","newOffset","updatedOffset","offsetToUse","_callee3$","_context3","concat","_toConsumableArray2","_x3","handleSelectedFiles","checkIsUnselecting","isUnselectingFile","isUnselecting","valueArray","transformToArray","selectedFilesIds","valueId","includes","parsedValue","getFormat","filesIds","event","target","name","fileData","handleReorderFiles","map","_ref5","fileId","closeModalAndSetValue","isSaving","values","toastMessage","appearance","autoDismiss","fileUploadButtonText","getButtonText","filesPending","getNumberFilesPendingToFetch","onOpenLibrary","handleEditModal","file","selectedEditFile","find","_ref6","_id","handleEditFileForm","editedFile","parseFormValues","valuesChecked","altText","caption","credits","hrefUrl","currentId","_ref7","Boolean","modalActions","textButton","callback","modifiers","editModalActions","_callback","_callee4","editedFileId","updatedSelectedFiles","_callee4$","_context4","selectedFile","mutate","mutation","getMutation","input","update","cache","_ref8","fileUpdated","updateFile","writeQuery","result","t0","console","error","filesPendingString","MORE","fileListSpan","createElement","className","onClick","Fragment","MediaContextProvider","onUnselectFile","selector","previewerId","allFiles","actionText","handleLibraryClick","enableDragAndDrop","ModalAdapter","actions","title","onClose","fileName","handleFormChange","displayForm","previewType","filesSelected","propTypes","PropTypes","func","isRequired","string","oneOfType","array","number","bool","defaultProps","_default","exports"],"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';\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 simpleLayout,\n previewAllFiles\n}) => {\n const { InjectPreview } = useContext(FileUploadAdapter.FormContext);\n const [currentLimit] = useLimit(maxItems);\n const [displayModal, setDisplayModal] = useState(false);\n const [displayFileUploadModal, setDisplayFileUploadModal] = 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 = previewAllFiles) => {\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 =\n !selectedFiles.length && !previewAllFiles\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, values, toastMessage) => {\n if (toastMessage) {\n addToast(toastMessage, {\n appearance: 'success',\n autoDismiss: true\n });\n }\n\n if (isSaving) {\n const parsedValue = getFormat(type, { filesIds: simpleLayout ? values : 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 = previewAllFiles\n ? 0\n : 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={() => {\n if (simpleLayout) {\n setDisplayFileUploadModal(true);\n } else {\n onOpenLibrary();\n }\n }}\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\n {displayFileUploadModal &&\n simpleLayout && (\n <div className=\"file-upload-modal-wrapper\">\n <ListingContainer\n displayFileUploadModal={displayFileUploadModal}\n closeModalAndSetValue={closeModalAndSetValue}\n setDisplayFileUploadModal={setDisplayFileUploadModal}\n handleSelectedFiles={handleSelectedFiles}\n maxItems={currentLimit}\n simpleLayout={simpleLayout}\n filesSelected={currentValue.length > 1 ? currentValue : []}\n />\n </div>\n )}\n\n {displayModal &&\n !simpleLayout && (\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 closeModalAndSetValue={closeModalAndSetValue}\n displayFileUploadModal={displayFileUploadModal}\n setDisplayFileUploadModal={setDisplayFileUploadModal}\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 simpleLayout: PropTypes.bool,\n previewAllFiles: PropTypes.bool\n};\n\nFileUploadAdapter.defaultProps = {\n value: '',\n maxItems: false,\n shouldRenderInPreview: false,\n canDragAndDrop: false,\n simpleLayout: false,\n previewAllFiles: false\n};\n\nexport default FileUploadAdapter;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -58,7 +58,7 @@ var FileUploadModal = function FileUploadModal(_ref) {
|
|
|
58
58
|
};
|
|
59
59
|
var uploadFiles = /*#__PURE__*/function () {
|
|
60
60
|
var _ref2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
61
|
-
var response, parsedResponse, fileNames, filesToSelect;
|
|
61
|
+
var response, parsedResponse, fileNames, toastMessage, filesToSelect;
|
|
62
62
|
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
63
63
|
while (1) switch (_context.prev = _context.next) {
|
|
64
64
|
case 0:
|
|
@@ -96,18 +96,23 @@ var FileUploadModal = function FileUploadModal(_ref) {
|
|
|
96
96
|
return file.name;
|
|
97
97
|
});
|
|
98
98
|
addNewFile(parsedResponse);
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
getSelectedFiles(null, filesToSelect);
|
|
104
|
-
closeModalAndSetValue(simpleLayout, filesToSelect);
|
|
99
|
+
toastMessage = "Uploaded: ".concat(fileNames.join(', '));
|
|
100
|
+
if (!simpleLayout) {
|
|
101
|
+
_context.next = 12;
|
|
102
|
+
break;
|
|
105
103
|
}
|
|
106
|
-
|
|
104
|
+
filesToSelect = parsedResponse.map(function (file) {
|
|
105
|
+
return file.id;
|
|
106
|
+
});
|
|
107
|
+
getSelectedFiles(null, filesToSelect);
|
|
108
|
+
closeModalAndSetValue(simpleLayout, filesToSelect, toastMessage);
|
|
109
|
+
return _context.abrupt("return");
|
|
110
|
+
case 12:
|
|
111
|
+
addToast(toastMessage, {
|
|
107
112
|
appearance: 'success',
|
|
108
113
|
autoDismiss: true
|
|
109
114
|
});
|
|
110
|
-
case
|
|
115
|
+
case 13:
|
|
111
116
|
case "end":
|
|
112
117
|
return _context.stop();
|
|
113
118
|
}
|
|
@@ -122,13 +127,14 @@ var FileUploadModal = function FileUploadModal(_ref) {
|
|
|
122
127
|
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
123
128
|
while (1) switch (_context2.prev = _context2.next) {
|
|
124
129
|
case 0:
|
|
125
|
-
onClose();
|
|
126
130
|
if (!files.length) {
|
|
127
|
-
_context2.next =
|
|
131
|
+
_context2.next = 3;
|
|
128
132
|
break;
|
|
129
133
|
}
|
|
130
|
-
_context2.next =
|
|
134
|
+
_context2.next = 3;
|
|
131
135
|
return uploadFiles();
|
|
136
|
+
case 3:
|
|
137
|
+
onClose();
|
|
132
138
|
case 4:
|
|
133
139
|
case "end":
|
|
134
140
|
return _context2.stop();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileUploadModal.js","names":["_react","_interopRequireWildcard","require","_adminUiUtils","_fileUpload","_interopRequireDefault","_propTypes","_toaster","_client","_useFileList2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","FileUploadModal","_ref","onClose","getSelectedFiles","closeModalAndSetValue","simpleLayout","_useState","useState","_useState2","_slicedToArray2","files","setFiles","_useToasts","useToasts","addToast","client","useApolloClient","_useFileList","useFileList","addNewFile","fileStoresType","getQuery","_useQuery","useQuery","variables","visibleInAdmin","_useQuery$data","data","_useQuery$data2","_useQuery$data2$getFi","getFileStores","storeType","handleFiles","filesToUpload","uploadFiles","_ref2","_asyncToGenerator2","_regenerator","mark","_callee","response","parsedResponse","fileNames","filesToSelect","wrap","_callee$","_context","prev","next","Promise","all","map","_ref3","file","name","fileData","storeKey","mutate","mutation","getMutation","input","filename","error","message","appearance","autoDismiss","sent","_ref4","result","_ref5","id","concat","join","stop","apply","arguments","handleOnSave","_ref6","_callee2","_callee2$","_context2","length","storeOptions","type","key","createElement","Fragment","ModalAdapter","title","actions","textButton","callback","modifiers","upload","onChange","selectOptions","propTypes","PropTypes","func","isRequired","bool","defaultProps","_default","exports"],"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, getSelectedFiles, closeModalAndSetValue, simpleLayout }) => {\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\n if (simpleLayout) {\n const filesToSelect = parsedResponse.map(file => file.id);\n getSelectedFiles(null, filesToSelect);\n closeModalAndSetValue(simpleLayout, filesToSelect);\n }\n\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 getSelectedFiles: PropTypes.func.isRequired,\n onClose: PropTypes.func,\n simpleLayout: PropTypes.bool,\n closeModalAndSetValue: PropTypes.func\n};\n\nFileUploadModal.defaultProps = {\n onClose: () => {},\n closeModalAndSetValue: () => {},\n simpleLayout: false\n};\n\nexport default FileUploadModal;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"FileUploadModal.js","names":["_react","_interopRequireWildcard","require","_adminUiUtils","_fileUpload","_interopRequireDefault","_propTypes","_toaster","_client","_useFileList2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","FileUploadModal","_ref","onClose","getSelectedFiles","closeModalAndSetValue","simpleLayout","_useState","useState","_useState2","_slicedToArray2","files","setFiles","_useToasts","useToasts","addToast","client","useApolloClient","_useFileList","useFileList","addNewFile","fileStoresType","getQuery","_useQuery","useQuery","variables","visibleInAdmin","_useQuery$data","data","_useQuery$data2","_useQuery$data2$getFi","getFileStores","storeType","handleFiles","filesToUpload","uploadFiles","_ref2","_asyncToGenerator2","_regenerator","mark","_callee","response","parsedResponse","fileNames","toastMessage","filesToSelect","wrap","_callee$","_context","prev","next","Promise","all","map","_ref3","file","name","fileData","storeKey","mutate","mutation","getMutation","input","filename","error","message","appearance","autoDismiss","sent","_ref4","result","_ref5","concat","join","id","abrupt","stop","apply","arguments","handleOnSave","_ref6","_callee2","_callee2$","_context2","length","storeOptions","type","key","createElement","Fragment","ModalAdapter","title","actions","textButton","callback","modifiers","upload","onChange","selectOptions","propTypes","PropTypes","func","isRequired","bool","defaultProps","_default","exports"],"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, getSelectedFiles, closeModalAndSetValue, simpleLayout }) => {\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 const toastMessage = `Uploaded: ${fileNames.join(', ')}`;\n\n if (simpleLayout) {\n const filesToSelect = parsedResponse.map(file => file.id);\n getSelectedFiles(null, filesToSelect);\n closeModalAndSetValue(simpleLayout, filesToSelect, toastMessage);\n return;\n }\n\n addToast(toastMessage, {\n appearance: 'success',\n autoDismiss: true\n });\n };\n\n const handleOnSave = async () => {\n if (files.length) await uploadFiles();\n onClose();\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 getSelectedFiles: PropTypes.func.isRequired,\n onClose: PropTypes.func,\n simpleLayout: PropTypes.bool,\n closeModalAndSetValue: PropTypes.func\n};\n\nFileUploadModal.defaultProps = {\n onClose: () => {},\n closeModalAndSetValue: () => {},\n simpleLayout: false\n};\n\nexport default FileUploadModal;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -130,7 +130,13 @@ const FileUploadAdapter = ({
|
|
|
130
130
|
value: parsedValue
|
|
131
131
|
});
|
|
132
132
|
};
|
|
133
|
-
const closeModalAndSetValue = (isSaving, values) => {
|
|
133
|
+
const closeModalAndSetValue = (isSaving, values, toastMessage) => {
|
|
134
|
+
if (toastMessage) {
|
|
135
|
+
addToast(toastMessage, {
|
|
136
|
+
appearance: 'success',
|
|
137
|
+
autoDismiss: true
|
|
138
|
+
});
|
|
139
|
+
}
|
|
134
140
|
if (isSaving) {
|
|
135
141
|
const parsedValue = getFormat(type, {
|
|
136
142
|
filesIds: simpleLayout ? values : currentValue
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileUploadAdapter.js","names":["React","useState","useContext","useEffect","FileUpload","PropTypes","useApolloClient","getQuery","getMutation","ModalAdapter","Modal","parseFormValues","useToasts","MORE","ListingContainer","MediaContextProvider","FileList","useLimit","getFormat","formatInitialValue","transformToArray","isUnselecting","getButtonText","getNumberFilesPendingToFetch","FilePreview","FileUploadAdapter","onChange","label","id","type","value","maxItems","shouldRenderInPreview","canDragAndDrop","simpleLayout","previewAllFiles","InjectPreview","FormContext","currentLimit","displayModal","setDisplayModal","displayFileUploadModal","setDisplayFileUploadModal","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","values","fileUploadButtonText","filesPending","onOpenLibrary","handleEditModal","file","selectedEditFile","find","_id","handleEditFileForm","editedFile","valuesChecked","altText","caption","credits","hrefUrl","_objectSpread","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","createElement","className","onClick","Fragment","onUnselectFile","selector","previewerId","allFiles","actionText","handleLibraryClick","enableDragAndDrop","actions","title","onClose","fileName","handleFormChange","displayForm","previewType","filesSelected","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';\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 simpleLayout,\n previewAllFiles\n}) => {\n const { InjectPreview } = useContext(FileUploadAdapter.FormContext);\n const [currentLimit] = useLimit(maxItems);\n const [displayModal, setDisplayModal] = useState(false);\n const [displayFileUploadModal, setDisplayFileUploadModal] = 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 = previewAllFiles) => {\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 =\n !selectedFiles.length && !previewAllFiles\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, values) => {\n if (isSaving) {\n const parsedValue = getFormat(type, { filesIds: simpleLayout ? values : 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 = previewAllFiles\n ? 0\n : 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={() => {\n if (simpleLayout) {\n setDisplayFileUploadModal(true);\n } else {\n onOpenLibrary();\n }\n }}\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\n {displayFileUploadModal &&\n simpleLayout && (\n <div className=\"file-upload-modal-wrapper\">\n <ListingContainer\n displayFileUploadModal={displayFileUploadModal}\n closeModalAndSetValue={closeModalAndSetValue}\n setDisplayFileUploadModal={setDisplayFileUploadModal}\n handleSelectedFiles={handleSelectedFiles}\n maxItems={currentLimit}\n simpleLayout={simpleLayout}\n filesSelected={currentValue.length > 1 ? currentValue : []}\n />\n </div>\n )}\n\n {displayModal &&\n !simpleLayout && (\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 closeModalAndSetValue={closeModalAndSetValue}\n displayFileUploadModal={displayFileUploadModal}\n setDisplayFileUploadModal={setDisplayFileUploadModal}\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 simpleLayout: PropTypes.bool,\n previewAllFiles: PropTypes.bool\n};\n\nFileUploadAdapter.defaultProps = {\n value: '',\n maxItems: false,\n shouldRenderInPreview: false,\n canDragAndDrop: false,\n simpleLayout: false,\n previewAllFiles: false\n};\n\nexport default FileUploadAdapter;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"FileUploadAdapter.js","names":["React","useState","useContext","useEffect","FileUpload","PropTypes","useApolloClient","getQuery","getMutation","ModalAdapter","Modal","parseFormValues","useToasts","MORE","ListingContainer","MediaContextProvider","FileList","useLimit","getFormat","formatInitialValue","transformToArray","isUnselecting","getButtonText","getNumberFilesPendingToFetch","FilePreview","FileUploadAdapter","onChange","label","id","type","value","maxItems","shouldRenderInPreview","canDragAndDrop","simpleLayout","previewAllFiles","InjectPreview","FormContext","currentLimit","displayModal","setDisplayModal","displayFileUploadModal","setDisplayFileUploadModal","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","values","toastMessage","appearance","autoDismiss","fileUploadButtonText","filesPending","onOpenLibrary","handleEditModal","file","selectedEditFile","find","_id","handleEditFileForm","editedFile","valuesChecked","altText","caption","credits","hrefUrl","_objectSpread","currentId","Boolean","modalActions","textButton","callback","modifiers","editModalActions","editedFileId","updatedSelectedFiles","selectedFile","mutate","mutation","input","update","cache","updateFile","fileUpdated","writeQuery","result","e","console","error","filesPendingString","fileListSpan","createElement","className","onClick","Fragment","onUnselectFile","selector","previewerId","allFiles","actionText","handleLibraryClick","enableDragAndDrop","actions","title","onClose","fileName","handleFormChange","displayForm","previewType","filesSelected","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';\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 simpleLayout,\n previewAllFiles\n}) => {\n const { InjectPreview } = useContext(FileUploadAdapter.FormContext);\n const [currentLimit] = useLimit(maxItems);\n const [displayModal, setDisplayModal] = useState(false);\n const [displayFileUploadModal, setDisplayFileUploadModal] = 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 = previewAllFiles) => {\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 =\n !selectedFiles.length && !previewAllFiles\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, values, toastMessage) => {\n if (toastMessage) {\n addToast(toastMessage, {\n appearance: 'success',\n autoDismiss: true\n });\n }\n\n if (isSaving) {\n const parsedValue = getFormat(type, { filesIds: simpleLayout ? values : 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 = previewAllFiles\n ? 0\n : 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={() => {\n if (simpleLayout) {\n setDisplayFileUploadModal(true);\n } else {\n onOpenLibrary();\n }\n }}\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\n {displayFileUploadModal &&\n simpleLayout && (\n <div className=\"file-upload-modal-wrapper\">\n <ListingContainer\n displayFileUploadModal={displayFileUploadModal}\n closeModalAndSetValue={closeModalAndSetValue}\n setDisplayFileUploadModal={setDisplayFileUploadModal}\n handleSelectedFiles={handleSelectedFiles}\n maxItems={currentLimit}\n simpleLayout={simpleLayout}\n filesSelected={currentValue.length > 1 ? currentValue : []}\n />\n </div>\n )}\n\n {displayModal &&\n !simpleLayout && (\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 closeModalAndSetValue={closeModalAndSetValue}\n displayFileUploadModal={displayFileUploadModal}\n setDisplayFileUploadModal={setDisplayFileUploadModal}\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 simpleLayout: PropTypes.bool,\n previewAllFiles: PropTypes.bool\n};\n\nFileUploadAdapter.defaultProps = {\n value: '',\n maxItems: false,\n shouldRenderInPreview: false,\n canDragAndDrop: false,\n simpleLayout: false,\n previewAllFiles: false\n};\n\nexport default FileUploadAdapter;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -63,19 +63,21 @@ const FileUploadModal = ({
|
|
|
63
63
|
file
|
|
64
64
|
}) => file.name);
|
|
65
65
|
addNewFile(parsedResponse);
|
|
66
|
+
const toastMessage = `Uploaded: ${fileNames.join(', ')}`;
|
|
66
67
|
if (simpleLayout) {
|
|
67
68
|
const filesToSelect = parsedResponse.map(file => file.id);
|
|
68
69
|
getSelectedFiles(null, filesToSelect);
|
|
69
|
-
closeModalAndSetValue(simpleLayout, filesToSelect);
|
|
70
|
+
closeModalAndSetValue(simpleLayout, filesToSelect, toastMessage);
|
|
71
|
+
return;
|
|
70
72
|
}
|
|
71
|
-
addToast(
|
|
73
|
+
addToast(toastMessage, {
|
|
72
74
|
appearance: 'success',
|
|
73
75
|
autoDismiss: true
|
|
74
76
|
});
|
|
75
77
|
};
|
|
76
78
|
const handleOnSave = async () => {
|
|
77
|
-
onClose();
|
|
78
79
|
if (files.length) await uploadFiles();
|
|
80
|
+
onClose();
|
|
79
81
|
};
|
|
80
82
|
const storeOptions = storeType.map(type => [type.key, type.name]);
|
|
81
83
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Modal, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileUploadModal.js","names":["React","useState","ModalAdapter","Modal","getMutation","getQuery","FileUpload","PropTypes","useToasts","useApolloClient","useQuery","useFileList","FileUploadModal","onClose","getSelectedFiles","closeModalAndSetValue","simpleLayout","files","setFiles","addToast","client","addNewFile","fileStoresType","data","getFileStores","storeType","variables","visibleInAdmin","handleFiles","filesToUpload","uploadFiles","response","Promise","all","map","file","name","fileData","storeKey","mutate","mutation","input","filename","catch","error","message","appearance","autoDismiss","parsedResponse","result","fileNames","
|
|
1
|
+
{"version":3,"file":"FileUploadModal.js","names":["React","useState","ModalAdapter","Modal","getMutation","getQuery","FileUpload","PropTypes","useToasts","useApolloClient","useQuery","useFileList","FileUploadModal","onClose","getSelectedFiles","closeModalAndSetValue","simpleLayout","files","setFiles","addToast","client","addNewFile","fileStoresType","data","getFileStores","storeType","variables","visibleInAdmin","handleFiles","filesToUpload","uploadFiles","response","Promise","all","map","file","name","fileData","storeKey","mutate","mutation","input","filename","catch","error","message","appearance","autoDismiss","parsedResponse","result","fileNames","toastMessage","join","filesToSelect","id","handleOnSave","length","storeOptions","type","key","createElement","Fragment","title","actions","textButton","callback","modifiers","upload","onChange","selectOptions","propTypes","func","isRequired","bool","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, getSelectedFiles, closeModalAndSetValue, simpleLayout }) => {\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 const toastMessage = `Uploaded: ${fileNames.join(', ')}`;\n\n if (simpleLayout) {\n const filesToSelect = parsedResponse.map(file => file.id);\n getSelectedFiles(null, filesToSelect);\n closeModalAndSetValue(simpleLayout, filesToSelect, toastMessage);\n return;\n }\n\n addToast(toastMessage, {\n appearance: 'success',\n autoDismiss: true\n });\n };\n\n const handleOnSave = async () => {\n if (files.length) await uploadFiles();\n onClose();\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 getSelectedFiles: PropTypes.func.isRequired,\n onClose: PropTypes.func,\n simpleLayout: PropTypes.bool,\n closeModalAndSetValue: PropTypes.func\n};\n\nFileUploadModal.defaultProps = {\n onClose: () => {},\n closeModalAndSetValue: () => {},\n simpleLayout: false\n};\n\nexport default FileUploadModal;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,QAAQ,QAAQ,OAAO;AACvC,SAASC,YAAY,IAAIC,KAAK,EAAEC,WAAW,EAAEC,QAAQ,QAAQ,2BAA2B;AACxF,OAAOC,UAAU,MAAM,0BAA0B;AACjD,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,SAAS,QAAQ,sBAAsB;AAChD,SAASC,eAAe,EAAEC,QAAQ,QAAQ,gBAAgB;AAC1D,OAAOC,WAAW,MAAM,yBAAyB;AAEjD,MAAMC,eAAe,GAAGA,CAAC;EAAEC,OAAO;EAAEC,gBAAgB;EAAEC,qBAAqB;EAAEC;AAAa,CAAC,KAAK;EAC9F,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAGjB,QAAQ,CAAC,EAAE,CAAC;EACtC,MAAM;IAAEkB;EAAS,CAAC,GAAGX,SAAS,CAAC,CAAC;EAChC,MAAMY,MAAM,GAAGX,eAAe,CAAC,CAAC;EAChC,MAAM;IAAEY;EAAW,CAAC,GAAGV,WAAW,CAAC,CAAC;EAEpC,MAAMW,cAAc,GAAGjB,QAAQ,CAAC,iBAAiB,CAAC;EAElD,MAAM;IAAEkB,IAAI,EAAE;MAAEC,aAAa,EAAEC,SAAS,GAAG;IAAG,CAAC,GAAG,CAAC;EAAE,CAAC,GAAGf,QAAQ,CAACY,cAAc,EAAE;IAChFI,SAAS,EAAE;MAAEC,cAAc,EAAE;IAAK;EACpC,CAAC,CAAC;EAEF,MAAMC,WAAW,GAAGC,aAAa,IAAI;IACnCX,QAAQ,CAACW,aAAa,CAAC;EACzB,CAAC;EAED,MAAMC,WAAW,GAAG,MAAAA,CAAA,KAAY;IAC9B,MAAMC,QAAQ,GAAG,MAAMC,OAAO,CAACC,GAAG,CAChChB,KAAK,CAACiB,GAAG,CAAC,CAAC;MAAEC,IAAI;MAAEC,IAAI;MAAEb,IAAI,EAAEc,QAAQ;MAAEC;IAAS,CAAC,KACjDlB,MAAM,CAACmB,MAAM,CAAC;MACZC,QAAQ,EAAEpC,WAAW,CAAC,aAAa,CAAC;MACpCsB,SAAS,EAAE;QACTe,KAAK,EAAE;UACLN,IAAI;UACJC,IAAI,EAAEA,IAAI,IAAID,IAAI,CAACO,QAAQ;UAC3BJ,QAAQ;UACRf,IAAI,EAAEc;QACR;MACF;IACF,CAAC,CACH,CACF,CAAC,CAACM,KAAK,CAACC,KAAK,IAAI;MACfzB,QAAQ,CAACyB,KAAK,CAACC,OAAO,EAAE;QACtBC,UAAU,EAAE,OAAO;QACnBC,WAAW,EAAE;MACf,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,MAAMC,cAAc,GAAGjB,QAAQ,CAACG,GAAG,CAAC,CAAC;MAAEX,IAAI,EAAE;QAAEY;MAAK;IAAE,CAAC,KAAKA,IAAI,CAACc,MAAM,CAAC;IAExE,MAAMC,SAAS,GAAGjC,KAAK,CAACiB,GAAG,CAAC,CAAC;MAAEC;IAAK,CAAC,KAAKA,IAAI,CAACC,IAAI,CAAC;IACpDf,UAAU,CAAC2B,cAAc,CAAC;IAC1B,MAAMG,YAAY,GAAI,aAAYD,SAAS,CAACE,IAAI,CAAC,IAAI,CAAE,EAAC;IAExD,IAAIpC,YAAY,EAAE;MAChB,MAAMqC,aAAa,GAAGL,cAAc,CAACd,GAAG,CAACC,IAAI,IAAIA,IAAI,CAACmB,EAAE,CAAC;MACzDxC,gBAAgB,CAAC,IAAI,EAAEuC,aAAa,CAAC;MACrCtC,qBAAqB,CAACC,YAAY,EAAEqC,aAAa,EAAEF,YAAY,CAAC;MAChE;IACF;IAEAhC,QAAQ,CAACgC,YAAY,EAAE;MACrBL,UAAU,EAAE,SAAS;MACrBC,WAAW,EAAE;IACf,CAAC,CAAC;EACJ,CAAC;EAED,MAAMQ,YAAY,GAAG,MAAAA,CAAA,KAAY;IAC/B,IAAItC,KAAK,CAACuC,MAAM,EAAE,MAAM1B,WAAW,CAAC,CAAC;IACrCjB,OAAO,CAAC,CAAC;EACX,CAAC;EAED,MAAM4C,YAAY,GAAGhC,SAAS,CAACS,GAAG,CAACwB,IAAI,IAAI,CAACA,IAAI,CAACC,GAAG,EAAED,IAAI,CAACtB,IAAI,CAAC,CAAC;EAEjE,oBACEpC,KAAA,CAAA4D,aAAA,CAAA5D,KAAA,CAAA6D,QAAA,qBACE7D,KAAA,CAAA4D,aAAA,CAACzD,KAAK;IACJU,OAAO,EAAEA,OAAQ;IACjBiD,KAAK,EAAC,WAAW;IACjBC,OAAO,EAAE,CACP;MACEC,UAAU,EAAE,QAAQ;MACpBC,QAAQ,EAAEpD,OAAO;MACjBqD,SAAS,EAAE,CAAC,QAAQ;IACtB,CAAC,EACD;MACEF,UAAU,EAAE,MAAM;MAClBC,QAAQ,EAAEV,YAAY;MACtBW,SAAS,EAAE;IACb,CAAC,CACD;IACFC,MAAM;EAAA,gBACNnE,KAAA,CAAA4D,aAAA,CAACtD,UAAU;IAAC8D,QAAQ,EAAExC,WAAY;IAACyC,aAAa,EAAEZ;EAAa,CAAE,CAC5D,CACP,CAAC;AAEP,CAAC;AAED7C,eAAe,CAAC0D,SAAS,GAAG;EAC1BxD,gBAAgB,EAAEP,SAAS,CAACgE,IAAI,CAACC,UAAU;EAC3C3D,OAAO,EAAEN,SAAS,CAACgE,IAAI;EACvBvD,YAAY,EAAET,SAAS,CAACkE,IAAI;EAC5B1D,qBAAqB,EAAER,SAAS,CAACgE;AACnC,CAAC;AAED3D,eAAe,CAAC8D,YAAY,GAAG;EAC7B7D,OAAO,EAAEA,CAAA,KAAM,CAAC,CAAC;EACjBE,qBAAqB,EAAEA,CAAA,KAAM,CAAC,CAAC;EAC/BC,YAAY,EAAE;AAChB,CAAC;AAED,eAAeJ,eAAe","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@blaze-cms/plugin-media-ui",
|
|
3
|
-
"version": "0.146.0-core-styles.
|
|
3
|
+
"version": "0.146.0-core-styles.41",
|
|
4
4
|
"description": "Blaze plugin media ui",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "lib-es/index.js",
|
|
@@ -27,10 +27,10 @@
|
|
|
27
27
|
},
|
|
28
28
|
"license": "GPL-3.0",
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@blaze-cms/admin-ui-utils": "0.146.0-core-styles.
|
|
31
|
-
"@blaze-cms/core-errors": "0.
|
|
32
|
-
"@blaze-cms/plugin-search-ui": "0.146.0-core-styles.
|
|
33
|
-
"@blaze-cms/react-form-builder": "0.146.0-core-styles.
|
|
30
|
+
"@blaze-cms/admin-ui-utils": "0.146.0-core-styles.41",
|
|
31
|
+
"@blaze-cms/core-errors": "0.146.0-core-styles.41",
|
|
32
|
+
"@blaze-cms/plugin-search-ui": "0.146.0-core-styles.41",
|
|
33
|
+
"@blaze-cms/react-form-builder": "0.146.0-core-styles.41",
|
|
34
34
|
"@blaze-cms/setup-ui": "0.145.1-core-styles.0",
|
|
35
35
|
"@blaze-react/button": "0.8.0-alpha.82",
|
|
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.146.0-core-styles.
|
|
47
|
+
"@blaze-cms/core-ui": "0.146.0-core-styles.41"
|
|
48
48
|
},
|
|
49
49
|
"peerDependencies": {
|
|
50
50
|
"@apollo/client": "3.x",
|
|
@@ -57,5 +57,5 @@
|
|
|
57
57
|
"lib/*",
|
|
58
58
|
"lib-es/*"
|
|
59
59
|
],
|
|
60
|
-
"gitHead": "
|
|
60
|
+
"gitHead": "3785ab6d213cffdd594087e7e8b50a6e9fdc74a9"
|
|
61
61
|
}
|
|
@@ -134,7 +134,14 @@ const FileUploadAdapter = ({
|
|
|
134
134
|
});
|
|
135
135
|
};
|
|
136
136
|
|
|
137
|
-
const closeModalAndSetValue = (isSaving, values) => {
|
|
137
|
+
const closeModalAndSetValue = (isSaving, values, toastMessage) => {
|
|
138
|
+
if (toastMessage) {
|
|
139
|
+
addToast(toastMessage, {
|
|
140
|
+
appearance: 'success',
|
|
141
|
+
autoDismiss: true
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
|
|
138
145
|
if (isSaving) {
|
|
139
146
|
const parsedValue = getFormat(type, { filesIds: simpleLayout ? values : currentValue });
|
|
140
147
|
setDisplayModal(false);
|
|
@@ -48,22 +48,24 @@ const FileUploadModal = ({ onClose, getSelectedFiles, closeModalAndSetValue, sim
|
|
|
48
48
|
|
|
49
49
|
const fileNames = files.map(({ file }) => file.name);
|
|
50
50
|
addNewFile(parsedResponse);
|
|
51
|
+
const toastMessage = `Uploaded: ${fileNames.join(', ')}`;
|
|
51
52
|
|
|
52
53
|
if (simpleLayout) {
|
|
53
54
|
const filesToSelect = parsedResponse.map(file => file.id);
|
|
54
55
|
getSelectedFiles(null, filesToSelect);
|
|
55
|
-
closeModalAndSetValue(simpleLayout, filesToSelect);
|
|
56
|
+
closeModalAndSetValue(simpleLayout, filesToSelect, toastMessage);
|
|
57
|
+
return;
|
|
56
58
|
}
|
|
57
59
|
|
|
58
|
-
addToast(
|
|
60
|
+
addToast(toastMessage, {
|
|
59
61
|
appearance: 'success',
|
|
60
62
|
autoDismiss: true
|
|
61
63
|
});
|
|
62
64
|
};
|
|
63
65
|
|
|
64
66
|
const handleOnSave = async () => {
|
|
65
|
-
onClose();
|
|
66
67
|
if (files.length) await uploadFiles();
|
|
68
|
+
onClose();
|
|
67
69
|
};
|
|
68
70
|
|
|
69
71
|
const storeOptions = storeType.map(type => [type.key, type.name]);
|