@blaze-cms/plugin-media-ui 0.125.0 → 0.126.0-admin-updates.1
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 +30 -0
- package/lib/components/FileUploadAdapter/FileUploadAdapter.js +2 -3
- package/lib/components/FileUploadAdapter/FileUploadAdapter.js.map +1 -1
- package/lib/components/FileUploadModal/FileUploadModal.js +2 -3
- package/lib/components/FileUploadModal/FileUploadModal.js.map +1 -1
- package/lib/components/ListingContainer/Listing/MediaListing/MediaFileList/MediaFileList.js +1 -3
- package/lib/components/ListingContainer/Listing/MediaListing/MediaFileList/MediaFileList.js.map +1 -1
- package/lib-es/components/FileUploadAdapter/FileUploadAdapter.js +1 -2
- package/lib-es/components/FileUploadAdapter/FileUploadAdapter.js.map +1 -1
- package/lib-es/components/FileUploadModal/FileUploadModal.js +1 -2
- package/lib-es/components/FileUploadModal/FileUploadModal.js.map +1 -1
- package/lib-es/components/ListingContainer/Listing/MediaListing/MediaFileList/MediaFileList.js +1 -3
- package/lib-es/components/ListingContainer/Listing/MediaListing/MediaFileList/MediaFileList.js.map +1 -1
- package/package.json +6 -6
- package/src/components/FileUploadAdapter/FileUploadAdapter.js +1 -2
- package/src/components/FileUploadModal/FileUploadModal.js +1 -2
- package/src/components/ListingContainer/Listing/MediaListing/MediaFileList/MediaFileList.js +1 -4
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,36 @@
|
|
|
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.126.0-admin-updates.1](https://github.com/thebyte9/blaze/compare/v0.126.0-admin-updates.0...v0.126.0-admin-updates.1) (2022-12-22)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @blaze-cms/plugin-media-ui
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
# [0.126.0-admin-updates.0](https://github.com/thebyte9/blaze/compare/v0.125.2...v0.126.0-admin-updates.0) (2022-12-16)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Bug Fixes
|
|
18
|
+
|
|
19
|
+
* admin updates feedback ([0e69cbb](https://github.com/thebyte9/blaze/commit/0e69cbb0337df371c3e1cfc2f43c0d4ce666f33b))
|
|
20
|
+
* list full media library ([#3746](https://github.com/thebyte9/blaze/issues/3746)) ([623172f](https://github.com/thebyte9/blaze/commit/623172f16ce5fe354e702447f95c64324e5bb2ab))
|
|
21
|
+
* remove unused variables ([c6687c0](https://github.com/thebyte9/blaze/commit/c6687c0c8b84ec9775eb15ed8711979dfd322187))
|
|
22
|
+
* update file upload modal test and snapshots ([47958f4](https://github.com/thebyte9/blaze/commit/47958f4336b04ae45ffdc2d9c2313b886dd7fcc3))
|
|
23
|
+
* update snapshots ([c88c8be](https://github.com/thebyte9/blaze/commit/c88c8bec58af59a5707d15f5e212e6b515706676))
|
|
24
|
+
* update tests ([8fd2675](https://github.com/thebyte9/blaze/commit/8fd2675624126e5a23ecc0af3202d08c46667441))
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
### Features
|
|
28
|
+
|
|
29
|
+
* add updated snapshots ([a0444bd](https://github.com/thebyte9/blaze/commit/a0444bd0d4e2f78753ac069067d39f3f6e741832))
|
|
30
|
+
* delete duplicated code ([6fc900c](https://github.com/thebyte9/blaze/commit/6fc900c4e3a57664c0972c6ed739345e5d93af0b))
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
6
36
|
# [0.125.0](https://github.com/thebyte9/blaze/compare/v0.125.0-alpha.18...v0.125.0) (2022-11-30)
|
|
7
37
|
|
|
8
38
|
**Note:** Version bump only for package @blaze-cms/plugin-media-ui
|
|
@@ -33,7 +33,6 @@ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/
|
|
|
33
33
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
34
34
|
var _react = _interopRequireWildcard(require("react"));
|
|
35
35
|
var _fileUpload = _interopRequireDefault(require("@blaze-react/file-upload"));
|
|
36
|
-
var _modal = _interopRequireDefault(require("@blaze-react/modal"));
|
|
37
36
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
38
37
|
var _client = require("@apollo/client");
|
|
39
38
|
var _adminUiUtils = require("@blaze-cms/admin-ui-utils");
|
|
@@ -423,7 +422,7 @@ var FileUploadAdapter = function FileUploadAdapter(_ref) {
|
|
|
423
422
|
actionText: fileUploadButtonText,
|
|
424
423
|
handleLibraryClick: onOpenLibrary,
|
|
425
424
|
enableDragAndDrop: false
|
|
426
|
-
})), editFile && /*#__PURE__*/_react["default"].createElement(
|
|
425
|
+
})), editFile && /*#__PURE__*/_react["default"].createElement(_adminUiUtils.ModalAdapter, {
|
|
427
426
|
actions: editModalActions,
|
|
428
427
|
title: "Edit File",
|
|
429
428
|
onClose: function onClose() {
|
|
@@ -437,7 +436,7 @@ var FileUploadAdapter = function FileUploadAdapter(_ref) {
|
|
|
437
436
|
previewType: "card"
|
|
438
437
|
})), displayModal && /*#__PURE__*/_react["default"].createElement("div", {
|
|
439
438
|
className: "file-upload-modal-wrapper"
|
|
440
|
-
}, /*#__PURE__*/_react["default"].createElement(
|
|
439
|
+
}, /*#__PURE__*/_react["default"].createElement(_adminUiUtils.ModalAdapter, {
|
|
441
440
|
actions: modalActions,
|
|
442
441
|
className: "file-upload-modal",
|
|
443
442
|
title: "Media library",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileUploadAdapter.js","names":["FileUploadAdapter","onChange","label","id","type","value","maxItems","shouldRenderInPreview","canDragAndDrop","useContext","FormContext","InjectPreview","useLimit","currentLimit","useState","displayModal","setDisplayModal","initialValue","formatInitialValue","currentValue","setCurrentValue","currentOffset","setCurrentOffset","selectedFiles","setSelectedFiles","editFile","setEditFile","client","useApolloClient","useToasts","addToast","getFiles","offset","ids","fetchAll","query","getQuery","variables","limit","where","_in","skip","length","fetchPolicy","newFiles","data","files","useEffect","initialFiles","filter","_","i","orderedFiles","orderFiles","fetchMore","shouldFetchAll","newOffset","updatedOffset","offsetToUse","handleSelectedFiles","checkIsUnselecting","isUnselectingFile","isUnselecting","valueArray","transformToArray","selectedFilesIds","valueId","includes","parsedValue","getFormat","filesIds","event","target","name","fileData","handleReorderFiles","map","fileId","closeModalAndSetValue","isSaving","fileUploadButtonText","getButtonText","filesPending","getNumberFilesPendingToFetch","onOpenLibrary","handleEditModal","file","selectedEditFile","find","_id","handleEditFileForm","editedFile","values","parseFormValues","valuesChecked","altText","caption","credits","hrefUrl","currentId","Boolean","modalActions","textButton","callback","modifiers","editModalActions","editedFileId","updatedSelectedFiles","selectedFile","mutate","mutation","getMutation","input","update","cache","fileUpdated","updateFile","writeQuery","result","appearance","autoDismiss","console","error","filesPendingString","MORE","fileListSpan","onUnselectFile","previewerId","fileName","propTypes","PropTypes","func","isRequired","string","oneOfType","array","number","bool","defaultProps"],"sources":["../../../src/components/FileUploadAdapter/FileUploadAdapter.js"],"sourcesContent":["import React, { useState, useContext, useEffect } from 'react';\nimport FileUpload from '@blaze-react/file-upload';\nimport Modal from '@blaze-react/modal';\nimport PropTypes from 'prop-types';\nimport { useApolloClient } from '@apollo/client';\nimport { getQuery, getMutation } from '@blaze-cms/admin-ui-utils';\nimport { parseFormValues } from '@blaze-cms/react-form-builder';\nimport useToasts from '@blaze-react/toaster/lib/Toast/useToasts';\nimport { MORE } from '../../constants';\nimport ListingContainer from '../ListingContainer';\nimport { MediaContextProvider } from '../../utils/media-context';\nimport FileList from './FileList';\nimport useLimit from './useLimit';\nimport {\n getFormat,\n formatInitialValue,\n transformToArray,\n isUnselecting,\n getButtonText,\n getNumberFilesPendingToFetch\n} from './mappers';\nimport FilePreview from '../FilePreview';\n\nconst FileUploadAdapter = ({\n onChange,\n label,\n id,\n type,\n value,\n maxItems,\n shouldRenderInPreview,\n canDragAndDrop\n}) => {\n const { InjectPreview } = useContext(FileUploadAdapter.FormContext);\n const [currentLimit] = useLimit(maxItems);\n const [displayModal, setDisplayModal] = useState(false);\n const initialValue = formatInitialValue({ value, type });\n const [currentValue, setCurrentValue] = useState(initialValue);\n const [currentOffset, setCurrentOffset] = useState(0);\n const [selectedFiles, setSelectedFiles] = useState([]);\n const [editFile, setEditFile] = useState(null);\n const client = useApolloClient();\n const { addToast } = useToasts();\n\n const getFiles = async (offset, ids, fetchAll) => {\n const {\n data: { files: newFiles }\n } = await client.query({\n query: getQuery('GET_FILES'),\n variables: {\n limit: fetchAll ? 0 : 4,\n offset,\n where: {\n id: {\n _in: ids\n }\n }\n },\n skip: !currentValue.length,\n fetchPolicy: 'network-only'\n });\n return newFiles;\n };\n\n useEffect(\n () => {\n (async () => {\n const initialFiles = !selectedFiles.length\n ? currentValue.filter((_, i) => i <= 3)\n : currentValue;\n\n const files = await getFiles(0, initialFiles);\n const orderedFiles = orderFiles(files, currentValue);\n setCurrentOffset(0);\n setSelectedFiles(orderedFiles);\n })();\n },\n [currentValue] //eslint-disable-line\n );\n\n const fetchMore = async shouldFetchAll => {\n if (selectedFiles.length === currentValue.length) return;\n const newOffset = currentOffset + 4;\n const updatedOffset = newOffset > currentValue.length ? currentValue.length : newOffset;\n const offsetToUse = shouldFetchAll ? 0 : updatedOffset;\n const files = await getFiles(offsetToUse, currentValue, shouldFetchAll);\n const newFiles = [...selectedFiles, ...files];\n const orderedFiles = orderFiles(newFiles, currentValue);\n setSelectedFiles(orderedFiles);\n setCurrentOffset(newOffset);\n };\n\n const handleSelectedFiles = (files, checkIsUnselecting = true) => {\n const isUnselectingFile = isUnselecting(value, checkIsUnselecting, files);\n if (isUnselectingFile) {\n const valueArray = transformToArray(value);\n const selectedFilesIds = valueArray.filter(valueId => !files.includes(valueId));\n const parsedValue = getFormat(type, { filesIds: selectedFilesIds });\n setCurrentValue(selectedFilesIds);\n return onChange({\n event: {\n target: {\n value: parsedValue,\n name: id,\n type,\n fileData: selectedFilesIds.length ? selectedFilesIds : null\n }\n },\n value: parsedValue\n });\n }\n\n setCurrentValue(files);\n };\n\n const handleReorderFiles = files => {\n const filesIds = files.map(({ id: fileId }) => fileId);\n const parsedValue = getFormat(type, { filesIds });\n setSelectedFiles(files);\n\n return onChange({\n event: {\n target: {\n value: parsedValue,\n name: id,\n type,\n fileData: filesIds\n }\n },\n value: parsedValue\n });\n };\n\n const closeModalAndSetValue = isSaving => {\n if (isSaving) {\n const parsedValue = getFormat(type, { filesIds: currentValue });\n setDisplayModal(false);\n return onChange({\n event: { target: { value: parsedValue, name: id, type, currentValue } },\n value: parsedValue\n });\n }\n\n setCurrentValue(initialValue);\n setDisplayModal(false);\n };\n\n const fileUploadButtonText = getButtonText({ maxItems, value: initialValue });\n\n const filesPending = getNumberFilesPendingToFetch(currentOffset, currentValue);\n const onOpenLibrary = () => setDisplayModal(true);\n const handleEditModal = file => {\n const selectedEditFile = selectedFiles.find(({ id: _id }) => _id === file.id);\n setEditFile(selectedEditFile);\n };\n\n const handleEditFileForm = editedFile => {\n const values = parseFormValues(editedFile.valuesChecked);\n\n const { altText, caption, credits, hrefUrl, name } = values;\n setEditFile({\n ...editFile,\n name,\n data: {\n altText,\n caption,\n credits,\n hrefUrl\n }\n });\n };\n\n const orderFiles = (files, ids) =>\n ids.map(currentId => files.find(({ id: fileId }) => fileId === currentId)).filter(Boolean);\n\n const modalActions = [\n {\n textButton: 'Cancel',\n callback: () => {\n closeModalAndSetValue();\n },\n modifiers: ['cancel']\n },\n {\n textButton: 'Save',\n callback: () => {\n closeModalAndSetValue(true);\n },\n modifiers: []\n }\n ];\n\n const editModalActions = [\n {\n textButton: 'Cancel',\n callback: () => {\n setEditFile(null);\n },\n modifiers: ['cancel']\n },\n {\n textButton: 'Save',\n callback: async () => {\n const { name, id: editedFileId, data } = editFile;\n const updatedSelectedFiles = selectedFiles.map(selectedFile => {\n if (selectedFile.id === editedFileId) {\n return { ...selectedFile, name, data };\n }\n return selectedFile;\n });\n setSelectedFiles(updatedSelectedFiles);\n\n try {\n await client.mutate({\n mutation: getMutation('UPDATE_FILE'),\n variables: {\n input: {\n name,\n data,\n id: editedFileId\n }\n },\n update(\n cache,\n {\n data: { updateFile: fileUpdated }\n }\n ) {\n cache.writeQuery({\n query: getQuery('GET_FILE_BY_ID'),\n variables: { id },\n data: { file: fileUpdated.result }\n });\n }\n });\n\n addToast(`File: ${editFile.name} has been updated`, {\n appearance: 'success',\n autoDismiss: true\n });\n closeModalAndSetValue(true);\n setEditFile(null);\n } catch (e) {\n addToast(`File: ${editFile.name} has not been updated`, {\n appearance: 'error',\n autoDismiss: true\n });\n console.error(e); //eslint-disable-line\n }\n },\n modifiers: []\n }\n ];\n const filesPendingString = `${filesPending} ${MORE}`;\n const fileListSpan = filesPending ? (\n // eslint-disable-next-line jsx-a11y/no-static-element-interactions\n <span className=\"FileUploadAdapter__preview-link button button--link\" onClick={fetchMore}>\n + {filesPendingString}\n </span>\n ) : null;\n\n return (\n <>\n <div className=\"form-field form-field--button\">\n <label>{label}</label>\n {selectedFiles && (\n <>\n <MediaContextProvider value={{ handleEditModal, onUnselectFile: handleSelectedFiles }}>\n {shouldRenderInPreview ? (\n <InjectPreview selector={FileUploadAdapter.previewerId}>\n <FileList\n selectedFiles={selectedFiles}\n allFiles={currentValue}\n handleReorderFiles={handleReorderFiles}\n canDragAndDrop={canDragAndDrop}\n fetchMore={fetchMore}>\n {fileListSpan}\n </FileList>\n </InjectPreview>\n ) : (\n <FileList\n selectedFiles={selectedFiles}\n handleReorderFiles={handleReorderFiles}\n fetchMore={fetchMore}\n />\n )}\n </MediaContextProvider>\n </>\n )}\n <FileUpload\n actionText={fileUploadButtonText}\n handleLibraryClick={onOpenLibrary}\n enableDragAndDrop={false}\n />\n </div>\n {editFile && (\n <Modal actions={editModalActions} title=\"Edit File\" onClose={() => setEditFile(null)}>\n <FilePreview\n file={editFile}\n fileName={editFile.fileName}\n handleFormChange={handleEditFileForm}\n displayForm\n previewType=\"card\"\n />\n </Modal>\n )}\n {displayModal && (\n <div className=\"file-upload-modal-wrapper\">\n <Modal\n actions={modalActions}\n className=\"file-upload-modal\"\n title=\"Media library\"\n onClose={() => closeModalAndSetValue()}>\n <ListingContainer\n handleSelectedFiles={handleSelectedFiles}\n maxItems={currentLimit}\n filesSelected={currentValue.length > 1 ? currentValue : []}\n />\n </Modal>\n </div>\n )}\n </>\n );\n};\n\nFileUploadAdapter.propTypes = {\n onChange: PropTypes.func.isRequired,\n label: PropTypes.string.isRequired,\n id: PropTypes.string.isRequired,\n type: PropTypes.string.isRequired,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.array]),\n maxItems: PropTypes.oneOfType([PropTypes.number, PropTypes.bool]),\n shouldRenderInPreview: PropTypes.bool,\n canDragAndDrop: PropTypes.bool\n};\n\nFileUploadAdapter.defaultProps = {\n value: '',\n maxItems: false,\n shouldRenderInPreview: false,\n canDragAndDrop: false\n};\n\nexport default FileUploadAdapter;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FileUploadAdapter.js","names":["FileUploadAdapter","onChange","label","id","type","value","maxItems","shouldRenderInPreview","canDragAndDrop","useContext","FormContext","InjectPreview","useLimit","currentLimit","useState","displayModal","setDisplayModal","initialValue","formatInitialValue","currentValue","setCurrentValue","currentOffset","setCurrentOffset","selectedFiles","setSelectedFiles","editFile","setEditFile","client","useApolloClient","useToasts","addToast","getFiles","offset","ids","fetchAll","query","getQuery","variables","limit","where","_in","skip","length","fetchPolicy","newFiles","data","files","useEffect","initialFiles","filter","_","i","orderedFiles","orderFiles","fetchMore","shouldFetchAll","newOffset","updatedOffset","offsetToUse","handleSelectedFiles","checkIsUnselecting","isUnselectingFile","isUnselecting","valueArray","transformToArray","selectedFilesIds","valueId","includes","parsedValue","getFormat","filesIds","event","target","name","fileData","handleReorderFiles","map","fileId","closeModalAndSetValue","isSaving","fileUploadButtonText","getButtonText","filesPending","getNumberFilesPendingToFetch","onOpenLibrary","handleEditModal","file","selectedEditFile","find","_id","handleEditFileForm","editedFile","values","parseFormValues","valuesChecked","altText","caption","credits","hrefUrl","currentId","Boolean","modalActions","textButton","callback","modifiers","editModalActions","editedFileId","updatedSelectedFiles","selectedFile","mutate","mutation","getMutation","input","update","cache","fileUpdated","updateFile","writeQuery","result","appearance","autoDismiss","console","error","filesPendingString","MORE","fileListSpan","onUnselectFile","previewerId","fileName","propTypes","PropTypes","func","isRequired","string","oneOfType","array","number","bool","defaultProps"],"sources":["../../../src/components/FileUploadAdapter/FileUploadAdapter.js"],"sourcesContent":["import React, { useState, useContext, useEffect } from 'react';\nimport FileUpload from '@blaze-react/file-upload';\nimport PropTypes from 'prop-types';\nimport { useApolloClient } from '@apollo/client';\nimport { getQuery, getMutation, ModalAdapter as Modal } from '@blaze-cms/admin-ui-utils';\nimport { parseFormValues } from '@blaze-cms/react-form-builder';\nimport useToasts from '@blaze-react/toaster/lib/Toast/useToasts';\nimport { MORE } from '../../constants';\nimport ListingContainer from '../ListingContainer';\nimport { MediaContextProvider } from '../../utils/media-context';\nimport FileList from './FileList';\nimport useLimit from './useLimit';\nimport {\n getFormat,\n formatInitialValue,\n transformToArray,\n isUnselecting,\n getButtonText,\n getNumberFilesPendingToFetch\n} from './mappers';\nimport FilePreview from '../FilePreview';\n\nconst FileUploadAdapter = ({\n onChange,\n label,\n id,\n type,\n value,\n maxItems,\n shouldRenderInPreview,\n canDragAndDrop\n}) => {\n const { InjectPreview } = useContext(FileUploadAdapter.FormContext);\n const [currentLimit] = useLimit(maxItems);\n const [displayModal, setDisplayModal] = useState(false);\n const initialValue = formatInitialValue({ value, type });\n const [currentValue, setCurrentValue] = useState(initialValue);\n const [currentOffset, setCurrentOffset] = useState(0);\n const [selectedFiles, setSelectedFiles] = useState([]);\n const [editFile, setEditFile] = useState(null);\n const client = useApolloClient();\n const { addToast } = useToasts();\n\n const getFiles = async (offset, ids, fetchAll) => {\n const {\n data: { files: newFiles }\n } = await client.query({\n query: getQuery('GET_FILES'),\n variables: {\n limit: fetchAll ? 0 : 4,\n offset,\n where: {\n id: {\n _in: ids\n }\n }\n },\n skip: !currentValue.length,\n fetchPolicy: 'network-only'\n });\n return newFiles;\n };\n\n useEffect(\n () => {\n (async () => {\n const initialFiles = !selectedFiles.length\n ? currentValue.filter((_, i) => i <= 3)\n : currentValue;\n\n const files = await getFiles(0, initialFiles);\n const orderedFiles = orderFiles(files, currentValue);\n setCurrentOffset(0);\n setSelectedFiles(orderedFiles);\n })();\n },\n [currentValue] //eslint-disable-line\n );\n\n const fetchMore = async shouldFetchAll => {\n if (selectedFiles.length === currentValue.length) return;\n const newOffset = currentOffset + 4;\n const updatedOffset = newOffset > currentValue.length ? currentValue.length : newOffset;\n const offsetToUse = shouldFetchAll ? 0 : updatedOffset;\n const files = await getFiles(offsetToUse, currentValue, shouldFetchAll);\n const newFiles = [...selectedFiles, ...files];\n const orderedFiles = orderFiles(newFiles, currentValue);\n setSelectedFiles(orderedFiles);\n setCurrentOffset(newOffset);\n };\n\n const handleSelectedFiles = (files, checkIsUnselecting = true) => {\n const isUnselectingFile = isUnselecting(value, checkIsUnselecting, files);\n if (isUnselectingFile) {\n const valueArray = transformToArray(value);\n const selectedFilesIds = valueArray.filter(valueId => !files.includes(valueId));\n const parsedValue = getFormat(type, { filesIds: selectedFilesIds });\n setCurrentValue(selectedFilesIds);\n return onChange({\n event: {\n target: {\n value: parsedValue,\n name: id,\n type,\n fileData: selectedFilesIds.length ? selectedFilesIds : null\n }\n },\n value: parsedValue\n });\n }\n\n setCurrentValue(files);\n };\n\n const handleReorderFiles = files => {\n const filesIds = files.map(({ id: fileId }) => fileId);\n const parsedValue = getFormat(type, { filesIds });\n setSelectedFiles(files);\n\n return onChange({\n event: {\n target: {\n value: parsedValue,\n name: id,\n type,\n fileData: filesIds\n }\n },\n value: parsedValue\n });\n };\n\n const closeModalAndSetValue = isSaving => {\n if (isSaving) {\n const parsedValue = getFormat(type, { filesIds: currentValue });\n setDisplayModal(false);\n return onChange({\n event: { target: { value: parsedValue, name: id, type, currentValue } },\n value: parsedValue\n });\n }\n\n setCurrentValue(initialValue);\n setDisplayModal(false);\n };\n\n const fileUploadButtonText = getButtonText({ maxItems, value: initialValue });\n\n const filesPending = getNumberFilesPendingToFetch(currentOffset, currentValue);\n const onOpenLibrary = () => setDisplayModal(true);\n const handleEditModal = file => {\n const selectedEditFile = selectedFiles.find(({ id: _id }) => _id === file.id);\n setEditFile(selectedEditFile);\n };\n\n const handleEditFileForm = editedFile => {\n const values = parseFormValues(editedFile.valuesChecked);\n\n const { altText, caption, credits, hrefUrl, name } = values;\n setEditFile({\n ...editFile,\n name,\n data: {\n altText,\n caption,\n credits,\n hrefUrl\n }\n });\n };\n\n const orderFiles = (files, ids) =>\n ids.map(currentId => files.find(({ id: fileId }) => fileId === currentId)).filter(Boolean);\n\n const modalActions = [\n {\n textButton: 'Cancel',\n callback: () => {\n closeModalAndSetValue();\n },\n modifiers: ['cancel']\n },\n {\n textButton: 'Save',\n callback: () => {\n closeModalAndSetValue(true);\n },\n modifiers: []\n }\n ];\n\n const editModalActions = [\n {\n textButton: 'Cancel',\n callback: () => {\n setEditFile(null);\n },\n modifiers: ['cancel']\n },\n {\n textButton: 'Save',\n callback: async () => {\n const { name, id: editedFileId, data } = editFile;\n const updatedSelectedFiles = selectedFiles.map(selectedFile => {\n if (selectedFile.id === editedFileId) {\n return { ...selectedFile, name, data };\n }\n return selectedFile;\n });\n setSelectedFiles(updatedSelectedFiles);\n\n try {\n await client.mutate({\n mutation: getMutation('UPDATE_FILE'),\n variables: {\n input: {\n name,\n data,\n id: editedFileId\n }\n },\n update(\n cache,\n {\n data: { updateFile: fileUpdated }\n }\n ) {\n cache.writeQuery({\n query: getQuery('GET_FILE_BY_ID'),\n variables: { id },\n data: { file: fileUpdated.result }\n });\n }\n });\n\n addToast(`File: ${editFile.name} has been updated`, {\n appearance: 'success',\n autoDismiss: true\n });\n closeModalAndSetValue(true);\n setEditFile(null);\n } catch (e) {\n addToast(`File: ${editFile.name} has not been updated`, {\n appearance: 'error',\n autoDismiss: true\n });\n console.error(e); //eslint-disable-line\n }\n },\n modifiers: []\n }\n ];\n const filesPendingString = `${filesPending} ${MORE}`;\n const fileListSpan = filesPending ? (\n // eslint-disable-next-line jsx-a11y/no-static-element-interactions\n <span className=\"FileUploadAdapter__preview-link button button--link\" onClick={fetchMore}>\n + {filesPendingString}\n </span>\n ) : null;\n\n return (\n <>\n <div className=\"form-field form-field--button\">\n <label>{label}</label>\n {selectedFiles && (\n <>\n <MediaContextProvider value={{ handleEditModal, onUnselectFile: handleSelectedFiles }}>\n {shouldRenderInPreview ? (\n <InjectPreview selector={FileUploadAdapter.previewerId}>\n <FileList\n selectedFiles={selectedFiles}\n allFiles={currentValue}\n handleReorderFiles={handleReorderFiles}\n canDragAndDrop={canDragAndDrop}\n fetchMore={fetchMore}>\n {fileListSpan}\n </FileList>\n </InjectPreview>\n ) : (\n <FileList\n selectedFiles={selectedFiles}\n handleReorderFiles={handleReorderFiles}\n fetchMore={fetchMore}\n />\n )}\n </MediaContextProvider>\n </>\n )}\n <FileUpload\n actionText={fileUploadButtonText}\n handleLibraryClick={onOpenLibrary}\n enableDragAndDrop={false}\n />\n </div>\n {editFile && (\n <Modal actions={editModalActions} title=\"Edit File\" onClose={() => setEditFile(null)}>\n <FilePreview\n file={editFile}\n fileName={editFile.fileName}\n handleFormChange={handleEditFileForm}\n displayForm\n previewType=\"card\"\n />\n </Modal>\n )}\n {displayModal && (\n <div className=\"file-upload-modal-wrapper\">\n <Modal\n actions={modalActions}\n className=\"file-upload-modal\"\n title=\"Media library\"\n onClose={() => closeModalAndSetValue()}>\n <ListingContainer\n handleSelectedFiles={handleSelectedFiles}\n maxItems={currentLimit}\n filesSelected={currentValue.length > 1 ? currentValue : []}\n />\n </Modal>\n </div>\n )}\n </>\n );\n};\n\nFileUploadAdapter.propTypes = {\n onChange: PropTypes.func.isRequired,\n label: PropTypes.string.isRequired,\n id: PropTypes.string.isRequired,\n type: PropTypes.string.isRequired,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.array]),\n maxItems: PropTypes.oneOfType([PropTypes.number, PropTypes.bool]),\n shouldRenderInPreview: PropTypes.bool,\n canDragAndDrop: PropTypes.bool\n};\n\nFileUploadAdapter.defaultProps = {\n value: '',\n maxItems: false,\n shouldRenderInPreview: false,\n canDragAndDrop: false\n};\n\nexport default FileUploadAdapter;\n"],"mappings":"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"}
|
|
@@ -21,10 +21,9 @@ require("core-js/modules/es.array.join.js");
|
|
|
21
21
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
22
22
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
23
23
|
var _react = _interopRequireWildcard(require("react"));
|
|
24
|
-
var
|
|
24
|
+
var _adminUiUtils = require("@blaze-cms/admin-ui-utils");
|
|
25
25
|
var _fileUpload = _interopRequireDefault(require("@blaze-react/file-upload"));
|
|
26
26
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
27
|
-
var _adminUiUtils = require("@blaze-cms/admin-ui-utils");
|
|
28
27
|
var _toaster = require("@blaze-react/toaster");
|
|
29
28
|
var _client = require("@apollo/client");
|
|
30
29
|
var _useFileList2 = _interopRequireDefault(require("../FileList/useFileList"));
|
|
@@ -137,7 +136,7 @@ var FileUploadModal = function FileUploadModal(_ref) {
|
|
|
137
136
|
var storeOptions = storeType.map(function (type) {
|
|
138
137
|
return [type.key, type.name];
|
|
139
138
|
});
|
|
140
|
-
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(
|
|
139
|
+
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_adminUiUtils.ModalAdapter, {
|
|
141
140
|
onClose: onClose,
|
|
142
141
|
title: "Add media",
|
|
143
142
|
actions: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileUploadModal.js","names":["FileUploadModal","onClose","useState","files","setFiles","useToasts","addToast","client","useApolloClient","useFileList","addNewFile","fileStoresType","getQuery","useQuery","variables","visibleInAdmin","data","getFileStores","storeType","handleFiles","filesToUpload","uploadFiles","Promise","all","map","file","name","fileData","storeKey","mutate","mutation","getMutation","input","filename","error","message","appearance","autoDismiss","response","parsedResponse","result","fileNames","join","handleOnSave","length","storeOptions","type","key","textButton","callback","modifiers","propTypes","PropTypes","func","defaultProps"],"sources":["../../../src/components/FileUploadModal/FileUploadModal.js"],"sourcesContent":["import React, { useState } from 'react';\nimport Modal from '@blaze-
|
|
1
|
+
{"version":3,"file":"FileUploadModal.js","names":["FileUploadModal","onClose","useState","files","setFiles","useToasts","addToast","client","useApolloClient","useFileList","addNewFile","fileStoresType","getQuery","useQuery","variables","visibleInAdmin","data","getFileStores","storeType","handleFiles","filesToUpload","uploadFiles","Promise","all","map","file","name","fileData","storeKey","mutate","mutation","getMutation","input","filename","error","message","appearance","autoDismiss","response","parsedResponse","result","fileNames","join","handleOnSave","length","storeOptions","type","key","textButton","callback","modifiers","propTypes","PropTypes","func","defaultProps"],"sources":["../../../src/components/FileUploadModal/FileUploadModal.js"],"sourcesContent":["import React, { useState } from 'react';\nimport { ModalAdapter as Modal, getMutation, getQuery } from '@blaze-cms/admin-ui-utils';\nimport FileUpload from '@blaze-react/file-upload';\nimport PropTypes from 'prop-types';\nimport { useToasts } from '@blaze-react/toaster';\nimport { useApolloClient, useQuery } from '@apollo/client';\nimport useFileList from '../FileList/useFileList';\n\nconst FileUploadModal = ({ onClose }) => {\n const [files, setFiles] = useState([]);\n const { addToast } = useToasts();\n const client = useApolloClient();\n const { addNewFile } = useFileList();\n\n const fileStoresType = getQuery('GET_FILE_STORES');\n\n const { data: { getFileStores: storeType = [] } = {} } = useQuery(fileStoresType, {\n variables: { visibleInAdmin: true }\n });\n\n const handleFiles = filesToUpload => {\n setFiles(filesToUpload);\n };\n\n const uploadFiles = async () => {\n const response = await Promise.all(\n files.map(({ file, name, data: fileData, storeKey }) =>\n client.mutate({\n mutation: getMutation('UPLOAD_FILE'),\n variables: {\n input: {\n file,\n name: name || file.filename,\n storeKey,\n data: fileData\n }\n }\n })\n )\n ).catch(error => {\n addToast(error.message, {\n appearance: 'error',\n autoDismiss: true\n });\n });\n\n const parsedResponse = response.map(({ data: { file } }) => file.result);\n\n const fileNames = files.map(({ file }) => file.name);\n addNewFile(parsedResponse);\n addToast(`Uploaded: ${fileNames.join(', ')}`, {\n appearance: 'success',\n autoDismiss: true\n });\n };\n\n const handleOnSave = async () => {\n onClose();\n if (files.length) await uploadFiles();\n };\n\n const storeOptions = storeType.map(type => [type.key, type.name]);\n\n return (\n <>\n <Modal\n onClose={onClose}\n title=\"Add media\"\n actions={[\n {\n textButton: 'Cancel',\n callback: onClose,\n modifiers: ['cancel']\n },\n {\n textButton: 'Save',\n callback: handleOnSave,\n modifiers: []\n }\n ]}\n upload>\n <FileUpload onChange={handleFiles} selectOptions={storeOptions} />\n </Modal>\n </>\n );\n};\n\nFileUploadModal.propTypes = {\n onClose: PropTypes.func\n};\n\nFileUploadModal.defaultProps = {\n onClose: () => {}\n};\n\nexport default FileUploadModal;\n"],"mappings":"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"}
|
|
@@ -107,9 +107,7 @@ var MediaFileList = function MediaFileList(_ref) {
|
|
|
107
107
|
setListHeight(wrapperRef.current.clientHeight - 40);
|
|
108
108
|
};
|
|
109
109
|
if (wrapperRef.current) {
|
|
110
|
-
|
|
111
|
-
handleListHeight();
|
|
112
|
-
}
|
|
110
|
+
handleListHeight();
|
|
113
111
|
window.addEventListener('resize', handleListHeight);
|
|
114
112
|
}
|
|
115
113
|
return function () {
|
package/lib/components/ListingContainer/Listing/MediaListing/MediaFileList/MediaFileList.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MediaFileList.js","names":["MediaFileList","displayCardPrompt","setDisplayCardPrompt","displayLayout","wrapperRef","modalTargetRef","useState","currentListIndex","setCurrentListIndex","verifiedRanges","setVerifiedRanges","listHeight","setListHeight","useFileList","queryParams","data","loading","setQueryParams","clearList","removeFile","updateFile","useMediaContext","MediaContext","onClickPrompt","getSelectedFiles","selectedFiles","selectedFilter","useEffect","where","AVAILABLE_FILTER_TYPES","filter","storeKey","isSearch","searchTerm","handleRenderedItems","startIndex","rowsLength","files","length","loadIndex","Math","floor","MEDIA_OVER_SCAN_COUNT","includes","offset","handleListHeight","current","clientHeight","window","addEventListener","removeEventListener","searchedTerm","MEDIA_LIST_ITEM_SIZE","index","style","name","url","mimetype","id","isSelected","existPrevious","propTypes","PropTypes","func","isRequired","bool","string","object","defaultProps"],"sources":["../../../../../../src/components/ListingContainer/Listing/MediaListing/MediaFileList/MediaFileList.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { CardPrompt } from '@blaze-cms/admin';\nimport Button from '@blaze-react/button';\nimport VirtualList from 'react-tiny-virtual-list';\nimport { useMediaContext, MediaContext } from '../../../../../utils/media-context';\nimport CardMedia from '../../../../CardMedia';\nimport { existPrevious } from '../../../mappers';\nimport useFileList from '../../../../FileList/useFileList';\nimport {\n MEDIA_LIST_ITEM_SIZE,\n MEDIA_OVER_SCAN_COUNT,\n AVAILABLE_FILTER_TYPES\n} from '../../../../../constants';\n\nconst MediaFileList = ({\n displayCardPrompt,\n setDisplayCardPrompt,\n displayLayout,\n wrapperRef,\n modalTargetRef\n}) => {\n const [currentListIndex, setCurrentListIndex] = useState(1);\n const [verifiedRanges, setVerifiedRanges] = useState([]);\n const [listHeight, setListHeight] = useState(null);\n const {\n queryParams,\n data,\n loading,\n setQueryParams,\n clearList,\n removeFile,\n updateFile\n } = useFileList();\n const { onClickPrompt, getSelectedFiles, selectedFiles, selectedFilter } = useMediaContext(\n MediaContext\n );\n\n useEffect(\n () => {\n setVerifiedRanges([]);\n setCurrentListIndex(0);\n setQueryParams({\n where: {\n ...AVAILABLE_FILTER_TYPES[selectedFilter.filter],\n storeKey: selectedFilter.storeKey\n },\n isSearch: selectedFilter.isSearch,\n searchTerm: selectedFilter.searchTerm\n });\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n selectedFilter.filter,\n selectedFilter.storeKey,\n selectedFilter.isSearch,\n selectedFilter.searchTerm\n ]\n );\n\n const handleRenderedItems = ({ startIndex }) => {\n const rowsLength = data.files.length;\n const loadIndex = Math.floor(rowsLength / 3) - MEDIA_OVER_SCAN_COUNT;\n\n if (loadIndex > 0 && loadIndex < startIndex && !verifiedRanges.includes(loadIndex)) {\n setQueryParams({\n offset: data.files.length,\n where: {\n ...AVAILABLE_FILTER_TYPES[selectedFilter.filter],\n storeKey: selectedFilter.storeKey\n },\n isSearch: selectedFilter.isSearch,\n searchTerm: selectedFilter.searchTerm\n });\n setVerifiedRanges([...verifiedRanges, loadIndex]);\n setCurrentListIndex(startIndex + MEDIA_OVER_SCAN_COUNT);\n }\n };\n\n useEffect(\n () => {\n const handleListHeight = () => {\n setListHeight(wrapperRef.current.clientHeight - 40);\n };\n\n if (wrapperRef.current) {\n if (!listHeight) {\n handleListHeight();\n }\n\n window.addEventListener('resize', handleListHeight);\n }\n return () => {\n window.removeEventListener('resize', handleListHeight);\n };\n },\n [listHeight, wrapperRef]\n );\n\n const searchedTerm = queryParams.searchTerm && `${queryParams.searchTerm} -`;\n\n return (\n <>\n {data.files && data.files.length ? (\n <>\n <p className=\"media__fileList-counter\">\n {searchedTerm} {data[selectedFilter.filter]} items\n </p>\n <VirtualList\n width=\"100%\"\n height={listHeight}\n itemCount={data.files.length}\n itemSize={MEDIA_LIST_ITEM_SIZE}\n overscanCount={MEDIA_OVER_SCAN_COUNT}\n scrollToIndex={currentListIndex}\n onItemsRendered={handleRenderedItems}\n renderItem={({ index, style }) => {\n const { name, url, mimetype, id } = data.files[index];\n const isSelected = existPrevious(selectedFiles, id);\n return (\n <div key={index} style={style} className=\"list__item--resultWrapper\">\n <CardMedia\n updateFile={updateFile}\n clearList={clearList}\n latestQueryToRefetchParams={queryParams}\n modalTargetRef={modalTargetRef}\n onSelected={getSelectedFiles}\n key={id}\n displayLayout={displayLayout}\n selected={!!isSelected}\n name={name}\n url={url}\n mimetype={mimetype}\n id={id}\n index={index}\n removeFile={removeFile}\n />\n </div>\n );\n }}\n />\n </>\n ) : null}\n {!loading && data.files && !data.files.length && displayCardPrompt ? (\n <CardPrompt\n onClose={() => {\n setDisplayCardPrompt(false);\n }}>\n <Button onClick={onClickPrompt} className=\"button button--rounded button--cta\">\n Add\n </Button>\n </CardPrompt>\n ) : null}\n </>\n );\n};\n\nMediaFileList.propTypes = {\n setDisplayCardPrompt: PropTypes.func.isRequired,\n displayCardPrompt: PropTypes.bool,\n displayLayout: PropTypes.string.isRequired,\n wrapperRef: PropTypes.object.isRequired,\n modalTargetRef: PropTypes.object.isRequired\n};\n\nMediaFileList.defaultProps = {\n displayCardPrompt: true\n};\n\nexport default MediaFileList;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MediaFileList.js","names":["MediaFileList","displayCardPrompt","setDisplayCardPrompt","displayLayout","wrapperRef","modalTargetRef","useState","currentListIndex","setCurrentListIndex","verifiedRanges","setVerifiedRanges","listHeight","setListHeight","useFileList","queryParams","data","loading","setQueryParams","clearList","removeFile","updateFile","useMediaContext","MediaContext","onClickPrompt","getSelectedFiles","selectedFiles","selectedFilter","useEffect","where","AVAILABLE_FILTER_TYPES","filter","storeKey","isSearch","searchTerm","handleRenderedItems","startIndex","rowsLength","files","length","loadIndex","Math","floor","MEDIA_OVER_SCAN_COUNT","includes","offset","handleListHeight","current","clientHeight","window","addEventListener","removeEventListener","searchedTerm","MEDIA_LIST_ITEM_SIZE","index","style","name","url","mimetype","id","isSelected","existPrevious","propTypes","PropTypes","func","isRequired","bool","string","object","defaultProps"],"sources":["../../../../../../src/components/ListingContainer/Listing/MediaListing/MediaFileList/MediaFileList.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { CardPrompt } from '@blaze-cms/admin';\nimport Button from '@blaze-react/button';\nimport VirtualList from 'react-tiny-virtual-list';\nimport { useMediaContext, MediaContext } from '../../../../../utils/media-context';\nimport CardMedia from '../../../../CardMedia';\nimport { existPrevious } from '../../../mappers';\nimport useFileList from '../../../../FileList/useFileList';\nimport {\n MEDIA_LIST_ITEM_SIZE,\n MEDIA_OVER_SCAN_COUNT,\n AVAILABLE_FILTER_TYPES\n} from '../../../../../constants';\n\nconst MediaFileList = ({\n displayCardPrompt,\n setDisplayCardPrompt,\n displayLayout,\n wrapperRef,\n modalTargetRef\n}) => {\n const [currentListIndex, setCurrentListIndex] = useState(1);\n const [verifiedRanges, setVerifiedRanges] = useState([]);\n const [listHeight, setListHeight] = useState(null);\n const {\n queryParams,\n data,\n loading,\n setQueryParams,\n clearList,\n removeFile,\n updateFile\n } = useFileList();\n const { onClickPrompt, getSelectedFiles, selectedFiles, selectedFilter } = useMediaContext(\n MediaContext\n );\n\n useEffect(\n () => {\n setVerifiedRanges([]);\n setCurrentListIndex(0);\n setQueryParams({\n where: {\n ...AVAILABLE_FILTER_TYPES[selectedFilter.filter],\n storeKey: selectedFilter.storeKey\n },\n isSearch: selectedFilter.isSearch,\n searchTerm: selectedFilter.searchTerm\n });\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n selectedFilter.filter,\n selectedFilter.storeKey,\n selectedFilter.isSearch,\n selectedFilter.searchTerm\n ]\n );\n\n const handleRenderedItems = ({ startIndex }) => {\n const rowsLength = data.files.length;\n const loadIndex = Math.floor(rowsLength / 3) - MEDIA_OVER_SCAN_COUNT;\n\n if (loadIndex > 0 && loadIndex < startIndex && !verifiedRanges.includes(loadIndex)) {\n setQueryParams({\n offset: data.files.length,\n where: {\n ...AVAILABLE_FILTER_TYPES[selectedFilter.filter],\n storeKey: selectedFilter.storeKey\n },\n isSearch: selectedFilter.isSearch,\n searchTerm: selectedFilter.searchTerm\n });\n setVerifiedRanges([...verifiedRanges, loadIndex]);\n setCurrentListIndex(startIndex + MEDIA_OVER_SCAN_COUNT);\n }\n };\n\n useEffect(\n () => {\n const handleListHeight = () => {\n setListHeight(wrapperRef.current.clientHeight - 40);\n };\n\n if (wrapperRef.current) {\n handleListHeight();\n window.addEventListener('resize', handleListHeight);\n }\n return () => {\n window.removeEventListener('resize', handleListHeight);\n };\n },\n [listHeight, wrapperRef]\n );\n\n const searchedTerm = queryParams.searchTerm && `${queryParams.searchTerm} -`;\n\n return (\n <>\n {data.files && data.files.length ? (\n <>\n <p className=\"media__fileList-counter\">\n {searchedTerm} {data[selectedFilter.filter]} items\n </p>\n <VirtualList\n width=\"100%\"\n height={listHeight}\n itemCount={data.files.length}\n itemSize={MEDIA_LIST_ITEM_SIZE}\n overscanCount={MEDIA_OVER_SCAN_COUNT}\n scrollToIndex={currentListIndex}\n onItemsRendered={handleRenderedItems}\n renderItem={({ index, style }) => {\n const { name, url, mimetype, id } = data.files[index];\n const isSelected = existPrevious(selectedFiles, id);\n return (\n <div key={index} style={style} className=\"list__item--resultWrapper\">\n <CardMedia\n updateFile={updateFile}\n clearList={clearList}\n latestQueryToRefetchParams={queryParams}\n modalTargetRef={modalTargetRef}\n onSelected={getSelectedFiles}\n key={id}\n displayLayout={displayLayout}\n selected={!!isSelected}\n name={name}\n url={url}\n mimetype={mimetype}\n id={id}\n index={index}\n removeFile={removeFile}\n />\n </div>\n );\n }}\n />\n </>\n ) : null}\n {!loading && data.files && !data.files.length && displayCardPrompt ? (\n <CardPrompt\n onClose={() => {\n setDisplayCardPrompt(false);\n }}>\n <Button onClick={onClickPrompt} className=\"button button--rounded button--cta\">\n Add\n </Button>\n </CardPrompt>\n ) : null}\n </>\n );\n};\n\nMediaFileList.propTypes = {\n setDisplayCardPrompt: PropTypes.func.isRequired,\n displayCardPrompt: PropTypes.bool,\n displayLayout: PropTypes.string.isRequired,\n wrapperRef: PropTypes.object.isRequired,\n modalTargetRef: PropTypes.object.isRequired\n};\n\nMediaFileList.defaultProps = {\n displayCardPrompt: true\n};\n\nexport default MediaFileList;\n"],"mappings":"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"}
|
|
@@ -3,10 +3,9 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
|
|
|
3
3
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
4
4
|
import React, { useState, useContext, useEffect } from 'react';
|
|
5
5
|
import FileUpload from '@blaze-react/file-upload';
|
|
6
|
-
import Modal from '@blaze-react/modal';
|
|
7
6
|
import PropTypes from 'prop-types';
|
|
8
7
|
import { useApolloClient } from '@apollo/client';
|
|
9
|
-
import { getQuery, getMutation } from '@blaze-cms/admin-ui-utils';
|
|
8
|
+
import { getQuery, getMutation, ModalAdapter as Modal } from '@blaze-cms/admin-ui-utils';
|
|
10
9
|
import { parseFormValues } from '@blaze-cms/react-form-builder';
|
|
11
10
|
import useToasts from '@blaze-react/toaster/lib/Toast/useToasts';
|
|
12
11
|
import { MORE } from '../../constants';
|
|
@@ -1 +1 @@
|
|
|
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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"}
|
|
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,8 +1,7 @@
|
|
|
1
1
|
import React, { useState } from 'react';
|
|
2
|
-
import Modal from '@blaze-
|
|
2
|
+
import { ModalAdapter as Modal, getMutation, getQuery } from '@blaze-cms/admin-ui-utils';
|
|
3
3
|
import FileUpload from '@blaze-react/file-upload';
|
|
4
4
|
import PropTypes from 'prop-types';
|
|
5
|
-
import { getMutation, getQuery } from '@blaze-cms/admin-ui-utils';
|
|
6
5
|
import { useToasts } from '@blaze-react/toaster';
|
|
7
6
|
import { useApolloClient, useQuery } from '@apollo/client';
|
|
8
7
|
import useFileList from '../FileList/useFileList';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileUploadModal.js","names":["React","useState","Modal","
|
|
1
|
+
{"version":3,"file":"FileUploadModal.js","names":["React","useState","ModalAdapter","Modal","getMutation","getQuery","FileUpload","PropTypes","useToasts","useApolloClient","useQuery","useFileList","FileUploadModal","onClose","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","join","handleOnSave","length","storeOptions","type","key","textButton","callback","modifiers","propTypes","func","defaultProps"],"sources":["../../../src/components/FileUploadModal/FileUploadModal.js"],"sourcesContent":["import React, { useState } from 'react';\nimport { ModalAdapter as Modal, getMutation, getQuery } from '@blaze-cms/admin-ui-utils';\nimport FileUpload from '@blaze-react/file-upload';\nimport PropTypes from 'prop-types';\nimport { useToasts } from '@blaze-react/toaster';\nimport { useApolloClient, useQuery } from '@apollo/client';\nimport useFileList from '../FileList/useFileList';\n\nconst FileUploadModal = ({ onClose }) => {\n const [files, setFiles] = useState([]);\n const { addToast } = useToasts();\n const client = useApolloClient();\n const { addNewFile } = useFileList();\n\n const fileStoresType = getQuery('GET_FILE_STORES');\n\n const { data: { getFileStores: storeType = [] } = {} } = useQuery(fileStoresType, {\n variables: { visibleInAdmin: true }\n });\n\n const handleFiles = filesToUpload => {\n setFiles(filesToUpload);\n };\n\n const uploadFiles = async () => {\n const response = await Promise.all(\n files.map(({ file, name, data: fileData, storeKey }) =>\n client.mutate({\n mutation: getMutation('UPLOAD_FILE'),\n variables: {\n input: {\n file,\n name: name || file.filename,\n storeKey,\n data: fileData\n }\n }\n })\n )\n ).catch(error => {\n addToast(error.message, {\n appearance: 'error',\n autoDismiss: true\n });\n });\n\n const parsedResponse = response.map(({ data: { file } }) => file.result);\n\n const fileNames = files.map(({ file }) => file.name);\n addNewFile(parsedResponse);\n addToast(`Uploaded: ${fileNames.join(', ')}`, {\n appearance: 'success',\n autoDismiss: true\n });\n };\n\n const handleOnSave = async () => {\n onClose();\n if (files.length) await uploadFiles();\n };\n\n const storeOptions = storeType.map(type => [type.key, type.name]);\n\n return (\n <>\n <Modal\n onClose={onClose}\n title=\"Add media\"\n actions={[\n {\n textButton: 'Cancel',\n callback: onClose,\n modifiers: ['cancel']\n },\n {\n textButton: 'Save',\n callback: handleOnSave,\n modifiers: []\n }\n ]}\n upload>\n <FileUpload onChange={handleFiles} selectOptions={storeOptions} />\n </Modal>\n </>\n );\n};\n\nFileUploadModal.propTypes = {\n onClose: PropTypes.func\n};\n\nFileUploadModal.defaultProps = {\n onClose: () => {}\n};\n\nexport default FileUploadModal;\n"],"mappings":"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"}
|
package/lib-es/components/ListingContainer/Listing/MediaListing/MediaFileList/MediaFileList.js
CHANGED
|
@@ -72,9 +72,7 @@ const MediaFileList = ({
|
|
|
72
72
|
setListHeight(wrapperRef.current.clientHeight - 40);
|
|
73
73
|
};
|
|
74
74
|
if (wrapperRef.current) {
|
|
75
|
-
|
|
76
|
-
handleListHeight();
|
|
77
|
-
}
|
|
75
|
+
handleListHeight();
|
|
78
76
|
window.addEventListener('resize', handleListHeight);
|
|
79
77
|
}
|
|
80
78
|
return () => {
|
package/lib-es/components/ListingContainer/Listing/MediaListing/MediaFileList/MediaFileList.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MediaFileList.js","names":["React","useState","useEffect","PropTypes","CardPrompt","Button","VirtualList","useMediaContext","MediaContext","CardMedia","existPrevious","useFileList","MEDIA_LIST_ITEM_SIZE","MEDIA_OVER_SCAN_COUNT","AVAILABLE_FILTER_TYPES","MediaFileList","displayCardPrompt","setDisplayCardPrompt","displayLayout","wrapperRef","modalTargetRef","currentListIndex","setCurrentListIndex","verifiedRanges","setVerifiedRanges","listHeight","setListHeight","queryParams","data","loading","setQueryParams","clearList","removeFile","updateFile","onClickPrompt","getSelectedFiles","selectedFiles","selectedFilter","where","filter","storeKey","isSearch","searchTerm","handleRenderedItems","startIndex","rowsLength","files","length","loadIndex","Math","floor","includes","offset","handleListHeight","current","clientHeight","window","addEventListener","removeEventListener","searchedTerm","index","style","name","url","mimetype","id","isSelected","propTypes","func","isRequired","bool","string","object","defaultProps"],"sources":["../../../../../../src/components/ListingContainer/Listing/MediaListing/MediaFileList/MediaFileList.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { CardPrompt } from '@blaze-cms/admin';\nimport Button from '@blaze-react/button';\nimport VirtualList from 'react-tiny-virtual-list';\nimport { useMediaContext, MediaContext } from '../../../../../utils/media-context';\nimport CardMedia from '../../../../CardMedia';\nimport { existPrevious } from '../../../mappers';\nimport useFileList from '../../../../FileList/useFileList';\nimport {\n MEDIA_LIST_ITEM_SIZE,\n MEDIA_OVER_SCAN_COUNT,\n AVAILABLE_FILTER_TYPES\n} from '../../../../../constants';\n\nconst MediaFileList = ({\n displayCardPrompt,\n setDisplayCardPrompt,\n displayLayout,\n wrapperRef,\n modalTargetRef\n}) => {\n const [currentListIndex, setCurrentListIndex] = useState(1);\n const [verifiedRanges, setVerifiedRanges] = useState([]);\n const [listHeight, setListHeight] = useState(null);\n const {\n queryParams,\n data,\n loading,\n setQueryParams,\n clearList,\n removeFile,\n updateFile\n } = useFileList();\n const { onClickPrompt, getSelectedFiles, selectedFiles, selectedFilter } = useMediaContext(\n MediaContext\n );\n\n useEffect(\n () => {\n setVerifiedRanges([]);\n setCurrentListIndex(0);\n setQueryParams({\n where: {\n ...AVAILABLE_FILTER_TYPES[selectedFilter.filter],\n storeKey: selectedFilter.storeKey\n },\n isSearch: selectedFilter.isSearch,\n searchTerm: selectedFilter.searchTerm\n });\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n selectedFilter.filter,\n selectedFilter.storeKey,\n selectedFilter.isSearch,\n selectedFilter.searchTerm\n ]\n );\n\n const handleRenderedItems = ({ startIndex }) => {\n const rowsLength = data.files.length;\n const loadIndex = Math.floor(rowsLength / 3) - MEDIA_OVER_SCAN_COUNT;\n\n if (loadIndex > 0 && loadIndex < startIndex && !verifiedRanges.includes(loadIndex)) {\n setQueryParams({\n offset: data.files.length,\n where: {\n ...AVAILABLE_FILTER_TYPES[selectedFilter.filter],\n storeKey: selectedFilter.storeKey\n },\n isSearch: selectedFilter.isSearch,\n searchTerm: selectedFilter.searchTerm\n });\n setVerifiedRanges([...verifiedRanges, loadIndex]);\n setCurrentListIndex(startIndex + MEDIA_OVER_SCAN_COUNT);\n }\n };\n\n useEffect(\n () => {\n const handleListHeight = () => {\n setListHeight(wrapperRef.current.clientHeight - 40);\n };\n\n if (wrapperRef.current) {\n if (!listHeight) {\n handleListHeight();\n }\n\n window.addEventListener('resize', handleListHeight);\n }\n return () => {\n window.removeEventListener('resize', handleListHeight);\n };\n },\n [listHeight, wrapperRef]\n );\n\n const searchedTerm = queryParams.searchTerm && `${queryParams.searchTerm} -`;\n\n return (\n <>\n {data.files && data.files.length ? (\n <>\n <p className=\"media__fileList-counter\">\n {searchedTerm} {data[selectedFilter.filter]} items\n </p>\n <VirtualList\n width=\"100%\"\n height={listHeight}\n itemCount={data.files.length}\n itemSize={MEDIA_LIST_ITEM_SIZE}\n overscanCount={MEDIA_OVER_SCAN_COUNT}\n scrollToIndex={currentListIndex}\n onItemsRendered={handleRenderedItems}\n renderItem={({ index, style }) => {\n const { name, url, mimetype, id } = data.files[index];\n const isSelected = existPrevious(selectedFiles, id);\n return (\n <div key={index} style={style} className=\"list__item--resultWrapper\">\n <CardMedia\n updateFile={updateFile}\n clearList={clearList}\n latestQueryToRefetchParams={queryParams}\n modalTargetRef={modalTargetRef}\n onSelected={getSelectedFiles}\n key={id}\n displayLayout={displayLayout}\n selected={!!isSelected}\n name={name}\n url={url}\n mimetype={mimetype}\n id={id}\n index={index}\n removeFile={removeFile}\n />\n </div>\n );\n }}\n />\n </>\n ) : null}\n {!loading && data.files && !data.files.length && displayCardPrompt ? (\n <CardPrompt\n onClose={() => {\n setDisplayCardPrompt(false);\n }}>\n <Button onClick={onClickPrompt} className=\"button button--rounded button--cta\">\n Add\n </Button>\n </CardPrompt>\n ) : null}\n </>\n );\n};\n\nMediaFileList.propTypes = {\n setDisplayCardPrompt: PropTypes.func.isRequired,\n displayCardPrompt: PropTypes.bool,\n displayLayout: PropTypes.string.isRequired,\n wrapperRef: PropTypes.object.isRequired,\n modalTargetRef: PropTypes.object.isRequired\n};\n\nMediaFileList.defaultProps = {\n displayCardPrompt: true\n};\n\nexport default MediaFileList;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MediaFileList.js","names":["React","useState","useEffect","PropTypes","CardPrompt","Button","VirtualList","useMediaContext","MediaContext","CardMedia","existPrevious","useFileList","MEDIA_LIST_ITEM_SIZE","MEDIA_OVER_SCAN_COUNT","AVAILABLE_FILTER_TYPES","MediaFileList","displayCardPrompt","setDisplayCardPrompt","displayLayout","wrapperRef","modalTargetRef","currentListIndex","setCurrentListIndex","verifiedRanges","setVerifiedRanges","listHeight","setListHeight","queryParams","data","loading","setQueryParams","clearList","removeFile","updateFile","onClickPrompt","getSelectedFiles","selectedFiles","selectedFilter","where","filter","storeKey","isSearch","searchTerm","handleRenderedItems","startIndex","rowsLength","files","length","loadIndex","Math","floor","includes","offset","handleListHeight","current","clientHeight","window","addEventListener","removeEventListener","searchedTerm","index","style","name","url","mimetype","id","isSelected","propTypes","func","isRequired","bool","string","object","defaultProps"],"sources":["../../../../../../src/components/ListingContainer/Listing/MediaListing/MediaFileList/MediaFileList.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { CardPrompt } from '@blaze-cms/admin';\nimport Button from '@blaze-react/button';\nimport VirtualList from 'react-tiny-virtual-list';\nimport { useMediaContext, MediaContext } from '../../../../../utils/media-context';\nimport CardMedia from '../../../../CardMedia';\nimport { existPrevious } from '../../../mappers';\nimport useFileList from '../../../../FileList/useFileList';\nimport {\n MEDIA_LIST_ITEM_SIZE,\n MEDIA_OVER_SCAN_COUNT,\n AVAILABLE_FILTER_TYPES\n} from '../../../../../constants';\n\nconst MediaFileList = ({\n displayCardPrompt,\n setDisplayCardPrompt,\n displayLayout,\n wrapperRef,\n modalTargetRef\n}) => {\n const [currentListIndex, setCurrentListIndex] = useState(1);\n const [verifiedRanges, setVerifiedRanges] = useState([]);\n const [listHeight, setListHeight] = useState(null);\n const {\n queryParams,\n data,\n loading,\n setQueryParams,\n clearList,\n removeFile,\n updateFile\n } = useFileList();\n const { onClickPrompt, getSelectedFiles, selectedFiles, selectedFilter } = useMediaContext(\n MediaContext\n );\n\n useEffect(\n () => {\n setVerifiedRanges([]);\n setCurrentListIndex(0);\n setQueryParams({\n where: {\n ...AVAILABLE_FILTER_TYPES[selectedFilter.filter],\n storeKey: selectedFilter.storeKey\n },\n isSearch: selectedFilter.isSearch,\n searchTerm: selectedFilter.searchTerm\n });\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n selectedFilter.filter,\n selectedFilter.storeKey,\n selectedFilter.isSearch,\n selectedFilter.searchTerm\n ]\n );\n\n const handleRenderedItems = ({ startIndex }) => {\n const rowsLength = data.files.length;\n const loadIndex = Math.floor(rowsLength / 3) - MEDIA_OVER_SCAN_COUNT;\n\n if (loadIndex > 0 && loadIndex < startIndex && !verifiedRanges.includes(loadIndex)) {\n setQueryParams({\n offset: data.files.length,\n where: {\n ...AVAILABLE_FILTER_TYPES[selectedFilter.filter],\n storeKey: selectedFilter.storeKey\n },\n isSearch: selectedFilter.isSearch,\n searchTerm: selectedFilter.searchTerm\n });\n setVerifiedRanges([...verifiedRanges, loadIndex]);\n setCurrentListIndex(startIndex + MEDIA_OVER_SCAN_COUNT);\n }\n };\n\n useEffect(\n () => {\n const handleListHeight = () => {\n setListHeight(wrapperRef.current.clientHeight - 40);\n };\n\n if (wrapperRef.current) {\n handleListHeight();\n window.addEventListener('resize', handleListHeight);\n }\n return () => {\n window.removeEventListener('resize', handleListHeight);\n };\n },\n [listHeight, wrapperRef]\n );\n\n const searchedTerm = queryParams.searchTerm && `${queryParams.searchTerm} -`;\n\n return (\n <>\n {data.files && data.files.length ? (\n <>\n <p className=\"media__fileList-counter\">\n {searchedTerm} {data[selectedFilter.filter]} items\n </p>\n <VirtualList\n width=\"100%\"\n height={listHeight}\n itemCount={data.files.length}\n itemSize={MEDIA_LIST_ITEM_SIZE}\n overscanCount={MEDIA_OVER_SCAN_COUNT}\n scrollToIndex={currentListIndex}\n onItemsRendered={handleRenderedItems}\n renderItem={({ index, style }) => {\n const { name, url, mimetype, id } = data.files[index];\n const isSelected = existPrevious(selectedFiles, id);\n return (\n <div key={index} style={style} className=\"list__item--resultWrapper\">\n <CardMedia\n updateFile={updateFile}\n clearList={clearList}\n latestQueryToRefetchParams={queryParams}\n modalTargetRef={modalTargetRef}\n onSelected={getSelectedFiles}\n key={id}\n displayLayout={displayLayout}\n selected={!!isSelected}\n name={name}\n url={url}\n mimetype={mimetype}\n id={id}\n index={index}\n removeFile={removeFile}\n />\n </div>\n );\n }}\n />\n </>\n ) : null}\n {!loading && data.files && !data.files.length && displayCardPrompt ? (\n <CardPrompt\n onClose={() => {\n setDisplayCardPrompt(false);\n }}>\n <Button onClick={onClickPrompt} className=\"button button--rounded button--cta\">\n Add\n </Button>\n </CardPrompt>\n ) : null}\n </>\n );\n};\n\nMediaFileList.propTypes = {\n setDisplayCardPrompt: PropTypes.func.isRequired,\n displayCardPrompt: PropTypes.bool,\n displayLayout: PropTypes.string.isRequired,\n wrapperRef: PropTypes.object.isRequired,\n modalTargetRef: PropTypes.object.isRequired\n};\n\nMediaFileList.defaultProps = {\n displayCardPrompt: true\n};\n\nexport default MediaFileList;\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.
|
|
3
|
+
"version": "0.126.0-admin-updates.1",
|
|
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": "
|
|
30
|
+
"@blaze-cms/admin-ui-utils": "0.126.0-admin-updates.1",
|
|
31
31
|
"@blaze-cms/core-errors": "^0.118.0",
|
|
32
|
-
"@blaze-cms/plugin-search-ui": "
|
|
33
|
-
"@blaze-cms/react-form-builder": "
|
|
32
|
+
"@blaze-cms/plugin-search-ui": "0.126.0-admin-updates.1",
|
|
33
|
+
"@blaze-cms/react-form-builder": "0.126.0-admin-updates.1",
|
|
34
34
|
"@blaze-cms/setup-ui": "^0.92.0",
|
|
35
35
|
"@blaze-react/button": "0.5.19",
|
|
36
36
|
"@blaze-react/drafteditor": "0.7.0",
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
"react-tiny-virtual-list": "2.2.0"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
|
-
"@blaze-cms/core-ui": "
|
|
47
|
+
"@blaze-cms/core-ui": "0.126.0-admin-updates.0"
|
|
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": "0c51ee64d86ab1d96172b813bf3ccd1ad2eed050"
|
|
61
61
|
}
|
|
@@ -1,9 +1,8 @@
|
|
|
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';
|
|
4
3
|
import PropTypes from 'prop-types';
|
|
5
4
|
import { useApolloClient } from '@apollo/client';
|
|
6
|
-
import { getQuery, getMutation } from '@blaze-cms/admin-ui-utils';
|
|
5
|
+
import { getQuery, getMutation, ModalAdapter as Modal } from '@blaze-cms/admin-ui-utils';
|
|
7
6
|
import { parseFormValues } from '@blaze-cms/react-form-builder';
|
|
8
7
|
import useToasts from '@blaze-react/toaster/lib/Toast/useToasts';
|
|
9
8
|
import { MORE } from '../../constants';
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import React, { useState } from 'react';
|
|
2
|
-
import Modal from '@blaze-
|
|
2
|
+
import { ModalAdapter as Modal, getMutation, getQuery } from '@blaze-cms/admin-ui-utils';
|
|
3
3
|
import FileUpload from '@blaze-react/file-upload';
|
|
4
4
|
import PropTypes from 'prop-types';
|
|
5
|
-
import { getMutation, getQuery } from '@blaze-cms/admin-ui-utils';
|
|
6
5
|
import { useToasts } from '@blaze-react/toaster';
|
|
7
6
|
import { useApolloClient, useQuery } from '@apollo/client';
|
|
8
7
|
import useFileList from '../FileList/useFileList';
|