@blaze-cms/plugin-media-ui 0.125.0-admin-updates.1 → 0.125.0-alpha.7
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 +3 -12
- package/lib/components/FileUploadAdapter/FileUploadAdapter.js +4 -2
- package/lib/components/FileUploadAdapter/FileUploadAdapter.js.map +1 -1
- package/lib-es/components/FileUploadAdapter/FileUploadAdapter.js +2 -1
- package/lib-es/components/FileUploadAdapter/FileUploadAdapter.js.map +1 -1
- package/package.json +5 -5
- package/src/components/FileUploadAdapter/FileUploadAdapter.js +2 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
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.125.0-
|
|
6
|
+
# [0.125.0-alpha.7](https://github.com/thebyte9/blaze/compare/v0.125.0-alpha.6...v0.125.0-alpha.7) (2022-10-07)
|
|
7
7
|
|
|
8
8
|
**Note:** Version bump only for package @blaze-cms/plugin-media-ui
|
|
9
9
|
|
|
@@ -11,18 +11,9 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
|
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
|
|
14
|
-
# [0.125.0-
|
|
14
|
+
# [0.125.0-alpha.1](https://github.com/thebyte9/blaze/compare/v0.125.0-alpha.0...v0.125.0-alpha.1) (2022-09-15)
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
### Bug Fixes
|
|
18
|
-
|
|
19
|
-
* update tests ([8fd2675](https://github.com/thebyte9/blaze/commit/8fd2675624126e5a23ecc0af3202d08c46667441))
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
### Features
|
|
23
|
-
|
|
24
|
-
* add updated snapshots ([a0444bd](https://github.com/thebyte9/blaze/commit/a0444bd0d4e2f78753ac069067d39f3f6e741832))
|
|
25
|
-
* delete duplicated code ([6fc900c](https://github.com/thebyte9/blaze/commit/6fc900c4e3a57664c0972c6ed739345e5d93af0b))
|
|
16
|
+
**Note:** Version bump only for package @blaze-cms/plugin-media-ui
|
|
26
17
|
|
|
27
18
|
|
|
28
19
|
|
|
@@ -63,6 +63,8 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
63
63
|
|
|
64
64
|
var _fileUpload = _interopRequireDefault(require("@blaze-react/file-upload"));
|
|
65
65
|
|
|
66
|
+
var _modal = _interopRequireDefault(require("@blaze-react/modal"));
|
|
67
|
+
|
|
66
68
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
67
69
|
|
|
68
70
|
var _client = require("@apollo/client");
|
|
@@ -509,7 +511,7 @@ var FileUploadAdapter = function FileUploadAdapter(_ref) {
|
|
|
509
511
|
actionText: fileUploadButtonText,
|
|
510
512
|
handleLibraryClick: onOpenLibrary,
|
|
511
513
|
enableDragAndDrop: false
|
|
512
|
-
})), editFile && /*#__PURE__*/_react["default"].createElement(
|
|
514
|
+
})), editFile && /*#__PURE__*/_react["default"].createElement(_modal["default"], {
|
|
513
515
|
actions: editModalActions,
|
|
514
516
|
title: "Edit File",
|
|
515
517
|
onClose: function onClose() {
|
|
@@ -523,7 +525,7 @@ var FileUploadAdapter = function FileUploadAdapter(_ref) {
|
|
|
523
525
|
previewType: "card"
|
|
524
526
|
})), displayModal && /*#__PURE__*/_react["default"].createElement("div", {
|
|
525
527
|
className: "file-upload-modal-wrapper"
|
|
526
|
-
}, /*#__PURE__*/_react["default"].createElement(
|
|
528
|
+
}, /*#__PURE__*/_react["default"].createElement(_modal["default"], {
|
|
527
529
|
actions: modalActions,
|
|
528
530
|
className: "file-upload-modal",
|
|
529
531
|
title: "Media library",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileUploadAdapter.js","names":["FileUploadAdapter","onChange","label","id","type","value","maxItems","shouldRenderInPreview","canDragAndDrop","useContext","FormContext","InjectPreview","useLimit","currentLimit","useState","displayModal","setDisplayModal","initialValue","formatInitialValue","currentValue","setCurrentValue","currentOffset","setCurrentOffset","selectedFiles","setSelectedFiles","editFile","setEditFile","client","useApolloClient","useToasts","addToast","getFiles","offset","ids","fetchAll","query","getQuery","variables","limit","where","_in","skip","length","fetchPolicy","newFiles","data","files","useEffect","initialFiles","filter","_","i","orderedFiles","orderFiles","fetchMore","shouldFetchAll","newOffset","updatedOffset","offsetToUse","handleSelectedFiles","checkIsUnselecting","isUnselectingFile","isUnselecting","valueArray","transformToArray","selectedFilesIds","valueId","includes","parsedValue","getFormat","filesIds","event","target","name","fileData","handleReorderFiles","map","fileId","closeModalAndSetValue","isSaving","fileUploadButtonText","getButtonText","filesPending","getNumberFilesPendingToFetch","onOpenLibrary","handleEditModal","file","selectedEditFile","find","_id","handleEditFileForm","editedFile","values","parseFormValues","valuesChecked","altText","caption","credits","hrefUrl","currentId","Boolean","modalActions","textButton","callback","modifiers","editModalActions","editedFileId","updatedSelectedFiles","selectedFile","mutate","mutation","getMutation","input","update","cache","fileUpdated","updateFile","writeQuery","result","appearance","autoDismiss","console","error","filesPendingString","MORE","fileListSpan","onUnselectFile","previewerId","fileName","propTypes","PropTypes","func","isRequired","string","oneOfType","array","number","bool","defaultProps"],"sources":["../../../src/components/FileUploadAdapter/FileUploadAdapter.js"],"sourcesContent":["import React, { useState, useContext, useEffect } from 'react';\nimport FileUpload from '@blaze-react/file-upload';\nimport PropTypes from 'prop-types';\nimport { useApolloClient } from '@apollo/client';\nimport { getQuery, getMutation, ModalAdapter as Modal } from '@blaze-cms/admin-ui-utils';\nimport { parseFormValues } from '@blaze-cms/react-form-builder';\nimport useToasts from '@blaze-react/toaster/lib/Toast/useToasts';\nimport { MORE } from '../../constants';\nimport ListingContainer from '../ListingContainer';\nimport { MediaContextProvider } from '../../utils/media-context';\nimport FileList from './FileList';\nimport useLimit from './useLimit';\nimport {\n getFormat,\n formatInitialValue,\n transformToArray,\n isUnselecting,\n getButtonText,\n getNumberFilesPendingToFetch\n} from './mappers';\nimport FilePreview from '../FilePreview';\n\nconst FileUploadAdapter = ({\n onChange,\n label,\n id,\n type,\n value,\n maxItems,\n shouldRenderInPreview,\n canDragAndDrop\n}) => {\n const { InjectPreview } = useContext(FileUploadAdapter.FormContext);\n const [currentLimit] = useLimit(maxItems);\n const [displayModal, setDisplayModal] = useState(false);\n const initialValue = formatInitialValue({ value, type });\n const [currentValue, setCurrentValue] = useState(initialValue);\n const [currentOffset, setCurrentOffset] = useState(0);\n const [selectedFiles, setSelectedFiles] = useState([]);\n const [editFile, setEditFile] = useState(null);\n const client = useApolloClient();\n const { addToast } = useToasts();\n\n const getFiles = async (offset, ids, fetchAll) => {\n const {\n data: { files: newFiles }\n } = await client.query({\n query: getQuery('GET_FILES'),\n variables: {\n limit: fetchAll ? 0 : 4,\n offset,\n where: {\n id: {\n _in: ids\n }\n }\n },\n skip: !currentValue.length,\n fetchPolicy: 'network-only'\n });\n return newFiles;\n };\n\n useEffect(\n () => {\n (async () => {\n const initialFiles = !selectedFiles.length\n ? currentValue.filter((_, i) => i <= 3)\n : currentValue;\n\n const files = await getFiles(0, initialFiles);\n const orderedFiles = orderFiles(files, currentValue);\n setCurrentOffset(0);\n setSelectedFiles(orderedFiles);\n })();\n },\n [currentValue] //eslint-disable-line\n );\n\n const fetchMore = async shouldFetchAll => {\n if (selectedFiles.length === currentValue.length) return;\n const newOffset = currentOffset + 4;\n const updatedOffset = newOffset > currentValue.length ? currentValue.length : newOffset;\n const offsetToUse = shouldFetchAll ? 0 : updatedOffset;\n const files = await getFiles(offsetToUse, currentValue, shouldFetchAll);\n const newFiles = [...selectedFiles, ...files];\n const orderedFiles = orderFiles(newFiles, currentValue);\n setSelectedFiles(orderedFiles);\n setCurrentOffset(newOffset);\n };\n\n const handleSelectedFiles = (files, checkIsUnselecting = true) => {\n const isUnselectingFile = isUnselecting(value, checkIsUnselecting, files);\n if (isUnselectingFile) {\n const valueArray = transformToArray(value);\n const selectedFilesIds = valueArray.filter(valueId => !files.includes(valueId));\n const parsedValue = getFormat(type, { filesIds: selectedFilesIds });\n setCurrentValue(selectedFilesIds);\n return onChange({\n event: {\n target: {\n value: parsedValue,\n name: id,\n type,\n fileData: selectedFilesIds.length ? selectedFilesIds : null\n }\n },\n value: parsedValue\n });\n }\n\n setCurrentValue(files);\n };\n\n const handleReorderFiles = files => {\n const filesIds = files.map(({ id: fileId }) => fileId);\n const parsedValue = getFormat(type, { filesIds });\n setSelectedFiles(files);\n\n return onChange({\n event: {\n target: {\n value: parsedValue,\n name: id,\n type,\n fileData: filesIds\n }\n },\n value: parsedValue\n });\n };\n\n const closeModalAndSetValue = isSaving => {\n if (isSaving) {\n const parsedValue = getFormat(type, { filesIds: currentValue });\n setDisplayModal(false);\n return onChange({\n event: { target: { value: parsedValue, name: id, type, currentValue } },\n value: parsedValue\n });\n }\n\n setCurrentValue(initialValue);\n setDisplayModal(false);\n };\n\n const fileUploadButtonText = getButtonText({ maxItems, value: initialValue });\n\n const filesPending = getNumberFilesPendingToFetch(currentOffset, currentValue);\n const onOpenLibrary = () => setDisplayModal(true);\n const handleEditModal = file => {\n const selectedEditFile = selectedFiles.find(({ id: _id }) => _id === file.id);\n setEditFile(selectedEditFile);\n };\n\n const handleEditFileForm = editedFile => {\n const values = parseFormValues(editedFile.valuesChecked);\n\n const { altText, caption, credits, hrefUrl, name } = values;\n setEditFile({\n ...editFile,\n name,\n data: {\n altText,\n caption,\n credits,\n hrefUrl\n }\n });\n };\n\n const orderFiles = (files, ids) =>\n ids.map(currentId => files.find(({ id: fileId }) => fileId === currentId)).filter(Boolean);\n\n const modalActions = [\n {\n textButton: 'Cancel',\n callback: () => {\n closeModalAndSetValue();\n },\n modifiers: ['cancel']\n },\n {\n textButton: 'Save',\n callback: () => {\n closeModalAndSetValue(true);\n },\n modifiers: []\n }\n ];\n\n const editModalActions = [\n {\n textButton: 'Cancel',\n callback: () => {\n setEditFile(null);\n },\n modifiers: ['cancel']\n },\n {\n textButton: 'Save',\n callback: async () => {\n const { name, id: editedFileId, data } = editFile;\n const updatedSelectedFiles = selectedFiles.map(selectedFile => {\n if (selectedFile.id === editedFileId) {\n return { ...selectedFile, name, data };\n }\n return selectedFile;\n });\n setSelectedFiles(updatedSelectedFiles);\n\n try {\n await client.mutate({\n mutation: getMutation('UPDATE_FILE'),\n variables: {\n input: {\n name,\n data,\n id: editedFileId\n }\n },\n update(\n cache,\n {\n data: { updateFile: fileUpdated }\n }\n ) {\n cache.writeQuery({\n query: getQuery('GET_FILE_BY_ID'),\n variables: { id },\n data: { file: fileUpdated.result }\n });\n }\n });\n\n addToast(`File: ${editFile.name} has been updated`, {\n appearance: 'success',\n autoDismiss: true\n });\n closeModalAndSetValue(true);\n setEditFile(null);\n } catch (e) {\n addToast(`File: ${editFile.name} has not been updated`, {\n appearance: 'error',\n autoDismiss: true\n });\n console.error(e); //eslint-disable-line\n }\n },\n modifiers: []\n }\n ];\n const filesPendingString = `${filesPending} ${MORE}`;\n const fileListSpan = filesPending ? (\n // eslint-disable-next-line jsx-a11y/no-static-element-interactions\n <span className=\"FileUploadAdapter__preview-link button button--link\" onClick={fetchMore}>\n + {filesPendingString}\n </span>\n ) : null;\n\n return (\n <>\n <div className=\"form-field form-field--button\">\n <label>{label}</label>\n {selectedFiles && (\n <>\n <MediaContextProvider value={{ handleEditModal, onUnselectFile: handleSelectedFiles }}>\n {shouldRenderInPreview ? (\n <InjectPreview selector={FileUploadAdapter.previewerId}>\n <FileList\n selectedFiles={selectedFiles}\n allFiles={currentValue}\n handleReorderFiles={handleReorderFiles}\n canDragAndDrop={canDragAndDrop}\n fetchMore={fetchMore}>\n {fileListSpan}\n </FileList>\n </InjectPreview>\n ) : (\n <FileList\n selectedFiles={selectedFiles}\n handleReorderFiles={handleReorderFiles}\n fetchMore={fetchMore}\n />\n )}\n </MediaContextProvider>\n </>\n )}\n <FileUpload\n actionText={fileUploadButtonText}\n handleLibraryClick={onOpenLibrary}\n enableDragAndDrop={false}\n />\n </div>\n {editFile && (\n <Modal actions={editModalActions} title=\"Edit File\" onClose={() => setEditFile(null)}>\n <FilePreview\n file={editFile}\n fileName={editFile.fileName}\n handleFormChange={handleEditFileForm}\n displayForm\n previewType=\"card\"\n />\n </Modal>\n )}\n {displayModal && (\n <div className=\"file-upload-modal-wrapper\">\n <Modal\n actions={modalActions}\n className=\"file-upload-modal\"\n title=\"Media library\"\n onClose={() => closeModalAndSetValue()}>\n <ListingContainer\n handleSelectedFiles={handleSelectedFiles}\n maxItems={currentLimit}\n filesSelected={currentValue.length > 1 ? currentValue : []}\n />\n </Modal>\n </div>\n )}\n </>\n );\n};\n\nFileUploadAdapter.propTypes = {\n onChange: PropTypes.func.isRequired,\n label: PropTypes.string.isRequired,\n id: PropTypes.string.isRequired,\n type: PropTypes.string.isRequired,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.array]),\n maxItems: PropTypes.oneOfType([PropTypes.number, PropTypes.bool]),\n shouldRenderInPreview: PropTypes.bool,\n canDragAndDrop: PropTypes.bool\n};\n\nFileUploadAdapter.defaultProps = {\n value: '',\n maxItems: false,\n shouldRenderInPreview: false,\n canDragAndDrop: false\n};\n\nexport default FileUploadAdapter;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FileUploadAdapter.js","names":["FileUploadAdapter","onChange","label","id","type","value","maxItems","shouldRenderInPreview","canDragAndDrop","useContext","FormContext","InjectPreview","useLimit","currentLimit","useState","displayModal","setDisplayModal","initialValue","formatInitialValue","currentValue","setCurrentValue","currentOffset","setCurrentOffset","selectedFiles","setSelectedFiles","editFile","setEditFile","client","useApolloClient","useToasts","addToast","getFiles","offset","ids","fetchAll","query","getQuery","variables","limit","where","_in","skip","length","fetchPolicy","newFiles","data","files","useEffect","initialFiles","filter","_","i","orderedFiles","orderFiles","fetchMore","shouldFetchAll","newOffset","updatedOffset","offsetToUse","handleSelectedFiles","checkIsUnselecting","isUnselectingFile","isUnselecting","valueArray","transformToArray","selectedFilesIds","valueId","includes","parsedValue","getFormat","filesIds","event","target","name","fileData","handleReorderFiles","map","fileId","closeModalAndSetValue","isSaving","fileUploadButtonText","getButtonText","filesPending","getNumberFilesPendingToFetch","onOpenLibrary","handleEditModal","file","selectedEditFile","find","_id","handleEditFileForm","editedFile","values","parseFormValues","valuesChecked","altText","caption","credits","hrefUrl","currentId","Boolean","modalActions","textButton","callback","modifiers","editModalActions","editedFileId","updatedSelectedFiles","selectedFile","mutate","mutation","getMutation","input","update","cache","fileUpdated","updateFile","writeQuery","result","appearance","autoDismiss","console","error","filesPendingString","MORE","fileListSpan","onUnselectFile","previewerId","fileName","propTypes","PropTypes","func","isRequired","string","oneOfType","array","number","bool","defaultProps"],"sources":["../../../src/components/FileUploadAdapter/FileUploadAdapter.js"],"sourcesContent":["import React, { useState, useContext, useEffect } from 'react';\nimport FileUpload from '@blaze-react/file-upload';\nimport Modal from '@blaze-react/modal';\nimport PropTypes from 'prop-types';\nimport { useApolloClient } from '@apollo/client';\nimport { getQuery, getMutation } from '@blaze-cms/admin-ui-utils';\nimport { parseFormValues } from '@blaze-cms/react-form-builder';\nimport useToasts from '@blaze-react/toaster/lib/Toast/useToasts';\nimport { MORE } from '../../constants';\nimport ListingContainer from '../ListingContainer';\nimport { MediaContextProvider } from '../../utils/media-context';\nimport FileList from './FileList';\nimport useLimit from './useLimit';\nimport {\n getFormat,\n formatInitialValue,\n transformToArray,\n isUnselecting,\n getButtonText,\n getNumberFilesPendingToFetch\n} from './mappers';\nimport FilePreview from '../FilePreview';\n\nconst FileUploadAdapter = ({\n onChange,\n label,\n id,\n type,\n value,\n maxItems,\n shouldRenderInPreview,\n canDragAndDrop\n}) => {\n const { InjectPreview } = useContext(FileUploadAdapter.FormContext);\n const [currentLimit] = useLimit(maxItems);\n const [displayModal, setDisplayModal] = useState(false);\n const initialValue = formatInitialValue({ value, type });\n const [currentValue, setCurrentValue] = useState(initialValue);\n const [currentOffset, setCurrentOffset] = useState(0);\n const [selectedFiles, setSelectedFiles] = useState([]);\n const [editFile, setEditFile] = useState(null);\n const client = useApolloClient();\n const { addToast } = useToasts();\n\n const getFiles = async (offset, ids, fetchAll) => {\n const {\n data: { files: newFiles }\n } = await client.query({\n query: getQuery('GET_FILES'),\n variables: {\n limit: fetchAll ? 0 : 4,\n offset,\n where: {\n id: {\n _in: ids\n }\n }\n },\n skip: !currentValue.length,\n fetchPolicy: 'network-only'\n });\n return newFiles;\n };\n\n useEffect(\n () => {\n (async () => {\n const initialFiles = !selectedFiles.length\n ? currentValue.filter((_, i) => i <= 3)\n : currentValue;\n\n const files = await getFiles(0, initialFiles);\n const orderedFiles = orderFiles(files, currentValue);\n setCurrentOffset(0);\n setSelectedFiles(orderedFiles);\n })();\n },\n [currentValue] //eslint-disable-line\n );\n\n const fetchMore = async shouldFetchAll => {\n if (selectedFiles.length === currentValue.length) return;\n const newOffset = currentOffset + 4;\n const updatedOffset = newOffset > currentValue.length ? currentValue.length : newOffset;\n const offsetToUse = shouldFetchAll ? 0 : updatedOffset;\n const files = await getFiles(offsetToUse, currentValue, shouldFetchAll);\n const newFiles = [...selectedFiles, ...files];\n const orderedFiles = orderFiles(newFiles, currentValue);\n setSelectedFiles(orderedFiles);\n setCurrentOffset(newOffset);\n };\n\n const handleSelectedFiles = (files, checkIsUnselecting = true) => {\n const isUnselectingFile = isUnselecting(value, checkIsUnselecting, files);\n if (isUnselectingFile) {\n const valueArray = transformToArray(value);\n const selectedFilesIds = valueArray.filter(valueId => !files.includes(valueId));\n const parsedValue = getFormat(type, { filesIds: selectedFilesIds });\n setCurrentValue(selectedFilesIds);\n return onChange({\n event: {\n target: {\n value: parsedValue,\n name: id,\n type,\n fileData: selectedFilesIds.length ? selectedFilesIds : null\n }\n },\n value: parsedValue\n });\n }\n\n setCurrentValue(files);\n };\n\n const handleReorderFiles = files => {\n const filesIds = files.map(({ id: fileId }) => fileId);\n const parsedValue = getFormat(type, { filesIds });\n setSelectedFiles(files);\n\n return onChange({\n event: {\n target: {\n value: parsedValue,\n name: id,\n type,\n fileData: filesIds\n }\n },\n value: parsedValue\n });\n };\n\n const closeModalAndSetValue = isSaving => {\n if (isSaving) {\n const parsedValue = getFormat(type, { filesIds: currentValue });\n setDisplayModal(false);\n return onChange({\n event: { target: { value: parsedValue, name: id, type, currentValue } },\n value: parsedValue\n });\n }\n\n setCurrentValue(initialValue);\n setDisplayModal(false);\n };\n\n const fileUploadButtonText = getButtonText({ maxItems, value: initialValue });\n\n const filesPending = getNumberFilesPendingToFetch(currentOffset, currentValue);\n const onOpenLibrary = () => setDisplayModal(true);\n const handleEditModal = file => {\n const selectedEditFile = selectedFiles.find(({ id: _id }) => _id === file.id);\n setEditFile(selectedEditFile);\n };\n\n const handleEditFileForm = editedFile => {\n const values = parseFormValues(editedFile.valuesChecked);\n\n const { altText, caption, credits, hrefUrl, name } = values;\n setEditFile({\n ...editFile,\n name,\n data: {\n altText,\n caption,\n credits,\n hrefUrl\n }\n });\n };\n\n const orderFiles = (files, ids) =>\n ids.map(currentId => files.find(({ id: fileId }) => fileId === currentId)).filter(Boolean);\n\n const modalActions = [\n {\n textButton: 'Cancel',\n callback: () => {\n closeModalAndSetValue();\n },\n modifiers: ['cancel']\n },\n {\n textButton: 'Save',\n callback: () => {\n closeModalAndSetValue(true);\n },\n modifiers: []\n }\n ];\n\n const editModalActions = [\n {\n textButton: 'Cancel',\n callback: () => {\n setEditFile(null);\n },\n modifiers: ['cancel']\n },\n {\n textButton: 'Save',\n callback: async () => {\n const { name, id: editedFileId, data } = editFile;\n const updatedSelectedFiles = selectedFiles.map(selectedFile => {\n if (selectedFile.id === editedFileId) {\n return { ...selectedFile, name, data };\n }\n return selectedFile;\n });\n setSelectedFiles(updatedSelectedFiles);\n\n try {\n await client.mutate({\n mutation: getMutation('UPDATE_FILE'),\n variables: {\n input: {\n name,\n data,\n id: editedFileId\n }\n },\n update(\n cache,\n {\n data: { updateFile: fileUpdated }\n }\n ) {\n cache.writeQuery({\n query: getQuery('GET_FILE_BY_ID'),\n variables: { id },\n data: { file: fileUpdated.result }\n });\n }\n });\n\n addToast(`File: ${editFile.name} has been updated`, {\n appearance: 'success',\n autoDismiss: true\n });\n closeModalAndSetValue(true);\n setEditFile(null);\n } catch (e) {\n addToast(`File: ${editFile.name} has not been updated`, {\n appearance: 'error',\n autoDismiss: true\n });\n console.error(e); //eslint-disable-line\n }\n },\n modifiers: []\n }\n ];\n const filesPendingString = `${filesPending} ${MORE}`;\n const fileListSpan = filesPending ? (\n // eslint-disable-next-line jsx-a11y/no-static-element-interactions\n <span className=\"FileUploadAdapter__preview-link button button--link\" onClick={fetchMore}>\n + {filesPendingString}\n </span>\n ) : null;\n\n return (\n <>\n <div className=\"form-field form-field--button\">\n <label>{label}</label>\n {selectedFiles && (\n <>\n <MediaContextProvider value={{ handleEditModal, onUnselectFile: handleSelectedFiles }}>\n {shouldRenderInPreview ? (\n <InjectPreview selector={FileUploadAdapter.previewerId}>\n <FileList\n selectedFiles={selectedFiles}\n allFiles={currentValue}\n handleReorderFiles={handleReorderFiles}\n canDragAndDrop={canDragAndDrop}\n fetchMore={fetchMore}>\n {fileListSpan}\n </FileList>\n </InjectPreview>\n ) : (\n <FileList\n selectedFiles={selectedFiles}\n handleReorderFiles={handleReorderFiles}\n fetchMore={fetchMore}\n />\n )}\n </MediaContextProvider>\n </>\n )}\n <FileUpload\n actionText={fileUploadButtonText}\n handleLibraryClick={onOpenLibrary}\n enableDragAndDrop={false}\n />\n </div>\n {editFile && (\n <Modal actions={editModalActions} title=\"Edit File\" onClose={() => setEditFile(null)}>\n <FilePreview\n file={editFile}\n fileName={editFile.fileName}\n handleFormChange={handleEditFileForm}\n displayForm\n previewType=\"card\"\n />\n </Modal>\n )}\n {displayModal && (\n <div className=\"file-upload-modal-wrapper\">\n <Modal\n actions={modalActions}\n className=\"file-upload-modal\"\n title=\"Media library\"\n onClose={() => closeModalAndSetValue()}>\n <ListingContainer\n handleSelectedFiles={handleSelectedFiles}\n maxItems={currentLimit}\n filesSelected={currentValue.length > 1 ? currentValue : []}\n />\n </Modal>\n </div>\n )}\n </>\n );\n};\n\nFileUploadAdapter.propTypes = {\n onChange: PropTypes.func.isRequired,\n label: PropTypes.string.isRequired,\n id: PropTypes.string.isRequired,\n type: PropTypes.string.isRequired,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.array]),\n maxItems: PropTypes.oneOfType([PropTypes.number, PropTypes.bool]),\n shouldRenderInPreview: PropTypes.bool,\n canDragAndDrop: PropTypes.bool\n};\n\nFileUploadAdapter.defaultProps = {\n value: '',\n maxItems: false,\n shouldRenderInPreview: false,\n canDragAndDrop: false\n};\n\nexport default FileUploadAdapter;\n"],"mappings":"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"}
|
|
@@ -6,9 +6,10 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
|
6
6
|
|
|
7
7
|
import React, { useState, useContext, useEffect } from 'react';
|
|
8
8
|
import FileUpload from '@blaze-react/file-upload';
|
|
9
|
+
import Modal from '@blaze-react/modal';
|
|
9
10
|
import PropTypes from 'prop-types';
|
|
10
11
|
import { useApolloClient } from '@apollo/client';
|
|
11
|
-
import { getQuery, getMutation
|
|
12
|
+
import { getQuery, getMutation } from '@blaze-cms/admin-ui-utils';
|
|
12
13
|
import { parseFormValues } from '@blaze-cms/react-form-builder';
|
|
13
14
|
import useToasts from '@blaze-react/toaster/lib/Toast/useToasts';
|
|
14
15
|
import { MORE } from '../../constants';
|
|
@@ -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","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"],"sources":["../../../src/components/FileUploadAdapter/FileUploadAdapter.js"],"sourcesContent":["import React, { useState, useContext, useEffect } from 'react';\nimport FileUpload from '@blaze-react/file-upload';\nimport PropTypes from 'prop-types';\nimport { useApolloClient } from '@apollo/client';\nimport { getQuery, getMutation, ModalAdapter as Modal } from '@blaze-cms/admin-ui-utils';\nimport { parseFormValues } from '@blaze-cms/react-form-builder';\nimport useToasts from '@blaze-react/toaster/lib/Toast/useToasts';\nimport { MORE } from '../../constants';\nimport ListingContainer from '../ListingContainer';\nimport { MediaContextProvider } from '../../utils/media-context';\nimport FileList from './FileList';\nimport useLimit from './useLimit';\nimport {\n getFormat,\n formatInitialValue,\n transformToArray,\n isUnselecting,\n getButtonText,\n getNumberFilesPendingToFetch\n} from './mappers';\nimport FilePreview from '../FilePreview';\n\nconst FileUploadAdapter = ({\n onChange,\n label,\n id,\n type,\n value,\n maxItems,\n shouldRenderInPreview,\n canDragAndDrop\n}) => {\n const { InjectPreview } = useContext(FileUploadAdapter.FormContext);\n const [currentLimit] = useLimit(maxItems);\n const [displayModal, setDisplayModal] = useState(false);\n const initialValue = formatInitialValue({ value, type });\n const [currentValue, setCurrentValue] = useState(initialValue);\n const [currentOffset, setCurrentOffset] = useState(0);\n const [selectedFiles, setSelectedFiles] = useState([]);\n const [editFile, setEditFile] = useState(null);\n const client = useApolloClient();\n const { addToast } = useToasts();\n\n const getFiles = async (offset, ids, fetchAll) => {\n const {\n data: { files: newFiles }\n } = await client.query({\n query: getQuery('GET_FILES'),\n variables: {\n limit: fetchAll ? 0 : 4,\n offset,\n where: {\n id: {\n _in: ids\n }\n }\n },\n skip: !currentValue.length,\n fetchPolicy: 'network-only'\n });\n return newFiles;\n };\n\n useEffect(\n () => {\n (async () => {\n const initialFiles = !selectedFiles.length\n ? currentValue.filter((_, i) => i <= 3)\n : currentValue;\n\n const files = await getFiles(0, initialFiles);\n const orderedFiles = orderFiles(files, currentValue);\n setCurrentOffset(0);\n setSelectedFiles(orderedFiles);\n })();\n },\n [currentValue] //eslint-disable-line\n );\n\n const fetchMore = async shouldFetchAll => {\n if (selectedFiles.length === currentValue.length) return;\n const newOffset = currentOffset + 4;\n const updatedOffset = newOffset > currentValue.length ? currentValue.length : newOffset;\n const offsetToUse = shouldFetchAll ? 0 : updatedOffset;\n const files = await getFiles(offsetToUse, currentValue, shouldFetchAll);\n const newFiles = [...selectedFiles, ...files];\n const orderedFiles = orderFiles(newFiles, currentValue);\n setSelectedFiles(orderedFiles);\n setCurrentOffset(newOffset);\n };\n\n const handleSelectedFiles = (files, checkIsUnselecting = true) => {\n const isUnselectingFile = isUnselecting(value, checkIsUnselecting, files);\n if (isUnselectingFile) {\n const valueArray = transformToArray(value);\n const selectedFilesIds = valueArray.filter(valueId => !files.includes(valueId));\n const parsedValue = getFormat(type, { filesIds: selectedFilesIds });\n setCurrentValue(selectedFilesIds);\n return onChange({\n event: {\n target: {\n value: parsedValue,\n name: id,\n type,\n fileData: selectedFilesIds.length ? selectedFilesIds : null\n }\n },\n value: parsedValue\n });\n }\n\n setCurrentValue(files);\n };\n\n const handleReorderFiles = files => {\n const filesIds = files.map(({ id: fileId }) => fileId);\n const parsedValue = getFormat(type, { filesIds });\n setSelectedFiles(files);\n\n return onChange({\n event: {\n target: {\n value: parsedValue,\n name: id,\n type,\n fileData: filesIds\n }\n },\n value: parsedValue\n });\n };\n\n const closeModalAndSetValue = isSaving => {\n if (isSaving) {\n const parsedValue = getFormat(type, { filesIds: currentValue });\n setDisplayModal(false);\n return onChange({\n event: { target: { value: parsedValue, name: id, type, currentValue } },\n value: parsedValue\n });\n }\n\n setCurrentValue(initialValue);\n setDisplayModal(false);\n };\n\n const fileUploadButtonText = getButtonText({ maxItems, value: initialValue });\n\n const filesPending = getNumberFilesPendingToFetch(currentOffset, currentValue);\n const onOpenLibrary = () => setDisplayModal(true);\n const handleEditModal = file => {\n const selectedEditFile = selectedFiles.find(({ id: _id }) => _id === file.id);\n setEditFile(selectedEditFile);\n };\n\n const handleEditFileForm = editedFile => {\n const values = parseFormValues(editedFile.valuesChecked);\n\n const { altText, caption, credits, hrefUrl, name } = values;\n setEditFile({\n ...editFile,\n name,\n data: {\n altText,\n caption,\n credits,\n hrefUrl\n }\n });\n };\n\n const orderFiles = (files, ids) =>\n ids.map(currentId => files.find(({ id: fileId }) => fileId === currentId)).filter(Boolean);\n\n const modalActions = [\n {\n textButton: 'Cancel',\n callback: () => {\n closeModalAndSetValue();\n },\n modifiers: ['cancel']\n },\n {\n textButton: 'Save',\n callback: () => {\n closeModalAndSetValue(true);\n },\n modifiers: []\n }\n ];\n\n const editModalActions = [\n {\n textButton: 'Cancel',\n callback: () => {\n setEditFile(null);\n },\n modifiers: ['cancel']\n },\n {\n textButton: 'Save',\n callback: async () => {\n const { name, id: editedFileId, data } = editFile;\n const updatedSelectedFiles = selectedFiles.map(selectedFile => {\n if (selectedFile.id === editedFileId) {\n return { ...selectedFile, name, data };\n }\n return selectedFile;\n });\n setSelectedFiles(updatedSelectedFiles);\n\n try {\n await client.mutate({\n mutation: getMutation('UPDATE_FILE'),\n variables: {\n input: {\n name,\n data,\n id: editedFileId\n }\n },\n update(\n cache,\n {\n data: { updateFile: fileUpdated }\n }\n ) {\n cache.writeQuery({\n query: getQuery('GET_FILE_BY_ID'),\n variables: { id },\n data: { file: fileUpdated.result }\n });\n }\n });\n\n addToast(`File: ${editFile.name} has been updated`, {\n appearance: 'success',\n autoDismiss: true\n });\n closeModalAndSetValue(true);\n setEditFile(null);\n } catch (e) {\n addToast(`File: ${editFile.name} has not been updated`, {\n appearance: 'error',\n autoDismiss: true\n });\n console.error(e); //eslint-disable-line\n }\n },\n modifiers: []\n }\n ];\n const filesPendingString = `${filesPending} ${MORE}`;\n const fileListSpan = filesPending ? (\n // eslint-disable-next-line jsx-a11y/no-static-element-interactions\n <span className=\"FileUploadAdapter__preview-link button button--link\" onClick={fetchMore}>\n + {filesPendingString}\n </span>\n ) : null;\n\n return (\n <>\n <div className=\"form-field form-field--button\">\n <label>{label}</label>\n {selectedFiles && (\n <>\n <MediaContextProvider value={{ handleEditModal, onUnselectFile: handleSelectedFiles }}>\n {shouldRenderInPreview ? (\n <InjectPreview selector={FileUploadAdapter.previewerId}>\n <FileList\n selectedFiles={selectedFiles}\n allFiles={currentValue}\n handleReorderFiles={handleReorderFiles}\n canDragAndDrop={canDragAndDrop}\n fetchMore={fetchMore}>\n {fileListSpan}\n </FileList>\n </InjectPreview>\n ) : (\n <FileList\n selectedFiles={selectedFiles}\n handleReorderFiles={handleReorderFiles}\n fetchMore={fetchMore}\n />\n )}\n </MediaContextProvider>\n </>\n )}\n <FileUpload\n actionText={fileUploadButtonText}\n handleLibraryClick={onOpenLibrary}\n enableDragAndDrop={false}\n />\n </div>\n {editFile && (\n <Modal actions={editModalActions} title=\"Edit File\" onClose={() => setEditFile(null)}>\n <FilePreview\n file={editFile}\n fileName={editFile.fileName}\n handleFormChange={handleEditFileForm}\n displayForm\n previewType=\"card\"\n />\n </Modal>\n )}\n {displayModal && (\n <div className=\"file-upload-modal-wrapper\">\n <Modal\n actions={modalActions}\n className=\"file-upload-modal\"\n title=\"Media library\"\n onClose={() => closeModalAndSetValue()}>\n <ListingContainer\n handleSelectedFiles={handleSelectedFiles}\n maxItems={currentLimit}\n filesSelected={currentValue.length > 1 ? currentValue : []}\n />\n </Modal>\n </div>\n )}\n </>\n );\n};\n\nFileUploadAdapter.propTypes = {\n onChange: PropTypes.func.isRequired,\n label: PropTypes.string.isRequired,\n id: PropTypes.string.isRequired,\n type: PropTypes.string.isRequired,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.array]),\n maxItems: PropTypes.oneOfType([PropTypes.number, PropTypes.bool]),\n shouldRenderInPreview: PropTypes.bool,\n canDragAndDrop: PropTypes.bool\n};\n\nFileUploadAdapter.defaultProps = {\n value: '',\n maxItems: false,\n shouldRenderInPreview: false,\n canDragAndDrop: false\n};\n\nexport default FileUploadAdapter;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FileUploadAdapter.js","names":["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"],"sources":["../../../src/components/FileUploadAdapter/FileUploadAdapter.js"],"sourcesContent":["import React, { useState, useContext, useEffect } from 'react';\nimport FileUpload from '@blaze-react/file-upload';\nimport Modal from '@blaze-react/modal';\nimport PropTypes from 'prop-types';\nimport { useApolloClient } from '@apollo/client';\nimport { getQuery, getMutation } from '@blaze-cms/admin-ui-utils';\nimport { parseFormValues } from '@blaze-cms/react-form-builder';\nimport useToasts from '@blaze-react/toaster/lib/Toast/useToasts';\nimport { MORE } from '../../constants';\nimport ListingContainer from '../ListingContainer';\nimport { MediaContextProvider } from '../../utils/media-context';\nimport FileList from './FileList';\nimport useLimit from './useLimit';\nimport {\n getFormat,\n formatInitialValue,\n transformToArray,\n isUnselecting,\n getButtonText,\n getNumberFilesPendingToFetch\n} from './mappers';\nimport FilePreview from '../FilePreview';\n\nconst FileUploadAdapter = ({\n onChange,\n label,\n id,\n type,\n value,\n maxItems,\n shouldRenderInPreview,\n canDragAndDrop\n}) => {\n const { InjectPreview } = useContext(FileUploadAdapter.FormContext);\n const [currentLimit] = useLimit(maxItems);\n const [displayModal, setDisplayModal] = useState(false);\n const initialValue = formatInitialValue({ value, type });\n const [currentValue, setCurrentValue] = useState(initialValue);\n const [currentOffset, setCurrentOffset] = useState(0);\n const [selectedFiles, setSelectedFiles] = useState([]);\n const [editFile, setEditFile] = useState(null);\n const client = useApolloClient();\n const { addToast } = useToasts();\n\n const getFiles = async (offset, ids, fetchAll) => {\n const {\n data: { files: newFiles }\n } = await client.query({\n query: getQuery('GET_FILES'),\n variables: {\n limit: fetchAll ? 0 : 4,\n offset,\n where: {\n id: {\n _in: ids\n }\n }\n },\n skip: !currentValue.length,\n fetchPolicy: 'network-only'\n });\n return newFiles;\n };\n\n useEffect(\n () => {\n (async () => {\n const initialFiles = !selectedFiles.length\n ? currentValue.filter((_, i) => i <= 3)\n : currentValue;\n\n const files = await getFiles(0, initialFiles);\n const orderedFiles = orderFiles(files, currentValue);\n setCurrentOffset(0);\n setSelectedFiles(orderedFiles);\n })();\n },\n [currentValue] //eslint-disable-line\n );\n\n const fetchMore = async shouldFetchAll => {\n if (selectedFiles.length === currentValue.length) return;\n const newOffset = currentOffset + 4;\n const updatedOffset = newOffset > currentValue.length ? currentValue.length : newOffset;\n const offsetToUse = shouldFetchAll ? 0 : updatedOffset;\n const files = await getFiles(offsetToUse, currentValue, shouldFetchAll);\n const newFiles = [...selectedFiles, ...files];\n const orderedFiles = orderFiles(newFiles, currentValue);\n setSelectedFiles(orderedFiles);\n setCurrentOffset(newOffset);\n };\n\n const handleSelectedFiles = (files, checkIsUnselecting = true) => {\n const isUnselectingFile = isUnselecting(value, checkIsUnselecting, files);\n if (isUnselectingFile) {\n const valueArray = transformToArray(value);\n const selectedFilesIds = valueArray.filter(valueId => !files.includes(valueId));\n const parsedValue = getFormat(type, { filesIds: selectedFilesIds });\n setCurrentValue(selectedFilesIds);\n return onChange({\n event: {\n target: {\n value: parsedValue,\n name: id,\n type,\n fileData: selectedFilesIds.length ? selectedFilesIds : null\n }\n },\n value: parsedValue\n });\n }\n\n setCurrentValue(files);\n };\n\n const handleReorderFiles = files => {\n const filesIds = files.map(({ id: fileId }) => fileId);\n const parsedValue = getFormat(type, { filesIds });\n setSelectedFiles(files);\n\n return onChange({\n event: {\n target: {\n value: parsedValue,\n name: id,\n type,\n fileData: filesIds\n }\n },\n value: parsedValue\n });\n };\n\n const closeModalAndSetValue = isSaving => {\n if (isSaving) {\n const parsedValue = getFormat(type, { filesIds: currentValue });\n setDisplayModal(false);\n return onChange({\n event: { target: { value: parsedValue, name: id, type, currentValue } },\n value: parsedValue\n });\n }\n\n setCurrentValue(initialValue);\n setDisplayModal(false);\n };\n\n const fileUploadButtonText = getButtonText({ maxItems, value: initialValue });\n\n const filesPending = getNumberFilesPendingToFetch(currentOffset, currentValue);\n const onOpenLibrary = () => setDisplayModal(true);\n const handleEditModal = file => {\n const selectedEditFile = selectedFiles.find(({ id: _id }) => _id === file.id);\n setEditFile(selectedEditFile);\n };\n\n const handleEditFileForm = editedFile => {\n const values = parseFormValues(editedFile.valuesChecked);\n\n const { altText, caption, credits, hrefUrl, name } = values;\n setEditFile({\n ...editFile,\n name,\n data: {\n altText,\n caption,\n credits,\n hrefUrl\n }\n });\n };\n\n const orderFiles = (files, ids) =>\n ids.map(currentId => files.find(({ id: fileId }) => fileId === currentId)).filter(Boolean);\n\n const modalActions = [\n {\n textButton: 'Cancel',\n callback: () => {\n closeModalAndSetValue();\n },\n modifiers: ['cancel']\n },\n {\n textButton: 'Save',\n callback: () => {\n closeModalAndSetValue(true);\n },\n modifiers: []\n }\n ];\n\n const editModalActions = [\n {\n textButton: 'Cancel',\n callback: () => {\n setEditFile(null);\n },\n modifiers: ['cancel']\n },\n {\n textButton: 'Save',\n callback: async () => {\n const { name, id: editedFileId, data } = editFile;\n const updatedSelectedFiles = selectedFiles.map(selectedFile => {\n if (selectedFile.id === editedFileId) {\n return { ...selectedFile, name, data };\n }\n return selectedFile;\n });\n setSelectedFiles(updatedSelectedFiles);\n\n try {\n await client.mutate({\n mutation: getMutation('UPDATE_FILE'),\n variables: {\n input: {\n name,\n data,\n id: editedFileId\n }\n },\n update(\n cache,\n {\n data: { updateFile: fileUpdated }\n }\n ) {\n cache.writeQuery({\n query: getQuery('GET_FILE_BY_ID'),\n variables: { id },\n data: { file: fileUpdated.result }\n });\n }\n });\n\n addToast(`File: ${editFile.name} has been updated`, {\n appearance: 'success',\n autoDismiss: true\n });\n closeModalAndSetValue(true);\n setEditFile(null);\n } catch (e) {\n addToast(`File: ${editFile.name} has not been updated`, {\n appearance: 'error',\n autoDismiss: true\n });\n console.error(e); //eslint-disable-line\n }\n },\n modifiers: []\n }\n ];\n const filesPendingString = `${filesPending} ${MORE}`;\n const fileListSpan = filesPending ? (\n // eslint-disable-next-line jsx-a11y/no-static-element-interactions\n <span className=\"FileUploadAdapter__preview-link button button--link\" onClick={fetchMore}>\n + {filesPendingString}\n </span>\n ) : null;\n\n return (\n <>\n <div className=\"form-field form-field--button\">\n <label>{label}</label>\n {selectedFiles && (\n <>\n <MediaContextProvider value={{ handleEditModal, onUnselectFile: handleSelectedFiles }}>\n {shouldRenderInPreview ? (\n <InjectPreview selector={FileUploadAdapter.previewerId}>\n <FileList\n selectedFiles={selectedFiles}\n allFiles={currentValue}\n handleReorderFiles={handleReorderFiles}\n canDragAndDrop={canDragAndDrop}\n fetchMore={fetchMore}>\n {fileListSpan}\n </FileList>\n </InjectPreview>\n ) : (\n <FileList\n selectedFiles={selectedFiles}\n handleReorderFiles={handleReorderFiles}\n fetchMore={fetchMore}\n />\n )}\n </MediaContextProvider>\n </>\n )}\n <FileUpload\n actionText={fileUploadButtonText}\n handleLibraryClick={onOpenLibrary}\n enableDragAndDrop={false}\n />\n </div>\n {editFile && (\n <Modal actions={editModalActions} title=\"Edit File\" onClose={() => setEditFile(null)}>\n <FilePreview\n file={editFile}\n fileName={editFile.fileName}\n handleFormChange={handleEditFileForm}\n displayForm\n previewType=\"card\"\n />\n </Modal>\n )}\n {displayModal && (\n <div className=\"file-upload-modal-wrapper\">\n <Modal\n actions={modalActions}\n className=\"file-upload-modal\"\n title=\"Media library\"\n onClose={() => closeModalAndSetValue()}>\n <ListingContainer\n handleSelectedFiles={handleSelectedFiles}\n maxItems={currentLimit}\n filesSelected={currentValue.length > 1 ? currentValue : []}\n />\n </Modal>\n </div>\n )}\n </>\n );\n};\n\nFileUploadAdapter.propTypes = {\n onChange: PropTypes.func.isRequired,\n label: PropTypes.string.isRequired,\n id: PropTypes.string.isRequired,\n type: PropTypes.string.isRequired,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.array]),\n maxItems: PropTypes.oneOfType([PropTypes.number, PropTypes.bool]),\n shouldRenderInPreview: PropTypes.bool,\n canDragAndDrop: PropTypes.bool\n};\n\nFileUploadAdapter.defaultProps = {\n value: '',\n maxItems: false,\n shouldRenderInPreview: false,\n canDragAndDrop: false\n};\n\nexport default FileUploadAdapter;\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@blaze-cms/plugin-media-ui",
|
|
3
|
-
"version": "0.125.0-
|
|
3
|
+
"version": "0.125.0-alpha.7",
|
|
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.
|
|
30
|
+
"@blaze-cms/admin-ui-utils": "^0.124.0",
|
|
31
31
|
"@blaze-cms/core-errors": "^0.118.0",
|
|
32
|
-
"@blaze-cms/plugin-search-ui": "
|
|
33
|
-
"@blaze-cms/react-form-builder": "^0.
|
|
32
|
+
"@blaze-cms/plugin-search-ui": "0.125.0-alpha.1",
|
|
33
|
+
"@blaze-cms/react-form-builder": "^0.124.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",
|
|
@@ -57,5 +57,5 @@
|
|
|
57
57
|
"lib/*",
|
|
58
58
|
"lib-es/*"
|
|
59
59
|
],
|
|
60
|
-
"gitHead": "
|
|
60
|
+
"gitHead": "8d5a55a4cc530e2f8651f0087f3ab411674d827d"
|
|
61
61
|
}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import React, { useState, useContext, useEffect } from 'react';
|
|
2
2
|
import FileUpload from '@blaze-react/file-upload';
|
|
3
|
+
import Modal from '@blaze-react/modal';
|
|
3
4
|
import PropTypes from 'prop-types';
|
|
4
5
|
import { useApolloClient } from '@apollo/client';
|
|
5
|
-
import { getQuery, getMutation
|
|
6
|
+
import { getQuery, getMutation } from '@blaze-cms/admin-ui-utils';
|
|
6
7
|
import { parseFormValues } from '@blaze-cms/react-form-builder';
|
|
7
8
|
import useToasts from '@blaze-react/toaster/lib/Toast/useToasts';
|
|
8
9
|
import { MORE } from '../../constants';
|