@blaze-cms/plugin-search-ui 0.125.0-admin-updates.1 → 0.125.0-auth-updates.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +1 -23
- package/lib/application/query/index.js +0 -8
- package/lib/application/query/index.js.map +1 -1
- package/lib/components/SearchAdmin/RecentSearches/RecentSearches.js +2 -11
- package/lib/components/SearchAdmin/RecentSearches/RecentSearches.js.map +1 -1
- package/lib/components/SearchAdmin/RecentSearches/index.js +0 -4
- package/lib/components/SearchAdmin/RecentSearches/index.js.map +1 -1
- package/lib/components/SearchAdmin/SearchAdmin.js +25 -125
- package/lib/components/SearchAdmin/SearchAdmin.js.map +1 -1
- package/lib/components/SearchAdmin/SearchBar/SearchBar.js +7 -15
- package/lib/components/SearchAdmin/SearchBar/SearchBar.js.map +1 -1
- package/lib/components/SearchAdmin/SearchBar/index.js +0 -4
- package/lib/components/SearchAdmin/SearchBar/index.js.map +1 -1
- package/lib/components/SearchAdmin/SearchResults/SearchResults.js +25 -77
- package/lib/components/SearchAdmin/SearchResults/SearchResults.js.map +1 -1
- package/lib/components/SearchAdmin/SearchResults/index.js +0 -4
- package/lib/components/SearchAdmin/SearchResults/index.js.map +1 -1
- package/lib/components/SearchAdmin/TriggerModal/TriggerModal.js +0 -6
- package/lib/components/SearchAdmin/TriggerModal/TriggerModal.js.map +1 -1
- package/lib/components/SearchAdmin/TriggerModal/index.js +0 -4
- package/lib/components/SearchAdmin/TriggerModal/index.js.map +1 -1
- package/lib/components/SearchAdmin/index.js +0 -4
- package/lib/components/SearchAdmin/index.js.map +1 -1
- package/lib/components/SearchPublishedContent/SearchPublishedContent.js +36 -67
- package/lib/components/SearchPublishedContent/SearchPublishedContent.js.map +1 -1
- package/lib/components/SearchPublishedContent/index.js +0 -4
- package/lib/components/SearchPublishedContent/index.js.map +1 -1
- package/lib/components/useLocalStorage/index.js +0 -4
- package/lib/components/useLocalStorage/index.js.map +1 -1
- package/lib/components/useLocalStorage/useLocalStorage.js +6 -14
- package/lib/components/useLocalStorage/useLocalStorage.js.map +1 -1
- package/lib/components/useSearch/index.js +0 -4
- package/lib/components/useSearch/index.js.map +1 -1
- package/lib/components/useSearch/useSearch.js +35 -72
- package/lib/components/useSearch/useSearch.js.map +1 -1
- package/lib/components/useSearchResults/index.js +0 -4
- package/lib/components/useSearchResults/index.js.map +1 -1
- package/lib/components/useSearchResults/useSearchResults.js +35 -39
- package/lib/components/useSearchResults/useSearchResults.js.map +1 -1
- package/lib/constants.js +0 -1
- package/lib/constants.js.map +1 -1
- package/lib/hooks/index.js +0 -4
- package/lib/hooks/index.js.map +1 -1
- package/lib/hooks/useDebounceSearch.js +19 -33
- package/lib/hooks/useDebounceSearch.js.map +1 -1
- package/lib/index.js +0 -6
- package/lib/index.js.map +1 -1
- package/lib-es/application/query/index.js +0 -3
- package/lib-es/application/query/index.js.map +1 -1
- package/lib-es/components/SearchAdmin/RecentSearches/RecentSearches.js +0 -2
- package/lib-es/components/SearchAdmin/RecentSearches/RecentSearches.js.map +1 -1
- package/lib-es/components/SearchAdmin/RecentSearches/index.js.map +1 -1
- package/lib-es/components/SearchAdmin/SearchAdmin.js +3 -45
- package/lib-es/components/SearchAdmin/SearchAdmin.js.map +1 -1
- package/lib-es/components/SearchAdmin/SearchBar/SearchBar.js +0 -2
- package/lib-es/components/SearchAdmin/SearchBar/SearchBar.js.map +1 -1
- package/lib-es/components/SearchAdmin/SearchBar/index.js.map +1 -1
- package/lib-es/components/SearchAdmin/SearchResults/SearchResults.js +6 -27
- package/lib-es/components/SearchAdmin/SearchResults/SearchResults.js.map +1 -1
- package/lib-es/components/SearchAdmin/SearchResults/index.js.map +1 -1
- package/lib-es/components/SearchAdmin/TriggerModal/TriggerModal.js +0 -2
- package/lib-es/components/SearchAdmin/TriggerModal/TriggerModal.js.map +1 -1
- package/lib-es/components/SearchAdmin/TriggerModal/index.js.map +1 -1
- package/lib-es/components/SearchAdmin/index.js.map +1 -1
- package/lib-es/components/SearchPublishedContent/SearchPublishedContent.js +4 -10
- package/lib-es/components/SearchPublishedContent/SearchPublishedContent.js.map +1 -1
- package/lib-es/components/SearchPublishedContent/index.js.map +1 -1
- package/lib-es/components/useLocalStorage/index.js.map +1 -1
- package/lib-es/components/useLocalStorage/useLocalStorage.js +0 -4
- package/lib-es/components/useLocalStorage/useLocalStorage.js.map +1 -1
- package/lib-es/components/useSearch/index.js.map +1 -1
- package/lib-es/components/useSearch/useSearch.js +4 -13
- package/lib-es/components/useSearch/useSearch.js.map +1 -1
- package/lib-es/components/useSearchResults/index.js.map +1 -1
- package/lib-es/components/useSearchResults/useSearchResults.js +11 -9
- package/lib-es/components/useSearchResults/useSearchResults.js.map +1 -1
- package/lib-es/constants.js.map +1 -1
- package/lib-es/hooks/index.js.map +1 -1
- package/lib-es/hooks/useDebounceSearch.js +0 -2
- package/lib-es/hooks/useDebounceSearch.js.map +1 -1
- package/lib-es/index.js.map +1 -1
- package/package.json +3 -3
- package/src/components/SearchAdmin/SearchAdmin.js +40 -70
- package/src/components/SearchAdmin/SearchResults/SearchResults.js +6 -42
- package/src/components/useSearch/useSearch.js +2 -8
- package/src/components/useSearchResults/useSearchResults.js +15 -1
- package/lib/components/SearchAdmin/SearchAdminSideBar/SearchAdminSideBar.js +0 -143
- package/lib/components/SearchAdmin/SearchAdminSideBar/SearchAdminSideBar.js.map +0 -1
- package/lib/components/SearchAdmin/SearchAdminSideBar/index.js +0 -16
- package/lib/components/SearchAdmin/SearchAdminSideBar/index.js.map +0 -1
- package/lib-es/components/SearchAdmin/SearchAdminSideBar/SearchAdminSideBar.js +0 -79
- package/lib-es/components/SearchAdmin/SearchAdminSideBar/SearchAdminSideBar.js.map +0 -1
- package/lib-es/components/SearchAdmin/SearchAdminSideBar/index.js +0 -3
- package/lib-es/components/SearchAdmin/SearchAdminSideBar/index.js.map +0 -1
- package/src/components/SearchAdmin/SearchAdminSideBar/SearchAdminSideBar.js +0 -88
- package/src/components/SearchAdmin/SearchAdminSideBar/index.js +0 -3
|
@@ -1,54 +1,41 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
require("core-js/modules/es.object.define-property.js");
|
|
4
|
-
|
|
5
4
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
6
|
-
|
|
7
5
|
Object.defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
10
8
|
exports["default"] = void 0;
|
|
11
|
-
|
|
12
9
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
13
|
-
|
|
14
10
|
var _react = require("react");
|
|
15
|
-
|
|
16
11
|
var _customHooks = require("@blaze-react/utils/lib/customHooks");
|
|
17
|
-
|
|
18
12
|
var _useSearchResults3 = _interopRequireDefault(require("../components/useSearchResults"));
|
|
19
|
-
|
|
20
13
|
var _constants = require("../constants");
|
|
21
|
-
|
|
22
14
|
var useDebounceSearch = function useDebounceSearch(_ref) {
|
|
23
15
|
var entities = _ref.entities,
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
16
|
+
resultKeys = _ref.resultKeys,
|
|
17
|
+
fields = _ref.fields,
|
|
18
|
+
initialSearchTerm = _ref.initialSearchTerm;
|
|
28
19
|
var _useState = (0, _react.useState)(initialSearchTerm !== null && initialSearchTerm !== void 0 ? initialSearchTerm : ''),
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
20
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
21
|
+
searchTerm = _useState2[0],
|
|
22
|
+
setSearchTerm = _useState2[1];
|
|
33
23
|
var _useState3 = (0, _react.useState)(null),
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
24
|
+
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
25
|
+
previousSearchTerm = _useState4[0],
|
|
26
|
+
setPreviousSearchTerm = _useState4[1];
|
|
38
27
|
var debouncedSearchTerm = (0, _customHooks.useDebounce)(searchTerm, 500);
|
|
39
|
-
|
|
40
28
|
var _useSearchResults = (0, _useSearchResults3["default"])({
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
29
|
+
queryKey: _constants.SEARCH_PUBLISHED,
|
|
30
|
+
resultKeys: resultKeys,
|
|
31
|
+
entities: entities,
|
|
32
|
+
fields: fields
|
|
33
|
+
}),
|
|
34
|
+
_useSearchResults2 = (0, _slicedToArray2["default"])(_useSearchResults, 2),
|
|
35
|
+
_useSearchResults2$ = _useSearchResults2[0],
|
|
36
|
+
loading = _useSearchResults2$.loading,
|
|
37
|
+
results = _useSearchResults2$.results,
|
|
38
|
+
setQueryParams = _useSearchResults2[1];
|
|
52
39
|
(0, _react.useEffect)(function () {
|
|
53
40
|
if (debouncedSearchTerm && debouncedSearchTerm !== previousSearchTerm) {
|
|
54
41
|
setQueryParams({
|
|
@@ -67,7 +54,6 @@ var useDebounceSearch = function useDebounceSearch(_ref) {
|
|
|
67
54
|
previousSearchTerm: previousSearchTerm
|
|
68
55
|
};
|
|
69
56
|
};
|
|
70
|
-
|
|
71
57
|
var _default = useDebounceSearch;
|
|
72
58
|
exports["default"] = _default;
|
|
73
59
|
//# sourceMappingURL=useDebounceSearch.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDebounceSearch.js","names":["useDebounceSearch","entities","resultKeys","fields","initialSearchTerm","useState","searchTerm","setSearchTerm","previousSearchTerm","setPreviousSearchTerm","debouncedSearchTerm","useDebounce","useSearchResults","queryKey","SEARCH_PUBLISHED","loading","results","setQueryParams","useEffect","value"],"sources":["../../src/hooks/useDebounceSearch.js"],"sourcesContent":["import { useEffect, useState } from 'react';\nimport { useDebounce } from '@blaze-react/utils/lib/customHooks';\nimport useSearchResults from '../components/useSearchResults';\nimport { SEARCH_PUBLISHED } from '../constants';\n\nconst useDebounceSearch = ({ entities, resultKeys, fields, initialSearchTerm }) => {\n const [searchTerm, setSearchTerm] = useState(initialSearchTerm ?? '');\n const [previousSearchTerm, setPreviousSearchTerm] = useState(null);\n const debouncedSearchTerm = useDebounce(searchTerm, 500);\n\n const [{ loading, results }, setQueryParams] = useSearchResults({\n queryKey: SEARCH_PUBLISHED,\n resultKeys,\n entities,\n fields\n });\n\n useEffect(\n () => {\n if (debouncedSearchTerm && debouncedSearchTerm !== previousSearchTerm) {\n setQueryParams({ value: debouncedSearchTerm });\n setPreviousSearchTerm(debouncedSearchTerm);\n }\n },\n [debouncedSearchTerm, previousSearchTerm, setQueryParams]\n );\n\n return {\n loading,\n results,\n searchTerm,\n setSearchTerm,\n setPreviousSearchTerm,\n debouncedSearchTerm,\n previousSearchTerm\n };\n};\n\nexport default useDebounceSearch;\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"useDebounceSearch.js","names":["useDebounceSearch","entities","resultKeys","fields","initialSearchTerm","useState","searchTerm","setSearchTerm","previousSearchTerm","setPreviousSearchTerm","debouncedSearchTerm","useDebounce","useSearchResults","queryKey","SEARCH_PUBLISHED","loading","results","setQueryParams","useEffect","value"],"sources":["../../src/hooks/useDebounceSearch.js"],"sourcesContent":["import { useEffect, useState } from 'react';\nimport { useDebounce } from '@blaze-react/utils/lib/customHooks';\nimport useSearchResults from '../components/useSearchResults';\nimport { SEARCH_PUBLISHED } from '../constants';\n\nconst useDebounceSearch = ({ entities, resultKeys, fields, initialSearchTerm }) => {\n const [searchTerm, setSearchTerm] = useState(initialSearchTerm ?? '');\n const [previousSearchTerm, setPreviousSearchTerm] = useState(null);\n const debouncedSearchTerm = useDebounce(searchTerm, 500);\n\n const [{ loading, results }, setQueryParams] = useSearchResults({\n queryKey: SEARCH_PUBLISHED,\n resultKeys,\n entities,\n fields\n });\n\n useEffect(\n () => {\n if (debouncedSearchTerm && debouncedSearchTerm !== previousSearchTerm) {\n setQueryParams({ value: debouncedSearchTerm });\n setPreviousSearchTerm(debouncedSearchTerm);\n }\n },\n [debouncedSearchTerm, previousSearchTerm, setQueryParams]\n );\n\n return {\n loading,\n results,\n searchTerm,\n setSearchTerm,\n setPreviousSearchTerm,\n debouncedSearchTerm,\n previousSearchTerm\n };\n};\n\nexport default useDebounceSearch;\n"],"mappings":";;;;;;;;;AAAA;AACA;AACA;AACA;AAEA,IAAMA,iBAAiB,GAAG,SAApBA,iBAAiB,OAA4D;EAAA,IAAtDC,QAAQ,QAARA,QAAQ;IAAEC,UAAU,QAAVA,UAAU;IAAEC,MAAM,QAANA,MAAM;IAAEC,iBAAiB,QAAjBA,iBAAiB;EAC1E,gBAAoC,IAAAC,eAAQ,EAACD,iBAAiB,aAAjBA,iBAAiB,cAAjBA,iBAAiB,GAAI,EAAE,CAAC;IAAA;IAA9DE,UAAU;IAAEC,aAAa;EAChC,iBAAoD,IAAAF,eAAQ,EAAC,IAAI,CAAC;IAAA;IAA3DG,kBAAkB;IAAEC,qBAAqB;EAChD,IAAMC,mBAAmB,GAAG,IAAAC,wBAAW,EAACL,UAAU,EAAE,GAAG,CAAC;EAExD,wBAA+C,IAAAM,6BAAgB,EAAC;MAC9DC,QAAQ,EAAEC,2BAAgB;MAC1BZ,UAAU,EAAVA,UAAU;MACVD,QAAQ,EAARA,QAAQ;MACRE,MAAM,EAANA;IACF,CAAC,CAAC;IAAA;IAAA;IALOY,OAAO,uBAAPA,OAAO;IAAEC,OAAO,uBAAPA,OAAO;IAAIC,cAAc;EAO3C,IAAAC,gBAAS,EACP,YAAM;IACJ,IAAIR,mBAAmB,IAAIA,mBAAmB,KAAKF,kBAAkB,EAAE;MACrES,cAAc,CAAC;QAAEE,KAAK,EAAET;MAAoB,CAAC,CAAC;MAC9CD,qBAAqB,CAACC,mBAAmB,CAAC;IAC5C;EACF,CAAC,EACD,CAACA,mBAAmB,EAAEF,kBAAkB,EAAES,cAAc,CAAC,CAC1D;EAED,OAAO;IACLF,OAAO,EAAPA,OAAO;IACPC,OAAO,EAAPA,OAAO;IACPV,UAAU,EAAVA,UAAU;IACVC,aAAa,EAAbA,aAAa;IACbE,qBAAqB,EAArBA,qBAAqB;IACrBC,mBAAmB,EAAnBA,mBAAmB;IACnBF,kBAAkB,EAAlBA;EACF,CAAC;AACH,CAAC;AAAC,eAEaR,iBAAiB;AAAA"}
|
package/lib/index.js
CHANGED
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
require("core-js/modules/es.object.define-property.js");
|
|
4
|
-
|
|
5
4
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
6
|
-
|
|
7
5
|
Object.defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
@@ -31,12 +29,8 @@ Object.defineProperty(exports, "useDebounceSearch", {
|
|
|
31
29
|
return _useDebounceSearch["default"];
|
|
32
30
|
}
|
|
33
31
|
});
|
|
34
|
-
|
|
35
32
|
var _SearchAdmin = _interopRequireDefault(require("./components/SearchAdmin"));
|
|
36
|
-
|
|
37
33
|
var _SearchPublishedContent = _interopRequireDefault(require("./components/SearchPublishedContent"));
|
|
38
|
-
|
|
39
34
|
var _SearchBar = _interopRequireDefault(require("./components/SearchAdmin/SearchBar"));
|
|
40
|
-
|
|
41
35
|
var _useDebounceSearch = _interopRequireDefault(require("./hooks/useDebounceSearch"));
|
|
42
36
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../src/index.js"],"sourcesContent":["import SearchAdmin from './components/SearchAdmin';\nimport SearchPublishedContent from './components/SearchPublishedContent';\nimport SearchBar from './components/SearchAdmin/SearchBar';\nimport useDebounceSearch from './hooks/useDebounceSearch';\n\nexport { SearchAdmin, SearchPublishedContent, SearchBar, useDebounceSearch };\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../src/index.js"],"sourcesContent":["import SearchAdmin from './components/SearchAdmin';\nimport SearchPublishedContent from './components/SearchPublishedContent';\nimport SearchBar from './components/SearchAdmin/SearchBar';\nimport useDebounceSearch from './hooks/useDebounceSearch';\n\nexport { SearchAdmin, SearchPublishedContent, SearchBar, useDebounceSearch };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { gql } from '@apollo/client';
|
|
2
|
-
|
|
3
2
|
const SEARCH_ADMIN = () => gql`
|
|
4
3
|
query searchAdmin($limit: Int, $offset: Int, $sort: String, $rawQuery: JSON!) {
|
|
5
4
|
search: searchAdmin(limit: $limit, offset: $offset, sort: $sort, rawQuery: $rawQuery) {
|
|
@@ -8,7 +7,6 @@ const SEARCH_ADMIN = () => gql`
|
|
|
8
7
|
}
|
|
9
8
|
}
|
|
10
9
|
`;
|
|
11
|
-
|
|
12
10
|
const SEARCH_PUBLISHED = ({
|
|
13
11
|
resultKeys
|
|
14
12
|
}) => gql`
|
|
@@ -28,7 +26,6 @@ const SEARCH_PUBLISHED = ({
|
|
|
28
26
|
}
|
|
29
27
|
}
|
|
30
28
|
`;
|
|
31
|
-
|
|
32
29
|
export default {
|
|
33
30
|
SEARCH_ADMIN,
|
|
34
31
|
SEARCH_PUBLISHED
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["gql","SEARCH_ADMIN","SEARCH_PUBLISHED","resultKeys"],"sources":["../../../src/application/query/index.js"],"sourcesContent":["import { gql } from '@apollo/client';\n\nconst SEARCH_ADMIN = () => gql`\n query searchAdmin($limit: Int, $offset: Int, $sort: String, $rawQuery: JSON!) {\n search: searchAdmin(limit: $limit, offset: $offset, sort: $sort, rawQuery: $rawQuery) {\n jsonResults\n total\n }\n }\n`;\n\nconst SEARCH_PUBLISHED = ({ resultKeys }) => gql`\n query searchPublishedContent($limit: Int, $offset: Int, $sort: String, $rawQuery: JSON!) {\n search: searchPublishedContent(\n limit: $limit\n offset: $offset\n sort: $sort\n rawQuery: $rawQuery\n ) {\n results {\n ...on ContentContentInterface {\n ${resultKeys}\n } \n }\n total\n }\n }\n`;\n\nexport default { SEARCH_ADMIN, SEARCH_PUBLISHED };\n"],"mappings":"AAAA,SAASA,
|
|
1
|
+
{"version":3,"file":"index.js","names":["gql","SEARCH_ADMIN","SEARCH_PUBLISHED","resultKeys"],"sources":["../../../src/application/query/index.js"],"sourcesContent":["import { gql } from '@apollo/client';\n\nconst SEARCH_ADMIN = () => gql`\n query searchAdmin($limit: Int, $offset: Int, $sort: String, $rawQuery: JSON!) {\n search: searchAdmin(limit: $limit, offset: $offset, sort: $sort, rawQuery: $rawQuery) {\n jsonResults\n total\n }\n }\n`;\n\nconst SEARCH_PUBLISHED = ({ resultKeys }) => gql`\n query searchPublishedContent($limit: Int, $offset: Int, $sort: String, $rawQuery: JSON!) {\n search: searchPublishedContent(\n limit: $limit\n offset: $offset\n sort: $sort\n rawQuery: $rawQuery\n ) {\n results {\n ...on ContentContentInterface {\n ${resultKeys}\n } \n }\n total\n }\n }\n`;\n\nexport default { SEARCH_ADMIN, SEARCH_PUBLISHED };\n"],"mappings":"AAAA,SAASA,GAAG,QAAQ,gBAAgB;AAEpC,MAAMC,YAAY,GAAG,MAAMD,GAAI;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,MAAME,gBAAgB,GAAG,CAAC;EAAEC;AAAW,CAAC,KAAKH,GAAI;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAYG,UAAW;AACvB;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,eAAe;EAAEF,YAAY;EAAEC;AAAiB,CAAC"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
|
-
|
|
4
3
|
const RecentSearches = ({
|
|
5
4
|
recentSearches,
|
|
6
5
|
handleSearchTerm,
|
|
@@ -30,7 +29,6 @@ const RecentSearches = ({
|
|
|
30
29
|
}, "search"), /*#__PURE__*/React.createElement("div", {
|
|
31
30
|
className: "list__item-text list__item-text--search"
|
|
32
31
|
}, searchedTerm)))));
|
|
33
|
-
|
|
34
32
|
RecentSearches.propTypes = {
|
|
35
33
|
recentSearches: PropTypes.array.isRequired,
|
|
36
34
|
handleSearchTerm: PropTypes.func.isRequired,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RecentSearches.js","names":["React","PropTypes","RecentSearches","recentSearches","handleSearchTerm","search","map","searchedTerm","target","value","propTypes","array","isRequired","func"],"sources":["../../../../src/components/SearchAdmin/RecentSearches/RecentSearches.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst RecentSearches = ({ recentSearches, handleSearchTerm, search }) => (\n <div className=\"list list--search\">\n <div className=\"header header--list\">\n <h2>Recent searches</h2>\n </div>\n {recentSearches.map(searchedTerm => (\n <div\n key={searchedTerm}\n role=\"button\"\n className=\"list__item list__item--search\"\n onClick={() => {\n handleSearchTerm({ target: { value: searchedTerm } });\n search({ value: searchedTerm });\n }}>\n <div className=\"list__item-row list__item-row--search\">\n <i className=\"material-icons\">search</i>\n <div className=\"list__item-text list__item-text--search\">{searchedTerm}</div>\n </div>\n </div>\n ))}\n </div>\n);\n\nRecentSearches.propTypes = {\n recentSearches: PropTypes.array.isRequired,\n handleSearchTerm: PropTypes.func.isRequired,\n search: PropTypes.func.isRequired\n};\n\nexport default RecentSearches;\n"],"mappings":"AAAA,OAAOA,
|
|
1
|
+
{"version":3,"file":"RecentSearches.js","names":["React","PropTypes","RecentSearches","recentSearches","handleSearchTerm","search","map","searchedTerm","target","value","propTypes","array","isRequired","func"],"sources":["../../../../src/components/SearchAdmin/RecentSearches/RecentSearches.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst RecentSearches = ({ recentSearches, handleSearchTerm, search }) => (\n <div className=\"list list--search\">\n <div className=\"header header--list\">\n <h2>Recent searches</h2>\n </div>\n {recentSearches.map(searchedTerm => (\n <div\n key={searchedTerm}\n role=\"button\"\n className=\"list__item list__item--search\"\n onClick={() => {\n handleSearchTerm({ target: { value: searchedTerm } });\n search({ value: searchedTerm });\n }}>\n <div className=\"list__item-row list__item-row--search\">\n <i className=\"material-icons\">search</i>\n <div className=\"list__item-text list__item-text--search\">{searchedTerm}</div>\n </div>\n </div>\n ))}\n </div>\n);\n\nRecentSearches.propTypes = {\n recentSearches: PropTypes.array.isRequired,\n handleSearchTerm: PropTypes.func.isRequired,\n search: PropTypes.func.isRequired\n};\n\nexport default RecentSearches;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAElC,MAAMC,cAAc,GAAG,CAAC;EAAEC,cAAc;EAAEC,gBAAgB;EAAEC;AAAO,CAAC,kBAClE;EAAK,SAAS,EAAC;AAAmB,gBAChC;EAAK,SAAS,EAAC;AAAqB,gBAClC,kDAAwB,CACpB,EACLF,cAAc,CAACG,GAAG,CAACC,YAAY,iBAC9B;EACE,GAAG,EAAEA,YAAa;EAClB,IAAI,EAAC,QAAQ;EACb,SAAS,EAAC,+BAA+B;EACzC,OAAO,EAAE,MAAM;IACbH,gBAAgB,CAAC;MAAEI,MAAM,EAAE;QAAEC,KAAK,EAAEF;MAAa;IAAE,CAAC,CAAC;IACrDF,MAAM,CAAC;MAAEI,KAAK,EAAEF;IAAa,CAAC,CAAC;EACjC;AAAE,gBACF;EAAK,SAAS,EAAC;AAAuC,gBACpD;EAAG,SAAS,EAAC;AAAgB,YAAW,eACxC;EAAK,SAAS,EAAC;AAAyC,GAAEA,YAAY,CAAO,CACzE,CAET,CAAC,CAEL;AAEDL,cAAc,CAACQ,SAAS,GAAG;EACzBP,cAAc,EAAEF,SAAS,CAACU,KAAK,CAACC,UAAU;EAC1CR,gBAAgB,EAAEH,SAAS,CAACY,IAAI,CAACD,UAAU;EAC3CP,MAAM,EAAEJ,SAAS,CAACY,IAAI,CAACD;AACzB,CAAC;AAED,eAAeV,cAAc"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["RecentSearches"],"sources":["../../../../src/components/SearchAdmin/RecentSearches/index.js"],"sourcesContent":["import RecentSearches from './RecentSearches';\n\nexport default RecentSearches;\n"],"mappings":"AAAA,OAAOA,
|
|
1
|
+
{"version":3,"file":"index.js","names":["RecentSearches"],"sources":["../../../../src/components/SearchAdmin/RecentSearches/index.js"],"sourcesContent":["import RecentSearches from './RecentSearches';\n\nexport default RecentSearches;\n"],"mappings":"AAAA,OAAOA,cAAc,MAAM,kBAAkB;AAE7C,eAAeA,cAAc"}
|
|
@@ -1,38 +1,30 @@
|
|
|
1
1
|
import React, { useState, useRef, useEffect } from 'react';
|
|
2
2
|
import classnames from 'classnames';
|
|
3
|
-
import { useDebounce } from '@blaze-react/utils/lib/customHooks';
|
|
4
3
|
import useLocalStorage from '../useLocalStorage';
|
|
5
4
|
import SearchBar from './SearchBar';
|
|
6
5
|
import RecentSearches from './RecentSearches';
|
|
7
6
|
import SearchResults from './SearchResults';
|
|
8
7
|
import TriggerModal from './TriggerModal';
|
|
9
|
-
import SearchAdminSideBar from './SearchAdminSideBar';
|
|
10
8
|
import useSearchResults from '../useSearchResults';
|
|
11
9
|
import { SEARCH_ADMIN } from '../../constants';
|
|
12
|
-
|
|
13
10
|
const SearchAdmin = () => {
|
|
14
11
|
const [searchTerm, setSearchTerm] = useState('');
|
|
15
|
-
const [openSearchSideBar, setOpenSearchSideBar] = useState(true);
|
|
16
|
-
const [entityValues, setEntityValues] = useState([]);
|
|
17
12
|
const [recentSearches, setRecentSearches] = useLocalStorage('recentSearches', []);
|
|
18
13
|
const [displaySearchModalFrame, setDisplaySearchModalFrame] = useState(false);
|
|
19
14
|
const [enableResults, setEnableResults] = useState(true);
|
|
20
15
|
const searchInputRef = useRef(null);
|
|
21
|
-
const debouncedEntityValues = useDebounce(entityValues, 500);
|
|
22
16
|
const [{
|
|
23
17
|
loading,
|
|
24
18
|
results,
|
|
25
19
|
total
|
|
26
20
|
}, setQueryParams] = useSearchResults({
|
|
27
|
-
queryKey: SEARCH_ADMIN
|
|
28
|
-
entities: debouncedEntityValues.map(e => e.id)
|
|
21
|
+
queryKey: SEARCH_ADMIN
|
|
29
22
|
});
|
|
30
23
|
useEffect(() => {
|
|
31
24
|
if (searchInputRef && searchInputRef.current) {
|
|
32
25
|
searchInputRef.current.focus();
|
|
33
26
|
}
|
|
34
27
|
}, [displaySearchModalFrame]);
|
|
35
|
-
|
|
36
28
|
const handleSearchTerm = ({
|
|
37
29
|
target: {
|
|
38
30
|
value
|
|
@@ -40,13 +32,11 @@ const SearchAdmin = () => {
|
|
|
40
32
|
}) => {
|
|
41
33
|
setSearchTerm(value);
|
|
42
34
|
};
|
|
43
|
-
|
|
44
35
|
const toggleSearchModal = () => {
|
|
45
36
|
setSearchTerm(null);
|
|
46
37
|
setEnableResults(false);
|
|
47
38
|
setDisplaySearchModalFrame(!displaySearchModalFrame);
|
|
48
39
|
};
|
|
49
|
-
|
|
50
40
|
const search = ({
|
|
51
41
|
value
|
|
52
42
|
}) => {
|
|
@@ -54,21 +44,17 @@ const SearchAdmin = () => {
|
|
|
54
44
|
!enableResults && setEnableResults(true);
|
|
55
45
|
const MAX_RECENT_SEARCHES = 5;
|
|
56
46
|
const recentSearchesCopy = recentSearches.slice();
|
|
57
|
-
|
|
58
47
|
if (!recentSearchesCopy.includes(value)) {
|
|
59
48
|
recentSearchesCopy.push(value);
|
|
60
|
-
|
|
61
49
|
if (recentSearchesCopy.length > MAX_RECENT_SEARCHES) {
|
|
62
50
|
recentSearchesCopy.shift();
|
|
63
51
|
}
|
|
64
52
|
}
|
|
65
|
-
|
|
66
53
|
setRecentSearches(recentSearchesCopy);
|
|
67
54
|
setQueryParams({
|
|
68
55
|
value
|
|
69
56
|
});
|
|
70
57
|
};
|
|
71
|
-
|
|
72
58
|
const handleKeyDown = ({
|
|
73
59
|
key
|
|
74
60
|
}) => {
|
|
@@ -79,51 +65,24 @@ const SearchAdmin = () => {
|
|
|
79
65
|
});
|
|
80
66
|
}
|
|
81
67
|
};
|
|
82
|
-
|
|
83
68
|
const clear = () => {
|
|
84
69
|
setSearchTerm('');
|
|
85
70
|
setEnableResults(false);
|
|
86
71
|
};
|
|
87
|
-
|
|
88
72
|
const searchModalResultsClassName = classnames('modal modal--full-screen modal--search', {
|
|
89
73
|
'modal--show': displaySearchModalFrame
|
|
90
74
|
});
|
|
91
|
-
const searchModalSideBarClassName = classnames('modal__search__sidebar', {
|
|
92
|
-
'modal__search__sidebar--close': !openSearchSideBar
|
|
93
|
-
});
|
|
94
75
|
const isEmptySearchTermAndData = !searchTerm && !results.length;
|
|
95
76
|
const isEmptySearchTermnAndDisabledResults = !searchTerm && !enableResults;
|
|
96
77
|
const shouldDisplayRecentSearches = isEmptySearchTermAndData || isEmptySearchTermnAndDisabledResults;
|
|
97
78
|
const showResults = enableResults && results.length;
|
|
98
|
-
|
|
99
|
-
const handleSetEntityValues = newEntity => {
|
|
100
|
-
const entityExists = entityValues.some(entity => entity.id === newEntity.id);
|
|
101
|
-
|
|
102
|
-
if (entityExists) {
|
|
103
|
-
setEntityValues(entityValues.filter(entity => entity.id !== newEntity.id));
|
|
104
|
-
} else {
|
|
105
|
-
setEntityValues([...entityValues, newEntity]);
|
|
106
|
-
}
|
|
107
|
-
};
|
|
108
|
-
|
|
109
79
|
return /*#__PURE__*/React.createElement("div", {
|
|
110
80
|
className: "search search--header"
|
|
111
81
|
}, /*#__PURE__*/React.createElement(TriggerModal, {
|
|
112
82
|
toggleSearchModal: toggleSearchModal
|
|
113
83
|
}), /*#__PURE__*/React.createElement("div", {
|
|
114
84
|
className: searchModalResultsClassName
|
|
115
|
-
}, displaySearchModalFrame && /*#__PURE__*/React.createElement("div", {
|
|
116
|
-
className: "modal__search"
|
|
117
|
-
}, /*#__PURE__*/React.createElement(SearchAdminSideBar, {
|
|
118
|
-
searchModalSideBarClassName: searchModalSideBarClassName,
|
|
119
|
-
openSearchSideBar: openSearchSideBar,
|
|
120
|
-
setOpenSearchSideBar: setOpenSearchSideBar,
|
|
121
|
-
handleSetEntityValues: handleSetEntityValues,
|
|
122
|
-
entityValues: entityValues,
|
|
123
|
-
setEntityValues: setEntityValues
|
|
124
|
-
}), /*#__PURE__*/React.createElement("div", {
|
|
125
|
-
className: "modal__search__content"
|
|
126
|
-
}, /*#__PURE__*/React.createElement("div", {
|
|
85
|
+
}, displaySearchModalFrame && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
|
|
127
86
|
className: "modal__header modal__header--search"
|
|
128
87
|
}, /*#__PURE__*/React.createElement(SearchBar, {
|
|
129
88
|
toggleSearchModal: toggleSearchModal,
|
|
@@ -150,8 +109,7 @@ const SearchAdmin = () => {
|
|
|
150
109
|
total: total,
|
|
151
110
|
setQueryParams: setQueryParams,
|
|
152
111
|
closeModal: toggleSearchModal
|
|
153
|
-
}))))
|
|
112
|
+
}))));
|
|
154
113
|
};
|
|
155
|
-
|
|
156
114
|
export default SearchAdmin;
|
|
157
115
|
//# sourceMappingURL=SearchAdmin.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchAdmin.js","names":["React","useState","useRef","useEffect","classnames","useDebounce","useLocalStorage","SearchBar","RecentSearches","SearchResults","TriggerModal","SearchAdminSideBar","useSearchResults","SEARCH_ADMIN","SearchAdmin","searchTerm","setSearchTerm","openSearchSideBar","setOpenSearchSideBar","entityValues","setEntityValues","recentSearches","setRecentSearches","displaySearchModalFrame","setDisplaySearchModalFrame","enableResults","setEnableResults","searchInputRef","debouncedEntityValues","loading","results","total","setQueryParams","queryKey","entities","map","e","id","current","focus","handleSearchTerm","target","value","toggleSearchModal","search","MAX_RECENT_SEARCHES","recentSearchesCopy","slice","includes","push","length","shift","handleKeyDown","key","clear","searchModalResultsClassName","searchModalSideBarClassName","isEmptySearchTermAndData","isEmptySearchTermnAndDisabledResults","shouldDisplayRecentSearches","showResults","handleSetEntityValues","newEntity","entityExists","some","entity","filter"],"sources":["../../../src/components/SearchAdmin/SearchAdmin.js"],"sourcesContent":["import React, { useState, useRef, useEffect } from 'react';\nimport classnames from 'classnames';\nimport { useDebounce } from '@blaze-react/utils/lib/customHooks';\nimport useLocalStorage from '../useLocalStorage';\nimport SearchBar from './SearchBar';\nimport RecentSearches from './RecentSearches';\nimport SearchResults from './SearchResults';\nimport TriggerModal from './TriggerModal';\nimport SearchAdminSideBar from './SearchAdminSideBar';\nimport useSearchResults from '../useSearchResults';\nimport { SEARCH_ADMIN } from '../../constants';\n\nconst SearchAdmin = () => {\n const [searchTerm, setSearchTerm] = useState('');\n const [openSearchSideBar, setOpenSearchSideBar] = useState(true);\n const [entityValues, setEntityValues] = useState([]);\n\n const [recentSearches, setRecentSearches] = useLocalStorage('recentSearches', []);\n const [displaySearchModalFrame, setDisplaySearchModalFrame] = useState(false);\n const [enableResults, setEnableResults] = useState(true);\n const searchInputRef = useRef(null);\n const debouncedEntityValues = useDebounce(entityValues, 500);\n const [{ loading, results, total }, setQueryParams] = useSearchResults({\n queryKey: SEARCH_ADMIN,\n entities: debouncedEntityValues.map(e => e.id)\n });\n\n useEffect(\n () => {\n if (searchInputRef && searchInputRef.current) {\n searchInputRef.current.focus();\n }\n },\n [displaySearchModalFrame]\n );\n\n const handleSearchTerm = ({ target: { value } }) => {\n setSearchTerm(value);\n };\n const toggleSearchModal = () => {\n setSearchTerm(null);\n setEnableResults(false);\n setDisplaySearchModalFrame(!displaySearchModalFrame);\n };\n const search = ({ value }) => {\n if (!value) return;\n !enableResults && setEnableResults(true);\n const MAX_RECENT_SEARCHES = 5;\n const recentSearchesCopy = recentSearches.slice();\n\n if (!recentSearchesCopy.includes(value)) {\n recentSearchesCopy.push(value);\n if (recentSearchesCopy.length > MAX_RECENT_SEARCHES) {\n recentSearchesCopy.shift();\n }\n }\n\n setRecentSearches(recentSearchesCopy);\n setQueryParams({ value });\n };\n\n const handleKeyDown = ({ key }) => {\n if (key === 'Enter') {\n if (!searchTerm) return clear();\n search({ value: searchTerm });\n }\n };\n\n const clear = () => {\n setSearchTerm('');\n setEnableResults(false);\n };\n\n const searchModalResultsClassName = classnames('modal modal--full-screen modal--search', {\n 'modal--show': displaySearchModalFrame\n });\n\n const searchModalSideBarClassName = classnames('modal__search__sidebar', {\n 'modal__search__sidebar--close': !openSearchSideBar\n });\n\n const isEmptySearchTermAndData = !searchTerm && !results.length;\n const isEmptySearchTermnAndDisabledResults = !searchTerm && !enableResults;\n const shouldDisplayRecentSearches =\n isEmptySearchTermAndData || isEmptySearchTermnAndDisabledResults;\n\n const showResults = enableResults && results.length;\n\n const handleSetEntityValues = newEntity => {\n const entityExists = entityValues.some(entity => entity.id === newEntity.id);\n if (entityExists) {\n setEntityValues(entityValues.filter(entity => entity.id !== newEntity.id));\n } else {\n setEntityValues([...entityValues, newEntity]);\n }\n };\n\n return (\n <div className=\"search search--header\">\n <TriggerModal toggleSearchModal={toggleSearchModal} />\n <div className={searchModalResultsClassName}>\n {displaySearchModalFrame && (\n <div className=\"modal__search\">\n <SearchAdminSideBar\n searchModalSideBarClassName={searchModalSideBarClassName}\n openSearchSideBar={openSearchSideBar}\n setOpenSearchSideBar={setOpenSearchSideBar}\n handleSetEntityValues={handleSetEntityValues}\n entityValues={entityValues}\n setEntityValues={setEntityValues}\n />\n <div className=\"modal__search__content\">\n <div className=\"modal__header modal__header--search\">\n <SearchBar\n toggleSearchModal={toggleSearchModal}\n handleKeyDown={handleKeyDown}\n searchInputRef={searchInputRef}\n handleSearchTerm={handleSearchTerm}\n searchTerm={searchTerm}\n search={() => search({ value: searchTerm })}\n />\n </div>\n {shouldDisplayRecentSearches ? (\n <RecentSearches\n recentSearches={recentSearches}\n handleSearchTerm={handleSearchTerm}\n search={search}\n />\n ) : (\n <>\n {!showResults && (\n <div className=\"list list--search\">\n <div className=\"header header--list\">\n <h2>No Results</h2>\n </div>\n </div>\n )}\n </>\n )}\n {showResults && (\n <SearchResults\n currentValue={searchTerm}\n searchTerm={searchTerm}\n loading={loading}\n results={results}\n total={total}\n setQueryParams={setQueryParams}\n closeModal={toggleSearchModal}\n />\n )}\n </div>\n </div>\n )}\n </div>\n </div>\n );\n};\n\nexport default SearchAdmin;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SearchAdmin.js","names":["React","useState","useRef","useEffect","classnames","useLocalStorage","SearchBar","RecentSearches","SearchResults","TriggerModal","useSearchResults","SEARCH_ADMIN","SearchAdmin","searchTerm","setSearchTerm","recentSearches","setRecentSearches","displaySearchModalFrame","setDisplaySearchModalFrame","enableResults","setEnableResults","searchInputRef","loading","results","total","setQueryParams","queryKey","current","focus","handleSearchTerm","target","value","toggleSearchModal","search","MAX_RECENT_SEARCHES","recentSearchesCopy","slice","includes","push","length","shift","handleKeyDown","key","clear","searchModalResultsClassName","isEmptySearchTermAndData","isEmptySearchTermnAndDisabledResults","shouldDisplayRecentSearches","showResults"],"sources":["../../../src/components/SearchAdmin/SearchAdmin.js"],"sourcesContent":["import React, { useState, useRef, useEffect } from 'react';\nimport classnames from 'classnames';\nimport useLocalStorage from '../useLocalStorage';\nimport SearchBar from './SearchBar';\nimport RecentSearches from './RecentSearches';\nimport SearchResults from './SearchResults';\nimport TriggerModal from './TriggerModal';\nimport useSearchResults from '../useSearchResults';\nimport { SEARCH_ADMIN } from '../../constants';\n\nconst SearchAdmin = () => {\n const [searchTerm, setSearchTerm] = useState('');\n const [recentSearches, setRecentSearches] = useLocalStorage('recentSearches', []);\n const [displaySearchModalFrame, setDisplaySearchModalFrame] = useState(false);\n const [enableResults, setEnableResults] = useState(true);\n const searchInputRef = useRef(null);\n const [{ loading, results, total }, setQueryParams] = useSearchResults({\n queryKey: SEARCH_ADMIN\n });\n\n useEffect(\n () => {\n if (searchInputRef && searchInputRef.current) {\n searchInputRef.current.focus();\n }\n },\n [displaySearchModalFrame]\n );\n\n const handleSearchTerm = ({ target: { value } }) => {\n setSearchTerm(value);\n };\n const toggleSearchModal = () => {\n setSearchTerm(null);\n setEnableResults(false);\n setDisplaySearchModalFrame(!displaySearchModalFrame);\n };\n const search = ({ value }) => {\n if (!value) return;\n !enableResults && setEnableResults(true);\n const MAX_RECENT_SEARCHES = 5;\n const recentSearchesCopy = recentSearches.slice();\n\n if (!recentSearchesCopy.includes(value)) {\n recentSearchesCopy.push(value);\n if (recentSearchesCopy.length > MAX_RECENT_SEARCHES) {\n recentSearchesCopy.shift();\n }\n }\n\n setRecentSearches(recentSearchesCopy);\n setQueryParams({ value });\n };\n\n const handleKeyDown = ({ key }) => {\n if (key === 'Enter') {\n if (!searchTerm) return clear();\n search({ value: searchTerm });\n }\n };\n\n const clear = () => {\n setSearchTerm('');\n setEnableResults(false);\n };\n\n const searchModalResultsClassName = classnames('modal modal--full-screen modal--search', {\n 'modal--show': displaySearchModalFrame\n });\n\n const isEmptySearchTermAndData = !searchTerm && !results.length;\n const isEmptySearchTermnAndDisabledResults = !searchTerm && !enableResults;\n const shouldDisplayRecentSearches =\n isEmptySearchTermAndData || isEmptySearchTermnAndDisabledResults;\n\n const showResults = enableResults && results.length;\n\n return (\n <div className=\"search search--header\">\n <TriggerModal toggleSearchModal={toggleSearchModal} />\n <div className={searchModalResultsClassName}>\n {displaySearchModalFrame && (\n <>\n <div className=\"modal__header modal__header--search\">\n <SearchBar\n toggleSearchModal={toggleSearchModal}\n handleKeyDown={handleKeyDown}\n searchInputRef={searchInputRef}\n handleSearchTerm={handleSearchTerm}\n searchTerm={searchTerm}\n search={() => search({ value: searchTerm })}\n />\n </div>\n {shouldDisplayRecentSearches ? (\n <RecentSearches\n recentSearches={recentSearches}\n handleSearchTerm={handleSearchTerm}\n search={search}\n />\n ) : (\n <>\n {!showResults && (\n <div className=\"list list--search\">\n <div className=\"header header--list\">\n <h2>No Results</h2>\n </div>\n </div>\n )}\n </>\n )}\n {showResults && (\n <SearchResults\n currentValue={searchTerm}\n searchTerm={searchTerm}\n loading={loading}\n results={results}\n total={total}\n setQueryParams={setQueryParams}\n closeModal={toggleSearchModal}\n />\n )}\n </>\n )}\n </div>\n </div>\n );\n};\n\nexport default SearchAdmin;\n"],"mappings":"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"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
|
-
|
|
4
3
|
const SearchBar = ({
|
|
5
4
|
handleKeyDown,
|
|
6
5
|
searchInputRef,
|
|
@@ -32,7 +31,6 @@ const SearchBar = ({
|
|
|
32
31
|
onClick: toggleSearchModal,
|
|
33
32
|
role: "button"
|
|
34
33
|
}, "close")));
|
|
35
|
-
|
|
36
34
|
SearchBar.propTypes = {
|
|
37
35
|
close: PropTypes.bool,
|
|
38
36
|
handleKeyDown: PropTypes.func.isRequired,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchBar.js","names":["React","PropTypes","SearchBar","handleKeyDown","searchInputRef","handleSearchTerm","searchTerm","toggleSearchModal","close","search","placeholder","propTypes","bool","func","isRequired","object","string","defaultProps"],"sources":["../../../../src/components/SearchAdmin/SearchBar/SearchBar.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst SearchBar = ({\n handleKeyDown,\n searchInputRef,\n handleSearchTerm,\n searchTerm,\n toggleSearchModal,\n close,\n search,\n placeholder\n}) => (\n <div className=\"search__wrapper\">\n <input\n onKeyDown={handleKeyDown}\n ref={searchInputRef}\n placeholder={placeholder}\n type=\"text\"\n onChange={handleSearchTerm}\n value={searchTerm}\n />\n <span\n onClick={search}\n role=\"button\"\n className=\"icon-button icon-button--search icon-button--toggle\">\n <i className=\"material-icons\">search</i>\n </span>\n {close && (\n <div className=\"modal__close\">\n <i className=\"material-icons\" onClick={toggleSearchModal} role=\"button\">\n close\n </i>\n </div>\n )}\n </div>\n);\n\nSearchBar.propTypes = {\n close: PropTypes.bool,\n handleKeyDown: PropTypes.func.isRequired,\n searchInputRef: PropTypes.object,\n handleSearchTerm: PropTypes.func.isRequired,\n searchTerm: PropTypes.string,\n toggleSearchModal: PropTypes.func,\n search: PropTypes.func.isRequired,\n placeholder: PropTypes.string\n};\n\nSearchBar.defaultProps = {\n searchTerm: '',\n close: true,\n placeholder: 'Search...',\n toggleSearchModal: null,\n searchInputRef: null\n};\n\nexport default SearchBar;\n"],"mappings":"AAAA,OAAOA,
|
|
1
|
+
{"version":3,"file":"SearchBar.js","names":["React","PropTypes","SearchBar","handleKeyDown","searchInputRef","handleSearchTerm","searchTerm","toggleSearchModal","close","search","placeholder","propTypes","bool","func","isRequired","object","string","defaultProps"],"sources":["../../../../src/components/SearchAdmin/SearchBar/SearchBar.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst SearchBar = ({\n handleKeyDown,\n searchInputRef,\n handleSearchTerm,\n searchTerm,\n toggleSearchModal,\n close,\n search,\n placeholder\n}) => (\n <div className=\"search__wrapper\">\n <input\n onKeyDown={handleKeyDown}\n ref={searchInputRef}\n placeholder={placeholder}\n type=\"text\"\n onChange={handleSearchTerm}\n value={searchTerm}\n />\n <span\n onClick={search}\n role=\"button\"\n className=\"icon-button icon-button--search icon-button--toggle\">\n <i className=\"material-icons\">search</i>\n </span>\n {close && (\n <div className=\"modal__close\">\n <i className=\"material-icons\" onClick={toggleSearchModal} role=\"button\">\n close\n </i>\n </div>\n )}\n </div>\n);\n\nSearchBar.propTypes = {\n close: PropTypes.bool,\n handleKeyDown: PropTypes.func.isRequired,\n searchInputRef: PropTypes.object,\n handleSearchTerm: PropTypes.func.isRequired,\n searchTerm: PropTypes.string,\n toggleSearchModal: PropTypes.func,\n search: PropTypes.func.isRequired,\n placeholder: PropTypes.string\n};\n\nSearchBar.defaultProps = {\n searchTerm: '',\n close: true,\n placeholder: 'Search...',\n toggleSearchModal: null,\n searchInputRef: null\n};\n\nexport default SearchBar;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAElC,MAAMC,SAAS,GAAG,CAAC;EACjBC,aAAa;EACbC,cAAc;EACdC,gBAAgB;EAChBC,UAAU;EACVC,iBAAiB;EACjBC,KAAK;EACLC,MAAM;EACNC;AACF,CAAC,kBACC;EAAK,SAAS,EAAC;AAAiB,gBAC9B;EACE,SAAS,EAAEP,aAAc;EACzB,GAAG,EAAEC,cAAe;EACpB,WAAW,EAAEM,WAAY;EACzB,IAAI,EAAC,MAAM;EACX,QAAQ,EAAEL,gBAAiB;EAC3B,KAAK,EAAEC;AAAW,EAClB,eACF;EACE,OAAO,EAAEG,MAAO;EAChB,IAAI,EAAC,QAAQ;EACb,SAAS,EAAC;AAAqD,gBAC/D;EAAG,SAAS,EAAC;AAAgB,YAAW,CACnC,EACND,KAAK,iBACJ;EAAK,SAAS,EAAC;AAAc,gBAC3B;EAAG,SAAS,EAAC,gBAAgB;EAAC,OAAO,EAAED,iBAAkB;EAAC,IAAI,EAAC;AAAQ,WAEnE,CAEP,CAEJ;AAEDL,SAAS,CAACS,SAAS,GAAG;EACpBH,KAAK,EAAEP,SAAS,CAACW,IAAI;EACrBT,aAAa,EAAEF,SAAS,CAACY,IAAI,CAACC,UAAU;EACxCV,cAAc,EAAEH,SAAS,CAACc,MAAM;EAChCV,gBAAgB,EAAEJ,SAAS,CAACY,IAAI,CAACC,UAAU;EAC3CR,UAAU,EAAEL,SAAS,CAACe,MAAM;EAC5BT,iBAAiB,EAAEN,SAAS,CAACY,IAAI;EACjCJ,MAAM,EAAER,SAAS,CAACY,IAAI,CAACC,UAAU;EACjCJ,WAAW,EAAET,SAAS,CAACe;AACzB,CAAC;AAEDd,SAAS,CAACe,YAAY,GAAG;EACvBX,UAAU,EAAE,EAAE;EACdE,KAAK,EAAE,IAAI;EACXE,WAAW,EAAE,WAAW;EACxBH,iBAAiB,EAAE,IAAI;EACvBH,cAAc,EAAE;AAClB,CAAC;AAED,eAAeF,SAAS"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["SearchBar"],"sources":["../../../../src/components/SearchAdmin/SearchBar/index.js"],"sourcesContent":["import SearchBar from './SearchBar';\n\nexport default SearchBar;\n"],"mappings":"AAAA,OAAOA,
|
|
1
|
+
{"version":3,"file":"index.js","names":["SearchBar"],"sources":["../../../../src/components/SearchAdmin/SearchBar/index.js"],"sourcesContent":["import SearchBar from './SearchBar';\n\nexport default SearchBar;\n"],"mappings":"AAAA,OAAOA,SAAS,MAAM,aAAa;AAEnC,eAAeA,SAAS"}
|
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
/* eslint-disable jsx-a11y/anchor-is-valid */
|
|
2
|
-
|
|
3
2
|
/* eslint-disable jsx-a11y/no-static-element-interactions */
|
|
4
3
|
import React, { useState } from 'react';
|
|
5
4
|
import PropTypes from 'prop-types';
|
|
6
5
|
import VirtualList from 'react-tiny-virtual-list';
|
|
7
6
|
import { withRouter } from 'react-router-dom';
|
|
8
7
|
import { SEARCH_RESULTS_OVER_SCAN_BUFFER, SEARCH_RESULTS_ELEMETS_HEIGHT_ABOVE_LIST, SEARCH_RESULTS_ITEM_SIZE, FILE } from '../../../constants';
|
|
9
|
-
|
|
10
8
|
const SearchResults = ({
|
|
11
9
|
currentValue,
|
|
12
10
|
loading,
|
|
@@ -18,13 +16,11 @@ const SearchResults = ({
|
|
|
18
16
|
}) => {
|
|
19
17
|
const [verifiedRanges, setVerifiedRanges] = useState([]);
|
|
20
18
|
const [currentIndex, setCurrentIndex] = useState(0);
|
|
21
|
-
|
|
22
19
|
const handleRenderedItems = async ({
|
|
23
20
|
startIndex
|
|
24
21
|
}) => {
|
|
25
22
|
const rowsLength = results.length;
|
|
26
23
|
const loadIndex = Math.floor(rowsLength / 2) - SEARCH_RESULTS_OVER_SCAN_BUFFER;
|
|
27
|
-
|
|
28
24
|
if (loadIndex > 0 && loadIndex < startIndex && !verifiedRanges.includes(loadIndex)) {
|
|
29
25
|
setQueryParams({
|
|
30
26
|
value: currentValue,
|
|
@@ -34,12 +30,10 @@ const SearchResults = ({
|
|
|
34
30
|
setCurrentIndex(startIndex + SEARCH_RESULTS_OVER_SCAN_BUFFER);
|
|
35
31
|
}
|
|
36
32
|
};
|
|
37
|
-
|
|
38
33
|
const getNavigationRoute = ({
|
|
39
34
|
id,
|
|
40
35
|
docType
|
|
41
36
|
}) => docType === FILE ? `/media/edit/${id}` : `/data-listing/${docType}/update/${id}`;
|
|
42
|
-
|
|
43
37
|
const navigate = ({
|
|
44
38
|
id,
|
|
45
39
|
docType
|
|
@@ -50,7 +44,6 @@ const SearchResults = ({
|
|
|
50
44
|
}));
|
|
51
45
|
closeModal();
|
|
52
46
|
};
|
|
53
|
-
|
|
54
47
|
const getDateFormat = date => {
|
|
55
48
|
const newDate = new Date(date);
|
|
56
49
|
const day = `0${newDate.getDate()}`.slice(-2);
|
|
@@ -58,14 +51,11 @@ const SearchResults = ({
|
|
|
58
51
|
const year = String(newDate.getYear()).slice(-2);
|
|
59
52
|
return `${day}.${month}.${year}`;
|
|
60
53
|
};
|
|
61
|
-
|
|
62
54
|
return /*#__PURE__*/React.createElement(React.Fragment, null, loading && /*#__PURE__*/React.createElement("span", null, "Loading..."), /*#__PURE__*/React.createElement("div", {
|
|
63
55
|
className: "modal__content modal__content--search"
|
|
64
56
|
}, /*#__PURE__*/React.createElement("div", {
|
|
65
57
|
className: "header header--list"
|
|
66
|
-
}, /*#__PURE__*/React.createElement("h2", {
|
|
67
|
-
className: "header--list--results"
|
|
68
|
-
}, "About ", /*#__PURE__*/React.createElement("b", null, total), " search keywords results")), /*#__PURE__*/React.createElement(VirtualList, {
|
|
58
|
+
}, /*#__PURE__*/React.createElement("h2", null, total, " results")), /*#__PURE__*/React.createElement(VirtualList, {
|
|
69
59
|
width: "100%",
|
|
70
60
|
height: window.innerHeight - SEARCH_RESULTS_ELEMETS_HEIGHT_ABOVE_LIST,
|
|
71
61
|
itemCount: results.length,
|
|
@@ -81,15 +71,9 @@ const SearchResults = ({
|
|
|
81
71
|
id,
|
|
82
72
|
docType,
|
|
83
73
|
updated,
|
|
84
|
-
name
|
|
85
|
-
entityIdentifier,
|
|
86
|
-
published,
|
|
87
|
-
created,
|
|
88
|
-
status
|
|
74
|
+
name
|
|
89
75
|
} = results[index];
|
|
90
76
|
const updatedDate = updated ? getDateFormat(updated) : null;
|
|
91
|
-
const createdDate = created ? getDateFormat(created) : null;
|
|
92
|
-
const publishedDate = published ? getDateFormat(published) : null;
|
|
93
77
|
return /*#__PURE__*/React.createElement("div", {
|
|
94
78
|
key: index,
|
|
95
79
|
style: style,
|
|
@@ -99,8 +83,8 @@ const SearchResults = ({
|
|
|
99
83
|
}, /*#__PURE__*/React.createElement("div", {
|
|
100
84
|
className: "list__item-row list__item-row--result"
|
|
101
85
|
}, /*#__PURE__*/React.createElement("span", {
|
|
102
|
-
className: "
|
|
103
|
-
},
|
|
86
|
+
className: "badge badge--primary"
|
|
87
|
+
}, docType, " ", updatedDate), /*#__PURE__*/React.createElement("a", {
|
|
104
88
|
href: getNavigationRoute({
|
|
105
89
|
id,
|
|
106
90
|
docType
|
|
@@ -109,16 +93,11 @@ const SearchResults = ({
|
|
|
109
93
|
id,
|
|
110
94
|
docType
|
|
111
95
|
}),
|
|
112
|
-
className: "list__item-
|
|
113
|
-
}, name)
|
|
114
|
-
className: "list__item-dates"
|
|
115
|
-
}, publishedDate && /*#__PURE__*/React.createElement("span", null, /*#__PURE__*/React.createElement("b", null, "Published: "), publishedDate), /*#__PURE__*/React.createElement("span", null, /*#__PURE__*/React.createElement("b", null, "Created: "), createdDate), /*#__PURE__*/React.createElement("span", null, /*#__PURE__*/React.createElement("b", null, "Updated: "), updatedDate)), /*#__PURE__*/React.createElement("div", {
|
|
116
|
-
className: "list__item-status"
|
|
117
|
-
}, status && /*#__PURE__*/React.createElement("span", null, /*#__PURE__*/React.createElement("b", null, "Status: "), status)))));
|
|
96
|
+
className: "list__item-text list__item-text--result"
|
|
97
|
+
}, name))));
|
|
118
98
|
}
|
|
119
99
|
})));
|
|
120
100
|
};
|
|
121
|
-
|
|
122
101
|
SearchResults.propTypes = {
|
|
123
102
|
loading: PropTypes.bool.isRequired,
|
|
124
103
|
results: PropTypes.array.isRequired,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchResults.js","names":["React","useState","PropTypes","VirtualList","withRouter","SEARCH_RESULTS_OVER_SCAN_BUFFER","SEARCH_RESULTS_ELEMETS_HEIGHT_ABOVE_LIST","SEARCH_RESULTS_ITEM_SIZE","FILE","SearchResults","currentValue","loading","results","total","setQueryParams","closeModal","history","verifiedRanges","setVerifiedRanges","currentIndex","setCurrentIndex","handleRenderedItems","startIndex","rowsLength","length","loadIndex","Math","floor","includes","value","offset","getNavigationRoute","id","docType","navigate","push","getDateFormat","date","newDate","Date","day","getDate","slice","month","getMonth","year","String","getYear","window","innerHeight","index","style","updated","name","
|
|
1
|
+
{"version":3,"file":"SearchResults.js","names":["React","useState","PropTypes","VirtualList","withRouter","SEARCH_RESULTS_OVER_SCAN_BUFFER","SEARCH_RESULTS_ELEMETS_HEIGHT_ABOVE_LIST","SEARCH_RESULTS_ITEM_SIZE","FILE","SearchResults","currentValue","loading","results","total","setQueryParams","closeModal","history","verifiedRanges","setVerifiedRanges","currentIndex","setCurrentIndex","handleRenderedItems","startIndex","rowsLength","length","loadIndex","Math","floor","includes","value","offset","getNavigationRoute","id","docType","navigate","push","getDateFormat","date","newDate","Date","day","getDate","slice","month","getMonth","year","String","getYear","window","innerHeight","index","style","updated","name","updatedDate","propTypes","bool","isRequired","array","number","func","object","string"],"sources":["../../../../src/components/SearchAdmin/SearchResults/SearchResults.js"],"sourcesContent":["/* eslint-disable jsx-a11y/anchor-is-valid */\n/* eslint-disable jsx-a11y/no-static-element-interactions */\nimport React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport VirtualList from 'react-tiny-virtual-list';\nimport { withRouter } from 'react-router-dom';\nimport {\n SEARCH_RESULTS_OVER_SCAN_BUFFER,\n SEARCH_RESULTS_ELEMETS_HEIGHT_ABOVE_LIST,\n SEARCH_RESULTS_ITEM_SIZE,\n FILE\n} from '../../../constants';\n\nconst SearchResults = ({\n currentValue,\n loading,\n results,\n total,\n setQueryParams,\n closeModal,\n history\n}) => {\n const [verifiedRanges, setVerifiedRanges] = useState([]);\n const [currentIndex, setCurrentIndex] = useState(0);\n\n const handleRenderedItems = async ({ startIndex }) => {\n const rowsLength = results.length;\n const loadIndex = Math.floor(rowsLength / 2) - SEARCH_RESULTS_OVER_SCAN_BUFFER;\n if (loadIndex > 0 && loadIndex < startIndex && !verifiedRanges.includes(loadIndex)) {\n setQueryParams({ value: currentValue, offset: results.length });\n setVerifiedRanges([...verifiedRanges, loadIndex]);\n setCurrentIndex(startIndex + SEARCH_RESULTS_OVER_SCAN_BUFFER);\n }\n };\n\n const getNavigationRoute = ({ id, docType }) =>\n docType === FILE ? `/media/edit/${id}` : `/data-listing/${docType}/update/${id}`;\n\n const navigate = ({ id, docType }) => {\n history.push(getNavigationRoute({ id, docType }));\n closeModal();\n };\n\n const getDateFormat = date => {\n const newDate = new Date(date);\n const day = `0${newDate.getDate()}`.slice(-2);\n const month = `0${newDate.getMonth() + 1}`.slice(-2);\n const year = String(newDate.getYear()).slice(-2);\n return `${day}.${month}.${year}`;\n };\n\n return (\n <>\n {loading && <span>Loading...</span>}\n <div className=\"modal__content modal__content--search\">\n <div className=\"header header--list\">\n <h2>{total} results</h2>\n </div>\n <VirtualList\n width=\"100%\"\n height={window.innerHeight - SEARCH_RESULTS_ELEMETS_HEIGHT_ABOVE_LIST}\n itemCount={results.length}\n itemSize={SEARCH_RESULTS_ITEM_SIZE}\n overscanCount={SEARCH_RESULTS_OVER_SCAN_BUFFER}\n scrollToIndex={currentIndex}\n onItemsRendered={handleRenderedItems}\n renderItem={({ index, style }) => {\n const { id, docType, updated, name } = results[index];\n const updatedDate = updated ? getDateFormat(updated) : null;\n return (\n <div key={index} style={style} className=\"list__item--resultWrapper\">\n <div className=\"list__item list__item--result\">\n <div className=\"list__item-row list__item-row--result\">\n <span className=\"badge badge--primary\">\n {docType} {updatedDate}\n </span>\n <a\n href={getNavigationRoute({\n id,\n docType\n })}\n onClick={() =>\n navigate({\n id,\n docType\n })\n }\n className=\"list__item-text list__item-text--result\">\n {name}\n </a>\n </div>\n </div>\n </div>\n );\n }}\n />\n </div>\n </>\n );\n};\n\nSearchResults.propTypes = {\n loading: PropTypes.bool.isRequired,\n results: PropTypes.array.isRequired,\n total: PropTypes.number.isRequired,\n setQueryParams: PropTypes.func.isRequired,\n closeModal: PropTypes.func.isRequired,\n history: PropTypes.object.isRequired,\n currentValue: PropTypes.string.isRequired\n};\n\nexport default withRouter(SearchResults);\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["SearchResults"],"sources":["../../../../src/components/SearchAdmin/SearchResults/index.js"],"sourcesContent":["import SearchResults from './SearchResults';\n\nexport default SearchResults;\n"],"mappings":"AAAA,OAAOA,
|
|
1
|
+
{"version":3,"file":"index.js","names":["SearchResults"],"sources":["../../../../src/components/SearchAdmin/SearchResults/index.js"],"sourcesContent":["import SearchResults from './SearchResults';\n\nexport default SearchResults;\n"],"mappings":"AAAA,OAAOA,aAAa,MAAM,iBAAiB;AAE3C,eAAeA,aAAa"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
|
-
|
|
4
3
|
const TriggerModal = ({
|
|
5
4
|
toggleSearchModal
|
|
6
5
|
}) => /*#__PURE__*/React.createElement("span", {
|
|
@@ -8,7 +7,6 @@ const TriggerModal = ({
|
|
|
8
7
|
className: "material-icons searchModal-search-icon",
|
|
9
8
|
onClick: toggleSearchModal
|
|
10
9
|
}, "search");
|
|
11
|
-
|
|
12
10
|
TriggerModal.propTypes = {
|
|
13
11
|
toggleSearchModal: PropTypes.func.isRequired
|
|
14
12
|
};
|