@blaze-cms/plugin-media-ui 0.147.0-rc-eagle.2 → 0.147.0-rc-eagle.6

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.
Files changed (86) hide show
  1. package/lib/components/CardMedia/CardMedia.js +94 -51
  2. package/lib/components/CardMedia/CardMedia.js.map +1 -1
  3. package/lib/components/EditMediaFile/EditMediaFile.js +24 -40
  4. package/lib/components/EditMediaFile/EditMediaFile.js.map +1 -1
  5. package/lib/components/EditMediaFile/EditMediaFilePage.js +14 -7
  6. package/lib/components/EditMediaFile/EditMediaFilePage.js.map +1 -1
  7. package/lib/components/FileList/useGetFiles/getFiles.js +6 -3
  8. package/lib/components/FileList/useGetFiles/getFiles.js.map +1 -1
  9. package/lib/components/FileList/useGetFiles/useGetFiles.js +7 -2
  10. package/lib/components/FileList/useGetFiles/useGetFiles.js.map +1 -1
  11. package/lib/components/FileList/useGetFilesList/useGetFilesList.js +4 -1
  12. package/lib/components/FileList/useGetFilesList/useGetFilesList.js.map +1 -1
  13. package/lib/components/FilePreview/Image/imageSchema.js +8 -4
  14. package/lib/components/FilePreview/Image/imageSchema.js.map +1 -1
  15. package/lib/components/FilePreview/PDF/schema.js +2 -1
  16. package/lib/components/FilePreview/PDF/schema.js.map +1 -1
  17. package/lib/components/FilePreview/index.js +47 -3
  18. package/lib/components/FilePreview/index.js.map +1 -1
  19. package/lib/components/FilePreview/previewDefault/previewDefaultSchema.js +2 -1
  20. package/lib/components/FilePreview/previewDefault/previewDefaultSchema.js.map +1 -1
  21. package/lib/components/FileUploadAdapter/FileUploadAdapter.js +33 -22
  22. package/lib/components/FileUploadAdapter/FileUploadAdapter.js.map +1 -1
  23. package/lib/components/FileUploadModal/FileUploadModal.js +80 -17
  24. package/lib/components/FileUploadModal/FileUploadModal.js.map +1 -1
  25. package/lib/components/FilterPanel/FilterPanel.js +43 -125
  26. package/lib/components/FilterPanel/FilterPanel.js.map +1 -1
  27. package/lib/components/FilterPanel/MediaSearchFilter.js +41 -0
  28. package/lib/components/FilterPanel/MediaSearchFilter.js.map +1 -0
  29. package/lib/components/ListingContainer/Listing/MediaListing/MediaFileList/MediaFileList.js +7 -4
  30. package/lib/components/ListingContainer/Listing/MediaListing/MediaFileList/MediaFileList.js.map +1 -1
  31. package/lib/components/ListingContainer/ListingContainer.js +4 -1
  32. package/lib/components/ListingContainer/ListingContainer.js.map +1 -1
  33. package/lib/constants.js +3 -2
  34. package/lib/constants.js.map +1 -1
  35. package/lib-es/components/CardMedia/CardMedia.js +96 -53
  36. package/lib-es/components/CardMedia/CardMedia.js.map +1 -1
  37. package/lib-es/components/EditMediaFile/EditMediaFile.js +26 -42
  38. package/lib-es/components/EditMediaFile/EditMediaFile.js.map +1 -1
  39. package/lib-es/components/EditMediaFile/EditMediaFilePage.js +15 -8
  40. package/lib-es/components/EditMediaFile/EditMediaFilePage.js.map +1 -1
  41. package/lib-es/components/FileList/useGetFiles/getFiles.js +6 -3
  42. package/lib-es/components/FileList/useGetFiles/getFiles.js.map +1 -1
  43. package/lib-es/components/FileList/useGetFiles/useGetFiles.js +7 -2
  44. package/lib-es/components/FileList/useGetFiles/useGetFiles.js.map +1 -1
  45. package/lib-es/components/FileList/useGetFilesList/useGetFilesList.js +4 -1
  46. package/lib-es/components/FileList/useGetFilesList/useGetFilesList.js.map +1 -1
  47. package/lib-es/components/FilePreview/Image/imageSchema.js +8 -4
  48. package/lib-es/components/FilePreview/Image/imageSchema.js.map +1 -1
  49. package/lib-es/components/FilePreview/PDF/schema.js +2 -1
  50. package/lib-es/components/FilePreview/PDF/schema.js.map +1 -1
  51. package/lib-es/components/FilePreview/index.js +47 -3
  52. package/lib-es/components/FilePreview/index.js.map +1 -1
  53. package/lib-es/components/FilePreview/previewDefault/previewDefaultSchema.js +2 -1
  54. package/lib-es/components/FilePreview/previewDefault/previewDefaultSchema.js.map +1 -1
  55. package/lib-es/components/FileUploadAdapter/FileUploadAdapter.js +34 -23
  56. package/lib-es/components/FileUploadAdapter/FileUploadAdapter.js.map +1 -1
  57. package/lib-es/components/FileUploadModal/FileUploadModal.js +81 -18
  58. package/lib-es/components/FileUploadModal/FileUploadModal.js.map +1 -1
  59. package/lib-es/components/FilterPanel/FilterPanel.js +43 -123
  60. package/lib-es/components/FilterPanel/FilterPanel.js.map +1 -1
  61. package/lib-es/components/FilterPanel/MediaSearchFilter.js +34 -0
  62. package/lib-es/components/FilterPanel/MediaSearchFilter.js.map +1 -0
  63. package/lib-es/components/ListingContainer/Listing/MediaListing/MediaFileList/MediaFileList.js +7 -4
  64. package/lib-es/components/ListingContainer/Listing/MediaListing/MediaFileList/MediaFileList.js.map +1 -1
  65. package/lib-es/components/ListingContainer/ListingContainer.js +4 -1
  66. package/lib-es/components/ListingContainer/ListingContainer.js.map +1 -1
  67. package/lib-es/constants.js +3 -2
  68. package/lib-es/constants.js.map +1 -1
  69. package/package.json +10 -9
  70. package/src/components/CardMedia/CardMedia.js +119 -89
  71. package/src/components/EditMediaFile/EditMediaFile.js +21 -24
  72. package/src/components/EditMediaFile/EditMediaFilePage.js +12 -7
  73. package/src/components/FileList/useGetFiles/getFiles.js +12 -4
  74. package/src/components/FileList/useGetFiles/useGetFiles.js +3 -4
  75. package/src/components/FileList/useGetFilesList/useGetFilesList.js +2 -1
  76. package/src/components/FilePreview/Image/imageSchema.js +8 -4
  77. package/src/components/FilePreview/PDF/schema.js +2 -1
  78. package/src/components/FilePreview/index.js +36 -2
  79. package/src/components/FilePreview/previewDefault/previewDefaultSchema.js +2 -1
  80. package/src/components/FileUploadAdapter/FileUploadAdapter.js +24 -14
  81. package/src/components/FileUploadModal/FileUploadModal.js +71 -6
  82. package/src/components/FilterPanel/FilterPanel.js +44 -129
  83. package/src/components/FilterPanel/MediaSearchFilter.js +32 -0
  84. package/src/components/ListingContainer/Listing/MediaListing/MediaFileList/MediaFileList.js +7 -2
  85. package/src/components/ListingContainer/ListingContainer.js +4 -1
  86. package/src/constants.js +16 -2
@@ -1 +1 @@
1
- {"version":3,"file":"FileUploadAdapter.js","names":["_react","_interopRequireWildcard","require","_fileUpload","_interopRequireDefault","_propTypes","_client","_adminUiUtils","_reactFormBuilder","_toaster","_tooltip","_constants","_ListingContainer","_mediaContext","_FileList","_useLimit","_mappers","_FilePreview","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","FileUploadAdapter","onChange","label","id","type","value","maxItems","shouldRenderInPreview","canDragAndDrop","simpleLayout","tooltip","previewAllFiles","disableFilePreview","fileType","storeKey","InjectPreview","useContext","FormContext","currentLimit","useLimit","displayModal","setDisplayModal","useState","displayFileUploadModal","setDisplayFileUploadModal","initialValue","formatInitialValue","currentValue","setCurrentValue","selectedFiles","setSelectedFiles","editFile","setEditFile","allFilesLoaded","setAllFilesLoaded","client","useApolloClient","addToast","useToasts","getFiles","offset","ids","fetchAll","data","files","newFiles","query","getQuery","variables","limit","where","_in","skip","fetchPolicy","useEffect","loadedFiles","loadedOrderedFiles","orderFiles","initialFiles","_","orderedFiles","fetchMore","shouldFetchAll","newOrderedFiles","handleSelectedFiles","checkIsUnselecting","isUnselectingFile","isUnselecting","valueArray","transformToArray","selectedFilesIds","valueId","includes","parsedValue","getFormat","filesIds","event","target","name","fileData","handleReorderFiles","map","fileId","closeModalAndSetValue","isSaving","values","toastMessage","appearance","autoDismiss","fileUploadButtonText","getButtonText","filesPending","getNumberFilesPendingToFetch","onOpenLibrary","handleEditModal","file","selectedEditFile","find","_id","handleEditFileForm","editedFile","parseFormValues","valuesChecked","altText","caption","credits","hrefUrl","currentId","Boolean","modalActions","textButton","callback","modifiers","editModalActions","editedFileId","updatedSelectedFiles","selectedFile","mutate","mutation","getMutation","input","update","cache","updateFile","fileUpdated","writeQuery","result","console","error","filesPendingString","MORE","fileListSpan","createElement","className","onClick","Fragment","tooltipContent","MediaContextProvider","onUnselectFile","selector","previewerId","allFiles","actionText","handleLibraryClick","enableDragAndDrop","ModalAdapter","actions","title","onClose","fileName","handleFormChange","displayForm","previewType","filesSelected","openEditInModal","propTypes","PropTypes","func","isRequired","string","oneOfType","array","number","bool","defaultProps","_default","exports"],"sources":["../../../src/components/FileUploadAdapter/FileUploadAdapter.js"],"sourcesContent":["import React, { useState, useContext, useEffect } from 'react';\nimport FileUpload from '@blaze-react/file-upload';\nimport PropTypes from 'prop-types';\nimport { useApolloClient } from '@apollo/client';\nimport { getQuery, getMutation, ModalAdapter as Modal } from '@blaze-cms/admin-ui-utils';\nimport { parseFormValues } from '@blaze-cms/react-form-builder';\nimport { useToasts } from '@blaze-react/toaster';\nimport Tooltip from '@blaze-react/tooltip';\nimport { MORE } from '../../constants';\nimport ListingContainer from '../ListingContainer';\nimport { MediaContextProvider } from '../../utils/media-context';\nimport FileList from './FileList';\nimport useLimit from './useLimit';\nimport {\n getFormat,\n formatInitialValue,\n transformToArray,\n isUnselecting,\n getButtonText,\n getNumberFilesPendingToFetch\n} from './mappers';\nimport FilePreview from '../FilePreview';\n\nconst FileUploadAdapter = ({\n onChange,\n label,\n id,\n type,\n value,\n maxItems,\n shouldRenderInPreview,\n canDragAndDrop,\n simpleLayout,\n tooltip,\n previewAllFiles,\n disableFilePreview,\n fileType,\n storeKey\n}) => {\n const { InjectPreview } = useContext(FileUploadAdapter.FormContext);\n const [currentLimit] = useLimit(maxItems);\n const [displayModal, setDisplayModal] = useState(false);\n const [displayFileUploadModal, setDisplayFileUploadModal] = useState(false);\n const initialValue = formatInitialValue({ value, type });\n const [currentValue, setCurrentValue] = useState(initialValue);\n const [selectedFiles, setSelectedFiles] = useState([]);\n const [editFile, setEditFile] = useState(null);\n const [allFilesLoaded, setAllFilesLoaded] = useState(false);\n const client = useApolloClient();\n const { addToast } = useToasts();\n\n const getFiles = async (offset, ids, fetchAll = previewAllFiles) => {\n const {\n data: { files: newFiles }\n } = await client.query({\n query: getQuery('GET_FILES'),\n variables: {\n limit: fetchAll ? 0 : 4,\n offset,\n where: {\n id: {\n _in: ids\n }\n }\n },\n skip: !currentValue.length,\n fetchPolicy: 'network-only'\n });\n return newFiles;\n };\n\n useEffect(\n () => {\n (async () => {\n if (allFilesLoaded) {\n const loadedFiles = await getFiles(0, currentValue, true);\n const loadedOrderedFiles = orderFiles(loadedFiles, currentValue);\n setSelectedFiles(loadedOrderedFiles);\n return;\n }\n\n const initialFiles =\n !selectedFiles.length && !previewAllFiles\n ? currentValue.filter((_, i) => i <= 3)\n : currentValue;\n\n const files = await getFiles(0, initialFiles);\n const orderedFiles = orderFiles(files, currentValue);\n setSelectedFiles(orderedFiles);\n setAllFilesLoaded(false);\n })();\n },\n [currentValue] //eslint-disable-line\n );\n\n const fetchMore = async shouldFetchAll => {\n if (selectedFiles.length === currentValue.length) return;\n const newFiles = await getFiles(0, currentValue, true);\n const newOrderedFiles = orderFiles(newFiles, currentValue);\n setSelectedFiles(newOrderedFiles);\n setAllFilesLoaded(true);\n };\n\n const handleSelectedFiles = (files, checkIsUnselecting = true) => {\n const isUnselectingFile = isUnselecting(value, checkIsUnselecting, files);\n if (isUnselectingFile) {\n const valueArray = transformToArray(value);\n const selectedFilesIds = valueArray.filter(valueId => !files.includes(valueId));\n const parsedValue = getFormat(type, { filesIds: selectedFilesIds });\n setCurrentValue(selectedFilesIds);\n return onChange({\n event: {\n target: {\n value: parsedValue,\n name: id,\n type,\n fileData: selectedFilesIds.length ? selectedFilesIds : null\n }\n },\n value: parsedValue\n });\n }\n\n setCurrentValue(files);\n };\n\n const handleReorderFiles = files => {\n const filesIds = files.map(({ id: fileId }) => fileId);\n const parsedValue = getFormat(type, { filesIds });\n setSelectedFiles(files);\n\n return onChange({\n event: {\n target: {\n value: parsedValue,\n name: id,\n type,\n fileData: filesIds\n }\n },\n value: parsedValue\n });\n };\n\n const closeModalAndSetValue = (isSaving, values, toastMessage) => {\n if (toastMessage) {\n addToast(toastMessage, {\n appearance: 'success',\n autoDismiss: true\n });\n }\n\n if (isSaving) {\n const parsedValue = getFormat(type, { filesIds: simpleLayout ? values : currentValue });\n setDisplayModal(false);\n return onChange({\n event: { target: { value: parsedValue, name: id, type, currentValue } },\n value: parsedValue\n });\n }\n\n setCurrentValue(initialValue);\n setDisplayModal(false);\n };\n\n const fileUploadButtonText = getButtonText({ maxItems, value: initialValue, fileType });\n\n const filesPending = previewAllFiles\n ? 0\n : getNumberFilesPendingToFetch(selectedFiles.length, 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: 'Apply',\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: 'Apply',\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(cache, { data: { updateFile: fileUpdated } }) {\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>\n {label} <Tooltip tooltipContent={tooltip} />\n </label>\n {selectedFiles && (\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 <FileUpload\n actionText={fileUploadButtonText}\n storeKey={storeKey}\n handleLibraryClick={() => {\n if (simpleLayout) {\n setDisplayFileUploadModal(true);\n } else {\n onOpenLibrary();\n }\n }}\n enableDragAndDrop={false}\n />\n </div>\n {editFile && (\n <Modal actions={editModalActions} title=\"Edit File\" onClose={() => setEditFile(null)}>\n <FilePreview\n file={editFile}\n fileName={editFile.fileName}\n handleFormChange={handleEditFileForm}\n displayForm\n previewType=\"card\"\n disableFilePreview={disableFilePreview}\n />\n </Modal>\n )}\n\n {displayFileUploadModal && simpleLayout && (\n <div className=\"file-upload-modal-wrapper\">\n <ListingContainer\n displayFileUploadModal={displayFileUploadModal}\n closeModalAndSetValue={closeModalAndSetValue}\n setDisplayFileUploadModal={setDisplayFileUploadModal}\n handleSelectedFiles={handleSelectedFiles}\n maxItems={currentLimit}\n simpleLayout={simpleLayout}\n filesSelected={currentValue.length > 1 ? currentValue : []}\n openEditInModal\n storeKey={storeKey}\n />\n </div>\n )}\n\n {displayModal && !simpleLayout && (\n <div className=\"file-upload-modal-wrapper\">\n <Modal\n actions={modalActions}\n className=\"file-upload-modal\"\n title=\"Media library\"\n onClose={() => closeModalAndSetValue()}>\n <ListingContainer\n closeModalAndSetValue={closeModalAndSetValue}\n displayFileUploadModal={displayFileUploadModal}\n setDisplayFileUploadModal={setDisplayFileUploadModal}\n handleSelectedFiles={handleSelectedFiles}\n maxItems={currentLimit}\n filesSelected={currentValue.length > 1 ? currentValue : []}\n openEditInModal\n storeKey={storeKey}\n />\n </Modal>\n </div>\n )}\n </>\n );\n};\n\nFileUploadAdapter.propTypes = {\n onChange: PropTypes.func.isRequired,\n label: PropTypes.string.isRequired,\n id: PropTypes.string.isRequired,\n type: PropTypes.string.isRequired,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.array]),\n maxItems: PropTypes.oneOfType([PropTypes.number, PropTypes.bool]),\n shouldRenderInPreview: PropTypes.bool,\n canDragAndDrop: PropTypes.bool,\n simpleLayout: PropTypes.bool,\n previewAllFiles: PropTypes.bool,\n tooltip: PropTypes.string,\n fileType: PropTypes.string,\n disableFilePreview: PropTypes.bool,\n storeKey: PropTypes.string\n};\n\nFileUploadAdapter.defaultProps = {\n value: '',\n maxItems: false,\n shouldRenderInPreview: false,\n canDragAndDrop: false,\n simpleLayout: false,\n previewAllFiles: false,\n tooltip: '',\n fileType: 'file',\n disableFilePreview: true,\n storeKey: null\n};\n\nexport default FileUploadAdapter;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"FileUploadAdapter.js","names":["_react","_interopRequireWildcard","require","_fileUpload","_interopRequireDefault","_propTypes","_client","_adminUiUtils","_toaster","_tooltip","_constants","_ListingContainer","_mediaContext","_FileList","_useLimit","_mappers","_FilePreview","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","FileUploadAdapter","onChange","label","id","type","value","maxItems","shouldRenderInPreview","canDragAndDrop","simpleLayout","tooltip","previewAllFiles","disableFilePreview","fileType","storeKey","InjectPreview","useContext","FormContext","currentLimit","useLimit","displayModal","setDisplayModal","useState","displayFileUploadModal","setDisplayFileUploadModal","initialValue","formatInitialValue","currentValue","setCurrentValue","selectedFiles","setSelectedFiles","editFile","setEditFile","allFilesLoaded","setAllFilesLoaded","client","useApolloClient","addToast","useToasts","data","getEntitySchemas","schemaData","useQuery","getQuery","variables","identifier","getFiles","offset","ids","fetchAll","files","newFiles","query","limit","where","_in","skip","fetchPolicy","useEffect","loadedFiles","loadedOrderedFiles","orderFiles","initialFiles","_","orderedFiles","fetchMore","shouldFetchAll","newOrderedFiles","handleSelectedFiles","checkIsUnselecting","isUnselectingFile","isUnselecting","valueArray","transformToArray","selectedFilesIds","valueId","includes","parsedValue","getFormat","filesIds","event","target","name","fileData","handleReorderFiles","map","fileId","closeModalAndSetValue","isSaving","values","toastMessage","appearance","autoDismiss","fileUploadButtonText","getButtonText","filesPending","getNumberFilesPendingToFetch","onOpenLibrary","handleEditModal","file","selectedEditFile","find","_id","handleEditFileForm","editedFile","dataValues","valuesChecked","reduce","acc","formValueId","formValue","isDataPropery","__typename","formData","currentId","Boolean","modalActions","textButton","callback","modifiers","editModalActions","editedFileId","updatedSelectedFiles","selectedFile","mutate","mutation","getMutation","input","update","cache","updateFile","fileUpdated","writeQuery","result","console","error","filesPendingString","MORE","fileListSpan","createElement","className","onClick","Fragment","tooltipContent","MediaContextProvider","onUnselectFile","selector","previewerId","allFiles","actionText","handleLibraryClick","enableDragAndDrop","ModalAdapter","actions","title","onClose","fileName","handleFormChange","displayForm","previewType","filesSelected","openEditInModal","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, useQuery } from '@apollo/client';\nimport { getQuery, getMutation, ModalAdapter as Modal } from '@blaze-cms/admin-ui-utils';\nimport { useToasts } from '@blaze-react/toaster';\nimport Tooltip from '@blaze-react/tooltip';\nimport { MORE } from '../../constants';\nimport ListingContainer from '../ListingContainer';\nimport { MediaContextProvider } from '../../utils/media-context';\nimport FileList from './FileList';\nimport useLimit from './useLimit';\nimport {\n getFormat,\n formatInitialValue,\n transformToArray,\n isUnselecting,\n getButtonText,\n getNumberFilesPendingToFetch\n} from './mappers';\nimport FilePreview from '../FilePreview';\n\nconst FileUploadAdapter = ({\n onChange,\n label,\n id,\n type,\n value,\n maxItems,\n shouldRenderInPreview,\n canDragAndDrop,\n simpleLayout,\n tooltip,\n previewAllFiles,\n disableFilePreview,\n fileType,\n storeKey\n}) => {\n const { InjectPreview } = useContext(FileUploadAdapter.FormContext);\n const [currentLimit] = useLimit(maxItems);\n const [displayModal, setDisplayModal] = useState(false);\n const [displayFileUploadModal, setDisplayFileUploadModal] = useState(false);\n const initialValue = formatInitialValue({ value, type });\n const [currentValue, setCurrentValue] = useState(initialValue);\n const [selectedFiles, setSelectedFiles] = useState([]);\n const [editFile, setEditFile] = useState(null);\n const [allFilesLoaded, setAllFilesLoaded] = useState(false);\n const client = useApolloClient();\n const { addToast } = useToasts();\n\n const { data: { getEntitySchemas: [schemaData] = [] } = {} } = useQuery(\n getQuery('GET_ENTITY_SCHEMA'),\n {\n variables: { identifier: 'file' }\n }\n );\n\n const getFiles = async (offset, ids, fetchAll = previewAllFiles) => {\n const {\n data: { files: newFiles }\n } = await client.query({\n query: getQuery('GET_FILES'),\n variables: {\n limit: fetchAll ? 0 : 4,\n offset,\n where: {\n id: {\n _in: ids\n }\n }\n },\n skip: !currentValue.length,\n fetchPolicy: 'network-only'\n });\n return newFiles;\n };\n\n useEffect(\n () => {\n (async () => {\n if (allFilesLoaded) {\n const loadedFiles = await getFiles(0, currentValue, true);\n const loadedOrderedFiles = orderFiles(loadedFiles, currentValue);\n setSelectedFiles(loadedOrderedFiles);\n return;\n }\n\n const initialFiles =\n !selectedFiles.length && !previewAllFiles\n ? currentValue.filter((_, i) => i <= 3)\n : currentValue;\n\n const files = await getFiles(0, initialFiles);\n const orderedFiles = orderFiles(files, currentValue);\n setSelectedFiles(orderedFiles);\n setAllFilesLoaded(false);\n })();\n },\n [currentValue] //eslint-disable-line\n );\n\n const fetchMore = async shouldFetchAll => {\n if (selectedFiles.length === currentValue.length) return;\n const newFiles = await getFiles(0, currentValue, true);\n const newOrderedFiles = orderFiles(newFiles, currentValue);\n setSelectedFiles(newOrderedFiles);\n setAllFilesLoaded(true);\n };\n\n const handleSelectedFiles = (files, checkIsUnselecting = true) => {\n const isUnselectingFile = isUnselecting(value, checkIsUnselecting, files);\n if (isUnselectingFile) {\n const valueArray = transformToArray(value);\n const selectedFilesIds = valueArray.filter(valueId => !files.includes(valueId));\n const parsedValue = getFormat(type, { filesIds: selectedFilesIds });\n setCurrentValue(selectedFilesIds);\n return onChange({\n event: {\n target: {\n value: parsedValue,\n name: id,\n type,\n fileData: selectedFilesIds.length ? selectedFilesIds : null\n }\n },\n value: parsedValue\n });\n }\n\n setCurrentValue(files);\n };\n\n const handleReorderFiles = files => {\n const filesIds = files.map(({ id: fileId }) => fileId);\n const parsedValue = getFormat(type, { filesIds });\n setSelectedFiles(files);\n\n return onChange({\n event: {\n target: {\n value: parsedValue,\n name: id,\n type,\n fileData: filesIds\n }\n },\n value: parsedValue\n });\n };\n\n const closeModalAndSetValue = (isSaving, values, toastMessage) => {\n if (toastMessage) {\n addToast(toastMessage, {\n appearance: 'success',\n autoDismiss: true\n });\n }\n\n if (isSaving) {\n const parsedValue = getFormat(type, { filesIds: simpleLayout ? values : currentValue });\n setDisplayModal(false);\n return onChange({\n event: { target: { value: parsedValue, name: id, type, currentValue } },\n value: parsedValue\n });\n }\n\n setCurrentValue(initialValue);\n setDisplayModal(false);\n };\n\n const fileUploadButtonText = getButtonText({ maxItems, value: initialValue, fileType });\n\n const filesPending = previewAllFiles\n ? 0\n : getNumberFilesPendingToFetch(selectedFiles.length, 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 dataValues = editedFile.valuesChecked.reduce(\n (acc, { id: formValueId, value: formValue, isDataPropery }) => {\n if (isDataPropery) {\n acc.data[formValueId] = formValue;\n } else {\n acc[formValueId] = formValue;\n }\n return acc;\n },\n { id: editFile.id, data: { ...editFile.data } }\n );\n delete dataValues.data.__typename; // Remove __typename if it exists in data to avoid issues with Apollo cache.\n\n setEditFile({\n ...editFile,\n formData: dataValues\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: 'Apply',\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: 'Apply',\n callback: async () => {\n const { name, id: editedFileId, data, formData } = 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 ...formData,\n id: editedFileId\n }\n },\n update(cache, { data: { updateFile: fileUpdated } }) {\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>\n {label} <Tooltip tooltipContent={tooltip} />\n </label>\n {selectedFiles && (\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 <FileUpload\n actionText={fileUploadButtonText}\n storeKey={storeKey}\n handleLibraryClick={() => {\n if (simpleLayout) {\n setDisplayFileUploadModal(true);\n } else {\n onOpenLibrary();\n }\n }}\n enableDragAndDrop={false}\n />\n </div>\n {editFile && (\n <Modal actions={editModalActions} title=\"Edit File\" onClose={() => setEditFile(null)}>\n <FilePreview\n file={editFile}\n fileName={editFile.fileName}\n handleFormChange={handleEditFileForm}\n displayForm\n previewType=\"card\"\n disableFilePreview={disableFilePreview}\n schemaData={schemaData}\n />\n </Modal>\n )}\n\n {displayFileUploadModal && simpleLayout && (\n <div className=\"file-upload-modal-wrapper\">\n <ListingContainer\n displayFileUploadModal={displayFileUploadModal}\n closeModalAndSetValue={closeModalAndSetValue}\n setDisplayFileUploadModal={setDisplayFileUploadModal}\n handleSelectedFiles={handleSelectedFiles}\n maxItems={currentLimit}\n simpleLayout={simpleLayout}\n filesSelected={currentValue.length > 1 ? currentValue : []}\n openEditInModal\n storeKey={storeKey}\n />\n </div>\n )}\n\n {displayModal && !simpleLayout && (\n <div className=\"file-upload-modal-wrapper\">\n <Modal\n actions={modalActions}\n className=\"file-upload-modal\"\n title=\"Media library\"\n onClose={() => closeModalAndSetValue()}>\n <ListingContainer\n closeModalAndSetValue={closeModalAndSetValue}\n displayFileUploadModal={displayFileUploadModal}\n setDisplayFileUploadModal={setDisplayFileUploadModal}\n handleSelectedFiles={handleSelectedFiles}\n maxItems={currentLimit}\n filesSelected={currentValue.length > 1 ? currentValue : []}\n openEditInModal\n storeKey={storeKey}\n />\n </Modal>\n </div>\n )}\n </>\n );\n};\n\nFileUploadAdapter.propTypes = {\n onChange: PropTypes.func.isRequired,\n label: PropTypes.string.isRequired,\n id: PropTypes.string.isRequired,\n type: PropTypes.string.isRequired,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.array]),\n maxItems: PropTypes.oneOfType([PropTypes.number, PropTypes.bool]),\n shouldRenderInPreview: PropTypes.bool,\n canDragAndDrop: PropTypes.bool,\n simpleLayout: PropTypes.bool,\n previewAllFiles: PropTypes.bool,\n tooltip: PropTypes.string,\n fileType: PropTypes.string,\n disableFilePreview: PropTypes.bool,\n storeKey: PropTypes.string\n};\n\nFileUploadAdapter.defaultProps = {\n value: '',\n maxItems: false,\n shouldRenderInPreview: false,\n canDragAndDrop: false,\n simpleLayout: false,\n previewAllFiles: false,\n tooltip: '',\n fileType: 'file',\n disableFilePreview: true,\n storeKey: null\n};\n\nexport default FileUploadAdapter;\n"],"mappings":"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","ignoreList":[]}
@@ -5,17 +5,20 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.default = void 0;
8
- var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
9
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
10
11
  var _react = _interopRequireWildcard(require("react"));
11
12
  var _adminUiUtils = require("@blaze-cms/admin-ui-utils");
12
13
  var _fileUpload = _interopRequireDefault(require("@blaze-react/file-upload"));
14
+ var _reactFormBuilder = require("@blaze-cms/react-form-builder");
13
15
  var _propTypes = _interopRequireDefault(require("prop-types"));
14
16
  var _toaster = require("@blaze-react/toaster");
15
17
  var _client = require("@apollo/client");
16
18
  var _useFileList = _interopRequireDefault(require("../FileList/useFileList"));
17
- const _excluded = ["message"],
18
- _excluded2 = ["message"];
19
+ const _excluded = ["name", "storeKey"],
20
+ _excluded2 = ["message"],
21
+ _excluded3 = ["message"];
19
22
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
20
23
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
21
24
  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) { (0, _defineProperty2.default)(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; }
@@ -36,16 +39,61 @@ const FileUploadModal = ({
36
39
  const {
37
40
  addNewFile
38
41
  } = (0, _useFileList.default)();
42
+ const {
43
+ data: {
44
+ getEntitySchemas: [schemaData] = []
45
+ } = {},
46
+ loading: schemaLoading
47
+ } = (0, _client.useQuery)((0, _adminUiUtils.getQuery)('GET_ENTITY_SCHEMA'), {
48
+ variables: {
49
+ identifier: 'file'
50
+ }
51
+ });
52
+ const customFields = (0, _react.useMemo)(() => {
53
+ if (schemaData && schemaData.properties) {
54
+ const _schemaData$propertie = schemaData.properties,
55
+ {
56
+ name: _name,
57
+ storeKey: _storeKey
58
+ } = _schemaData$propertie,
59
+ restProperties = (0, _objectWithoutProperties2.default)(_schemaData$propertie, _excluded);
60
+ return Object.entries(restProperties).filter(([, field]) => field && field.showInForm === true).map(([key, field]) => {
61
+ const Component = _reactFormBuilder.getFormBuilderLookup.getFormField(field.formFieldType);
62
+ return {
63
+ name: key,
64
+ label: field.label || key,
65
+ component: props => /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({}, field, props, {
66
+ onChange: (...args) => {
67
+ const [event] = args;
68
+ if (!event.value) {
69
+ event.value = event.event.target ? event.event.target.value : event.value;
70
+ }
71
+ if (event.event.target && !event.event.target.id) {
72
+ event.event.target.id = props.id || key;
73
+ }
74
+ if (event.event.target) {
75
+ event.event.target.name = key;
76
+ }
77
+ return props.onChange(...args);
78
+ }
79
+ }))
80
+ };
81
+ });
82
+ }
83
+ return [];
84
+ }, [schemaData]);
39
85
  const fileStoresType = (0, _adminUiUtils.getQuery)('GET_FILE_STORES');
40
86
  const {
41
87
  data: {
42
88
  getFileStores: storeType = []
43
- } = {}
89
+ } = {},
90
+ loading: storeLoading
44
91
  } = (0, _client.useQuery)(fileStoresType, {
45
92
  variables: {
46
93
  visibleInAdmin: true
47
94
  }
48
95
  });
96
+ if (schemaLoading || storeLoading) return null;
49
97
  const handleFiles = filesToUpload => {
50
98
  if (fileId && filesToUpload && filesToUpload.length) {
51
99
  setFiles([filesToUpload[0]]);
@@ -55,17 +103,31 @@ const FileUploadModal = ({
55
103
  };
56
104
  const uploadFiles = async () => {
57
105
  const filesToProcess = fileId && files.length ? [files[0]] : files;
58
- const response = await Promise.all(filesToProcess.map(({
59
- file,
60
- name,
61
- data,
62
- storeKey: fileStoreKey
63
- }) => {
64
- const payload = {
106
+ const response = await Promise.all(filesToProcess.map(fileData => {
107
+ const {
108
+ file,
109
+ name,
110
+ data: dataProperties = {},
111
+ storeKey: fileStoreKey
112
+ } = fileData;
113
+ const customProperties = customFields.map(({
114
+ name: customPropertyName
115
+ }) => customPropertyName);
116
+ const otherProperties = Object.entries(dataProperties).reduce((acc, [key, value]) => {
117
+ if (customProperties.includes(key)) {
118
+ acc.fileProperties[key] = value;
119
+ } else {
120
+ acc.data[key] = value;
121
+ }
122
+ return acc;
123
+ }, {
124
+ data: {},
125
+ fileProperties: {}
126
+ });
127
+ const payload = _objectSpread({
65
128
  name,
66
- storeKey: fileStoreKey || selectedStoreKey || storeKey,
67
- data
68
- };
129
+ storeKey: fileStoreKey || selectedStoreKey || storeKey
130
+ }, otherProperties);
69
131
  if (fileId) {
70
132
  payload.id = fileId;
71
133
  } else if (!name) {
@@ -95,7 +157,7 @@ const FileUploadModal = ({
95
157
  {
96
158
  message
97
159
  } = _ref,
98
- rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
160
+ rest = (0, _objectWithoutProperties2.default)(_ref, _excluded2);
99
161
  return rest;
100
162
  });
101
163
  const fileNames = files.map(({
@@ -107,7 +169,7 @@ const FileUploadModal = ({
107
169
  {
108
170
  message
109
171
  } = _parsedResponse$,
110
- updatedFile = (0, _objectWithoutProperties2.default)(_parsedResponse$, _excluded2);
172
+ updatedFile = (0, _objectWithoutProperties2.default)(_parsedResponse$, _excluded3);
111
173
  try {
112
174
  client.writeQuery({
113
175
  query: (0, _adminUiUtils.getQuery)('GET_FILE_BY_ID'),
@@ -162,7 +224,8 @@ const FileUploadModal = ({
162
224
  }, /*#__PURE__*/_react.default.createElement(_fileUpload.default, {
163
225
  storeKey: selectedStoreKey || storeKey,
164
226
  onChange: handleFiles,
165
- selectOptions: storeOptions
227
+ selectOptions: storeOptions,
228
+ customFields: customFields
166
229
  }));
167
230
  };
168
231
  FileUploadModal.propTypes = {
@@ -1 +1 @@
1
- {"version":3,"file":"FileUploadModal.js","names":["_react","_interopRequireWildcard","require","_adminUiUtils","_fileUpload","_interopRequireDefault","_propTypes","_toaster","_client","_useFileList","_excluded","_excluded2","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","FileUploadModal","onClose","getSelectedFiles","closeModalAndSetValue","simpleLayout","fileId","storeKey","selectedStoreKey","files","setFiles","useState","addToast","useToasts","client","useApolloClient","addNewFile","useFileList","fileStoresType","getQuery","data","getFileStores","storeType","useQuery","variables","visibleInAdmin","handleFiles","filesToUpload","uploadFiles","filesToProcess","response","Promise","all","map","file","name","fileStoreKey","payload","id","filename","mutate","mutation","getMutation","input","catch","error","message","appearance","autoDismiss","parsedResponse","_ref","result","rest","_objectWithoutProperties2","fileNames","_parsedResponse$","updatedFile","writeQuery","query","console","updateMessage","filesToSelect","uploadMessage","join","toastMessage","handleOnSave","storeOptions","type","key","createElement","ModalAdapter","title","actions","textButton","callback","modifiers","upload","onChange","selectOptions","propTypes","PropTypes","string","func","isRequired","bool","defaultProps","_default","exports"],"sources":["../../../src/components/FileUploadModal/FileUploadModal.js"],"sourcesContent":["import React, { useState } from 'react';\nimport { ModalAdapter as Modal, getMutation, getQuery } from '@blaze-cms/admin-ui-utils';\nimport FileUpload from '@blaze-react/file-upload';\nimport PropTypes from 'prop-types';\nimport { useToasts } from '@blaze-react/toaster';\nimport { useApolloClient, useQuery } from '@apollo/client';\nimport useFileList from '../FileList/useFileList';\n\nconst FileUploadModal = ({\n onClose,\n getSelectedFiles,\n closeModalAndSetValue,\n simpleLayout,\n fileId,\n storeKey,\n selectedStoreKey\n}) => {\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 const { data: { getFileStores: storeType = [] } = {} } = useQuery(fileStoresType, {\n variables: { visibleInAdmin: true }\n });\n\n const handleFiles = filesToUpload => {\n if (fileId && filesToUpload && filesToUpload.length) {\n setFiles([filesToUpload[0]]);\n return;\n }\n setFiles(filesToUpload);\n };\n\n const uploadFiles = async () => {\n const filesToProcess = fileId && files.length ? [files[0]] : files;\n\n const response = await Promise.all(\n filesToProcess.map(({ file, name, data, storeKey: fileStoreKey }) => {\n const payload = {\n name,\n storeKey: fileStoreKey || selectedStoreKey || storeKey,\n data\n };\n if (fileId) {\n payload.id = fileId;\n } else if (!name) {\n payload.name = file.filename;\n }\n return client.mutate({\n mutation: getMutation('UPLOAD_FILE'),\n variables: { input: { file, ...payload } }\n });\n })\n ).catch(error => {\n addToast(error.message, {\n appearance: 'error',\n autoDismiss: true\n });\n return [];\n });\n\n const parsedResponse = response.map(({ data: { file } }) => {\n const { message, ...rest } = file.result || {};\n return rest;\n });\n\n const fileNames = files.map(({ file }) => file.name);\n\n if (simpleLayout) {\n if (fileId && parsedResponse && parsedResponse.length) {\n const { message, ...updatedFile } = parsedResponse[0];\n try {\n client.writeQuery({\n query: getQuery('GET_FILE_BY_ID'),\n variables: { id: fileId },\n data: { file: updatedFile }\n });\n } catch (e) {\n console.error(e); //eslint-disable-line\n }\n const updateMessage = `Updated: ${updatedFile.filename || fileNames[0]}`;\n closeModalAndSetValue(simpleLayout, updatedFile, updateMessage);\n return;\n }\n const filesToSelect = parsedResponse.map(({ id }) => id);\n const uploadMessage = `Uploaded: ${fileNames.join(', ')}`;\n getSelectedFiles(null, filesToSelect);\n closeModalAndSetValue(simpleLayout, filesToSelect, uploadMessage);\n return;\n }\n\n addNewFile && addNewFile(parsedResponse);\n const toastMessage = fileId ? `Updated: ${fileNames[0]}` : `Uploaded: ${fileNames.join(', ')}`;\n\n addToast(toastMessage, {\n appearance: 'success',\n autoDismiss: true\n });\n };\n\n const handleOnSave = async () => {\n if (files.length) await uploadFiles();\n onClose();\n };\n\n let storeOptions = storeType.map(type => [type.key, type.name]);\n storeOptions = storeKey ? storeOptions.filter(([key]) => key === storeKey) : storeOptions;\n\n return (\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: 'Upload',\n callback: handleOnSave,\n modifiers: []\n }\n ]}\n upload>\n <FileUpload\n storeKey={selectedStoreKey || storeKey}\n onChange={handleFiles}\n selectOptions={storeOptions}\n />\n </Modal>\n );\n};\n\nFileUploadModal.propTypes = {\n fileId: PropTypes.string,\n getSelectedFiles: PropTypes.func.isRequired,\n onClose: PropTypes.func,\n simpleLayout: PropTypes.bool,\n closeModalAndSetValue: PropTypes.func,\n storeKey: PropTypes.string,\n selectedStoreKey: PropTypes.string\n};\n\nFileUploadModal.defaultProps = {\n onClose: () => {},\n closeModalAndSetValue: () => {},\n simpleLayout: false,\n fileId: null,\n storeKey: null,\n selectedStoreKey: null\n};\n\nexport default FileUploadModal;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"FileUploadModal.js","names":["_react","_interopRequireWildcard","require","_adminUiUtils","_fileUpload","_interopRequireDefault","_reactFormBuilder","_propTypes","_toaster","_client","_useFileList","_excluded","_excluded2","_excluded3","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","FileUploadModal","onClose","getSelectedFiles","closeModalAndSetValue","simpleLayout","fileId","storeKey","selectedStoreKey","files","setFiles","useState","addToast","useToasts","client","useApolloClient","addNewFile","useFileList","data","getEntitySchemas","schemaData","loading","schemaLoading","useQuery","getQuery","variables","identifier","customFields","useMemo","properties","_schemaData$propertie","name","_name","_storeKey","restProperties","_objectWithoutProperties2","entries","field","showInForm","map","key","Component","getFormBuilderLookup","getFormField","formFieldType","label","component","props","createElement","_extends2","onChange","args","event","value","target","id","fileStoresType","getFileStores","storeType","storeLoading","visibleInAdmin","handleFiles","filesToUpload","uploadFiles","filesToProcess","response","Promise","all","fileData","file","dataProperties","fileStoreKey","customProperties","customPropertyName","otherProperties","reduce","acc","includes","fileProperties","payload","filename","mutate","mutation","getMutation","input","catch","error","message","appearance","autoDismiss","parsedResponse","_ref","result","rest","fileNames","_parsedResponse$","updatedFile","writeQuery","query","console","updateMessage","filesToSelect","uploadMessage","join","toastMessage","handleOnSave","storeOptions","type","ModalAdapter","title","actions","textButton","callback","modifiers","upload","selectOptions","propTypes","PropTypes","string","func","isRequired","bool","defaultProps","_default","exports"],"sources":["../../../src/components/FileUploadModal/FileUploadModal.js"],"sourcesContent":["import React, { useState, useMemo } from 'react';\nimport { ModalAdapter as Modal, getMutation, getQuery } from '@blaze-cms/admin-ui-utils';\nimport FileUpload from '@blaze-react/file-upload';\nimport { getFormBuilderLookup } from '@blaze-cms/react-form-builder';\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 = ({\n onClose,\n getSelectedFiles,\n closeModalAndSetValue,\n simpleLayout,\n fileId,\n storeKey,\n selectedStoreKey\n}) => {\n const [files, setFiles] = useState([]);\n const { addToast } = useToasts();\n const client = useApolloClient();\n const { addNewFile } = useFileList();\n\n const { data: { getEntitySchemas: [schemaData] = [] } = {}, loading: schemaLoading } = useQuery(\n getQuery('GET_ENTITY_SCHEMA'),\n {\n variables: { identifier: 'file' }\n }\n );\n\n const customFields = useMemo(() => {\n if (schemaData && schemaData.properties) {\n const { name: _name, storeKey: _storeKey, ...restProperties } = schemaData.properties;\n return Object.entries(restProperties)\n .filter(([, field]) => field && field.showInForm === true)\n .map(([key, field]) => {\n const Component = getFormBuilderLookup.getFormField(field.formFieldType);\n return {\n name: key,\n label: field.label || key,\n component: props => (\n <Component\n {...field}\n {...props}\n onChange={(...args) => {\n const [event] = args;\n if (!event.value) {\n event.value = event.event.target ? event.event.target.value : event.value;\n }\n if (event.event.target && !event.event.target.id) {\n event.event.target.id = props.id || key;\n }\n if (event.event.target) {\n event.event.target.name = key;\n }\n return props.onChange(...args);\n }}\n />\n )\n };\n });\n }\n return [];\n }, [schemaData]);\n\n const fileStoresType = getQuery('GET_FILE_STORES');\n const { data: { getFileStores: storeType = [] } = {}, loading: storeLoading } = useQuery(\n fileStoresType,\n {\n variables: { visibleInAdmin: true }\n }\n );\n\n if (schemaLoading || storeLoading) return null;\n\n const handleFiles = filesToUpload => {\n if (fileId && filesToUpload && filesToUpload.length) {\n setFiles([filesToUpload[0]]);\n return;\n }\n setFiles(filesToUpload);\n };\n\n const uploadFiles = async () => {\n const filesToProcess = fileId && files.length ? [files[0]] : files;\n\n const response = await Promise.all(\n filesToProcess.map(fileData => {\n const { file, name, data: dataProperties = {}, storeKey: fileStoreKey } = fileData;\n const customProperties = customFields.map(\n ({ name: customPropertyName }) => customPropertyName\n );\n const otherProperties = Object.entries(dataProperties).reduce(\n (acc, [key, value]) => {\n if (customProperties.includes(key)) {\n acc.fileProperties[key] = value;\n } else {\n acc.data[key] = value;\n }\n return acc;\n },\n { data: {}, fileProperties: {} }\n );\n const payload = {\n name,\n storeKey: fileStoreKey || selectedStoreKey || storeKey,\n ...otherProperties\n };\n\n if (fileId) {\n payload.id = fileId;\n } else if (!name) {\n payload.name = file.filename;\n }\n return client.mutate({\n mutation: getMutation('UPLOAD_FILE'),\n variables: { input: { file, ...payload } }\n });\n })\n ).catch(error => {\n addToast(error.message, {\n appearance: 'error',\n autoDismiss: true\n });\n return [];\n });\n\n const parsedResponse = response.map(({ data: { file } }) => {\n const { message, ...rest } = file.result || {};\n return rest;\n });\n\n const fileNames = files.map(({ file }) => file.name);\n\n if (simpleLayout) {\n if (fileId && parsedResponse && parsedResponse.length) {\n const { message, ...updatedFile } = parsedResponse[0];\n try {\n client.writeQuery({\n query: getQuery('GET_FILE_BY_ID'),\n variables: { id: fileId },\n data: { file: updatedFile }\n });\n } catch (e) {\n console.error(e); //eslint-disable-line\n }\n const updateMessage = `Updated: ${updatedFile.filename || fileNames[0]}`;\n closeModalAndSetValue(simpleLayout, updatedFile, updateMessage);\n return;\n }\n const filesToSelect = parsedResponse.map(({ id }) => id);\n const uploadMessage = `Uploaded: ${fileNames.join(', ')}`;\n getSelectedFiles(null, filesToSelect);\n closeModalAndSetValue(simpleLayout, filesToSelect, uploadMessage);\n return;\n }\n\n addNewFile && addNewFile(parsedResponse);\n const toastMessage = fileId ? `Updated: ${fileNames[0]}` : `Uploaded: ${fileNames.join(', ')}`;\n\n addToast(toastMessage, {\n appearance: 'success',\n autoDismiss: true\n });\n };\n\n const handleOnSave = async () => {\n if (files.length) await uploadFiles();\n onClose();\n };\n\n let storeOptions = storeType.map(type => [type.key, type.name]);\n storeOptions = storeKey ? storeOptions.filter(([key]) => key === storeKey) : storeOptions;\n\n return (\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: 'Upload',\n callback: handleOnSave,\n modifiers: []\n }\n ]}\n upload>\n <FileUpload\n storeKey={selectedStoreKey || storeKey}\n onChange={handleFiles}\n selectOptions={storeOptions}\n customFields={customFields}\n />\n </Modal>\n );\n};\n\nFileUploadModal.propTypes = {\n fileId: PropTypes.string,\n getSelectedFiles: PropTypes.func.isRequired,\n onClose: PropTypes.func,\n simpleLayout: PropTypes.bool,\n closeModalAndSetValue: PropTypes.func,\n storeKey: PropTypes.string,\n selectedStoreKey: PropTypes.string\n};\n\nFileUploadModal.defaultProps = {\n onClose: () => {},\n closeModalAndSetValue: () => {},\n simpleLayout: false,\n fileId: null,\n storeKey: null,\n selectedStoreKey: null\n};\n\nexport default FileUploadModal;\n"],"mappings":"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","ignoreList":[]}
@@ -5,140 +5,58 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.default = void 0;
8
- var _react = _interopRequireWildcard(require("react"));
9
- var _pluginSearchUi = require("@blaze-cms/plugin-search-ui");
10
- var _classnames = _interopRequireDefault(require("classnames"));
11
- var _select = _interopRequireDefault(require("@blaze-react/select"));
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _MediaSearchFilter = _interopRequireDefault(require("./MediaSearchFilter"));
12
10
  var _mediaContext = require("../../utils/media-context");
13
- var _useFileList = _interopRequireDefault(require("../FileList/useFileList"));
14
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
15
- /* eslint-disable jsx-a11y/no-static-element-interactions */
16
- /* eslint-disable jsx-a11y/anchor-is-valid */
17
-
18
11
  const FilterPanel = () => {
19
- const [searchTerm, setSearchTerm] = (0, _react.useState)('');
20
12
  const {
21
13
  filters,
22
14
  selectedFilter,
23
- changeSelectedFilter,
24
- fileStores
15
+ changeSelectedFilter
25
16
  } = (0, _mediaContext.useMediaContext)(_mediaContext.MediaContext);
26
- const {
27
- queryParams,
28
- data
29
- } = (0, _useFileList.default)();
30
- const [active, setActive] = (0, _react.useState)(filters[0].id);
31
- (0, _react.useEffect)(() => {
32
- if (queryParams.searchTerm === null) {
33
- setSearchTerm('');
34
- }
35
- }, [queryParams.searchTerm]);
36
- const handleSearchTerm = ({
37
- target: {
38
- value
39
- }
40
- }) => {
41
- setSearchTerm(value);
42
- };
43
- const storeKey = selectedFilter.storeKey || '';
44
- const onChangeFilter = id => {
45
- setActive(id);
46
- searchTerm ? changeSelectedFilter({
47
- filter: id,
48
- isSearch: true,
49
- searchTerm,
50
- storeKey
51
- }) : changeSelectedFilter({
52
- filter: id,
53
- isSearch: false,
54
- searchTerm: null,
55
- storeKey
17
+ const handleOnSelectFilter = (esFilters = []) => {
18
+ let nextSearchTerm = null;
19
+ let nextFilterId = selectedFilter.filter;
20
+ let nextStoreKey = selectedFilter.storeKey || '';
21
+ esFilters.forEach(filterObj => {
22
+ const {
23
+ simple_query_string: simpleQueryString,
24
+ match
25
+ } = filterObj || {};
26
+ if (simpleQueryString) {
27
+ const {
28
+ query
29
+ } = simpleQueryString;
30
+ if (query != null) {
31
+ nextSearchTerm = String(query).trim();
32
+ }
33
+ }
34
+ if (match) {
35
+ const {
36
+ 'type.keyword': typeKeyword,
37
+ 'storeKey.keyword': storeKeyKeyword
38
+ } = match;
39
+ if (typeKeyword && typeKeyword.query != null) {
40
+ nextFilterId = typeKeyword.query;
41
+ }
42
+ if (storeKeyKeyword && storeKeyKeyword.query != null) {
43
+ nextStoreKey = storeKeyKeyword.query;
44
+ }
45
+ }
56
46
  });
57
- };
58
- const handleKeyDown = ({
59
- key
60
- }) => {
61
- if (key === 'Enter') {
62
- searchTerm ? changeSelectedFilter({
63
- filter: selectedFilter.filter,
64
- isSearch: true,
65
- searchTerm: searchTerm.trim(),
66
- storeKey
67
- }) : changeSelectedFilter({
68
- filter: selectedFilter.filter,
69
- isSearch: false,
70
- searchTerm: null,
71
- storeKey
72
- });
73
- }
74
- };
75
- const onSelectFilter = ({
76
- value
77
- }) => {
78
- searchTerm ? changeSelectedFilter({
79
- filter: selectedFilter.filter,
80
- isSearch: true,
81
- searchTerm: searchTerm.trim(),
82
- storeKey: value
83
- }) : changeSelectedFilter({
84
- filter: selectedFilter.filter,
85
- isSearch: false,
86
- searchTerm: null,
87
- storeKey: value
47
+ changeSelectedFilter({
48
+ filter: nextFilterId,
49
+ isSearch: Boolean(nextSearchTerm),
50
+ searchTerm: nextSearchTerm || null,
51
+ storeKey: nextStoreKey,
52
+ esFilters
88
53
  });
89
54
  };
90
- const activeSegements = filters.reduce((acc, {
91
- id
92
- }, index) => {
93
- acc[`active-${index}`] = active === id;
94
- return acc;
95
- }, {});
96
- const activeBarSegment = (0, _classnames.default)('filter-panel__barWrapper--active', activeSegements);
97
- const storeOptions = (fileStores || []).map(type => [type.key, type.name]);
98
- return /*#__PURE__*/_react.default.createElement("div", {
99
- className: "filter-panel"
100
- }, /*#__PURE__*/_react.default.createElement("div", {
101
- className: "filter-panel__wrapper"
102
- }, /*#__PURE__*/_react.default.createElement("ul", {
103
- className: "filter-panel__list"
104
- }, filters.map(({
105
- label,
106
- id
107
- }) => selectedFilter.filter !== id ? /*#__PURE__*/_react.default.createElement("li", {
108
- key: label,
109
- className: "filter-panel__list-item"
110
- }, /*#__PURE__*/_react.default.createElement("a", {
111
- onClick: () => onChangeFilter(id)
112
- }, label, " (", data[id], ")")) : /*#__PURE__*/_react.default.createElement("li", {
113
- key: label,
114
- className: "filter-panel__list-item active"
115
- }, label, " (", data[id], ")"))), /*#__PURE__*/_react.default.createElement("div", {
116
- className: "filter-panel__barWrapper"
117
- }, /*#__PURE__*/_react.default.createElement("div", {
118
- className: activeBarSegment
119
- }))), /*#__PURE__*/_react.default.createElement("div", {
120
- className: "filter-panel__searchBarWrapper"
121
- }, /*#__PURE__*/_react.default.createElement("div", {
122
- className: "select__wrapper"
123
- }, /*#__PURE__*/_react.default.createElement(_select.default, {
124
- name: "filter",
125
- defaultTextValue: "Any",
126
- options: storeOptions,
127
- onChange: onSelectFilter,
128
- selected: selectedFilter.storeKey
129
- })), /*#__PURE__*/_react.default.createElement(_pluginSearchUi.SearchBar, {
130
- search: () => changeSelectedFilter({
131
- filter: selectedFilter.filter,
132
- isSearch: true,
133
- searchTerm,
134
- storeKey: selectedFilter.storeKey
135
- }),
136
- handleKeyDown: handleKeyDown,
137
- searchTerm: searchTerm,
138
- handleSearchTerm: handleSearchTerm,
139
- placeholder: "Search term here...",
140
- close: false
141
- })));
55
+ return /*#__PURE__*/_react.default.createElement(_MediaSearchFilter.default, {
56
+ selectedFilter: selectedFilter,
57
+ listFilters: filters,
58
+ updateListingFilters: handleOnSelectFilter
59
+ });
142
60
  };
143
61
  var _default = exports.default = FilterPanel;
144
62
  //# sourceMappingURL=FilterPanel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FilterPanel.js","names":["_react","_interopRequireWildcard","require","_pluginSearchUi","_classnames","_interopRequireDefault","_select","_mediaContext","_useFileList","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","FilterPanel","searchTerm","setSearchTerm","useState","filters","selectedFilter","changeSelectedFilter","fileStores","useMediaContext","MediaContext","queryParams","data","useFileList","active","setActive","id","useEffect","handleSearchTerm","target","value","storeKey","onChangeFilter","filter","isSearch","handleKeyDown","key","trim","onSelectFilter","activeSegements","reduce","acc","index","activeBarSegment","classnames","storeOptions","map","type","name","createElement","className","label","onClick","defaultTextValue","options","onChange","selected","SearchBar","search","placeholder","close","_default","exports"],"sources":["../../../src/components/FilterPanel/FilterPanel.js"],"sourcesContent":["/* eslint-disable jsx-a11y/no-static-element-interactions */\n/* eslint-disable jsx-a11y/anchor-is-valid */\nimport React, { useState, useEffect } from 'react';\nimport { SearchBar } from '@blaze-cms/plugin-search-ui';\nimport classnames from 'classnames';\nimport Select from '@blaze-react/select';\nimport { useMediaContext, MediaContext } from '../../utils/media-context';\nimport useFileList from '../FileList/useFileList';\n\nconst FilterPanel = () => {\n const [searchTerm, setSearchTerm] = useState('');\n const { filters, selectedFilter, changeSelectedFilter, fileStores } =\n useMediaContext(MediaContext);\n const { queryParams, data } = useFileList();\n const [active, setActive] = useState(filters[0].id);\n\n useEffect(() => {\n if (queryParams.searchTerm === null) {\n setSearchTerm('');\n }\n }, [queryParams.searchTerm]);\n\n const handleSearchTerm = ({ target: { value } }) => {\n setSearchTerm(value);\n };\n\n const storeKey = selectedFilter.storeKey || '';\n\n const onChangeFilter = id => {\n setActive(id);\n searchTerm\n ? changeSelectedFilter({\n filter: id,\n isSearch: true,\n searchTerm,\n storeKey\n })\n : changeSelectedFilter({\n filter: id,\n isSearch: false,\n searchTerm: null,\n storeKey\n });\n };\n\n const handleKeyDown = ({ key }) => {\n if (key === 'Enter') {\n searchTerm\n ? changeSelectedFilter({\n filter: selectedFilter.filter,\n isSearch: true,\n searchTerm: searchTerm.trim(),\n storeKey\n })\n : changeSelectedFilter({\n filter: selectedFilter.filter,\n isSearch: false,\n searchTerm: null,\n storeKey\n });\n }\n };\n\n const onSelectFilter = ({ value }) => {\n searchTerm\n ? changeSelectedFilter({\n filter: selectedFilter.filter,\n isSearch: true,\n searchTerm: searchTerm.trim(),\n storeKey: value\n })\n : changeSelectedFilter({\n filter: selectedFilter.filter,\n isSearch: false,\n searchTerm: null,\n storeKey: value\n });\n };\n\n const activeSegements = filters.reduce((acc, { id }, index) => {\n acc[`active-${index}`] = active === id;\n return acc;\n }, {});\n const activeBarSegment = classnames('filter-panel__barWrapper--active', activeSegements);\n const storeOptions = (fileStores || []).map(type => [type.key, type.name]);\n\n return (\n <div className=\"filter-panel\">\n <div className=\"filter-panel__wrapper\">\n <ul className=\"filter-panel__list\">\n {filters.map(({ label, id }) =>\n selectedFilter.filter !== id ? (\n <li key={label} className=\"filter-panel__list-item\">\n <a onClick={() => onChangeFilter(id)}>\n {label} ({data[id]})\n </a>\n </li>\n ) : (\n <li key={label} className=\"filter-panel__list-item active\">\n {label} ({data[id]})\n </li>\n )\n )}\n </ul>\n <div className=\"filter-panel__barWrapper\">\n <div className={activeBarSegment} />\n </div>\n </div>\n <div className=\"filter-panel__searchBarWrapper\">\n <div className=\"select__wrapper\">\n <Select\n name=\"filter\"\n defaultTextValue=\"Any\"\n options={storeOptions}\n onChange={onSelectFilter}\n selected={selectedFilter.storeKey}\n />\n </div>\n <SearchBar\n search={() =>\n changeSelectedFilter({\n filter: selectedFilter.filter,\n isSearch: true,\n searchTerm,\n storeKey: selectedFilter.storeKey\n })\n }\n handleKeyDown={handleKeyDown}\n searchTerm={searchTerm}\n handleSearchTerm={handleSearchTerm}\n placeholder=\"Search term here...\"\n close={false}\n />\n </div>\n </div>\n );\n};\n\nexport default FilterPanel;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"FilterPanel.js","names":["_react","_interopRequireDefault","require","_MediaSearchFilter","_mediaContext","FilterPanel","filters","selectedFilter","changeSelectedFilter","useMediaContext","MediaContext","handleOnSelectFilter","esFilters","nextSearchTerm","nextFilterId","filter","nextStoreKey","storeKey","forEach","filterObj","simple_query_string","simpleQueryString","match","query","String","trim","typeKeyword","storeKeyKeyword","isSearch","Boolean","searchTerm","default","createElement","listFilters","updateListingFilters","_default","exports"],"sources":["../../../src/components/FilterPanel/FilterPanel.js"],"sourcesContent":["import React from 'react';\nimport MediaSearchFilter from './MediaSearchFilter';\nimport { useMediaContext, MediaContext } from '../../utils/media-context';\n\nconst FilterPanel = () => {\n const { filters, selectedFilter, changeSelectedFilter } = useMediaContext(MediaContext);\n\n const handleOnSelectFilter = (esFilters = []) => {\n let nextSearchTerm = null;\n let nextFilterId = selectedFilter.filter;\n let nextStoreKey = selectedFilter.storeKey || '';\n\n esFilters.forEach(filterObj => {\n const { simple_query_string: simpleQueryString, match } = filterObj || {};\n\n if (simpleQueryString) {\n const { query } = simpleQueryString;\n if (query != null) {\n nextSearchTerm = String(query).trim();\n }\n }\n\n if (match) {\n const { 'type.keyword': typeKeyword, 'storeKey.keyword': storeKeyKeyword } = match;\n\n if (typeKeyword && typeKeyword.query != null) {\n nextFilterId = typeKeyword.query;\n }\n\n if (storeKeyKeyword && storeKeyKeyword.query != null) {\n nextStoreKey = storeKeyKeyword.query;\n }\n }\n });\n\n changeSelectedFilter({\n filter: nextFilterId,\n isSearch: Boolean(nextSearchTerm),\n searchTerm: nextSearchTerm || null,\n storeKey: nextStoreKey,\n esFilters\n });\n };\n\n return (\n <MediaSearchFilter\n selectedFilter={selectedFilter}\n listFilters={filters}\n updateListingFilters={handleOnSelectFilter}\n />\n );\n};\n\nexport default FilterPanel;\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,kBAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,aAAA,GAAAF,OAAA;AAEA,MAAMG,WAAW,GAAGA,CAAA,KAAM;EACxB,MAAM;IAAEC,OAAO;IAAEC,cAAc;IAAEC;EAAqB,CAAC,GAAG,IAAAC,6BAAe,EAACC,0BAAY,CAAC;EAEvF,MAAMC,oBAAoB,GAAGA,CAACC,SAAS,GAAG,EAAE,KAAK;IAC/C,IAAIC,cAAc,GAAG,IAAI;IACzB,IAAIC,YAAY,GAAGP,cAAc,CAACQ,MAAM;IACxC,IAAIC,YAAY,GAAGT,cAAc,CAACU,QAAQ,IAAI,EAAE;IAEhDL,SAAS,CAACM,OAAO,CAACC,SAAS,IAAI;MAC7B,MAAM;QAAEC,mBAAmB,EAAEC,iBAAiB;QAAEC;MAAM,CAAC,GAAGH,SAAS,IAAI,CAAC,CAAC;MAEzE,IAAIE,iBAAiB,EAAE;QACrB,MAAM;UAAEE;QAAM,CAAC,GAAGF,iBAAiB;QACnC,IAAIE,KAAK,IAAI,IAAI,EAAE;UACjBV,cAAc,GAAGW,MAAM,CAACD,KAAK,CAAC,CAACE,IAAI,CAAC,CAAC;QACvC;MACF;MAEA,IAAIH,KAAK,EAAE;QACT,MAAM;UAAE,cAAc,EAAEI,WAAW;UAAE,kBAAkB,EAAEC;QAAgB,CAAC,GAAGL,KAAK;QAElF,IAAII,WAAW,IAAIA,WAAW,CAACH,KAAK,IAAI,IAAI,EAAE;UAC5CT,YAAY,GAAGY,WAAW,CAACH,KAAK;QAClC;QAEA,IAAII,eAAe,IAAIA,eAAe,CAACJ,KAAK,IAAI,IAAI,EAAE;UACpDP,YAAY,GAAGW,eAAe,CAACJ,KAAK;QACtC;MACF;IACF,CAAC,CAAC;IAEFf,oBAAoB,CAAC;MACnBO,MAAM,EAAED,YAAY;MACpBc,QAAQ,EAAEC,OAAO,CAAChB,cAAc,CAAC;MACjCiB,UAAU,EAAEjB,cAAc,IAAI,IAAI;MAClCI,QAAQ,EAAED,YAAY;MACtBJ;IACF,CAAC,CAAC;EACJ,CAAC;EAED,oBACEZ,MAAA,CAAA+B,OAAA,CAAAC,aAAA,CAAC7B,kBAAA,CAAA4B,OAAiB;IAChBxB,cAAc,EAAEA,cAAe;IAC/B0B,WAAW,EAAE3B,OAAQ;IACrB4B,oBAAoB,EAAEvB;EAAqB,CAC5C,CAAC;AAEN,CAAC;AAAC,IAAAwB,QAAA,GAAAC,OAAA,CAAAL,OAAA,GAEa1B,WAAW","ignoreList":[]}