@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.
- package/CHANGELOG.md +27 -0
- package/lib/components/FileList/useGetFiles/getFiles.js +58 -144
- package/lib/components/FileList/useGetFiles/getFiles.js.map +1 -1
- package/lib/components/FileList/useGetFiles/useGetFiles.js +4 -3
- package/lib/components/FileList/useGetFiles/useGetFiles.js.map +1 -1
- package/lib/components/FileList/useGetFilesList/useGetFilesList.js +22 -23
- package/lib/components/FileList/useGetFilesList/useGetFilesList.js.map +1 -1
- package/lib/components/FilterPanel/FilterPanel.js +5 -19
- package/lib/components/FilterPanel/FilterPanel.js.map +1 -1
- package/lib/components/ListingContainer/ListingContainer.js +54 -6
- package/lib/components/ListingContainer/ListingContainer.js.map +1 -1
- package/lib/constants.js +1 -1
- package/lib/constants.js.map +1 -1
- package/lib-es/components/FileList/useGetFiles/getFiles.js +30 -82
- package/lib-es/components/FileList/useGetFiles/getFiles.js.map +1 -1
- package/lib-es/components/FileList/useGetFiles/useGetFiles.js +4 -3
- package/lib-es/components/FileList/useGetFiles/useGetFiles.js.map +1 -1
- package/lib-es/components/FileList/useGetFilesList/useGetFilesList.js +20 -21
- package/lib-es/components/FileList/useGetFilesList/useGetFilesList.js.map +1 -1
- package/lib-es/components/FilterPanel/FilterPanel.js +5 -15
- package/lib-es/components/FilterPanel/FilterPanel.js.map +1 -1
- package/lib-es/components/ListingContainer/ListingContainer.js +30 -2
- package/lib-es/components/ListingContainer/ListingContainer.js.map +1 -1
- package/lib-es/constants.js +1 -1
- package/lib-es/constants.js.map +1 -1
- package/package.json +3 -3
- package/src/components/FileList/useGetFiles/getFiles.js +27 -62
- package/src/components/FileList/useGetFiles/useGetFiles.js +5 -4
- package/src/components/FileList/useGetFilesList/useGetFilesList.js +16 -24
- package/src/components/FilterPanel/FilterPanel.js +9 -11
- package/src/components/ListingContainer/ListingContainer.js +18 -2
- 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 = (
|
|
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","
|
|
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":"
|
|
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;AAEA,IAAMA,gBAAgB,GAAG,SAAnBA,gBAAmB,OAAsD;AAAA,MAAnDC,mBAAmD,QAAnDA,mBAAmD;AAAA,MAA9BC,QAA8B,QAA9BA,QAA8B;AAAA,MAApBC,aAAoB,QAApBA,aAAoB;;AAC7E,kBAA4D,qBAAS,KAAT,CAA5D;AAAA;AAAA,MAAOC,sBAAP;AAAA,MAA+BC,yBAA/B;;AACA,mBAA0C,qBAASF,aAAa,IAAI,EAA1B,CAA1C;AAAA;AAAA,MAAOG,aAAP;AAAA,MAAsBC,gBAAtB;;AACA,mBAA4C,qBAAS;AACnDC,IAAAA,MAAM,EAAE,KAD2C;AAEnDC,IAAAA,QAAQ,EAAE,KAFyC;AAGnDC,IAAAA,UAAU,EAAE,IAHuC;AAInDC,IAAAA,QAAQ,EAAE;AAJyC,GAAT,CAA5C;AAAA;AAAA,MAAOC,cAAP;AAAA,MAAuBC,iBAAvB;;AAOA,MAAMC,cAAc,GAAG,4BAAS,iBAAT,CAAvB;;AACA,kBAAmE,sBAASA,cAAT,EAAyB;AAC1FC,IAAAA,SAAS,EAAE;AAAEC,MAAAA,cAAc,EAAE;AAAlB;AAD+E,GAAzB,CAAnE;AAAA,MAAQC,OAAR,aAAQA,OAAR;AAAA,iCAAiBC,IAAjB;;AAAA,+CAA4D,EAA5D;AAAA,6CAAyBC,aAAzB;AAAA,MAAwCC,UAAxC,sCAAqD,EAArD;AAGA,MAAIH,OAAJ,EAAa,OAAO,IAAP;;AAEb,MAAMI,gBAAgB,GAAG,SAAnBA,gBAAmB,QAAY;AAAA,QAATC,EAAS,SAATA,EAAS;AACnC,QAAMC,iBAAiB,GAAG,4BAAcjB,aAAd,EAA6BgB,EAA7B,CAA1B;;AAEA,QAAIpB,QAAQ,KAAKI,aAAa,CAACkB,MAA3B,IAAqC,CAACD,iBAA1C,EAA6D;AAC3DtB,MAAAA,mBAAmB,CAAC,CAACqB,EAAD,CAAD,EAAO,KAAP,CAAnB;AACAf,MAAAA,gBAAgB,CAAC,CAACe,EAAD,CAAD,CAAhB;AACD,KAHD,MAGO;AACL,UAAMG,gBAAgB,GAAGF,iBAAiB,GACtCjB,aAAa,CAACE,MAAd,CAAqB,UAAAkB,MAAM;AAAA,eAAIA,MAAM,KAAKH,iBAAf;AAAA,OAA3B,CADsC,iDAElCjB,aAFkC,IAEnBgB,EAFmB,EAA1C;AAIArB,MAAAA,mBAAmB,CAACwB,gBAAD,EAAmB,KAAnB,CAAnB;AACAlB,MAAAA,gBAAgB,CAACkB,gBAAD,CAAhB;AACD;AACF,GAdD;;AAgBA,MAAME,4BAA4B,GAAG,SAA/BA,4BAA+B,CAAAC,KAAK;AAAA,WAAIvB,yBAAyB,CAACuB,KAAD,CAA7B;AAAA,GAA1C;;AAEA,MAAMC,gBAAgB,GAAG,CAACT,UAAU,CAACU,IAAX,CAAgB;AAAA,QAAGC,SAAH,SAAGA,SAAH;AAAA,WAAmBA,SAAnB;AAAA,GAAhB,KAAiD,EAAlD,EAAsDC,GAA/E;AAEA,sBACE,gCAAC,kCAAD;AACE,IAAA,KAAK,EAAE;AACLZ,MAAAA,UAAU,EAAVA,UADK;AAELS,MAAAA,gBAAgB,EAAhBA,gBAFK;AAGLI,MAAAA,oBAAoB,EAAE,8BAAAC,KAAK;AAAA,eAAIrB,iBAAiB,CAACqB,KAAD,CAArB;AAAA,OAHtB;AAILtB,MAAAA,cAAc,kCACTA,cADS;AAEZD,QAAAA,QAAQ,EAAEC,cAAc,CAACD,QAAf,IAA2BkB;AAFzB,QAJT;AAQLvB,MAAAA,aAAa,EAAbA,aARK;AASLe,MAAAA,gBAAgB,EAAhBA,gBATK;AAULc,MAAAA,OAAO,EAAEC,kCAVJ;AAWLC,MAAAA,aAAa,EAAE;AAAA,eAAMV,4BAA4B,CAAC,IAAD,CAAlC;AAAA;AAXV;AADT,kBAcE,gCAAC,6BAAD,qBACE,gCAAC,mBAAD;AACE,IAAA,sBAAsB,EAAEvB,sBAD1B;AAEE,IAAA,4BAA4B,EAAEuB;AAFhC,IADF,CAdF,CADF;AAuBD,CA3DD;;AA6DA3B,gBAAgB,CAACsC,SAAjB,GAA6B;AAC3BrC,EAAAA,mBAAmB,EAAEsC,sBAAUC,IADJ;AAE3BtC,EAAAA,QAAQ,EAAEqC,sBAAUE,SAAV,CAAoB,CAACF,sBAAUG,MAAX,EAAmBH,sBAAUI,IAA7B,CAApB,CAFiB;AAG3BxC,EAAAA,aAAa,EAAEoC,sBAAUK,OAAV,CAAkBL,sBAAUM,MAA5B;AAHY,CAA7B;AAMA7C,gBAAgB,CAAC8C,YAAjB,GAAgC;AAC9B7C,EAAAA,mBAAmB,EAAE,+BAAM,CAAE,CADC;AAE9BC,EAAAA,QAAQ,EAAE,KAFoB;AAG9BC,EAAAA,aAAa,EAAE;AAHe,CAAhC;eAMeH,gB","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;
|
package/lib/constants.js.map
CHANGED
|
@@ -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,
|
|
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 ===
|
|
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
|
-
|
|
207
|
-
|
|
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","
|
|
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":"AAAA,SAASA,QAAT,QAAyB,2BAAzB;AACA,SAASC,GAAT,EAAcC,wBAAd,QAA8C,oBAA9C;;AAEA,MAAMC,aAAa,GAAG,OAAO;AAAEC,EAAAA,UAAF;AAAcC,EAAAA,MAAd;AAAsBC,EAAAA,KAAtB;AAA6BC,EAAAA,KAA7B;AAAoCC,EAAAA;AAApC,CAAP,KAAwD;AAC5E,QAAMC,eAAe,GAAG,CACtB;AACEC,IAAAA,KAAK,EAAE;AAAEC,MAAAA,IAAI,EAAE;AAAR;AADT,GADsB,EAItB;AACED,IAAAA,KAAK,EAAE;AAAEC,MAAAA,IAAI,EAAE;AAAR;AADT,GAJsB,EAOtB;AACED,IAAAA,KAAK,EAAE;AAAEC,MAAAA,IAAI,EAAE;AAAR;AADT,GAPsB,CAAxB;AAWA,QAAMC,iBAAiB,GAAG,CACxB;AACEF,IAAAA,KAAK,EAAE;AAAEC,MAAAA,IAAI,EAAEJ,KAAK,CAACI;AAAd;AADT,GADwB,CAA1B;AAKA,QAAMD,KAAK,GAAG,CAACH,KAAK,CAACI,IAAP,IAAeJ,KAAK,CAACI,IAAN,KAAeV,GAA9B,GAAoCQ,eAApC,GAAsDG,iBAApE;AACA,QAAMC,SAAS,GAAG,EAAlB;;AAEA,MAAIT,UAAJ,EAAgB;AACdS,IAAAA,SAAS,CAACC,IAAV,CAAe;AACbC,MAAAA,YAAY,EAAE;AACZC,QAAAA,KAAK,EAAG,GAAEZ,UAAW,GADT;AAEZa,QAAAA,MAAM,EAAE,EAFI;AAGZC,QAAAA,oBAAoB,EAAE,CAHV;AAIZP,QAAAA,IAAI,EAAE;AAJM;AADD,KAAf;AAQD;;AAED,MAAIJ,KAAK,CAACY,QAAN,IAAkB,CAACjB,wBAAwB,CAACkB,QAAzB,CAAkCb,KAAK,CAACY,QAAxC,CAAvB,EAA0E;AACxEN,IAAAA,SAAS,CAACC,IAAV,CAAe;AACbJ,MAAAA,KAAK,EAAE;AAAES,QAAAA,QAAQ,EAAEZ,KAAK,CAACY;AAAlB;AADM,KAAf;AAGD;;AAED,QAAM;AACJE,IAAAA,IAAI,EAAE;AACJC,MAAAA,KAAK,EAAE;AAAEC,QAAAA,OAAO,EAAED;AAAX,OADH;AAEJE,MAAAA,GAFI;AAGJC,MAAAA,KAHI;AAIJC,MAAAA,KAJI;AAKJC,MAAAA;AALI;AADF,MAQF,MAAMnB,MAAM,CAACQ,KAAP,CAAa;AACrBA,IAAAA,KAAK,EAAEhB,QAAQ,CAAC,oBAAD,CADM;AAErB4B,IAAAA,WAAW,EAAE,cAFQ;AAGrBC,IAAAA,SAAS,EAAE;AACTxB,MAAAA,MADS;AAETC,MAAAA,KAFS;AAGTwB,MAAAA,IAAI,EAAE1B,UAAU,GAAG,IAAH,GAAU,cAHjB;AAIT2B,MAAAA,QAAQ,EAAE;AACRf,QAAAA,KAAK,EAAE;AACLgB,UAAAA,IAAI,EAAE;AACJC,YAAAA,IAAI,EAAE,CACJ,GAAGpB,SADC,EAEJ;AACEmB,cAAAA,IAAI,EAAE;AACJE,gBAAAA,MAAM,EAAExB;AADJ;AADR,aAFI;AADF;AADD;AADC,OAJD;AAkBTyB,MAAAA,kBAAkB,EAAE;AAClBnB,QAAAA,KAAK,EAAE;AACLgB,UAAAA,IAAI,EAAE;AACJC,YAAAA,IAAI,EAAE,CACJ,GAAGpB,SADC,EAEJ;AACEmB,cAAAA,IAAI,EAAE;AACJE,gBAAAA,MAAM,EAAE,CACN;AACExB,kBAAAA,KAAK,EAAE;AAAEC,oBAAAA,IAAI,EAAE;AAAR;AADT,iBADM,EAIN;AACED,kBAAAA,KAAK,EAAE;AAAEC,oBAAAA,IAAI,EAAE;AAAR;AADT,iBAJM,EAON;AACED,kBAAAA,KAAK,EAAE;AAAEC,oBAAAA,IAAI,EAAE;AAAR;AADT,iBAPM;AADJ;AADR,aAFI;AADF;AADD;AADW,OAlBX;AA0CTyB,MAAAA,cAAc,EAAE;AACdpB,QAAAA,KAAK,EAAE;AACLgB,UAAAA,IAAI,EAAE;AACJC,YAAAA,IAAI,EAAE,CACJ,GAAGpB,SADC,EAEJ;AACEmB,cAAAA,IAAI,EAAE;AACJE,gBAAAA,MAAM,EAAE,CACN;AACExB,kBAAAA,KAAK,EAAE;AAAEC,oBAAAA,IAAI,EAAE;AAAR;AADT,iBADM;AADJ;AADR,aAFI;AADF;AADD;AADO,OA1CP;AA4DT0B,MAAAA,cAAc,EAAE;AACdrB,QAAAA,KAAK,EAAE;AACLgB,UAAAA,IAAI,EAAE;AACJC,YAAAA,IAAI,EAAE,CACJ,GAAGpB,SADC,EAEJ;AACEmB,cAAAA,IAAI,EAAE;AACJE,gBAAAA,MAAM,EAAE,CACN;AACExB,kBAAAA,KAAK,EAAE;AAAEC,oBAAAA,IAAI,EAAE;AAAR;AADT,iBADM;AADJ;AADR,aAFI;AADF;AADD;AADO,OA5DP;AA8ET2B,MAAAA,YAAY,EAAE;AACZtB,QAAAA,KAAK,EAAE;AACLgB,UAAAA,IAAI,EAAE;AACJC,YAAAA,IAAI,EAAE,CACJ,GAAGpB,SADC,EAEJ;AACEmB,cAAAA,IAAI,EAAE;AACJE,gBAAAA,MAAM,EAAE,CACN;AACExB,kBAAAA,KAAK,EAAE;AAAEC,oBAAAA,IAAI,EAAE;AAAR;AADT,iBADM;AADJ;AADR,aAFI;AADF;AADD;AADK;AA9EL;AAHU,GAAb,CARV;AA8GA,SAAO;AAAEW,IAAAA,KAAF;AAASE,IAAAA,GAAT;AAAcC,IAAAA,KAAd;AAAqBC,IAAAA,KAArB;AAA4BC,IAAAA;AAA5B,GAAP;AACD,CApJD;;AAsJA,MAAMY,QAAQ,GAAG,CAAC;AAAElC,EAAAA,MAAF;AAAUC,EAAAA,KAAV;AAAiBC,EAAAA,KAAjB;AAAwBH,EAAAA;AAAxB,CAAD,EAAuCI,MAAvC,KACfL,aAAa,CAAC;AAAEC,EAAAA,UAAF;AAAcC,EAAAA,MAAd;AAAsBC,EAAAA,KAAtB;AAA6BC,EAAAA,KAA7B;AAAoCC,EAAAA;AAApC,CAAD,CADf;;AAGA,eAAe+B,QAAf","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
|
|
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(
|
|
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","
|
|
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"}
|