@blaze-cms/plugin-media-ui 0.146.0-core-styles.41 → 0.146.0-core-styles.45

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 (60) hide show
  1. package/CHANGELOG.md +8 -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 +1 -1
  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/FilePreviewReadOnly.js +3 -3
  20. package/lib/components/FilePreviewReadOnly/FilePreviewReadOnly.js.map +1 -1
  21. package/lib/components/FileUploadAdapter/FileList.js +1 -1
  22. package/lib/components/FileUploadAdapter/FileList.js.map +1 -1
  23. package/lib/components/FileUploadAdapter/FileReorderList.js.map +1 -1
  24. package/lib/components/FileUploadAdapter/FileUploadAdapter.js +19 -15
  25. package/lib/components/FileUploadAdapter/FileUploadAdapter.js.map +1 -1
  26. package/lib/components/FileUploadAdapter/mappers/get-button-text.js +7 -3
  27. package/lib/components/FileUploadAdapter/mappers/get-button-text.js.map +1 -1
  28. package/lib/components/FileUploadModal/FileUploadModal.js +3 -3
  29. package/lib/components/FileUploadModal/FileUploadModal.js.map +1 -1
  30. package/lib/components/FilterPanel/FilterPanel.js +1 -1
  31. package/lib/components/FilterPanel/FilterPanel.js.map +1 -1
  32. package/lib/components/ListingContainer/Listing/Listing.js.map +1 -1
  33. package/lib/components/ListingContainer/Listing/MediaListing/MediaFileList/MediaFileList.js +1 -1
  34. package/lib/components/ListingContainer/Listing/MediaListing/MediaFileList/MediaFileList.js.map +1 -1
  35. package/lib/components/ListingContainer/Listing/MediaListing/MediaListing.js +1 -1
  36. package/lib/components/ListingContainer/Listing/MediaListing/MediaListing.js.map +1 -1
  37. package/lib/components/ListingContainer/ListingContainer.js +1 -1
  38. package/lib/components/ListingContainer/ListingContainer.js.map +1 -1
  39. package/lib/components/MediaListing.js +1 -1
  40. package/lib/components/MediaListing.js.map +1 -1
  41. package/lib/index.js +5 -5
  42. package/lib/index.js.map +1 -1
  43. package/lib-es/components/CardMedia/CardMedia.js +2 -2
  44. package/lib-es/components/CardMedia/CardMedia.js.map +1 -1
  45. package/lib-es/components/EditMediaFile/EditMediaFilePage.js.map +1 -1
  46. package/lib-es/components/FileList/useGetFiles/getFiles.js.map +1 -1
  47. package/lib-es/components/FilePreview/Actions/index.js.map +1 -1
  48. package/lib-es/components/FileUploadAdapter/FileList.js.map +1 -1
  49. package/lib-es/components/FileUploadAdapter/FileUploadAdapter.js +8 -4
  50. package/lib-es/components/FileUploadAdapter/FileUploadAdapter.js.map +1 -1
  51. package/lib-es/components/FileUploadAdapter/mappers/get-button-text.js +5 -3
  52. package/lib-es/components/FileUploadAdapter/mappers/get-button-text.js.map +1 -1
  53. package/lib-es/components/FileUploadModal/FileUploadModal.js.map +1 -1
  54. package/lib-es/components/FilterPanel/FilterPanel.js.map +1 -1
  55. package/lib-es/components/ListingContainer/Listing/MediaListing/MediaFileList/MediaFileList.js.map +1 -1
  56. package/lib-es/index.js +3 -3
  57. package/lib-es/index.js.map +1 -1
  58. package/package.json +5 -5
  59. package/src/components/FileUploadAdapter/FileUploadAdapter.js +7 -4
  60. package/src/components/FileUploadAdapter/mappers/get-button-text.js +4 -3
@@ -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 {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,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,CACN,EACAN,cAAc,iBACbP,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,CAEJ,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":[]}
@@ -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":[]}
@@ -25,7 +25,8 @@ const FileUploadAdapter = ({
25
25
  shouldRenderInPreview,
26
26
  canDragAndDrop,
27
27
  simpleLayout,
28
- previewAllFiles
28
+ previewAllFiles,
29
+ fileType
29
30
  }) => {
30
31
  const {
31
32
  InjectPreview
@@ -159,7 +160,8 @@ const FileUploadAdapter = ({
159
160
  };
160
161
  const fileUploadButtonText = getButtonText({
161
162
  maxItems,
162
- value: initialValue
163
+ value: initialValue,
164
+ fileType
163
165
  });
164
166
  const filesPending = previewAllFiles ? 0 : getNumberFilesPendingToFetch(currentOffset, currentValue);
165
167
  const onOpenLibrary = () => setDisplayModal(true);
@@ -353,7 +355,8 @@ FileUploadAdapter.propTypes = {
353
355
  shouldRenderInPreview: PropTypes.bool,
354
356
  canDragAndDrop: PropTypes.bool,
355
357
  simpleLayout: PropTypes.bool,
356
- previewAllFiles: PropTypes.bool
358
+ previewAllFiles: PropTypes.bool,
359
+ fileType: PropTypes.string
357
360
  };
358
361
  FileUploadAdapter.defaultProps = {
359
362
  value: '',
@@ -361,7 +364,8 @@ FileUploadAdapter.defaultProps = {
361
364
  shouldRenderInPreview: false,
362
365
  canDragAndDrop: false,
363
366
  simpleLayout: false,
364
- previewAllFiles: false
367
+ previewAllFiles: false,
368
+ fileType: 'file'
365
369
  };
366
370
  export default FileUploadAdapter;
367
371
  //# sourceMappingURL=FileUploadAdapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FileUploadAdapter.js","names":["React","useState","useContext","useEffect","FileUpload","PropTypes","useApolloClient","getQuery","getMutation","ModalAdapter","Modal","parseFormValues","useToasts","MORE","ListingContainer","MediaContextProvider","FileList","useLimit","getFormat","formatInitialValue","transformToArray","isUnselecting","getButtonText","getNumberFilesPendingToFetch","FilePreview","FileUploadAdapter","onChange","label","id","type","value","maxItems","shouldRenderInPreview","canDragAndDrop","simpleLayout","previewAllFiles","InjectPreview","FormContext","currentLimit","displayModal","setDisplayModal","displayFileUploadModal","setDisplayFileUploadModal","initialValue","currentValue","setCurrentValue","currentOffset","setCurrentOffset","selectedFiles","setSelectedFiles","editFile","setEditFile","client","addToast","getFiles","offset","ids","fetchAll","data","files","newFiles","query","variables","limit","where","_in","skip","length","fetchPolicy","initialFiles","filter","_","i","orderedFiles","orderFiles","fetchMore","shouldFetchAll","newOffset","updatedOffset","offsetToUse","handleSelectedFiles","checkIsUnselecting","isUnselectingFile","valueArray","selectedFilesIds","valueId","includes","parsedValue","filesIds","event","target","name","fileData","handleReorderFiles","map","fileId","closeModalAndSetValue","isSaving","values","toastMessage","appearance","autoDismiss","fileUploadButtonText","filesPending","onOpenLibrary","handleEditModal","file","selectedEditFile","find","_id","handleEditFileForm","editedFile","valuesChecked","altText","caption","credits","hrefUrl","_objectSpread","currentId","Boolean","modalActions","textButton","callback","modifiers","editModalActions","editedFileId","updatedSelectedFiles","selectedFile","mutate","mutation","input","update","cache","updateFile","fileUpdated","writeQuery","result","e","console","error","filesPendingString","fileListSpan","createElement","className","onClick","Fragment","onUnselectFile","selector","previewerId","allFiles","actionText","handleLibraryClick","enableDragAndDrop","actions","title","onClose","fileName","handleFormChange","displayForm","previewType","filesSelected","propTypes","func","isRequired","string","oneOfType","array","number","bool","defaultProps"],"sources":["../../../src/components/FileUploadAdapter/FileUploadAdapter.js"],"sourcesContent":["import React, { useState, useContext, useEffect } from 'react';\nimport FileUpload from '@blaze-react/file-upload';\nimport PropTypes from 'prop-types';\nimport { useApolloClient } from '@apollo/client';\nimport { getQuery, getMutation, ModalAdapter as Modal } from '@blaze-cms/admin-ui-utils';\nimport { parseFormValues } from '@blaze-cms/react-form-builder';\nimport { useToasts } from '@blaze-react/toaster';\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 previewAllFiles\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 [currentOffset, setCurrentOffset] = useState(0);\n const [selectedFiles, setSelectedFiles] = useState([]);\n const [editFile, setEditFile] = useState(null);\n const client = useApolloClient();\n const { addToast } = useToasts();\n\n const getFiles = async (offset, ids, fetchAll = 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 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 setCurrentOffset(0);\n setSelectedFiles(orderedFiles);\n })();\n },\n [currentValue] //eslint-disable-line\n );\n\n const fetchMore = async shouldFetchAll => {\n if (selectedFiles.length === currentValue.length) return;\n const newOffset = currentOffset + 4;\n const updatedOffset = newOffset > currentValue.length ? currentValue.length : newOffset;\n const offsetToUse = shouldFetchAll ? 0 : updatedOffset;\n const files = await getFiles(offsetToUse, currentValue, shouldFetchAll);\n const newFiles = [...selectedFiles, ...files];\n const orderedFiles = orderFiles(newFiles, currentValue);\n setSelectedFiles(orderedFiles);\n setCurrentOffset(newOffset);\n };\n\n const handleSelectedFiles = (files, checkIsUnselecting = true) => {\n const isUnselectingFile = isUnselecting(value, checkIsUnselecting, files);\n if (isUnselectingFile) {\n const valueArray = transformToArray(value);\n const selectedFilesIds = valueArray.filter(valueId => !files.includes(valueId));\n const parsedValue = getFormat(type, { filesIds: selectedFilesIds });\n setCurrentValue(selectedFilesIds);\n return onChange({\n event: {\n target: {\n value: parsedValue,\n name: id,\n type,\n fileData: selectedFilesIds.length ? selectedFilesIds : null\n }\n },\n value: parsedValue\n });\n }\n\n setCurrentValue(files);\n };\n\n const handleReorderFiles = files => {\n const filesIds = files.map(({ id: fileId }) => fileId);\n const parsedValue = getFormat(type, { filesIds });\n setSelectedFiles(files);\n\n return onChange({\n event: {\n target: {\n value: parsedValue,\n name: id,\n type,\n fileData: filesIds\n }\n },\n value: parsedValue\n });\n };\n\n const closeModalAndSetValue = (isSaving, 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 });\n\n const filesPending = previewAllFiles\n ? 0\n : getNumberFilesPendingToFetch(currentOffset, currentValue);\n const onOpenLibrary = () => setDisplayModal(true);\n const handleEditModal = file => {\n const selectedEditFile = selectedFiles.find(({ id: _id }) => _id === file.id);\n setEditFile(selectedEditFile);\n };\n\n const handleEditFileForm = editedFile => {\n const values = parseFormValues(editedFile.valuesChecked);\n\n const { altText, caption, credits, hrefUrl, name } = values;\n setEditFile({\n ...editFile,\n name,\n data: {\n altText,\n caption,\n credits,\n hrefUrl\n }\n });\n };\n\n const orderFiles = (files, ids) =>\n ids.map(currentId => files.find(({ id: fileId }) => fileId === currentId)).filter(Boolean);\n\n const modalActions = [\n {\n textButton: 'Cancel',\n callback: () => {\n closeModalAndSetValue();\n },\n modifiers: ['cancel']\n },\n {\n textButton: 'Save',\n callback: () => {\n closeModalAndSetValue(true);\n },\n modifiers: []\n }\n ];\n\n const editModalActions = [\n {\n textButton: 'Cancel',\n callback: () => {\n setEditFile(null);\n },\n modifiers: ['cancel']\n },\n {\n textButton: 'Save',\n callback: async () => {\n const { name, id: editedFileId, data } = editFile;\n const updatedSelectedFiles = selectedFiles.map(selectedFile => {\n if (selectedFile.id === editedFileId) {\n return { ...selectedFile, name, data };\n }\n return selectedFile;\n });\n setSelectedFiles(updatedSelectedFiles);\n\n try {\n await client.mutate({\n mutation: getMutation('UPDATE_FILE'),\n variables: {\n input: {\n name,\n data,\n id: editedFileId\n }\n },\n update(\n cache,\n {\n data: { updateFile: fileUpdated }\n }\n ) {\n cache.writeQuery({\n query: getQuery('GET_FILE_BY_ID'),\n variables: { id },\n data: { file: fileUpdated.result }\n });\n }\n });\n\n addToast(`File: ${editFile.name} has been updated`, {\n appearance: 'success',\n autoDismiss: true\n });\n closeModalAndSetValue(true);\n setEditFile(null);\n } catch (e) {\n addToast(`File: ${editFile.name} has not been updated`, {\n appearance: 'error',\n autoDismiss: true\n });\n console.error(e); //eslint-disable-line\n }\n },\n modifiers: []\n }\n ];\n const filesPendingString = `${filesPending} ${MORE}`;\n const fileListSpan = filesPending ? (\n // eslint-disable-next-line jsx-a11y/no-static-element-interactions\n <span className=\"FileUploadAdapter__preview-link button button--link\" onClick={fetchMore}>\n + {filesPendingString}\n </span>\n ) : null;\n\n return (\n <>\n <div className=\"form-field form-field--button\">\n <label>{label}</label>\n {selectedFiles && (\n <>\n <MediaContextProvider value={{ handleEditModal, onUnselectFile: handleSelectedFiles }}>\n {shouldRenderInPreview ? (\n <InjectPreview selector={FileUploadAdapter.previewerId}>\n <FileList\n selectedFiles={selectedFiles}\n allFiles={currentValue}\n handleReorderFiles={handleReorderFiles}\n canDragAndDrop={canDragAndDrop}\n fetchMore={fetchMore}>\n {fileListSpan}\n </FileList>\n </InjectPreview>\n ) : (\n <FileList\n selectedFiles={selectedFiles}\n handleReorderFiles={handleReorderFiles}\n fetchMore={fetchMore}\n />\n )}\n </MediaContextProvider>\n </>\n )}\n <FileUpload\n actionText={fileUploadButtonText}\n handleLibraryClick={() => {\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 />\n </Modal>\n )}\n\n {displayFileUploadModal &&\n 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 />\n </div>\n )}\n\n {displayModal &&\n !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 />\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};\n\nFileUploadAdapter.defaultProps = {\n value: '',\n maxItems: false,\n shouldRenderInPreview: false,\n canDragAndDrop: false,\n simpleLayout: false,\n previewAllFiles: false\n};\n\nexport default FileUploadAdapter;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"FileUploadAdapter.js","names":["React","useState","useContext","useEffect","FileUpload","PropTypes","useApolloClient","getQuery","getMutation","ModalAdapter","Modal","parseFormValues","useToasts","MORE","ListingContainer","MediaContextProvider","FileList","useLimit","getFormat","formatInitialValue","transformToArray","isUnselecting","getButtonText","getNumberFilesPendingToFetch","FilePreview","FileUploadAdapter","onChange","label","id","type","value","maxItems","shouldRenderInPreview","canDragAndDrop","simpleLayout","previewAllFiles","fileType","InjectPreview","FormContext","currentLimit","displayModal","setDisplayModal","displayFileUploadModal","setDisplayFileUploadModal","initialValue","currentValue","setCurrentValue","currentOffset","setCurrentOffset","selectedFiles","setSelectedFiles","editFile","setEditFile","client","addToast","getFiles","offset","ids","fetchAll","data","files","newFiles","query","variables","limit","where","_in","skip","length","fetchPolicy","initialFiles","filter","_","i","orderedFiles","orderFiles","fetchMore","shouldFetchAll","newOffset","updatedOffset","offsetToUse","handleSelectedFiles","checkIsUnselecting","isUnselectingFile","valueArray","selectedFilesIds","valueId","includes","parsedValue","filesIds","event","target","name","fileData","handleReorderFiles","map","fileId","closeModalAndSetValue","isSaving","values","toastMessage","appearance","autoDismiss","fileUploadButtonText","filesPending","onOpenLibrary","handleEditModal","file","selectedEditFile","find","_id","handleEditFileForm","editedFile","valuesChecked","altText","caption","credits","hrefUrl","_objectSpread","currentId","Boolean","modalActions","textButton","callback","modifiers","editModalActions","editedFileId","updatedSelectedFiles","selectedFile","mutate","mutation","input","update","cache","updateFile","fileUpdated","writeQuery","result","e","console","error","filesPendingString","fileListSpan","createElement","className","onClick","Fragment","onUnselectFile","selector","previewerId","allFiles","actionText","handleLibraryClick","enableDragAndDrop","actions","title","onClose","fileName","handleFormChange","displayForm","previewType","filesSelected","propTypes","func","isRequired","string","oneOfType","array","number","bool","defaultProps"],"sources":["../../../src/components/FileUploadAdapter/FileUploadAdapter.js"],"sourcesContent":["import React, { useState, useContext, useEffect } from 'react';\nimport FileUpload from '@blaze-react/file-upload';\nimport PropTypes from 'prop-types';\nimport { useApolloClient } from '@apollo/client';\nimport { getQuery, getMutation, ModalAdapter as Modal } from '@blaze-cms/admin-ui-utils';\nimport { parseFormValues } from '@blaze-cms/react-form-builder';\nimport { useToasts } from '@blaze-react/toaster';\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 previewAllFiles,\n fileType\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 [currentOffset, setCurrentOffset] = useState(0);\n const [selectedFiles, setSelectedFiles] = useState([]);\n const [editFile, setEditFile] = useState(null);\n const client = useApolloClient();\n const { addToast } = useToasts();\n\n const getFiles = async (offset, ids, fetchAll = 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 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 setCurrentOffset(0);\n setSelectedFiles(orderedFiles);\n })();\n },\n [currentValue] //eslint-disable-line\n );\n\n const fetchMore = async shouldFetchAll => {\n if (selectedFiles.length === currentValue.length) return;\n const newOffset = currentOffset + 4;\n const updatedOffset = newOffset > currentValue.length ? currentValue.length : newOffset;\n const offsetToUse = shouldFetchAll ? 0 : updatedOffset;\n const files = await getFiles(offsetToUse, currentValue, shouldFetchAll);\n const newFiles = [...selectedFiles, ...files];\n const orderedFiles = orderFiles(newFiles, currentValue);\n setSelectedFiles(orderedFiles);\n setCurrentOffset(newOffset);\n };\n\n const handleSelectedFiles = (files, checkIsUnselecting = true) => {\n const isUnselectingFile = isUnselecting(value, checkIsUnselecting, files);\n if (isUnselectingFile) {\n const valueArray = transformToArray(value);\n const selectedFilesIds = valueArray.filter(valueId => !files.includes(valueId));\n const parsedValue = getFormat(type, { filesIds: selectedFilesIds });\n setCurrentValue(selectedFilesIds);\n return onChange({\n event: {\n target: {\n value: parsedValue,\n name: id,\n type,\n fileData: selectedFilesIds.length ? selectedFilesIds : null\n }\n },\n value: parsedValue\n });\n }\n\n setCurrentValue(files);\n };\n\n const handleReorderFiles = files => {\n const filesIds = files.map(({ id: fileId }) => fileId);\n const parsedValue = getFormat(type, { filesIds });\n setSelectedFiles(files);\n\n return onChange({\n event: {\n target: {\n value: parsedValue,\n name: id,\n type,\n fileData: filesIds\n }\n },\n value: parsedValue\n });\n };\n\n const closeModalAndSetValue = (isSaving, 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(currentOffset, currentValue);\n const onOpenLibrary = () => setDisplayModal(true);\n const handleEditModal = file => {\n const selectedEditFile = selectedFiles.find(({ id: _id }) => _id === file.id);\n setEditFile(selectedEditFile);\n };\n\n const handleEditFileForm = editedFile => {\n const values = parseFormValues(editedFile.valuesChecked);\n\n const { altText, caption, credits, hrefUrl, name } = values;\n setEditFile({\n ...editFile,\n name,\n data: {\n altText,\n caption,\n credits,\n hrefUrl\n }\n });\n };\n\n const orderFiles = (files, ids) =>\n ids.map(currentId => files.find(({ id: fileId }) => fileId === currentId)).filter(Boolean);\n\n const modalActions = [\n {\n textButton: 'Cancel',\n callback: () => {\n closeModalAndSetValue();\n },\n modifiers: ['cancel']\n },\n {\n textButton: 'Save',\n callback: () => {\n closeModalAndSetValue(true);\n },\n modifiers: []\n }\n ];\n\n const editModalActions = [\n {\n textButton: 'Cancel',\n callback: () => {\n setEditFile(null);\n },\n modifiers: ['cancel']\n },\n {\n textButton: 'Save',\n callback: async () => {\n const { name, id: editedFileId, data } = editFile;\n const updatedSelectedFiles = selectedFiles.map(selectedFile => {\n if (selectedFile.id === editedFileId) {\n return { ...selectedFile, name, data };\n }\n return selectedFile;\n });\n setSelectedFiles(updatedSelectedFiles);\n\n try {\n await client.mutate({\n mutation: getMutation('UPDATE_FILE'),\n variables: {\n input: {\n name,\n data,\n id: editedFileId\n }\n },\n update(\n cache,\n {\n data: { updateFile: fileUpdated }\n }\n ) {\n cache.writeQuery({\n query: getQuery('GET_FILE_BY_ID'),\n variables: { id },\n data: { file: fileUpdated.result }\n });\n }\n });\n\n addToast(`File: ${editFile.name} has been updated`, {\n appearance: 'success',\n autoDismiss: true\n });\n closeModalAndSetValue(true);\n setEditFile(null);\n } catch (e) {\n addToast(`File: ${editFile.name} has not been updated`, {\n appearance: 'error',\n autoDismiss: true\n });\n console.error(e); //eslint-disable-line\n }\n },\n modifiers: []\n }\n ];\n const filesPendingString = `${filesPending} ${MORE}`;\n const fileListSpan = filesPending ? (\n // eslint-disable-next-line jsx-a11y/no-static-element-interactions\n <span className=\"FileUploadAdapter__preview-link button button--link\" onClick={fetchMore}>\n + {filesPendingString}\n </span>\n ) : null;\n\n return (\n <>\n <div className=\"form-field form-field--button\">\n <label>{label}</label>\n {selectedFiles && (\n <>\n <MediaContextProvider value={{ handleEditModal, onUnselectFile: handleSelectedFiles }}>\n {shouldRenderInPreview ? (\n <InjectPreview selector={FileUploadAdapter.previewerId}>\n <FileList\n selectedFiles={selectedFiles}\n allFiles={currentValue}\n handleReorderFiles={handleReorderFiles}\n canDragAndDrop={canDragAndDrop}\n fetchMore={fetchMore}>\n {fileListSpan}\n </FileList>\n </InjectPreview>\n ) : (\n <FileList\n selectedFiles={selectedFiles}\n handleReorderFiles={handleReorderFiles}\n fetchMore={fetchMore}\n />\n )}\n </MediaContextProvider>\n </>\n )}\n <FileUpload\n actionText={fileUploadButtonText}\n handleLibraryClick={() => {\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 />\n </Modal>\n )}\n\n {displayFileUploadModal &&\n 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 />\n </div>\n )}\n\n {displayModal &&\n !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 />\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 fileType: PropTypes.string\n};\n\nFileUploadAdapter.defaultProps = {\n value: '',\n maxItems: false,\n shouldRenderInPreview: false,\n canDragAndDrop: false,\n simpleLayout: false,\n previewAllFiles: false,\n fileType: 'file'\n};\n\nexport default FileUploadAdapter;\n"],"mappings":"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","ignoreList":[]}
@@ -1,9 +1,11 @@
1
1
  const getButtonText = ({
2
2
  maxItems,
3
- value
3
+ value,
4
+ fileType = 'file'
4
5
  }) => {
5
- const fileLabel = maxItems > 1 ? 'Add File/s' : 'Add file';
6
- return value && value.length ? 'Change file' : fileLabel;
6
+ const pluralSuffix = maxItems > 1 ? 's' : '';
7
+ const fileLabel = `Add ${fileType}${pluralSuffix}`;
8
+ return value && value.length > 0 ? `Change ${fileType}${pluralSuffix}` : fileLabel;
7
9
  };
8
10
  export { getButtonText };
9
11
  //# sourceMappingURL=get-button-text.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-button-text.js","names":["getButtonText","maxItems","value","fileLabel","length"],"sources":["../../../../src/components/FileUploadAdapter/mappers/get-button-text.js"],"sourcesContent":["const getButtonText = ({ maxItems, value }) => {\n const fileLabel = maxItems > 1 ? 'Add File/s' : 'Add file';\n return value && value.length ? 'Change file' : fileLabel;\n};\n\nexport { getButtonText };\n"],"mappings":"AAAA,MAAMA,aAAa,GAAGA,CAAC;EAAEC,QAAQ;EAAEC;AAAM,CAAC,KAAK;EAC7C,MAAMC,SAAS,GAAGF,QAAQ,GAAG,CAAC,GAAG,YAAY,GAAG,UAAU;EAC1D,OAAOC,KAAK,IAAIA,KAAK,CAACE,MAAM,GAAG,aAAa,GAAGD,SAAS;AAC1D,CAAC;AAED,SAASH,aAAa","ignoreList":[]}
1
+ {"version":3,"file":"get-button-text.js","names":["getButtonText","maxItems","value","fileType","pluralSuffix","fileLabel","length"],"sources":["../../../../src/components/FileUploadAdapter/mappers/get-button-text.js"],"sourcesContent":["const getButtonText = ({ maxItems, value, fileType = 'file' }) => {\n const pluralSuffix = maxItems > 1 ? 's' : '';\n const fileLabel = `Add ${fileType}${pluralSuffix}`;\n return value && value.length > 0 ? `Change ${fileType}${pluralSuffix}` : fileLabel;\n};\n\nexport { getButtonText };\n"],"mappings":"AAAA,MAAMA,aAAa,GAAGA,CAAC;EAAEC,QAAQ;EAAEC,KAAK;EAAEC,QAAQ,GAAG;AAAO,CAAC,KAAK;EAChE,MAAMC,YAAY,GAAGH,QAAQ,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE;EAC5C,MAAMI,SAAS,GAAG,OAAOF,QAAQ,GAAGC,YAAY,EAAE;EAClD,OAAOF,KAAK,IAAIA,KAAK,CAACI,MAAM,GAAG,CAAC,GAAG,UAAUH,QAAQ,GAAGC,YAAY,EAAE,GAAGC,SAAS;AACpF,CAAC;AAED,SAASL,aAAa","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"FileUploadModal.js","names":["React","useState","ModalAdapter","Modal","getMutation","getQuery","FileUpload","PropTypes","useToasts","useApolloClient","useQuery","useFileList","FileUploadModal","onClose","getSelectedFiles","closeModalAndSetValue","simpleLayout","files","setFiles","addToast","client","addNewFile","fileStoresType","data","getFileStores","storeType","variables","visibleInAdmin","handleFiles","filesToUpload","uploadFiles","response","Promise","all","map","file","name","fileData","storeKey","mutate","mutation","input","filename","catch","error","message","appearance","autoDismiss","parsedResponse","result","fileNames","toastMessage","join","filesToSelect","id","handleOnSave","length","storeOptions","type","key","createElement","Fragment","title","actions","textButton","callback","modifiers","upload","onChange","selectOptions","propTypes","func","isRequired","bool","defaultProps"],"sources":["../../../src/components/FileUploadModal/FileUploadModal.js"],"sourcesContent":["import React, { useState } from 'react';\nimport { ModalAdapter as Modal, getMutation, getQuery } from '@blaze-cms/admin-ui-utils';\nimport FileUpload from '@blaze-react/file-upload';\nimport PropTypes from 'prop-types';\nimport { useToasts } from '@blaze-react/toaster';\nimport { useApolloClient, useQuery } from '@apollo/client';\nimport useFileList from '../FileList/useFileList';\n\nconst FileUploadModal = ({ onClose, getSelectedFiles, closeModalAndSetValue, simpleLayout }) => {\n const [files, setFiles] = useState([]);\n const { addToast } = useToasts();\n const client = useApolloClient();\n const { addNewFile } = useFileList();\n\n const fileStoresType = getQuery('GET_FILE_STORES');\n\n const { data: { getFileStores: storeType = [] } = {} } = useQuery(fileStoresType, {\n variables: { visibleInAdmin: true }\n });\n\n const handleFiles = filesToUpload => {\n setFiles(filesToUpload);\n };\n\n const uploadFiles = async () => {\n const response = await Promise.all(\n files.map(({ file, name, data: fileData, storeKey }) =>\n client.mutate({\n mutation: getMutation('UPLOAD_FILE'),\n variables: {\n input: {\n file,\n name: name || file.filename,\n storeKey,\n data: fileData\n }\n }\n })\n )\n ).catch(error => {\n addToast(error.message, {\n appearance: 'error',\n autoDismiss: true\n });\n });\n\n const parsedResponse = response.map(({ data: { file } }) => file.result);\n\n const fileNames = files.map(({ file }) => file.name);\n addNewFile(parsedResponse);\n const toastMessage = `Uploaded: ${fileNames.join(', ')}`;\n\n if (simpleLayout) {\n const filesToSelect = parsedResponse.map(file => file.id);\n getSelectedFiles(null, filesToSelect);\n closeModalAndSetValue(simpleLayout, filesToSelect, toastMessage);\n return;\n }\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 const storeOptions = storeType.map(type => [type.key, type.name]);\n\n return (\n <>\n <Modal\n onClose={onClose}\n title=\"Add media\"\n actions={[\n {\n textButton: 'Cancel',\n callback: onClose,\n modifiers: ['cancel']\n },\n {\n textButton: 'Save',\n callback: handleOnSave,\n modifiers: []\n }\n ]}\n upload>\n <FileUpload onChange={handleFiles} selectOptions={storeOptions} />\n </Modal>\n </>\n );\n};\n\nFileUploadModal.propTypes = {\n getSelectedFiles: PropTypes.func.isRequired,\n onClose: PropTypes.func,\n simpleLayout: PropTypes.bool,\n closeModalAndSetValue: PropTypes.func\n};\n\nFileUploadModal.defaultProps = {\n onClose: () => {},\n closeModalAndSetValue: () => {},\n simpleLayout: false\n};\n\nexport default FileUploadModal;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"FileUploadModal.js","names":["React","useState","ModalAdapter","Modal","getMutation","getQuery","FileUpload","PropTypes","useToasts","useApolloClient","useQuery","useFileList","FileUploadModal","onClose","getSelectedFiles","closeModalAndSetValue","simpleLayout","files","setFiles","addToast","client","addNewFile","fileStoresType","data","getFileStores","storeType","variables","visibleInAdmin","handleFiles","filesToUpload","uploadFiles","response","Promise","all","map","file","name","fileData","storeKey","mutate","mutation","input","filename","catch","error","message","appearance","autoDismiss","parsedResponse","result","fileNames","toastMessage","join","filesToSelect","id","handleOnSave","length","storeOptions","type","key","createElement","Fragment","title","actions","textButton","callback","modifiers","upload","onChange","selectOptions","propTypes","func","isRequired","bool","defaultProps"],"sources":["../../../src/components/FileUploadModal/FileUploadModal.js"],"sourcesContent":["import React, { useState } from 'react';\nimport { ModalAdapter as Modal, getMutation, getQuery } from '@blaze-cms/admin-ui-utils';\nimport FileUpload from '@blaze-react/file-upload';\nimport PropTypes from 'prop-types';\nimport { useToasts } from '@blaze-react/toaster';\nimport { useApolloClient, useQuery } from '@apollo/client';\nimport useFileList from '../FileList/useFileList';\n\nconst FileUploadModal = ({ onClose, getSelectedFiles, closeModalAndSetValue, simpleLayout }) => {\n const [files, setFiles] = useState([]);\n const { addToast } = useToasts();\n const client = useApolloClient();\n const { addNewFile } = useFileList();\n\n const fileStoresType = getQuery('GET_FILE_STORES');\n\n const { data: { getFileStores: storeType = [] } = {} } = useQuery(fileStoresType, {\n variables: { visibleInAdmin: true }\n });\n\n const handleFiles = filesToUpload => {\n setFiles(filesToUpload);\n };\n\n const uploadFiles = async () => {\n const response = await Promise.all(\n files.map(({ file, name, data: fileData, storeKey }) =>\n client.mutate({\n mutation: getMutation('UPLOAD_FILE'),\n variables: {\n input: {\n file,\n name: name || file.filename,\n storeKey,\n data: fileData\n }\n }\n })\n )\n ).catch(error => {\n addToast(error.message, {\n appearance: 'error',\n autoDismiss: true\n });\n });\n\n const parsedResponse = response.map(({ data: { file } }) => file.result);\n\n const fileNames = files.map(({ file }) => file.name);\n addNewFile(parsedResponse);\n const toastMessage = `Uploaded: ${fileNames.join(', ')}`;\n\n if (simpleLayout) {\n const filesToSelect = parsedResponse.map(file => file.id);\n getSelectedFiles(null, filesToSelect);\n closeModalAndSetValue(simpleLayout, filesToSelect, toastMessage);\n return;\n }\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 const storeOptions = storeType.map(type => [type.key, type.name]);\n\n return (\n <>\n <Modal\n onClose={onClose}\n title=\"Add media\"\n actions={[\n {\n textButton: 'Cancel',\n callback: onClose,\n modifiers: ['cancel']\n },\n {\n textButton: 'Save',\n callback: handleOnSave,\n modifiers: []\n }\n ]}\n upload>\n <FileUpload onChange={handleFiles} selectOptions={storeOptions} />\n </Modal>\n </>\n );\n};\n\nFileUploadModal.propTypes = {\n getSelectedFiles: PropTypes.func.isRequired,\n onClose: PropTypes.func,\n simpleLayout: PropTypes.bool,\n closeModalAndSetValue: PropTypes.func\n};\n\nFileUploadModal.defaultProps = {\n onClose: () => {},\n closeModalAndSetValue: () => {},\n simpleLayout: false\n};\n\nexport default FileUploadModal;\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"FilterPanel.js","names":["React","useState","useEffect","SearchBar","classnames","Select","useMediaContext","MediaContext","useFileList","FilterPanel","searchTerm","setSearchTerm","filters","selectedFilter","changeSelectedFilter","fileStores","queryParams","data","active","setActive","id","handleSearchTerm","target","value","storeKey","onChangeFilter","filter","isSearch","handleKeyDown","key","trim","onSelectFilter","activeSegements","reduce","acc","index","activeBarSegment","storeOptions","map","type","name","createElement","className","label","onClick","defaultTextValue","options","onChange","selected","search","placeholder","close"],"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 } = useMediaContext(\n MediaContext\n );\n const { queryParams, data } = useFileList();\n const [active, setActive] = useState(filters[0].id);\n\n useEffect(\n () => {\n if (queryParams.searchTerm === null) {\n setSearchTerm('');\n }\n },\n [queryParams.searchTerm]\n );\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(\n ({ 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","useState","useEffect","SearchBar","classnames","Select","useMediaContext","MediaContext","useFileList","FilterPanel","searchTerm","setSearchTerm","filters","selectedFilter","changeSelectedFilter","fileStores","queryParams","data","active","setActive","id","handleSearchTerm","target","value","storeKey","onChangeFilter","filter","isSearch","handleKeyDown","key","trim","onSelectFilter","activeSegements","reduce","acc","index","activeBarSegment","storeOptions","map","type","name","createElement","className","label","onClick","defaultTextValue","options","onChange","selected","search","placeholder","close"],"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 } = useMediaContext(\n MediaContext\n );\n const { queryParams, data } = useFileList();\n const [active, setActive] = useState(filters[0].id);\n\n useEffect(\n () => {\n if (queryParams.searchTerm === null) {\n setSearchTerm('');\n }\n },\n [queryParams.searchTerm]\n );\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(\n ({ 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":"AAAA;AACA;AACA,OAAOA,KAAK,IAAIC,QAAQ,EAAEC,SAAS,QAAQ,OAAO;AAClD,SAASC,SAAS,QAAQ,6BAA6B;AACvD,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,MAAM,MAAM,qBAAqB;AACxC,SAASC,eAAe,EAAEC,YAAY,QAAQ,2BAA2B;AACzE,OAAOC,WAAW,MAAM,yBAAyB;AAEjD,MAAMC,WAAW,GAAGA,CAAA,KAAM;EACxB,MAAM,CAACC,UAAU,EAAEC,aAAa,CAAC,GAAGV,QAAQ,CAAC,EAAE,CAAC;EAChD,MAAM;IAAEW,OAAO;IAAEC,cAAc;IAAEC,oBAAoB;IAAEC;EAAW,CAAC,GAAGT,eAAe,CACnFC,YACF,CAAC;EACD,MAAM;IAAES,WAAW;IAAEC;EAAK,CAAC,GAAGT,WAAW,CAAC,CAAC;EAC3C,MAAM,CAACU,MAAM,EAAEC,SAAS,CAAC,GAAGlB,QAAQ,CAACW,OAAO,CAAC,CAAC,CAAC,CAACQ,EAAE,CAAC;EAEnDlB,SAAS,CACP,MAAM;IACJ,IAAIc,WAAW,CAACN,UAAU,KAAK,IAAI,EAAE;MACnCC,aAAa,CAAC,EAAE,CAAC;IACnB;EACF,CAAC,EACD,CAACK,WAAW,CAACN,UAAU,CACzB,CAAC;EAED,MAAMW,gBAAgB,GAAGA,CAAC;IAAEC,MAAM,EAAE;MAAEC;IAAM;EAAE,CAAC,KAAK;IAClDZ,aAAa,CAACY,KAAK,CAAC;EACtB,CAAC;EAED,MAAMC,QAAQ,GAAGX,cAAc,CAACW,QAAQ,IAAI,EAAE;EAE9C,MAAMC,cAAc,GAAGL,EAAE,IAAI;IAC3BD,SAAS,CAACC,EAAE,CAAC;IACbV,UAAU,GACNI,oBAAoB,CAAC;MACnBY,MAAM,EAAEN,EAAE;MACVO,QAAQ,EAAE,IAAI;MACdjB,UAAU;MACVc;IACF,CAAC,CAAC,GACFV,oBAAoB,CAAC;MACnBY,MAAM,EAAEN,EAAE;MACVO,QAAQ,EAAE,KAAK;MACfjB,UAAU,EAAE,IAAI;MAChBc;IACF,CAAC,CAAC;EACR,CAAC;EAED,MAAMI,aAAa,GAAGA,CAAC;IAAEC;EAAI,CAAC,KAAK;IACjC,IAAIA,GAAG,KAAK,OAAO,EAAE;MACnBnB,UAAU,GACNI,oBAAoB,CAAC;QACnBY,MAAM,EAAEb,cAAc,CAACa,MAAM;QAC7BC,QAAQ,EAAE,IAAI;QACdjB,UAAU,EAAEA,UAAU,CAACoB,IAAI,CAAC,CAAC;QAC7BN;MACF,CAAC,CAAC,GACFV,oBAAoB,CAAC;QACnBY,MAAM,EAAEb,cAAc,CAACa,MAAM;QAC7BC,QAAQ,EAAE,KAAK;QACfjB,UAAU,EAAE,IAAI;QAChBc;MACF,CAAC,CAAC;IACR;EACF,CAAC;EAED,MAAMO,cAAc,GAAGA,CAAC;IAAER;EAAM,CAAC,KAAK;IACpCb,UAAU,GACNI,oBAAoB,CAAC;MACnBY,MAAM,EAAEb,cAAc,CAACa,MAAM;MAC7BC,QAAQ,EAAE,IAAI;MACdjB,UAAU,EAAEA,UAAU,CAACoB,IAAI,CAAC,CAAC;MAC7BN,QAAQ,EAAED;IACZ,CAAC,CAAC,GACFT,oBAAoB,CAAC;MACnBY,MAAM,EAAEb,cAAc,CAACa,MAAM;MAC7BC,QAAQ,EAAE,KAAK;MACfjB,UAAU,EAAE,IAAI;MAChBc,QAAQ,EAAED;IACZ,CAAC,CAAC;EACR,CAAC;EAED,MAAMS,eAAe,GAAGpB,OAAO,CAACqB,MAAM,CAAC,CAACC,GAAG,EAAE;IAAEd;EAAG,CAAC,EAAEe,KAAK,KAAK;IAC7DD,GAAG,CAAC,UAAUC,KAAK,EAAE,CAAC,GAAGjB,MAAM,KAAKE,EAAE;IACtC,OAAOc,GAAG;EACZ,CAAC,EAAE,CAAC,CAAC,CAAC;EACN,MAAME,gBAAgB,GAAGhC,UAAU,CAAC,kCAAkC,EAAE4B,eAAe,CAAC;EACxF,MAAMK,YAAY,GAAG,CAACtB,UAAU,IAAI,EAAE,EAAEuB,GAAG,CAACC,IAAI,IAAI,CAACA,IAAI,CAACV,GAAG,EAAEU,IAAI,CAACC,IAAI,CAAC,CAAC;EAE1E,oBACExC,KAAA,CAAAyC,aAAA;IAAKC,SAAS,EAAC;EAAc,gBAC3B1C,KAAA,CAAAyC,aAAA;IAAKC,SAAS,EAAC;EAAuB,gBACpC1C,KAAA,CAAAyC,aAAA;IAAIC,SAAS,EAAC;EAAoB,GAC/B9B,OAAO,CAAC0B,GAAG,CACV,CAAC;IAAEK,KAAK;IAAEvB;EAAG,CAAC,KACZP,cAAc,CAACa,MAAM,KAAKN,EAAE,gBAC1BpB,KAAA,CAAAyC,aAAA;IAAIZ,GAAG,EAAEc,KAAM;IAACD,SAAS,EAAC;EAAyB,gBACjD1C,KAAA,CAAAyC,aAAA;IAAGG,OAAO,EAAEA,CAAA,KAAMnB,cAAc,CAACL,EAAE;EAAE,GAClCuB,KAAK,EAAC,IAAE,EAAC1B,IAAI,CAACG,EAAE,CAAC,EAAC,GAClB,CACD,CAAC,gBAELpB,KAAA,CAAAyC,aAAA;IAAIZ,GAAG,EAAEc,KAAM;IAACD,SAAS,EAAC;EAAgC,GACvDC,KAAK,EAAC,IAAE,EAAC1B,IAAI,CAACG,EAAE,CAAC,EAAC,GACjB,CAEV,CACE,CAAC,eACLpB,KAAA,CAAAyC,aAAA;IAAKC,SAAS,EAAC;EAA0B,gBACvC1C,KAAA,CAAAyC,aAAA;IAAKC,SAAS,EAAEN;EAAiB,CAAE,CAChC,CACF,CAAC,eACNpC,KAAA,CAAAyC,aAAA;IAAKC,SAAS,EAAC;EAAgC,gBAC7C1C,KAAA,CAAAyC,aAAA;IAAKC,SAAS,EAAC;EAAiB,gBAC9B1C,KAAA,CAAAyC,aAAA,CAACpC,MAAM;IACLmC,IAAI,EAAC,QAAQ;IACbK,gBAAgB,EAAC,KAAK;IACtBC,OAAO,EAAET,YAAa;IACtBU,QAAQ,EAAEhB,cAAe;IACzBiB,QAAQ,EAAEnC,cAAc,CAACW;EAAS,CACnC,CACE,CAAC,eACNxB,KAAA,CAAAyC,aAAA,CAACtC,SAAS;IACR8C,MAAM,EAAEA,CAAA,KACNnC,oBAAoB,CAAC;MACnBY,MAAM,EAAEb,cAAc,CAACa,MAAM;MAC7BC,QAAQ,EAAE,IAAI;MACdjB,UAAU;MACVc,QAAQ,EAAEX,cAAc,CAACW;IAC3B,CAAC,CACF;IACDI,aAAa,EAAEA,aAAc;IAC7BlB,UAAU,EAAEA,UAAW;IACvBW,gBAAgB,EAAEA,gBAAiB;IACnC6B,WAAW,EAAC,qBAAqB;IACjCC,KAAK,EAAE;EAAM,CACd,CACE,CACF,CAAC;AAEV,CAAC;AAED,eAAe1C,WAAW","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"MediaFileList.js","names":["React","useState","useEffect","PropTypes","CardPrompt","Button","VirtualList","useMediaContext","MediaContext","CardMedia","existPrevious","useFileList","MEDIA_LIST_ITEM_SIZE","MEDIA_OVER_SCAN_COUNT","AVAILABLE_FILTER_TYPES","MediaFileList","displayCardPrompt","setDisplayCardPrompt","displayLayout","wrapperRef","modalTargetRef","currentListIndex","setCurrentListIndex","verifiedRanges","setVerifiedRanges","listHeight","setListHeight","queryParams","data","loading","setQueryParams","clearList","removeFile","updateFile","onClickPrompt","getSelectedFiles","selectedFiles","selectedFilter","hasFiles","files","length","where","_objectSpread","filter","storeKey","isSearch","searchTerm","handleRenderedItems","startIndex","rowsLength","loadIndex","Math","floor","includes","offset","handleListHeight","current","clientHeight","window","addEventListener","removeEventListener","searchedTerm","createElement","Fragment","className","width","height","itemCount","itemSize","overscanCount","scrollToIndex","onItemsRendered","renderItem","index","style","name","url","mimetype","id","isSelected","key","latestQueryToRefetchParams","onSelected","selected","onClick","propTypes","func","isRequired","bool","string","object","defaultProps"],"sources":["../../../../../../src/components/ListingContainer/Listing/MediaListing/MediaFileList/MediaFileList.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { CardPrompt } from '@blaze-cms/admin';\nimport Button from '@blaze-react/button';\nimport VirtualList from 'react-tiny-virtual-list';\nimport { useMediaContext, MediaContext } from '../../../../../utils/media-context';\nimport CardMedia from '../../../../CardMedia';\nimport { existPrevious } from '../../../mappers';\nimport useFileList from '../../../../FileList/useFileList';\nimport {\n MEDIA_LIST_ITEM_SIZE,\n MEDIA_OVER_SCAN_COUNT,\n AVAILABLE_FILTER_TYPES\n} from '../../../../../constants';\n\nconst MediaFileList = ({\n displayCardPrompt,\n setDisplayCardPrompt,\n displayLayout,\n wrapperRef,\n modalTargetRef\n}) => {\n const [currentListIndex, setCurrentListIndex] = useState(1);\n const [verifiedRanges, setVerifiedRanges] = useState([]);\n const [listHeight, setListHeight] = useState(null);\n const {\n queryParams,\n data,\n loading,\n setQueryParams,\n clearList,\n removeFile,\n updateFile\n } = useFileList();\n\n const { onClickPrompt, getSelectedFiles, selectedFiles, selectedFilter } = useMediaContext(\n MediaContext\n );\n\n const hasFiles = !!data.files && !!data.files.length;\n\n useEffect(\n () => {\n if (!loading && !hasFiles) setDisplayCardPrompt(true);\n },\n [loading, hasFiles, setDisplayCardPrompt]\n );\n\n useEffect(\n () => {\n setVerifiedRanges([]);\n setCurrentListIndex(0);\n setQueryParams({\n where: {\n ...AVAILABLE_FILTER_TYPES[selectedFilter.filter],\n storeKey: selectedFilter.storeKey\n },\n isSearch: selectedFilter.isSearch,\n searchTerm: selectedFilter.searchTerm\n });\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n selectedFilter.filter,\n selectedFilter.storeKey,\n selectedFilter.isSearch,\n selectedFilter.searchTerm\n ]\n );\n\n const handleRenderedItems = ({ startIndex }) => {\n const rowsLength = data.files.length;\n const loadIndex = Math.floor(rowsLength / 3) - MEDIA_OVER_SCAN_COUNT;\n\n if (loadIndex > 0 && loadIndex < startIndex && !verifiedRanges.includes(loadIndex)) {\n setQueryParams({\n offset: data.files.length,\n where: {\n ...AVAILABLE_FILTER_TYPES[selectedFilter.filter],\n storeKey: selectedFilter.storeKey\n },\n isSearch: selectedFilter.isSearch,\n searchTerm: selectedFilter.searchTerm\n });\n setVerifiedRanges([...verifiedRanges, loadIndex]);\n setCurrentListIndex(startIndex + MEDIA_OVER_SCAN_COUNT);\n }\n };\n\n useEffect(\n () => {\n const handleListHeight = () => {\n setListHeight(wrapperRef.current.clientHeight - 40);\n };\n\n if (wrapperRef.current) {\n handleListHeight();\n window.addEventListener('resize', handleListHeight);\n }\n return () => {\n window.removeEventListener('resize', handleListHeight);\n };\n },\n [listHeight, wrapperRef]\n );\n\n const searchedTerm = queryParams.searchTerm && `${queryParams.searchTerm} -`;\n\n return (\n <>\n {hasFiles && (\n <>\n <p className=\"media__fileList-counter\">\n {searchedTerm} {data[selectedFilter.filter]} items\n </p>\n <VirtualList\n width=\"100%\"\n height={listHeight}\n itemCount={data.files.length}\n itemSize={MEDIA_LIST_ITEM_SIZE}\n overscanCount={MEDIA_OVER_SCAN_COUNT}\n scrollToIndex={currentListIndex}\n onItemsRendered={handleRenderedItems}\n renderItem={({ index, style }) => {\n const { name, url, mimetype, id } = data.files[index];\n const isSelected = existPrevious(selectedFiles, id);\n return (\n <div key={index} style={style} className=\"list__item--resultWrapper\">\n <CardMedia\n updateFile={updateFile}\n clearList={clearList}\n latestQueryToRefetchParams={queryParams}\n modalTargetRef={modalTargetRef}\n onSelected={getSelectedFiles}\n key={id}\n displayLayout={displayLayout}\n selected={!!isSelected}\n name={name}\n url={url}\n mimetype={mimetype}\n id={id}\n index={index}\n removeFile={removeFile}\n />\n </div>\n );\n }}\n />\n </>\n )}\n {displayCardPrompt && (\n <CardPrompt>\n <Button onClick={onClickPrompt} className=\"button button--rounded button--cta\">\n Add\n </Button>\n </CardPrompt>\n )}\n </>\n );\n};\n\nMediaFileList.propTypes = {\n setDisplayCardPrompt: PropTypes.func.isRequired,\n displayCardPrompt: PropTypes.bool,\n displayLayout: PropTypes.string.isRequired,\n wrapperRef: PropTypes.object.isRequired,\n modalTargetRef: PropTypes.object.isRequired\n};\n\nMediaFileList.defaultProps = {\n displayCardPrompt: true\n};\n\nexport default MediaFileList;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"MediaFileList.js","names":["React","useState","useEffect","PropTypes","CardPrompt","Button","VirtualList","useMediaContext","MediaContext","CardMedia","existPrevious","useFileList","MEDIA_LIST_ITEM_SIZE","MEDIA_OVER_SCAN_COUNT","AVAILABLE_FILTER_TYPES","MediaFileList","displayCardPrompt","setDisplayCardPrompt","displayLayout","wrapperRef","modalTargetRef","currentListIndex","setCurrentListIndex","verifiedRanges","setVerifiedRanges","listHeight","setListHeight","queryParams","data","loading","setQueryParams","clearList","removeFile","updateFile","onClickPrompt","getSelectedFiles","selectedFiles","selectedFilter","hasFiles","files","length","where","_objectSpread","filter","storeKey","isSearch","searchTerm","handleRenderedItems","startIndex","rowsLength","loadIndex","Math","floor","includes","offset","handleListHeight","current","clientHeight","window","addEventListener","removeEventListener","searchedTerm","createElement","Fragment","className","width","height","itemCount","itemSize","overscanCount","scrollToIndex","onItemsRendered","renderItem","index","style","name","url","mimetype","id","isSelected","key","latestQueryToRefetchParams","onSelected","selected","onClick","propTypes","func","isRequired","bool","string","object","defaultProps"],"sources":["../../../../../../src/components/ListingContainer/Listing/MediaListing/MediaFileList/MediaFileList.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { CardPrompt } from '@blaze-cms/admin';\nimport Button from '@blaze-react/button';\nimport VirtualList from 'react-tiny-virtual-list';\nimport { useMediaContext, MediaContext } from '../../../../../utils/media-context';\nimport CardMedia from '../../../../CardMedia';\nimport { existPrevious } from '../../../mappers';\nimport useFileList from '../../../../FileList/useFileList';\nimport {\n MEDIA_LIST_ITEM_SIZE,\n MEDIA_OVER_SCAN_COUNT,\n AVAILABLE_FILTER_TYPES\n} from '../../../../../constants';\n\nconst MediaFileList = ({\n displayCardPrompt,\n setDisplayCardPrompt,\n displayLayout,\n wrapperRef,\n modalTargetRef\n}) => {\n const [currentListIndex, setCurrentListIndex] = useState(1);\n const [verifiedRanges, setVerifiedRanges] = useState([]);\n const [listHeight, setListHeight] = useState(null);\n const {\n queryParams,\n data,\n loading,\n setQueryParams,\n clearList,\n removeFile,\n updateFile\n } = useFileList();\n\n const { onClickPrompt, getSelectedFiles, selectedFiles, selectedFilter } = useMediaContext(\n MediaContext\n );\n\n const hasFiles = !!data.files && !!data.files.length;\n\n useEffect(\n () => {\n if (!loading && !hasFiles) setDisplayCardPrompt(true);\n },\n [loading, hasFiles, setDisplayCardPrompt]\n );\n\n useEffect(\n () => {\n setVerifiedRanges([]);\n setCurrentListIndex(0);\n setQueryParams({\n where: {\n ...AVAILABLE_FILTER_TYPES[selectedFilter.filter],\n storeKey: selectedFilter.storeKey\n },\n isSearch: selectedFilter.isSearch,\n searchTerm: selectedFilter.searchTerm\n });\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n selectedFilter.filter,\n selectedFilter.storeKey,\n selectedFilter.isSearch,\n selectedFilter.searchTerm\n ]\n );\n\n const handleRenderedItems = ({ startIndex }) => {\n const rowsLength = data.files.length;\n const loadIndex = Math.floor(rowsLength / 3) - MEDIA_OVER_SCAN_COUNT;\n\n if (loadIndex > 0 && loadIndex < startIndex && !verifiedRanges.includes(loadIndex)) {\n setQueryParams({\n offset: data.files.length,\n where: {\n ...AVAILABLE_FILTER_TYPES[selectedFilter.filter],\n storeKey: selectedFilter.storeKey\n },\n isSearch: selectedFilter.isSearch,\n searchTerm: selectedFilter.searchTerm\n });\n setVerifiedRanges([...verifiedRanges, loadIndex]);\n setCurrentListIndex(startIndex + MEDIA_OVER_SCAN_COUNT);\n }\n };\n\n useEffect(\n () => {\n const handleListHeight = () => {\n setListHeight(wrapperRef.current.clientHeight - 40);\n };\n\n if (wrapperRef.current) {\n handleListHeight();\n window.addEventListener('resize', handleListHeight);\n }\n return () => {\n window.removeEventListener('resize', handleListHeight);\n };\n },\n [listHeight, wrapperRef]\n );\n\n const searchedTerm = queryParams.searchTerm && `${queryParams.searchTerm} -`;\n\n return (\n <>\n {hasFiles && (\n <>\n <p className=\"media__fileList-counter\">\n {searchedTerm} {data[selectedFilter.filter]} items\n </p>\n <VirtualList\n width=\"100%\"\n height={listHeight}\n itemCount={data.files.length}\n itemSize={MEDIA_LIST_ITEM_SIZE}\n overscanCount={MEDIA_OVER_SCAN_COUNT}\n scrollToIndex={currentListIndex}\n onItemsRendered={handleRenderedItems}\n renderItem={({ index, style }) => {\n const { name, url, mimetype, id } = data.files[index];\n const isSelected = existPrevious(selectedFiles, id);\n return (\n <div key={index} style={style} className=\"list__item--resultWrapper\">\n <CardMedia\n updateFile={updateFile}\n clearList={clearList}\n latestQueryToRefetchParams={queryParams}\n modalTargetRef={modalTargetRef}\n onSelected={getSelectedFiles}\n key={id}\n displayLayout={displayLayout}\n selected={!!isSelected}\n name={name}\n url={url}\n mimetype={mimetype}\n id={id}\n index={index}\n removeFile={removeFile}\n />\n </div>\n );\n }}\n />\n </>\n )}\n {displayCardPrompt && (\n <CardPrompt>\n <Button onClick={onClickPrompt} className=\"button button--rounded button--cta\">\n Add\n </Button>\n </CardPrompt>\n )}\n </>\n );\n};\n\nMediaFileList.propTypes = {\n setDisplayCardPrompt: PropTypes.func.isRequired,\n displayCardPrompt: PropTypes.bool,\n displayLayout: PropTypes.string.isRequired,\n wrapperRef: PropTypes.object.isRequired,\n modalTargetRef: PropTypes.object.isRequired\n};\n\nMediaFileList.defaultProps = {\n displayCardPrompt: true\n};\n\nexport default MediaFileList;\n"],"mappings":"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","ignoreList":[]}
package/lib-es/index.js CHANGED
@@ -4,9 +4,9 @@ import EditorAdapter from './components/EditorAdapter';
4
4
  import { MediaLibraryIcon } from './icons';
5
5
  import pkg from '../package.json';
6
6
  import { PLUGIN_NAME } from './constants';
7
- export const FilePreviewReadOnly = React.lazy(() => import( /* webpackChunkName: 'MediaFilePreviewReadOnly' */'./components/FilePreviewReadOnly'));
8
- const MediaListing = React.lazy(() => import( /* webpackChunkName: 'MediaListingContainer' */'./components/MediaListing'));
9
- const EditMediaFilePage = React.lazy(() => import( /* webpackChunkName: 'EditMediaFilePage' */'./components/EditMediaFile/EditMediaFilePage'));
7
+ export const FilePreviewReadOnly = React.lazy(() => import(/* webpackChunkName: 'MediaFilePreviewReadOnly' */'./components/FilePreviewReadOnly'));
8
+ const MediaListing = React.lazy(() => import(/* webpackChunkName: 'MediaListingContainer' */'./components/MediaListing'));
9
+ const EditMediaFilePage = React.lazy(() => import(/* webpackChunkName: 'EditMediaFilePage' */'./components/EditMediaFile/EditMediaFilePage'));
10
10
  export default async function load(app) {
11
11
  app.events.once('admin:menu:config:load', ({
12
12
  addConfig
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","FileUploadAdapter","EditorAdapter","MediaLibraryIcon","pkg","PLUGIN_NAME","FilePreviewReadOnly","lazy","MediaListing","EditMediaFilePage","load","app","events","once","addConfig","main","items","media","label","uri","icon","order","addFieldType","type","component","mediaRoute","path","key","exact","editMediaFileRoute","addRoute","name","version","pluginName"],"sources":["../src/index.js"],"sourcesContent":["import React from 'react';\nimport FileUploadAdapter from './components/FileUploadAdapter';\nimport EditorAdapter from './components/EditorAdapter';\nimport { MediaLibraryIcon } from './icons';\nimport pkg from '../package.json';\nimport { PLUGIN_NAME } from './constants';\n\nexport const FilePreviewReadOnly = React.lazy(() =>\n import(/* webpackChunkName: 'MediaFilePreviewReadOnly' */ './components/FilePreviewReadOnly')\n);\n\nconst MediaListing = React.lazy(() =>\n import(/* webpackChunkName: 'MediaListingContainer' */ './components/MediaListing')\n);\n\nconst EditMediaFilePage = React.lazy(() =>\n import(/* webpackChunkName: 'EditMediaFilePage' */ './components/EditMediaFile/EditMediaFilePage')\n);\nexport default async function load(app) {\n app.events.once('admin:menu:config:load', ({ addConfig }) => {\n addConfig({\n main: {\n items: {\n media: {\n label: 'Media',\n uri: '/media',\n icon: MediaLibraryIcon,\n order: 30\n }\n }\n }\n });\n });\n\n app.events.once('load:custom:field:type', addFieldType => {\n addFieldType({ type: 'fileUpload', component: FileUploadAdapter });\n addFieldType({ type: 'filePreview', component: FilePreviewReadOnly });\n addFieldType({ type: 'editor', component: EditorAdapter });\n });\n\n const mediaRoute = {\n path: '/media',\n key: 'media',\n component: MediaListing,\n exact: true\n };\n\n const editMediaFileRoute = {\n path: '/media/edit/:fileId',\n key: 'editMedia',\n component: EditMediaFilePage,\n exact: true\n };\n\n app.addRoute(mediaRoute);\n app.addRoute(editMediaFileRoute);\n\n return {\n name: PLUGIN_NAME,\n version: pkg.version\n };\n}\n\nload.pluginName = PLUGIN_NAME;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,iBAAiB,MAAM,gCAAgC;AAC9D,OAAOC,aAAa,MAAM,4BAA4B;AACtD,SAASC,gBAAgB,QAAQ,SAAS;AAC1C,OAAOC,GAAG,MAAM,iBAAiB;AACjC,SAASC,WAAW,QAAQ,aAAa;AAEzC,OAAO,MAAMC,mBAAmB,GAAGN,KAAK,CAACO,IAAI,CAAC,MAC5C,MAAM,EAAC,kDAAmD,kCAAkC,CAC9F,CAAC;AAED,MAAMC,YAAY,GAAGR,KAAK,CAACO,IAAI,CAAC,MAC9B,MAAM,EAAC,+CAAgD,2BAA2B,CACpF,CAAC;AAED,MAAME,iBAAiB,GAAGT,KAAK,CAACO,IAAI,CAAC,MACnC,MAAM,EAAC,2CAA4C,8CAA8C,CACnG,CAAC;AACD,eAAe,eAAeG,IAAIA,CAACC,GAAG,EAAE;EACtCA,GAAG,CAACC,MAAM,CAACC,IAAI,CAAC,wBAAwB,EAAE,CAAC;IAAEC;EAAU,CAAC,KAAK;IAC3DA,SAAS,CAAC;MACRC,IAAI,EAAE;QACJC,KAAK,EAAE;UACLC,KAAK,EAAE;YACLC,KAAK,EAAE,OAAO;YACdC,GAAG,EAAE,QAAQ;YACbC,IAAI,EAAEjB,gBAAgB;YACtBkB,KAAK,EAAE;UACT;QACF;MACF;IACF,CAAC,CAAC;EACJ,CAAC,CAAC;EAEFV,GAAG,CAACC,MAAM,CAACC,IAAI,CAAC,wBAAwB,EAAES,YAAY,IAAI;IACxDA,YAAY,CAAC;MAAEC,IAAI,EAAE,YAAY;MAAEC,SAAS,EAAEvB;IAAkB,CAAC,CAAC;IAClEqB,YAAY,CAAC;MAAEC,IAAI,EAAE,aAAa;MAAEC,SAAS,EAAElB;IAAoB,CAAC,CAAC;IACrEgB,YAAY,CAAC;MAAEC,IAAI,EAAE,QAAQ;MAAEC,SAAS,EAAEtB;IAAc,CAAC,CAAC;EAC5D,CAAC,CAAC;EAEF,MAAMuB,UAAU,GAAG;IACjBC,IAAI,EAAE,QAAQ;IACdC,GAAG,EAAE,OAAO;IACZH,SAAS,EAAEhB,YAAY;IACvBoB,KAAK,EAAE;EACT,CAAC;EAED,MAAMC,kBAAkB,GAAG;IACzBH,IAAI,EAAE,qBAAqB;IAC3BC,GAAG,EAAE,WAAW;IAChBH,SAAS,EAAEf,iBAAiB;IAC5BmB,KAAK,EAAE;EACT,CAAC;EAEDjB,GAAG,CAACmB,QAAQ,CAACL,UAAU,CAAC;EACxBd,GAAG,CAACmB,QAAQ,CAACD,kBAAkB,CAAC;EAEhC,OAAO;IACLE,IAAI,EAAE1B,WAAW;IACjB2B,OAAO,EAAE5B,GAAG,CAAC4B;EACf,CAAC;AACH;AAEAtB,IAAI,CAACuB,UAAU,GAAG5B,WAAW","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","FileUploadAdapter","EditorAdapter","MediaLibraryIcon","pkg","PLUGIN_NAME","FilePreviewReadOnly","lazy","MediaListing","EditMediaFilePage","load","app","events","once","addConfig","main","items","media","label","uri","icon","order","addFieldType","type","component","mediaRoute","path","key","exact","editMediaFileRoute","addRoute","name","version","pluginName"],"sources":["../src/index.js"],"sourcesContent":["import React from 'react';\nimport FileUploadAdapter from './components/FileUploadAdapter';\nimport EditorAdapter from './components/EditorAdapter';\nimport { MediaLibraryIcon } from './icons';\nimport pkg from '../package.json';\nimport { PLUGIN_NAME } from './constants';\n\nexport const FilePreviewReadOnly = React.lazy(() =>\n import(/* webpackChunkName: 'MediaFilePreviewReadOnly' */ './components/FilePreviewReadOnly')\n);\n\nconst MediaListing = React.lazy(() =>\n import(/* webpackChunkName: 'MediaListingContainer' */ './components/MediaListing')\n);\n\nconst EditMediaFilePage = React.lazy(() =>\n import(/* webpackChunkName: 'EditMediaFilePage' */ './components/EditMediaFile/EditMediaFilePage')\n);\nexport default async function load(app) {\n app.events.once('admin:menu:config:load', ({ addConfig }) => {\n addConfig({\n main: {\n items: {\n media: {\n label: 'Media',\n uri: '/media',\n icon: MediaLibraryIcon,\n order: 30\n }\n }\n }\n });\n });\n\n app.events.once('load:custom:field:type', addFieldType => {\n addFieldType({ type: 'fileUpload', component: FileUploadAdapter });\n addFieldType({ type: 'filePreview', component: FilePreviewReadOnly });\n addFieldType({ type: 'editor', component: EditorAdapter });\n });\n\n const mediaRoute = {\n path: '/media',\n key: 'media',\n component: MediaListing,\n exact: true\n };\n\n const editMediaFileRoute = {\n path: '/media/edit/:fileId',\n key: 'editMedia',\n component: EditMediaFilePage,\n exact: true\n };\n\n app.addRoute(mediaRoute);\n app.addRoute(editMediaFileRoute);\n\n return {\n name: PLUGIN_NAME,\n version: pkg.version\n };\n}\n\nload.pluginName = PLUGIN_NAME;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,iBAAiB,MAAM,gCAAgC;AAC9D,OAAOC,aAAa,MAAM,4BAA4B;AACtD,SAASC,gBAAgB,QAAQ,SAAS;AAC1C,OAAOC,GAAG,MAAM,iBAAiB;AACjC,SAASC,WAAW,QAAQ,aAAa;AAEzC,OAAO,MAAMC,mBAAmB,GAAGN,KAAK,CAACO,IAAI,CAAC,MAC5C,MAAM,CAAC,kDAAmD,kCAAkC,CAC9F,CAAC;AAED,MAAMC,YAAY,GAAGR,KAAK,CAACO,IAAI,CAAC,MAC9B,MAAM,CAAC,+CAAgD,2BAA2B,CACpF,CAAC;AAED,MAAME,iBAAiB,GAAGT,KAAK,CAACO,IAAI,CAAC,MACnC,MAAM,CAAC,2CAA4C,8CAA8C,CACnG,CAAC;AACD,eAAe,eAAeG,IAAIA,CAACC,GAAG,EAAE;EACtCA,GAAG,CAACC,MAAM,CAACC,IAAI,CAAC,wBAAwB,EAAE,CAAC;IAAEC;EAAU,CAAC,KAAK;IAC3DA,SAAS,CAAC;MACRC,IAAI,EAAE;QACJC,KAAK,EAAE;UACLC,KAAK,EAAE;YACLC,KAAK,EAAE,OAAO;YACdC,GAAG,EAAE,QAAQ;YACbC,IAAI,EAAEjB,gBAAgB;YACtBkB,KAAK,EAAE;UACT;QACF;MACF;IACF,CAAC,CAAC;EACJ,CAAC,CAAC;EAEFV,GAAG,CAACC,MAAM,CAACC,IAAI,CAAC,wBAAwB,EAAES,YAAY,IAAI;IACxDA,YAAY,CAAC;MAAEC,IAAI,EAAE,YAAY;MAAEC,SAAS,EAAEvB;IAAkB,CAAC,CAAC;IAClEqB,YAAY,CAAC;MAAEC,IAAI,EAAE,aAAa;MAAEC,SAAS,EAAElB;IAAoB,CAAC,CAAC;IACrEgB,YAAY,CAAC;MAAEC,IAAI,EAAE,QAAQ;MAAEC,SAAS,EAAEtB;IAAc,CAAC,CAAC;EAC5D,CAAC,CAAC;EAEF,MAAMuB,UAAU,GAAG;IACjBC,IAAI,EAAE,QAAQ;IACdC,GAAG,EAAE,OAAO;IACZH,SAAS,EAAEhB,YAAY;IACvBoB,KAAK,EAAE;EACT,CAAC;EAED,MAAMC,kBAAkB,GAAG;IACzBH,IAAI,EAAE,qBAAqB;IAC3BC,GAAG,EAAE,WAAW;IAChBH,SAAS,EAAEf,iBAAiB;IAC5BmB,KAAK,EAAE;EACT,CAAC;EAEDjB,GAAG,CAACmB,QAAQ,CAACL,UAAU,CAAC;EACxBd,GAAG,CAACmB,QAAQ,CAACD,kBAAkB,CAAC;EAEhC,OAAO;IACLE,IAAI,EAAE1B,WAAW;IACjB2B,OAAO,EAAE5B,GAAG,CAAC4B;EACf,CAAC;AACH;AAEAtB,IAAI,CAACuB,UAAU,GAAG5B,WAAW","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blaze-cms/plugin-media-ui",
3
- "version": "0.146.0-core-styles.41",
3
+ "version": "0.146.0-core-styles.45",
4
4
  "description": "Blaze plugin media ui",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib-es/index.js",
@@ -27,10 +27,10 @@
27
27
  },
28
28
  "license": "GPL-3.0",
29
29
  "dependencies": {
30
- "@blaze-cms/admin-ui-utils": "0.146.0-core-styles.41",
30
+ "@blaze-cms/admin-ui-utils": "0.146.0-core-styles.45",
31
31
  "@blaze-cms/core-errors": "0.146.0-core-styles.41",
32
- "@blaze-cms/plugin-search-ui": "0.146.0-core-styles.41",
33
- "@blaze-cms/react-form-builder": "0.146.0-core-styles.41",
32
+ "@blaze-cms/plugin-search-ui": "0.146.0-core-styles.45",
33
+ "@blaze-cms/react-form-builder": "0.146.0-core-styles.45",
34
34
  "@blaze-cms/setup-ui": "0.145.1-core-styles.0",
35
35
  "@blaze-react/button": "0.8.0-alpha.82",
36
36
  "@blaze-react/drafteditor": "0.7.0",
@@ -57,5 +57,5 @@
57
57
  "lib/*",
58
58
  "lib-es/*"
59
59
  ],
60
- "gitHead": "3785ab6d213cffdd594087e7e8b50a6e9fdc74a9"
60
+ "gitHead": "01005273be941f3c0e666090bbe6fbca8afa41ba"
61
61
  }
@@ -30,7 +30,8 @@ const FileUploadAdapter = ({
30
30
  shouldRenderInPreview,
31
31
  canDragAndDrop,
32
32
  simpleLayout,
33
- previewAllFiles
33
+ previewAllFiles,
34
+ fileType
34
35
  }) => {
35
36
  const { InjectPreview } = useContext(FileUploadAdapter.FormContext);
36
37
  const [currentLimit] = useLimit(maxItems);
@@ -155,7 +156,7 @@ const FileUploadAdapter = ({
155
156
  setDisplayModal(false);
156
157
  };
157
158
 
158
- const fileUploadButtonText = getButtonText({ maxItems, value: initialValue });
159
+ const fileUploadButtonText = getButtonText({ maxItems, value: initialValue, fileType });
159
160
 
160
161
  const filesPending = previewAllFiles
161
162
  ? 0
@@ -371,7 +372,8 @@ FileUploadAdapter.propTypes = {
371
372
  shouldRenderInPreview: PropTypes.bool,
372
373
  canDragAndDrop: PropTypes.bool,
373
374
  simpleLayout: PropTypes.bool,
374
- previewAllFiles: PropTypes.bool
375
+ previewAllFiles: PropTypes.bool,
376
+ fileType: PropTypes.string
375
377
  };
376
378
 
377
379
  FileUploadAdapter.defaultProps = {
@@ -380,7 +382,8 @@ FileUploadAdapter.defaultProps = {
380
382
  shouldRenderInPreview: false,
381
383
  canDragAndDrop: false,
382
384
  simpleLayout: false,
383
- previewAllFiles: false
385
+ previewAllFiles: false,
386
+ fileType: 'file'
384
387
  };
385
388
 
386
389
  export default FileUploadAdapter;
@@ -1,6 +1,7 @@
1
- const getButtonText = ({ maxItems, value }) => {
2
- const fileLabel = maxItems > 1 ? 'Add File/s' : 'Add file';
3
- return value && value.length ? 'Change file' : fileLabel;
1
+ const getButtonText = ({ maxItems, value, fileType = 'file' }) => {
2
+ const pluralSuffix = maxItems > 1 ? 's' : '';
3
+ const fileLabel = `Add ${fileType}${pluralSuffix}`;
4
+ return value && value.length > 0 ? `Change ${fileType}${pluralSuffix}` : fileLabel;
4
5
  };
5
6
 
6
7
  export { getButtonText };