@blaze-cms/plugin-media-ui 0.133.0 → 0.134.0-project-admin-customisations.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +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/index.js +18 -5
- package/lib/index.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/lib-es/index.js +19 -5
- package/lib-es/index.js.map +1 -1
- package/package.json +8 -8
- 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/src/index.js +17 -2
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.134.0-project-admin-customisations.0](https://github.com/thebyte9/blaze/compare/v0.133.0...v0.134.0-project-admin-customisations.0) (2023-10-11)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
# [0.129.0-project-admin-customisations.1](https://github.com/thebyte9/blaze/compare/v0.129.0-project-admin-customisations.0...v0.129.0-project-admin-customisations.1) (2023-05-05)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
# [0.129.0-project-admin-customisations.0](https://github.com/thebyte9/blaze/compare/v0.128.2...v0.129.0-project-admin-customisations.0) (2023-05-03)
|
|
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.133.0](https://github.com/thebyte9/blaze/compare/v0.133.0-alpha.6...v0.133.0) (2023-10-04)
|
|
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");
|
|
@@ -415,7 +414,7 @@ var FileUploadAdapter = function FileUploadAdapter(_ref) {
|
|
|
415
414
|
actionText: fileUploadButtonText,
|
|
416
415
|
handleLibraryClick: onOpenLibrary,
|
|
417
416
|
enableDragAndDrop: false
|
|
418
|
-
})), editFile && /*#__PURE__*/_react["default"].createElement(
|
|
417
|
+
})), editFile && /*#__PURE__*/_react["default"].createElement(_adminUiUtils.ModalAdapter, {
|
|
419
418
|
actions: editModalActions,
|
|
420
419
|
title: "Edit File",
|
|
421
420
|
onClose: function onClose() {
|
|
@@ -429,7 +428,7 @@ var FileUploadAdapter = function FileUploadAdapter(_ref) {
|
|
|
429
428
|
previewType: "card"
|
|
430
429
|
})), displayModal && /*#__PURE__*/_react["default"].createElement("div", {
|
|
431
430
|
className: "file-upload-modal-wrapper"
|
|
432
|
-
}, /*#__PURE__*/_react["default"].createElement(
|
|
431
|
+
}, /*#__PURE__*/_react["default"].createElement(_adminUiUtils.ModalAdapter, {
|
|
433
432
|
actions: modalActions,
|
|
434
433
|
className: "file-upload-modal",
|
|
435
434
|
title: "Media library",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileUploadAdapter.js","names":["_react","_interopRequireWildcard","require","_fileUpload","_interopRequireDefault","_modal","_propTypes","_client","_adminUiUtils","_reactFormBuilder","_useToasts2","_constants","_ListingContainer","_mediaContext","_FileList","_useLimit3","_mappers","_FilePreview","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","e","r","t","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","FileUploadAdapter","_ref","onChange","label","id","type","value","maxItems","shouldRenderInPreview","canDragAndDrop","_useContext","useContext","FormContext","InjectPreview","_useLimit","useLimit","_useLimit2","_slicedToArray2","currentLimit","_useState","useState","_useState2","displayModal","setDisplayModal","initialValue","formatInitialValue","_useState3","_useState4","currentValue","setCurrentValue","_useState5","_useState6","currentOffset","setCurrentOffset","_useState7","_useState8","selectedFiles","setSelectedFiles","_useState9","_useState10","editFile","setEditFile","client","useApolloClient","_useToasts","useToasts","addToast","getFiles","_ref2","_asyncToGenerator2","_regenerator","mark","_callee","offset","ids","fetchAll","_yield$client$query","newFiles","wrap","_callee$","_context","prev","next","query","getQuery","variables","limit","where","_in","skip","fetchPolicy","sent","data","files","abrupt","stop","_x","_x2","_x3","useEffect","_callee2","initialFiles","orderedFiles","_callee2$","_context2","_","i","orderFiles","fetchMore","_ref4","_callee3","shouldFetchAll","newOffset","updatedOffset","offsetToUse","_callee3$","_context3","concat","_toConsumableArray2","_x4","handleSelectedFiles","checkIsUnselecting","undefined","isUnselectingFile","isUnselecting","valueArray","transformToArray","selectedFilesIds","valueId","includes","parsedValue","getFormat","filesIds","event","target","name","fileData","handleReorderFiles","map","_ref5","fileId","closeModalAndSetValue","isSaving","fileUploadButtonText","getButtonText","filesPending","getNumberFilesPendingToFetch","onOpenLibrary","handleEditModal","file","selectedEditFile","find","_ref6","_id","handleEditFileForm","editedFile","values","parseFormValues","valuesChecked","altText","caption","credits","hrefUrl","currentId","_ref7","Boolean","modalActions","textButton","callback","modifiers","editModalActions","_callback","_callee4","editedFileId","updatedSelectedFiles","_callee4$","_context4","selectedFile","mutate","mutation","getMutation","input","update","_ref8","fileUpdated","updateFile","writeQuery","result","appearance","autoDismiss","t0","console","error","filesPendingString","MORE","fileListSpan","createElement","className","onClick","Fragment","MediaContextProvider","onUnselectFile","selector","previewerId","allFiles","actionText","handleLibraryClick","enableDragAndDrop","actions","title","onClose","fileName","handleFormChange","displayForm","previewType","filesSelected","propTypes","PropTypes","func","isRequired","string","oneOfType","array","number","bool","defaultProps","_default","exports"],"sources":["../../../src/components/FileUploadAdapter/FileUploadAdapter.js"],"sourcesContent":["import React, { useState, useContext, useEffect } from 'react';\nimport FileUpload from '@blaze-react/file-upload';\nimport 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","_interopRequireWildcard","require","_fileUpload","_interopRequireDefault","_propTypes","_client","_adminUiUtils","_reactFormBuilder","_useToasts2","_constants","_ListingContainer","_mediaContext","_FileList","_useLimit3","_mappers","_FilePreview","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","e","r","t","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","FileUploadAdapter","_ref","onChange","label","id","type","value","maxItems","shouldRenderInPreview","canDragAndDrop","_useContext","useContext","FormContext","InjectPreview","_useLimit","useLimit","_useLimit2","_slicedToArray2","currentLimit","_useState","useState","_useState2","displayModal","setDisplayModal","initialValue","formatInitialValue","_useState3","_useState4","currentValue","setCurrentValue","_useState5","_useState6","currentOffset","setCurrentOffset","_useState7","_useState8","selectedFiles","setSelectedFiles","_useState9","_useState10","editFile","setEditFile","client","useApolloClient","_useToasts","useToasts","addToast","getFiles","_ref2","_asyncToGenerator2","_regenerator","mark","_callee","offset","ids","fetchAll","_yield$client$query","newFiles","wrap","_callee$","_context","prev","next","query","getQuery","variables","limit","where","_in","skip","fetchPolicy","sent","data","files","abrupt","stop","_x","_x2","_x3","useEffect","_callee2","initialFiles","orderedFiles","_callee2$","_context2","_","i","orderFiles","fetchMore","_ref4","_callee3","shouldFetchAll","newOffset","updatedOffset","offsetToUse","_callee3$","_context3","concat","_toConsumableArray2","_x4","handleSelectedFiles","checkIsUnselecting","undefined","isUnselectingFile","isUnselecting","valueArray","transformToArray","selectedFilesIds","valueId","includes","parsedValue","getFormat","filesIds","event","target","name","fileData","handleReorderFiles","map","_ref5","fileId","closeModalAndSetValue","isSaving","fileUploadButtonText","getButtonText","filesPending","getNumberFilesPendingToFetch","onOpenLibrary","handleEditModal","file","selectedEditFile","find","_ref6","_id","handleEditFileForm","editedFile","values","parseFormValues","valuesChecked","altText","caption","credits","hrefUrl","currentId","_ref7","Boolean","modalActions","textButton","callback","modifiers","editModalActions","_callback","_callee4","editedFileId","updatedSelectedFiles","_callee4$","_context4","selectedFile","mutate","mutation","getMutation","input","update","_ref8","fileUpdated","updateFile","writeQuery","result","appearance","autoDismiss","t0","console","error","filesPendingString","MORE","fileListSpan","createElement","className","onClick","Fragment","MediaContextProvider","onUnselectFile","selector","previewerId","allFiles","actionText","handleLibraryClick","enableDragAndDrop","ModalAdapter","actions","title","onClose","fileName","handleFormChange","displayForm","previewType","filesSelected","propTypes","PropTypes","func","isRequired","string","oneOfType","array","number","bool","defaultProps","_default","exports"],"sources":["../../../src/components/FileUploadAdapter/FileUploadAdapter.js"],"sourcesContent":["import React, { useState, useContext, useEffect } from 'react';\nimport FileUpload from '@blaze-react/file-upload';\nimport PropTypes from 'prop-types';\nimport { useApolloClient } from '@apollo/client';\nimport { getQuery, getMutation, ModalAdapter as Modal } from '@blaze-cms/admin-ui-utils';\nimport { parseFormValues } from '@blaze-cms/react-form-builder';\nimport useToasts from '@blaze-react/toaster/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"));
|
|
@@ -133,7 +132,7 @@ var FileUploadModal = function FileUploadModal(_ref) {
|
|
|
133
132
|
var storeOptions = storeType.map(function (type) {
|
|
134
133
|
return [type.key, type.name];
|
|
135
134
|
});
|
|
136
|
-
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(
|
|
135
|
+
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_adminUiUtils.ModalAdapter, {
|
|
137
136
|
onClose: onClose,
|
|
138
137
|
title: "Add media",
|
|
139
138
|
actions: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileUploadModal.js","names":["_react","_interopRequireWildcard","require","
|
|
1
|
+
{"version":3,"file":"FileUploadModal.js","names":["_react","_interopRequireWildcard","require","_adminUiUtils","_fileUpload","_interopRequireDefault","_propTypes","_toaster","_client","_useFileList2","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","FileUploadModal","_ref","onClose","_useState","useState","_useState2","_slicedToArray2","files","setFiles","_useToasts","useToasts","addToast","client","useApolloClient","_useFileList","useFileList","addNewFile","fileStoresType","getQuery","_useQuery","useQuery","variables","visibleInAdmin","_useQuery$data","data","_useQuery$data2","_useQuery$data2$getFi","getFileStores","storeType","handleFiles","filesToUpload","uploadFiles","_ref2","_asyncToGenerator2","_regenerator","mark","_callee","response","parsedResponse","fileNames","wrap","_callee$","_context","prev","next","Promise","all","map","_ref3","file","name","fileData","storeKey","mutate","mutation","getMutation","input","filename","error","message","appearance","autoDismiss","sent","_ref4","result","_ref5","concat","join","stop","apply","arguments","handleOnSave","_ref6","_callee2","_callee2$","_context2","length","storeOptions","type","createElement","Fragment","ModalAdapter","title","actions","textButton","callback","modifiers","upload","onChange","selectOptions","propTypes","PropTypes","func","defaultProps","_default","exports"],"sources":["../../../src/components/FileUploadModal/FileUploadModal.js"],"sourcesContent":["import React, { useState } from 'react';\nimport { ModalAdapter as Modal, getMutation, getQuery } from '@blaze-cms/admin-ui-utils';\nimport FileUpload from '@blaze-react/file-upload';\nimport PropTypes from 'prop-types';\nimport { useToasts } from '@blaze-react/toaster';\nimport { useApolloClient, useQuery } from '@apollo/client';\nimport useFileList from '../FileList/useFileList';\n\nconst FileUploadModal = ({ onClose }) => {\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":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_admin","_button","_reactTinyVirtualList","_mediaContext","_CardMedia","_mappers","_useFileList2","_constants","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","e","r","t","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","MediaFileList","_ref","displayCardPrompt","setDisplayCardPrompt","displayLayout","wrapperRef","modalTargetRef","_useState","useState","_useState2","_slicedToArray2","currentListIndex","setCurrentListIndex","_useState3","_useState4","verifiedRanges","setVerifiedRanges","_useState5","_useState6","listHeight","setListHeight","_useFileList","useFileList","queryParams","data","loading","setQueryParams","clearList","removeFile","updateFile","_useMediaContext","useMediaContext","MediaContext","onClickPrompt","getSelectedFiles","selectedFiles","selectedFilter","useEffect","where","AVAILABLE_FILTER_TYPES","storeKey","isSearch","searchTerm","handleRenderedItems","_ref2","startIndex","rowsLength","files","loadIndex","Math","floor","MEDIA_OVER_SCAN_COUNT","includes","offset","concat","_toConsumableArray2","handleListHeight","current","clientHeight","window","addEventListener","removeEventListener","searchedTerm","createElement","Fragment","className","width","height","itemCount","itemSize","MEDIA_LIST_ITEM_SIZE","overscanCount","scrollToIndex","onItemsRendered","renderItem","_ref3","index","style","_data$files$index","name","url","mimetype","id","isSelected","existPrevious","latestQueryToRefetchParams","onSelected","selected","CardPrompt","onClose","onClick","propTypes","PropTypes","func","isRequired","bool","string","object","defaultProps","_default","exports"],"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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAF,sBAAA,CAAAF,OAAA;AACA,IAAAK,qBAAA,GAAAH,sBAAA,CAAAF,OAAA;AACA,IAAAM,aAAA,GAAAN,OAAA;AACA,IAAAO,UAAA,GAAAL,sBAAA,CAAAF,OAAA;AACA,IAAAQ,QAAA,GAAAR,OAAA;AACA,IAAAS,aAAA,GAAAP,sBAAA,CAAAF,OAAA;AACA,IAAAU,UAAA,GAAAV,OAAA;AAIkC,SAAAW,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAb,wBAAAiB,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,aAAAE,OAAA,CAAAF,GAAA,yBAAAA,GAAA,uCAAAA,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,cAAAN,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAAA,SAAAW,QAAAC,CAAA,EAAAC,CAAA,QAAAC,CAAA,GAAAZ,MAAA,CAAAa,IAAA,CAAAH,CAAA,OAAAV,MAAA,CAAAc,qBAAA,QAAAC,CAAA,GAAAf,MAAA,CAAAc,qBAAA,CAAAJ,CAAA,GAAAC,CAAA,KAAAI,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAL,CAAA,WAAAX,MAAA,CAAAE,wBAAA,CAAAQ,CAAA,EAAAC,CAAA,EAAAM,UAAA,OAAAL,CAAA,CAAAM,IAAA,CAAAC,KAAA,CAAAP,CAAA,EAAAG,CAAA,YAAAH,CAAA;AAAA,SAAAQ,cAAAV,CAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAU,SAAA,CAAAC,MAAA,EAAAX,CAAA,UAAAC,CAAA,WAAAS,SAAA,CAAAV,CAAA,IAAAU,SAAA,CAAAV,CAAA,QAAAA,CAAA,OAAAF,OAAA,CAAAT,MAAA,CAAAY,CAAA,OAAAW,OAAA,WAAAZ,CAAA,QAAAa,gBAAA,aAAAd,CAAA,EAAAC,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAX,MAAA,CAAAyB,yBAAA,GAAAzB,MAAA,CAAA0B,gBAAA,CAAAhB,CAAA,EAAAV,MAAA,CAAAyB,yBAAA,CAAAb,CAAA,KAAAH,OAAA,CAAAT,MAAA,CAAAY,CAAA,GAAAW,OAAA,WAAAZ,CAAA,IAAAX,MAAA,CAAAC,cAAA,CAAAS,CAAA,EAAAC,CAAA,EAAAX,MAAA,CAAAE,wBAAA,CAAAU,CAAA,EAAAD,CAAA,iBAAAD,CAAA;AAElC,IAAMiB,aAAa,GAAG,SAAhBA,aAAaA,CAAAC,IAAA,EAMb;EAAA,IALJC,iBAAiB,GAAAD,IAAA,CAAjBC,iBAAiB;IACjBC,oBAAoB,GAAAF,IAAA,CAApBE,oBAAoB;IACpBC,aAAa,GAAAH,IAAA,CAAbG,aAAa;IACbC,UAAU,GAAAJ,IAAA,CAAVI,UAAU;IACVC,cAAc,GAAAL,IAAA,CAAdK,cAAc;EAEd,IAAAC,SAAA,GAAgD,IAAAC,eAAQ,EAAC,CAAC,CAAC;IAAAC,UAAA,OAAAC,eAAA,aAAAH,SAAA;IAApDI,gBAAgB,GAAAF,UAAA;IAAEG,mBAAmB,GAAAH,UAAA;EAC5C,IAAAI,UAAA,GAA4C,IAAAL,eAAQ,EAAC,EAAE,CAAC;IAAAM,UAAA,OAAAJ,eAAA,aAAAG,UAAA;IAAjDE,cAAc,GAAAD,UAAA;IAAEE,iBAAiB,GAAAF,UAAA;EACxC,IAAAG,UAAA,GAAoC,IAAAT,eAAQ,EAAC,IAAI,CAAC;IAAAU,UAAA,OAAAR,eAAA,aAAAO,UAAA;IAA3CE,UAAU,GAAAD,UAAA;IAAEE,aAAa,GAAAF,UAAA;EAChC,IAAAG,YAAA,GAQI,IAAAC,wBAAW,EAAC,CAAC;IAPfC,WAAW,GAAAF,YAAA,CAAXE,WAAW;IACXC,IAAI,GAAAH,YAAA,CAAJG,IAAI;IACJC,OAAO,GAAAJ,YAAA,CAAPI,OAAO;IACPC,cAAc,GAAAL,YAAA,CAAdK,cAAc;IACdC,SAAS,GAAAN,YAAA,CAATM,SAAS;IACTC,UAAU,GAAAP,YAAA,CAAVO,UAAU;IACVC,UAAU,GAAAR,YAAA,CAAVQ,UAAU;EAEZ,IAAAC,gBAAA,GAA2E,IAAAC,6BAAe,EACxFC,0BACF,CAAC;IAFOC,aAAa,GAAAH,gBAAA,CAAbG,aAAa;IAAEC,gBAAgB,GAAAJ,gBAAA,CAAhBI,gBAAgB;IAAEC,aAAa,GAAAL,gBAAA,CAAbK,aAAa;IAAEC,cAAc,GAAAN,gBAAA,CAAdM,cAAc;EAItE,IAAAC,gBAAS,EACP,YAAM;IACJrB,iBAAiB,CAAC,EAAE,CAAC;IACrBJ,mBAAmB,CAAC,CAAC,CAAC;IACtBc,cAAc,CAAC;MACbY,KAAK,EAAA7C,aAAA,CAAAA,aAAA,KACA8C,iCAAsB,CAACH,cAAc,CAAC/C,MAAM,CAAC;QAChDmD,QAAQ,EAAEJ,cAAc,CAACI;MAAQ,EAClC;MACDC,QAAQ,EAAEL,cAAc,CAACK,QAAQ;MACjCC,UAAU,EAAEN,cAAc,CAACM;IAC7B,CAAC,CAAC;EACJ,CAAC;EACD;EACA,CACEN,cAAc,CAAC/C,MAAM,EACrB+C,cAAc,CAACI,QAAQ,EACvBJ,cAAc,CAACK,QAAQ,EACvBL,cAAc,CAACM,UAAU,CAE7B,CAAC;EAED,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAAC,KAAA,EAAuB;IAAA,IAAjBC,UAAU,GAAAD,KAAA,CAAVC,UAAU;IACvC,IAAMC,UAAU,GAAGtB,IAAI,CAACuB,KAAK,CAACpD,MAAM;IACpC,IAAMqD,SAAS,GAAGC,IAAI,CAACC,KAAK,CAACJ,UAAU,GAAG,CAAC,CAAC,GAAGK,gCAAqB;IAEpE,IAAIH,SAAS,GAAG,CAAC,IAAIA,SAAS,GAAGH,UAAU,IAAI,CAAC9B,cAAc,CAACqC,QAAQ,CAACJ,SAAS,CAAC,EAAE;MAClFtB,cAAc,CAAC;QACb2B,MAAM,EAAE7B,IAAI,CAACuB,KAAK,CAACpD,MAAM;QACzB2C,KAAK,EAAA7C,aAAA,CAAAA,aAAA,KACA8C,iCAAsB,CAACH,cAAc,CAAC/C,MAAM,CAAC;UAChDmD,QAAQ,EAAEJ,cAAc,CAACI;QAAQ,EAClC;QACDC,QAAQ,EAAEL,cAAc,CAACK,QAAQ;QACjCC,UAAU,EAAEN,cAAc,CAACM;MAC7B,CAAC,CAAC;MACF1B,iBAAiB,IAAAsC,MAAA,KAAAC,mBAAA,aAAKxC,cAAc,IAAEiC,SAAS,EAAC,CAAC;MACjDpC,mBAAmB,CAACiC,UAAU,GAAGM,gCAAqB,CAAC;IACzD;EACF,CAAC;EAED,IAAAd,gBAAS,EACP,YAAM;IACJ,IAAMmB,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAA,EAAS;MAC7BpC,aAAa,CAACf,UAAU,CAACoD,OAAO,CAACC,YAAY,GAAG,EAAE,CAAC;IACrD,CAAC;IAED,IAAIrD,UAAU,CAACoD,OAAO,EAAE;MACtB,IAAI,CAACtC,UAAU,EAAE;QACfqC,gBAAgB,CAAC,CAAC;MACpB;MAEAG,MAAM,CAACC,gBAAgB,CAAC,QAAQ,EAAEJ,gBAAgB,CAAC;IACrD;IACA,OAAO,YAAM;MACXG,MAAM,CAACE,mBAAmB,CAAC,QAAQ,EAAEL,gBAAgB,CAAC;IACxD,CAAC;EACH,CAAC,EACD,CAACrC,UAAU,EAAEd,UAAU,CACzB,CAAC;EAED,IAAMyD,YAAY,GAAGvC,WAAW,CAACmB,UAAU,OAAAY,MAAA,CAAO/B,WAAW,CAACmB,UAAU,OAAI;EAE5E,oBACE/F,MAAA,YAAAoH,aAAA,CAAApH,MAAA,YAAAqH,QAAA,QACGxC,IAAI,CAACuB,KAAK,IAAIvB,IAAI,CAACuB,KAAK,CAACpD,MAAM,gBAC9BhD,MAAA,YAAAoH,aAAA,CAAApH,MAAA,YAAAqH,QAAA,qBACErH,MAAA,YAAAoH,aAAA;IAAGE,SAAS,EAAC;EAAyB,GACnCH,YAAY,EAAC,GAAC,EAACtC,IAAI,CAACY,cAAc,CAAC/C,MAAM,CAAC,EAAC,QAC3C,CAAC,eACJ1C,MAAA,YAAAoH,aAAA,CAAC7G,qBAAA,WAAW;IACVgH,KAAK,EAAC,MAAM;IACZC,MAAM,EAAEhD,UAAW;IACnBiD,SAAS,EAAE5C,IAAI,CAACuB,KAAK,CAACpD,MAAO;IAC7B0E,QAAQ,EAAEC,+BAAqB;IAC/BC,aAAa,EAAEpB,gCAAsB;IACrCqB,aAAa,EAAE7D,gBAAiB;IAChC8D,eAAe,EAAE9B,mBAAoB;IACrC+B,UAAU,EAAE,SAAAA,WAAAC,KAAA,EAAsB;MAAA,IAAnBC,KAAK,GAAAD,KAAA,CAALC,KAAK;QAAEC,KAAK,GAAAF,KAAA,CAALE,KAAK;MACzB,IAAAC,iBAAA,GAAoCtD,IAAI,CAACuB,KAAK,CAAC6B,KAAK,CAAC;QAA7CG,IAAI,GAAAD,iBAAA,CAAJC,IAAI;QAAEC,GAAG,GAAAF,iBAAA,CAAHE,GAAG;QAAEC,QAAQ,GAAAH,iBAAA,CAARG,QAAQ;QAAEC,EAAE,GAAAJ,iBAAA,CAAFI,EAAE;MAC/B,IAAMC,UAAU,GAAG,IAAAC,sBAAa,EAACjD,aAAa,EAAE+C,EAAE,CAAC;MACnD,oBACEvI,MAAA,YAAAoH,aAAA;QAAKvF,GAAG,EAAEoG,KAAM;QAACC,KAAK,EAAEA,KAAM;QAACZ,SAAS,EAAC;MAA2B,gBAClEtH,MAAA,YAAAoH,aAAA,CAAC3G,UAAA,WAAS;QACRyE,UAAU,EAAEA,UAAW;QACvBF,SAAS,EAAEA,SAAU;QACrB0D,0BAA0B,EAAE9D,WAAY;QACxCjB,cAAc,EAAEA,cAAe;QAC/BgF,UAAU,EAAEpD,gBAAiB;QAC7B1D,GAAG,EAAE0G,EAAG;QACR9E,aAAa,EAAEA,aAAc;QAC7BmF,QAAQ,EAAE,CAAC,CAACJ,UAAW;QACvBJ,IAAI,EAAEA,IAAK;QACXC,GAAG,EAAEA,GAAI;QACTC,QAAQ,EAAEA,QAAS;QACnBC,EAAE,EAAEA,EAAG;QACPN,KAAK,EAAEA,KAAM;QACbhD,UAAU,EAAEA;MAAW,CACxB,CACE,CAAC;IAEV;EAAE,CACH,CACD,CAAC,GACD,IAAI,EACP,CAACH,OAAO,IAAID,IAAI,CAACuB,KAAK,IAAI,CAACvB,IAAI,CAACuB,KAAK,CAACpD,MAAM,IAAIO,iBAAiB,gBAChEvD,MAAA,YAAAoH,aAAA,CAAC/G,MAAA,CAAAwI,UAAU;IACTC,OAAO,EAAE,SAAAA,QAAA,EAAM;MACbtF,oBAAoB,CAAC,KAAK,CAAC;IAC7B;EAAE,gBACFxD,MAAA,YAAAoH,aAAA,CAAC9G,OAAA,WAAM;IAACyI,OAAO,EAAEzD,aAAc;IAACgC,SAAS,EAAC;EAAoC,GAAC,KAEvE,CACE,CAAC,GACX,IACJ,CAAC;AAEP,CAAC;AAEDjE,aAAa,CAAC2F,SAAS,GAAG;EACxBxF,oBAAoB,EAAEyF,qBAAS,CAACC,IAAI,CAACC,UAAU;EAC/C5F,iBAAiB,EAAE0F,qBAAS,CAACG,IAAI;EACjC3F,aAAa,EAAEwF,qBAAS,CAACI,MAAM,CAACF,UAAU;EAC1CzF,UAAU,EAAEuF,qBAAS,CAACK,MAAM,CAACH,UAAU;EACvCxF,cAAc,EAAEsF,qBAAS,CAACK,MAAM,CAACH;AACnC,CAAC;AAED9F,aAAa,CAACkG,YAAY,GAAG;EAC3BhG,iBAAiB,EAAE;AACrB,CAAC;AAAC,IAAAiG,QAAA,GAEanG,aAAa;AAAAoG,OAAA,cAAAD,QAAA"}
|
|
1
|
+
{"version":3,"file":"MediaFileList.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_admin","_button","_reactTinyVirtualList","_mediaContext","_CardMedia","_mappers","_useFileList2","_constants","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","e","r","t","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","MediaFileList","_ref","displayCardPrompt","setDisplayCardPrompt","displayLayout","wrapperRef","modalTargetRef","_useState","useState","_useState2","_slicedToArray2","currentListIndex","setCurrentListIndex","_useState3","_useState4","verifiedRanges","setVerifiedRanges","_useState5","_useState6","listHeight","setListHeight","_useFileList","useFileList","queryParams","data","loading","setQueryParams","clearList","removeFile","updateFile","_useMediaContext","useMediaContext","MediaContext","onClickPrompt","getSelectedFiles","selectedFiles","selectedFilter","useEffect","where","AVAILABLE_FILTER_TYPES","storeKey","isSearch","searchTerm","handleRenderedItems","_ref2","startIndex","rowsLength","files","loadIndex","Math","floor","MEDIA_OVER_SCAN_COUNT","includes","offset","concat","_toConsumableArray2","handleListHeight","current","clientHeight","window","addEventListener","removeEventListener","searchedTerm","createElement","Fragment","className","width","height","itemCount","itemSize","MEDIA_LIST_ITEM_SIZE","overscanCount","scrollToIndex","onItemsRendered","renderItem","_ref3","index","style","_data$files$index","name","url","mimetype","id","isSelected","existPrevious","latestQueryToRefetchParams","onSelected","selected","CardPrompt","onClose","onClick","propTypes","PropTypes","func","isRequired","bool","string","object","defaultProps","_default","exports"],"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/lib/index.js
CHANGED
|
@@ -42,11 +42,24 @@ function _load() {
|
|
|
42
42
|
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
43
43
|
while (1) switch (_context.prev = _context.next) {
|
|
44
44
|
case 0:
|
|
45
|
-
app.events.once('
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
45
|
+
app.events.once('admin:menu:config:load', function (_ref) {
|
|
46
|
+
var addConfig = _ref.addConfig;
|
|
47
|
+
addConfig({
|
|
48
|
+
main: {
|
|
49
|
+
items: {
|
|
50
|
+
plugins: {
|
|
51
|
+
label: 'Plugins',
|
|
52
|
+
order: 20,
|
|
53
|
+
items: {
|
|
54
|
+
media: {
|
|
55
|
+
label: 'Media',
|
|
56
|
+
uri: '/media'
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
});
|
|
50
63
|
});
|
|
51
64
|
app.events.once('load:custom:field:type', function (addFieldType) {
|
|
52
65
|
addFieldType({
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_FileUploadAdapter","_EditorAdapter","_package","_constants","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_interopRequireWildcard","obj","__esModule","_typeof2","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ListingContainer","React","lazy","Promise","resolve","then","EditMediaFilePage","load","_x","_load","apply","arguments","_asyncToGenerator2","_regenerator","mark","_callee","app","mediaRoute","editMediaFileRoute","wrap","_callee$","_context","prev","next","events","once","
|
|
1
|
+
{"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_FileUploadAdapter","_EditorAdapter","_package","_constants","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_interopRequireWildcard","obj","__esModule","_typeof2","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ListingContainer","React","lazy","Promise","resolve","then","EditMediaFilePage","load","_x","_load","apply","arguments","_asyncToGenerator2","_regenerator","mark","_callee","app","mediaRoute","editMediaFileRoute","wrap","_callee$","_context","prev","next","events","once","_ref","addConfig","main","items","plugins","label","order","media","uri","addFieldType","type","component","FileUploadAdapter","EditorAdapter","path","exact","addRoute","abrupt","name","PLUGIN_NAME","version","pkg","stop","pluginName"],"sources":["../src/index.js"],"sourcesContent":["import React from 'react';\nimport FileUploadAdapter from './components/FileUploadAdapter';\nimport EditorAdapter from './components/EditorAdapter';\nimport pkg from '../package.json';\nimport { PLUGIN_NAME } from './constants';\n\nconst ListingContainer = React.lazy(() =>\n import(/* webpackChunkName: 'MediaListingContainer' */ './components/ListingContainer')\n);\n\nconst EditMediaFilePage = React.lazy(() =>\n import(/* webpackChunkName: 'EditMediaFilePage' */ './components/EditMediaFile/EditMediaFilePage')\n);\n\nexport default async function load(app) {\n app.events.once('admin:menu:config:load', ({ addConfig }) => {\n addConfig({\n main: {\n items: {\n plugins: {\n label: 'Plugins',\n order: 20,\n items: {\n media: {\n label: 'Media',\n uri: '/media'\n }\n }\n }\n }\n }\n });\n });\n\n app.events.once('load:custom:field:type', addFieldType => {\n addFieldType({ type: 'fileUpload', component: FileUploadAdapter });\n addFieldType({ type: 'editor', component: EditorAdapter });\n });\n\n const mediaRoute = {\n path: '/media',\n key: 'media',\n component: ListingContainer,\n exact: true\n };\n\n const editMediaFileRoute = {\n path: '/media/edit/:fileId',\n key: 'editMedia',\n component: EditMediaFilePage,\n exact: true\n };\n\n app.addRoute(mediaRoute);\n app.addRoute(editMediaFileRoute);\n\n return {\n name: PLUGIN_NAME,\n version: pkg.version\n };\n}\n\nload.pluginName = PLUGIN_NAME;\n"],"mappings":"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"}
|
|
@@ -3,10 +3,9 @@ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbol
|
|
|
3
3
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
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","_objectSpread","currentId","Boolean","modalActions","textButton","callback","modifiers","editModalActions","editedFileId","updatedSelectedFiles","selectedFile","mutate","mutation","input","update","cache","updateFile","fileUpdated","writeQuery","result","appearance","autoDismiss","e","console","error","filesPendingString","fileListSpan","createElement","className","onClick","Fragment","onUnselectFile","selector","previewerId","allFiles","actionText","handleLibraryClick","enableDragAndDrop","actions","title","onClose","fileName","handleFormChange","displayForm","previewType","filesSelected","propTypes","func","isRequired","string","oneOfType","array","number","bool","defaultProps"],"sources":["../../../src/components/FileUploadAdapter/FileUploadAdapter.js"],"sourcesContent":["import React, { useState, useContext, useEffect } from 'react';\nimport FileUpload from '@blaze-react/file-upload';\nimport 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","_objectSpread","currentId","Boolean","modalActions","textButton","callback","modifiers","editModalActions","editedFileId","updatedSelectedFiles","selectedFile","mutate","mutation","input","update","cache","updateFile","fileUpdated","writeQuery","result","appearance","autoDismiss","e","console","error","filesPendingString","fileListSpan","createElement","className","onClick","Fragment","onUnselectFile","selector","previewerId","allFiles","actionText","handleLibraryClick","enableDragAndDrop","actions","title","onClose","fileName","handleFormChange","displayForm","previewType","filesSelected","propTypes","func","isRequired","string","oneOfType","array","number","bool","defaultProps"],"sources":["../../../src/components/FileUploadAdapter/FileUploadAdapter.js"],"sourcesContent":["import React, { useState, useContext, useEffect } from 'react';\nimport FileUpload from '@blaze-react/file-upload';\nimport PropTypes from 'prop-types';\nimport { useApolloClient } from '@apollo/client';\nimport { getQuery, getMutation, ModalAdapter as Modal } from '@blaze-cms/admin-ui-utils';\nimport { parseFormValues } from '@blaze-cms/react-form-builder';\nimport useToasts from '@blaze-react/toaster/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","createElement","Fragment","title","actions","textButton","callback","modifiers","upload","onChange","selectOptions","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","_objectSpread","filter","storeKey","isSearch","searchTerm","handleRenderedItems","startIndex","rowsLength","files","length","loadIndex","Math","floor","includes","offset","handleListHeight","current","clientHeight","window","addEventListener","removeEventListener","searchedTerm","createElement","Fragment","className","width","height","itemCount","itemSize","overscanCount","scrollToIndex","onItemsRendered","renderItem","index","style","name","url","mimetype","id","isSelected","key","latestQueryToRefetchParams","onSelected","selected","onClose","onClick","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","_objectSpread","filter","storeKey","isSearch","searchTerm","handleRenderedItems","startIndex","rowsLength","files","length","loadIndex","Math","floor","includes","offset","handleListHeight","current","clientHeight","window","addEventListener","removeEventListener","searchedTerm","createElement","Fragment","className","width","height","itemCount","itemSize","overscanCount","scrollToIndex","onItemsRendered","renderItem","index","style","name","url","mimetype","id","isSelected","key","latestQueryToRefetchParams","onSelected","selected","onClose","onClick","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/lib-es/index.js
CHANGED
|
@@ -6,11 +6,25 @@ import { PLUGIN_NAME } from './constants';
|
|
|
6
6
|
const ListingContainer = React.lazy(() => import( /* webpackChunkName: 'MediaListingContainer' */'./components/ListingContainer'));
|
|
7
7
|
const EditMediaFilePage = React.lazy(() => import( /* webpackChunkName: 'EditMediaFilePage' */'./components/EditMediaFile/EditMediaFilePage'));
|
|
8
8
|
export default async function load(app) {
|
|
9
|
-
app.events.once('
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
9
|
+
app.events.once('admin:menu:config:load', ({
|
|
10
|
+
addConfig
|
|
11
|
+
}) => {
|
|
12
|
+
addConfig({
|
|
13
|
+
main: {
|
|
14
|
+
items: {
|
|
15
|
+
plugins: {
|
|
16
|
+
label: 'Plugins',
|
|
17
|
+
order: 20,
|
|
18
|
+
items: {
|
|
19
|
+
media: {
|
|
20
|
+
label: 'Media',
|
|
21
|
+
uri: '/media'
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
});
|
|
14
28
|
});
|
|
15
29
|
app.events.once('load:custom:field:type', addFieldType => {
|
|
16
30
|
addFieldType({
|
package/lib-es/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","FileUploadAdapter","EditorAdapter","pkg","PLUGIN_NAME","ListingContainer","lazy","EditMediaFilePage","load","app","events","once","
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","FileUploadAdapter","EditorAdapter","pkg","PLUGIN_NAME","ListingContainer","lazy","EditMediaFilePage","load","app","events","once","addConfig","main","items","plugins","label","order","media","uri","addFieldType","type","component","mediaRoute","path","key","exact","editMediaFileRoute","addRoute","name","version","pluginName"],"sources":["../src/index.js"],"sourcesContent":["import React from 'react';\nimport FileUploadAdapter from './components/FileUploadAdapter';\nimport EditorAdapter from './components/EditorAdapter';\nimport pkg from '../package.json';\nimport { PLUGIN_NAME } from './constants';\n\nconst ListingContainer = React.lazy(() =>\n import(/* webpackChunkName: 'MediaListingContainer' */ './components/ListingContainer')\n);\n\nconst EditMediaFilePage = React.lazy(() =>\n import(/* webpackChunkName: 'EditMediaFilePage' */ './components/EditMediaFile/EditMediaFilePage')\n);\n\nexport default async function load(app) {\n app.events.once('admin:menu:config:load', ({ addConfig }) => {\n addConfig({\n main: {\n items: {\n plugins: {\n label: 'Plugins',\n order: 20,\n items: {\n media: {\n label: 'Media',\n uri: '/media'\n }\n }\n }\n }\n }\n });\n });\n\n app.events.once('load:custom:field:type', addFieldType => {\n addFieldType({ type: 'fileUpload', component: FileUploadAdapter });\n addFieldType({ type: 'editor', component: EditorAdapter });\n });\n\n const mediaRoute = {\n path: '/media',\n key: 'media',\n component: ListingContainer,\n exact: true\n };\n\n const editMediaFileRoute = {\n path: '/media/edit/:fileId',\n key: 'editMedia',\n component: EditMediaFilePage,\n exact: true\n };\n\n app.addRoute(mediaRoute);\n app.addRoute(editMediaFileRoute);\n\n return {\n name: PLUGIN_NAME,\n version: pkg.version\n };\n}\n\nload.pluginName = PLUGIN_NAME;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,iBAAiB,MAAM,gCAAgC;AAC9D,OAAOC,aAAa,MAAM,4BAA4B;AACtD,OAAOC,GAAG,MAAM,iBAAiB;AACjC,SAASC,WAAW,QAAQ,aAAa;AAEzC,MAAMC,gBAAgB,GAAGL,KAAK,CAACM,IAAI,CAAC,MAClC,MAAM,EAAC,+CAAgD,+BAA+B,CACxF,CAAC;AAED,MAAMC,iBAAiB,GAAGP,KAAK,CAACM,IAAI,CAAC,MACnC,MAAM,EAAC,2CAA4C,8CAA8C,CACnG,CAAC;AAED,eAAe,eAAeE,IAAIA,CAACC,GAAG,EAAE;EACtCA,GAAG,CAACC,MAAM,CAACC,IAAI,CAAC,wBAAwB,EAAE,CAAC;IAAEC;EAAU,CAAC,KAAK;IAC3DA,SAAS,CAAC;MACRC,IAAI,EAAE;QACJC,KAAK,EAAE;UACLC,OAAO,EAAE;YACPC,KAAK,EAAE,SAAS;YAChBC,KAAK,EAAE,EAAE;YACTH,KAAK,EAAE;cACLI,KAAK,EAAE;gBACLF,KAAK,EAAE,OAAO;gBACdG,GAAG,EAAE;cACP;YACF;UACF;QACF;MACF;IACF,CAAC,CAAC;EACJ,CAAC,CAAC;EAEFV,GAAG,CAACC,MAAM,CAACC,IAAI,CAAC,wBAAwB,EAAES,YAAY,IAAI;IACxDA,YAAY,CAAC;MAAEC,IAAI,EAAE,YAAY;MAAEC,SAAS,EAAErB;IAAkB,CAAC,CAAC;IAClEmB,YAAY,CAAC;MAAEC,IAAI,EAAE,QAAQ;MAAEC,SAAS,EAAEpB;IAAc,CAAC,CAAC;EAC5D,CAAC,CAAC;EAEF,MAAMqB,UAAU,GAAG;IACjBC,IAAI,EAAE,QAAQ;IACdC,GAAG,EAAE,OAAO;IACZH,SAAS,EAAEjB,gBAAgB;IAC3BqB,KAAK,EAAE;EACT,CAAC;EAED,MAAMC,kBAAkB,GAAG;IACzBH,IAAI,EAAE,qBAAqB;IAC3BC,GAAG,EAAE,WAAW;IAChBH,SAAS,EAAEf,iBAAiB;IAC5BmB,KAAK,EAAE;EACT,CAAC;EAEDjB,GAAG,CAACmB,QAAQ,CAACL,UAAU,CAAC;EACxBd,GAAG,CAACmB,QAAQ,CAACD,kBAAkB,CAAC;EAEhC,OAAO;IACLE,IAAI,EAAEzB,WAAW;IACjB0B,OAAO,EAAE3B,GAAG,CAAC2B;EACf,CAAC;AACH;AAEAtB,IAAI,CAACuB,UAAU,GAAG3B,WAAW"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@blaze-cms/plugin-media-ui",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.134.0-project-admin-customisations.0",
|
|
4
4
|
"description": "Blaze plugin media ui",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "lib-es/index.js",
|
|
@@ -27,11 +27,11 @@
|
|
|
27
27
|
},
|
|
28
28
|
"license": "GPL-3.0",
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@blaze-cms/admin-ui-utils": "
|
|
31
|
-
"@blaze-cms/core-errors": "
|
|
32
|
-
"@blaze-cms/plugin-search-ui": "
|
|
33
|
-
"@blaze-cms/react-form-builder": "
|
|
34
|
-
"@blaze-cms/setup-ui": "
|
|
30
|
+
"@blaze-cms/admin-ui-utils": "0.134.0-project-admin-customisations.0",
|
|
31
|
+
"@blaze-cms/core-errors": "0.134.0-project-admin-customisations.0",
|
|
32
|
+
"@blaze-cms/plugin-search-ui": "0.134.0-project-admin-customisations.0",
|
|
33
|
+
"@blaze-cms/react-form-builder": "0.134.0-project-admin-customisations.0",
|
|
34
|
+
"@blaze-cms/setup-ui": "0.134.0-project-admin-customisations.0",
|
|
35
35
|
"@blaze-react/button": "0.5.19",
|
|
36
36
|
"@blaze-react/drafteditor": "0.7.0",
|
|
37
37
|
"@blaze-react/file-upload": "0.8.0-alpha.63",
|
|
@@ -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.134.0-project-admin-customisations.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": "ed7ba9d56aee2c4913b8204b0181fdc8c5975d94"
|
|
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';
|
package/src/index.js
CHANGED
|
@@ -13,8 +13,23 @@ const EditMediaFilePage = React.lazy(() =>
|
|
|
13
13
|
);
|
|
14
14
|
|
|
15
15
|
export default async function load(app) {
|
|
16
|
-
app.events.once('
|
|
17
|
-
|
|
16
|
+
app.events.once('admin:menu:config:load', ({ addConfig }) => {
|
|
17
|
+
addConfig({
|
|
18
|
+
main: {
|
|
19
|
+
items: {
|
|
20
|
+
plugins: {
|
|
21
|
+
label: 'Plugins',
|
|
22
|
+
order: 20,
|
|
23
|
+
items: {
|
|
24
|
+
media: {
|
|
25
|
+
label: 'Media',
|
|
26
|
+
uri: '/media'
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
});
|
|
18
33
|
});
|
|
19
34
|
|
|
20
35
|
app.events.once('load:custom:field:type', addFieldType => {
|