@blaze-cms/plugin-media-ui 0.139.0 → 0.139.1-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +11 -0
- package/lib/components/FileList/useGetFiles/useGetFiles.js +1 -1
- package/lib/components/FileList/useGetFiles/useGetFiles.js.map +1 -1
- package/lib/components/ListingContainer/Listing/MediaListing/MediaFileList/MediaFileList.js +7 -7
- package/lib/components/ListingContainer/Listing/MediaListing/MediaFileList/MediaFileList.js.map +1 -1
- package/lib/components/ListingContainer/Listing/MediaListing/MediaListing.js +3 -5
- package/lib/components/ListingContainer/Listing/MediaListing/MediaListing.js.map +1 -1
- package/lib-es/components/FileList/useGetFiles/useGetFiles.js +1 -1
- package/lib-es/components/FileList/useGetFiles/useGetFiles.js.map +1 -1
- package/lib-es/components/ListingContainer/Listing/MediaListing/MediaFileList/MediaFileList.js +7 -7
- package/lib-es/components/ListingContainer/Listing/MediaListing/MediaFileList/MediaFileList.js.map +1 -1
- package/lib-es/components/ListingContainer/Listing/MediaListing/MediaListing.js +2 -2
- package/lib-es/components/ListingContainer/Listing/MediaListing/MediaListing.js.map +1 -1
- package/package.json +3 -3
- package/src/components/FileList/useGetFiles/useGetFiles.js +1 -1
- package/src/components/ListingContainer/Listing/MediaListing/MediaFileList/MediaFileList.js +15 -8
- package/src/components/ListingContainer/Listing/MediaListing/MediaListing.js +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,17 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [0.139.1-alpha.0](https://github.com/thebyte9/blaze/compare/v0.139.0...v0.139.1-alpha.0) (2024-02-12)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* add content cta display error ([#4242](https://github.com/thebyte9/blaze/issues/4242)) ([414fdb1](https://github.com/thebyte9/blaze/commit/414fdb1d9f61b3b9700945f1d0dd463cb76b9880))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
6
17
|
# [0.139.0](https://github.com/thebyte9/blaze/compare/v0.139.0-alpha.7...v0.139.0) (2024-01-31)
|
|
7
18
|
|
|
8
19
|
**Note:** Version bump only for package @blaze-cms/plugin-media-ui
|
|
@@ -57,7 +57,7 @@ function useGetFiles() {
|
|
|
57
57
|
_useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
|
|
58
58
|
data = _useState10[0],
|
|
59
59
|
setData = _useState10[1];
|
|
60
|
-
var _useState11 = (0, _react.useState)(
|
|
60
|
+
var _useState11 = (0, _react.useState)(true),
|
|
61
61
|
_useState12 = (0, _slicedToArray2["default"])(_useState11, 2),
|
|
62
62
|
isLoading = _useState12[0],
|
|
63
63
|
setIsLoading = _useState12[1];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useGetFiles.js","names":["_react","require","_client","_getFiles","_interopRequireDefault","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","useGetFiles","_useState","useState","limit","offset","where","sort","property","direction","_useState2","_slicedToArray2","queryParams","setQueryParams","_useState3","_useState4","previousFilter","setPreviousFilter","_useState5","_useState6","previousOffset","setPreviousOffset","_useState7","_useState8","previousSearchTerm","setPreviousSearchTerm","_useState9","files","total","_useState10","data","setData","_useState11","_useState12","isLoading","setIsLoading","client","useApolloClient","setParams","newQueryParams","useEffect","searchTerm","isSearch","newFilter","JSON","stringify","isNewFilterSet","isNewOffsetSet","isNewSearchTermSet","isResetSearch","shouldRequest","fetchData","_fetchData","_asyncToGenerator2","_regenerator","mark","_callee","_yield$getFiles","all","image","video","text","wrap","_callee$","_context","prev","next","getFiles","sent","stop","then","loading","_default","exports"],"sources":["../../../../src/components/FileList/useGetFiles/useGetFiles.js"],"sourcesContent":["import { useState, useEffect } from 'react';\nimport { useApolloClient } from '@apollo/client';\nimport getFiles from './getFiles';\n\nfunction useGetFiles() {\n const [queryParams, setQueryParams] = useState({\n limit: 20,\n offset: 0,\n where: null,\n sort: [\n {\n property: 'updated',\n direction: 'desc'\n }\n ]\n });\n const [previousFilter, setPreviousFilter] = useState(null);\n const [previousOffset, setPreviousOffset] = useState(null);\n const [previousSearchTerm, setPreviousSearchTerm] = useState(null);\n const [data, setData] = useState({ files: [], total: 0 });\n const [isLoading, setIsLoading] = useState(
|
|
1
|
+
{"version":3,"file":"useGetFiles.js","names":["_react","require","_client","_getFiles","_interopRequireDefault","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","useGetFiles","_useState","useState","limit","offset","where","sort","property","direction","_useState2","_slicedToArray2","queryParams","setQueryParams","_useState3","_useState4","previousFilter","setPreviousFilter","_useState5","_useState6","previousOffset","setPreviousOffset","_useState7","_useState8","previousSearchTerm","setPreviousSearchTerm","_useState9","files","total","_useState10","data","setData","_useState11","_useState12","isLoading","setIsLoading","client","useApolloClient","setParams","newQueryParams","useEffect","searchTerm","isSearch","newFilter","JSON","stringify","isNewFilterSet","isNewOffsetSet","isNewSearchTermSet","isResetSearch","shouldRequest","fetchData","_fetchData","_asyncToGenerator2","_regenerator","mark","_callee","_yield$getFiles","all","image","video","text","wrap","_callee$","_context","prev","next","getFiles","sent","stop","then","loading","_default","exports"],"sources":["../../../../src/components/FileList/useGetFiles/useGetFiles.js"],"sourcesContent":["import { useState, useEffect } from 'react';\nimport { useApolloClient } from '@apollo/client';\nimport getFiles from './getFiles';\n\nfunction useGetFiles() {\n const [queryParams, setQueryParams] = useState({\n limit: 20,\n offset: 0,\n where: null,\n sort: [\n {\n property: 'updated',\n direction: 'desc'\n }\n ]\n });\n const [previousFilter, setPreviousFilter] = useState(null);\n const [previousOffset, setPreviousOffset] = useState(null);\n const [previousSearchTerm, setPreviousSearchTerm] = useState(null);\n const [data, setData] = useState({ files: [], total: 0 });\n const [isLoading, setIsLoading] = useState(true);\n const client = useApolloClient();\n\n const setParams = newQueryParams => {\n setQueryParams({ ...queryParams, ...newQueryParams });\n };\n\n useEffect(\n () => {\n const { offset, limit, where, sort, searchTerm, isSearch } = queryParams;\n const newFilter = JSON.stringify(where);\n const isNewFilterSet = newFilter !== previousFilter;\n const isNewOffsetSet = previousOffset !== null && offset !== previousOffset;\n const isNewSearchTermSet = searchTerm && previousSearchTerm !== searchTerm;\n const isResetSearch = searchTerm === null && !isSearch && previousFilter;\n const shouldRequest =\n where && (isNewOffsetSet || isNewFilterSet || isNewSearchTermSet || isResetSearch);\n async function fetchData() {\n if (data.files.length) {\n setData({ files: [] });\n }\n\n const { files, total, all, image, video, text } = await getFiles(\n { offset, limit, where, sort, searchTerm, isSearch },\n client\n );\n setData({ files, total, all, image, video, text });\n }\n\n if (shouldRequest) {\n setIsLoading(true);\n fetchData().then(() => {\n setIsLoading(false);\n });\n setPreviousFilter(newFilter);\n setPreviousOffset(offset);\n setPreviousSearchTerm(searchTerm);\n }\n },\n [queryParams, previousOffset, previousFilter] //eslint-disable-line\n );\n\n const { files, total, all, image, video, text } = data;\n return [\n {\n queryParams,\n previousFilter,\n previousSearchTerm,\n loading: isLoading,\n data: { files, total, all, image, video, text }\n },\n setParams\n ];\n}\n\nexport default useGetFiles;\n"],"mappings":"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"}
|
|
@@ -72,6 +72,10 @@ var MediaFileList = function MediaFileList(_ref) {
|
|
|
72
72
|
getSelectedFiles = _useMediaContext.getSelectedFiles,
|
|
73
73
|
selectedFiles = _useMediaContext.selectedFiles,
|
|
74
74
|
selectedFilter = _useMediaContext.selectedFilter;
|
|
75
|
+
var hasFiles = !!data.files && !!data.files.length;
|
|
76
|
+
(0, _react.useEffect)(function () {
|
|
77
|
+
if (!loading && !hasFiles) setDisplayCardPrompt(true);
|
|
78
|
+
}, [loading, hasFiles, setDisplayCardPrompt]);
|
|
75
79
|
(0, _react.useEffect)(function () {
|
|
76
80
|
setVerifiedRanges([]);
|
|
77
81
|
setCurrentListIndex(0);
|
|
@@ -115,7 +119,7 @@ var MediaFileList = function MediaFileList(_ref) {
|
|
|
115
119
|
};
|
|
116
120
|
}, [listHeight, wrapperRef]);
|
|
117
121
|
var searchedTerm = queryParams.searchTerm && "".concat(queryParams.searchTerm, " -");
|
|
118
|
-
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null,
|
|
122
|
+
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, hasFiles && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("p", {
|
|
119
123
|
className: "media__fileList-counter"
|
|
120
124
|
}, searchedTerm, " ", data[selectedFilter.filter], " items"), /*#__PURE__*/_react["default"].createElement(_reactTinyVirtualList["default"], {
|
|
121
125
|
width: "100%",
|
|
@@ -155,14 +159,10 @@ var MediaFileList = function MediaFileList(_ref) {
|
|
|
155
159
|
removeFile: removeFile
|
|
156
160
|
}));
|
|
157
161
|
}
|
|
158
|
-
}))
|
|
159
|
-
onClose: function onClose() {
|
|
160
|
-
setDisplayCardPrompt(false);
|
|
161
|
-
}
|
|
162
|
-
}, /*#__PURE__*/_react["default"].createElement(_button["default"], {
|
|
162
|
+
})), displayCardPrompt && /*#__PURE__*/_react["default"].createElement(_admin.CardPrompt, null, /*#__PURE__*/_react["default"].createElement(_button["default"], {
|
|
163
163
|
onClick: onClickPrompt,
|
|
164
164
|
className: "button button--rounded button--cta"
|
|
165
|
-
}, "Add"))
|
|
165
|
+
}, "Add")));
|
|
166
166
|
};
|
|
167
167
|
MediaFileList.propTypes = {
|
|
168
168
|
setDisplayCardPrompt: _propTypes["default"].func.isRequired,
|
package/lib/components/ListingContainer/Listing/MediaListing/MediaFileList/MediaFileList.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MediaFileList.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_admin","_button","_reactTinyVirtualList","_mediaContext","_CardMedia","_mappers","_useFileList2","_constants","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","MediaFileList","_ref","displayCardPrompt","setDisplayCardPrompt","displayLayout","wrapperRef","modalTargetRef","_useState","useState","_useState2","_slicedToArray2","currentListIndex","setCurrentListIndex","_useState3","_useState4","verifiedRanges","setVerifiedRanges","_useState5","_useState6","listHeight","setListHeight","_useFileList","useFileList","queryParams","data","loading","setQueryParams","clearList","removeFile","updateFile","_useMediaContext","useMediaContext","MediaContext","onClickPrompt","getSelectedFiles","selectedFiles","selectedFilter","useEffect","where","AVAILABLE_FILTER_TYPES","storeKey","isSearch","searchTerm","handleRenderedItems","_ref2","startIndex","rowsLength","files","loadIndex","Math","floor","MEDIA_OVER_SCAN_COUNT","includes","offset","concat","_toConsumableArray2","handleListHeight","current","clientHeight","window","addEventListener","removeEventListener","searchedTerm","createElement","Fragment","className","width","height","itemCount","itemSize","MEDIA_LIST_ITEM_SIZE","overscanCount","scrollToIndex","onItemsRendered","renderItem","_ref3","index","style","_data$files$index","name","url","mimetype","id","isSelected","existPrevious","key","latestQueryToRefetchParams","onSelected","selected","CardPrompt","onClose","onClick","propTypes","PropTypes","func","isRequired","bool","string","object","defaultProps","_default","exports"],"sources":["../../../../../../src/components/ListingContainer/Listing/MediaListing/MediaFileList/MediaFileList.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { CardPrompt } from '@blaze-cms/admin';\nimport Button from '@blaze-react/button';\nimport VirtualList from 'react-tiny-virtual-list';\nimport { useMediaContext, MediaContext } from '../../../../../utils/media-context';\nimport CardMedia from '../../../../CardMedia';\nimport { existPrevious } from '../../../mappers';\nimport useFileList from '../../../../FileList/useFileList';\nimport {\n MEDIA_LIST_ITEM_SIZE,\n MEDIA_OVER_SCAN_COUNT,\n AVAILABLE_FILTER_TYPES\n} from '../../../../../constants';\n\nconst MediaFileList = ({\n displayCardPrompt,\n setDisplayCardPrompt,\n displayLayout,\n wrapperRef,\n modalTargetRef\n}) => {\n const [currentListIndex, setCurrentListIndex] = useState(1);\n const [verifiedRanges, setVerifiedRanges] = useState([]);\n const [listHeight, setListHeight] = useState(null);\n const {\n queryParams,\n data,\n loading,\n setQueryParams,\n clearList,\n removeFile,\n updateFile\n } = useFileList();\n const { onClickPrompt, getSelectedFiles, selectedFiles, selectedFilter } = useMediaContext(\n MediaContext\n );\n\n useEffect(\n () => {\n setVerifiedRanges([]);\n setCurrentListIndex(0);\n setQueryParams({\n where: {\n ...AVAILABLE_FILTER_TYPES[selectedFilter.filter],\n storeKey: selectedFilter.storeKey\n },\n isSearch: selectedFilter.isSearch,\n searchTerm: selectedFilter.searchTerm\n });\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n selectedFilter.filter,\n selectedFilter.storeKey,\n selectedFilter.isSearch,\n selectedFilter.searchTerm\n ]\n );\n\n const handleRenderedItems = ({ startIndex }) => {\n const rowsLength = data.files.length;\n const loadIndex = Math.floor(rowsLength / 3) - MEDIA_OVER_SCAN_COUNT;\n\n if (loadIndex > 0 && loadIndex < startIndex && !verifiedRanges.includes(loadIndex)) {\n setQueryParams({\n offset: data.files.length,\n where: {\n ...AVAILABLE_FILTER_TYPES[selectedFilter.filter],\n storeKey: selectedFilter.storeKey\n },\n isSearch: selectedFilter.isSearch,\n searchTerm: selectedFilter.searchTerm\n });\n setVerifiedRanges([...verifiedRanges, loadIndex]);\n setCurrentListIndex(startIndex + MEDIA_OVER_SCAN_COUNT);\n }\n };\n\n useEffect(\n () => {\n const handleListHeight = () => {\n setListHeight(wrapperRef.current.clientHeight - 40);\n };\n\n if (wrapperRef.current) {\n handleListHeight();\n window.addEventListener('resize', handleListHeight);\n }\n return () => {\n window.removeEventListener('resize', handleListHeight);\n };\n },\n [listHeight, wrapperRef]\n );\n\n const searchedTerm = queryParams.searchTerm && `${queryParams.searchTerm} -`;\n\n return (\n <>\n {data.files && data.files.length ? (\n <>\n <p className=\"media__fileList-counter\">\n {searchedTerm} {data[selectedFilter.filter]} items\n </p>\n <VirtualList\n width=\"100%\"\n height={listHeight}\n itemCount={data.files.length}\n itemSize={MEDIA_LIST_ITEM_SIZE}\n overscanCount={MEDIA_OVER_SCAN_COUNT}\n scrollToIndex={currentListIndex}\n onItemsRendered={handleRenderedItems}\n renderItem={({ index, style }) => {\n const { name, url, mimetype, id } = data.files[index];\n const isSelected = existPrevious(selectedFiles, id);\n return (\n <div key={index} style={style} className=\"list__item--resultWrapper\">\n <CardMedia\n updateFile={updateFile}\n clearList={clearList}\n latestQueryToRefetchParams={queryParams}\n modalTargetRef={modalTargetRef}\n onSelected={getSelectedFiles}\n key={id}\n displayLayout={displayLayout}\n selected={!!isSelected}\n name={name}\n url={url}\n mimetype={mimetype}\n id={id}\n index={index}\n removeFile={removeFile}\n />\n </div>\n );\n }}\n />\n </>\n ) : null}\n {!loading && data.files && !data.files.length && displayCardPrompt ? (\n <CardPrompt\n onClose={() => {\n setDisplayCardPrompt(false);\n }}>\n <Button onClick={onClickPrompt} className=\"button button--rounded button--cta\">\n Add\n </Button>\n </CardPrompt>\n ) : null}\n </>\n );\n};\n\nMediaFileList.propTypes = {\n setDisplayCardPrompt: PropTypes.func.isRequired,\n displayCardPrompt: PropTypes.bool,\n displayLayout: PropTypes.string.isRequired,\n wrapperRef: PropTypes.object.isRequired,\n modalTargetRef: PropTypes.object.isRequired\n};\n\nMediaFileList.defaultProps = {\n displayCardPrompt: true\n};\n\nexport default MediaFileList;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MediaFileList.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_admin","_button","_reactTinyVirtualList","_mediaContext","_CardMedia","_mappers","_useFileList2","_constants","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","MediaFileList","_ref","displayCardPrompt","setDisplayCardPrompt","displayLayout","wrapperRef","modalTargetRef","_useState","useState","_useState2","_slicedToArray2","currentListIndex","setCurrentListIndex","_useState3","_useState4","verifiedRanges","setVerifiedRanges","_useState5","_useState6","listHeight","setListHeight","_useFileList","useFileList","queryParams","data","loading","setQueryParams","clearList","removeFile","updateFile","_useMediaContext","useMediaContext","MediaContext","onClickPrompt","getSelectedFiles","selectedFiles","selectedFilter","hasFiles","files","useEffect","where","AVAILABLE_FILTER_TYPES","storeKey","isSearch","searchTerm","handleRenderedItems","_ref2","startIndex","rowsLength","loadIndex","Math","floor","MEDIA_OVER_SCAN_COUNT","includes","offset","concat","_toConsumableArray2","handleListHeight","current","clientHeight","window","addEventListener","removeEventListener","searchedTerm","createElement","Fragment","className","width","height","itemCount","itemSize","MEDIA_LIST_ITEM_SIZE","overscanCount","scrollToIndex","onItemsRendered","renderItem","_ref3","index","style","_data$files$index","name","url","mimetype","id","isSelected","existPrevious","key","latestQueryToRefetchParams","onSelected","selected","CardPrompt","onClick","propTypes","PropTypes","func","isRequired","bool","string","object","defaultProps","_default","exports"],"sources":["../../../../../../src/components/ListingContainer/Listing/MediaListing/MediaFileList/MediaFileList.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { CardPrompt } from '@blaze-cms/admin';\nimport Button from '@blaze-react/button';\nimport VirtualList from 'react-tiny-virtual-list';\nimport { useMediaContext, MediaContext } from '../../../../../utils/media-context';\nimport CardMedia from '../../../../CardMedia';\nimport { existPrevious } from '../../../mappers';\nimport useFileList from '../../../../FileList/useFileList';\nimport {\n MEDIA_LIST_ITEM_SIZE,\n MEDIA_OVER_SCAN_COUNT,\n AVAILABLE_FILTER_TYPES\n} from '../../../../../constants';\n\nconst MediaFileList = ({\n displayCardPrompt,\n setDisplayCardPrompt,\n displayLayout,\n wrapperRef,\n modalTargetRef\n}) => {\n const [currentListIndex, setCurrentListIndex] = useState(1);\n const [verifiedRanges, setVerifiedRanges] = useState([]);\n const [listHeight, setListHeight] = useState(null);\n const {\n queryParams,\n data,\n loading,\n setQueryParams,\n clearList,\n removeFile,\n updateFile\n } = useFileList();\n\n const { onClickPrompt, getSelectedFiles, selectedFiles, selectedFilter } = useMediaContext(\n MediaContext\n );\n\n const hasFiles = !!data.files && !!data.files.length;\n\n useEffect(\n () => {\n if (!loading && !hasFiles) setDisplayCardPrompt(true);\n },\n [loading, hasFiles, setDisplayCardPrompt]\n );\n\n useEffect(\n () => {\n setVerifiedRanges([]);\n setCurrentListIndex(0);\n setQueryParams({\n where: {\n ...AVAILABLE_FILTER_TYPES[selectedFilter.filter],\n storeKey: selectedFilter.storeKey\n },\n isSearch: selectedFilter.isSearch,\n searchTerm: selectedFilter.searchTerm\n });\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n selectedFilter.filter,\n selectedFilter.storeKey,\n selectedFilter.isSearch,\n selectedFilter.searchTerm\n ]\n );\n\n const handleRenderedItems = ({ startIndex }) => {\n const rowsLength = data.files.length;\n const loadIndex = Math.floor(rowsLength / 3) - MEDIA_OVER_SCAN_COUNT;\n\n if (loadIndex > 0 && loadIndex < startIndex && !verifiedRanges.includes(loadIndex)) {\n setQueryParams({\n offset: data.files.length,\n where: {\n ...AVAILABLE_FILTER_TYPES[selectedFilter.filter],\n storeKey: selectedFilter.storeKey\n },\n isSearch: selectedFilter.isSearch,\n searchTerm: selectedFilter.searchTerm\n });\n setVerifiedRanges([...verifiedRanges, loadIndex]);\n setCurrentListIndex(startIndex + MEDIA_OVER_SCAN_COUNT);\n }\n };\n\n useEffect(\n () => {\n const handleListHeight = () => {\n setListHeight(wrapperRef.current.clientHeight - 40);\n };\n\n if (wrapperRef.current) {\n handleListHeight();\n window.addEventListener('resize', handleListHeight);\n }\n return () => {\n window.removeEventListener('resize', handleListHeight);\n };\n },\n [listHeight, wrapperRef]\n );\n\n const searchedTerm = queryParams.searchTerm && `${queryParams.searchTerm} -`;\n\n return (\n <>\n {hasFiles && (\n <>\n <p className=\"media__fileList-counter\">\n {searchedTerm} {data[selectedFilter.filter]} items\n </p>\n <VirtualList\n width=\"100%\"\n height={listHeight}\n itemCount={data.files.length}\n itemSize={MEDIA_LIST_ITEM_SIZE}\n overscanCount={MEDIA_OVER_SCAN_COUNT}\n scrollToIndex={currentListIndex}\n onItemsRendered={handleRenderedItems}\n renderItem={({ index, style }) => {\n const { name, url, mimetype, id } = data.files[index];\n const isSelected = existPrevious(selectedFiles, id);\n return (\n <div key={index} style={style} className=\"list__item--resultWrapper\">\n <CardMedia\n updateFile={updateFile}\n clearList={clearList}\n latestQueryToRefetchParams={queryParams}\n modalTargetRef={modalTargetRef}\n onSelected={getSelectedFiles}\n key={id}\n displayLayout={displayLayout}\n selected={!!isSelected}\n name={name}\n url={url}\n mimetype={mimetype}\n id={id}\n index={index}\n removeFile={removeFile}\n />\n </div>\n );\n }}\n />\n </>\n )}\n {displayCardPrompt && (\n <CardPrompt>\n <Button onClick={onClickPrompt} className=\"button button--rounded button--cta\">\n Add\n </Button>\n </CardPrompt>\n )}\n </>\n );\n};\n\nMediaFileList.propTypes = {\n setDisplayCardPrompt: PropTypes.func.isRequired,\n displayCardPrompt: PropTypes.bool,\n displayLayout: PropTypes.string.isRequired,\n wrapperRef: PropTypes.object.isRequired,\n modalTargetRef: PropTypes.object.isRequired\n};\n\nMediaFileList.defaultProps = {\n displayCardPrompt: true\n};\n\nexport default MediaFileList;\n"],"mappings":"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"}
|
|
@@ -19,10 +19,10 @@ var _MediaFileList = _interopRequireDefault(require("./MediaFileList"));
|
|
|
19
19
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
20
20
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
21
21
|
var MediaListing = function MediaListing() {
|
|
22
|
-
var _useState = (0, _react.useState)(
|
|
22
|
+
var _useState = (0, _react.useState)(false),
|
|
23
23
|
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
24
24
|
displayCardPrompt = _useState2[0],
|
|
25
|
-
|
|
25
|
+
setDisplayCardPrompt = _useState2[1];
|
|
26
26
|
var mediaFileListWrapperRef = (0, _react.useRef)();
|
|
27
27
|
var modalTargetRef = (0, _react.useRef)();
|
|
28
28
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
@@ -34,9 +34,7 @@ var MediaListing = function MediaListing() {
|
|
|
34
34
|
modalTargetRef: modalTargetRef,
|
|
35
35
|
wrapperRef: mediaFileListWrapperRef,
|
|
36
36
|
displayCardPrompt: displayCardPrompt,
|
|
37
|
-
setDisplayCardPrompt:
|
|
38
|
-
return _setDisplayCardPrompt(state);
|
|
39
|
-
},
|
|
37
|
+
setDisplayCardPrompt: setDisplayCardPrompt,
|
|
40
38
|
displayLayout: "list"
|
|
41
39
|
})), /*#__PURE__*/_react["default"].createElement("div", {
|
|
42
40
|
ref: modalTargetRef
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MediaListing.js","names":["_react","_interopRequireWildcard","require","_MediaFileList","_interopRequireDefault","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","MediaListing","_useState","useState","_useState2","_slicedToArray2","displayCardPrompt","setDisplayCardPrompt","mediaFileListWrapperRef","useRef","modalTargetRef","createElement","className","ref","wrapperRef","
|
|
1
|
+
{"version":3,"file":"MediaListing.js","names":["_react","_interopRequireWildcard","require","_MediaFileList","_interopRequireDefault","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","MediaListing","_useState","useState","_useState2","_slicedToArray2","displayCardPrompt","setDisplayCardPrompt","mediaFileListWrapperRef","useRef","modalTargetRef","createElement","className","ref","wrapperRef","displayLayout","propTypes","_default","exports"],"sources":["../../../../../src/components/ListingContainer/Listing/MediaListing/MediaListing.js"],"sourcesContent":["import React, { useState, useRef } from 'react';\nimport MediaFileList from './MediaFileList';\n\nconst MediaListing = () => {\n const [displayCardPrompt, setDisplayCardPrompt] = useState(false);\n const mediaFileListWrapperRef = useRef();\n const modalTargetRef = useRef();\n\n return (\n <div className=\"listing listing--media\">\n <div className=\"media\" ref={mediaFileListWrapperRef}>\n <MediaFileList\n modalTargetRef={modalTargetRef}\n wrapperRef={mediaFileListWrapperRef}\n displayCardPrompt={displayCardPrompt}\n setDisplayCardPrompt={setDisplayCardPrompt}\n displayLayout=\"list\"\n />\n </div>\n {/* render edit card modal outside of the virtual list */}\n <div ref={modalTargetRef} />\n </div>\n );\n};\n\nMediaListing.propTypes = {};\n\nexport default MediaListing;\n"],"mappings":";;;;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,cAAA,GAAAC,sBAAA,CAAAF,OAAA;AAA4C,SAAAG,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAL,wBAAAK,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,gBAAAK,OAAA,CAAAL,CAAA,0BAAAA,CAAA,sBAAAA,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,cAAAR,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAE5C,IAAMY,YAAY,GAAG,SAAfA,YAAYA,CAAA,EAAS;EACzB,IAAAC,SAAA,GAAkD,IAAAC,eAAQ,EAAC,KAAK,CAAC;IAAAC,UAAA,OAAAC,eAAA,aAAAH,SAAA;IAA1DI,iBAAiB,GAAAF,UAAA;IAAEG,oBAAoB,GAAAH,UAAA;EAC9C,IAAMI,uBAAuB,GAAG,IAAAC,aAAM,EAAC,CAAC;EACxC,IAAMC,cAAc,GAAG,IAAAD,aAAM,EAAC,CAAC;EAE/B,oBACElC,MAAA,YAAAoC,aAAA;IAAKC,SAAS,EAAC;EAAwB,gBACrCrC,MAAA,YAAAoC,aAAA;IAAKC,SAAS,EAAC,OAAO;IAACC,GAAG,EAAEL;EAAwB,gBAClDjC,MAAA,YAAAoC,aAAA,CAACjC,cAAA,WAAa;IACZgC,cAAc,EAAEA,cAAe;IAC/BI,UAAU,EAAEN,uBAAwB;IACpCF,iBAAiB,EAAEA,iBAAkB;IACrCC,oBAAoB,EAAEA,oBAAqB;IAC3CQ,aAAa,EAAC;EAAM,CACrB,CACE,CAAC,eAENxC,MAAA,YAAAoC,aAAA;IAAKE,GAAG,EAAEH;EAAe,CAAE,CACxB,CAAC;AAEV,CAAC;AAEDT,YAAY,CAACe,SAAS,GAAG,CAAC,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,cAEbjB,YAAY"}
|
|
@@ -21,7 +21,7 @@ function useGetFiles() {
|
|
|
21
21
|
files: [],
|
|
22
22
|
total: 0
|
|
23
23
|
});
|
|
24
|
-
const [isLoading, setIsLoading] = useState(
|
|
24
|
+
const [isLoading, setIsLoading] = useState(true);
|
|
25
25
|
const client = useApolloClient();
|
|
26
26
|
const setParams = newQueryParams => {
|
|
27
27
|
setQueryParams(_objectSpread(_objectSpread({}, queryParams), newQueryParams));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useGetFiles.js","names":["useState","useEffect","useApolloClient","getFiles","useGetFiles","queryParams","setQueryParams","limit","offset","where","sort","property","direction","previousFilter","setPreviousFilter","previousOffset","setPreviousOffset","previousSearchTerm","setPreviousSearchTerm","data","setData","files","total","isLoading","setIsLoading","client","setParams","newQueryParams","_objectSpread","searchTerm","isSearch","newFilter","JSON","stringify","isNewFilterSet","isNewOffsetSet","isNewSearchTermSet","isResetSearch","shouldRequest","fetchData","length","all","image","video","text","then","loading"],"sources":["../../../../src/components/FileList/useGetFiles/useGetFiles.js"],"sourcesContent":["import { useState, useEffect } from 'react';\nimport { useApolloClient } from '@apollo/client';\nimport getFiles from './getFiles';\n\nfunction useGetFiles() {\n const [queryParams, setQueryParams] = useState({\n limit: 20,\n offset: 0,\n where: null,\n sort: [\n {\n property: 'updated',\n direction: 'desc'\n }\n ]\n });\n const [previousFilter, setPreviousFilter] = useState(null);\n const [previousOffset, setPreviousOffset] = useState(null);\n const [previousSearchTerm, setPreviousSearchTerm] = useState(null);\n const [data, setData] = useState({ files: [], total: 0 });\n const [isLoading, setIsLoading] = useState(
|
|
1
|
+
{"version":3,"file":"useGetFiles.js","names":["useState","useEffect","useApolloClient","getFiles","useGetFiles","queryParams","setQueryParams","limit","offset","where","sort","property","direction","previousFilter","setPreviousFilter","previousOffset","setPreviousOffset","previousSearchTerm","setPreviousSearchTerm","data","setData","files","total","isLoading","setIsLoading","client","setParams","newQueryParams","_objectSpread","searchTerm","isSearch","newFilter","JSON","stringify","isNewFilterSet","isNewOffsetSet","isNewSearchTermSet","isResetSearch","shouldRequest","fetchData","length","all","image","video","text","then","loading"],"sources":["../../../../src/components/FileList/useGetFiles/useGetFiles.js"],"sourcesContent":["import { useState, useEffect } from 'react';\nimport { useApolloClient } from '@apollo/client';\nimport getFiles from './getFiles';\n\nfunction useGetFiles() {\n const [queryParams, setQueryParams] = useState({\n limit: 20,\n offset: 0,\n where: null,\n sort: [\n {\n property: 'updated',\n direction: 'desc'\n }\n ]\n });\n const [previousFilter, setPreviousFilter] = useState(null);\n const [previousOffset, setPreviousOffset] = useState(null);\n const [previousSearchTerm, setPreviousSearchTerm] = useState(null);\n const [data, setData] = useState({ files: [], total: 0 });\n const [isLoading, setIsLoading] = useState(true);\n const client = useApolloClient();\n\n const setParams = newQueryParams => {\n setQueryParams({ ...queryParams, ...newQueryParams });\n };\n\n useEffect(\n () => {\n const { offset, limit, where, sort, searchTerm, isSearch } = queryParams;\n const newFilter = JSON.stringify(where);\n const isNewFilterSet = newFilter !== previousFilter;\n const isNewOffsetSet = previousOffset !== null && offset !== previousOffset;\n const isNewSearchTermSet = searchTerm && previousSearchTerm !== searchTerm;\n const isResetSearch = searchTerm === null && !isSearch && previousFilter;\n const shouldRequest =\n where && (isNewOffsetSet || isNewFilterSet || isNewSearchTermSet || isResetSearch);\n async function fetchData() {\n if (data.files.length) {\n setData({ files: [] });\n }\n\n const { files, total, all, image, video, text } = await getFiles(\n { offset, limit, where, sort, searchTerm, isSearch },\n client\n );\n setData({ files, total, all, image, video, text });\n }\n\n if (shouldRequest) {\n setIsLoading(true);\n fetchData().then(() => {\n setIsLoading(false);\n });\n setPreviousFilter(newFilter);\n setPreviousOffset(offset);\n setPreviousSearchTerm(searchTerm);\n }\n },\n [queryParams, previousOffset, previousFilter] //eslint-disable-line\n );\n\n const { files, total, all, image, video, text } = data;\n return [\n {\n queryParams,\n previousFilter,\n previousSearchTerm,\n loading: isLoading,\n data: { files, total, all, image, video, text }\n },\n setParams\n ];\n}\n\nexport default useGetFiles;\n"],"mappings":"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"}
|
package/lib-es/components/ListingContainer/Listing/MediaListing/MediaFileList/MediaFileList.js
CHANGED
|
@@ -36,6 +36,10 @@ const MediaFileList = ({
|
|
|
36
36
|
selectedFiles,
|
|
37
37
|
selectedFilter
|
|
38
38
|
} = useMediaContext(MediaContext);
|
|
39
|
+
const hasFiles = !!data.files && !!data.files.length;
|
|
40
|
+
useEffect(() => {
|
|
41
|
+
if (!loading && !hasFiles) setDisplayCardPrompt(true);
|
|
42
|
+
}, [loading, hasFiles, setDisplayCardPrompt]);
|
|
39
43
|
useEffect(() => {
|
|
40
44
|
setVerifiedRanges([]);
|
|
41
45
|
setCurrentListIndex(0);
|
|
@@ -80,7 +84,7 @@ const MediaFileList = ({
|
|
|
80
84
|
};
|
|
81
85
|
}, [listHeight, wrapperRef]);
|
|
82
86
|
const searchedTerm = queryParams.searchTerm && `${queryParams.searchTerm} -`;
|
|
83
|
-
return /*#__PURE__*/React.createElement(React.Fragment, null,
|
|
87
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, hasFiles && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("p", {
|
|
84
88
|
className: "media__fileList-counter"
|
|
85
89
|
}, searchedTerm, " ", data[selectedFilter.filter], " items"), /*#__PURE__*/React.createElement(VirtualList, {
|
|
86
90
|
width: "100%",
|
|
@@ -122,14 +126,10 @@ const MediaFileList = ({
|
|
|
122
126
|
removeFile: removeFile
|
|
123
127
|
}));
|
|
124
128
|
}
|
|
125
|
-
}))
|
|
126
|
-
onClose: () => {
|
|
127
|
-
setDisplayCardPrompt(false);
|
|
128
|
-
}
|
|
129
|
-
}, /*#__PURE__*/React.createElement(Button, {
|
|
129
|
+
})), displayCardPrompt && /*#__PURE__*/React.createElement(CardPrompt, null, /*#__PURE__*/React.createElement(Button, {
|
|
130
130
|
onClick: onClickPrompt,
|
|
131
131
|
className: "button button--rounded button--cta"
|
|
132
|
-
}, "Add"))
|
|
132
|
+
}, "Add")));
|
|
133
133
|
};
|
|
134
134
|
MediaFileList.propTypes = {
|
|
135
135
|
setDisplayCardPrompt: PropTypes.func.isRequired,
|
package/lib-es/components/ListingContainer/Listing/MediaListing/MediaFileList/MediaFileList.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MediaFileList.js","names":["React","useState","useEffect","PropTypes","CardPrompt","Button","VirtualList","useMediaContext","MediaContext","CardMedia","existPrevious","useFileList","MEDIA_LIST_ITEM_SIZE","MEDIA_OVER_SCAN_COUNT","AVAILABLE_FILTER_TYPES","MediaFileList","displayCardPrompt","setDisplayCardPrompt","displayLayout","wrapperRef","modalTargetRef","currentListIndex","setCurrentListIndex","verifiedRanges","setVerifiedRanges","listHeight","setListHeight","queryParams","data","loading","setQueryParams","clearList","removeFile","updateFile","onClickPrompt","getSelectedFiles","selectedFiles","selectedFilter","where","_objectSpread","filter","storeKey","isSearch","searchTerm","handleRenderedItems","startIndex","rowsLength","files","length","loadIndex","Math","floor","includes","offset","handleListHeight","current","clientHeight","window","addEventListener","removeEventListener","searchedTerm","createElement","Fragment","className","width","height","itemCount","itemSize","overscanCount","scrollToIndex","onItemsRendered","renderItem","index","style","name","url","mimetype","id","isSelected","key","latestQueryToRefetchParams","onSelected","selected","onClose","onClick","propTypes","func","isRequired","bool","string","object","defaultProps"],"sources":["../../../../../../src/components/ListingContainer/Listing/MediaListing/MediaFileList/MediaFileList.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { CardPrompt } from '@blaze-cms/admin';\nimport Button from '@blaze-react/button';\nimport VirtualList from 'react-tiny-virtual-list';\nimport { useMediaContext, MediaContext } from '../../../../../utils/media-context';\nimport CardMedia from '../../../../CardMedia';\nimport { existPrevious } from '../../../mappers';\nimport useFileList from '../../../../FileList/useFileList';\nimport {\n MEDIA_LIST_ITEM_SIZE,\n MEDIA_OVER_SCAN_COUNT,\n AVAILABLE_FILTER_TYPES\n} from '../../../../../constants';\n\nconst MediaFileList = ({\n displayCardPrompt,\n setDisplayCardPrompt,\n displayLayout,\n wrapperRef,\n modalTargetRef\n}) => {\n const [currentListIndex, setCurrentListIndex] = useState(1);\n const [verifiedRanges, setVerifiedRanges] = useState([]);\n const [listHeight, setListHeight] = useState(null);\n const {\n queryParams,\n data,\n loading,\n setQueryParams,\n clearList,\n removeFile,\n updateFile\n } = useFileList();\n const { onClickPrompt, getSelectedFiles, selectedFiles, selectedFilter } = useMediaContext(\n MediaContext\n );\n\n useEffect(\n () => {\n setVerifiedRanges([]);\n setCurrentListIndex(0);\n setQueryParams({\n where: {\n ...AVAILABLE_FILTER_TYPES[selectedFilter.filter],\n storeKey: selectedFilter.storeKey\n },\n isSearch: selectedFilter.isSearch,\n searchTerm: selectedFilter.searchTerm\n });\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n selectedFilter.filter,\n selectedFilter.storeKey,\n selectedFilter.isSearch,\n selectedFilter.searchTerm\n ]\n );\n\n const handleRenderedItems = ({ startIndex }) => {\n const rowsLength = data.files.length;\n const loadIndex = Math.floor(rowsLength / 3) - MEDIA_OVER_SCAN_COUNT;\n\n if (loadIndex > 0 && loadIndex < startIndex && !verifiedRanges.includes(loadIndex)) {\n setQueryParams({\n offset: data.files.length,\n where: {\n ...AVAILABLE_FILTER_TYPES[selectedFilter.filter],\n storeKey: selectedFilter.storeKey\n },\n isSearch: selectedFilter.isSearch,\n searchTerm: selectedFilter.searchTerm\n });\n setVerifiedRanges([...verifiedRanges, loadIndex]);\n setCurrentListIndex(startIndex + MEDIA_OVER_SCAN_COUNT);\n }\n };\n\n useEffect(\n () => {\n const handleListHeight = () => {\n setListHeight(wrapperRef.current.clientHeight - 40);\n };\n\n if (wrapperRef.current) {\n 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":";;;AAAA,OAAOA,KAAK,IAAIC,QAAQ,EAAEC,SAAS,QAAQ,OAAO;AAClD,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,OAAOC,MAAM,MAAM,qBAAqB;AACxC,OAAOC,WAAW,MAAM,yBAAyB;AACjD,SAASC,eAAe,EAAEC,YAAY,QAAQ,oCAAoC;AAClF,OAAOC,SAAS,MAAM,uBAAuB;AAC7C,SAASC,aAAa,QAAQ,kBAAkB;AAChD,OAAOC,WAAW,MAAM,kCAAkC;AAC1D,SACEC,oBAAoB,EACpBC,qBAAqB,EACrBC,sBAAsB,QACjB,0BAA0B;AAEjC,MAAMC,aAAa,GAAGA,CAAC;EACrBC,iBAAiB;EACjBC,oBAAoB;EACpBC,aAAa;EACbC,UAAU;EACVC;AACF,CAAC,KAAK;EACJ,MAAM,CAACC,gBAAgB,EAAEC,mBAAmB,CAAC,GAAGrB,QAAQ,CAAC,CAAC,CAAC;EAC3D,MAAM,CAACsB,cAAc,EAAEC,iBAAiB,CAAC,GAAGvB,QAAQ,CAAC,EAAE,CAAC;EACxD,MAAM,CAACwB,UAAU,EAAEC,aAAa,CAAC,GAAGzB,QAAQ,CAAC,IAAI,CAAC;EAClD,MAAM;IACJ0B,WAAW;IACXC,IAAI;IACJC,OAAO;IACPC,cAAc;IACdC,SAAS;IACTC,UAAU;IACVC;EACF,CAAC,GAAGtB,WAAW,CAAC,CAAC;EACjB,MAAM;IAAEuB,aAAa;IAAEC,gBAAgB;IAAEC,aAAa;IAAEC;EAAe,CAAC,GAAG9B,eAAe,CACxFC,YACF,CAAC;EAEDN,SAAS,CACP,MAAM;IACJsB,iBAAiB,CAAC,EAAE,CAAC;IACrBF,mBAAmB,CAAC,CAAC,CAAC;IACtBQ,cAAc,CAAC;MACbQ,KAAK,EAAAC,aAAA,CAAAA,aAAA,KACAzB,sBAAsB,CAACuB,cAAc,CAACG,MAAM,CAAC;QAChDC,QAAQ,EAAEJ,cAAc,CAACI;MAAQ,EAClC;MACDC,QAAQ,EAAEL,cAAc,CAACK,QAAQ;MACjCC,UAAU,EAAEN,cAAc,CAACM;IAC7B,CAAC,CAAC;EACJ,CAAC;EACD;EACA,CACEN,cAAc,CAACG,MAAM,EACrBH,cAAc,CAACI,QAAQ,EACvBJ,cAAc,CAACK,QAAQ,EACvBL,cAAc,CAACM,UAAU,CAE7B,CAAC;EAED,MAAMC,mBAAmB,GAAGA,CAAC;IAAEC;EAAW,CAAC,KAAK;IAC9C,MAAMC,UAAU,GAAGlB,IAAI,CAACmB,KAAK,CAACC,MAAM;IACpC,MAAMC,SAAS,GAAGC,IAAI,CAACC,KAAK,CAACL,UAAU,GAAG,CAAC,CAAC,GAAGjC,qBAAqB;IAEpE,IAAIoC,SAAS,GAAG,CAAC,IAAIA,SAAS,GAAGJ,UAAU,IAAI,CAACtB,cAAc,CAAC6B,QAAQ,CAACH,SAAS,CAAC,EAAE;MAClFnB,cAAc,CAAC;QACbuB,MAAM,EAAEzB,IAAI,CAACmB,KAAK,CAACC,MAAM;QACzBV,KAAK,EAAAC,aAAA,CAAAA,aAAA,KACAzB,sBAAsB,CAACuB,cAAc,CAACG,MAAM,CAAC;UAChDC,QAAQ,EAAEJ,cAAc,CAACI;QAAQ,EAClC;QACDC,QAAQ,EAAEL,cAAc,CAACK,QAAQ;QACjCC,UAAU,EAAEN,cAAc,CAACM;MAC7B,CAAC,CAAC;MACFnB,iBAAiB,CAAC,CAAC,GAAGD,cAAc,EAAE0B,SAAS,CAAC,CAAC;MACjD3B,mBAAmB,CAACuB,UAAU,GAAGhC,qBAAqB,CAAC;IACzD;EACF,CAAC;EAEDX,SAAS,CACP,MAAM;IACJ,MAAMoD,gBAAgB,GAAGA,CAAA,KAAM;MAC7B5B,aAAa,CAACP,UAAU,CAACoC,OAAO,CAACC,YAAY,GAAG,EAAE,CAAC;IACrD,CAAC;IAED,IAAIrC,UAAU,CAACoC,OAAO,EAAE;MACtBD,gBAAgB,CAAC,CAAC;MAClBG,MAAM,CAACC,gBAAgB,CAAC,QAAQ,EAAEJ,gBAAgB,CAAC;IACrD;IACA,OAAO,MAAM;MACXG,MAAM,CAACE,mBAAmB,CAAC,QAAQ,EAAEL,gBAAgB,CAAC;IACxD,CAAC;EACH,CAAC,EACD,CAAC7B,UAAU,EAAEN,UAAU,CACzB,CAAC;EAED,MAAMyC,YAAY,GAAGjC,WAAW,CAACgB,UAAU,IAAK,GAAEhB,WAAW,CAACgB,UAAW,IAAG;EAE5E,oBACE3C,KAAA,CAAA6D,aAAA,CAAA7D,KAAA,CAAA8D,QAAA,QACGlC,IAAI,CAACmB,KAAK,IAAInB,IAAI,CAACmB,KAAK,CAACC,MAAM,gBAC9BhD,KAAA,CAAA6D,aAAA,CAAA7D,KAAA,CAAA8D,QAAA,qBACE9D,KAAA,CAAA6D,aAAA;IAAGE,SAAS,EAAC;EAAyB,GACnCH,YAAY,EAAC,GAAC,EAAChC,IAAI,CAACS,cAAc,CAACG,MAAM,CAAC,EAAC,QAC3C,CAAC,eACJxC,KAAA,CAAA6D,aAAA,CAACvD,WAAW;IACV0D,KAAK,EAAC,MAAM;IACZC,MAAM,EAAExC,UAAW;IACnByC,SAAS,EAAEtC,IAAI,CAACmB,KAAK,CAACC,MAAO;IAC7BmB,QAAQ,EAAEvD,oBAAqB;IAC/BwD,aAAa,EAAEvD,qBAAsB;IACrCwD,aAAa,EAAEhD,gBAAiB;IAChCiD,eAAe,EAAE1B,mBAAoB;IACrC2B,UAAU,EAAEA,CAAC;MAAEC,KAAK;MAAEC;IAAM,CAAC,KAAK;MAChC,MAAM;QAAEC,IAAI;QAAEC,GAAG;QAAEC,QAAQ;QAAEC;MAAG,CAAC,GAAGjD,IAAI,CAACmB,KAAK,CAACyB,KAAK,CAAC;MACrD,MAAMM,UAAU,GAAGpE,aAAa,CAAC0B,aAAa,EAAEyC,EAAE,CAAC;MACnD,oBACE7E,KAAA,CAAA6D,aAAA;QAAKkB,GAAG,EAAEP,KAAM;QAACC,KAAK,EAAEA,KAAM;QAACV,SAAS,EAAC;MAA2B,gBAClE/D,KAAA,CAAA6D,aAAA,CAACpD,SAAS;QACRwB,UAAU,EAAEA,UAAW;QACvBF,SAAS,EAAEA,SAAU;QACrBiD,0BAA0B,EAAErD,WAAY;QACxCP,cAAc,EAAEA,cAAe;QAC/B6D,UAAU,EAAE9C,gBAAiB;QAC7B4C,GAAG,EAAEF,EAAG;QACR3D,aAAa,EAAEA,aAAc;QAC7BgE,QAAQ,EAAE,CAAC,CAACJ,UAAW;QACvBJ,IAAI,EAAEA,IAAK;QACXC,GAAG,EAAEA,GAAI;QACTC,QAAQ,EAAEA,QAAS;QACnBC,EAAE,EAAEA,EAAG;QACPL,KAAK,EAAEA,KAAM;QACbxC,UAAU,EAAEA;MAAW,CACxB,CACE,CAAC;IAEV;EAAE,CACH,CACD,CAAC,GACD,IAAI,EACP,CAACH,OAAO,IAAID,IAAI,CAACmB,KAAK,IAAI,CAACnB,IAAI,CAACmB,KAAK,CAACC,MAAM,IAAIhC,iBAAiB,gBAChEhB,KAAA,CAAA6D,aAAA,CAACzD,UAAU;IACT+E,OAAO,EAAEA,CAAA,KAAM;MACblE,oBAAoB,CAAC,KAAK,CAAC;IAC7B;EAAE,gBACFjB,KAAA,CAAA6D,aAAA,CAACxD,MAAM;IAAC+E,OAAO,EAAElD,aAAc;IAAC6B,SAAS,EAAC;EAAoC,GAAC,KAEvE,CACE,CAAC,GACX,IACJ,CAAC;AAEP,CAAC;AAEDhD,aAAa,CAACsE,SAAS,GAAG;EACxBpE,oBAAoB,EAAEd,SAAS,CAACmF,IAAI,CAACC,UAAU;EAC/CvE,iBAAiB,EAAEb,SAAS,CAACqF,IAAI;EACjCtE,aAAa,EAAEf,SAAS,CAACsF,MAAM,CAACF,UAAU;EAC1CpE,UAAU,EAAEhB,SAAS,CAACuF,MAAM,CAACH,UAAU;EACvCnE,cAAc,EAAEjB,SAAS,CAACuF,MAAM,CAACH;AACnC,CAAC;AAEDxE,aAAa,CAAC4E,YAAY,GAAG;EAC3B3E,iBAAiB,EAAE;AACrB,CAAC;AAED,eAAeD,aAAa"}
|
|
1
|
+
{"version":3,"file":"MediaFileList.js","names":["React","useState","useEffect","PropTypes","CardPrompt","Button","VirtualList","useMediaContext","MediaContext","CardMedia","existPrevious","useFileList","MEDIA_LIST_ITEM_SIZE","MEDIA_OVER_SCAN_COUNT","AVAILABLE_FILTER_TYPES","MediaFileList","displayCardPrompt","setDisplayCardPrompt","displayLayout","wrapperRef","modalTargetRef","currentListIndex","setCurrentListIndex","verifiedRanges","setVerifiedRanges","listHeight","setListHeight","queryParams","data","loading","setQueryParams","clearList","removeFile","updateFile","onClickPrompt","getSelectedFiles","selectedFiles","selectedFilter","hasFiles","files","length","where","_objectSpread","filter","storeKey","isSearch","searchTerm","handleRenderedItems","startIndex","rowsLength","loadIndex","Math","floor","includes","offset","handleListHeight","current","clientHeight","window","addEventListener","removeEventListener","searchedTerm","createElement","Fragment","className","width","height","itemCount","itemSize","overscanCount","scrollToIndex","onItemsRendered","renderItem","index","style","name","url","mimetype","id","isSelected","key","latestQueryToRefetchParams","onSelected","selected","onClick","propTypes","func","isRequired","bool","string","object","defaultProps"],"sources":["../../../../../../src/components/ListingContainer/Listing/MediaListing/MediaFileList/MediaFileList.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { CardPrompt } from '@blaze-cms/admin';\nimport Button from '@blaze-react/button';\nimport VirtualList from 'react-tiny-virtual-list';\nimport { useMediaContext, MediaContext } from '../../../../../utils/media-context';\nimport CardMedia from '../../../../CardMedia';\nimport { existPrevious } from '../../../mappers';\nimport useFileList from '../../../../FileList/useFileList';\nimport {\n MEDIA_LIST_ITEM_SIZE,\n MEDIA_OVER_SCAN_COUNT,\n AVAILABLE_FILTER_TYPES\n} from '../../../../../constants';\n\nconst MediaFileList = ({\n displayCardPrompt,\n setDisplayCardPrompt,\n displayLayout,\n wrapperRef,\n modalTargetRef\n}) => {\n const [currentListIndex, setCurrentListIndex] = useState(1);\n const [verifiedRanges, setVerifiedRanges] = useState([]);\n const [listHeight, setListHeight] = useState(null);\n const {\n queryParams,\n data,\n loading,\n setQueryParams,\n clearList,\n removeFile,\n updateFile\n } = useFileList();\n\n const { onClickPrompt, getSelectedFiles, selectedFiles, selectedFilter } = useMediaContext(\n MediaContext\n );\n\n const hasFiles = !!data.files && !!data.files.length;\n\n useEffect(\n () => {\n if (!loading && !hasFiles) setDisplayCardPrompt(true);\n },\n [loading, hasFiles, setDisplayCardPrompt]\n );\n\n useEffect(\n () => {\n setVerifiedRanges([]);\n setCurrentListIndex(0);\n setQueryParams({\n where: {\n ...AVAILABLE_FILTER_TYPES[selectedFilter.filter],\n storeKey: selectedFilter.storeKey\n },\n isSearch: selectedFilter.isSearch,\n searchTerm: selectedFilter.searchTerm\n });\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n selectedFilter.filter,\n selectedFilter.storeKey,\n selectedFilter.isSearch,\n selectedFilter.searchTerm\n ]\n );\n\n const handleRenderedItems = ({ startIndex }) => {\n const rowsLength = data.files.length;\n const loadIndex = Math.floor(rowsLength / 3) - MEDIA_OVER_SCAN_COUNT;\n\n if (loadIndex > 0 && loadIndex < startIndex && !verifiedRanges.includes(loadIndex)) {\n setQueryParams({\n offset: data.files.length,\n where: {\n ...AVAILABLE_FILTER_TYPES[selectedFilter.filter],\n storeKey: selectedFilter.storeKey\n },\n isSearch: selectedFilter.isSearch,\n searchTerm: selectedFilter.searchTerm\n });\n setVerifiedRanges([...verifiedRanges, loadIndex]);\n setCurrentListIndex(startIndex + MEDIA_OVER_SCAN_COUNT);\n }\n };\n\n useEffect(\n () => {\n const handleListHeight = () => {\n setListHeight(wrapperRef.current.clientHeight - 40);\n };\n\n if (wrapperRef.current) {\n handleListHeight();\n window.addEventListener('resize', handleListHeight);\n }\n return () => {\n window.removeEventListener('resize', handleListHeight);\n };\n },\n [listHeight, wrapperRef]\n );\n\n const searchedTerm = queryParams.searchTerm && `${queryParams.searchTerm} -`;\n\n return (\n <>\n {hasFiles && (\n <>\n <p className=\"media__fileList-counter\">\n {searchedTerm} {data[selectedFilter.filter]} items\n </p>\n <VirtualList\n width=\"100%\"\n height={listHeight}\n itemCount={data.files.length}\n itemSize={MEDIA_LIST_ITEM_SIZE}\n overscanCount={MEDIA_OVER_SCAN_COUNT}\n scrollToIndex={currentListIndex}\n onItemsRendered={handleRenderedItems}\n renderItem={({ index, style }) => {\n const { name, url, mimetype, id } = data.files[index];\n const isSelected = existPrevious(selectedFiles, id);\n return (\n <div key={index} style={style} className=\"list__item--resultWrapper\">\n <CardMedia\n updateFile={updateFile}\n clearList={clearList}\n latestQueryToRefetchParams={queryParams}\n modalTargetRef={modalTargetRef}\n onSelected={getSelectedFiles}\n key={id}\n displayLayout={displayLayout}\n selected={!!isSelected}\n name={name}\n url={url}\n mimetype={mimetype}\n id={id}\n index={index}\n removeFile={removeFile}\n />\n </div>\n );\n }}\n />\n </>\n )}\n {displayCardPrompt && (\n <CardPrompt>\n <Button onClick={onClickPrompt} className=\"button button--rounded button--cta\">\n Add\n </Button>\n </CardPrompt>\n )}\n </>\n );\n};\n\nMediaFileList.propTypes = {\n setDisplayCardPrompt: PropTypes.func.isRequired,\n displayCardPrompt: PropTypes.bool,\n displayLayout: PropTypes.string.isRequired,\n wrapperRef: PropTypes.object.isRequired,\n modalTargetRef: PropTypes.object.isRequired\n};\n\nMediaFileList.defaultProps = {\n displayCardPrompt: true\n};\n\nexport default MediaFileList;\n"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React, { useState, useRef } from 'react';
|
|
2
2
|
import MediaFileList from './MediaFileList';
|
|
3
3
|
const MediaListing = () => {
|
|
4
|
-
const [displayCardPrompt, setDisplayCardPrompt] = useState(
|
|
4
|
+
const [displayCardPrompt, setDisplayCardPrompt] = useState(false);
|
|
5
5
|
const mediaFileListWrapperRef = useRef();
|
|
6
6
|
const modalTargetRef = useRef();
|
|
7
7
|
return /*#__PURE__*/React.createElement("div", {
|
|
@@ -13,7 +13,7 @@ const MediaListing = () => {
|
|
|
13
13
|
modalTargetRef: modalTargetRef,
|
|
14
14
|
wrapperRef: mediaFileListWrapperRef,
|
|
15
15
|
displayCardPrompt: displayCardPrompt,
|
|
16
|
-
setDisplayCardPrompt:
|
|
16
|
+
setDisplayCardPrompt: setDisplayCardPrompt,
|
|
17
17
|
displayLayout: "list"
|
|
18
18
|
})), /*#__PURE__*/React.createElement("div", {
|
|
19
19
|
ref: modalTargetRef
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MediaListing.js","names":["React","useState","useRef","MediaFileList","MediaListing","displayCardPrompt","setDisplayCardPrompt","mediaFileListWrapperRef","modalTargetRef","createElement","className","ref","wrapperRef","
|
|
1
|
+
{"version":3,"file":"MediaListing.js","names":["React","useState","useRef","MediaFileList","MediaListing","displayCardPrompt","setDisplayCardPrompt","mediaFileListWrapperRef","modalTargetRef","createElement","className","ref","wrapperRef","displayLayout","propTypes"],"sources":["../../../../../src/components/ListingContainer/Listing/MediaListing/MediaListing.js"],"sourcesContent":["import React, { useState, useRef } from 'react';\nimport MediaFileList from './MediaFileList';\n\nconst MediaListing = () => {\n const [displayCardPrompt, setDisplayCardPrompt] = useState(false);\n const mediaFileListWrapperRef = useRef();\n const modalTargetRef = useRef();\n\n return (\n <div className=\"listing listing--media\">\n <div className=\"media\" ref={mediaFileListWrapperRef}>\n <MediaFileList\n modalTargetRef={modalTargetRef}\n wrapperRef={mediaFileListWrapperRef}\n displayCardPrompt={displayCardPrompt}\n setDisplayCardPrompt={setDisplayCardPrompt}\n displayLayout=\"list\"\n />\n </div>\n {/* render edit card modal outside of the virtual list */}\n <div ref={modalTargetRef} />\n </div>\n );\n};\n\nMediaListing.propTypes = {};\n\nexport default MediaListing;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,QAAQ,EAAEC,MAAM,QAAQ,OAAO;AAC/C,OAAOC,aAAa,MAAM,iBAAiB;AAE3C,MAAMC,YAAY,GAAGA,CAAA,KAAM;EACzB,MAAM,CAACC,iBAAiB,EAAEC,oBAAoB,CAAC,GAAGL,QAAQ,CAAC,KAAK,CAAC;EACjE,MAAMM,uBAAuB,GAAGL,MAAM,CAAC,CAAC;EACxC,MAAMM,cAAc,GAAGN,MAAM,CAAC,CAAC;EAE/B,oBACEF,KAAA,CAAAS,aAAA;IAAKC,SAAS,EAAC;EAAwB,gBACrCV,KAAA,CAAAS,aAAA;IAAKC,SAAS,EAAC,OAAO;IAACC,GAAG,EAAEJ;EAAwB,gBAClDP,KAAA,CAAAS,aAAA,CAACN,aAAa;IACZK,cAAc,EAAEA,cAAe;IAC/BI,UAAU,EAAEL,uBAAwB;IACpCF,iBAAiB,EAAEA,iBAAkB;IACrCC,oBAAoB,EAAEA,oBAAqB;IAC3CO,aAAa,EAAC;EAAM,CACrB,CACE,CAAC,eAENb,KAAA,CAAAS,aAAA;IAAKE,GAAG,EAAEH;EAAe,CAAE,CACxB,CAAC;AAEV,CAAC;AAEDJ,YAAY,CAACU,SAAS,GAAG,CAAC,CAAC;AAE3B,eAAeV,YAAY"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@blaze-cms/plugin-media-ui",
|
|
3
|
-
"version": "0.139.0",
|
|
3
|
+
"version": "0.139.1-alpha.0",
|
|
4
4
|
"description": "Blaze plugin media ui",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "lib-es/index.js",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"@blaze-cms/admin-ui-utils": "^0.139.0",
|
|
31
31
|
"@blaze-cms/core-errors": "^0.139.0",
|
|
32
32
|
"@blaze-cms/plugin-search-ui": "^0.139.0",
|
|
33
|
-
"@blaze-cms/react-form-builder": "
|
|
33
|
+
"@blaze-cms/react-form-builder": "0.139.1-alpha.0",
|
|
34
34
|
"@blaze-cms/setup-ui": "^0.139.0",
|
|
35
35
|
"@blaze-react/button": "0.5.19",
|
|
36
36
|
"@blaze-react/drafteditor": "0.7.0",
|
|
@@ -57,5 +57,5 @@
|
|
|
57
57
|
"lib/*",
|
|
58
58
|
"lib-es/*"
|
|
59
59
|
],
|
|
60
|
-
"gitHead": "
|
|
60
|
+
"gitHead": "d31f49b1c9609bd8ef1f34b8b4f533295b0a440f"
|
|
61
61
|
}
|
|
@@ -18,7 +18,7 @@ function useGetFiles() {
|
|
|
18
18
|
const [previousOffset, setPreviousOffset] = useState(null);
|
|
19
19
|
const [previousSearchTerm, setPreviousSearchTerm] = useState(null);
|
|
20
20
|
const [data, setData] = useState({ files: [], total: 0 });
|
|
21
|
-
const [isLoading, setIsLoading] = useState(
|
|
21
|
+
const [isLoading, setIsLoading] = useState(true);
|
|
22
22
|
const client = useApolloClient();
|
|
23
23
|
|
|
24
24
|
const setParams = newQueryParams => {
|
|
@@ -32,10 +32,20 @@ const MediaFileList = ({
|
|
|
32
32
|
removeFile,
|
|
33
33
|
updateFile
|
|
34
34
|
} = useFileList();
|
|
35
|
+
|
|
35
36
|
const { onClickPrompt, getSelectedFiles, selectedFiles, selectedFilter } = useMediaContext(
|
|
36
37
|
MediaContext
|
|
37
38
|
);
|
|
38
39
|
|
|
40
|
+
const hasFiles = !!data.files && !!data.files.length;
|
|
41
|
+
|
|
42
|
+
useEffect(
|
|
43
|
+
() => {
|
|
44
|
+
if (!loading && !hasFiles) setDisplayCardPrompt(true);
|
|
45
|
+
},
|
|
46
|
+
[loading, hasFiles, setDisplayCardPrompt]
|
|
47
|
+
);
|
|
48
|
+
|
|
39
49
|
useEffect(
|
|
40
50
|
() => {
|
|
41
51
|
setVerifiedRanges([]);
|
|
@@ -98,7 +108,7 @@ const MediaFileList = ({
|
|
|
98
108
|
|
|
99
109
|
return (
|
|
100
110
|
<>
|
|
101
|
-
{
|
|
111
|
+
{hasFiles && (
|
|
102
112
|
<>
|
|
103
113
|
<p className="media__fileList-counter">
|
|
104
114
|
{searchedTerm} {data[selectedFilter.filter]} items
|
|
@@ -137,17 +147,14 @@ const MediaFileList = ({
|
|
|
137
147
|
}}
|
|
138
148
|
/>
|
|
139
149
|
</>
|
|
140
|
-
)
|
|
141
|
-
{
|
|
142
|
-
<CardPrompt
|
|
143
|
-
onClose={() => {
|
|
144
|
-
setDisplayCardPrompt(false);
|
|
145
|
-
}}>
|
|
150
|
+
)}
|
|
151
|
+
{displayCardPrompt && (
|
|
152
|
+
<CardPrompt>
|
|
146
153
|
<Button onClick={onClickPrompt} className="button button--rounded button--cta">
|
|
147
154
|
Add
|
|
148
155
|
</Button>
|
|
149
156
|
</CardPrompt>
|
|
150
|
-
)
|
|
157
|
+
)}
|
|
151
158
|
</>
|
|
152
159
|
);
|
|
153
160
|
};
|
|
@@ -2,7 +2,7 @@ import React, { useState, useRef } from 'react';
|
|
|
2
2
|
import MediaFileList from './MediaFileList';
|
|
3
3
|
|
|
4
4
|
const MediaListing = () => {
|
|
5
|
-
const [displayCardPrompt, setDisplayCardPrompt] = useState(
|
|
5
|
+
const [displayCardPrompt, setDisplayCardPrompt] = useState(false);
|
|
6
6
|
const mediaFileListWrapperRef = useRef();
|
|
7
7
|
const modalTargetRef = useRef();
|
|
8
8
|
|
|
@@ -13,7 +13,7 @@ const MediaListing = () => {
|
|
|
13
13
|
modalTargetRef={modalTargetRef}
|
|
14
14
|
wrapperRef={mediaFileListWrapperRef}
|
|
15
15
|
displayCardPrompt={displayCardPrompt}
|
|
16
|
-
setDisplayCardPrompt={
|
|
16
|
+
setDisplayCardPrompt={setDisplayCardPrompt}
|
|
17
17
|
displayLayout="list"
|
|
18
18
|
/>
|
|
19
19
|
</div>
|