@blaze-cms/plugin-media-ui 0.126.0-admin-updates.3 → 0.127.0-admin-updates.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/CHANGELOG.md +1 -25
  2. package/lib/components/CardMedia/CardMedia.js +80 -84
  3. package/lib/components/CardMedia/CardMedia.js.map +1 -1
  4. package/lib/components/EditMediaFile/EditMediaFile.js +7 -7
  5. package/lib/components/EditMediaFile/EditMediaFile.js.map +1 -1
  6. package/lib/components/EditMediaFile/EditMediaFilePage.js +42 -44
  7. package/lib/components/EditMediaFile/EditMediaFilePage.js.map +1 -1
  8. package/lib/components/FileList/useGetFiles/getFiles.js +137 -139
  9. package/lib/components/FileList/useGetFiles/getFiles.js.map +1 -1
  10. package/lib/components/FileList/useGetFiles/useGetFiles.js +33 -35
  11. package/lib/components/FileList/useGetFiles/useGetFiles.js.map +1 -1
  12. package/lib/components/FileList/useGetFilesList/getCounters.js +13 -15
  13. package/lib/components/FileList/useGetFilesList/getCounters.js.map +1 -1
  14. package/lib/components/FilePreview/Actions/index.js.map +1 -1
  15. package/lib/components/FilePreview/Image/Image.js.map +1 -1
  16. package/lib/components/FilePreview/PDF/PDF.js.map +1 -1
  17. package/lib/components/FilePreview/PDF/RawPDF.js.map +1 -1
  18. package/lib/components/FilePreview/get-preview.js.map +1 -1
  19. package/lib/components/FileUploadAdapter/FileUploadAdapter.js +115 -123
  20. package/lib/components/FileUploadAdapter/FileUploadAdapter.js.map +1 -1
  21. package/lib/components/FileUploadModal/FileUploadModal.js +54 -58
  22. package/lib/components/FileUploadModal/FileUploadModal.js.map +1 -1
  23. package/lib/components/FilterPanel/FilterPanel.js.map +1 -1
  24. package/lib/components/ListingContainer/Listing/Listing.js.map +1 -1
  25. package/lib/components/ListingContainer/Listing/MediaListing/MediaFileList/MediaFileList.js.map +1 -1
  26. package/lib/components/ListingContainer/ListingContainer.js +4 -4
  27. package/lib/components/ListingContainer/ListingContainer.js.map +1 -1
  28. package/lib/index.js +37 -39
  29. package/lib/index.js.map +1 -1
  30. package/lib-es/components/CardMedia/CardMedia.js.map +1 -1
  31. package/lib-es/components/EditMediaFile/EditMediaFile.js.map +1 -1
  32. package/lib-es/components/EditMediaFile/EditMediaFilePage.js.map +1 -1
  33. package/lib-es/components/FilePreview/Actions/index.js.map +1 -1
  34. package/lib-es/components/FilePreview/Image/Image.js.map +1 -1
  35. package/lib-es/components/FilePreview/PDF/PDF.js.map +1 -1
  36. package/lib-es/components/FilePreview/PDF/RawPDF.js.map +1 -1
  37. package/lib-es/components/FilePreview/get-preview.js.map +1 -1
  38. package/lib-es/components/FileUploadAdapter/FileUploadAdapter.js.map +1 -1
  39. package/lib-es/components/FilterPanel/FilterPanel.js.map +1 -1
  40. package/lib-es/components/ListingContainer/Listing/Listing.js.map +1 -1
  41. package/lib-es/components/ListingContainer/Listing/MediaListing/MediaFileList/MediaFileList.js.map +1 -1
  42. package/package.json +6 -6
@@ -1 +1 @@
1
- {"version":3,"file":"MediaFileList.js","names":["MediaFileList","displayCardPrompt","setDisplayCardPrompt","displayLayout","wrapperRef","modalTargetRef","useState","currentListIndex","setCurrentListIndex","verifiedRanges","setVerifiedRanges","listHeight","setListHeight","useFileList","queryParams","data","loading","setQueryParams","clearList","removeFile","updateFile","useMediaContext","MediaContext","onClickPrompt","getSelectedFiles","selectedFiles","selectedFilter","useEffect","where","AVAILABLE_FILTER_TYPES","filter","storeKey","isSearch","searchTerm","handleRenderedItems","startIndex","rowsLength","files","length","loadIndex","Math","floor","MEDIA_OVER_SCAN_COUNT","includes","offset","handleListHeight","current","clientHeight","window","addEventListener","removeEventListener","searchedTerm","MEDIA_LIST_ITEM_SIZE","index","style","name","url","mimetype","id","isSelected","existPrevious","propTypes","PropTypes","func","isRequired","bool","string","object","defaultProps"],"sources":["../../../../../../src/components/ListingContainer/Listing/MediaListing/MediaFileList/MediaFileList.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { CardPrompt } from '@blaze-cms/admin';\nimport Button from '@blaze-react/button';\nimport VirtualList from 'react-tiny-virtual-list';\nimport { useMediaContext, MediaContext } from '../../../../../utils/media-context';\nimport CardMedia from '../../../../CardMedia';\nimport { existPrevious } from '../../../mappers';\nimport useFileList from '../../../../FileList/useFileList';\nimport {\n MEDIA_LIST_ITEM_SIZE,\n MEDIA_OVER_SCAN_COUNT,\n AVAILABLE_FILTER_TYPES\n} from '../../../../../constants';\n\nconst MediaFileList = ({\n displayCardPrompt,\n setDisplayCardPrompt,\n displayLayout,\n wrapperRef,\n modalTargetRef\n}) => {\n const [currentListIndex, setCurrentListIndex] = useState(1);\n const [verifiedRanges, setVerifiedRanges] = useState([]);\n const [listHeight, setListHeight] = useState(null);\n const {\n queryParams,\n data,\n loading,\n setQueryParams,\n clearList,\n removeFile,\n updateFile\n } = useFileList();\n const { onClickPrompt, getSelectedFiles, selectedFiles, selectedFilter } = useMediaContext(\n MediaContext\n );\n\n useEffect(\n () => {\n setVerifiedRanges([]);\n setCurrentListIndex(0);\n setQueryParams({\n where: {\n ...AVAILABLE_FILTER_TYPES[selectedFilter.filter],\n storeKey: selectedFilter.storeKey\n },\n isSearch: selectedFilter.isSearch,\n searchTerm: selectedFilter.searchTerm\n });\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n selectedFilter.filter,\n selectedFilter.storeKey,\n selectedFilter.isSearch,\n selectedFilter.searchTerm\n ]\n );\n\n const handleRenderedItems = ({ startIndex }) => {\n const rowsLength = data.files.length;\n const loadIndex = Math.floor(rowsLength / 3) - MEDIA_OVER_SCAN_COUNT;\n\n if (loadIndex > 0 && loadIndex < startIndex && !verifiedRanges.includes(loadIndex)) {\n setQueryParams({\n offset: data.files.length,\n where: {\n ...AVAILABLE_FILTER_TYPES[selectedFilter.filter],\n storeKey: selectedFilter.storeKey\n },\n isSearch: selectedFilter.isSearch,\n searchTerm: selectedFilter.searchTerm\n });\n setVerifiedRanges([...verifiedRanges, loadIndex]);\n setCurrentListIndex(startIndex + MEDIA_OVER_SCAN_COUNT);\n }\n };\n\n useEffect(\n () => {\n const handleListHeight = () => {\n setListHeight(wrapperRef.current.clientHeight - 40);\n };\n\n if (wrapperRef.current) {\n handleListHeight();\n window.addEventListener('resize', handleListHeight);\n }\n return () => {\n window.removeEventListener('resize', handleListHeight);\n };\n },\n [listHeight, wrapperRef]\n );\n\n const searchedTerm = queryParams.searchTerm && `${queryParams.searchTerm} -`;\n\n return (\n <>\n {data.files && data.files.length ? (\n <>\n <p className=\"media__fileList-counter\">\n {searchedTerm} {data[selectedFilter.filter]} items\n </p>\n <VirtualList\n width=\"100%\"\n height={listHeight}\n itemCount={data.files.length}\n itemSize={MEDIA_LIST_ITEM_SIZE}\n overscanCount={MEDIA_OVER_SCAN_COUNT}\n scrollToIndex={currentListIndex}\n onItemsRendered={handleRenderedItems}\n renderItem={({ index, style }) => {\n const { name, url, mimetype, id } = data.files[index];\n const isSelected = existPrevious(selectedFiles, id);\n return (\n <div key={index} style={style} className=\"list__item--resultWrapper\">\n <CardMedia\n updateFile={updateFile}\n clearList={clearList}\n latestQueryToRefetchParams={queryParams}\n modalTargetRef={modalTargetRef}\n onSelected={getSelectedFiles}\n key={id}\n displayLayout={displayLayout}\n selected={!!isSelected}\n name={name}\n url={url}\n mimetype={mimetype}\n id={id}\n index={index}\n removeFile={removeFile}\n />\n </div>\n );\n }}\n />\n </>\n ) : null}\n {!loading && data.files && !data.files.length && displayCardPrompt ? (\n <CardPrompt\n onClose={() => {\n setDisplayCardPrompt(false);\n }}>\n <Button onClick={onClickPrompt} className=\"button button--rounded button--cta\">\n Add\n </Button>\n </CardPrompt>\n ) : null}\n </>\n );\n};\n\nMediaFileList.propTypes = {\n setDisplayCardPrompt: PropTypes.func.isRequired,\n displayCardPrompt: PropTypes.bool,\n displayLayout: PropTypes.string.isRequired,\n wrapperRef: PropTypes.object.isRequired,\n modalTargetRef: PropTypes.object.isRequired\n};\n\nMediaFileList.defaultProps = {\n displayCardPrompt: true\n};\n\nexport default MediaFileList;\n"],"mappings":"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"}
1
+ {"version":3,"file":"MediaFileList.js","names":["MediaFileList","displayCardPrompt","setDisplayCardPrompt","displayLayout","wrapperRef","modalTargetRef","useState","currentListIndex","setCurrentListIndex","verifiedRanges","setVerifiedRanges","listHeight","setListHeight","useFileList","queryParams","data","loading","setQueryParams","clearList","removeFile","updateFile","useMediaContext","MediaContext","onClickPrompt","getSelectedFiles","selectedFiles","selectedFilter","useEffect","where","AVAILABLE_FILTER_TYPES","filter","storeKey","isSearch","searchTerm","handleRenderedItems","startIndex","rowsLength","files","length","loadIndex","Math","floor","MEDIA_OVER_SCAN_COUNT","includes","offset","handleListHeight","current","clientHeight","window","addEventListener","removeEventListener","searchedTerm","MEDIA_LIST_ITEM_SIZE","index","style","name","url","mimetype","id","isSelected","existPrevious","propTypes","PropTypes","func","isRequired","bool","string","object","defaultProps"],"sources":["../../../../../../src/components/ListingContainer/Listing/MediaListing/MediaFileList/MediaFileList.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { CardPrompt } from '@blaze-cms/admin';\nimport Button from '@blaze-react/button';\nimport VirtualList from 'react-tiny-virtual-list';\nimport { useMediaContext, MediaContext } from '../../../../../utils/media-context';\nimport CardMedia from '../../../../CardMedia';\nimport { existPrevious } from '../../../mappers';\nimport useFileList from '../../../../FileList/useFileList';\nimport {\n MEDIA_LIST_ITEM_SIZE,\n MEDIA_OVER_SCAN_COUNT,\n AVAILABLE_FILTER_TYPES\n} from '../../../../../constants';\n\nconst MediaFileList = ({\n displayCardPrompt,\n setDisplayCardPrompt,\n displayLayout,\n wrapperRef,\n modalTargetRef\n}) => {\n const [currentListIndex, setCurrentListIndex] = useState(1);\n const [verifiedRanges, setVerifiedRanges] = useState([]);\n const [listHeight, setListHeight] = useState(null);\n const {\n queryParams,\n data,\n loading,\n setQueryParams,\n clearList,\n removeFile,\n updateFile\n } = useFileList();\n const { onClickPrompt, getSelectedFiles, selectedFiles, selectedFilter } = useMediaContext(\n MediaContext\n );\n\n useEffect(\n () => {\n setVerifiedRanges([]);\n setCurrentListIndex(0);\n setQueryParams({\n where: {\n ...AVAILABLE_FILTER_TYPES[selectedFilter.filter],\n storeKey: selectedFilter.storeKey\n },\n isSearch: selectedFilter.isSearch,\n searchTerm: selectedFilter.searchTerm\n });\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n selectedFilter.filter,\n selectedFilter.storeKey,\n selectedFilter.isSearch,\n selectedFilter.searchTerm\n ]\n );\n\n const handleRenderedItems = ({ startIndex }) => {\n const rowsLength = data.files.length;\n const loadIndex = Math.floor(rowsLength / 3) - MEDIA_OVER_SCAN_COUNT;\n\n if (loadIndex > 0 && loadIndex < startIndex && !verifiedRanges.includes(loadIndex)) {\n setQueryParams({\n offset: data.files.length,\n where: {\n ...AVAILABLE_FILTER_TYPES[selectedFilter.filter],\n storeKey: selectedFilter.storeKey\n },\n isSearch: selectedFilter.isSearch,\n searchTerm: selectedFilter.searchTerm\n });\n setVerifiedRanges([...verifiedRanges, loadIndex]);\n setCurrentListIndex(startIndex + MEDIA_OVER_SCAN_COUNT);\n }\n };\n\n useEffect(\n () => {\n const handleListHeight = () => {\n setListHeight(wrapperRef.current.clientHeight - 40);\n };\n\n if (wrapperRef.current) {\n handleListHeight();\n window.addEventListener('resize', handleListHeight);\n }\n return () => {\n window.removeEventListener('resize', handleListHeight);\n };\n },\n [listHeight, wrapperRef]\n );\n\n const searchedTerm = queryParams.searchTerm && `${queryParams.searchTerm} -`;\n\n return (\n <>\n {data.files && data.files.length ? (\n <>\n <p className=\"media__fileList-counter\">\n {searchedTerm} {data[selectedFilter.filter]} items\n </p>\n <VirtualList\n width=\"100%\"\n height={listHeight}\n itemCount={data.files.length}\n itemSize={MEDIA_LIST_ITEM_SIZE}\n overscanCount={MEDIA_OVER_SCAN_COUNT}\n scrollToIndex={currentListIndex}\n onItemsRendered={handleRenderedItems}\n renderItem={({ index, style }) => {\n const { name, url, mimetype, id } = data.files[index];\n const isSelected = existPrevious(selectedFiles, id);\n return (\n <div key={index} style={style} className=\"list__item--resultWrapper\">\n <CardMedia\n updateFile={updateFile}\n clearList={clearList}\n latestQueryToRefetchParams={queryParams}\n modalTargetRef={modalTargetRef}\n onSelected={getSelectedFiles}\n key={id}\n displayLayout={displayLayout}\n selected={!!isSelected}\n name={name}\n url={url}\n mimetype={mimetype}\n id={id}\n index={index}\n removeFile={removeFile}\n />\n </div>\n );\n }}\n />\n </>\n ) : null}\n {!loading && data.files && !data.files.length && displayCardPrompt ? (\n <CardPrompt\n onClose={() => {\n setDisplayCardPrompt(false);\n }}>\n <Button onClick={onClickPrompt} className=\"button button--rounded button--cta\">\n Add\n </Button>\n </CardPrompt>\n ) : null}\n </>\n );\n};\n\nMediaFileList.propTypes = {\n setDisplayCardPrompt: PropTypes.func.isRequired,\n displayCardPrompt: PropTypes.bool,\n displayLayout: PropTypes.string.isRequired,\n wrapperRef: PropTypes.object.isRequired,\n modalTargetRef: PropTypes.object.isRequired\n};\n\nMediaFileList.defaultProps = {\n displayCardPrompt: true\n};\n\nexport default MediaFileList;\n"],"mappings":"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"}
@@ -66,10 +66,10 @@ var ListingContainer = function ListingContainer(_ref) {
66
66
  }
67
67
  }),
68
68
  loading = _useQuery.loading,
69
- _useQuery$data = _useQuery.data;
70
- _useQuery$data = _useQuery$data === void 0 ? {} : _useQuery$data;
71
- var _useQuery$data$getFil = _useQuery$data.getFileStores,
72
- fileStores = _useQuery$data$getFil === void 0 ? [] : _useQuery$data$getFil;
69
+ _useQuery$data = _useQuery.data,
70
+ _useQuery$data2 = _useQuery$data === void 0 ? {} : _useQuery$data,
71
+ _useQuery$data2$getFi = _useQuery$data2.getFileStores,
72
+ fileStores = _useQuery$data2$getFi === void 0 ? [] : _useQuery$data2$getFi;
73
73
  if (loading) return null;
74
74
  var getSelectedFiles = function getSelectedFiles(_ref2) {
75
75
  var id = _ref2.id;
@@ -1 +1 @@
1
- {"version":3,"file":"ListingContainer.js","names":["ListingContainer","handleSelectedFiles","maxItems","filesSelected","useState","displayFileUploadModal","setDisplayFileUploadModal","selectedFiles","setSelectedFiles","filter","isSearch","searchTerm","storeKey","selectedFilter","setSelectedFilter","fileStoresType","getQuery","useQuery","variables","visibleInAdmin","loading","data","getFileStores","fileStores","getSelectedFiles","id","existPreviousFile","existPrevious","length","allSelectedFiles","fileId","handleDisplayFileUploadModal","param","defaultFileStore","find","isDefault","key","changeSelectedFilter","value","filters","availableFilters","onClickPrompt","propTypes","PropTypes","func","oneOfType","number","bool","arrayOf","string","defaultProps"],"sources":["../../../src/components/ListingContainer/ListingContainer.js"],"sourcesContent":["import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { useQuery } from '@apollo/client';\nimport { getQuery } from '@blaze-cms/admin-ui-utils';\nimport Listing from './Listing';\nimport { availableFilters } from '../../utils/available-filters/available-filters';\nimport { MediaContextProvider } from '../../utils/media-context';\nimport FilesListProvider from '../FileList/FilesListProvider';\nimport { existPrevious } from './mappers';\n\nconst ListingContainer = ({ handleSelectedFiles, maxItems, filesSelected }) => {\n const [displayFileUploadModal, setDisplayFileUploadModal] = useState(false);\n const [selectedFiles, setSelectedFiles] = useState(filesSelected || []);\n const [selectedFilter, setSelectedFilter] = useState({\n filter: 'all',\n isSearch: false,\n searchTerm: null,\n storeKey: null\n });\n\n const fileStoresType = getQuery('GET_FILE_STORES');\n const { loading, data: { getFileStores: fileStores = [] } = {} } = useQuery(fileStoresType, {\n variables: { visibleInAdmin: true }\n });\n if (loading) return null;\n\n const getSelectedFiles = ({ id }) => {\n const existPreviousFile = existPrevious(selectedFiles, id);\n\n if (maxItems === selectedFiles.length && !existPreviousFile) {\n handleSelectedFiles([id], false);\n setSelectedFiles([id]);\n } else {\n const allSelectedFiles = existPreviousFile\n ? selectedFiles.filter(fileId => fileId !== existPreviousFile)\n : [...selectedFiles, id];\n\n handleSelectedFiles(allSelectedFiles, false);\n setSelectedFiles(allSelectedFiles);\n }\n };\n\n const handleDisplayFileUploadModal = param => setDisplayFileUploadModal(param);\n\n const defaultFileStore = (fileStores.find(({ isDefault }) => isDefault) || {}).key;\n\n return (\n <MediaContextProvider\n value={{\n fileStores,\n defaultFileStore,\n changeSelectedFilter: value => setSelectedFilter(value),\n selectedFilter: {\n ...selectedFilter,\n storeKey: selectedFilter.storeKey || defaultFileStore\n },\n selectedFiles,\n getSelectedFiles,\n filters: availableFilters,\n onClickPrompt: () => handleDisplayFileUploadModal(true)\n }}>\n <FilesListProvider>\n <Listing\n displayFileUploadModal={displayFileUploadModal}\n handleDisplayFileUploadModal={handleDisplayFileUploadModal}\n />\n </FilesListProvider>\n </MediaContextProvider>\n );\n};\n\nListingContainer.propTypes = {\n handleSelectedFiles: PropTypes.func,\n maxItems: PropTypes.oneOfType([PropTypes.number, PropTypes.bool]),\n filesSelected: PropTypes.arrayOf(PropTypes.string)\n};\n\nListingContainer.defaultProps = {\n handleSelectedFiles: () => {},\n maxItems: false,\n filesSelected: []\n};\n\nexport default ListingContainer;\n"],"mappings":"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"}
1
+ {"version":3,"file":"ListingContainer.js","names":["ListingContainer","handleSelectedFiles","maxItems","filesSelected","useState","displayFileUploadModal","setDisplayFileUploadModal","selectedFiles","setSelectedFiles","filter","isSearch","searchTerm","storeKey","selectedFilter","setSelectedFilter","fileStoresType","getQuery","useQuery","variables","visibleInAdmin","loading","data","getFileStores","fileStores","getSelectedFiles","id","existPreviousFile","existPrevious","length","allSelectedFiles","fileId","handleDisplayFileUploadModal","param","defaultFileStore","find","isDefault","key","changeSelectedFilter","value","filters","availableFilters","onClickPrompt","propTypes","PropTypes","func","oneOfType","number","bool","arrayOf","string","defaultProps"],"sources":["../../../src/components/ListingContainer/ListingContainer.js"],"sourcesContent":["import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { useQuery } from '@apollo/client';\nimport { getQuery } from '@blaze-cms/admin-ui-utils';\nimport Listing from './Listing';\nimport { availableFilters } from '../../utils/available-filters/available-filters';\nimport { MediaContextProvider } from '../../utils/media-context';\nimport FilesListProvider from '../FileList/FilesListProvider';\nimport { existPrevious } from './mappers';\n\nconst ListingContainer = ({ handleSelectedFiles, maxItems, filesSelected }) => {\n const [displayFileUploadModal, setDisplayFileUploadModal] = useState(false);\n const [selectedFiles, setSelectedFiles] = useState(filesSelected || []);\n const [selectedFilter, setSelectedFilter] = useState({\n filter: 'all',\n isSearch: false,\n searchTerm: null,\n storeKey: null\n });\n\n const fileStoresType = getQuery('GET_FILE_STORES');\n const { loading, data: { getFileStores: fileStores = [] } = {} } = useQuery(fileStoresType, {\n variables: { visibleInAdmin: true }\n });\n if (loading) return null;\n\n const getSelectedFiles = ({ id }) => {\n const existPreviousFile = existPrevious(selectedFiles, id);\n\n if (maxItems === selectedFiles.length && !existPreviousFile) {\n handleSelectedFiles([id], false);\n setSelectedFiles([id]);\n } else {\n const allSelectedFiles = existPreviousFile\n ? selectedFiles.filter(fileId => fileId !== existPreviousFile)\n : [...selectedFiles, id];\n\n handleSelectedFiles(allSelectedFiles, false);\n setSelectedFiles(allSelectedFiles);\n }\n };\n\n const handleDisplayFileUploadModal = param => setDisplayFileUploadModal(param);\n\n const defaultFileStore = (fileStores.find(({ isDefault }) => isDefault) || {}).key;\n\n return (\n <MediaContextProvider\n value={{\n fileStores,\n defaultFileStore,\n changeSelectedFilter: value => setSelectedFilter(value),\n selectedFilter: {\n ...selectedFilter,\n storeKey: selectedFilter.storeKey || defaultFileStore\n },\n selectedFiles,\n getSelectedFiles,\n filters: availableFilters,\n onClickPrompt: () => handleDisplayFileUploadModal(true)\n }}>\n <FilesListProvider>\n <Listing\n displayFileUploadModal={displayFileUploadModal}\n handleDisplayFileUploadModal={handleDisplayFileUploadModal}\n />\n </FilesListProvider>\n </MediaContextProvider>\n );\n};\n\nListingContainer.propTypes = {\n handleSelectedFiles: PropTypes.func,\n maxItems: PropTypes.oneOfType([PropTypes.number, PropTypes.bool]),\n filesSelected: PropTypes.arrayOf(PropTypes.string)\n};\n\nListingContainer.defaultProps = {\n handleSelectedFiles: () => {},\n maxItems: false,\n filesSelected: []\n};\n\nexport default ListingContainer;\n"],"mappings":"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"}
package/lib/index.js CHANGED
@@ -40,47 +40,45 @@ function _load() {
40
40
  _load = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(app) {
41
41
  var mediaRoute, editMediaFileRoute;
42
42
  return _regenerator["default"].wrap(function _callee$(_context) {
43
- while (1) {
44
- switch (_context.prev = _context.next) {
45
- case 0:
46
- app.events.once('load:menu-items', function (addItem) {
47
- addItem({
48
- name: 'Media',
49
- uri: '/media'
50
- }, 'plugins');
43
+ while (1) switch (_context.prev = _context.next) {
44
+ case 0:
45
+ app.events.once('load:menu-items', function (addItem) {
46
+ addItem({
47
+ name: 'Media',
48
+ uri: '/media'
49
+ }, 'plugins');
50
+ });
51
+ app.events.once('load:custom:field:type', function (addFieldType) {
52
+ addFieldType({
53
+ type: 'fileUpload',
54
+ component: _FileUploadAdapter["default"]
51
55
  });
52
- app.events.once('load:custom:field:type', function (addFieldType) {
53
- addFieldType({
54
- type: 'fileUpload',
55
- component: _FileUploadAdapter["default"]
56
- });
57
- addFieldType({
58
- type: 'editor',
59
- component: _EditorAdapter["default"]
60
- });
56
+ addFieldType({
57
+ type: 'editor',
58
+ component: _EditorAdapter["default"]
61
59
  });
62
- mediaRoute = {
63
- path: '/media',
64
- key: 'media',
65
- component: ListingContainer,
66
- exact: true
67
- };
68
- editMediaFileRoute = {
69
- path: '/media/edit/:fileId',
70
- key: 'editMedia',
71
- component: EditMediaFilePage,
72
- exact: true
73
- };
74
- app.addRoute(mediaRoute);
75
- app.addRoute(editMediaFileRoute);
76
- return _context.abrupt("return", {
77
- name: _constants.PLUGIN_NAME,
78
- version: _package["default"].version
79
- });
80
- case 7:
81
- case "end":
82
- return _context.stop();
83
- }
60
+ });
61
+ mediaRoute = {
62
+ path: '/media',
63
+ key: 'media',
64
+ component: ListingContainer,
65
+ exact: true
66
+ };
67
+ editMediaFileRoute = {
68
+ path: '/media/edit/:fileId',
69
+ key: 'editMedia',
70
+ component: EditMediaFilePage,
71
+ exact: true
72
+ };
73
+ app.addRoute(mediaRoute);
74
+ app.addRoute(editMediaFileRoute);
75
+ return _context.abrupt("return", {
76
+ name: _constants.PLUGIN_NAME,
77
+ version: _package["default"].version
78
+ });
79
+ case 7:
80
+ case "end":
81
+ return _context.stop();
84
82
  }
85
83
  }, _callee);
86
84
  }));
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["ListingContainer","React","lazy","EditMediaFilePage","load","app","events","once","addItem","name","uri","addFieldType","type","component","FileUploadAdapter","EditorAdapter","mediaRoute","path","key","exact","editMediaFileRoute","addRoute","PLUGIN_NAME","version","pkg","pluginName"],"sources":["../src/index.js"],"sourcesContent":["import React from 'react';\nimport FileUploadAdapter from './components/FileUploadAdapter';\nimport EditorAdapter from './components/EditorAdapter';\nimport pkg from '../package.json';\nimport { PLUGIN_NAME } from './constants';\n\nconst ListingContainer = React.lazy(() =>\n import(/* webpackChunkName: 'MediaListingContainer' */ './components/ListingContainer')\n);\n\nconst EditMediaFilePage = React.lazy(() =>\n import(/* webpackChunkName: 'EditMediaFilePage' */ './components/EditMediaFile/EditMediaFilePage')\n);\n\nexport default async function load(app) {\n app.events.once('load:menu-items', addItem => {\n addItem({ name: 'Media', uri: '/media' }, 'plugins');\n });\n\n app.events.once('load:custom:field:type', addFieldType => {\n addFieldType({ type: 'fileUpload', component: FileUploadAdapter });\n addFieldType({ type: 'editor', component: EditorAdapter });\n });\n\n const mediaRoute = {\n path: '/media',\n key: 'media',\n component: ListingContainer,\n exact: true\n };\n\n const editMediaFileRoute = {\n path: '/media/edit/:fileId',\n key: 'editMedia',\n component: EditMediaFilePage,\n exact: true\n };\n\n app.addRoute(mediaRoute);\n app.addRoute(editMediaFileRoute);\n\n return {\n name: PLUGIN_NAME,\n version: pkg.version\n };\n}\n\nload.pluginName = PLUGIN_NAME;\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AAA0C;AAAA;AAE1C,IAAMA,gBAAgB,gBAAGC,iBAAK,CAACC,IAAI,CAAC;EAAA;IAAA,wCAC3B,+CAAgD,+BAA+B;EAAA;AAAA,CAAC,CACxF;AAED,IAAMC,iBAAiB,gBAAGF,iBAAK,CAACC,IAAI,CAAC;EAAA;IAAA,wCAC5B,2CAA4C,8CAA8C;EAAA;AAAA,CAAC,CACnG;AAAC,SAE4BE,IAAI;EAAA;AAAA;AAAA;EAAA,sFAAnB,iBAAoBC,GAAG;IAAA;IAAA;MAAA;QAAA;UAAA;YACpCA,GAAG,CAACC,MAAM,CAACC,IAAI,CAAC,iBAAiB,EAAE,UAAAC,OAAO,EAAI;cAC5CA,OAAO,CAAC;gBAAEC,IAAI,EAAE,OAAO;gBAAEC,GAAG,EAAE;cAAS,CAAC,EAAE,SAAS,CAAC;YACtD,CAAC,CAAC;YAEFL,GAAG,CAACC,MAAM,CAACC,IAAI,CAAC,wBAAwB,EAAE,UAAAI,YAAY,EAAI;cACxDA,YAAY,CAAC;gBAAEC,IAAI,EAAE,YAAY;gBAAEC,SAAS,EAAEC;cAAkB,CAAC,CAAC;cAClEH,YAAY,CAAC;gBAAEC,IAAI,EAAE,QAAQ;gBAAEC,SAAS,EAAEE;cAAc,CAAC,CAAC;YAC5D,CAAC,CAAC;YAEIC,UAAU,GAAG;cACjBC,IAAI,EAAE,QAAQ;cACdC,GAAG,EAAE,OAAO;cACZL,SAAS,EAAEb,gBAAgB;cAC3BmB,KAAK,EAAE;YACT,CAAC;YAEKC,kBAAkB,GAAG;cACzBH,IAAI,EAAE,qBAAqB;cAC3BC,GAAG,EAAE,WAAW;cAChBL,SAAS,EAAEV,iBAAiB;cAC5BgB,KAAK,EAAE;YACT,CAAC;YAEDd,GAAG,CAACgB,QAAQ,CAACL,UAAU,CAAC;YACxBX,GAAG,CAACgB,QAAQ,CAACD,kBAAkB,CAAC;YAAC,iCAE1B;cACLX,IAAI,EAAEa,sBAAW;cACjBC,OAAO,EAAEC,mBAAG,CAACD;YACf,CAAC;UAAA;UAAA;YAAA;QAAA;MAAA;IAAA;EAAA,CACF;EAAA;AAAA;AAEDnB,IAAI,CAACqB,UAAU,GAAGH,sBAAW"}
1
+ {"version":3,"file":"index.js","names":["ListingContainer","React","lazy","EditMediaFilePage","load","app","events","once","addItem","name","uri","addFieldType","type","component","FileUploadAdapter","EditorAdapter","mediaRoute","path","key","exact","editMediaFileRoute","addRoute","PLUGIN_NAME","version","pkg","pluginName"],"sources":["../src/index.js"],"sourcesContent":["import React from 'react';\nimport FileUploadAdapter from './components/FileUploadAdapter';\nimport EditorAdapter from './components/EditorAdapter';\nimport pkg from '../package.json';\nimport { PLUGIN_NAME } from './constants';\n\nconst ListingContainer = React.lazy(() =>\n import(/* webpackChunkName: 'MediaListingContainer' */ './components/ListingContainer')\n);\n\nconst EditMediaFilePage = React.lazy(() =>\n import(/* webpackChunkName: 'EditMediaFilePage' */ './components/EditMediaFile/EditMediaFilePage')\n);\n\nexport default async function load(app) {\n app.events.once('load:menu-items', addItem => {\n addItem({ name: 'Media', uri: '/media' }, 'plugins');\n });\n\n app.events.once('load:custom:field:type', addFieldType => {\n addFieldType({ type: 'fileUpload', component: FileUploadAdapter });\n addFieldType({ type: 'editor', component: EditorAdapter });\n });\n\n const mediaRoute = {\n path: '/media',\n key: 'media',\n component: ListingContainer,\n exact: true\n };\n\n const editMediaFileRoute = {\n path: '/media/edit/:fileId',\n key: 'editMedia',\n component: EditMediaFilePage,\n exact: true\n };\n\n app.addRoute(mediaRoute);\n app.addRoute(editMediaFileRoute);\n\n return {\n name: PLUGIN_NAME,\n version: pkg.version\n };\n}\n\nload.pluginName = PLUGIN_NAME;\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AAA0C;AAAA;AAE1C,IAAMA,gBAAgB,gBAAGC,iBAAK,CAACC,IAAI,CAAC;EAAA;IAAA,wCAC3B,+CAAgD,+BAA+B;EAAA;AAAA,CAAC,CACxF;AAED,IAAMC,iBAAiB,gBAAGF,iBAAK,CAACC,IAAI,CAAC;EAAA;IAAA,wCAC5B,2CAA4C,8CAA8C;EAAA;AAAA,CAAC,CACnG;AAAC,SAE4BE,IAAI;EAAA;AAAA;AAAA;EAAA,sFAAnB,iBAAoBC,GAAG;IAAA;IAAA;MAAA;QAAA;UACpCA,GAAG,CAACC,MAAM,CAACC,IAAI,CAAC,iBAAiB,EAAE,UAAAC,OAAO,EAAI;YAC5CA,OAAO,CAAC;cAAEC,IAAI,EAAE,OAAO;cAAEC,GAAG,EAAE;YAAS,CAAC,EAAE,SAAS,CAAC;UACtD,CAAC,CAAC;UAEFL,GAAG,CAACC,MAAM,CAACC,IAAI,CAAC,wBAAwB,EAAE,UAAAI,YAAY,EAAI;YACxDA,YAAY,CAAC;cAAEC,IAAI,EAAE,YAAY;cAAEC,SAAS,EAAEC;YAAkB,CAAC,CAAC;YAClEH,YAAY,CAAC;cAAEC,IAAI,EAAE,QAAQ;cAAEC,SAAS,EAAEE;YAAc,CAAC,CAAC;UAC5D,CAAC,CAAC;UAEIC,UAAU,GAAG;YACjBC,IAAI,EAAE,QAAQ;YACdC,GAAG,EAAE,OAAO;YACZL,SAAS,EAAEb,gBAAgB;YAC3BmB,KAAK,EAAE;UACT,CAAC;UAEKC,kBAAkB,GAAG;YACzBH,IAAI,EAAE,qBAAqB;YAC3BC,GAAG,EAAE,WAAW;YAChBL,SAAS,EAAEV,iBAAiB;YAC5BgB,KAAK,EAAE;UACT,CAAC;UAEDd,GAAG,CAACgB,QAAQ,CAACL,UAAU,CAAC;UACxBX,GAAG,CAACgB,QAAQ,CAACD,kBAAkB,CAAC;UAAC,iCAE1B;YACLX,IAAI,EAAEa,sBAAW;YACjBC,OAAO,EAAEC,mBAAG,CAACD;UACf,CAAC;QAAA;QAAA;UAAA;MAAA;IAAA;EAAA,CACF;EAAA;AAAA;AAEDnB,IAAI,CAACqB,UAAU,GAAGH,sBAAW"}
@@ -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","current","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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"}
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","current","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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"EditMediaFile.js","names":["React","useState","useEffect","PropTypes","getQuery","useQuery","FilePreview","STORE_KEY","NAME","EditMediaFile","onChange","handleSaveButtonStatus","enableSaveButton","fileId","formValues","setFormValues","query","loading","data","file","variables","id","fileStoresType","getFileStores","storeType","visibleInAdmin","handleFormChange","isValid","isNewValueSet","valuesChecked","valuesCheckedWithoutName","filter","dataValues","reduce","acc","value","newFileName","find","storeKey","shouldEnableSaveButton","updatedFile","name","getFileWithStoreType","storeOptions","map","type","key","defaultStore","isDefault","store","fileWithStoreType","propTypes","string","isRequired","func","bool","defaultProps"],"sources":["../../../src/components/EditMediaFile/EditMediaFile.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { getQuery } from '@blaze-cms/admin-ui-utils';\nimport { useQuery } from '@apollo/client';\nimport FilePreview from '../FilePreview';\nimport { STORE_KEY, NAME } from '../../constants';\n\nconst EditMediaFile = ({ onChange, handleSaveButtonStatus, enableSaveButton, fileId }) => {\n const [formValues, setFormValues] = useState(null);\n const query = getQuery('GET_FILE_BY_ID');\n const { loading, data: { file } = {} } = useQuery(query, {\n variables: { id: fileId }\n });\n\n const fileStoresType = getQuery('GET_FILE_STORES');\n const { data: { getFileStores: storeType = [] } = {} } = useQuery(fileStoresType, {\n variables: { visibleInAdmin: true }\n });\n\n useEffect(\n () => {\n if (!formValues && file) {\n setFormValues(file);\n }\n },\n [file, formValues, storeType]\n );\n\n const handleFormChange = ({ isValid, isNewValueSet, valuesChecked }) => {\n const valuesCheckedWithoutName = valuesChecked.filter(({ id }) => {\n if (id === NAME || id === STORE_KEY) return false;\n return true;\n });\n\n const dataValues = valuesCheckedWithoutName.reduce((acc, { id, value }) => {\n acc[id] = value;\n return acc;\n }, {});\n const { value: newFileName } = valuesChecked.find(({ id }) => id === NAME) || {};\n const { value: storeKey } = valuesChecked.find(({ id }) => id === STORE_KEY) || {};\n\n const shouldEnableSaveButton = isNewValueSet && isValid;\n handleSaveButtonStatus(false);\n\n if (shouldEnableSaveButton && shouldEnableSaveButton !== enableSaveButton) {\n handleSaveButtonStatus(shouldEnableSaveButton);\n }\n\n const updatedFile = {\n id: file.id,\n name: newFileName,\n storeKey,\n data: dataValues\n };\n setFormValues(updatedFile);\n onChange(updatedFile);\n };\n\n const getFileWithStoreType = () => {\n if (storeType) {\n const storeOptions = storeType.map(type => [type.key, type.name]);\n const defaultStore = storeType.find(type => type.isDefault) || null;\n return { ...file, store: { defaultStore, storeOptions } };\n }\n\n return file;\n };\n\n const fileWithStoreType = getFileWithStoreType();\n\n return (\n <>\n {!loading ? (\n <>\n {file ? (\n <FilePreview file={fileWithStoreType} handleFormChange={handleFormChange} displayForm />\n ) : null}\n </>\n ) : (\n <div>loading...</div>\n )}\n </>\n );\n};\n\nEditMediaFile.propTypes = {\n fileId: PropTypes.string.isRequired,\n onChange: PropTypes.func.isRequired,\n handleSaveButtonStatus: PropTypes.func.isRequired,\n enableSaveButton: PropTypes.bool\n};\n\nEditMediaFile.defaultProps = {\n enableSaveButton: false\n};\n\nexport default EditMediaFile;\n"],"mappings":"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"}
1
+ {"version":3,"file":"EditMediaFile.js","names":["React","useState","useEffect","PropTypes","getQuery","useQuery","FilePreview","STORE_KEY","NAME","EditMediaFile","onChange","handleSaveButtonStatus","enableSaveButton","fileId","formValues","setFormValues","query","loading","data","file","variables","id","fileStoresType","getFileStores","storeType","visibleInAdmin","handleFormChange","isValid","isNewValueSet","valuesChecked","valuesCheckedWithoutName","filter","dataValues","reduce","acc","value","newFileName","find","storeKey","shouldEnableSaveButton","updatedFile","name","getFileWithStoreType","storeOptions","map","type","key","defaultStore","isDefault","store","fileWithStoreType","propTypes","string","isRequired","func","bool","defaultProps"],"sources":["../../../src/components/EditMediaFile/EditMediaFile.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { getQuery } from '@blaze-cms/admin-ui-utils';\nimport { useQuery } from '@apollo/client';\nimport FilePreview from '../FilePreview';\nimport { STORE_KEY, NAME } from '../../constants';\n\nconst EditMediaFile = ({ onChange, handleSaveButtonStatus, enableSaveButton, fileId }) => {\n const [formValues, setFormValues] = useState(null);\n const query = getQuery('GET_FILE_BY_ID');\n const { loading, data: { file } = {} } = useQuery(query, {\n variables: { id: fileId }\n });\n\n const fileStoresType = getQuery('GET_FILE_STORES');\n const { data: { getFileStores: storeType = [] } = {} } = useQuery(fileStoresType, {\n variables: { visibleInAdmin: true }\n });\n\n useEffect(\n () => {\n if (!formValues && file) {\n setFormValues(file);\n }\n },\n [file, formValues, storeType]\n );\n\n const handleFormChange = ({ isValid, isNewValueSet, valuesChecked }) => {\n const valuesCheckedWithoutName = valuesChecked.filter(({ id }) => {\n if (id === NAME || id === STORE_KEY) return false;\n return true;\n });\n\n const dataValues = valuesCheckedWithoutName.reduce((acc, { id, value }) => {\n acc[id] = value;\n return acc;\n }, {});\n const { value: newFileName } = valuesChecked.find(({ id }) => id === NAME) || {};\n const { value: storeKey } = valuesChecked.find(({ id }) => id === STORE_KEY) || {};\n\n const shouldEnableSaveButton = isNewValueSet && isValid;\n handleSaveButtonStatus(false);\n\n if (shouldEnableSaveButton && shouldEnableSaveButton !== enableSaveButton) {\n handleSaveButtonStatus(shouldEnableSaveButton);\n }\n\n const updatedFile = {\n id: file.id,\n name: newFileName,\n storeKey,\n data: dataValues\n };\n setFormValues(updatedFile);\n onChange(updatedFile);\n };\n\n const getFileWithStoreType = () => {\n if (storeType) {\n const storeOptions = storeType.map(type => [type.key, type.name]);\n const defaultStore = storeType.find(type => type.isDefault) || null;\n return { ...file, store: { defaultStore, storeOptions } };\n }\n\n return file;\n };\n\n const fileWithStoreType = getFileWithStoreType();\n\n return (\n <>\n {!loading ? (\n <>\n {file ? (\n <FilePreview file={fileWithStoreType} handleFormChange={handleFormChange} displayForm />\n ) : null}\n </>\n ) : (\n <div>loading...</div>\n )}\n </>\n );\n};\n\nEditMediaFile.propTypes = {\n fileId: PropTypes.string.isRequired,\n onChange: PropTypes.func.isRequired,\n handleSaveButtonStatus: PropTypes.func.isRequired,\n enableSaveButton: PropTypes.bool\n};\n\nEditMediaFile.defaultProps = {\n enableSaveButton: false\n};\n\nexport default EditMediaFile;\n"],"mappings":"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"}
@@ -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","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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"}
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","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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useContext","PropTypes","MediaContext","Actions","file","handleEditModal","onUnselectFile","extension","mimetype","split","id","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,GAAG,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,oBACE,uDACE;IAAK,SAAS,EAAC;EAAgC,gBAC7C;IAAK,SAAS,EAAC;EAA2E,gBACxF;IAAG,SAAS,EAAC;EAAmD,kBAAiB,EAAC,GAAG,eACrF,kCAAOF,SAAS,CAAQ,CACpB,eACN,8CACE;IACE,eAAc,sBAAqBH,IAAI,CAACM,EAAG,EAAE;IAC7C,SAAS,EAAC,wDAAwD;IAClE,eAAY,MAAM;IAClB,OAAO,EAAE,MAAML,eAAe,CAACD,IAAI;EAAE,gBACrC;IAAG,SAAS,EAAC;EAAkB,EAAG,CAC9B,eACN;IACE,eAAc,YAAWA,IAAI,CAACM,EAAG,EAAE;IACnC,SAAS,EAAC,0DAA0D;IACpE,eAAY,MAAM;IAClB,OAAO,EAAE,MAAMJ,cAAc,CAAC,CAACF,IAAI,CAACM,EAAE,CAAC;EAAE,gBACzC;IAAG,SAAS,EAAC;EAAoB,EAAG,CAChC,CACF,CACF,CACL;AAEP,CAAC;AAEDP,OAAO,CAACQ,SAAS,GAAG;EAClBP,IAAI,EAAEH,SAAS,CAACW,MAAM,CAACC;AACzB,CAAC;AAED,eAAeV,OAAO"}
1
+ {"version":3,"file":"index.js","names":["React","useContext","PropTypes","MediaContext","Actions","file","handleEditModal","onUnselectFile","extension","mimetype","split","id","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,GAAG,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,oBACE,uDACE;IAAK,SAAS,EAAC;EAAgC,gBAC7C;IAAK,SAAS,EAAC;EAA2E,gBACxF;IAAG,SAAS,EAAC;EAAmD,GAAC,cAAY,CAAI,EAAC,GAAG,eACrF,kCAAOF,SAAS,CAAQ,CACpB,eACN,8CACE;IACE,eAAc,sBAAqBH,IAAI,CAACM,EAAG,EAAE;IAC7C,SAAS,EAAC,wDAAwD;IAClE,eAAY,MAAM;IAClB,OAAO,EAAE,MAAML,eAAe,CAACD,IAAI;EAAE,gBACrC;IAAG,SAAS,EAAC;EAAkB,EAAG,CAC9B,eACN;IACE,eAAc,YAAWA,IAAI,CAACM,EAAG,EAAE;IACnC,SAAS,EAAC,0DAA0D;IACpE,eAAY,MAAM;IAClB,OAAO,EAAE,MAAMJ,cAAc,CAAC,CAACF,IAAI,CAACM,EAAE,CAAC;EAAE,gBACzC;IAAG,SAAS,EAAC;EAAoB,EAAG,CAChC,CACF,CACF,CACL;AAEP,CAAC;AAEDP,OAAO,CAACQ,SAAS,GAAG;EAClBP,IAAI,EAAEH,SAAS,CAACW,MAAM,CAACC;AACzB,CAAC;AAED,eAAeV,OAAO"}
@@ -1 +1 @@
1
- {"version":3,"file":"Image.js","names":["React","PropTypes","Image","url","name","children","propTypes","string","isRequired","oneOfType","arrayOf","node"],"sources":["../../../../src/components/FilePreview/Image/Image.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst Image = ({ url, name, children }) => (\n <div className=\"preview\">\n <div className=\"preview__file preview__file--image\">\n <img src={url} alt={name} />\n <div className=\"preview__details preview__details--file\">\n <p>\n <strong>File details</strong>\n <a href={url} rel=\"noopener noreferrer\" target=\"_blank\">\n Original\n </a>\n </p>\n </div>\n </div>\n {children}\n </div>\n);\n\nImage.propTypes = {\n url: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired\n};\n\nexport { Image };\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAElC,MAAMC,KAAK,GAAG,CAAC;EAAEC,GAAG;EAAEC,IAAI;EAAEC;AAAS,CAAC,kBACpC;EAAK,SAAS,EAAC;AAAS,gBACtB;EAAK,SAAS,EAAC;AAAoC,gBACjD;EAAK,GAAG,EAAEF,GAAI;EAAC,GAAG,EAAEC;AAAK,EAAG,eAC5B;EAAK,SAAS,EAAC;AAAyC,gBACtD,4CACE,mDAA6B,eAC7B;EAAG,IAAI,EAAED,GAAI;EAAC,GAAG,EAAC,qBAAqB;EAAC,MAAM,EAAC;AAAQ,cAEnD,CACF,CACA,CACF,EACLE,QAAQ,CAEZ;AAEDH,KAAK,CAACI,SAAS,GAAG;EAChBH,GAAG,EAAEF,SAAS,CAACM,MAAM,CAACC,UAAU;EAChCJ,IAAI,EAAEH,SAAS,CAACM,MAAM,CAACC,UAAU;EACjCH,QAAQ,EAAEJ,SAAS,CAACQ,SAAS,CAAC,CAACR,SAAS,CAACS,OAAO,CAACT,SAAS,CAACU,IAAI,CAAC,EAAEV,SAAS,CAACU,IAAI,CAAC,CAAC,CAACH;AACrF,CAAC;AAED,SAASN,KAAK"}
1
+ {"version":3,"file":"Image.js","names":["React","PropTypes","Image","url","name","children","propTypes","string","isRequired","oneOfType","arrayOf","node"],"sources":["../../../../src/components/FilePreview/Image/Image.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst Image = ({ url, name, children }) => (\n <div className=\"preview\">\n <div className=\"preview__file preview__file--image\">\n <img src={url} alt={name} />\n <div className=\"preview__details preview__details--file\">\n <p>\n <strong>File details</strong>\n <a href={url} rel=\"noopener noreferrer\" target=\"_blank\">\n Original\n </a>\n </p>\n </div>\n </div>\n {children}\n </div>\n);\n\nImage.propTypes = {\n url: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired\n};\n\nexport { Image };\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAElC,MAAMC,KAAK,GAAG,CAAC;EAAEC,GAAG;EAAEC,IAAI;EAAEC;AAAS,CAAC,kBACpC;EAAK,SAAS,EAAC;AAAS,gBACtB;EAAK,SAAS,EAAC;AAAoC,gBACjD;EAAK,GAAG,EAAEF,GAAI;EAAC,GAAG,EAAEC;AAAK,EAAG,eAC5B;EAAK,SAAS,EAAC;AAAyC,gBACtD,4CACE,oCAAQ,cAAY,CAAS,eAC7B;EAAG,IAAI,EAAED,GAAI;EAAC,GAAG,EAAC,qBAAqB;EAAC,MAAM,EAAC;AAAQ,GAAC,UAExD,CAAI,CACF,CACA,CACF,EACLE,QAAQ,CAEZ;AAEDH,KAAK,CAACI,SAAS,GAAG;EAChBH,GAAG,EAAEF,SAAS,CAACM,MAAM,CAACC,UAAU;EAChCJ,IAAI,EAAEH,SAAS,CAACM,MAAM,CAACC,UAAU;EACjCH,QAAQ,EAAEJ,SAAS,CAACQ,SAAS,CAAC,CAACR,SAAS,CAACS,OAAO,CAACT,SAAS,CAACU,IAAI,CAAC,EAAEV,SAAS,CAACU,IAAI,CAAC,CAAC,CAACH;AACrF,CAAC;AAED,SAASN,KAAK"}
@@ -1 +1 @@
1
- {"version":3,"file":"PDF.js","names":["React","PropTypes","PDF","mimetype","url","name","children","propTypes","string","isRequired","oneOfType","arrayOf","node"],"sources":["../../../../src/components/FilePreview/PDF/PDF.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst PDF = ({ mimetype, url, name, children }) => (\n <div className=\"preview\">\n <div className=\"preview__file preview__file--pdf\">\n <object data={url} type={mimetype} className=\"preview__file--pdf\">\n <p>\n <a href={url} rel=\"noopener noreferrer\" target=\"_blank\">\n Download {name}\n </a>\n </p>\n </object>\n <div className=\"preview__details preview__details--file\">\n <p>\n <strong>File details</strong>\n <a href={url} rel=\"noopener noreferrer\" target=\"_blank\">\n Original\n </a>\n </p>\n </div>\n </div>\n {children}\n </div>\n);\n\nPDF.propTypes = {\n mimetype: PropTypes.string.isRequired,\n url: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired\n};\n\nexport { PDF };\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAElC,MAAMC,GAAG,GAAG,CAAC;EAAEC,QAAQ;EAAEC,GAAG;EAAEC,IAAI;EAAEC;AAAS,CAAC,kBAC5C;EAAK,SAAS,EAAC;AAAS,gBACtB;EAAK,SAAS,EAAC;AAAkC,gBAC/C;EAAQ,IAAI,EAAEF,GAAI;EAAC,IAAI,EAAED,QAAS;EAAC,SAAS,EAAC;AAAoB,gBAC/D,4CACE;EAAG,IAAI,EAAEC,GAAI;EAAC,GAAG,EAAC,qBAAqB;EAAC,MAAM,EAAC;AAAQ,gBAC3CC,IAAI,CACZ,CACF,CACG,eACT;EAAK,SAAS,EAAC;AAAyC,gBACtD,4CACE,mDAA6B,eAC7B;EAAG,IAAI,EAAED,GAAI;EAAC,GAAG,EAAC,qBAAqB;EAAC,MAAM,EAAC;AAAQ,cAEnD,CACF,CACA,CACF,EACLE,QAAQ,CAEZ;AAEDJ,GAAG,CAACK,SAAS,GAAG;EACdJ,QAAQ,EAAEF,SAAS,CAACO,MAAM,CAACC,UAAU;EACrCL,GAAG,EAAEH,SAAS,CAACO,MAAM,CAACC,UAAU;EAChCJ,IAAI,EAAEJ,SAAS,CAACO,MAAM,CAACC,UAAU;EACjCH,QAAQ,EAAEL,SAAS,CAACS,SAAS,CAAC,CAACT,SAAS,CAACU,OAAO,CAACV,SAAS,CAACW,IAAI,CAAC,EAAEX,SAAS,CAACW,IAAI,CAAC,CAAC,CAACH;AACrF,CAAC;AAED,SAASP,GAAG"}
1
+ {"version":3,"file":"PDF.js","names":["React","PropTypes","PDF","mimetype","url","name","children","propTypes","string","isRequired","oneOfType","arrayOf","node"],"sources":["../../../../src/components/FilePreview/PDF/PDF.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst PDF = ({ mimetype, url, name, children }) => (\n <div className=\"preview\">\n <div className=\"preview__file preview__file--pdf\">\n <object data={url} type={mimetype} className=\"preview__file--pdf\">\n <p>\n <a href={url} rel=\"noopener noreferrer\" target=\"_blank\">\n Download {name}\n </a>\n </p>\n </object>\n <div className=\"preview__details preview__details--file\">\n <p>\n <strong>File details</strong>\n <a href={url} rel=\"noopener noreferrer\" target=\"_blank\">\n Original\n </a>\n </p>\n </div>\n </div>\n {children}\n </div>\n);\n\nPDF.propTypes = {\n mimetype: PropTypes.string.isRequired,\n url: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired\n};\n\nexport { PDF };\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAElC,MAAMC,GAAG,GAAG,CAAC;EAAEC,QAAQ;EAAEC,GAAG;EAAEC,IAAI;EAAEC;AAAS,CAAC,kBAC5C;EAAK,SAAS,EAAC;AAAS,gBACtB;EAAK,SAAS,EAAC;AAAkC,gBAC/C;EAAQ,IAAI,EAAEF,GAAI;EAAC,IAAI,EAAED,QAAS;EAAC,SAAS,EAAC;AAAoB,gBAC/D,4CACE;EAAG,IAAI,EAAEC,GAAI;EAAC,GAAG,EAAC,qBAAqB;EAAC,MAAM,EAAC;AAAQ,GAAC,WAC7C,EAACC,IAAI,CACZ,CACF,CACG,eACT;EAAK,SAAS,EAAC;AAAyC,gBACtD,4CACE,oCAAQ,cAAY,CAAS,eAC7B;EAAG,IAAI,EAAED,GAAI;EAAC,GAAG,EAAC,qBAAqB;EAAC,MAAM,EAAC;AAAQ,GAAC,UAExD,CAAI,CACF,CACA,CACF,EACLE,QAAQ,CAEZ;AAEDJ,GAAG,CAACK,SAAS,GAAG;EACdJ,QAAQ,EAAEF,SAAS,CAACO,MAAM,CAACC,UAAU;EACrCL,GAAG,EAAEH,SAAS,CAACO,MAAM,CAACC,UAAU;EAChCJ,IAAI,EAAEJ,SAAS,CAACO,MAAM,CAACC,UAAU;EACjCH,QAAQ,EAAEL,SAAS,CAACS,SAAS,CAAC,CAACT,SAAS,CAACU,OAAO,CAACV,SAAS,CAACW,IAAI,CAAC,EAAEX,SAAS,CAACW,IAAI,CAAC,CAAC,CAACH;AACrF,CAAC;AAED,SAASP,GAAG"}
@@ -1 +1 @@
1
- {"version":3,"file":"RawPDF.js","names":["React","PropTypes","Actions","RawPDF","mimetype","url","name","file","propTypes","string","isRequired","object"],"sources":["../../../../src/components/FilePreview/PDF/RawPDF.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Actions from '../Actions';\n\nconst RawPDF = ({ mimetype, url, name, file }) => (\n <div className=\"FilePreview\">\n <object data={url} type={mimetype} className=\"preview__file--pdf\">\n <p>\n <a href={url} rel=\"noopener noreferrer\" target=\"_blank\">\n Download {name}\n </a>\n </p>\n </object>\n <div className=\"FilePreviewItem__info\">\n <p className=\"FilePreviewItem__info__fileName\">{name}</p>\n <Actions file={file} />\n </div>\n </div>\n);\n\nRawPDF.propTypes = {\n mimetype: PropTypes.string.isRequired,\n url: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n file: PropTypes.object.isRequired\n};\n\nexport { RawPDF };\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,OAAO,MAAM,YAAY;AAEhC,MAAMC,MAAM,GAAG,CAAC;EAAEC,QAAQ;EAAEC,GAAG;EAAEC,IAAI;EAAEC;AAAK,CAAC,kBAC3C;EAAK,SAAS,EAAC;AAAa,gBAC1B;EAAQ,IAAI,EAAEF,GAAI;EAAC,IAAI,EAAED,QAAS;EAAC,SAAS,EAAC;AAAoB,gBAC/D,4CACE;EAAG,IAAI,EAAEC,GAAI;EAAC,GAAG,EAAC,qBAAqB;EAAC,MAAM,EAAC;AAAQ,gBAC3CC,IAAI,CACZ,CACF,CACG,eACT;EAAK,SAAS,EAAC;AAAuB,gBACpC;EAAG,SAAS,EAAC;AAAiC,GAAEA,IAAI,CAAK,eACzD,oBAAC,OAAO;EAAC,IAAI,EAAEC;AAAK,EAAG,CACnB,CAET;AAEDJ,MAAM,CAACK,SAAS,GAAG;EACjBJ,QAAQ,EAAEH,SAAS,CAACQ,MAAM,CAACC,UAAU;EACrCL,GAAG,EAAEJ,SAAS,CAACQ,MAAM,CAACC,UAAU;EAChCJ,IAAI,EAAEL,SAAS,CAACQ,MAAM,CAACC,UAAU;EACjCH,IAAI,EAAEN,SAAS,CAACU,MAAM,CAACD;AACzB,CAAC;AAED,SAASP,MAAM"}
1
+ {"version":3,"file":"RawPDF.js","names":["React","PropTypes","Actions","RawPDF","mimetype","url","name","file","propTypes","string","isRequired","object"],"sources":["../../../../src/components/FilePreview/PDF/RawPDF.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Actions from '../Actions';\n\nconst RawPDF = ({ mimetype, url, name, file }) => (\n <div className=\"FilePreview\">\n <object data={url} type={mimetype} className=\"preview__file--pdf\">\n <p>\n <a href={url} rel=\"noopener noreferrer\" target=\"_blank\">\n Download {name}\n </a>\n </p>\n </object>\n <div className=\"FilePreviewItem__info\">\n <p className=\"FilePreviewItem__info__fileName\">{name}</p>\n <Actions file={file} />\n </div>\n </div>\n);\n\nRawPDF.propTypes = {\n mimetype: PropTypes.string.isRequired,\n url: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n file: PropTypes.object.isRequired\n};\n\nexport { RawPDF };\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,OAAO,MAAM,YAAY;AAEhC,MAAMC,MAAM,GAAG,CAAC;EAAEC,QAAQ;EAAEC,GAAG;EAAEC,IAAI;EAAEC;AAAK,CAAC,kBAC3C;EAAK,SAAS,EAAC;AAAa,gBAC1B;EAAQ,IAAI,EAAEF,GAAI;EAAC,IAAI,EAAED,QAAS;EAAC,SAAS,EAAC;AAAoB,gBAC/D,4CACE;EAAG,IAAI,EAAEC,GAAI;EAAC,GAAG,EAAC,qBAAqB;EAAC,MAAM,EAAC;AAAQ,GAAC,WAC7C,EAACC,IAAI,CACZ,CACF,CACG,eACT;EAAK,SAAS,EAAC;AAAuB,gBACpC;EAAG,SAAS,EAAC;AAAiC,GAAEA,IAAI,CAAK,eACzD,oBAAC,OAAO;EAAC,IAAI,EAAEC;AAAK,EAAG,CACnB,CAET;AAEDJ,MAAM,CAACK,SAAS,GAAG;EACjBJ,QAAQ,EAAEH,SAAS,CAACQ,MAAM,CAACC,UAAU;EACrCL,GAAG,EAAEJ,SAAS,CAACQ,MAAM,CAACC,UAAU;EAChCJ,IAAI,EAAEL,SAAS,CAACQ,MAAM,CAACC,UAAU;EACjCH,IAAI,EAAEN,SAAS,CAACU,MAAM,CAACD;AACzB,CAAC;AAED,SAASP,MAAM"}
@@ -1 +1 @@
1
- {"version":3,"file":"get-preview.js","names":["React","pdf","image","schemas","default","component","schema","getPreview","mimetype","previewType","Preview"],"sources":["../../../src/components/FilePreview/get-preview.js"],"sourcesContent":["import React from 'react';\nimport { pdf } from './PDF';\nimport { image } from './Image';\n\nconst schemas = {\n 'application/pdf': pdf,\n 'image/gif': image,\n 'image/jpg': image,\n 'image/jpeg': image,\n 'image/png': image,\n 'image/bmp': image,\n 'image/svg+xml': image,\n 'image/tiff': image,\n 'image/webp': image,\n default: {\n component: () => <div>Preview not available</div>,\n schema: null\n }\n};\n\nconst getPreview = ({ mimetype, previewType }) => {\n const { component, schema } = schemas[mimetype] || schemas.default;\n const Preview = component[previewType] || component;\n return [Preview, schema];\n};\n\nexport { getPreview };\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,GAAG,QAAQ,OAAO;AAC3B,SAASC,KAAK,QAAQ,SAAS;AAE/B,MAAMC,OAAO,GAAG;EACd,iBAAiB,EAAEF,GAAG;EACtB,WAAW,EAAEC,KAAK;EAClB,WAAW,EAAEA,KAAK;EAClB,YAAY,EAAEA,KAAK;EACnB,WAAW,EAAEA,KAAK;EAClB,WAAW,EAAEA,KAAK;EAClB,eAAe,EAAEA,KAAK;EACtB,YAAY,EAAEA,KAAK;EACnB,YAAY,EAAEA,KAAK;EACnBE,OAAO,EAAE;IACPC,SAAS,EAAE,mBAAM,yDAAgC;IACjDC,MAAM,EAAE;EACV;AACF,CAAC;AAED,MAAMC,UAAU,GAAG,CAAC;EAAEC,QAAQ;EAAEC;AAAY,CAAC,KAAK;EAChD,MAAM;IAAEJ,SAAS;IAAEC;EAAO,CAAC,GAAGH,OAAO,CAACK,QAAQ,CAAC,IAAIL,OAAO,CAACC,OAAO;EAClE,MAAMM,OAAO,GAAGL,SAAS,CAACI,WAAW,CAAC,IAAIJ,SAAS;EACnD,OAAO,CAACK,OAAO,EAAEJ,MAAM,CAAC;AAC1B,CAAC;AAED,SAASC,UAAU"}
1
+ {"version":3,"file":"get-preview.js","names":["React","pdf","image","schemas","default","component","schema","getPreview","mimetype","previewType","Preview"],"sources":["../../../src/components/FilePreview/get-preview.js"],"sourcesContent":["import React from 'react';\nimport { pdf } from './PDF';\nimport { image } from './Image';\n\nconst schemas = {\n 'application/pdf': pdf,\n 'image/gif': image,\n 'image/jpg': image,\n 'image/jpeg': image,\n 'image/png': image,\n 'image/bmp': image,\n 'image/svg+xml': image,\n 'image/tiff': image,\n 'image/webp': image,\n default: {\n component: () => <div>Preview not available</div>,\n schema: null\n }\n};\n\nconst getPreview = ({ mimetype, previewType }) => {\n const { component, schema } = schemas[mimetype] || schemas.default;\n const Preview = component[previewType] || component;\n return [Preview, schema];\n};\n\nexport { getPreview };\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,GAAG,QAAQ,OAAO;AAC3B,SAASC,KAAK,QAAQ,SAAS;AAE/B,MAAMC,OAAO,GAAG;EACd,iBAAiB,EAAEF,GAAG;EACtB,WAAW,EAAEC,KAAK;EAClB,WAAW,EAAEA,KAAK;EAClB,YAAY,EAAEA,KAAK;EACnB,WAAW,EAAEA,KAAK;EAClB,WAAW,EAAEA,KAAK;EAClB,eAAe,EAAEA,KAAK;EACtB,YAAY,EAAEA,KAAK;EACnB,YAAY,EAAEA,KAAK;EACnBE,OAAO,EAAE;IACPC,SAAS,EAAE,mBAAM,iCAAK,uBAAqB,CAAM;IACjDC,MAAM,EAAE;EACV;AACF,CAAC;AAED,MAAMC,UAAU,GAAG,CAAC;EAAEC,QAAQ;EAAEC;AAAY,CAAC,KAAK;EAChD,MAAM;IAAEJ,SAAS;IAAEC;EAAO,CAAC,GAAGH,OAAO,CAACK,QAAQ,CAAC,IAAIL,OAAO,CAACC,OAAO;EAClE,MAAMM,OAAO,GAAGL,SAAS,CAACI,WAAW,CAAC,IAAIJ,SAAS;EACnD,OAAO,CAACK,OAAO,EAAEJ,MAAM,CAAC;AAC1B,CAAC;AAED,SAASC,UAAU"}
@@ -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","InjectPreview","FormContext","currentLimit","displayModal","setDisplayModal","initialValue","currentValue","setCurrentValue","currentOffset","setCurrentOffset","selectedFiles","setSelectedFiles","editFile","setEditFile","client","addToast","getFiles","offset","ids","fetchAll","data","files","newFiles","query","variables","limit","where","_in","skip","length","fetchPolicy","initialFiles","filter","_","i","orderedFiles","orderFiles","fetchMore","shouldFetchAll","newOffset","updatedOffset","offsetToUse","handleSelectedFiles","checkIsUnselecting","isUnselectingFile","valueArray","selectedFilesIds","valueId","includes","parsedValue","filesIds","event","target","name","fileData","handleReorderFiles","map","fileId","closeModalAndSetValue","isSaving","fileUploadButtonText","filesPending","onOpenLibrary","handleEditModal","file","selectedEditFile","find","_id","handleEditFileForm","editedFile","values","valuesChecked","altText","caption","credits","hrefUrl","currentId","Boolean","modalActions","textButton","callback","modifiers","editModalActions","editedFileId","updatedSelectedFiles","selectedFile","mutate","mutation","input","update","cache","updateFile","fileUpdated","writeQuery","result","appearance","autoDismiss","e","console","error","filesPendingString","fileListSpan","onUnselectFile","previewerId","fileName","propTypes","func","isRequired","string","oneOfType","array","number","bool","defaultProps"],"sources":["../../../src/components/FileUploadAdapter/FileUploadAdapter.js"],"sourcesContent":["import React, { useState, useContext, useEffect } from 'react';\nimport FileUpload from '@blaze-react/file-upload';\nimport PropTypes from 'prop-types';\nimport { useApolloClient } from '@apollo/client';\nimport { getQuery, getMutation, ModalAdapter as Modal } from '@blaze-cms/admin-ui-utils';\nimport { parseFormValues } from '@blaze-cms/react-form-builder';\nimport useToasts from '@blaze-react/toaster/lib/Toast/useToasts';\nimport { MORE } from '../../constants';\nimport ListingContainer from '../ListingContainer';\nimport { MediaContextProvider } from '../../utils/media-context';\nimport FileList from './FileList';\nimport useLimit from './useLimit';\nimport {\n getFormat,\n formatInitialValue,\n transformToArray,\n isUnselecting,\n getButtonText,\n getNumberFilesPendingToFetch\n} from './mappers';\nimport FilePreview from '../FilePreview';\n\nconst FileUploadAdapter = ({\n onChange,\n label,\n id,\n type,\n value,\n maxItems,\n shouldRenderInPreview,\n canDragAndDrop\n}) => {\n const { InjectPreview } = useContext(FileUploadAdapter.FormContext);\n const [currentLimit] = useLimit(maxItems);\n const [displayModal, setDisplayModal] = useState(false);\n const initialValue = formatInitialValue({ value, type });\n const [currentValue, setCurrentValue] = useState(initialValue);\n const [currentOffset, setCurrentOffset] = useState(0);\n const [selectedFiles, setSelectedFiles] = useState([]);\n const [editFile, setEditFile] = useState(null);\n const client = useApolloClient();\n const { addToast } = useToasts();\n\n const getFiles = async (offset, ids, fetchAll) => {\n const {\n data: { files: newFiles }\n } = await client.query({\n query: getQuery('GET_FILES'),\n variables: {\n limit: fetchAll ? 0 : 4,\n offset,\n where: {\n id: {\n _in: ids\n }\n }\n },\n skip: !currentValue.length,\n fetchPolicy: 'network-only'\n });\n return newFiles;\n };\n\n useEffect(\n () => {\n (async () => {\n const initialFiles = !selectedFiles.length\n ? currentValue.filter((_, i) => i <= 3)\n : currentValue;\n\n const files = await getFiles(0, initialFiles);\n const orderedFiles = orderFiles(files, currentValue);\n setCurrentOffset(0);\n setSelectedFiles(orderedFiles);\n })();\n },\n [currentValue] //eslint-disable-line\n );\n\n const fetchMore = async shouldFetchAll => {\n if (selectedFiles.length === currentValue.length) return;\n const newOffset = currentOffset + 4;\n const updatedOffset = newOffset > currentValue.length ? currentValue.length : newOffset;\n const offsetToUse = shouldFetchAll ? 0 : updatedOffset;\n const files = await getFiles(offsetToUse, currentValue, shouldFetchAll);\n const newFiles = [...selectedFiles, ...files];\n const orderedFiles = orderFiles(newFiles, currentValue);\n setSelectedFiles(orderedFiles);\n setCurrentOffset(newOffset);\n };\n\n const handleSelectedFiles = (files, checkIsUnselecting = true) => {\n const isUnselectingFile = isUnselecting(value, checkIsUnselecting, files);\n if (isUnselectingFile) {\n const valueArray = transformToArray(value);\n const selectedFilesIds = valueArray.filter(valueId => !files.includes(valueId));\n const parsedValue = getFormat(type, { filesIds: selectedFilesIds });\n setCurrentValue(selectedFilesIds);\n return onChange({\n event: {\n target: {\n value: parsedValue,\n name: id,\n type,\n fileData: selectedFilesIds.length ? selectedFilesIds : null\n }\n },\n value: parsedValue\n });\n }\n\n setCurrentValue(files);\n };\n\n const handleReorderFiles = files => {\n const filesIds = files.map(({ id: fileId }) => fileId);\n const parsedValue = getFormat(type, { filesIds });\n setSelectedFiles(files);\n\n return onChange({\n event: {\n target: {\n value: parsedValue,\n name: id,\n type,\n fileData: filesIds\n }\n },\n value: parsedValue\n });\n };\n\n const closeModalAndSetValue = isSaving => {\n if (isSaving) {\n const parsedValue = getFormat(type, { filesIds: currentValue });\n setDisplayModal(false);\n return onChange({\n event: { target: { value: parsedValue, name: id, type, currentValue } },\n value: parsedValue\n });\n }\n\n setCurrentValue(initialValue);\n setDisplayModal(false);\n };\n\n const fileUploadButtonText = getButtonText({ maxItems, value: initialValue });\n\n const filesPending = getNumberFilesPendingToFetch(currentOffset, currentValue);\n const onOpenLibrary = () => setDisplayModal(true);\n const handleEditModal = file => {\n const selectedEditFile = selectedFiles.find(({ id: _id }) => _id === file.id);\n setEditFile(selectedEditFile);\n };\n\n const handleEditFileForm = editedFile => {\n const values = parseFormValues(editedFile.valuesChecked);\n\n const { altText, caption, credits, hrefUrl, name } = values;\n setEditFile({\n ...editFile,\n name,\n data: {\n altText,\n caption,\n credits,\n hrefUrl\n }\n });\n };\n\n const orderFiles = (files, ids) =>\n ids.map(currentId => files.find(({ id: fileId }) => fileId === currentId)).filter(Boolean);\n\n const modalActions = [\n {\n textButton: 'Cancel',\n callback: () => {\n closeModalAndSetValue();\n },\n modifiers: ['cancel']\n },\n {\n textButton: 'Save',\n callback: () => {\n closeModalAndSetValue(true);\n },\n modifiers: []\n }\n ];\n\n const editModalActions = [\n {\n textButton: 'Cancel',\n callback: () => {\n setEditFile(null);\n },\n modifiers: ['cancel']\n },\n {\n textButton: 'Save',\n callback: async () => {\n const { name, id: editedFileId, data } = editFile;\n const updatedSelectedFiles = selectedFiles.map(selectedFile => {\n if (selectedFile.id === editedFileId) {\n return { ...selectedFile, name, data };\n }\n return selectedFile;\n });\n setSelectedFiles(updatedSelectedFiles);\n\n try {\n await client.mutate({\n mutation: getMutation('UPDATE_FILE'),\n variables: {\n input: {\n name,\n data,\n id: editedFileId\n }\n },\n update(\n cache,\n {\n data: { updateFile: fileUpdated }\n }\n ) {\n cache.writeQuery({\n query: getQuery('GET_FILE_BY_ID'),\n variables: { id },\n data: { file: fileUpdated.result }\n });\n }\n });\n\n addToast(`File: ${editFile.name} has been updated`, {\n appearance: 'success',\n autoDismiss: true\n });\n closeModalAndSetValue(true);\n setEditFile(null);\n } catch (e) {\n addToast(`File: ${editFile.name} has not been updated`, {\n appearance: 'error',\n autoDismiss: true\n });\n console.error(e); //eslint-disable-line\n }\n },\n modifiers: []\n }\n ];\n const filesPendingString = `${filesPending} ${MORE}`;\n const fileListSpan = filesPending ? (\n // eslint-disable-next-line jsx-a11y/no-static-element-interactions\n <span className=\"FileUploadAdapter__preview-link button button--link\" onClick={fetchMore}>\n + {filesPendingString}\n </span>\n ) : null;\n\n return (\n <>\n <div className=\"form-field form-field--button\">\n <label>{label}</label>\n {selectedFiles && (\n <>\n <MediaContextProvider value={{ handleEditModal, onUnselectFile: handleSelectedFiles }}>\n {shouldRenderInPreview ? (\n <InjectPreview selector={FileUploadAdapter.previewerId}>\n <FileList\n selectedFiles={selectedFiles}\n allFiles={currentValue}\n handleReorderFiles={handleReorderFiles}\n canDragAndDrop={canDragAndDrop}\n fetchMore={fetchMore}>\n {fileListSpan}\n </FileList>\n </InjectPreview>\n ) : (\n <FileList\n selectedFiles={selectedFiles}\n handleReorderFiles={handleReorderFiles}\n fetchMore={fetchMore}\n />\n )}\n </MediaContextProvider>\n </>\n )}\n <FileUpload\n actionText={fileUploadButtonText}\n handleLibraryClick={onOpenLibrary}\n enableDragAndDrop={false}\n />\n </div>\n {editFile && (\n <Modal actions={editModalActions} title=\"Edit File\" onClose={() => setEditFile(null)}>\n <FilePreview\n file={editFile}\n fileName={editFile.fileName}\n handleFormChange={handleEditFileForm}\n displayForm\n previewType=\"card\"\n />\n </Modal>\n )}\n {displayModal && (\n <div className=\"file-upload-modal-wrapper\">\n <Modal\n actions={modalActions}\n className=\"file-upload-modal\"\n title=\"Media library\"\n onClose={() => closeModalAndSetValue()}>\n <ListingContainer\n handleSelectedFiles={handleSelectedFiles}\n maxItems={currentLimit}\n filesSelected={currentValue.length > 1 ? currentValue : []}\n />\n </Modal>\n </div>\n )}\n </>\n );\n};\n\nFileUploadAdapter.propTypes = {\n onChange: PropTypes.func.isRequired,\n label: PropTypes.string.isRequired,\n id: PropTypes.string.isRequired,\n type: PropTypes.string.isRequired,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.array]),\n maxItems: PropTypes.oneOfType([PropTypes.number, PropTypes.bool]),\n shouldRenderInPreview: PropTypes.bool,\n canDragAndDrop: PropTypes.bool\n};\n\nFileUploadAdapter.defaultProps = {\n value: '',\n maxItems: false,\n shouldRenderInPreview: false,\n canDragAndDrop: false\n};\n\nexport default FileUploadAdapter;\n"],"mappings":"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"}
1
+ {"version":3,"file":"FileUploadAdapter.js","names":["React","useState","useContext","useEffect","FileUpload","PropTypes","useApolloClient","getQuery","getMutation","ModalAdapter","Modal","parseFormValues","useToasts","MORE","ListingContainer","MediaContextProvider","FileList","useLimit","getFormat","formatInitialValue","transformToArray","isUnselecting","getButtonText","getNumberFilesPendingToFetch","FilePreview","FileUploadAdapter","onChange","label","id","type","value","maxItems","shouldRenderInPreview","canDragAndDrop","InjectPreview","FormContext","currentLimit","displayModal","setDisplayModal","initialValue","currentValue","setCurrentValue","currentOffset","setCurrentOffset","selectedFiles","setSelectedFiles","editFile","setEditFile","client","addToast","getFiles","offset","ids","fetchAll","data","files","newFiles","query","variables","limit","where","_in","skip","length","fetchPolicy","initialFiles","filter","_","i","orderedFiles","orderFiles","fetchMore","shouldFetchAll","newOffset","updatedOffset","offsetToUse","handleSelectedFiles","checkIsUnselecting","isUnselectingFile","valueArray","selectedFilesIds","valueId","includes","parsedValue","filesIds","event","target","name","fileData","handleReorderFiles","map","fileId","closeModalAndSetValue","isSaving","fileUploadButtonText","filesPending","onOpenLibrary","handleEditModal","file","selectedEditFile","find","_id","handleEditFileForm","editedFile","values","valuesChecked","altText","caption","credits","hrefUrl","currentId","Boolean","modalActions","textButton","callback","modifiers","editModalActions","editedFileId","updatedSelectedFiles","selectedFile","mutate","mutation","input","update","cache","updateFile","fileUpdated","writeQuery","result","appearance","autoDismiss","e","console","error","filesPendingString","fileListSpan","onUnselectFile","previewerId","fileName","propTypes","func","isRequired","string","oneOfType","array","number","bool","defaultProps"],"sources":["../../../src/components/FileUploadAdapter/FileUploadAdapter.js"],"sourcesContent":["import React, { useState, useContext, useEffect } from 'react';\nimport FileUpload from '@blaze-react/file-upload';\nimport PropTypes from 'prop-types';\nimport { useApolloClient } from '@apollo/client';\nimport { getQuery, getMutation, ModalAdapter as Modal } from '@blaze-cms/admin-ui-utils';\nimport { parseFormValues } from '@blaze-cms/react-form-builder';\nimport useToasts from '@blaze-react/toaster/lib/Toast/useToasts';\nimport { MORE } from '../../constants';\nimport ListingContainer from '../ListingContainer';\nimport { MediaContextProvider } from '../../utils/media-context';\nimport FileList from './FileList';\nimport useLimit from './useLimit';\nimport {\n getFormat,\n formatInitialValue,\n transformToArray,\n isUnselecting,\n getButtonText,\n getNumberFilesPendingToFetch\n} from './mappers';\nimport FilePreview from '../FilePreview';\n\nconst FileUploadAdapter = ({\n onChange,\n label,\n id,\n type,\n value,\n maxItems,\n shouldRenderInPreview,\n canDragAndDrop\n}) => {\n const { InjectPreview } = useContext(FileUploadAdapter.FormContext);\n const [currentLimit] = useLimit(maxItems);\n const [displayModal, setDisplayModal] = useState(false);\n const initialValue = formatInitialValue({ value, type });\n const [currentValue, setCurrentValue] = useState(initialValue);\n const [currentOffset, setCurrentOffset] = useState(0);\n const [selectedFiles, setSelectedFiles] = useState([]);\n const [editFile, setEditFile] = useState(null);\n const client = useApolloClient();\n const { addToast } = useToasts();\n\n const getFiles = async (offset, ids, fetchAll) => {\n const {\n data: { files: newFiles }\n } = await client.query({\n query: getQuery('GET_FILES'),\n variables: {\n limit: fetchAll ? 0 : 4,\n offset,\n where: {\n id: {\n _in: ids\n }\n }\n },\n skip: !currentValue.length,\n fetchPolicy: 'network-only'\n });\n return newFiles;\n };\n\n useEffect(\n () => {\n (async () => {\n const initialFiles = !selectedFiles.length\n ? currentValue.filter((_, i) => i <= 3)\n : currentValue;\n\n const files = await getFiles(0, initialFiles);\n const orderedFiles = orderFiles(files, currentValue);\n setCurrentOffset(0);\n setSelectedFiles(orderedFiles);\n })();\n },\n [currentValue] //eslint-disable-line\n );\n\n const fetchMore = async shouldFetchAll => {\n if (selectedFiles.length === currentValue.length) return;\n const newOffset = currentOffset + 4;\n const updatedOffset = newOffset > currentValue.length ? currentValue.length : newOffset;\n const offsetToUse = shouldFetchAll ? 0 : updatedOffset;\n const files = await getFiles(offsetToUse, currentValue, shouldFetchAll);\n const newFiles = [...selectedFiles, ...files];\n const orderedFiles = orderFiles(newFiles, currentValue);\n setSelectedFiles(orderedFiles);\n setCurrentOffset(newOffset);\n };\n\n const handleSelectedFiles = (files, checkIsUnselecting = true) => {\n const isUnselectingFile = isUnselecting(value, checkIsUnselecting, files);\n if (isUnselectingFile) {\n const valueArray = transformToArray(value);\n const selectedFilesIds = valueArray.filter(valueId => !files.includes(valueId));\n const parsedValue = getFormat(type, { filesIds: selectedFilesIds });\n setCurrentValue(selectedFilesIds);\n return onChange({\n event: {\n target: {\n value: parsedValue,\n name: id,\n type,\n fileData: selectedFilesIds.length ? selectedFilesIds : null\n }\n },\n value: parsedValue\n });\n }\n\n setCurrentValue(files);\n };\n\n const handleReorderFiles = files => {\n const filesIds = files.map(({ id: fileId }) => fileId);\n const parsedValue = getFormat(type, { filesIds });\n setSelectedFiles(files);\n\n return onChange({\n event: {\n target: {\n value: parsedValue,\n name: id,\n type,\n fileData: filesIds\n }\n },\n value: parsedValue\n });\n };\n\n const closeModalAndSetValue = isSaving => {\n if (isSaving) {\n const parsedValue = getFormat(type, { filesIds: currentValue });\n setDisplayModal(false);\n return onChange({\n event: { target: { value: parsedValue, name: id, type, currentValue } },\n value: parsedValue\n });\n }\n\n setCurrentValue(initialValue);\n setDisplayModal(false);\n };\n\n const fileUploadButtonText = getButtonText({ maxItems, value: initialValue });\n\n const filesPending = getNumberFilesPendingToFetch(currentOffset, currentValue);\n const onOpenLibrary = () => setDisplayModal(true);\n const handleEditModal = file => {\n const selectedEditFile = selectedFiles.find(({ id: _id }) => _id === file.id);\n setEditFile(selectedEditFile);\n };\n\n const handleEditFileForm = editedFile => {\n const values = parseFormValues(editedFile.valuesChecked);\n\n const { altText, caption, credits, hrefUrl, name } = values;\n setEditFile({\n ...editFile,\n name,\n data: {\n altText,\n caption,\n credits,\n hrefUrl\n }\n });\n };\n\n const orderFiles = (files, ids) =>\n ids.map(currentId => files.find(({ id: fileId }) => fileId === currentId)).filter(Boolean);\n\n const modalActions = [\n {\n textButton: 'Cancel',\n callback: () => {\n closeModalAndSetValue();\n },\n modifiers: ['cancel']\n },\n {\n textButton: 'Save',\n callback: () => {\n closeModalAndSetValue(true);\n },\n modifiers: []\n }\n ];\n\n const editModalActions = [\n {\n textButton: 'Cancel',\n callback: () => {\n setEditFile(null);\n },\n modifiers: ['cancel']\n },\n {\n textButton: 'Save',\n callback: async () => {\n const { name, id: editedFileId, data } = editFile;\n const updatedSelectedFiles = selectedFiles.map(selectedFile => {\n if (selectedFile.id === editedFileId) {\n return { ...selectedFile, name, data };\n }\n return selectedFile;\n });\n setSelectedFiles(updatedSelectedFiles);\n\n try {\n await client.mutate({\n mutation: getMutation('UPDATE_FILE'),\n variables: {\n input: {\n name,\n data,\n id: editedFileId\n }\n },\n update(\n cache,\n {\n data: { updateFile: fileUpdated }\n }\n ) {\n cache.writeQuery({\n query: getQuery('GET_FILE_BY_ID'),\n variables: { id },\n data: { file: fileUpdated.result }\n });\n }\n });\n\n addToast(`File: ${editFile.name} has been updated`, {\n appearance: 'success',\n autoDismiss: true\n });\n closeModalAndSetValue(true);\n setEditFile(null);\n } catch (e) {\n addToast(`File: ${editFile.name} has not been updated`, {\n appearance: 'error',\n autoDismiss: true\n });\n console.error(e); //eslint-disable-line\n }\n },\n modifiers: []\n }\n ];\n const filesPendingString = `${filesPending} ${MORE}`;\n const fileListSpan = filesPending ? (\n // eslint-disable-next-line jsx-a11y/no-static-element-interactions\n <span className=\"FileUploadAdapter__preview-link button button--link\" onClick={fetchMore}>\n + {filesPendingString}\n </span>\n ) : null;\n\n return (\n <>\n <div className=\"form-field form-field--button\">\n <label>{label}</label>\n {selectedFiles && (\n <>\n <MediaContextProvider value={{ handleEditModal, onUnselectFile: handleSelectedFiles }}>\n {shouldRenderInPreview ? (\n <InjectPreview selector={FileUploadAdapter.previewerId}>\n <FileList\n selectedFiles={selectedFiles}\n allFiles={currentValue}\n handleReorderFiles={handleReorderFiles}\n canDragAndDrop={canDragAndDrop}\n fetchMore={fetchMore}>\n {fileListSpan}\n </FileList>\n </InjectPreview>\n ) : (\n <FileList\n selectedFiles={selectedFiles}\n handleReorderFiles={handleReorderFiles}\n fetchMore={fetchMore}\n />\n )}\n </MediaContextProvider>\n </>\n )}\n <FileUpload\n actionText={fileUploadButtonText}\n handleLibraryClick={onOpenLibrary}\n enableDragAndDrop={false}\n />\n </div>\n {editFile && (\n <Modal actions={editModalActions} title=\"Edit File\" onClose={() => setEditFile(null)}>\n <FilePreview\n file={editFile}\n fileName={editFile.fileName}\n handleFormChange={handleEditFileForm}\n displayForm\n previewType=\"card\"\n />\n </Modal>\n )}\n {displayModal && (\n <div className=\"file-upload-modal-wrapper\">\n <Modal\n actions={modalActions}\n className=\"file-upload-modal\"\n title=\"Media library\"\n onClose={() => closeModalAndSetValue()}>\n <ListingContainer\n handleSelectedFiles={handleSelectedFiles}\n maxItems={currentLimit}\n filesSelected={currentValue.length > 1 ? currentValue : []}\n />\n </Modal>\n </div>\n )}\n </>\n );\n};\n\nFileUploadAdapter.propTypes = {\n onChange: PropTypes.func.isRequired,\n label: PropTypes.string.isRequired,\n id: PropTypes.string.isRequired,\n type: PropTypes.string.isRequired,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.array]),\n maxItems: PropTypes.oneOfType([PropTypes.number, PropTypes.bool]),\n shouldRenderInPreview: PropTypes.bool,\n canDragAndDrop: PropTypes.bool\n};\n\nFileUploadAdapter.defaultProps = {\n value: '',\n maxItems: false,\n shouldRenderInPreview: false,\n canDragAndDrop: false\n};\n\nexport default FileUploadAdapter;\n"],"mappings":"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"}
@@ -1 +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","label"],"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 options={storeOptions}\n onChange={onSelectFilter}\n selected={selectedFilter.storeKey}\n />\n </div>\n <SearchBar\n search={() =>\n changeSelectedFilter({ filter: selectedFilter.filter, isSearch: true, searchTerm })\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,GAAG,MAAM;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,YAAY,CACb;EACD,MAAM;IAAES,WAAW;IAAEC;EAAK,CAAC,GAAGT,WAAW,EAAE;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,CAAC,CACzB;EAED,MAAMW,gBAAgB,GAAG,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,GAAG,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,EAAE;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,GAAG,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,EAAE;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,CAAE,UAASC,KAAM,EAAC,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,oBACE;IAAK,SAAS,EAAC;EAAc,gBAC3B;IAAK,SAAS,EAAC;EAAuB,gBACpC;IAAI,SAAS,EAAC;EAAoB,GAC/B5B,OAAO,CAAC0B,GAAG,CACV,CAAC;IAAEG,KAAK;IAAErB;EAAG,CAAC,KACZP,cAAc,CAACa,MAAM,KAAKN,EAAE,gBAC1B;IAAI,GAAG,EAAEqB,KAAM;IAAC,SAAS,EAAC;EAAyB,gBACjD;IAAG,OAAO,EAAE,MAAMhB,cAAc,CAACL,EAAE;EAAE,GAClCqB,KAAK,QAAIxB,IAAI,CAACG,EAAE,CAAC,MAChB,CACD,gBAEL;IAAI,GAAG,EAAEqB,KAAM;IAAC,SAAS,EAAC;EAAgC,GACvDA,KAAK,QAAIxB,IAAI,CAACG,EAAE,CAAC,MAErB,CACJ,CACE,eACL;IAAK,SAAS,EAAC;EAA0B,gBACvC;IAAK,SAAS,EAAEgB;EAAiB,EAAG,CAChC,CACF,eACN;IAAK,SAAS,EAAC;EAAgC,gBAC7C;IAAK,SAAS,EAAC;EAAiB,gBAC9B,oBAAC,MAAM;IACL,OAAO,EAAEC,YAAa;IACtB,QAAQ,EAAEN,cAAe;IACzB,QAAQ,EAAElB,cAAc,CAACW;EAAS,EAClC,CACE,eACN,oBAAC,SAAS;IACR,MAAM,EAAE,MACNV,oBAAoB,CAAC;MAAEY,MAAM,EAAEb,cAAc,CAACa,MAAM;MAAEC,QAAQ,EAAE,IAAI;MAAEjB;IAAW,CAAC,CACnF;IACD,aAAa,EAAEkB,aAAc;IAC7B,UAAU,EAAElB,UAAW;IACvB,gBAAgB,EAAEW,gBAAiB;IACnC,WAAW,EAAC,qBAAqB;IACjC,KAAK,EAAE;EAAM,EACb,CACE,CACF;AAEV,CAAC;AAED,eAAeZ,WAAW"}
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","label"],"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 options={storeOptions}\n onChange={onSelectFilter}\n selected={selectedFilter.storeKey}\n />\n </div>\n <SearchBar\n search={() =>\n changeSelectedFilter({ filter: selectedFilter.filter, isSearch: true, searchTerm })\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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"}