@blaze-cms/plugin-media-ui 0.146.0-alpha.2 → 0.146.0-alpha.26

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 (103) hide show
  1. package/CHANGELOG.md +61 -0
  2. package/lib/components/CardMedia/CardMedia.js +5 -5
  3. package/lib/components/CardMedia/CardMedia.js.map +1 -1
  4. package/lib/components/EditMediaFile/EditMediaFile.js +1 -1
  5. package/lib/components/EditMediaFile/EditMediaFile.js.map +1 -1
  6. package/lib/components/EditMediaFile/EditMediaFilePage.js +2 -2
  7. package/lib/components/EditMediaFile/EditMediaFilePage.js.map +1 -1
  8. package/lib/components/FileList/useGetFiles/getFiles.js +1 -1
  9. package/lib/components/FileList/useGetFiles/getFiles.js.map +1 -1
  10. package/lib/components/FileList/useGetFiles/useGetFiles.js +2 -1
  11. package/lib/components/FileList/useGetFiles/useGetFiles.js.map +1 -1
  12. package/lib/components/FileList/useGetFilesList/getCounters.js +1 -1
  13. package/lib/components/FileList/useGetFilesList/getCounters.js.map +1 -1
  14. package/lib/components/FileList/useGetFilesList/useGetFilesList.js +1 -0
  15. package/lib/components/FileList/useGetFilesList/useGetFilesList.js.map +1 -1
  16. package/lib/components/FilePreview/Actions/index.js +3 -3
  17. package/lib/components/FilePreview/Actions/index.js.map +1 -1
  18. package/lib/components/FilePreview/index.js.map +1 -1
  19. package/lib/components/FilePreviewReadOnly/FileList.js +27 -0
  20. package/lib/components/FilePreviewReadOnly/FileList.js.map +1 -0
  21. package/lib/components/FilePreviewReadOnly/FilePreviewList.js +34 -0
  22. package/lib/components/FilePreviewReadOnly/FilePreviewList.js.map +1 -0
  23. package/lib/components/FilePreviewReadOnly/FilePreviewReadOnly.js +122 -0
  24. package/lib/components/FilePreviewReadOnly/FilePreviewReadOnly.js.map +1 -0
  25. package/lib/components/FilePreviewReadOnly/index.js +11 -0
  26. package/lib/components/FilePreviewReadOnly/index.js.map +1 -0
  27. package/lib/components/FilePreviewReadOnly/mappers/format-initial-value.js +18 -0
  28. package/lib/components/FilePreviewReadOnly/mappers/format-initial-value.js.map +1 -0
  29. package/lib/components/FilePreviewReadOnly/mappers/index.js +14 -0
  30. package/lib/components/FilePreviewReadOnly/mappers/index.js.map +1 -0
  31. package/lib/components/FileUploadAdapter/FileList.js +1 -1
  32. package/lib/components/FileUploadAdapter/FileList.js.map +1 -1
  33. package/lib/components/FileUploadAdapter/FileReorderList.js.map +1 -1
  34. package/lib/components/FileUploadAdapter/FileUploadAdapter.js +78 -39
  35. package/lib/components/FileUploadAdapter/FileUploadAdapter.js.map +1 -1
  36. package/lib/components/FileUploadModal/FileUploadModal.js +33 -12
  37. package/lib/components/FileUploadModal/FileUploadModal.js.map +1 -1
  38. package/lib/components/FilterPanel/FilterPanel.js +1 -1
  39. package/lib/components/FilterPanel/FilterPanel.js.map +1 -1
  40. package/lib/components/ListingContainer/Listing/Listing.js +22 -9
  41. package/lib/components/ListingContainer/Listing/Listing.js.map +1 -1
  42. package/lib/components/ListingContainer/Listing/MediaListing/MediaFileList/MediaFileList.js +1 -1
  43. package/lib/components/ListingContainer/Listing/MediaListing/MediaFileList/MediaFileList.js.map +1 -1
  44. package/lib/components/ListingContainer/Listing/MediaListing/MediaListing.js +1 -1
  45. package/lib/components/ListingContainer/Listing/MediaListing/MediaListing.js.map +1 -1
  46. package/lib/components/ListingContainer/ListingContainer.js +37 -20
  47. package/lib/components/ListingContainer/ListingContainer.js.map +1 -1
  48. package/lib/components/MediaListing.js +49 -0
  49. package/lib/components/MediaListing.js.map +1 -0
  50. package/lib/index.js +16 -6
  51. package/lib/index.js.map +1 -1
  52. package/lib/utils/media-context/media-context.js +1 -1
  53. package/lib/utils/media-context/media-context.js.map +1 -1
  54. package/lib-es/components/CardMedia/CardMedia.js +2 -2
  55. package/lib-es/components/CardMedia/CardMedia.js.map +1 -1
  56. package/lib-es/components/EditMediaFile/EditMediaFilePage.js.map +1 -1
  57. package/lib-es/components/FileList/useGetFiles/getFiles.js.map +1 -1
  58. package/lib-es/components/FilePreview/Actions/index.js +2 -2
  59. package/lib-es/components/FilePreview/Actions/index.js.map +1 -1
  60. package/lib-es/components/FilePreviewReadOnly/FileList.js +18 -0
  61. package/lib-es/components/FilePreviewReadOnly/FileList.js.map +1 -0
  62. package/lib-es/components/FilePreviewReadOnly/FilePreviewList.js +22 -0
  63. package/lib-es/components/FilePreviewReadOnly/FilePreviewList.js.map +1 -0
  64. package/lib-es/components/FilePreviewReadOnly/FilePreviewReadOnly.js +66 -0
  65. package/lib-es/components/FilePreviewReadOnly/FilePreviewReadOnly.js.map +1 -0
  66. package/lib-es/components/FilePreviewReadOnly/index.js +3 -0
  67. package/lib-es/components/FilePreviewReadOnly/index.js.map +1 -0
  68. package/lib-es/components/FilePreviewReadOnly/mappers/format-initial-value.js +11 -0
  69. package/lib-es/components/FilePreviewReadOnly/mappers/format-initial-value.js.map +1 -0
  70. package/lib-es/components/FilePreviewReadOnly/mappers/index.js +3 -0
  71. package/lib-es/components/FilePreviewReadOnly/mappers/index.js.map +1 -0
  72. package/lib-es/components/FileUploadAdapter/FileList.js.map +1 -1
  73. package/lib-es/components/FileUploadAdapter/FileUploadAdapter.js +42 -10
  74. package/lib-es/components/FileUploadAdapter/FileUploadAdapter.js.map +1 -1
  75. package/lib-es/components/FileUploadModal/FileUploadModal.js +20 -5
  76. package/lib-es/components/FileUploadModal/FileUploadModal.js.map +1 -1
  77. package/lib-es/components/FilterPanel/FilterPanel.js.map +1 -1
  78. package/lib-es/components/ListingContainer/Listing/Listing.js +23 -8
  79. package/lib-es/components/ListingContainer/Listing/Listing.js.map +1 -1
  80. package/lib-es/components/ListingContainer/Listing/MediaListing/MediaFileList/MediaFileList.js.map +1 -1
  81. package/lib-es/components/ListingContainer/ListingContainer.js +29 -8
  82. package/lib-es/components/ListingContainer/ListingContainer.js.map +1 -1
  83. package/lib-es/components/MediaListing.js +29 -0
  84. package/lib-es/components/MediaListing.js.map +1 -0
  85. package/lib-es/index.js +8 -3
  86. package/lib-es/index.js.map +1 -1
  87. package/lib-es/utils/media-context/media-context.js +1 -1
  88. package/lib-es/utils/media-context/media-context.js.map +1 -1
  89. package/package.json +7 -7
  90. package/src/components/FilePreview/Actions/index.js +18 -14
  91. package/src/components/FilePreviewReadOnly/FileList.js +20 -0
  92. package/src/components/FilePreviewReadOnly/FilePreviewList.js +23 -0
  93. package/src/components/FilePreviewReadOnly/FilePreviewReadOnly.js +71 -0
  94. package/src/components/FilePreviewReadOnly/index.js +3 -0
  95. package/src/components/FilePreviewReadOnly/mappers/format-initial-value.js +8 -0
  96. package/src/components/FilePreviewReadOnly/mappers/index.js +3 -0
  97. package/src/components/FileUploadAdapter/FileUploadAdapter.js +64 -21
  98. package/src/components/FileUploadModal/FileUploadModal.js +19 -5
  99. package/src/components/ListingContainer/Listing/Listing.js +51 -27
  100. package/src/components/ListingContainer/ListingContainer.js +30 -7
  101. package/src/components/MediaListing.js +31 -0
  102. package/src/index.js +8 -3
  103. package/src/utils/media-context/media-context.js +1 -1
@@ -7,7 +7,7 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.MediaContextProvider = exports.MediaContextConsumer = exports.MediaContext = void 0;
9
9
  var _react = _interopRequireDefault(require("react"));
10
- var MediaContext = exports.MediaContext = /*#__PURE__*/_react["default"].createContext();
10
+ var MediaContext = exports.MediaContext = /*#__PURE__*/_react["default"].createContext({});
11
11
  var MediaContextProvider = exports.MediaContextProvider = MediaContext.Provider;
12
12
  var MediaContextConsumer = exports.MediaContextConsumer = MediaContext.Consumer;
13
13
  //# sourceMappingURL=media-context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"media-context.js","names":["_react","_interopRequireDefault","require","MediaContext","exports","React","createContext","MediaContextProvider","Provider","MediaContextConsumer","Consumer"],"sources":["../../../src/utils/media-context/media-context.js"],"sourcesContent":["import React from 'react';\n\nconst MediaContext = React.createContext();\nconst MediaContextProvider = MediaContext.Provider;\nconst MediaContextConsumer = MediaContext.Consumer;\n\nexport { MediaContext, MediaContextProvider, MediaContextConsumer };\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAMC,YAAY,GAAAC,OAAA,CAAAD,YAAA,gBAAGE,iBAAK,CAACC,aAAa,CAAC,CAAC;AAC1C,IAAMC,oBAAoB,GAAAH,OAAA,CAAAG,oBAAA,GAAGJ,YAAY,CAACK,QAAQ;AAClD,IAAMC,oBAAoB,GAAAL,OAAA,CAAAK,oBAAA,GAAGN,YAAY,CAACO,QAAQ","ignoreList":[]}
1
+ {"version":3,"file":"media-context.js","names":["_react","_interopRequireDefault","require","MediaContext","exports","React","createContext","MediaContextProvider","Provider","MediaContextConsumer","Consumer"],"sources":["../../../src/utils/media-context/media-context.js"],"sourcesContent":["import React from 'react';\n\nconst MediaContext = React.createContext({});\nconst MediaContextProvider = MediaContext.Provider;\nconst MediaContextConsumer = MediaContext.Consumer;\n\nexport { MediaContext, MediaContextProvider, MediaContextConsumer };\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAMC,YAAY,GAAAC,OAAA,CAAAD,YAAA,gBAAGE,iBAAK,CAACC,aAAa,CAAC,CAAC,CAAC,CAAC;AAC5C,IAAMC,oBAAoB,GAAAH,OAAA,CAAAG,oBAAA,GAAGJ,YAAY,CAACK,QAAQ;AAClD,IAAMC,oBAAoB,GAAAL,OAAA,CAAAK,oBAAA,GAAGN,YAAY,CAACO,QAAQ","ignoreList":[]}
@@ -134,7 +134,7 @@ const CardMedia = ({
134
134
  handleCloseModal();
135
135
  setEnableSaveButton(false);
136
136
  };
137
- return /*#__PURE__*/React.createElement(React.Fragment, null, displayEditModal && createPortal( /*#__PURE__*/React.createElement(Modal, {
137
+ return /*#__PURE__*/React.createElement(React.Fragment, null, displayEditModal && createPortal(/*#__PURE__*/React.createElement(Modal, {
138
138
  title: "Edit",
139
139
  actions: modalActions,
140
140
  onClose: handleCloseModal
@@ -148,7 +148,7 @@ const CardMedia = ({
148
148
  className: cardMediaClassNames,
149
149
  role: "button",
150
150
  onClick: handleClick
151
- }, displayDeleteModal && createPortal( /*#__PURE__*/React.createElement(DeleteAction, {
151
+ }, displayDeleteModal && createPortal(/*#__PURE__*/React.createElement(DeleteAction, {
152
152
  onClose: () => setDisplayDeleteModal(false),
153
153
  deleteAction: () => deleteFileById(),
154
154
  itemName: name
@@ -1 +1 @@
1
- {"version":3,"file":"CardMedia.js","names":["React","useState","More","Button","DeleteAction","PropTypes","getQuery","getMutation","useMutation","useApolloClient","classnames","useToasts","Modal","createPortal","Link","EditMediaFile","CardMedia","onSelected","name","url","mimetype","id","selected","displayLayout","data","modalTargetRef","updateFile","removeFile","index","displayDeleteModal","setDisplayDeleteModal","displayEditModal","setDisplayEditModal","enableSaveButton","setEnableSaveButton","fileData","setFileData","addToast","deleteFile","type","extension","split","client","deleteFileById","variables","input","appearance","autoDismiss","error","message","handleClick","cardMediaClassNames","handleCloseModal","handleSaveButtonStatus","state","modalActions","textButton","callback","modifiers","handleFormSave","handleFileChange","file","updatedFile","mutate","mutation","update","cache","fileUpdated","writeQuery","query","result","e","console","createElement","Fragment","title","actions","onClose","onChange","fileId","current","className","role","onClick","deleteAction","itemName","src","alt","xmlns","width","height","viewBox","d","displayBg","Avatar","isMoreMenu","Content","to","event","preventDefault","stopPropagation","propTypes","string","isRequired","object","func","bool","number","defaultProps"],"sources":["../../../src/components/CardMedia/CardMedia.js"],"sourcesContent":["import React, { useState } from 'react';\nimport More from '@blaze-react/more';\nimport Button from '@blaze-react/button';\nimport { DeleteAction } from '@blaze-cms/admin';\nimport PropTypes from 'prop-types';\nimport { getQuery, getMutation } from '@blaze-cms/admin-ui-utils';\nimport { useMutation, useApolloClient } from '@apollo/client';\nimport classnames from 'classnames';\nimport { useToasts } from '@blaze-react/toaster';\nimport Modal from '@blaze-react/modal';\nimport { createPortal } from 'react-dom';\nimport { Link } from 'react-router-dom';\nimport EditMediaFile from '../EditMediaFile';\n\nconst CardMedia = ({\n onSelected,\n name,\n url,\n mimetype,\n id,\n selected,\n displayLayout,\n data,\n modalTargetRef,\n updateFile,\n removeFile,\n index\n}) => {\n const [displayDeleteModal, setDisplayDeleteModal] = useState(false);\n const [displayEditModal, setDisplayEditModal] = useState(false);\n const [enableSaveButton, setEnableSaveButton] = useState(false);\n const [fileData, setFileData] = useState(null);\n const { addToast } = useToasts();\n const [deleteFile] = useMutation(getMutation('DELETE_FILE_BY_ID'));\n const [type, extension] = mimetype.split('/');\n const client = useApolloClient();\n\n const deleteFileById = async () => {\n setDisplayDeleteModal(false);\n try {\n await deleteFile({\n variables: { input: { id } }\n });\n\n removeFile({\n index\n });\n\n addToast(`File: ${name} has been deleted`, {\n appearance: 'success',\n autoDismiss: true\n });\n } catch (error) {\n addToast(error.message, {\n appearance: 'error',\n autoDismiss: true\n });\n }\n };\n\n const handleClick = () => {\n onSelected({ id, url, name, data });\n };\n\n const cardMediaClassNames = classnames('card card--media-list', {\n 'card--media-list--selected': selected,\n [`card--media-${displayLayout}`]: displayLayout\n });\n\n const handleCloseModal = () => {\n setDisplayEditModal(false);\n };\n\n const handleSaveButtonStatus = state => {\n setEnableSaveButton(state);\n };\n\n const modalActions = [\n {\n textButton: 'Cancel',\n callback: handleCloseModal,\n modifiers: ['cancel']\n },\n {\n textButton: 'Save',\n callback: () => handleFormSave(),\n modifiers: enableSaveButton ? [] : ['disabled']\n }\n ];\n\n const handleFileChange = file => {\n setFileData(file);\n };\n\n const handleFormSave = async () => {\n try {\n const {\n data: { updateFile: updatedFile }\n } = await client.mutate({\n mutation: getMutation('UPDATE_FILE'),\n variables: { input: fileData },\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 updateFile({ file: updatedFile.result, index });\n addToast(`File: ${fileData.name} has been updated`, {\n appearance: 'success',\n autoDismiss: true\n });\n } catch (e) {\n addToast(`File: ${fileData.name} has not been updated`, {\n appearance: 'error',\n autoDismiss: true\n });\n console.error(e); //eslint-disable-line\n }\n handleCloseModal();\n setEnableSaveButton(false);\n };\n\n return (\n <>\n {displayEditModal &&\n createPortal(\n <Modal title=\"Edit\" actions={modalActions} onClose={handleCloseModal}>\n <EditMediaFile\n onChange={handleFileChange}\n fileId={id}\n handleSaveButtonStatus={handleSaveButtonStatus}\n handleFormSave={handleFormSave}\n enableSaveButton={enableSaveButton}\n />\n </Modal>,\n modalTargetRef.current\n )}\n <div className={cardMediaClassNames} role=\"button\" onClick={handleClick}>\n {displayDeleteModal &&\n createPortal(\n <DeleteAction\n onClose={() => setDisplayDeleteModal(false)}\n deleteAction={() => deleteFileById()}\n itemName={name}\n />,\n modalTargetRef.current\n )}\n\n {type === 'image' ? (\n <div className={`card__image card__image--media-${displayLayout}`}>\n <img src={url} alt={name} />\n </div>\n ) : (\n <div className=\"card__image card__image--media-list-document\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"100\" height=\"100\" viewBox=\"0 0 8 8\">\n <path d=\"M0 0v8h7v-4h-4v-4h-3zm4 0v3h3l-3-3zm-3 2h1v1h-1v-1zm0 2h1v1h-1v-1zm0 2h4v1h-4v-1z\" />\n </svg>\n </div>\n )}\n\n <footer className={`card__footer card__footer--media-${displayLayout}`}>\n <div className={`card__details card__details--media-${displayLayout}`}>\n <div className={`card__title card__title--media-${displayLayout}`}>\n <h2>{name}</h2>\n </div>\n <p>\n <span>format: {extension}</span>\n </p>\n </div>\n <div className={`card__menu card__menu--${displayLayout}`}>\n <div className=\"more-menu__wrapper more-menu__wrapper--card\">\n <More displayBg>\n <More.Avatar isMoreMenu>\n <span className=\"material-icons\">more_vert</span>\n </More.Avatar>\n <More.Content isMoreMenu>\n <Link to={`/media/edit/${id}`} className=\"more-menu__link\">\n Edit\n </Link>\n <Button\n onClick={event => {\n event.preventDefault();\n event.stopPropagation();\n setDisplayDeleteModal(true);\n }}\n className=\"more-menu__link\">\n Delete\n </Button>\n </More.Content>\n </More>\n </div>\n </div>\n </footer>\n </div>\n </>\n );\n};\n\nCardMedia.propTypes = {\n name: PropTypes.string.isRequired,\n url: PropTypes.string.isRequired,\n id: PropTypes.string.isRequired,\n mimetype: PropTypes.string.isRequired,\n displayLayout: PropTypes.string.isRequired,\n data: PropTypes.object,\n onSelected: PropTypes.func,\n updateFile: PropTypes.func.isRequired,\n removeFile: PropTypes.func.isRequired,\n selected: PropTypes.bool,\n modalTargetRef: PropTypes.object.isRequired,\n index: PropTypes.number.isRequired\n};\n\nCardMedia.defaultProps = {\n onSelected: () => {},\n selected: false,\n data: {}\n};\n\nexport default CardMedia;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"CardMedia.js","names":["React","useState","More","Button","DeleteAction","PropTypes","getQuery","getMutation","useMutation","useApolloClient","classnames","useToasts","Modal","createPortal","Link","EditMediaFile","CardMedia","onSelected","name","url","mimetype","id","selected","displayLayout","data","modalTargetRef","updateFile","removeFile","index","displayDeleteModal","setDisplayDeleteModal","displayEditModal","setDisplayEditModal","enableSaveButton","setEnableSaveButton","fileData","setFileData","addToast","deleteFile","type","extension","split","client","deleteFileById","variables","input","appearance","autoDismiss","error","message","handleClick","cardMediaClassNames","handleCloseModal","handleSaveButtonStatus","state","modalActions","textButton","callback","modifiers","handleFormSave","handleFileChange","file","updatedFile","mutate","mutation","update","cache","fileUpdated","writeQuery","query","result","e","console","createElement","Fragment","title","actions","onClose","onChange","fileId","current","className","role","onClick","deleteAction","itemName","src","alt","xmlns","width","height","viewBox","d","displayBg","Avatar","isMoreMenu","Content","to","event","preventDefault","stopPropagation","propTypes","string","isRequired","object","func","bool","number","defaultProps"],"sources":["../../../src/components/CardMedia/CardMedia.js"],"sourcesContent":["import React, { useState } from 'react';\nimport More from '@blaze-react/more';\nimport Button from '@blaze-react/button';\nimport { DeleteAction } from '@blaze-cms/admin';\nimport PropTypes from 'prop-types';\nimport { getQuery, getMutation } from '@blaze-cms/admin-ui-utils';\nimport { useMutation, useApolloClient } from '@apollo/client';\nimport classnames from 'classnames';\nimport { useToasts } from '@blaze-react/toaster';\nimport Modal from '@blaze-react/modal';\nimport { createPortal } from 'react-dom';\nimport { Link } from 'react-router-dom';\nimport EditMediaFile from '../EditMediaFile';\n\nconst CardMedia = ({\n onSelected,\n name,\n url,\n mimetype,\n id,\n selected,\n displayLayout,\n data,\n modalTargetRef,\n updateFile,\n removeFile,\n index\n}) => {\n const [displayDeleteModal, setDisplayDeleteModal] = useState(false);\n const [displayEditModal, setDisplayEditModal] = useState(false);\n const [enableSaveButton, setEnableSaveButton] = useState(false);\n const [fileData, setFileData] = useState(null);\n const { addToast } = useToasts();\n const [deleteFile] = useMutation(getMutation('DELETE_FILE_BY_ID'));\n const [type, extension] = mimetype.split('/');\n const client = useApolloClient();\n\n const deleteFileById = async () => {\n setDisplayDeleteModal(false);\n try {\n await deleteFile({\n variables: { input: { id } }\n });\n\n removeFile({\n index\n });\n\n addToast(`File: ${name} has been deleted`, {\n appearance: 'success',\n autoDismiss: true\n });\n } catch (error) {\n addToast(error.message, {\n appearance: 'error',\n autoDismiss: true\n });\n }\n };\n\n const handleClick = () => {\n onSelected({ id, url, name, data });\n };\n\n const cardMediaClassNames = classnames('card card--media-list', {\n 'card--media-list--selected': selected,\n [`card--media-${displayLayout}`]: displayLayout\n });\n\n const handleCloseModal = () => {\n setDisplayEditModal(false);\n };\n\n const handleSaveButtonStatus = state => {\n setEnableSaveButton(state);\n };\n\n const modalActions = [\n {\n textButton: 'Cancel',\n callback: handleCloseModal,\n modifiers: ['cancel']\n },\n {\n textButton: 'Save',\n callback: () => handleFormSave(),\n modifiers: enableSaveButton ? [] : ['disabled']\n }\n ];\n\n const handleFileChange = file => {\n setFileData(file);\n };\n\n const handleFormSave = async () => {\n try {\n const {\n data: { updateFile: updatedFile }\n } = await client.mutate({\n mutation: getMutation('UPDATE_FILE'),\n variables: { input: fileData },\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 updateFile({ file: updatedFile.result, index });\n addToast(`File: ${fileData.name} has been updated`, {\n appearance: 'success',\n autoDismiss: true\n });\n } catch (e) {\n addToast(`File: ${fileData.name} has not been updated`, {\n appearance: 'error',\n autoDismiss: true\n });\n console.error(e); //eslint-disable-line\n }\n handleCloseModal();\n setEnableSaveButton(false);\n };\n\n return (\n <>\n {displayEditModal &&\n createPortal(\n <Modal title=\"Edit\" actions={modalActions} onClose={handleCloseModal}>\n <EditMediaFile\n onChange={handleFileChange}\n fileId={id}\n handleSaveButtonStatus={handleSaveButtonStatus}\n handleFormSave={handleFormSave}\n enableSaveButton={enableSaveButton}\n />\n </Modal>,\n modalTargetRef.current\n )}\n <div className={cardMediaClassNames} role=\"button\" onClick={handleClick}>\n {displayDeleteModal &&\n createPortal(\n <DeleteAction\n onClose={() => setDisplayDeleteModal(false)}\n deleteAction={() => deleteFileById()}\n itemName={name}\n />,\n modalTargetRef.current\n )}\n\n {type === 'image' ? (\n <div className={`card__image card__image--media-${displayLayout}`}>\n <img src={url} alt={name} />\n </div>\n ) : (\n <div className=\"card__image card__image--media-list-document\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"100\" height=\"100\" viewBox=\"0 0 8 8\">\n <path d=\"M0 0v8h7v-4h-4v-4h-3zm4 0v3h3l-3-3zm-3 2h1v1h-1v-1zm0 2h1v1h-1v-1zm0 2h4v1h-4v-1z\" />\n </svg>\n </div>\n )}\n\n <footer className={`card__footer card__footer--media-${displayLayout}`}>\n <div className={`card__details card__details--media-${displayLayout}`}>\n <div className={`card__title card__title--media-${displayLayout}`}>\n <h2>{name}</h2>\n </div>\n <p>\n <span>format: {extension}</span>\n </p>\n </div>\n <div className={`card__menu card__menu--${displayLayout}`}>\n <div className=\"more-menu__wrapper more-menu__wrapper--card\">\n <More displayBg>\n <More.Avatar isMoreMenu>\n <span className=\"material-icons\">more_vert</span>\n </More.Avatar>\n <More.Content isMoreMenu>\n <Link to={`/media/edit/${id}`} className=\"more-menu__link\">\n Edit\n </Link>\n <Button\n onClick={event => {\n event.preventDefault();\n event.stopPropagation();\n setDisplayDeleteModal(true);\n }}\n className=\"more-menu__link\">\n Delete\n </Button>\n </More.Content>\n </More>\n </div>\n </div>\n </footer>\n </div>\n </>\n );\n};\n\nCardMedia.propTypes = {\n name: PropTypes.string.isRequired,\n url: PropTypes.string.isRequired,\n id: PropTypes.string.isRequired,\n mimetype: PropTypes.string.isRequired,\n displayLayout: PropTypes.string.isRequired,\n data: PropTypes.object,\n onSelected: PropTypes.func,\n updateFile: PropTypes.func.isRequired,\n removeFile: PropTypes.func.isRequired,\n selected: PropTypes.bool,\n modalTargetRef: PropTypes.object.isRequired,\n index: PropTypes.number.isRequired\n};\n\nCardMedia.defaultProps = {\n onSelected: () => {},\n selected: false,\n data: {}\n};\n\nexport default CardMedia;\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"EditMediaFilePage.js","names":["React","useState","withRouter","PropTypes","Button","useApolloClient","getQuery","getMutation","useToasts","EditMediaFile","EditMediaFilePage","match","history","shouldEnableSaveButton","setShouldEnableSaveButton","file","setFile","client","addToast","handleFileChange","values","handleSaveButtonStatus","value","handleFormSave","mutate","mutation","variables","input","update","cache","data","updateFile","fileUpdated","writeQuery","query","id","params","fileId","result","name","appearance","autoDismiss","e","console","error","pushBack","push","buttonModifiers","createElement","className","onChange","onClick","modifiers","propTypes","object","isRequired"],"sources":["../../../src/components/EditMediaFile/EditMediaFilePage.js"],"sourcesContent":["import React, { useState } from 'react';\nimport { withRouter } from 'react-router-dom';\nimport PropTypes from 'prop-types';\nimport Button from '@blaze-react/button';\nimport { useApolloClient } from '@apollo/client';\nimport { getQuery, getMutation } from '@blaze-cms/admin-ui-utils';\nimport { useToasts } from '@blaze-react/toaster';\nimport EditMediaFile from './EditMediaFile';\n\nconst EditMediaFilePage = ({ match, history }) => {\n const [shouldEnableSaveButton, setShouldEnableSaveButton] = useState(false);\n const [file, setFile] = useState(null);\n const client = useApolloClient();\n const { addToast } = useToasts();\n\n const handleFileChange = values => setFile(values);\n\n const handleSaveButtonStatus = value => {\n setShouldEnableSaveButton(value);\n };\n\n const handleFormSave = async () => {\n try {\n await client.mutate({\n mutation: getMutation('UPDATE_FILE'),\n variables: { input: file },\n update(\n cache,\n {\n data: { updateFile: fileUpdated }\n }\n ) {\n cache.writeQuery({\n query: getQuery('GET_FILE_BY_ID'),\n variables: { id: match.params.fileId },\n data: { file: fileUpdated.result }\n });\n }\n });\n\n addToast(`File: ${file.name} has been updated`, {\n appearance: 'success',\n autoDismiss: true\n });\n } catch (e) {\n addToast(`File: ${file.name} has not been updated`, {\n appearance: 'error',\n autoDismiss: true\n });\n console.error(e); //eslint-disable-line\n }\n setShouldEnableSaveButton(false);\n };\n\n const pushBack = () => history.push('/media');\n\n const buttonModifiers = shouldEnableSaveButton ? [] : ['disabled'];\n\n return (\n <div className=\"page\">\n <div className=\"page__content\">\n <div className=\"page__content__mediaWrapper\">\n <EditMediaFile\n onChange={handleFileChange}\n fileId={match.params.fileId}\n handleSaveButtonStatus={handleSaveButtonStatus}\n handleFormSave={handleFormSave}\n />\n <div className=\"page__content__mediaWrapperActions\">\n <Button onClick={pushBack}>Cancel</Button>\n <Button onClick={handleFormSave} modifiers={buttonModifiers}>\n Save\n </Button>\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nEditMediaFilePage.propTypes = {\n match: PropTypes.object.isRequired,\n history: PropTypes.object.isRequired\n};\n\nexport default withRouter(EditMediaFilePage);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"EditMediaFilePage.js","names":["React","useState","withRouter","PropTypes","Button","useApolloClient","getQuery","getMutation","useToasts","EditMediaFile","EditMediaFilePage","match","history","shouldEnableSaveButton","setShouldEnableSaveButton","file","setFile","client","addToast","handleFileChange","values","handleSaveButtonStatus","value","handleFormSave","mutate","mutation","variables","input","update","cache","data","updateFile","fileUpdated","writeQuery","query","id","params","fileId","result","name","appearance","autoDismiss","e","console","error","pushBack","push","buttonModifiers","createElement","className","onChange","onClick","modifiers","propTypes","object","isRequired"],"sources":["../../../src/components/EditMediaFile/EditMediaFilePage.js"],"sourcesContent":["import React, { useState } from 'react';\nimport { withRouter } from 'react-router-dom';\nimport PropTypes from 'prop-types';\nimport Button from '@blaze-react/button';\nimport { useApolloClient } from '@apollo/client';\nimport { getQuery, getMutation } from '@blaze-cms/admin-ui-utils';\nimport { useToasts } from '@blaze-react/toaster';\nimport EditMediaFile from './EditMediaFile';\n\nconst EditMediaFilePage = ({ match, history }) => {\n const [shouldEnableSaveButton, setShouldEnableSaveButton] = useState(false);\n const [file, setFile] = useState(null);\n const client = useApolloClient();\n const { addToast } = useToasts();\n\n const handleFileChange = values => setFile(values);\n\n const handleSaveButtonStatus = value => {\n setShouldEnableSaveButton(value);\n };\n\n const handleFormSave = async () => {\n try {\n await client.mutate({\n mutation: getMutation('UPDATE_FILE'),\n variables: { input: file },\n update(\n cache,\n {\n data: { updateFile: fileUpdated }\n }\n ) {\n cache.writeQuery({\n query: getQuery('GET_FILE_BY_ID'),\n variables: { id: match.params.fileId },\n data: { file: fileUpdated.result }\n });\n }\n });\n\n addToast(`File: ${file.name} has been updated`, {\n appearance: 'success',\n autoDismiss: true\n });\n } catch (e) {\n addToast(`File: ${file.name} has not been updated`, {\n appearance: 'error',\n autoDismiss: true\n });\n console.error(e); //eslint-disable-line\n }\n setShouldEnableSaveButton(false);\n };\n\n const pushBack = () => history.push('/media');\n\n const buttonModifiers = shouldEnableSaveButton ? [] : ['disabled'];\n\n return (\n <div className=\"page\">\n <div className=\"page__content\">\n <div className=\"page__content__mediaWrapper\">\n <EditMediaFile\n onChange={handleFileChange}\n fileId={match.params.fileId}\n handleSaveButtonStatus={handleSaveButtonStatus}\n handleFormSave={handleFormSave}\n />\n <div className=\"page__content__mediaWrapperActions\">\n <Button onClick={pushBack}>Cancel</Button>\n <Button onClick={handleFormSave} modifiers={buttonModifiers}>\n Save\n </Button>\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nEditMediaFilePage.propTypes = {\n match: PropTypes.object.isRequired,\n history: PropTypes.object.isRequired\n};\n\nexport default withRouter(EditMediaFilePage);\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"getFiles.js","names":["getQuery","ALL","INVALID_STORE_KEY_VALUES","getFromSearch","searchTerm","offset","limit","where","client","fileStores","allTypesMatches","match","type","matchSpecificType","mustMatch","push","simple_query_string","query","analyze_wildcard","fields","storeKeys","includes","storeKey","map","key","bool","should","minimum_should_match","data","files","results","all","image","video","text","fetchPolicy","variables","sort","rawQuery","must","rawQueryAllResults","rawQueryImages","rawQueryVideos","rawQueryDocs","getFiles"],"sources":["../../../../src/components/FileList/useGetFiles/getFiles.js"],"sourcesContent":["import { getQuery } from '@blaze-cms/admin-ui-utils';\nimport { ALL, INVALID_STORE_KEY_VALUES } from '../../../constants';\n\nconst getFromSearch = async ({ searchTerm, offset, limit, where, client, fileStores = [] }) => {\n const allTypesMatches = [\n {\n match: { type: 'image' }\n },\n {\n match: { type: 'video' }\n },\n {\n match: { type: 'text' }\n }\n ];\n const matchSpecificType = [\n {\n match: { type: where.type }\n }\n ];\n const match = !where.type || where.type === ALL ? allTypesMatches : matchSpecificType;\n const mustMatch = [];\n\n if (searchTerm) {\n mustMatch.push({\n simple_query_string: {\n query: `${searchTerm}*`,\n analyze_wildcard: true,\n fields: ['name', 'filename', 'data.altText', 'data.caption', 'data.title', 'data.credits']\n }\n });\n }\n\n const storeKeys = [];\n if (INVALID_STORE_KEY_VALUES.includes(where.storeKey)) {\n storeKeys.push(...fileStores.map(({ key }) => key));\n } else if (where.storeKey) {\n storeKeys.push(where.storeKey);\n }\n\n mustMatch.push({\n bool: {\n should: storeKeys.map(storeKey => ({\n match: { storeKey }\n })),\n minimum_should_match: 1\n }\n });\n\n const {\n data: {\n files: { results: files },\n all,\n image,\n video,\n text\n }\n } = await client.query({\n query: getQuery('SEARCH_ADMIN_MEDIA'),\n fetchPolicy: 'network-only',\n variables: {\n offset,\n limit,\n sort: searchTerm ? null : 'updated:desc',\n rawQuery: {\n query: {\n bool: {\n must: [\n ...mustMatch,\n {\n bool: {\n should: match\n }\n }\n ]\n }\n }\n },\n rawQueryAllResults: {\n query: {\n bool: {\n must: [\n ...mustMatch,\n {\n bool: {\n should: [\n {\n match: { type: 'image' }\n },\n {\n match: { type: 'video' }\n },\n {\n match: { type: 'text' }\n }\n ]\n }\n }\n ]\n }\n }\n },\n rawQueryImages: {\n query: {\n bool: {\n must: [\n ...mustMatch,\n {\n bool: {\n should: [\n {\n match: { type: 'image' }\n }\n ]\n }\n }\n ]\n }\n }\n },\n rawQueryVideos: {\n query: {\n bool: {\n must: [\n ...mustMatch,\n {\n bool: {\n should: [\n {\n match: { type: 'video' }\n }\n ]\n }\n }\n ]\n }\n }\n },\n rawQueryDocs: {\n query: {\n bool: {\n must: [\n ...mustMatch,\n {\n bool: {\n should: [\n {\n match: { type: 'text' }\n }\n ]\n }\n }\n ]\n }\n }\n }\n }\n });\n\n return { files, all, image, video, text };\n};\n\nconst getFiles = ({ offset, limit, where, searchTerm, fileStores }, client) =>\n getFromSearch({ searchTerm, offset, limit, where, client, fileStores });\n\nexport default getFiles;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"getFiles.js","names":["getQuery","ALL","INVALID_STORE_KEY_VALUES","getFromSearch","searchTerm","offset","limit","where","client","fileStores","allTypesMatches","match","type","matchSpecificType","mustMatch","push","simple_query_string","query","analyze_wildcard","fields","storeKeys","includes","storeKey","map","key","bool","should","minimum_should_match","data","files","results","all","image","video","text","fetchPolicy","variables","sort","rawQuery","must","rawQueryAllResults","rawQueryImages","rawQueryVideos","rawQueryDocs","getFiles"],"sources":["../../../../src/components/FileList/useGetFiles/getFiles.js"],"sourcesContent":["import { getQuery } from '@blaze-cms/admin-ui-utils';\nimport { ALL, INVALID_STORE_KEY_VALUES } from '../../../constants';\n\nconst getFromSearch = async ({ searchTerm, offset, limit, where, client, fileStores = [] }) => {\n const allTypesMatches = [\n {\n match: { type: 'image' }\n },\n {\n match: { type: 'video' }\n },\n {\n match: { type: 'text' }\n }\n ];\n const matchSpecificType = [\n {\n match: { type: where.type }\n }\n ];\n const match = !where.type || where.type === ALL ? allTypesMatches : matchSpecificType;\n const mustMatch = [];\n\n if (searchTerm) {\n mustMatch.push({\n simple_query_string: {\n query: `${searchTerm}*`,\n analyze_wildcard: true,\n fields: ['name', 'filename', 'data.altText', 'data.caption', 'data.title', 'data.credits']\n }\n });\n }\n\n const storeKeys = [];\n if (INVALID_STORE_KEY_VALUES.includes(where.storeKey)) {\n storeKeys.push(...fileStores.map(({ key }) => key));\n } else if (where.storeKey) {\n storeKeys.push(where.storeKey);\n }\n\n mustMatch.push({\n bool: {\n should: storeKeys.map(storeKey => ({\n match: { storeKey }\n })),\n minimum_should_match: 1\n }\n });\n\n const {\n data: {\n files: { results: files },\n all,\n image,\n video,\n text\n }\n } = await client.query({\n query: getQuery('SEARCH_ADMIN_MEDIA'),\n fetchPolicy: 'network-only',\n variables: {\n offset,\n limit,\n sort: searchTerm ? null : 'updated:desc',\n rawQuery: {\n query: {\n bool: {\n must: [\n ...mustMatch,\n {\n bool: {\n should: match\n }\n }\n ]\n }\n }\n },\n rawQueryAllResults: {\n query: {\n bool: {\n must: [\n ...mustMatch,\n {\n bool: {\n should: [\n {\n match: { type: 'image' }\n },\n {\n match: { type: 'video' }\n },\n {\n match: { type: 'text' }\n }\n ]\n }\n }\n ]\n }\n }\n },\n rawQueryImages: {\n query: {\n bool: {\n must: [\n ...mustMatch,\n {\n bool: {\n should: [\n {\n match: { type: 'image' }\n }\n ]\n }\n }\n ]\n }\n }\n },\n rawQueryVideos: {\n query: {\n bool: {\n must: [\n ...mustMatch,\n {\n bool: {\n should: [\n {\n match: { type: 'video' }\n }\n ]\n }\n }\n ]\n }\n }\n },\n rawQueryDocs: {\n query: {\n bool: {\n must: [\n ...mustMatch,\n {\n bool: {\n should: [\n {\n match: { type: 'text' }\n }\n ]\n }\n }\n ]\n }\n }\n }\n }\n });\n\n return { files, all, image, video, text };\n};\n\nconst getFiles = ({ offset, limit, where, searchTerm, fileStores }, client) =>\n getFromSearch({ searchTerm, offset, limit, where, client, fileStores });\n\nexport default getFiles;\n"],"mappings":"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","ignoreList":[]}
@@ -15,14 +15,14 @@ const Actions = ({
15
15
  className: "FilePreviewItem__info__actions FilePreviewItem__info__actions--media-type"
16
16
  }, /*#__PURE__*/React.createElement("i", {
17
17
  className: "FilePreviewItem__info__actionsIcon material-icons"
18
- }, "insert_photo"), ' ', /*#__PURE__*/React.createElement("span", null, extension)), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("div", {
18
+ }, "insert_photo"), ' ', /*#__PURE__*/React.createElement("span", null, extension)), /*#__PURE__*/React.createElement("div", null, handleEditModal && /*#__PURE__*/React.createElement("div", {
19
19
  "data-testid": `open-media-library-${file.id}`,
20
20
  className: "FilePreviewItem__info__actionsIcon material-icons edit",
21
21
  "aria-hidden": "true",
22
22
  onClick: () => handleEditModal(file)
23
23
  }, /*#__PURE__*/React.createElement("i", {
24
24
  className: "fas fa-pen fa-xs"
25
- })), /*#__PURE__*/React.createElement("div", {
25
+ })), onUnselectFile && /*#__PURE__*/React.createElement("div", {
26
26
  "data-testid": `unselect-${file.id}`,
27
27
  className: "FilePreviewItem__info__actionsIcon material-icons delete",
28
28
  "aria-hidden": "true",
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useContext","PropTypes","MediaContext","Actions","file","handleEditModal","onUnselectFile","extension","mimetype","split","createElement","Fragment","className","id","onClick","propTypes","object","isRequired"],"sources":["../../../../src/components/FilePreview/Actions/index.js"],"sourcesContent":["import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { MediaContext } from '../../../utils/media-context';\n\nconst Actions = ({ file }) => {\n const { handleEditModal, onUnselectFile } = useContext(MediaContext);\n const [, extension] = file.mimetype.split('/');\n\n return (\n <>\n <div className=\"FilePreviewItem__info__actions\">\n <div className=\"FilePreviewItem__info__actions FilePreviewItem__info__actions--media-type\">\n <i className=\"FilePreviewItem__info__actionsIcon material-icons\">insert_photo</i>{' '}\n <span>{extension}</span>\n </div>\n <div>\n <div\n data-testid={`open-media-library-${file.id}`}\n className=\"FilePreviewItem__info__actionsIcon material-icons edit\"\n aria-hidden=\"true\"\n onClick={() => handleEditModal(file)}>\n <i className=\"fas fa-pen fa-xs\" />\n </div>\n <div\n data-testid={`unselect-${file.id}`}\n className=\"FilePreviewItem__info__actionsIcon material-icons delete\"\n aria-hidden=\"true\"\n onClick={() => onUnselectFile([file.id])}>\n <i className=\"fas fa-trash fa-xs\" />\n </div>\n </div>\n </div>\n </>\n );\n};\n\nActions.propTypes = {\n file: PropTypes.object.isRequired\n};\n\nexport default Actions;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,YAAY,QAAQ,8BAA8B;AAE3D,MAAMC,OAAO,GAAGA,CAAC;EAAEC;AAAK,CAAC,KAAK;EAC5B,MAAM;IAAEC,eAAe;IAAEC;EAAe,CAAC,GAAGN,UAAU,CAACE,YAAY,CAAC;EACpE,MAAM,GAAGK,SAAS,CAAC,GAAGH,IAAI,CAACI,QAAQ,CAACC,KAAK,CAAC,GAAG,CAAC;EAE9C,oBACEV,KAAA,CAAAW,aAAA,CAAAX,KAAA,CAAAY,QAAA,qBACEZ,KAAA,CAAAW,aAAA;IAAKE,SAAS,EAAC;EAAgC,gBAC7Cb,KAAA,CAAAW,aAAA;IAAKE,SAAS,EAAC;EAA2E,gBACxFb,KAAA,CAAAW,aAAA;IAAGE,SAAS,EAAC;EAAmD,GAAC,cAAe,CAAC,EAAC,GAAG,eACrFb,KAAA,CAAAW,aAAA,eAAOH,SAAgB,CACpB,CAAC,eACNR,KAAA,CAAAW,aAAA,2BACEX,KAAA,CAAAW,aAAA;IACE,eAAc,sBAAqBN,IAAI,CAACS,EAAG,EAAE;IAC7CD,SAAS,EAAC,wDAAwD;IAClE,eAAY,MAAM;IAClBE,OAAO,EAAEA,CAAA,KAAMT,eAAe,CAACD,IAAI;EAAE,gBACrCL,KAAA,CAAAW,aAAA;IAAGE,SAAS,EAAC;EAAkB,CAAE,CAC9B,CAAC,eACNb,KAAA,CAAAW,aAAA;IACE,eAAc,YAAWN,IAAI,CAACS,EAAG,EAAE;IACnCD,SAAS,EAAC,0DAA0D;IACpE,eAAY,MAAM;IAClBE,OAAO,EAAEA,CAAA,KAAMR,cAAc,CAAC,CAACF,IAAI,CAACS,EAAE,CAAC;EAAE,gBACzCd,KAAA,CAAAW,aAAA;IAAGE,SAAS,EAAC;EAAoB,CAAE,CAChC,CACF,CACF,CACL,CAAC;AAEP,CAAC;AAEDT,OAAO,CAACY,SAAS,GAAG;EAClBX,IAAI,EAAEH,SAAS,CAACe,MAAM,CAACC;AACzB,CAAC;AAED,eAAed,OAAO","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","useContext","PropTypes","MediaContext","Actions","file","handleEditModal","onUnselectFile","extension","mimetype","split","createElement","Fragment","className","id","onClick","propTypes","object","isRequired"],"sources":["../../../../src/components/FilePreview/Actions/index.js"],"sourcesContent":["import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { MediaContext } from '../../../utils/media-context';\n\nconst Actions = ({ file }) => {\n const { handleEditModal, onUnselectFile } = useContext(MediaContext);\n const [, extension] = file.mimetype.split('/');\n\n return (\n <>\n <div className=\"FilePreviewItem__info__actions\">\n <div className=\"FilePreviewItem__info__actions FilePreviewItem__info__actions--media-type\">\n <i className=\"FilePreviewItem__info__actionsIcon material-icons\">insert_photo</i>{' '}\n <span>{extension}</span>\n </div>\n <div>\n {handleEditModal && (\n <div\n data-testid={`open-media-library-${file.id}`}\n className=\"FilePreviewItem__info__actionsIcon material-icons edit\"\n aria-hidden=\"true\"\n onClick={() => handleEditModal(file)}>\n <i className=\"fas fa-pen fa-xs\" />\n </div>\n )}\n {onUnselectFile && (\n <div\n data-testid={`unselect-${file.id}`}\n className=\"FilePreviewItem__info__actionsIcon material-icons delete\"\n aria-hidden=\"true\"\n onClick={() => onUnselectFile([file.id])}>\n <i className=\"fas fa-trash fa-xs\" />\n </div>\n )}\n </div>\n </div>\n </>\n );\n};\n\nActions.propTypes = {\n file: PropTypes.object.isRequired\n};\n\nexport default Actions;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,YAAY,QAAQ,8BAA8B;AAE3D,MAAMC,OAAO,GAAGA,CAAC;EAAEC;AAAK,CAAC,KAAK;EAC5B,MAAM;IAAEC,eAAe;IAAEC;EAAe,CAAC,GAAGN,UAAU,CAACE,YAAY,CAAC;EACpE,MAAM,GAAGK,SAAS,CAAC,GAAGH,IAAI,CAACI,QAAQ,CAACC,KAAK,CAAC,GAAG,CAAC;EAE9C,oBACEV,KAAA,CAAAW,aAAA,CAAAX,KAAA,CAAAY,QAAA,qBACEZ,KAAA,CAAAW,aAAA;IAAKE,SAAS,EAAC;EAAgC,gBAC7Cb,KAAA,CAAAW,aAAA;IAAKE,SAAS,EAAC;EAA2E,gBACxFb,KAAA,CAAAW,aAAA;IAAGE,SAAS,EAAC;EAAmD,GAAC,cAAe,CAAC,EAAC,GAAG,eACrFb,KAAA,CAAAW,aAAA,eAAOH,SAAgB,CACpB,CAAC,eACNR,KAAA,CAAAW,aAAA,cACGL,eAAe,iBACdN,KAAA,CAAAW,aAAA;IACE,eAAa,sBAAsBN,IAAI,CAACS,EAAE,EAAG;IAC7CD,SAAS,EAAC,wDAAwD;IAClE,eAAY,MAAM;IAClBE,OAAO,EAAEA,CAAA,KAAMT,eAAe,CAACD,IAAI;EAAE,gBACrCL,KAAA,CAAAW,aAAA;IAAGE,SAAS,EAAC;EAAkB,CAAE,CAC9B,CACN,EACAN,cAAc,iBACbP,KAAA,CAAAW,aAAA;IACE,eAAa,YAAYN,IAAI,CAACS,EAAE,EAAG;IACnCD,SAAS,EAAC,0DAA0D;IACpE,eAAY,MAAM;IAClBE,OAAO,EAAEA,CAAA,KAAMR,cAAc,CAAC,CAACF,IAAI,CAACS,EAAE,CAAC;EAAE,gBACzCd,KAAA,CAAAW,aAAA;IAAGE,SAAS,EAAC;EAAoB,CAAE,CAChC,CAEJ,CACF,CACL,CAAC;AAEP,CAAC;AAEDT,OAAO,CAACY,SAAS,GAAG;EAClBX,IAAI,EAAEH,SAAS,CAACe,MAAM,CAACC;AACzB,CAAC;AAED,eAAed,OAAO","ignoreList":[]}
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import FilePreviewList from './FilePreviewList';
4
+ const FileList = ({
5
+ selectedFiles,
6
+ children
7
+ }) => /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FilePreviewList, {
8
+ selectedFiles: selectedFiles
9
+ }, children));
10
+ FileList.propTypes = {
11
+ selectedFiles: PropTypes.array.isRequired,
12
+ children: PropTypes.oneOfType([PropTypes.array, PropTypes.object, PropTypes.string])
13
+ };
14
+ FileList.defaultProps = {
15
+ children: []
16
+ };
17
+ export default FileList;
18
+ //# sourceMappingURL=FileList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileList.js","names":["React","PropTypes","FilePreviewList","FileList","selectedFiles","children","createElement","Fragment","propTypes","array","isRequired","oneOfType","object","string","defaultProps"],"sources":["../../../src/components/FilePreviewReadOnly/FileList.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport FilePreviewList from './FilePreviewList';\n\nconst FileList = ({ selectedFiles, children }) => (\n <>\n <FilePreviewList selectedFiles={selectedFiles}>{children}</FilePreviewList>\n </>\n);\n\nFileList.propTypes = {\n selectedFiles: PropTypes.array.isRequired,\n children: PropTypes.oneOfType([PropTypes.array, PropTypes.object, PropTypes.string])\n};\n\nFileList.defaultProps = {\n children: []\n};\n\nexport default FileList;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,eAAe,MAAM,mBAAmB;AAE/C,MAAMC,QAAQ,GAAGA,CAAC;EAAEC,aAAa;EAAEC;AAAS,CAAC,kBAC3CL,KAAA,CAAAM,aAAA,CAAAN,KAAA,CAAAO,QAAA,qBACEP,KAAA,CAAAM,aAAA,CAACJ,eAAe;EAACE,aAAa,EAAEA;AAAc,GAAEC,QAA0B,CAC1E,CACH;AAEDF,QAAQ,CAACK,SAAS,GAAG;EACnBJ,aAAa,EAAEH,SAAS,CAACQ,KAAK,CAACC,UAAU;EACzCL,QAAQ,EAAEJ,SAAS,CAACU,SAAS,CAAC,CAACV,SAAS,CAACQ,KAAK,EAAER,SAAS,CAACW,MAAM,EAAEX,SAAS,CAACY,MAAM,CAAC;AACrF,CAAC;AAEDV,QAAQ,CAACW,YAAY,GAAG;EACtBT,QAAQ,EAAE;AACZ,CAAC;AAED,eAAeF,QAAQ","ignoreList":[]}
@@ -0,0 +1,22 @@
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import FilePreview from '../FilePreview';
4
+ const FilePreviewList = ({
5
+ selectedFiles,
6
+ children
7
+ }) => /*#__PURE__*/React.createElement("div", {
8
+ className: "FileUploadAdapter__preview"
9
+ }, selectedFiles.map(file => /*#__PURE__*/React.createElement(FilePreview, {
10
+ key: file.id,
11
+ file: file,
12
+ previewType: FilePreview.availablePreviewTypes.raw
13
+ })), children);
14
+ FilePreviewList.propTypes = {
15
+ selectedFiles: PropTypes.array.isRequired,
16
+ children: PropTypes.oneOfType([PropTypes.array, PropTypes.object, PropTypes.string])
17
+ };
18
+ FilePreviewList.defaultProps = {
19
+ children: []
20
+ };
21
+ export default FilePreviewList;
22
+ //# sourceMappingURL=FilePreviewList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FilePreviewList.js","names":["React","PropTypes","FilePreview","FilePreviewList","selectedFiles","children","createElement","className","map","file","key","id","previewType","availablePreviewTypes","raw","propTypes","array","isRequired","oneOfType","object","string","defaultProps"],"sources":["../../../src/components/FilePreviewReadOnly/FilePreviewList.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport FilePreview from '../FilePreview';\n\nconst FilePreviewList = ({ selectedFiles, children }) => (\n <div className=\"FileUploadAdapter__preview\">\n {selectedFiles.map(file => (\n <FilePreview key={file.id} file={file} previewType={FilePreview.availablePreviewTypes.raw} />\n ))}\n {children}\n </div>\n);\n\nFilePreviewList.propTypes = {\n selectedFiles: PropTypes.array.isRequired,\n children: PropTypes.oneOfType([PropTypes.array, PropTypes.object, PropTypes.string])\n};\n\nFilePreviewList.defaultProps = {\n children: []\n};\n\nexport default FilePreviewList;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,WAAW,MAAM,gBAAgB;AAExC,MAAMC,eAAe,GAAGA,CAAC;EAAEC,aAAa;EAAEC;AAAS,CAAC,kBAClDL,KAAA,CAAAM,aAAA;EAAKC,SAAS,EAAC;AAA4B,GACxCH,aAAa,CAACI,GAAG,CAACC,IAAI,iBACrBT,KAAA,CAAAM,aAAA,CAACJ,WAAW;EAACQ,GAAG,EAAED,IAAI,CAACE,EAAG;EAACF,IAAI,EAAEA,IAAK;EAACG,WAAW,EAAEV,WAAW,CAACW,qBAAqB,CAACC;AAAI,CAAE,CAC7F,CAAC,EACDT,QACE,CACN;AAEDF,eAAe,CAACY,SAAS,GAAG;EAC1BX,aAAa,EAAEH,SAAS,CAACe,KAAK,CAACC,UAAU;EACzCZ,QAAQ,EAAEJ,SAAS,CAACiB,SAAS,CAAC,CAACjB,SAAS,CAACe,KAAK,EAAEf,SAAS,CAACkB,MAAM,EAAElB,SAAS,CAACmB,MAAM,CAAC;AACrF,CAAC;AAEDjB,eAAe,CAACkB,YAAY,GAAG;EAC7BhB,QAAQ,EAAE;AACZ,CAAC;AAED,eAAeF,eAAe","ignoreList":[]}
@@ -0,0 +1,66 @@
1
+ import React, { useState, useEffect } from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import { useApolloClient } from '@apollo/client';
4
+ import { getQuery } from '@blaze-cms/admin-ui-utils';
5
+ import FileList from './FileList';
6
+ import { formatInitialValue } from './mappers';
7
+ const FilePreviewReadOnly = ({
8
+ label,
9
+ id,
10
+ type,
11
+ value
12
+ }) => {
13
+ const initialValue = formatInitialValue({
14
+ value,
15
+ type
16
+ });
17
+ const [selectedFiles, setSelectedFiles] = useState([]);
18
+ const client = useApolloClient();
19
+ const getFiles = async (offset, ids) => {
20
+ const {
21
+ data: {
22
+ files: newFiles
23
+ }
24
+ } = await client.query({
25
+ query: getQuery('GET_FILES'),
26
+ variables: {
27
+ offset,
28
+ where: {
29
+ id: {
30
+ _in: ids
31
+ }
32
+ }
33
+ },
34
+ skip: !initialValue.length,
35
+ fetchPolicy: 'network-only'
36
+ });
37
+ return newFiles;
38
+ };
39
+ useEffect(() => {
40
+ (async () => {
41
+ const files = await getFiles(0, initialValue);
42
+ const orderedFiles = orderFiles(files, initialValue);
43
+ setSelectedFiles(orderedFiles);
44
+ })();
45
+ }, [] //eslint-disable-line
46
+ );
47
+ const orderFiles = (files, ids) => ids.map(currentId => files.find(({
48
+ id: fileId
49
+ }) => fileId === currentId)).filter(Boolean);
50
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
51
+ className: "form-field form-field--button"
52
+ }, /*#__PURE__*/React.createElement("label", null, label), selectedFiles && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FileList, {
53
+ selectedFiles: selectedFiles
54
+ }))));
55
+ };
56
+ FilePreviewReadOnly.propTypes = {
57
+ label: PropTypes.string.isRequired,
58
+ id: PropTypes.string.isRequired,
59
+ type: PropTypes.string.isRequired,
60
+ value: PropTypes.oneOfType([PropTypes.string, PropTypes.array])
61
+ };
62
+ FilePreviewReadOnly.defaultProps = {
63
+ value: ''
64
+ };
65
+ export default FilePreviewReadOnly;
66
+ //# sourceMappingURL=FilePreviewReadOnly.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FilePreviewReadOnly.js","names":["React","useState","useEffect","PropTypes","useApolloClient","getQuery","FileList","formatInitialValue","FilePreviewReadOnly","label","id","type","value","initialValue","selectedFiles","setSelectedFiles","client","getFiles","offset","ids","data","files","newFiles","query","variables","where","_in","skip","length","fetchPolicy","orderedFiles","orderFiles","map","currentId","find","fileId","filter","Boolean","createElement","Fragment","className","propTypes","string","isRequired","oneOfType","array","defaultProps"],"sources":["../../../src/components/FilePreviewReadOnly/FilePreviewReadOnly.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { useApolloClient } from '@apollo/client';\nimport { getQuery } from '@blaze-cms/admin-ui-utils';\nimport FileList from './FileList';\nimport { formatInitialValue } from './mappers';\n\nconst FilePreviewReadOnly = ({ label, id, type, value }) => {\n const initialValue = formatInitialValue({ value, type });\n const [selectedFiles, setSelectedFiles] = useState([]);\n const client = useApolloClient();\n\n const getFiles = async (offset, ids) => {\n const {\n data: { files: newFiles }\n } = await client.query({\n query: getQuery('GET_FILES'),\n variables: {\n offset,\n where: {\n id: {\n _in: ids\n }\n }\n },\n skip: !initialValue.length,\n fetchPolicy: 'network-only'\n });\n return newFiles;\n };\n\n useEffect(\n () => {\n (async () => {\n const files = await getFiles(0, initialValue);\n const orderedFiles = orderFiles(files, initialValue);\n setSelectedFiles(orderedFiles);\n })();\n },\n [] //eslint-disable-line\n );\n\n const orderFiles = (files, ids) =>\n ids.map(currentId => files.find(({ id: fileId }) => fileId === currentId)).filter(Boolean);\n\n return (\n <>\n <div className=\"form-field form-field--button\">\n <label>{label}</label>\n {selectedFiles && (\n <>\n <FileList selectedFiles={selectedFiles} />\n </>\n )}\n </div>\n </>\n );\n};\n\nFilePreviewReadOnly.propTypes = {\n label: PropTypes.string.isRequired,\n id: PropTypes.string.isRequired,\n type: PropTypes.string.isRequired,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.array])\n};\n\nFilePreviewReadOnly.defaultProps = {\n value: ''\n};\n\nexport default FilePreviewReadOnly;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,QAAQ,EAAEC,SAAS,QAAQ,OAAO;AAClD,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,eAAe,QAAQ,gBAAgB;AAChD,SAASC,QAAQ,QAAQ,2BAA2B;AACpD,OAAOC,QAAQ,MAAM,YAAY;AACjC,SAASC,kBAAkB,QAAQ,WAAW;AAE9C,MAAMC,mBAAmB,GAAGA,CAAC;EAAEC,KAAK;EAAEC,EAAE;EAAEC,IAAI;EAAEC;AAAM,CAAC,KAAK;EAC1D,MAAMC,YAAY,GAAGN,kBAAkB,CAAC;IAAEK,KAAK;IAAED;EAAK,CAAC,CAAC;EACxD,MAAM,CAACG,aAAa,EAAEC,gBAAgB,CAAC,GAAGd,QAAQ,CAAC,EAAE,CAAC;EACtD,MAAMe,MAAM,GAAGZ,eAAe,CAAC,CAAC;EAEhC,MAAMa,QAAQ,GAAG,MAAAA,CAAOC,MAAM,EAAEC,GAAG,KAAK;IACtC,MAAM;MACJC,IAAI,EAAE;QAAEC,KAAK,EAAEC;MAAS;IAC1B,CAAC,GAAG,MAAMN,MAAM,CAACO,KAAK,CAAC;MACrBA,KAAK,EAAElB,QAAQ,CAAC,WAAW,CAAC;MAC5BmB,SAAS,EAAE;QACTN,MAAM;QACNO,KAAK,EAAE;UACLf,EAAE,EAAE;YACFgB,GAAG,EAAEP;UACP;QACF;MACF,CAAC;MACDQ,IAAI,EAAE,CAACd,YAAY,CAACe,MAAM;MAC1BC,WAAW,EAAE;IACf,CAAC,CAAC;IACF,OAAOP,QAAQ;EACjB,CAAC;EAEDpB,SAAS,CACP,MAAM;IACJ,CAAC,YAAY;MACX,MAAMmB,KAAK,GAAG,MAAMJ,QAAQ,CAAC,CAAC,EAAEJ,YAAY,CAAC;MAC7C,MAAMiB,YAAY,GAAGC,UAAU,CAACV,KAAK,EAAER,YAAY,CAAC;MACpDE,gBAAgB,CAACe,YAAY,CAAC;IAChC,CAAC,EAAE,CAAC;EACN,CAAC,EACD,EAAE,CAAC;EACL,CAAC;EAED,MAAMC,UAAU,GAAGA,CAACV,KAAK,EAAEF,GAAG,KAC5BA,GAAG,CAACa,GAAG,CAACC,SAAS,IAAIZ,KAAK,CAACa,IAAI,CAAC,CAAC;IAAExB,EAAE,EAAEyB;EAAO,CAAC,KAAKA,MAAM,KAAKF,SAAS,CAAC,CAAC,CAACG,MAAM,CAACC,OAAO,CAAC;EAE5F,oBACErC,KAAA,CAAAsC,aAAA,CAAAtC,KAAA,CAAAuC,QAAA,qBACEvC,KAAA,CAAAsC,aAAA;IAAKE,SAAS,EAAC;EAA+B,gBAC5CxC,KAAA,CAAAsC,aAAA,gBAAQ7B,KAAa,CAAC,EACrBK,aAAa,iBACZd,KAAA,CAAAsC,aAAA,CAAAtC,KAAA,CAAAuC,QAAA,qBACEvC,KAAA,CAAAsC,aAAA,CAAChC,QAAQ;IAACQ,aAAa,EAAEA;EAAc,CAAE,CACzC,CAED,CACL,CAAC;AAEP,CAAC;AAEDN,mBAAmB,CAACiC,SAAS,GAAG;EAC9BhC,KAAK,EAAEN,SAAS,CAACuC,MAAM,CAACC,UAAU;EAClCjC,EAAE,EAAEP,SAAS,CAACuC,MAAM,CAACC,UAAU;EAC/BhC,IAAI,EAAER,SAAS,CAACuC,MAAM,CAACC,UAAU;EACjC/B,KAAK,EAAET,SAAS,CAACyC,SAAS,CAAC,CAACzC,SAAS,CAACuC,MAAM,EAAEvC,SAAS,CAAC0C,KAAK,CAAC;AAChE,CAAC;AAEDrC,mBAAmB,CAACsC,YAAY,GAAG;EACjClC,KAAK,EAAE;AACT,CAAC;AAED,eAAeJ,mBAAmB","ignoreList":[]}
@@ -0,0 +1,3 @@
1
+ import FilePreviewReadOnly from './FilePreviewReadOnly';
2
+ export default FilePreviewReadOnly;
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["FilePreviewReadOnly"],"sources":["../../../src/components/FilePreviewReadOnly/index.js"],"sourcesContent":["import FilePreviewReadOnly from './FilePreviewReadOnly';\n\nexport default FilePreviewReadOnly;\n"],"mappings":"AAAA,OAAOA,mBAAmB,MAAM,uBAAuB;AAEvD,eAAeA,mBAAmB","ignoreList":[]}
@@ -0,0 +1,11 @@
1
+ const formatInitialValue = ({
2
+ value,
3
+ type
4
+ }) => {
5
+ const parsedValue = value && type === 'array' ? value : [value];
6
+ const existValue = parsedValue.filter(Boolean).length;
7
+ if (!parsedValue || !existValue) return [];
8
+ return parsedValue;
9
+ };
10
+ export { formatInitialValue };
11
+ //# sourceMappingURL=format-initial-value.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format-initial-value.js","names":["formatInitialValue","value","type","parsedValue","existValue","filter","Boolean","length"],"sources":["../../../../src/components/FilePreviewReadOnly/mappers/format-initial-value.js"],"sourcesContent":["const formatInitialValue = ({ value, type }) => {\n const parsedValue = value && type === 'array' ? value : [value];\n const existValue = parsedValue.filter(Boolean).length;\n if (!parsedValue || !existValue) return [];\n return parsedValue;\n};\n\nexport { formatInitialValue };\n"],"mappings":"AAAA,MAAMA,kBAAkB,GAAGA,CAAC;EAAEC,KAAK;EAAEC;AAAK,CAAC,KAAK;EAC9C,MAAMC,WAAW,GAAGF,KAAK,IAAIC,IAAI,KAAK,OAAO,GAAGD,KAAK,GAAG,CAACA,KAAK,CAAC;EAC/D,MAAMG,UAAU,GAAGD,WAAW,CAACE,MAAM,CAACC,OAAO,CAAC,CAACC,MAAM;EACrD,IAAI,CAACJ,WAAW,IAAI,CAACC,UAAU,EAAE,OAAO,EAAE;EAC1C,OAAOD,WAAW;AACpB,CAAC;AAED,SAASH,kBAAkB","ignoreList":[]}
@@ -0,0 +1,3 @@
1
+ import { formatInitialValue } from './format-initial-value';
2
+ export { formatInitialValue };
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["formatInitialValue"],"sources":["../../../../src/components/FilePreviewReadOnly/mappers/index.js"],"sourcesContent":["import { formatInitialValue } from './format-initial-value';\n\nexport { formatInitialValue };\n"],"mappings":"AAAA,SAASA,kBAAkB,QAAQ,wBAAwB;AAE3D,SAASA,kBAAkB","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"FileList.js","names":["React","useState","useEffect","PropTypes","Button","FilePreviewList","FileReorderList","PREVIEW","REORDER","IMAGES","FileList","selectedFiles","allFiles","handleReorderFiles","canDragAndDrop","fetchMore","children","isReorderActive","setIsReorderActive","toggleMode","length","totalImagesString","createElement","Fragment","className","onClick","propTypes","array","isRequired","func","bool","oneOfType","object","string","defaultProps"],"sources":["../../../src/components/FileUploadAdapter/FileList.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport Button from '@blaze-react/button';\nimport FilePreviewList from './FilePreviewList';\nimport FileReorderList from './FileReorderList';\nimport { PREVIEW, REORDER, IMAGES } from '../../constants';\n\nconst FileList = ({\n selectedFiles,\n allFiles,\n handleReorderFiles,\n canDragAndDrop,\n fetchMore,\n children\n}) => {\n const [isReorderActive, setIsReorderActive] = useState(false);\n const toggleMode = () => {\n fetchMore(true);\n setIsReorderActive(!isReorderActive);\n };\n\n useEffect(\n () => {\n if (isReorderActive && selectedFiles.length > allFiles.length) fetchMore(true);\n },\n [selectedFiles] //eslint-disable-line\n );\n const totalImagesString = `${selectedFiles.length} ${IMAGES}`;\n\n return (\n <>\n <div className=\"FileUploadAdapter__header\">\n {selectedFiles.length > 1 && (\n <p className=\"FileUploadAdapter FileUploadAdapter__preview-counter\">\n {totalImagesString}\n </p>\n )}\n {canDragAndDrop && (\n <Button onClick={toggleMode}>{isReorderActive ? PREVIEW : REORDER}</Button>\n )}\n </div>\n\n {canDragAndDrop && isReorderActive ? (\n <FileReorderList selectedFiles={selectedFiles} handleReorderFiles={handleReorderFiles} />\n ) : (\n <FilePreviewList selectedFiles={selectedFiles}>{children}</FilePreviewList>\n )}\n </>\n );\n};\n\nFileList.propTypes = {\n selectedFiles: PropTypes.array.isRequired,\n fetchMore: PropTypes.func.isRequired,\n handleReorderFiles: PropTypes.func.isRequired,\n allFiles: PropTypes.array,\n canDragAndDrop: PropTypes.bool,\n children: PropTypes.oneOfType([PropTypes.array, PropTypes.object, PropTypes.string])\n};\n\nFileList.defaultProps = {\n children: [],\n allFiles: [],\n canDragAndDrop: false\n};\n\nexport default FileList;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,QAAQ,EAAEC,SAAS,QAAQ,OAAO;AAClD,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,MAAM,MAAM,qBAAqB;AACxC,OAAOC,eAAe,MAAM,mBAAmB;AAC/C,OAAOC,eAAe,MAAM,mBAAmB;AAC/C,SAASC,OAAO,EAAEC,OAAO,EAAEC,MAAM,QAAQ,iBAAiB;AAE1D,MAAMC,QAAQ,GAAGA,CAAC;EAChBC,aAAa;EACbC,QAAQ;EACRC,kBAAkB;EAClBC,cAAc;EACdC,SAAS;EACTC;AACF,CAAC,KAAK;EACJ,MAAM,CAACC,eAAe,EAAEC,kBAAkB,CAAC,GAAGjB,QAAQ,CAAC,KAAK,CAAC;EAC7D,MAAMkB,UAAU,GAAGA,CAAA,KAAM;IACvBJ,SAAS,CAAC,IAAI,CAAC;IACfG,kBAAkB,CAAC,CAACD,eAAe,CAAC;EACtC,CAAC;EAEDf,SAAS,CACP,MAAM;IACJ,IAAIe,eAAe,IAAIN,aAAa,CAACS,MAAM,GAAGR,QAAQ,CAACQ,MAAM,EAAEL,SAAS,CAAC,IAAI,CAAC;EAChF,CAAC,EACD,CAACJ,aAAa,CAAC,CAAC;EAClB,CAAC;EACD,MAAMU,iBAAiB,GAAI,GAAEV,aAAa,CAACS,MAAO,IAAGX,MAAO,EAAC;EAE7D,oBACET,KAAA,CAAAsB,aAAA,CAAAtB,KAAA,CAAAuB,QAAA,qBACEvB,KAAA,CAAAsB,aAAA;IAAKE,SAAS,EAAC;EAA2B,GACvCb,aAAa,CAACS,MAAM,GAAG,CAAC,iBACvBpB,KAAA,CAAAsB,aAAA;IAAGE,SAAS,EAAC;EAAsD,GAChEH,iBACA,CACJ,EACAP,cAAc,iBACbd,KAAA,CAAAsB,aAAA,CAAClB,MAAM;IAACqB,OAAO,EAAEN;EAAW,GAAEF,eAAe,GAAGV,OAAO,GAAGC,OAAgB,CAEzE,CAAC,EAELM,cAAc,IAAIG,eAAe,gBAChCjB,KAAA,CAAAsB,aAAA,CAAChB,eAAe;IAACK,aAAa,EAAEA,aAAc;IAACE,kBAAkB,EAAEA;EAAmB,CAAE,CAAC,gBAEzFb,KAAA,CAAAsB,aAAA,CAACjB,eAAe;IAACM,aAAa,EAAEA;EAAc,GAAEK,QAA0B,CAE5E,CAAC;AAEP,CAAC;AAEDN,QAAQ,CAACgB,SAAS,GAAG;EACnBf,aAAa,EAAER,SAAS,CAACwB,KAAK,CAACC,UAAU;EACzCb,SAAS,EAAEZ,SAAS,CAAC0B,IAAI,CAACD,UAAU;EACpCf,kBAAkB,EAAEV,SAAS,CAAC0B,IAAI,CAACD,UAAU;EAC7ChB,QAAQ,EAAET,SAAS,CAACwB,KAAK;EACzBb,cAAc,EAAEX,SAAS,CAAC2B,IAAI;EAC9Bd,QAAQ,EAAEb,SAAS,CAAC4B,SAAS,CAAC,CAAC5B,SAAS,CAACwB,KAAK,EAAExB,SAAS,CAAC6B,MAAM,EAAE7B,SAAS,CAAC8B,MAAM,CAAC;AACrF,CAAC;AAEDvB,QAAQ,CAACwB,YAAY,GAAG;EACtBlB,QAAQ,EAAE,EAAE;EACZJ,QAAQ,EAAE,EAAE;EACZE,cAAc,EAAE;AAClB,CAAC;AAED,eAAeJ,QAAQ","ignoreList":[]}
1
+ {"version":3,"file":"FileList.js","names":["React","useState","useEffect","PropTypes","Button","FilePreviewList","FileReorderList","PREVIEW","REORDER","IMAGES","FileList","selectedFiles","allFiles","handleReorderFiles","canDragAndDrop","fetchMore","children","isReorderActive","setIsReorderActive","toggleMode","length","totalImagesString","createElement","Fragment","className","onClick","propTypes","array","isRequired","func","bool","oneOfType","object","string","defaultProps"],"sources":["../../../src/components/FileUploadAdapter/FileList.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport Button from '@blaze-react/button';\nimport FilePreviewList from './FilePreviewList';\nimport FileReorderList from './FileReorderList';\nimport { PREVIEW, REORDER, IMAGES } from '../../constants';\n\nconst FileList = ({\n selectedFiles,\n allFiles,\n handleReorderFiles,\n canDragAndDrop,\n fetchMore,\n children\n}) => {\n const [isReorderActive, setIsReorderActive] = useState(false);\n const toggleMode = () => {\n fetchMore(true);\n setIsReorderActive(!isReorderActive);\n };\n\n useEffect(\n () => {\n if (isReorderActive && selectedFiles.length > allFiles.length) fetchMore(true);\n },\n [selectedFiles] //eslint-disable-line\n );\n const totalImagesString = `${selectedFiles.length} ${IMAGES}`;\n\n return (\n <>\n <div className=\"FileUploadAdapter__header\">\n {selectedFiles.length > 1 && (\n <p className=\"FileUploadAdapter FileUploadAdapter__preview-counter\">\n {totalImagesString}\n </p>\n )}\n {canDragAndDrop && (\n <Button onClick={toggleMode}>{isReorderActive ? PREVIEW : REORDER}</Button>\n )}\n </div>\n\n {canDragAndDrop && isReorderActive ? (\n <FileReorderList selectedFiles={selectedFiles} handleReorderFiles={handleReorderFiles} />\n ) : (\n <FilePreviewList selectedFiles={selectedFiles}>{children}</FilePreviewList>\n )}\n </>\n );\n};\n\nFileList.propTypes = {\n selectedFiles: PropTypes.array.isRequired,\n fetchMore: PropTypes.func.isRequired,\n handleReorderFiles: PropTypes.func.isRequired,\n allFiles: PropTypes.array,\n canDragAndDrop: PropTypes.bool,\n children: PropTypes.oneOfType([PropTypes.array, PropTypes.object, PropTypes.string])\n};\n\nFileList.defaultProps = {\n children: [],\n allFiles: [],\n canDragAndDrop: false\n};\n\nexport default FileList;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,QAAQ,EAAEC,SAAS,QAAQ,OAAO;AAClD,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,MAAM,MAAM,qBAAqB;AACxC,OAAOC,eAAe,MAAM,mBAAmB;AAC/C,OAAOC,eAAe,MAAM,mBAAmB;AAC/C,SAASC,OAAO,EAAEC,OAAO,EAAEC,MAAM,QAAQ,iBAAiB;AAE1D,MAAMC,QAAQ,GAAGA,CAAC;EAChBC,aAAa;EACbC,QAAQ;EACRC,kBAAkB;EAClBC,cAAc;EACdC,SAAS;EACTC;AACF,CAAC,KAAK;EACJ,MAAM,CAACC,eAAe,EAAEC,kBAAkB,CAAC,GAAGjB,QAAQ,CAAC,KAAK,CAAC;EAC7D,MAAMkB,UAAU,GAAGA,CAAA,KAAM;IACvBJ,SAAS,CAAC,IAAI,CAAC;IACfG,kBAAkB,CAAC,CAACD,eAAe,CAAC;EACtC,CAAC;EAEDf,SAAS,CACP,MAAM;IACJ,IAAIe,eAAe,IAAIN,aAAa,CAACS,MAAM,GAAGR,QAAQ,CAACQ,MAAM,EAAEL,SAAS,CAAC,IAAI,CAAC;EAChF,CAAC,EACD,CAACJ,aAAa,CAAC,CAAC;EAClB,CAAC;EACD,MAAMU,iBAAiB,GAAG,GAAGV,aAAa,CAACS,MAAM,IAAIX,MAAM,EAAE;EAE7D,oBACET,KAAA,CAAAsB,aAAA,CAAAtB,KAAA,CAAAuB,QAAA,qBACEvB,KAAA,CAAAsB,aAAA;IAAKE,SAAS,EAAC;EAA2B,GACvCb,aAAa,CAACS,MAAM,GAAG,CAAC,iBACvBpB,KAAA,CAAAsB,aAAA;IAAGE,SAAS,EAAC;EAAsD,GAChEH,iBACA,CACJ,EACAP,cAAc,iBACbd,KAAA,CAAAsB,aAAA,CAAClB,MAAM;IAACqB,OAAO,EAAEN;EAAW,GAAEF,eAAe,GAAGV,OAAO,GAAGC,OAAgB,CAEzE,CAAC,EAELM,cAAc,IAAIG,eAAe,gBAChCjB,KAAA,CAAAsB,aAAA,CAAChB,eAAe;IAACK,aAAa,EAAEA,aAAc;IAACE,kBAAkB,EAAEA;EAAmB,CAAE,CAAC,gBAEzFb,KAAA,CAAAsB,aAAA,CAACjB,eAAe;IAACM,aAAa,EAAEA;EAAc,GAAEK,QAA0B,CAE5E,CAAC;AAEP,CAAC;AAEDN,QAAQ,CAACgB,SAAS,GAAG;EACnBf,aAAa,EAAER,SAAS,CAACwB,KAAK,CAACC,UAAU;EACzCb,SAAS,EAAEZ,SAAS,CAAC0B,IAAI,CAACD,UAAU;EACpCf,kBAAkB,EAAEV,SAAS,CAAC0B,IAAI,CAACD,UAAU;EAC7ChB,QAAQ,EAAET,SAAS,CAACwB,KAAK;EACzBb,cAAc,EAAEX,SAAS,CAAC2B,IAAI;EAC9Bd,QAAQ,EAAEb,SAAS,CAAC4B,SAAS,CAAC,CAAC5B,SAAS,CAACwB,KAAK,EAAExB,SAAS,CAAC6B,MAAM,EAAE7B,SAAS,CAAC8B,MAAM,CAAC;AACrF,CAAC;AAEDvB,QAAQ,CAACwB,YAAY,GAAG;EACtBlB,QAAQ,EAAE,EAAE;EACZJ,QAAQ,EAAE,EAAE;EACZE,cAAc,EAAE;AAClB,CAAC;AAED,eAAeJ,QAAQ","ignoreList":[]}
@@ -23,13 +23,16 @@ const FileUploadAdapter = ({
23
23
  value,
24
24
  maxItems,
25
25
  shouldRenderInPreview,
26
- canDragAndDrop
26
+ canDragAndDrop,
27
+ simpleLayout,
28
+ previewAllFiles
27
29
  }) => {
28
30
  const {
29
31
  InjectPreview
30
32
  } = useContext(FileUploadAdapter.FormContext);
31
33
  const [currentLimit] = useLimit(maxItems);
32
34
  const [displayModal, setDisplayModal] = useState(false);
35
+ const [displayFileUploadModal, setDisplayFileUploadModal] = useState(false);
33
36
  const initialValue = formatInitialValue({
34
37
  value,
35
38
  type
@@ -42,7 +45,7 @@ const FileUploadAdapter = ({
42
45
  const {
43
46
  addToast
44
47
  } = useToasts();
45
- const getFiles = async (offset, ids, fetchAll) => {
48
+ const getFiles = async (offset, ids, fetchAll = previewAllFiles) => {
46
49
  const {
47
50
  data: {
48
51
  files: newFiles
@@ -65,7 +68,7 @@ const FileUploadAdapter = ({
65
68
  };
66
69
  useEffect(() => {
67
70
  (async () => {
68
- const initialFiles = !selectedFiles.length ? currentValue.filter((_, i) => i <= 3) : currentValue;
71
+ const initialFiles = !selectedFiles.length && !previewAllFiles ? currentValue.filter((_, i) => i <= 3) : currentValue;
69
72
  const files = await getFiles(0, initialFiles);
70
73
  const orderedFiles = orderFiles(files, currentValue);
71
74
  setCurrentOffset(0);
@@ -127,10 +130,16 @@ const FileUploadAdapter = ({
127
130
  value: parsedValue
128
131
  });
129
132
  };
130
- const closeModalAndSetValue = isSaving => {
133
+ const closeModalAndSetValue = (isSaving, values, toastMessage) => {
134
+ if (toastMessage) {
135
+ addToast(toastMessage, {
136
+ appearance: 'success',
137
+ autoDismiss: true
138
+ });
139
+ }
131
140
  if (isSaving) {
132
141
  const parsedValue = getFormat(type, {
133
- filesIds: currentValue
142
+ filesIds: simpleLayout ? values : currentValue
134
143
  });
135
144
  setDisplayModal(false);
136
145
  return onChange({
@@ -152,7 +161,7 @@ const FileUploadAdapter = ({
152
161
  maxItems,
153
162
  value: initialValue
154
163
  });
155
- const filesPending = getNumberFilesPendingToFetch(currentOffset, currentValue);
164
+ const filesPending = previewAllFiles ? 0 : getNumberFilesPendingToFetch(currentOffset, currentValue);
156
165
  const onOpenLibrary = () => setDisplayModal(true);
157
166
  const handleEditModal = file => {
158
167
  const selectedEditFile = selectedFiles.find(({
@@ -290,7 +299,13 @@ const FileUploadAdapter = ({
290
299
  fetchMore: fetchMore
291
300
  }))), /*#__PURE__*/React.createElement(FileUpload, {
292
301
  actionText: fileUploadButtonText,
293
- handleLibraryClick: onOpenLibrary,
302
+ handleLibraryClick: () => {
303
+ if (simpleLayout) {
304
+ setDisplayFileUploadModal(true);
305
+ } else {
306
+ onOpenLibrary();
307
+ }
308
+ },
294
309
  enableDragAndDrop: false
295
310
  })), editFile && /*#__PURE__*/React.createElement(Modal, {
296
311
  actions: editModalActions,
@@ -302,7 +317,17 @@ const FileUploadAdapter = ({
302
317
  handleFormChange: handleEditFileForm,
303
318
  displayForm: true,
304
319
  previewType: "card"
305
- })), displayModal && /*#__PURE__*/React.createElement("div", {
320
+ })), displayFileUploadModal && simpleLayout && /*#__PURE__*/React.createElement("div", {
321
+ className: "file-upload-modal-wrapper"
322
+ }, /*#__PURE__*/React.createElement(ListingContainer, {
323
+ displayFileUploadModal: displayFileUploadModal,
324
+ closeModalAndSetValue: closeModalAndSetValue,
325
+ setDisplayFileUploadModal: setDisplayFileUploadModal,
326
+ handleSelectedFiles: handleSelectedFiles,
327
+ maxItems: currentLimit,
328
+ simpleLayout: simpleLayout,
329
+ filesSelected: currentValue.length > 1 ? currentValue : []
330
+ })), displayModal && !simpleLayout && /*#__PURE__*/React.createElement("div", {
306
331
  className: "file-upload-modal-wrapper"
307
332
  }, /*#__PURE__*/React.createElement(Modal, {
308
333
  actions: modalActions,
@@ -310,6 +335,9 @@ const FileUploadAdapter = ({
310
335
  title: "Media library",
311
336
  onClose: () => closeModalAndSetValue()
312
337
  }, /*#__PURE__*/React.createElement(ListingContainer, {
338
+ closeModalAndSetValue: closeModalAndSetValue,
339
+ displayFileUploadModal: displayFileUploadModal,
340
+ setDisplayFileUploadModal: setDisplayFileUploadModal,
313
341
  handleSelectedFiles: handleSelectedFiles,
314
342
  maxItems: currentLimit,
315
343
  filesSelected: currentValue.length > 1 ? currentValue : []
@@ -323,13 +351,17 @@ FileUploadAdapter.propTypes = {
323
351
  value: PropTypes.oneOfType([PropTypes.string, PropTypes.array]),
324
352
  maxItems: PropTypes.oneOfType([PropTypes.number, PropTypes.bool]),
325
353
  shouldRenderInPreview: PropTypes.bool,
326
- canDragAndDrop: PropTypes.bool
354
+ canDragAndDrop: PropTypes.bool,
355
+ simpleLayout: PropTypes.bool,
356
+ previewAllFiles: PropTypes.bool
327
357
  };
328
358
  FileUploadAdapter.defaultProps = {
329
359
  value: '',
330
360
  maxItems: false,
331
361
  shouldRenderInPreview: false,
332
- canDragAndDrop: false
362
+ canDragAndDrop: false,
363
+ simpleLayout: false,
364
+ previewAllFiles: false
333
365
  };
334
366
  export default FileUploadAdapter;
335
367
  //# sourceMappingURL=FileUploadAdapter.js.map