@blaze-cms/plugin-media-ui 0.121.0 → 0.123.0-alpha.2

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 (32) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/lib/components/FileList/useGetFiles/getFiles.js +58 -144
  3. package/lib/components/FileList/useGetFiles/getFiles.js.map +1 -1
  4. package/lib/components/FileList/useGetFiles/useGetFiles.js +4 -3
  5. package/lib/components/FileList/useGetFiles/useGetFiles.js.map +1 -1
  6. package/lib/components/FileList/useGetFilesList/useGetFilesList.js +22 -23
  7. package/lib/components/FileList/useGetFilesList/useGetFilesList.js.map +1 -1
  8. package/lib/components/FilterPanel/FilterPanel.js +5 -19
  9. package/lib/components/FilterPanel/FilterPanel.js.map +1 -1
  10. package/lib/components/ListingContainer/ListingContainer.js +54 -6
  11. package/lib/components/ListingContainer/ListingContainer.js.map +1 -1
  12. package/lib/constants.js +1 -1
  13. package/lib/constants.js.map +1 -1
  14. package/lib-es/components/FileList/useGetFiles/getFiles.js +30 -82
  15. package/lib-es/components/FileList/useGetFiles/getFiles.js.map +1 -1
  16. package/lib-es/components/FileList/useGetFiles/useGetFiles.js +4 -3
  17. package/lib-es/components/FileList/useGetFiles/useGetFiles.js.map +1 -1
  18. package/lib-es/components/FileList/useGetFilesList/useGetFilesList.js +20 -21
  19. package/lib-es/components/FileList/useGetFilesList/useGetFilesList.js.map +1 -1
  20. package/lib-es/components/FilterPanel/FilterPanel.js +5 -15
  21. package/lib-es/components/FilterPanel/FilterPanel.js.map +1 -1
  22. package/lib-es/components/ListingContainer/ListingContainer.js +30 -2
  23. package/lib-es/components/ListingContainer/ListingContainer.js.map +1 -1
  24. package/lib-es/constants.js +1 -1
  25. package/lib-es/constants.js.map +1 -1
  26. package/package.json +3 -3
  27. package/src/components/FileList/useGetFiles/getFiles.js +27 -62
  28. package/src/components/FileList/useGetFiles/useGetFiles.js +5 -4
  29. package/src/components/FileList/useGetFilesList/useGetFilesList.js +16 -24
  30. package/src/components/FilterPanel/FilterPanel.js +9 -11
  31. package/src/components/ListingContainer/ListingContainer.js +18 -2
  32. package/src/constants.js +1 -1
@@ -43,10 +43,6 @@ var _classnames = _interopRequireDefault(require("classnames"));
43
43
 
44
44
  var _select = _interopRequireDefault(require("@blaze-react/select"));
45
45
 
46
- var _adminUiUtils = require("@blaze-cms/admin-ui-utils");
47
-
48
- var _client = require("@apollo/client");
49
-
50
46
  var _mediaContext = require("../../utils/media-context");
51
47
 
52
48
  var _useFileList2 = _interopRequireDefault(require("../FileList/useFileList"));
@@ -67,7 +63,8 @@ var FilterPanel = function FilterPanel() {
67
63
  var _useMediaContext = (0, _mediaContext.useMediaContext)(_mediaContext.MediaContext),
68
64
  filters = _useMediaContext.filters,
69
65
  selectedFilter = _useMediaContext.selectedFilter,
70
- changeSelectedFilter = _useMediaContext.changeSelectedFilter;
66
+ changeSelectedFilter = _useMediaContext.changeSelectedFilter,
67
+ fileStores = _useMediaContext.fileStores;
71
68
 
72
69
  var _useFileList = (0, _useFileList2["default"])(),
73
70
  queryParams = _useFileList.queryParams,
@@ -78,18 +75,6 @@ var FilterPanel = function FilterPanel() {
78
75
  active = _useState4[0],
79
76
  setActive = _useState4[1];
80
77
 
81
- var fileStoresType = (0, _adminUiUtils.getQuery)('GET_FILE_STORES');
82
-
83
- var _useQuery = (0, _client.useQuery)(fileStoresType, {
84
- variables: {
85
- visibleInAdmin: true
86
- }
87
- }),
88
- _useQuery$data = _useQuery.data;
89
-
90
- _useQuery$data = _useQuery$data === void 0 ? {} : _useQuery$data;
91
- var _useQuery$data$getFil = _useQuery$data.getFileStores,
92
- storeType = _useQuery$data$getFil === void 0 ? [] : _useQuery$data$getFil;
93
78
  (0, _react.useEffect)(function () {
94
79
  if (queryParams.searchTerm === null) {
95
80
  setSearchTerm('');
@@ -157,7 +142,7 @@ var FilterPanel = function FilterPanel() {
157
142
  return acc;
158
143
  }, {});
159
144
  var activeBarSegment = (0, _classnames["default"])('filter-panel__barWrapper--active', activeSegements);
160
- var storeOptions = (storeType || []).map(function (type) {
145
+ var storeOptions = (fileStores || []).map(function (type) {
161
146
  return [type.key, type.name];
162
147
  });
163
148
  return /*#__PURE__*/_react["default"].createElement("div", {
@@ -190,7 +175,8 @@ var FilterPanel = function FilterPanel() {
190
175
  className: "select__wrapper"
191
176
  }, /*#__PURE__*/_react["default"].createElement(_select["default"], {
192
177
  options: storeOptions,
193
- onChange: onSelectFilter
178
+ onChange: onSelectFilter,
179
+ selected: selectedFilter.storeKey
194
180
  })), /*#__PURE__*/_react["default"].createElement(_pluginSearchUi.SearchBar, {
195
181
  search: function search() {
196
182
  return changeSelectedFilter({
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/FilterPanel/FilterPanel.js"],"names":["FilterPanel","searchTerm","setSearchTerm","MediaContext","filters","selectedFilter","changeSelectedFilter","queryParams","data","id","active","setActive","fileStoresType","variables","visibleInAdmin","getFileStores","storeType","handleSearchTerm","value","target","storeKey","onChangeFilter","filter","isSearch","handleKeyDown","key","trim","onSelectFilter","activeSegements","reduce","acc","index","activeBarSegment","storeOptions","map","type","name","label"],"mappings":"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","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 { getQuery } from '@blaze-cms/admin-ui-utils';\nimport { useQuery } from '@apollo/client';\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 } = useMediaContext(MediaContext);\n const { queryParams, data } = useFileList();\n const [active, setActive] = useState(filters[0].id);\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 (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\n const storeOptions = (storeType || []).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 options={storeOptions} onChange={onSelectFilter} />\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"],"file":"FilterPanel.js"}
1
+ {"version":3,"sources":["../../../src/components/FilterPanel/FilterPanel.js"],"names":["FilterPanel","searchTerm","setSearchTerm","MediaContext","filters","selectedFilter","changeSelectedFilter","fileStores","queryParams","data","id","active","setActive","handleSearchTerm","value","target","storeKey","onChangeFilter","filter","isSearch","handleKeyDown","key","trim","onSelectFilter","activeSegements","reduce","acc","index","activeBarSegment","storeOptions","map","type","name","label"],"mappings":"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","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"],"file":"FilterPanel.js"}
@@ -1,5 +1,21 @@
1
1
  "use strict";
2
2
 
3
+ require("core-js/modules/es.object.keys.js");
4
+
5
+ require("core-js/modules/es.symbol.js");
6
+
7
+ require("core-js/modules/es.object.get-own-property-descriptor.js");
8
+
9
+ require("core-js/modules/es.array.for-each.js");
10
+
11
+ require("core-js/modules/web.dom-collections.for-each.js");
12
+
13
+ require("core-js/modules/es.object.get-own-property-descriptors.js");
14
+
15
+ require("core-js/modules/es.object.define-properties.js");
16
+
17
+ require("core-js/modules/es.object.define-property.js");
18
+
3
19
  require("core-js/modules/es.array.iterator.js");
4
20
 
5
21
  require("core-js/modules/es.string.iterator.js");
@@ -8,10 +24,6 @@ require("core-js/modules/es.weak-map.js");
8
24
 
9
25
  require("core-js/modules/web.dom-collections.iterator.js");
10
26
 
11
- require("core-js/modules/es.object.define-property.js");
12
-
13
- require("core-js/modules/es.object.get-own-property-descriptor.js");
14
-
15
27
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
16
28
 
17
29
  var _typeof = require("@babel/runtime/helpers/typeof");
@@ -27,6 +39,10 @@ require("core-js/modules/es.object.to-string.js");
27
39
 
28
40
  require("core-js/modules/es.array.concat.js");
29
41
 
42
+ require("core-js/modules/es.array.find.js");
43
+
44
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
45
+
30
46
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
31
47
 
32
48
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
@@ -35,6 +51,10 @@ var _react = _interopRequireWildcard(require("react"));
35
51
 
36
52
  var _propTypes = _interopRequireDefault(require("prop-types"));
37
53
 
54
+ var _client = require("@apollo/client");
55
+
56
+ var _adminUiUtils = require("@blaze-cms/admin-ui-utils");
57
+
38
58
  var _Listing = _interopRequireDefault(require("./Listing"));
39
59
 
40
60
  var _availableFilters = require("../../utils/available-filters/available-filters");
@@ -49,6 +69,10 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
49
69
 
50
70
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
51
71
 
72
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
73
+
74
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
75
+
52
76
  var ListingContainer = function ListingContainer(_ref) {
53
77
  var handleSelectedFiles = _ref.handleSelectedFiles,
54
78
  maxItems = _ref.maxItems,
@@ -67,12 +91,28 @@ var ListingContainer = function ListingContainer(_ref) {
67
91
  var _useState5 = (0, _react.useState)({
68
92
  filter: 'all',
69
93
  isSearch: false,
70
- searchTerm: null
94
+ searchTerm: null,
95
+ storeKey: null
71
96
  }),
72
97
  _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
73
98
  selectedFilter = _useState6[0],
74
99
  setSelectedFilter = _useState6[1];
75
100
 
101
+ var fileStoresType = (0, _adminUiUtils.getQuery)('GET_FILE_STORES');
102
+
103
+ var _useQuery = (0, _client.useQuery)(fileStoresType, {
104
+ variables: {
105
+ visibleInAdmin: true
106
+ }
107
+ }),
108
+ loading = _useQuery.loading,
109
+ _useQuery$data = _useQuery.data;
110
+
111
+ _useQuery$data = _useQuery$data === void 0 ? {} : _useQuery$data;
112
+ var _useQuery$data$getFil = _useQuery$data.getFileStores,
113
+ fileStores = _useQuery$data$getFil === void 0 ? [] : _useQuery$data$getFil;
114
+ if (loading) return null;
115
+
76
116
  var getSelectedFiles = function getSelectedFiles(_ref2) {
77
117
  var id = _ref2.id;
78
118
  var existPreviousFile = (0, _mappers.existPrevious)(selectedFiles, id);
@@ -93,12 +133,20 @@ var ListingContainer = function ListingContainer(_ref) {
93
133
  return setDisplayFileUploadModal(param);
94
134
  };
95
135
 
136
+ var defaultFileStore = (fileStores.find(function (_ref3) {
137
+ var isDefault = _ref3.isDefault;
138
+ return isDefault;
139
+ }) || {}).key;
96
140
  return /*#__PURE__*/_react["default"].createElement(_mediaContext.MediaContextProvider, {
97
141
  value: {
142
+ fileStores: fileStores,
143
+ defaultFileStore: defaultFileStore,
98
144
  changeSelectedFilter: function changeSelectedFilter(value) {
99
145
  return setSelectedFilter(value);
100
146
  },
101
- selectedFilter: selectedFilter,
147
+ selectedFilter: _objectSpread(_objectSpread({}, selectedFilter), {}, {
148
+ storeKey: selectedFilter.storeKey || defaultFileStore
149
+ }),
102
150
  selectedFiles: selectedFiles,
103
151
  getSelectedFiles: getSelectedFiles,
104
152
  filters: _availableFilters.availableFilters,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/ListingContainer/ListingContainer.js"],"names":["ListingContainer","handleSelectedFiles","maxItems","filesSelected","displayFileUploadModal","setDisplayFileUploadModal","selectedFiles","setSelectedFiles","filter","isSearch","searchTerm","selectedFilter","setSelectedFilter","getSelectedFiles","id","existPreviousFile","length","allSelectedFiles","fileId","handleDisplayFileUploadModal","param","changeSelectedFilter","value","filters","availableFilters","onClickPrompt","propTypes","PropTypes","func","oneOfType","number","bool","arrayOf","string","defaultProps"],"mappings":"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","sourcesContent":["import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\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 });\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 return (\n <MediaContextProvider\n value={{\n changeSelectedFilter: value => setSelectedFilter(value),\n selectedFilter,\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"],"file":"ListingContainer.js"}
1
+ {"version":3,"sources":["../../../src/components/ListingContainer/ListingContainer.js"],"names":["ListingContainer","handleSelectedFiles","maxItems","filesSelected","displayFileUploadModal","setDisplayFileUploadModal","selectedFiles","setSelectedFiles","filter","isSearch","searchTerm","storeKey","selectedFilter","setSelectedFilter","fileStoresType","variables","visibleInAdmin","loading","data","getFileStores","fileStores","getSelectedFiles","id","existPreviousFile","length","allSelectedFiles","fileId","handleDisplayFileUploadModal","param","defaultFileStore","find","isDefault","key","changeSelectedFilter","value","filters","availableFilters","onClickPrompt","propTypes","PropTypes","func","oneOfType","number","bool","arrayOf","string","defaultProps"],"mappings":"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","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"],"file":"ListingContainer.js"}
package/lib/constants.js CHANGED
@@ -35,7 +35,7 @@ var NAME = 'name';
35
35
  exports.NAME = NAME;
36
36
  var ALL = 'all';
37
37
  exports.ALL = ALL;
38
- var INVALID_STORE_KEY_VALUES = ['', 'Please Choose...'];
38
+ var INVALID_STORE_KEY_VALUES = [null, '', 'Please Choose...'];
39
39
  exports.INVALID_STORE_KEY_VALUES = INVALID_STORE_KEY_VALUES;
40
40
  var PREVIEW = 'Preview';
41
41
  exports.PREVIEW = PREVIEW;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/constants.js"],"names":["PLUGIN_NAME","ONE_FILE_AS_LIMIT","AVAILABLE_FILTER_TYPES","all","type","images","videos","documents","MEDIA_LIST_ITEM_SIZE","MEDIA_OVER_SCAN_COUNT","STORE_KEY","NAME","ALL","INVALID_STORE_KEY_VALUES","PREVIEW","REORDER","IMAGES","MORE"],"mappings":";;;;;;;;AAAA,IAAMA,WAAW,GAAG,UAApB;;AACA,IAAMC,iBAAiB,GAAG,CAA1B;;AACA,IAAMC,sBAAsB,GAAG;AAC7BC,EAAAA,GAAG,EAAE;AACHC,IAAAA,IAAI,EAAE;AADH,GADwB;AAI7BC,EAAAA,MAAM,EAAE;AACND,IAAAA,IAAI,EAAE;AADA,GAJqB;AAO7BE,EAAAA,MAAM,EAAE;AACNF,IAAAA,IAAI,EAAE;AADA,GAPqB;AAU7BG,EAAAA,SAAS,EAAE;AACTH,IAAAA,IAAI,EAAE;AADG;AAVkB,CAA/B;;AAeA,IAAMI,oBAAoB,GAAG,EAA7B;;AACA,IAAMC,qBAAqB,GAAG,CAA9B;;AAEA,IAAMC,SAAS,GAAG,UAAlB;;AACA,IAAMC,IAAI,GAAG,MAAb;;AAEA,IAAMC,GAAG,GAAG,KAAZ;;AACA,IAAMC,wBAAwB,GAAG,CAAC,EAAD,EAAK,kBAAL,CAAjC;;AACA,IAAMC,OAAO,GAAG,SAAhB;;AACA,IAAMC,OAAO,GAAG,SAAhB;;AACA,IAAMC,MAAM,GAAG,QAAf;;AACA,IAAMC,IAAI,GAAG,UAAb","sourcesContent":["const PLUGIN_NAME = 'media-ui';\nconst ONE_FILE_AS_LIMIT = 1;\nconst AVAILABLE_FILTER_TYPES = {\n all: {\n type: 'all'\n },\n images: {\n type: 'image'\n },\n videos: {\n type: 'video'\n },\n documents: {\n type: 'text'\n }\n};\n\nconst MEDIA_LIST_ITEM_SIZE = 97;\nconst MEDIA_OVER_SCAN_COUNT = 0;\n\nconst STORE_KEY = 'storeKey';\nconst NAME = 'name';\n\nconst ALL = 'all';\nconst INVALID_STORE_KEY_VALUES = ['', 'Please Choose...'];\nconst PREVIEW = 'Preview';\nconst REORDER = 'Reorder';\nconst IMAGES = 'Images';\nconst MORE = 'more ...';\n\nexport {\n ALL,\n AVAILABLE_FILTER_TYPES,\n IMAGES,\n INVALID_STORE_KEY_VALUES,\n MEDIA_LIST_ITEM_SIZE,\n MEDIA_OVER_SCAN_COUNT,\n MORE,\n NAME,\n ONE_FILE_AS_LIMIT,\n PLUGIN_NAME,\n PREVIEW,\n REORDER,\n STORE_KEY\n};\n"],"file":"constants.js"}
1
+ {"version":3,"sources":["../src/constants.js"],"names":["PLUGIN_NAME","ONE_FILE_AS_LIMIT","AVAILABLE_FILTER_TYPES","all","type","images","videos","documents","MEDIA_LIST_ITEM_SIZE","MEDIA_OVER_SCAN_COUNT","STORE_KEY","NAME","ALL","INVALID_STORE_KEY_VALUES","PREVIEW","REORDER","IMAGES","MORE"],"mappings":";;;;;;;;AAAA,IAAMA,WAAW,GAAG,UAApB;;AACA,IAAMC,iBAAiB,GAAG,CAA1B;;AACA,IAAMC,sBAAsB,GAAG;AAC7BC,EAAAA,GAAG,EAAE;AACHC,IAAAA,IAAI,EAAE;AADH,GADwB;AAI7BC,EAAAA,MAAM,EAAE;AACND,IAAAA,IAAI,EAAE;AADA,GAJqB;AAO7BE,EAAAA,MAAM,EAAE;AACNF,IAAAA,IAAI,EAAE;AADA,GAPqB;AAU7BG,EAAAA,SAAS,EAAE;AACTH,IAAAA,IAAI,EAAE;AADG;AAVkB,CAA/B;;AAeA,IAAMI,oBAAoB,GAAG,EAA7B;;AACA,IAAMC,qBAAqB,GAAG,CAA9B;;AAEA,IAAMC,SAAS,GAAG,UAAlB;;AACA,IAAMC,IAAI,GAAG,MAAb;;AAEA,IAAMC,GAAG,GAAG,KAAZ;;AACA,IAAMC,wBAAwB,GAAG,CAAC,IAAD,EAAO,EAAP,EAAW,kBAAX,CAAjC;;AACA,IAAMC,OAAO,GAAG,SAAhB;;AACA,IAAMC,OAAO,GAAG,SAAhB;;AACA,IAAMC,MAAM,GAAG,QAAf;;AACA,IAAMC,IAAI,GAAG,UAAb","sourcesContent":["const PLUGIN_NAME = 'media-ui';\nconst ONE_FILE_AS_LIMIT = 1;\nconst AVAILABLE_FILTER_TYPES = {\n all: {\n type: 'all'\n },\n images: {\n type: 'image'\n },\n videos: {\n type: 'video'\n },\n documents: {\n type: 'text'\n }\n};\n\nconst MEDIA_LIST_ITEM_SIZE = 97;\nconst MEDIA_OVER_SCAN_COUNT = 0;\n\nconst STORE_KEY = 'storeKey';\nconst NAME = 'name';\n\nconst ALL = 'all';\nconst INVALID_STORE_KEY_VALUES = [null, '', 'Please Choose...'];\nconst PREVIEW = 'Preview';\nconst REORDER = 'Reorder';\nconst IMAGES = 'Images';\nconst MORE = 'more ...';\n\nexport {\n ALL,\n AVAILABLE_FILTER_TYPES,\n IMAGES,\n INVALID_STORE_KEY_VALUES,\n MEDIA_LIST_ITEM_SIZE,\n MEDIA_OVER_SCAN_COUNT,\n MORE,\n NAME,\n ONE_FILE_AS_LIMIT,\n PLUGIN_NAME,\n PREVIEW,\n REORDER,\n STORE_KEY\n};\n"],"file":"constants.js"}
@@ -1,37 +1,6 @@
1
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
-
3
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
4
-
5
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
6
-
7
1
  import { getQuery } from '@blaze-cms/admin-ui-utils';
8
2
  import { ALL, INVALID_STORE_KEY_VALUES } from '../../../constants';
9
3
 
10
- const getFromFiles = async ({
11
- offset,
12
- limit,
13
- where,
14
- sort,
15
- client
16
- }) => {
17
- const _where = where.type === ALL ? {} : _objectSpread({}, where);
18
-
19
- if (INVALID_STORE_KEY_VALUES.includes(_where.storeKey)) delete _where.storeKey;
20
- const {
21
- data
22
- } = await client.query({
23
- query: getQuery('GET_FILES'),
24
- variables: {
25
- offset,
26
- limit,
27
- where: _where,
28
- sort
29
- },
30
- fetchPolicy: 'network-only'
31
- });
32
- return data;
33
- };
34
-
35
4
  const getFromSearch = async ({
36
5
  searchTerm,
37
6
  offset,
@@ -57,7 +26,28 @@ const getFromSearch = async ({
57
26
  type: where.type
58
27
  }
59
28
  }];
60
- const match = where.type === 'all' ? allTypesMatches : matchSpecificType;
29
+ const match = !where.type || where.type === ALL ? allTypesMatches : matchSpecificType;
30
+ const mustMatch = [];
31
+
32
+ if (searchTerm) {
33
+ mustMatch.push({
34
+ query_string: {
35
+ query: `${searchTerm}*`,
36
+ fields: [],
37
+ minimum_should_match: 2,
38
+ type: 'cross_fields'
39
+ }
40
+ });
41
+ }
42
+
43
+ if (where.storeKey && !INVALID_STORE_KEY_VALUES.includes(where.storeKey)) {
44
+ mustMatch.push({
45
+ match: {
46
+ storeKey: where.storeKey
47
+ }
48
+ });
49
+ }
50
+
61
51
  const {
62
52
  data: {
63
53
  files: {
@@ -74,17 +64,11 @@ const getFromSearch = async ({
74
64
  variables: {
75
65
  offset,
76
66
  limit,
67
+ sort: searchTerm ? null : 'updated:desc',
77
68
  rawQuery: {
78
69
  query: {
79
70
  bool: {
80
- must: [{
81
- query_string: {
82
- query: `${searchTerm}*`,
83
- fields: [],
84
- minimum_should_match: 2,
85
- type: 'cross_fields'
86
- }
87
- }, {
71
+ must: [...mustMatch, {
88
72
  bool: {
89
73
  should: match
90
74
  }
@@ -95,14 +79,7 @@ const getFromSearch = async ({
95
79
  rawQueryAllResults: {
96
80
  query: {
97
81
  bool: {
98
- must: [{
99
- query_string: {
100
- query: `${searchTerm}*`,
101
- fields: [],
102
- minimum_should_match: 2,
103
- type: 'cross_fields'
104
- }
105
- }, {
82
+ must: [...mustMatch, {
106
83
  bool: {
107
84
  should: [{
108
85
  match: {
@@ -125,14 +102,7 @@ const getFromSearch = async ({
125
102
  rawQueryImages: {
126
103
  query: {
127
104
  bool: {
128
- must: [{
129
- query_string: {
130
- query: `${searchTerm}*`,
131
- fields: [],
132
- minimum_should_match: 2,
133
- type: 'cross_fields'
134
- }
135
- }, {
105
+ must: [...mustMatch, {
136
106
  bool: {
137
107
  should: [{
138
108
  match: {
@@ -147,14 +117,7 @@ const getFromSearch = async ({
147
117
  rawQueryVideos: {
148
118
  query: {
149
119
  bool: {
150
- must: [{
151
- query_string: {
152
- query: `${searchTerm}*`,
153
- fields: [],
154
- minimum_should_match: 2,
155
- type: 'cross_fields'
156
- }
157
- }, {
120
+ must: [...mustMatch, {
158
121
  bool: {
159
122
  should: [{
160
123
  match: {
@@ -169,14 +132,7 @@ const getFromSearch = async ({
169
132
  rawQueryDocs: {
170
133
  query: {
171
134
  bool: {
172
- must: [{
173
- query_string: {
174
- query: `${searchTerm}*`,
175
- fields: [],
176
- minimum_should_match: 2,
177
- type: 'cross_fields'
178
- }
179
- }, {
135
+ must: [...mustMatch, {
180
136
  bool: {
181
137
  should: [{
182
138
  match: {
@@ -203,16 +159,8 @@ const getFiles = ({
203
159
  offset,
204
160
  limit,
205
161
  where,
206
- sort,
207
- searchTerm,
208
- isSearch
209
- }, client) => !isSearch ? getFromFiles({
210
- offset,
211
- limit,
212
- where,
213
- sort,
214
- client
215
- }) : getFromSearch({
162
+ searchTerm
163
+ }, client) => getFromSearch({
216
164
  searchTerm,
217
165
  offset,
218
166
  limit,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/FileList/useGetFiles/getFiles.js"],"names":["getQuery","ALL","INVALID_STORE_KEY_VALUES","getFromFiles","offset","limit","where","sort","client","_where","type","includes","storeKey","data","query","variables","fetchPolicy","getFromSearch","searchTerm","allTypesMatches","match","matchSpecificType","files","results","all","image","video","text","rawQuery","bool","must","query_string","fields","minimum_should_match","should","rawQueryAllResults","rawQueryImages","rawQueryVideos","rawQueryDocs","getFiles","isSearch"],"mappings":"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","sourcesContent":["import { getQuery } from '@blaze-cms/admin-ui-utils';\nimport { ALL, INVALID_STORE_KEY_VALUES } from '../../../constants';\n\nconst getFromFiles = async ({ offset, limit, where, sort, client }) => {\n const _where = where.type === ALL ? {} : { ...where };\n if (INVALID_STORE_KEY_VALUES.includes(_where.storeKey)) delete _where.storeKey;\n const { data } = await client.query({\n query: getQuery('GET_FILES'),\n variables: {\n offset,\n limit,\n where: _where,\n sort\n },\n fetchPolicy: 'network-only'\n });\n\n return data;\n};\n\nconst getFromSearch = async ({ searchTerm, offset, limit, where, client }) => {\n const allTypesMatches = [\n {\n match: { type: 'image' }\n },\n {\n match: { type: 'video' }\n },\n {\n match: { type: 'text' }\n }\n ];\n const matchSpecificType = [\n {\n match: { type: where.type }\n }\n ];\n const match = where.type === 'all' ? allTypesMatches : matchSpecificType;\n\n const {\n data: {\n files: { results: files },\n all,\n image,\n video,\n text\n }\n } = await client.query({\n query: getQuery('SEARCH_ADMIN_MEDIA'),\n fetchPolicy: 'network-only',\n variables: {\n offset,\n limit,\n rawQuery: {\n query: {\n bool: {\n must: [\n {\n query_string: {\n query: `${searchTerm}*`,\n fields: [],\n minimum_should_match: 2,\n type: 'cross_fields'\n }\n },\n {\n bool: {\n should: match\n }\n }\n ]\n }\n }\n },\n rawQueryAllResults: {\n query: {\n bool: {\n must: [\n {\n query_string: {\n query: `${searchTerm}*`,\n fields: [],\n minimum_should_match: 2,\n type: 'cross_fields'\n }\n },\n {\n bool: {\n should: [\n {\n match: { type: 'image' }\n },\n {\n match: { type: 'video' }\n },\n {\n match: { type: 'text' }\n }\n ]\n }\n }\n ]\n }\n }\n },\n rawQueryImages: {\n query: {\n bool: {\n must: [\n {\n query_string: {\n query: `${searchTerm}*`,\n fields: [],\n minimum_should_match: 2,\n type: 'cross_fields'\n }\n },\n {\n bool: {\n should: [\n {\n match: { type: 'image' }\n }\n ]\n }\n }\n ]\n }\n }\n },\n rawQueryVideos: {\n query: {\n bool: {\n must: [\n {\n query_string: {\n query: `${searchTerm}*`,\n fields: [],\n minimum_should_match: 2,\n type: 'cross_fields'\n }\n },\n {\n bool: {\n should: [\n {\n match: { type: 'video' }\n }\n ]\n }\n }\n ]\n }\n }\n },\n rawQueryDocs: {\n query: {\n bool: {\n must: [\n {\n query_string: {\n query: `${searchTerm}*`,\n fields: [],\n minimum_should_match: 2,\n type: 'cross_fields'\n }\n },\n {\n bool: {\n should: [\n {\n match: { type: 'text' }\n }\n ]\n }\n }\n ]\n }\n }\n }\n }\n });\n\n return { files, all, image, video, text };\n};\n\nconst getFiles = ({ offset, limit, where, sort, searchTerm, isSearch }, client) =>\n !isSearch\n ? getFromFiles({ offset, limit, where, sort, client })\n : getFromSearch({ searchTerm, offset, limit, where, client });\n\nexport default getFiles;\n"],"file":"getFiles.js"}
1
+ {"version":3,"sources":["../../../../src/components/FileList/useGetFiles/getFiles.js"],"names":["getQuery","ALL","INVALID_STORE_KEY_VALUES","getFromSearch","searchTerm","offset","limit","where","client","allTypesMatches","match","type","matchSpecificType","mustMatch","push","query_string","query","fields","minimum_should_match","storeKey","includes","data","files","results","all","image","video","text","fetchPolicy","variables","sort","rawQuery","bool","must","should","rawQueryAllResults","rawQueryImages","rawQueryVideos","rawQueryDocs","getFiles"],"mappings":"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","sourcesContent":["import { getQuery } from '@blaze-cms/admin-ui-utils';\nimport { ALL, INVALID_STORE_KEY_VALUES } from '../../../constants';\n\nconst getFromSearch = async ({ searchTerm, offset, limit, where, client }) => {\n const allTypesMatches = [\n {\n match: { type: 'image' }\n },\n {\n match: { type: 'video' }\n },\n {\n match: { type: 'text' }\n }\n ];\n const matchSpecificType = [\n {\n match: { type: where.type }\n }\n ];\n const match = !where.type || where.type === ALL ? allTypesMatches : matchSpecificType;\n const mustMatch = [];\n\n if (searchTerm) {\n mustMatch.push({\n query_string: {\n query: `${searchTerm}*`,\n fields: [],\n minimum_should_match: 2,\n type: 'cross_fields'\n }\n });\n }\n\n if (where.storeKey && !INVALID_STORE_KEY_VALUES.includes(where.storeKey)) {\n mustMatch.push({\n match: { storeKey: where.storeKey }\n });\n }\n\n const {\n data: {\n files: { results: files },\n all,\n image,\n video,\n text\n }\n } = await client.query({\n query: getQuery('SEARCH_ADMIN_MEDIA'),\n fetchPolicy: 'network-only',\n variables: {\n offset,\n limit,\n sort: searchTerm ? null : 'updated:desc',\n rawQuery: {\n query: {\n bool: {\n must: [\n ...mustMatch,\n {\n bool: {\n should: match\n }\n }\n ]\n }\n }\n },\n rawQueryAllResults: {\n query: {\n bool: {\n must: [\n ...mustMatch,\n {\n bool: {\n should: [\n {\n match: { type: 'image' }\n },\n {\n match: { type: 'video' }\n },\n {\n match: { type: 'text' }\n }\n ]\n }\n }\n ]\n }\n }\n },\n rawQueryImages: {\n query: {\n bool: {\n must: [\n ...mustMatch,\n {\n bool: {\n should: [\n {\n match: { type: 'image' }\n }\n ]\n }\n }\n ]\n }\n }\n },\n rawQueryVideos: {\n query: {\n bool: {\n must: [\n ...mustMatch,\n {\n bool: {\n should: [\n {\n match: { type: 'video' }\n }\n ]\n }\n }\n ]\n }\n }\n },\n rawQueryDocs: {\n query: {\n bool: {\n must: [\n ...mustMatch,\n {\n bool: {\n should: [\n {\n match: { type: 'text' }\n }\n ]\n }\n }\n ]\n }\n }\n }\n }\n });\n\n return { files, all, image, video, text };\n};\n\nconst getFiles = ({ offset, limit, where, searchTerm }, client) =>\n getFromSearch({ searchTerm, offset, limit, where, client });\n\nexport default getFiles;\n"],"file":"getFiles.js"}
@@ -41,11 +41,12 @@ function useGetFiles() {
41
41
  searchTerm,
42
42
  isSearch
43
43
  } = queryParams;
44
- const isNewFilterSet = where && where.type !== previousFilter;
44
+ const newFilter = JSON.stringify(where);
45
+ const isNewFilterSet = newFilter !== previousFilter;
45
46
  const isNewOffsetSet = previousOffset !== null && offset !== previousOffset;
46
47
  const isNewSearchTermSet = searchTerm && previousSearchTerm !== searchTerm;
47
48
  const isResetSearch = searchTerm === null && !isSearch && previousFilter;
48
- const shouldRequest = isNewOffsetSet || isNewFilterSet || isNewSearchTermSet || isResetSearch;
49
+ const shouldRequest = where && (isNewOffsetSet || isNewFilterSet || isNewSearchTermSet || isResetSearch);
49
50
 
50
51
  async function fetchData() {
51
52
  if (data.files.length) {
@@ -84,7 +85,7 @@ function useGetFiles() {
84
85
  fetchData().then(() => {
85
86
  setIsLoading(false);
86
87
  });
87
- setPreviousFilter(where.type);
88
+ setPreviousFilter(newFilter);
88
89
  setPreviousOffset(offset);
89
90
  setPreviousSearchTerm(searchTerm);
90
91
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/FileList/useGetFiles/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","searchTerm","isSearch","isNewFilterSet","type","isNewOffsetSet","isNewSearchTermSet","isResetSearch","shouldRequest","fetchData","length","all","image","video","text","then","loading"],"mappings":"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","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(false);\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 isNewFilterSet = where && where.type !== previousFilter;\n const isNewOffsetSet = previousOffset !== null && offset !== previousOffset;\n const isNewSearchTermSet = searchTerm && previousSearchTerm !== searchTerm;\n const isResetSearch = searchTerm === null && !isSearch && previousFilter;\n const shouldRequest = 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\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(where.type);\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"],"file":"useGetFiles.js"}
1
+ {"version":3,"sources":["../../../../src/components/FileList/useGetFiles/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","searchTerm","isSearch","newFilter","JSON","stringify","isNewFilterSet","isNewOffsetSet","isNewSearchTermSet","isResetSearch","shouldRequest","fetchData","length","all","image","video","text","then","loading"],"mappings":"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","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(false);\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"],"file":"useGetFiles.js"}