@blaze-cms/plugin-search-ui 0.110.0-alpha.1
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 +345 -0
- package/LICENSE +674 -0
- package/README.md +45 -0
- package/babel.config.js +3 -0
- package/jest.config.js +5 -0
- package/lib/application/query/index.js +32 -0
- package/lib/application/query/index.js.map +1 -0
- package/lib/components/SearchAdmin/RecentSearches/RecentSearches.js +62 -0
- package/lib/components/SearchAdmin/RecentSearches/RecentSearches.js.map +1 -0
- package/lib/components/SearchAdmin/RecentSearches/index.js +16 -0
- package/lib/components/SearchAdmin/RecentSearches/index.js.map +1 -0
- package/lib/components/SearchAdmin/SearchAdmin.js +191 -0
- package/lib/components/SearchAdmin/SearchAdmin.js.map +1 -0
- package/lib/components/SearchAdmin/SearchBar/SearchBar.js +72 -0
- package/lib/components/SearchAdmin/SearchBar/SearchBar.js.map +1 -0
- package/lib/components/SearchAdmin/SearchBar/index.js +16 -0
- package/lib/components/SearchAdmin/SearchBar/index.js.map +1 -0
- package/lib/components/SearchAdmin/SearchResults/SearchResults.js +200 -0
- package/lib/components/SearchAdmin/SearchResults/SearchResults.js.map +1 -0
- package/lib/components/SearchAdmin/SearchResults/index.js +16 -0
- package/lib/components/SearchAdmin/SearchResults/index.js.map +1 -0
- package/lib/components/SearchAdmin/TriggerModal/TriggerModal.js +30 -0
- package/lib/components/SearchAdmin/TriggerModal/TriggerModal.js.map +1 -0
- package/lib/components/SearchAdmin/TriggerModal/index.js +16 -0
- package/lib/components/SearchAdmin/TriggerModal/index.js.map +1 -0
- package/lib/components/SearchAdmin/index.js +16 -0
- package/lib/components/SearchAdmin/index.js.map +1 -0
- package/lib/components/SearchPublishedContent/SearchPublishedContent.js +216 -0
- package/lib/components/SearchPublishedContent/SearchPublishedContent.js.map +1 -0
- package/lib/components/SearchPublishedContent/index.js +16 -0
- package/lib/components/SearchPublishedContent/index.js.map +1 -0
- package/lib/components/useLocalStorage/index.js +16 -0
- package/lib/components/useLocalStorage/index.js.map +1 -0
- package/lib/components/useLocalStorage/useLocalStorage.js +36 -0
- package/lib/components/useLocalStorage/useLocalStorage.js.map +1 -0
- package/lib/components/useSearch/index.js +16 -0
- package/lib/components/useSearch/index.js.map +1 -0
- package/lib/components/useSearch/useSearch.js +154 -0
- package/lib/components/useSearch/useSearch.js.map +1 -0
- package/lib/components/useSearchResults/index.js +16 -0
- package/lib/components/useSearchResults/index.js.map +1 -0
- package/lib/components/useSearchResults/useSearchResults.js +102 -0
- package/lib/components/useSearchResults/useSearchResults.js.map +1 -0
- package/lib/constants.js +25 -0
- package/lib/constants.js.map +1 -0
- package/lib/index.js +34 -0
- package/lib/index.js.map +1 -0
- package/lib-es/application/query/index.js +34 -0
- package/lib-es/application/query/index.js.map +1 -0
- package/lib-es/components/SearchAdmin/RecentSearches/RecentSearches.js +40 -0
- package/lib-es/components/SearchAdmin/RecentSearches/RecentSearches.js.map +1 -0
- package/lib-es/components/SearchAdmin/RecentSearches/index.js +3 -0
- package/lib-es/components/SearchAdmin/RecentSearches/index.js.map +1 -0
- package/lib-es/components/SearchAdmin/SearchAdmin.js +126 -0
- package/lib-es/components/SearchAdmin/SearchAdmin.js.map +1 -0
- package/lib-es/components/SearchAdmin/SearchBar/SearchBar.js +54 -0
- package/lib-es/components/SearchAdmin/SearchBar/SearchBar.js.map +1 -0
- package/lib-es/components/SearchAdmin/SearchBar/index.js +3 -0
- package/lib-es/components/SearchAdmin/SearchBar/index.js.map +1 -0
- package/lib-es/components/SearchAdmin/SearchResults/SearchResults.js +120 -0
- package/lib-es/components/SearchAdmin/SearchResults/SearchResults.js.map +1 -0
- package/lib-es/components/SearchAdmin/SearchResults/index.js +3 -0
- package/lib-es/components/SearchAdmin/SearchResults/index.js.map +1 -0
- package/lib-es/components/SearchAdmin/TriggerModal/TriggerModal.js +16 -0
- package/lib-es/components/SearchAdmin/TriggerModal/TriggerModal.js.map +1 -0
- package/lib-es/components/SearchAdmin/TriggerModal/index.js +3 -0
- package/lib-es/components/SearchAdmin/TriggerModal/index.js.map +1 -0
- package/lib-es/components/SearchAdmin/index.js +3 -0
- package/lib-es/components/SearchAdmin/index.js.map +1 -0
- package/lib-es/components/SearchPublishedContent/SearchPublishedContent.js +157 -0
- package/lib-es/components/SearchPublishedContent/SearchPublishedContent.js.map +1 -0
- package/lib-es/components/SearchPublishedContent/index.js +3 -0
- package/lib-es/components/SearchPublishedContent/index.js.map +1 -0
- package/lib-es/components/useLocalStorage/index.js +3 -0
- package/lib-es/components/useLocalStorage/index.js.map +1 -0
- package/lib-es/components/useLocalStorage/useLocalStorage.js +19 -0
- package/lib-es/components/useLocalStorage/useLocalStorage.js.map +1 -0
- package/lib-es/components/useSearch/index.js +3 -0
- package/lib-es/components/useSearch/index.js.map +1 -0
- package/lib-es/components/useSearch/useSearch.js +100 -0
- package/lib-es/components/useSearch/useSearch.js.map +1 -0
- package/lib-es/components/useSearchResults/index.js +3 -0
- package/lib-es/components/useSearchResults/index.js.map +1 -0
- package/lib-es/components/useSearchResults/useSearchResults.js +57 -0
- package/lib-es/components/useSearchResults/useSearchResults.js.map +1 -0
- package/lib-es/constants.js +10 -0
- package/lib-es/constants.js.map +1 -0
- package/lib-es/index.js +5 -0
- package/lib-es/index.js.map +1 -0
- package/package.json +56 -0
- package/src/application/query/index.js +28 -0
- package/src/components/SearchAdmin/RecentSearches/RecentSearches.js +33 -0
- package/src/components/SearchAdmin/RecentSearches/index.js +3 -0
- package/src/components/SearchAdmin/SearchAdmin.js +129 -0
- package/src/components/SearchAdmin/SearchBar/SearchBar.js +58 -0
- package/src/components/SearchAdmin/SearchBar/index.js +3 -0
- package/src/components/SearchAdmin/SearchResults/SearchResults.js +112 -0
- package/src/components/SearchAdmin/SearchResults/index.js +3 -0
- package/src/components/SearchAdmin/TriggerModal/TriggerModal.js +17 -0
- package/src/components/SearchAdmin/TriggerModal/index.js +3 -0
- package/src/components/SearchAdmin/index.js +3 -0
- package/src/components/SearchPublishedContent/SearchPublishedContent.js +157 -0
- package/src/components/SearchPublishedContent/index.js +3 -0
- package/src/components/useLocalStorage/index.js +3 -0
- package/src/components/useLocalStorage/useLocalStorage.js +18 -0
- package/src/components/useSearch/index.js +3 -0
- package/src/components/useSearch/useSearch.js +85 -0
- package/src/components/useSearchResults/index.js +3 -0
- package/src/components/useSearchResults/useSearchResults.js +38 -0
- package/src/constants.js +19 -0
- package/src/index.js +5 -0
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
require("core-js/modules/es.object.define-property.js");
|
|
4
|
+
|
|
5
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports["default"] = void 0;
|
|
11
|
+
|
|
12
|
+
var _useSearch = _interopRequireDefault(require("./useSearch"));
|
|
13
|
+
|
|
14
|
+
var _default = _useSearch["default"];
|
|
15
|
+
exports["default"] = _default;
|
|
16
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/useSearch/index.js"],"names":["useSearch"],"mappings":";;;;;;;;;;;AAAA;;eAEeA,qB","sourcesContent":["import useSearch from './useSearch';\n\nexport default useSearch;\n"],"file":"index.js"}
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
"use strict";
|
|
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.array.filter.js");
|
|
8
|
+
|
|
9
|
+
require("core-js/modules/es.object.get-own-property-descriptor.js");
|
|
10
|
+
|
|
11
|
+
require("core-js/modules/es.array.for-each.js");
|
|
12
|
+
|
|
13
|
+
require("core-js/modules/web.dom-collections.for-each.js");
|
|
14
|
+
|
|
15
|
+
require("core-js/modules/es.object.get-own-property-descriptors.js");
|
|
16
|
+
|
|
17
|
+
require("core-js/modules/es.object.define-properties.js");
|
|
18
|
+
|
|
19
|
+
require("core-js/modules/es.object.define-property.js");
|
|
20
|
+
|
|
21
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
22
|
+
|
|
23
|
+
Object.defineProperty(exports, "__esModule", {
|
|
24
|
+
value: true
|
|
25
|
+
});
|
|
26
|
+
exports["default"] = void 0;
|
|
27
|
+
|
|
28
|
+
require("core-js/modules/es.array.map.js");
|
|
29
|
+
|
|
30
|
+
require("core-js/modules/es.regexp.exec.js");
|
|
31
|
+
|
|
32
|
+
require("core-js/modules/es.string.search.js");
|
|
33
|
+
|
|
34
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
35
|
+
|
|
36
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
37
|
+
|
|
38
|
+
var _react = require("react");
|
|
39
|
+
|
|
40
|
+
var _reactApollo = require("react-apollo");
|
|
41
|
+
|
|
42
|
+
var _query = _interopRequireDefault(require("../../application/query"));
|
|
43
|
+
|
|
44
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
45
|
+
|
|
46
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
47
|
+
|
|
48
|
+
function useSearch(_ref) {
|
|
49
|
+
var queryKey = _ref.queryKey,
|
|
50
|
+
resultKeys = _ref.resultKeys,
|
|
51
|
+
_ref$entities = _ref.entities,
|
|
52
|
+
entities = _ref$entities === void 0 ? [] : _ref$entities,
|
|
53
|
+
fields = _ref.fields;
|
|
54
|
+
|
|
55
|
+
var _useState = (0, _react.useState)({
|
|
56
|
+
limit: 20,
|
|
57
|
+
offset: 0,
|
|
58
|
+
value: ''
|
|
59
|
+
}),
|
|
60
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
61
|
+
queryParams = _useState2[0],
|
|
62
|
+
setParams = _useState2[1];
|
|
63
|
+
|
|
64
|
+
var _useState3 = (0, _react.useState)(null),
|
|
65
|
+
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
66
|
+
searchedValue = _useState4[0],
|
|
67
|
+
setSearchedValue = _useState4[1];
|
|
68
|
+
|
|
69
|
+
var _useState5 = (0, _react.useState)(null),
|
|
70
|
+
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
|
71
|
+
previousOffset = _useState6[0],
|
|
72
|
+
setPreviousOffset = _useState6[1];
|
|
73
|
+
|
|
74
|
+
var buildSearchQuery = _query["default"][queryKey];
|
|
75
|
+
|
|
76
|
+
var _useLazyQuery = (0, _reactApollo.useLazyQuery)(buildSearchQuery({
|
|
77
|
+
resultKeys: resultKeys
|
|
78
|
+
})),
|
|
79
|
+
_useLazyQuery2 = (0, _slicedToArray2["default"])(_useLazyQuery, 2),
|
|
80
|
+
getSearchResults = _useLazyQuery2[0],
|
|
81
|
+
_useLazyQuery2$ = _useLazyQuery2[1],
|
|
82
|
+
loading = _useLazyQuery2$.loading,
|
|
83
|
+
_useLazyQuery2$$data = _useLazyQuery2$.data;
|
|
84
|
+
|
|
85
|
+
_useLazyQuery2$$data = _useLazyQuery2$$data === void 0 ? {
|
|
86
|
+
search: {
|
|
87
|
+
results: [],
|
|
88
|
+
total: 0
|
|
89
|
+
}
|
|
90
|
+
} : _useLazyQuery2$$data;
|
|
91
|
+
var _useLazyQuery2$$data$ = _useLazyQuery2$$data.search,
|
|
92
|
+
results = _useLazyQuery2$$data$.results,
|
|
93
|
+
jsonResults = _useLazyQuery2$$data$.jsonResults,
|
|
94
|
+
total = _useLazyQuery2$$data$.total;
|
|
95
|
+
|
|
96
|
+
var handleQueryParams = function handleQueryParams(newQueryParams) {
|
|
97
|
+
setParams(_objectSpread(_objectSpread({}, queryParams), newQueryParams));
|
|
98
|
+
};
|
|
99
|
+
|
|
100
|
+
(0, _react.useEffect)(function () {
|
|
101
|
+
var limit = queryParams.limit,
|
|
102
|
+
offset = queryParams.offset,
|
|
103
|
+
value = queryParams.value;
|
|
104
|
+
var isNewValueSet = value && value !== searchedValue;
|
|
105
|
+
var isNewOffsetSet = previousOffset !== null && offset !== previousOffset;
|
|
106
|
+
var parsedEntities = entities.length ? entities.map(function (entity) {
|
|
107
|
+
return {
|
|
108
|
+
match: {
|
|
109
|
+
docType: entity
|
|
110
|
+
}
|
|
111
|
+
};
|
|
112
|
+
}) : [];
|
|
113
|
+
|
|
114
|
+
if (isNewValueSet || isNewOffsetSet) {
|
|
115
|
+
getSearchResults({
|
|
116
|
+
variables: {
|
|
117
|
+
limit: limit,
|
|
118
|
+
offset: offset,
|
|
119
|
+
rawQuery: {
|
|
120
|
+
query: {
|
|
121
|
+
bool: {
|
|
122
|
+
must: [{
|
|
123
|
+
query_string: {
|
|
124
|
+
query: value,
|
|
125
|
+
fields: fields,
|
|
126
|
+
type: 'most_fields'
|
|
127
|
+
}
|
|
128
|
+
}, {
|
|
129
|
+
bool: {
|
|
130
|
+
should: parsedEntities
|
|
131
|
+
}
|
|
132
|
+
}]
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
});
|
|
138
|
+
setSearchedValue(value);
|
|
139
|
+
setPreviousOffset(offset);
|
|
140
|
+
}
|
|
141
|
+
}, [queryParams, queryParams.limit, queryParams.value, queryParams.offset, searchedValue, previousOffset, getSearchResults, entities, fields]);
|
|
142
|
+
return [{
|
|
143
|
+
searchedValue: queryParams.value,
|
|
144
|
+
loading: loading,
|
|
145
|
+
data: {
|
|
146
|
+
results: results || jsonResults,
|
|
147
|
+
total: total
|
|
148
|
+
}
|
|
149
|
+
}, handleQueryParams];
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
var _default = useSearch;
|
|
153
|
+
exports["default"] = _default;
|
|
154
|
+
//# sourceMappingURL=useSearch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/useSearch/useSearch.js"],"names":["useSearch","queryKey","resultKeys","entities","fields","limit","offset","value","queryParams","setParams","searchedValue","setSearchedValue","previousOffset","setPreviousOffset","buildSearchQuery","searchQueries","getSearchResults","loading","data","search","results","total","jsonResults","handleQueryParams","newQueryParams","isNewValueSet","isNewOffsetSet","parsedEntities","length","map","entity","match","docType","variables","rawQuery","query","bool","must","query_string","type","should"],"mappings":"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","sourcesContent":["import { useState, useEffect } from 'react';\nimport { useLazyQuery } from 'react-apollo';\nimport searchQueries from '../../application/query';\n\nfunction useSearch({ queryKey, resultKeys, entities = [], fields }) {\n const [queryParams, setParams] = useState({ limit: 20, offset: 0, value: '' });\n const [searchedValue, setSearchedValue] = useState(null);\n const [previousOffset, setPreviousOffset] = useState(null);\n const buildSearchQuery = searchQueries[queryKey];\n const [\n getSearchResults,\n {\n loading,\n data: { search: { results, jsonResults, total } } = {\n search: { results: [], total: 0 }\n }\n }\n ] = useLazyQuery(buildSearchQuery({ resultKeys }));\n\n const handleQueryParams = newQueryParams => {\n setParams({ ...queryParams, ...newQueryParams });\n };\n\n useEffect(\n () => {\n const { limit, offset, value } = queryParams;\n const isNewValueSet = value && value !== searchedValue;\n const isNewOffsetSet = previousOffset !== null && offset !== previousOffset;\n const parsedEntities = entities.length\n ? entities.map(entity => ({\n match: { docType: entity }\n }))\n : [];\n\n if (isNewValueSet || isNewOffsetSet) {\n getSearchResults({\n variables: {\n limit,\n offset,\n rawQuery: {\n query: {\n bool: {\n must: [\n {\n query_string: {\n query: value,\n fields,\n type: 'most_fields'\n }\n },\n {\n bool: {\n should: parsedEntities\n }\n }\n ]\n }\n }\n }\n }\n });\n setSearchedValue(value);\n setPreviousOffset(offset);\n }\n },\n [\n queryParams,\n queryParams.limit,\n queryParams.value,\n queryParams.offset,\n searchedValue,\n previousOffset,\n getSearchResults,\n entities,\n fields\n ]\n );\n\n return [\n { searchedValue: queryParams.value, loading, data: { results: results || jsonResults, total } },\n handleQueryParams\n ];\n}\n\nexport default useSearch;\n"],"file":"useSearch.js"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
require("core-js/modules/es.object.define-property.js");
|
|
4
|
+
|
|
5
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports["default"] = void 0;
|
|
11
|
+
|
|
12
|
+
var _useSearchResults = _interopRequireDefault(require("./useSearchResults"));
|
|
13
|
+
|
|
14
|
+
var _default = _useSearchResults["default"];
|
|
15
|
+
exports["default"] = _default;
|
|
16
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/useSearchResults/index.js"],"names":["useSearchResults"],"mappings":";;;;;;;;;;;AAAA;;eAEeA,4B","sourcesContent":["import useSearchResults from './useSearchResults';\n\nexport default useSearchResults;\n"],"file":"index.js"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
"use strict";
|
|
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.array.filter.js");
|
|
8
|
+
|
|
9
|
+
require("core-js/modules/es.object.get-own-property-descriptor.js");
|
|
10
|
+
|
|
11
|
+
require("core-js/modules/es.array.for-each.js");
|
|
12
|
+
|
|
13
|
+
require("core-js/modules/web.dom-collections.for-each.js");
|
|
14
|
+
|
|
15
|
+
require("core-js/modules/es.object.get-own-property-descriptors.js");
|
|
16
|
+
|
|
17
|
+
require("core-js/modules/es.object.define-properties.js");
|
|
18
|
+
|
|
19
|
+
require("core-js/modules/es.object.define-property.js");
|
|
20
|
+
|
|
21
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
22
|
+
|
|
23
|
+
Object.defineProperty(exports, "__esModule", {
|
|
24
|
+
value: true
|
|
25
|
+
});
|
|
26
|
+
exports["default"] = void 0;
|
|
27
|
+
|
|
28
|
+
require("core-js/modules/es.array.concat.js");
|
|
29
|
+
|
|
30
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
31
|
+
|
|
32
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
33
|
+
|
|
34
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
35
|
+
|
|
36
|
+
var _react = require("react");
|
|
37
|
+
|
|
38
|
+
var _useSearch3 = _interopRequireDefault(require("../useSearch"));
|
|
39
|
+
|
|
40
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
41
|
+
|
|
42
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
43
|
+
|
|
44
|
+
function useSearchResults(_ref) {
|
|
45
|
+
var queryKey = _ref.queryKey,
|
|
46
|
+
resultKeys = _ref.resultKeys,
|
|
47
|
+
entities = _ref.entities,
|
|
48
|
+
fields = _ref.fields;
|
|
49
|
+
|
|
50
|
+
var _useSearch = (0, _useSearch3["default"])({
|
|
51
|
+
queryKey: queryKey,
|
|
52
|
+
resultKeys: resultKeys,
|
|
53
|
+
entities: entities,
|
|
54
|
+
fields: fields
|
|
55
|
+
}),
|
|
56
|
+
_useSearch2 = (0, _slicedToArray2["default"])(_useSearch, 2),
|
|
57
|
+
_useSearch2$ = _useSearch2[0],
|
|
58
|
+
searchedValue = _useSearch2$.searchedValue,
|
|
59
|
+
loading = _useSearch2$.loading,
|
|
60
|
+
_useSearch2$$data = _useSearch2$.data,
|
|
61
|
+
results = _useSearch2$$data.results,
|
|
62
|
+
total = _useSearch2$$data.total,
|
|
63
|
+
setParams = _useSearch2[1];
|
|
64
|
+
|
|
65
|
+
var _useState = (0, _react.useState)([]),
|
|
66
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
67
|
+
currentResults = _useState2[0],
|
|
68
|
+
setCurrentResults = _useState2[1];
|
|
69
|
+
|
|
70
|
+
var _useState3 = (0, _react.useState)([]),
|
|
71
|
+
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
72
|
+
allResults = _useState4[0],
|
|
73
|
+
setAllResults = _useState4[1];
|
|
74
|
+
|
|
75
|
+
(0, _react.useEffect)(function () {
|
|
76
|
+
if (currentResults.length !== results.length) {
|
|
77
|
+
setAllResults([].concat((0, _toConsumableArray2["default"])(allResults), (0, _toConsumableArray2["default"])(results)));
|
|
78
|
+
setCurrentResults(results);
|
|
79
|
+
}
|
|
80
|
+
}, [allResults, currentResults, currentResults.length, results]);
|
|
81
|
+
|
|
82
|
+
var clearList = function clearList(params) {
|
|
83
|
+
setAllResults([]);
|
|
84
|
+
setParams(_objectSpread(_objectSpread({}, params), {}, {
|
|
85
|
+
offset: 0
|
|
86
|
+
}));
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
var setQueryParams = function setQueryParams(params) {
|
|
90
|
+
params.value !== searchedValue ? clearList(params) : setParams(params);
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
return [{
|
|
94
|
+
loading: loading,
|
|
95
|
+
results: allResults,
|
|
96
|
+
total: total
|
|
97
|
+
}, setQueryParams];
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
var _default = useSearchResults;
|
|
101
|
+
exports["default"] = _default;
|
|
102
|
+
//# sourceMappingURL=useSearchResults.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/useSearchResults/useSearchResults.js"],"names":["useSearchResults","queryKey","resultKeys","entities","fields","searchedValue","loading","data","results","total","setParams","currentResults","setCurrentResults","allResults","setAllResults","length","clearList","params","offset","setQueryParams","value"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;AAEA,SAASA,gBAAT,OAAsE;AAAA,MAA1CC,QAA0C,QAA1CA,QAA0C;AAAA,MAAhCC,UAAgC,QAAhCA,UAAgC;AAAA,MAApBC,QAAoB,QAApBA,QAAoB;AAAA,MAAVC,MAAU,QAAVA,MAAU;;AACpE,mBAOI,4BAAU;AAAEH,IAAAA,QAAQ,EAARA,QAAF;AAAYC,IAAAA,UAAU,EAAVA,UAAZ;AAAwBC,IAAAA,QAAQ,EAARA,QAAxB;AAAkCC,IAAAA,MAAM,EAANA;AAAlC,GAAV,CAPJ;AAAA;AAAA;AAAA,MAEIC,aAFJ,gBAEIA,aAFJ;AAAA,MAGIC,OAHJ,gBAGIA,OAHJ;AAAA,uCAIIC,IAJJ;AAAA,MAIYC,OAJZ,qBAIYA,OAJZ;AAAA,MAIqBC,KAJrB,qBAIqBA,KAJrB;AAAA,MAMEC,SANF;;AAQA,kBAA4C,qBAAS,EAAT,CAA5C;AAAA;AAAA,MAAOC,cAAP;AAAA,MAAuBC,iBAAvB;;AACA,mBAAoC,qBAAS,EAAT,CAApC;AAAA;AAAA,MAAOC,UAAP;AAAA,MAAmBC,aAAnB;;AAEA,wBACE,YAAM;AACJ,QAAIH,cAAc,CAACI,MAAf,KAA0BP,OAAO,CAACO,MAAtC,EAA8C;AAC5CD,MAAAA,aAAa,+CAAKD,UAAL,uCAAoBL,OAApB,GAAb;AACAI,MAAAA,iBAAiB,CAACJ,OAAD,CAAjB;AACD;AACF,GANH,EAOE,CAACK,UAAD,EAAaF,cAAb,EAA6BA,cAAc,CAACI,MAA5C,EAAoDP,OAApD,CAPF;;AAUA,MAAMQ,SAAS,GAAG,SAAZA,SAAY,CAAAC,MAAM,EAAI;AAC1BH,IAAAA,aAAa,CAAC,EAAD,CAAb;AACAJ,IAAAA,SAAS,iCAAMO,MAAN;AAAcC,MAAAA,MAAM,EAAE;AAAtB,OAAT;AACD,GAHD;;AAKA,MAAMC,cAAc,GAAG,SAAjBA,cAAiB,CAAAF,MAAM,EAAI;AAC/BA,IAAAA,MAAM,CAACG,KAAP,KAAiBf,aAAjB,GAAiCW,SAAS,CAACC,MAAD,CAA1C,GAAqDP,SAAS,CAACO,MAAD,CAA9D;AACD,GAFD;;AAIA,SAAO,CAAC;AAAEX,IAAAA,OAAO,EAAPA,OAAF;AAAWE,IAAAA,OAAO,EAAEK,UAApB;AAAgCJ,IAAAA,KAAK,EAALA;AAAhC,GAAD,EAA0CU,cAA1C,CAAP;AACD;;eAEcnB,gB","sourcesContent":["import { useState, useEffect } from 'react';\nimport useSearch from '../useSearch';\n\nfunction useSearchResults({ queryKey, resultKeys, entities, fields }) {\n const [\n {\n searchedValue,\n loading,\n data: { results, total }\n },\n setParams\n ] = useSearch({ queryKey, resultKeys, entities, fields });\n const [currentResults, setCurrentResults] = useState([]);\n const [allResults, setAllResults] = useState([]);\n\n useEffect(\n () => {\n if (currentResults.length !== results.length) {\n setAllResults([...allResults, ...results]);\n setCurrentResults(results);\n }\n },\n [allResults, currentResults, currentResults.length, results]\n );\n\n const clearList = params => {\n setAllResults([]);\n setParams({ ...params, offset: 0 });\n };\n\n const setQueryParams = params => {\n params.value !== searchedValue ? clearList(params) : setParams(params);\n };\n\n return [{ loading, results: allResults, total }, setQueryParams];\n}\n\nexport default useSearchResults;\n"],"file":"useSearchResults.js"}
|
package/lib/constants.js
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
require("core-js/modules/es.object.define-property.js");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.SEARCH_RESULTS_OVER_SCAN_BUFFER = exports.SEARCH_RESULTS_ITEM_SIZE = exports.SEARCH_RESULTS_ELEMETS_HEIGHT_ABOVE_LIST = exports.SEARCH_PUBLISHED = exports.SEARCH_BUTTON = exports.SEARCH_ADMIN = exports.FILE = exports.DEFAULT_RESULTS_KEYS = void 0;
|
|
9
|
+
var SEARCH_ADMIN = 'SEARCH_ADMIN';
|
|
10
|
+
exports.SEARCH_ADMIN = SEARCH_ADMIN;
|
|
11
|
+
var SEARCH_PUBLISHED = 'SEARCH_PUBLISHED';
|
|
12
|
+
exports.SEARCH_PUBLISHED = SEARCH_PUBLISHED;
|
|
13
|
+
var SEARCH_RESULTS_OVER_SCAN_BUFFER = 0;
|
|
14
|
+
exports.SEARCH_RESULTS_OVER_SCAN_BUFFER = SEARCH_RESULTS_OVER_SCAN_BUFFER;
|
|
15
|
+
var SEARCH_RESULTS_ELEMETS_HEIGHT_ABOVE_LIST = 186;
|
|
16
|
+
exports.SEARCH_RESULTS_ELEMETS_HEIGHT_ABOVE_LIST = SEARCH_RESULTS_ELEMETS_HEIGHT_ABOVE_LIST;
|
|
17
|
+
var SEARCH_RESULTS_ITEM_SIZE = 105;
|
|
18
|
+
exports.SEARCH_RESULTS_ITEM_SIZE = SEARCH_RESULTS_ITEM_SIZE;
|
|
19
|
+
var DEFAULT_RESULTS_KEYS = 'name, url';
|
|
20
|
+
exports.DEFAULT_RESULTS_KEYS = DEFAULT_RESULTS_KEYS;
|
|
21
|
+
var SEARCH_BUTTON = 'search-button';
|
|
22
|
+
exports.SEARCH_BUTTON = SEARCH_BUTTON;
|
|
23
|
+
var FILE = 'file';
|
|
24
|
+
exports.FILE = FILE;
|
|
25
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/constants.js"],"names":["SEARCH_ADMIN","SEARCH_PUBLISHED","SEARCH_RESULTS_OVER_SCAN_BUFFER","SEARCH_RESULTS_ELEMETS_HEIGHT_ABOVE_LIST","SEARCH_RESULTS_ITEM_SIZE","DEFAULT_RESULTS_KEYS","SEARCH_BUTTON","FILE"],"mappings":";;;;;;;;AAAA,IAAMA,YAAY,GAAG,cAArB;;AACA,IAAMC,gBAAgB,GAAG,kBAAzB;;AACA,IAAMC,+BAA+B,GAAG,CAAxC;;AACA,IAAMC,wCAAwC,GAAG,GAAjD;;AACA,IAAMC,wBAAwB,GAAG,GAAjC;;AACA,IAAMC,oBAAoB,GAAG,WAA7B;;AACA,IAAMC,aAAa,GAAG,eAAtB;;AACA,IAAMC,IAAI,GAAG,MAAb","sourcesContent":["const SEARCH_ADMIN = 'SEARCH_ADMIN';\nconst SEARCH_PUBLISHED = 'SEARCH_PUBLISHED';\nconst SEARCH_RESULTS_OVER_SCAN_BUFFER = 0;\nconst SEARCH_RESULTS_ELEMETS_HEIGHT_ABOVE_LIST = 186;\nconst SEARCH_RESULTS_ITEM_SIZE = 105;\nconst DEFAULT_RESULTS_KEYS = 'name, url';\nconst SEARCH_BUTTON = 'search-button';\nconst FILE = 'file';\n\nexport {\n SEARCH_ADMIN,\n SEARCH_PUBLISHED,\n SEARCH_RESULTS_OVER_SCAN_BUFFER,\n SEARCH_RESULTS_ELEMETS_HEIGHT_ABOVE_LIST,\n SEARCH_RESULTS_ITEM_SIZE,\n DEFAULT_RESULTS_KEYS,\n SEARCH_BUTTON,\n FILE\n};\n"],"file":"constants.js"}
|
package/lib/index.js
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
require("core-js/modules/es.object.define-property.js");
|
|
4
|
+
|
|
5
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
Object.defineProperty(exports, "SearchAdmin", {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function get() {
|
|
13
|
+
return _SearchAdmin["default"];
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
Object.defineProperty(exports, "SearchBar", {
|
|
17
|
+
enumerable: true,
|
|
18
|
+
get: function get() {
|
|
19
|
+
return _SearchBar["default"];
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
Object.defineProperty(exports, "SearchPublishedContent", {
|
|
23
|
+
enumerable: true,
|
|
24
|
+
get: function get() {
|
|
25
|
+
return _SearchPublishedContent["default"];
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
var _SearchAdmin = _interopRequireDefault(require("./components/SearchAdmin"));
|
|
30
|
+
|
|
31
|
+
var _SearchPublishedContent = _interopRequireDefault(require("./components/SearchPublishedContent"));
|
|
32
|
+
|
|
33
|
+
var _SearchBar = _interopRequireDefault(require("./components/SearchAdmin/SearchBar"));
|
|
34
|
+
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA","sourcesContent":["import SearchAdmin from './components/SearchAdmin';\nimport SearchPublishedContent from './components/SearchPublishedContent';\nimport SearchBar from './components/SearchAdmin/SearchBar';\n\nexport { SearchAdmin, SearchPublishedContent, SearchBar };\n"],"file":"index.js"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import gql from 'graphql-tag';
|
|
2
|
+
|
|
3
|
+
const SEARCH_ADMIN = () => gql`
|
|
4
|
+
query searchAdmin($limit: Int, $offset: Int, $sort: String, $rawQuery: JSON!) {
|
|
5
|
+
search: searchAdmin(limit: $limit, offset: $offset, sort: $sort, rawQuery: $rawQuery) {
|
|
6
|
+
jsonResults
|
|
7
|
+
total
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
`;
|
|
11
|
+
|
|
12
|
+
const SEARCH_PUBLISHED = ({
|
|
13
|
+
resultKeys
|
|
14
|
+
}) => gql`
|
|
15
|
+
query searchPublishedContent($limit: Int, $offset: Int, $sort: String, $rawQuery: JSON!) {
|
|
16
|
+
search: searchPublishedContent(
|
|
17
|
+
limit: $limit
|
|
18
|
+
offset: $offset
|
|
19
|
+
sort: $sort
|
|
20
|
+
rawQuery: $rawQuery
|
|
21
|
+
) {
|
|
22
|
+
results {
|
|
23
|
+
${resultKeys}
|
|
24
|
+
}
|
|
25
|
+
total
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
`;
|
|
29
|
+
|
|
30
|
+
export default {
|
|
31
|
+
SEARCH_ADMIN,
|
|
32
|
+
SEARCH_PUBLISHED
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/application/query/index.js"],"names":["gql","SEARCH_ADMIN","SEARCH_PUBLISHED","resultKeys"],"mappings":"AAAA,OAAOA,GAAP,MAAgB,aAAhB;;AAEA,MAAMC,YAAY,GAAG,MAAMD,GAAI;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,CAPA;;AASA,MAAME,gBAAgB,GAAG,CAAC;AAAEC,EAAAA;AAAF,CAAD,KAAoBH,GAAI;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAUG,UAAW;AACrB;AACA;AACA;AACA;AACA,CAdA;;AAgBA,eAAe;AAAEF,EAAAA,YAAF;AAAgBC,EAAAA;AAAhB,CAAf","sourcesContent":["import gql from 'graphql-tag';\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 ${resultKeys}\n }\n total\n }\n }\n`;\n\nexport default { SEARCH_ADMIN, SEARCH_PUBLISHED };\n"],"file":"index.js"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import PropTypes from 'prop-types';
|
|
3
|
+
|
|
4
|
+
const RecentSearches = ({
|
|
5
|
+
recentSearches,
|
|
6
|
+
handleSearchTerm,
|
|
7
|
+
search
|
|
8
|
+
}) => /*#__PURE__*/React.createElement("div", {
|
|
9
|
+
className: "list list--search"
|
|
10
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
11
|
+
className: "header header--list"
|
|
12
|
+
}, /*#__PURE__*/React.createElement("h2", null, "Recent searches")), recentSearches.map(searchedTerm => /*#__PURE__*/React.createElement("div", {
|
|
13
|
+
key: searchedTerm,
|
|
14
|
+
role: "button",
|
|
15
|
+
className: "list__item list__item--search",
|
|
16
|
+
onClick: () => {
|
|
17
|
+
handleSearchTerm({
|
|
18
|
+
target: {
|
|
19
|
+
value: searchedTerm
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
search({
|
|
23
|
+
value: searchedTerm
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
27
|
+
className: "list__item-row list__item-row--search"
|
|
28
|
+
}, /*#__PURE__*/React.createElement("i", {
|
|
29
|
+
className: "material-icons"
|
|
30
|
+
}, "search"), /*#__PURE__*/React.createElement("div", {
|
|
31
|
+
className: "list__item-text list__item-text--search"
|
|
32
|
+
}, searchedTerm)))));
|
|
33
|
+
|
|
34
|
+
RecentSearches.propTypes = {
|
|
35
|
+
recentSearches: PropTypes.array.isRequired,
|
|
36
|
+
handleSearchTerm: PropTypes.func.isRequired,
|
|
37
|
+
search: PropTypes.func.isRequired
|
|
38
|
+
};
|
|
39
|
+
export default RecentSearches;
|
|
40
|
+
//# sourceMappingURL=RecentSearches.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/SearchAdmin/RecentSearches/RecentSearches.js"],"names":["React","PropTypes","RecentSearches","recentSearches","handleSearchTerm","search","map","searchedTerm","target","value","propTypes","array","isRequired","func"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;;AAEA,MAAMC,cAAc,GAAG,CAAC;AAAEC,EAAAA,cAAF;AAAkBC,EAAAA,gBAAlB;AAAoCC,EAAAA;AAApC,CAAD,kBACrB;AAAK,EAAA,SAAS,EAAC;AAAf,gBACE;AAAK,EAAA,SAAS,EAAC;AAAf,gBACE,kDADF,CADF,EAIGF,cAAc,CAACG,GAAf,CAAmBC,YAAY,iBAC9B;AACE,EAAA,GAAG,EAAEA,YADP;AAEE,EAAA,IAAI,EAAC,QAFP;AAGE,EAAA,SAAS,EAAC,+BAHZ;AAIE,EAAA,OAAO,EAAE,MAAM;AACbH,IAAAA,gBAAgB,CAAC;AAAEI,MAAAA,MAAM,EAAE;AAAEC,QAAAA,KAAK,EAAEF;AAAT;AAAV,KAAD,CAAhB;AACAF,IAAAA,MAAM,CAAC;AAAEI,MAAAA,KAAK,EAAEF;AAAT,KAAD,CAAN;AACD;AAPH,gBAQE;AAAK,EAAA,SAAS,EAAC;AAAf,gBACE;AAAG,EAAA,SAAS,EAAC;AAAb,YADF,eAEE;AAAK,EAAA,SAAS,EAAC;AAAf,GAA0DA,YAA1D,CAFF,CARF,CADD,CAJH,CADF;;AAuBAL,cAAc,CAACQ,SAAf,GAA2B;AACzBP,EAAAA,cAAc,EAAEF,SAAS,CAACU,KAAV,CAAgBC,UADP;AAEzBR,EAAAA,gBAAgB,EAAEH,SAAS,CAACY,IAAV,CAAeD,UAFR;AAGzBP,EAAAA,MAAM,EAAEJ,SAAS,CAACY,IAAV,CAAeD;AAHE,CAA3B;AAMA,eAAeV,cAAf","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"],"file":"RecentSearches.js"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/SearchAdmin/RecentSearches/index.js"],"names":["RecentSearches"],"mappings":"AAAA,OAAOA,cAAP,MAA2B,kBAA3B;AAEA,eAAeA,cAAf","sourcesContent":["import RecentSearches from './RecentSearches';\n\nexport default RecentSearches;\n"],"file":"index.js"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import React, { useState, useRef, useEffect } from 'react';
|
|
2
|
+
import classnames from 'classnames';
|
|
3
|
+
import useLocalStorage from '../useLocalStorage';
|
|
4
|
+
import SearchBar from './SearchBar';
|
|
5
|
+
import RecentSearches from './RecentSearches';
|
|
6
|
+
import SearchResults from './SearchResults';
|
|
7
|
+
import TriggerModal from './TriggerModal';
|
|
8
|
+
import useSearchResults from '../useSearchResults';
|
|
9
|
+
import { SEARCH_ADMIN } from '../../constants';
|
|
10
|
+
|
|
11
|
+
const SearchAdmin = () => {
|
|
12
|
+
const [searchTerm, setSearchTerm] = useState('');
|
|
13
|
+
const [recentSearches, setRecentSearches] = useLocalStorage('recentSearches', []);
|
|
14
|
+
const [displaySearchModalFrame, setDisplaySearchModalFrame] = useState(false);
|
|
15
|
+
const [enableResults, setEnableResults] = useState(true);
|
|
16
|
+
const searchInputRef = useRef(null);
|
|
17
|
+
const [{
|
|
18
|
+
loading,
|
|
19
|
+
results,
|
|
20
|
+
total
|
|
21
|
+
}, setQueryParams] = useSearchResults({
|
|
22
|
+
queryKey: SEARCH_ADMIN
|
|
23
|
+
});
|
|
24
|
+
useEffect(() => {
|
|
25
|
+
if (searchInputRef && searchInputRef.current) {
|
|
26
|
+
searchInputRef.current.focus();
|
|
27
|
+
}
|
|
28
|
+
}, [displaySearchModalFrame]);
|
|
29
|
+
|
|
30
|
+
const handleSearchTerm = ({
|
|
31
|
+
target: {
|
|
32
|
+
value
|
|
33
|
+
}
|
|
34
|
+
}) => {
|
|
35
|
+
setSearchTerm(value);
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
const toggleSearchModal = () => {
|
|
39
|
+
setSearchTerm(null);
|
|
40
|
+
setEnableResults(false);
|
|
41
|
+
setDisplaySearchModalFrame(!displaySearchModalFrame);
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
const search = ({
|
|
45
|
+
value
|
|
46
|
+
}) => {
|
|
47
|
+
if (!value) return;
|
|
48
|
+
!enableResults && setEnableResults(true);
|
|
49
|
+
const MAX_RECENT_SEARCHES = 5;
|
|
50
|
+
const recentSearchesCopy = recentSearches.slice();
|
|
51
|
+
|
|
52
|
+
if (!recentSearchesCopy.includes(value)) {
|
|
53
|
+
recentSearchesCopy.push(value);
|
|
54
|
+
|
|
55
|
+
if (recentSearchesCopy.length > MAX_RECENT_SEARCHES) {
|
|
56
|
+
recentSearchesCopy.shift();
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
setRecentSearches(recentSearchesCopy);
|
|
61
|
+
setQueryParams({
|
|
62
|
+
value
|
|
63
|
+
});
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
const handleKeyDown = ({
|
|
67
|
+
key
|
|
68
|
+
}) => {
|
|
69
|
+
if (key === 'Enter') {
|
|
70
|
+
if (!searchTerm) return clear();
|
|
71
|
+
search({
|
|
72
|
+
value: searchTerm
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
const clear = () => {
|
|
78
|
+
setSearchTerm('');
|
|
79
|
+
setEnableResults(false);
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
const searchModalResultsClassName = classnames('modal modal--full-screen modal--search', {
|
|
83
|
+
'modal--show': displaySearchModalFrame
|
|
84
|
+
});
|
|
85
|
+
const isEmptySearchTermAndData = !searchTerm && !results.length;
|
|
86
|
+
const isEmptySearchTermnAndDisabledResults = !searchTerm && !enableResults;
|
|
87
|
+
const shouldDisplayRecentSearches = isEmptySearchTermAndData || isEmptySearchTermnAndDisabledResults;
|
|
88
|
+
const showResults = enableResults && results.length;
|
|
89
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
90
|
+
className: "search search--header"
|
|
91
|
+
}, /*#__PURE__*/React.createElement(TriggerModal, {
|
|
92
|
+
toggleSearchModal: toggleSearchModal
|
|
93
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
94
|
+
className: searchModalResultsClassName
|
|
95
|
+
}, displaySearchModalFrame && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
|
|
96
|
+
className: "modal__header modal__header--search"
|
|
97
|
+
}, /*#__PURE__*/React.createElement(SearchBar, {
|
|
98
|
+
toggleSearchModal: toggleSearchModal,
|
|
99
|
+
handleKeyDown: handleKeyDown,
|
|
100
|
+
searchInputRef: searchInputRef,
|
|
101
|
+
handleSearchTerm: handleSearchTerm,
|
|
102
|
+
searchTerm: searchTerm,
|
|
103
|
+
search: () => search({
|
|
104
|
+
value: searchTerm
|
|
105
|
+
})
|
|
106
|
+
})), shouldDisplayRecentSearches ? /*#__PURE__*/React.createElement(RecentSearches, {
|
|
107
|
+
recentSearches: recentSearches,
|
|
108
|
+
handleSearchTerm: handleSearchTerm,
|
|
109
|
+
search: search
|
|
110
|
+
}) : /*#__PURE__*/React.createElement(React.Fragment, null, !showResults && /*#__PURE__*/React.createElement("div", {
|
|
111
|
+
className: "list list--search"
|
|
112
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
113
|
+
className: "header header--list"
|
|
114
|
+
}, /*#__PURE__*/React.createElement("h2", null, "No Results")))), showResults && /*#__PURE__*/React.createElement(SearchResults, {
|
|
115
|
+
currentValue: searchTerm,
|
|
116
|
+
searchTerm: searchTerm,
|
|
117
|
+
loading: loading,
|
|
118
|
+
results: results,
|
|
119
|
+
total: total,
|
|
120
|
+
setQueryParams: setQueryParams,
|
|
121
|
+
closeModal: toggleSearchModal
|
|
122
|
+
}))));
|
|
123
|
+
};
|
|
124
|
+
|
|
125
|
+
export default SearchAdmin;
|
|
126
|
+
//# sourceMappingURL=SearchAdmin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/SearchAdmin/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"],"mappings":"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","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"],"file":"SearchAdmin.js"}
|