@blaze-cms/plugin-search-ui 0.132.0-admin-updates.0 → 0.132.0-core-styles.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 +2 -1
- package/lib/components/useSearch/useSearch.js +20 -15
- package/lib/components/useSearch/useSearch.js.map +1 -1
- package/lib-es/components/useSearch/useSearch.js +21 -16
- package/lib-es/components/useSearch/useSearch.js.map +1 -1
- package/package.json +6 -6
- package/src/components/useSearch/useSearch.js +20 -12
package/CHANGELOG.md
CHANGED
|
@@ -3,12 +3,13 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
-
# [0.132.0-
|
|
6
|
+
# [0.132.0-core-styles.0](https://github.com/thebyte9/blaze/compare/v0.131.1...v0.132.0-core-styles.0) (2023-08-11)
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
### Bug Fixes
|
|
10
10
|
|
|
11
11
|
* add updated searchAdmin test ([4db3178](https://github.com/thebyte9/blaze/commit/4db3178f8c95182d107a1d151a793a0987c8d7b8))
|
|
12
|
+
* content search breaks with double quote ([#3991](https://github.com/thebyte9/blaze/issues/3991)) ([1cababe](https://github.com/thebyte9/blaze/commit/1cababeefd885f58cc5c11b145c127b80018bcbe))
|
|
12
13
|
* fixed admin search not refreshing on entity/search change ([#3935](https://github.com/thebyte9/blaze/issues/3935)) ([3e8bffe](https://github.com/thebyte9/blaze/commit/3e8bffed0bdcc1665e21a1d2b38b74664141364f))
|
|
13
14
|
* fixed admin search scroll bug ([#3915](https://github.com/thebyte9/blaze/issues/3915)) ([f307182](https://github.com/thebyte9/blaze/commit/f3071821ff1584ea47357660ebac12e993582a26))
|
|
14
15
|
* update tests ([f86218f](https://github.com/thebyte9/blaze/commit/f86218f88a7348f68a07685a8f49ba459aac1b1b))
|
|
@@ -30,7 +30,8 @@ function useSearch(_ref) {
|
|
|
30
30
|
resultKeys = _ref.resultKeys,
|
|
31
31
|
_ref$entities = _ref.entities,
|
|
32
32
|
entities = _ref$entities === void 0 ? [] : _ref$entities,
|
|
33
|
-
fields = _ref.fields
|
|
33
|
+
fields = _ref.fields,
|
|
34
|
+
extraFilters = _ref.extraFilters;
|
|
34
35
|
var _useState = (0, _react.useState)({
|
|
35
36
|
limit: 20,
|
|
36
37
|
offset: 0,
|
|
@@ -60,18 +61,21 @@ function useSearch(_ref) {
|
|
|
60
61
|
_useLazyQuery2 = (0, _slicedToArray2["default"])(_useLazyQuery, 2),
|
|
61
62
|
getSearchResults = _useLazyQuery2[0],
|
|
62
63
|
_useLazyQuery2$ = _useLazyQuery2[1],
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
_useLazyQuery2
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
64
|
+
_useLazyQuery2$2 = _useLazyQuery2$ === void 0 ? {} : _useLazyQuery2$,
|
|
65
|
+
loading = _useLazyQuery2$2.loading,
|
|
66
|
+
_useLazyQuery2$2$data = _useLazyQuery2$2.data,
|
|
67
|
+
data = _useLazyQuery2$2$data === void 0 ? {} : _useLazyQuery2$2$data;
|
|
68
|
+
var search = data.search;
|
|
69
|
+
var defaultSearch = {
|
|
70
|
+
results: [],
|
|
71
|
+
jsonResults: null,
|
|
72
|
+
total: 0
|
|
73
|
+
};
|
|
74
|
+
var _ref2 = search !== null && search !== void 0 ? search : defaultSearch,
|
|
75
|
+
results = _ref2.results,
|
|
76
|
+
jsonResults = _ref2.jsonResults,
|
|
77
|
+
total = _ref2.total;
|
|
78
|
+
|
|
75
79
|
// todo: remove ssr: false once this bug is resolved https://github.com/apollographql/apollo-client/issues/9108
|
|
76
80
|
// without ssr: false clients can hang in ssr.
|
|
77
81
|
|
|
@@ -105,7 +109,8 @@ function useSearch(_ref) {
|
|
|
105
109
|
query: value,
|
|
106
110
|
fields: fields,
|
|
107
111
|
type: 'most_fields',
|
|
108
|
-
default_operator: 'AND'
|
|
112
|
+
default_operator: 'AND',
|
|
113
|
+
extraFilters: extraFilters
|
|
109
114
|
}
|
|
110
115
|
}, {
|
|
111
116
|
bool: {
|
|
@@ -121,7 +126,7 @@ function useSearch(_ref) {
|
|
|
121
126
|
setPreviousOffset(offset);
|
|
122
127
|
setPreviousEntities(entities);
|
|
123
128
|
}
|
|
124
|
-
}, [queryParams, queryParams.limit, queryParams.value, queryParams.offset, searchedValue, previousOffset, getSearchResults, entities, fields, entities.length, previousEntities.length]);
|
|
129
|
+
}, [queryParams, queryParams.limit, queryParams.value, queryParams.offset, searchedValue, previousOffset, getSearchResults, entities, fields, entities.length, previousEntities.length, extraFilters]);
|
|
125
130
|
return [{
|
|
126
131
|
searchedValue: queryParams.value,
|
|
127
132
|
loading: loading,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSearch.js","names":["_react","require","_client","_query","_interopRequireDefault","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","useSearch","_ref","queryKey","resultKeys","_ref$entities","entities","fields","_useState","useState","limit","offset","value","_useState2","_slicedToArray2","queryParams","setParams","_useState3","_useState4","searchedValue","setSearchedValue","_useState5","_useState6","previousEntities","setPreviousEntities","_useState7","_useState8","previousOffset","setPreviousOffset","buildSearchQuery","searchQueries","_useLazyQuery","useLazyQuery","ssr","_useLazyQuery2","getSearchResults","_useLazyQuery2$","loading","_useLazyQuery2
|
|
1
|
+
{"version":3,"file":"useSearch.js","names":["_react","require","_client","_query","_interopRequireDefault","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","useSearch","_ref","queryKey","resultKeys","_ref$entities","entities","fields","extraFilters","_useState","useState","limit","offset","value","_useState2","_slicedToArray2","queryParams","setParams","_useState3","_useState4","searchedValue","setSearchedValue","_useState5","_useState6","previousEntities","setPreviousEntities","_useState7","_useState8","previousOffset","setPreviousOffset","buildSearchQuery","searchQueries","_useLazyQuery","useLazyQuery","ssr","_useLazyQuery2","getSearchResults","_useLazyQuery2$","_useLazyQuery2$2","loading","_useLazyQuery2$2$data","data","search","defaultSearch","results","jsonResults","total","_ref2","handleQueryParams","newQueryParams","useEffect","isNewValueSet","isNewOffsetSet","notSameLength","parsedEntities","map","entity","match","docType","variables","rawQuery","query","bool","must","query_string","type","default_operator","should","_default","exports"],"sources":["../../../src/components/useSearch/useSearch.js"],"sourcesContent":["import { useState, useEffect } from 'react';\nimport { useLazyQuery } from '@apollo/client';\nimport searchQueries from '../../application/query';\n\nfunction useSearch({ queryKey, resultKeys, entities = [], fields, extraFilters }) {\n const [queryParams, setParams] = useState({ limit: 20, offset: 0, value: '' });\n const [searchedValue, setSearchedValue] = useState(null);\n const [previousEntities, setPreviousEntities] = useState([]);\n const [previousOffset, setPreviousOffset] = useState(null);\n const buildSearchQuery = searchQueries[queryKey];\n\n const [getSearchResults, { loading, data = {} } = {}] = useLazyQuery(\n buildSearchQuery({ resultKeys }),\n { ssr: false }\n );\n\n const { search } = data;\n\n const defaultSearch = {\n results: [],\n jsonResults: null,\n total: 0\n };\n\n const { results, jsonResults, total } = search ?? defaultSearch;\n\n // todo: remove ssr: false once this bug is resolved https://github.com/apollographql/apollo-client/issues/9108\n // without ssr: false clients can hang in ssr.\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 notSameLength = previousEntities.length !== entities.length;\n const parsedEntities = entities.length\n ? entities.map(entity => ({\n match: { docType: entity }\n }))\n : [];\n\n if (isNewValueSet || isNewOffsetSet || notSameLength) {\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 default_operator: 'AND',\n extraFilters\n }\n },\n {\n bool: {\n should: parsedEntities\n }\n }\n ]\n }\n }\n }\n }\n });\n setSearchedValue(value);\n setPreviousOffset(offset);\n setPreviousEntities(entities);\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 entities.length,\n previousEntities.length,\n extraFilters\n ]\n );\n\n return [\n { searchedValue: queryParams.value, loading, data: { results: results || jsonResults, total } },\n handleQueryParams\n ];\n}\n\nexport default useSearch;\n"],"mappings":"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"}
|
|
@@ -8,7 +8,8 @@ function useSearch({
|
|
|
8
8
|
queryKey,
|
|
9
9
|
resultKeys,
|
|
10
10
|
entities = [],
|
|
11
|
-
fields
|
|
11
|
+
fields,
|
|
12
|
+
extraFilters
|
|
12
13
|
}) {
|
|
13
14
|
const [queryParams, setParams] = useState({
|
|
14
15
|
limit: 20,
|
|
@@ -21,23 +22,26 @@ function useSearch({
|
|
|
21
22
|
const buildSearchQuery = searchQueries[queryKey];
|
|
22
23
|
const [getSearchResults, {
|
|
23
24
|
loading,
|
|
24
|
-
data
|
|
25
|
-
|
|
26
|
-
results,
|
|
27
|
-
jsonResults,
|
|
28
|
-
total
|
|
29
|
-
}
|
|
30
|
-
} = {
|
|
31
|
-
search: {
|
|
32
|
-
results: [],
|
|
33
|
-
total: 0
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
}] = useLazyQuery(buildSearchQuery({
|
|
25
|
+
data = {}
|
|
26
|
+
} = {}] = useLazyQuery(buildSearchQuery({
|
|
37
27
|
resultKeys
|
|
38
28
|
}), {
|
|
39
29
|
ssr: false
|
|
40
30
|
});
|
|
31
|
+
const {
|
|
32
|
+
search
|
|
33
|
+
} = data;
|
|
34
|
+
const defaultSearch = {
|
|
35
|
+
results: [],
|
|
36
|
+
jsonResults: null,
|
|
37
|
+
total: 0
|
|
38
|
+
};
|
|
39
|
+
const {
|
|
40
|
+
results,
|
|
41
|
+
jsonResults,
|
|
42
|
+
total
|
|
43
|
+
} = search !== null && search !== void 0 ? search : defaultSearch;
|
|
44
|
+
|
|
41
45
|
// todo: remove ssr: false once this bug is resolved https://github.com/apollographql/apollo-client/issues/9108
|
|
42
46
|
// without ssr: false clients can hang in ssr.
|
|
43
47
|
|
|
@@ -71,7 +75,8 @@ function useSearch({
|
|
|
71
75
|
query: value,
|
|
72
76
|
fields,
|
|
73
77
|
type: 'most_fields',
|
|
74
|
-
default_operator: 'AND'
|
|
78
|
+
default_operator: 'AND',
|
|
79
|
+
extraFilters
|
|
75
80
|
}
|
|
76
81
|
}, {
|
|
77
82
|
bool: {
|
|
@@ -87,7 +92,7 @@ function useSearch({
|
|
|
87
92
|
setPreviousOffset(offset);
|
|
88
93
|
setPreviousEntities(entities);
|
|
89
94
|
}
|
|
90
|
-
}, [queryParams, queryParams.limit, queryParams.value, queryParams.offset, searchedValue, previousOffset, getSearchResults, entities, fields, entities.length, previousEntities.length]);
|
|
95
|
+
}, [queryParams, queryParams.limit, queryParams.value, queryParams.offset, searchedValue, previousOffset, getSearchResults, entities, fields, entities.length, previousEntities.length, extraFilters]);
|
|
91
96
|
return [{
|
|
92
97
|
searchedValue: queryParams.value,
|
|
93
98
|
loading,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSearch.js","names":["useState","useEffect","useLazyQuery","searchQueries","useSearch","queryKey","resultKeys","entities","fields","queryParams","setParams","limit","offset","value","searchedValue","setSearchedValue","previousEntities","setPreviousEntities","previousOffset","setPreviousOffset","buildSearchQuery","getSearchResults","loading","data","search","results","jsonResults","total","
|
|
1
|
+
{"version":3,"file":"useSearch.js","names":["useState","useEffect","useLazyQuery","searchQueries","useSearch","queryKey","resultKeys","entities","fields","extraFilters","queryParams","setParams","limit","offset","value","searchedValue","setSearchedValue","previousEntities","setPreviousEntities","previousOffset","setPreviousOffset","buildSearchQuery","getSearchResults","loading","data","ssr","search","defaultSearch","results","jsonResults","total","handleQueryParams","newQueryParams","_objectSpread","isNewValueSet","isNewOffsetSet","notSameLength","length","parsedEntities","map","entity","match","docType","variables","rawQuery","query","bool","must","query_string","type","default_operator","should"],"sources":["../../../src/components/useSearch/useSearch.js"],"sourcesContent":["import { useState, useEffect } from 'react';\nimport { useLazyQuery } from '@apollo/client';\nimport searchQueries from '../../application/query';\n\nfunction useSearch({ queryKey, resultKeys, entities = [], fields, extraFilters }) {\n const [queryParams, setParams] = useState({ limit: 20, offset: 0, value: '' });\n const [searchedValue, setSearchedValue] = useState(null);\n const [previousEntities, setPreviousEntities] = useState([]);\n const [previousOffset, setPreviousOffset] = useState(null);\n const buildSearchQuery = searchQueries[queryKey];\n\n const [getSearchResults, { loading, data = {} } = {}] = useLazyQuery(\n buildSearchQuery({ resultKeys }),\n { ssr: false }\n );\n\n const { search } = data;\n\n const defaultSearch = {\n results: [],\n jsonResults: null,\n total: 0\n };\n\n const { results, jsonResults, total } = search ?? defaultSearch;\n\n // todo: remove ssr: false once this bug is resolved https://github.com/apollographql/apollo-client/issues/9108\n // without ssr: false clients can hang in ssr.\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 notSameLength = previousEntities.length !== entities.length;\n const parsedEntities = entities.length\n ? entities.map(entity => ({\n match: { docType: entity }\n }))\n : [];\n\n if (isNewValueSet || isNewOffsetSet || notSameLength) {\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 default_operator: 'AND',\n extraFilters\n }\n },\n {\n bool: {\n should: parsedEntities\n }\n }\n ]\n }\n }\n }\n }\n });\n setSearchedValue(value);\n setPreviousOffset(offset);\n setPreviousEntities(entities);\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 entities.length,\n previousEntities.length,\n extraFilters\n ]\n );\n\n return [\n { searchedValue: queryParams.value, loading, data: { results: results || jsonResults, total } },\n handleQueryParams\n ];\n}\n\nexport default useSearch;\n"],"mappings":";;;AAAA,SAASA,QAAQ,EAAEC,SAAS,QAAQ,OAAO;AAC3C,SAASC,YAAY,QAAQ,gBAAgB;AAC7C,OAAOC,aAAa,MAAM,yBAAyB;AAEnD,SAASC,SAASA,CAAC;EAAEC,QAAQ;EAAEC,UAAU;EAAEC,QAAQ,GAAG,EAAE;EAAEC,MAAM;EAAEC;AAAa,CAAC,EAAE;EAChF,MAAM,CAACC,WAAW,EAAEC,SAAS,CAAC,GAAGX,QAAQ,CAAC;IAAEY,KAAK,EAAE,EAAE;IAAEC,MAAM,EAAE,CAAC;IAAEC,KAAK,EAAE;EAAG,CAAC,CAAC;EAC9E,MAAM,CAACC,aAAa,EAAEC,gBAAgB,CAAC,GAAGhB,QAAQ,CAAC,IAAI,CAAC;EACxD,MAAM,CAACiB,gBAAgB,EAAEC,mBAAmB,CAAC,GAAGlB,QAAQ,CAAC,EAAE,CAAC;EAC5D,MAAM,CAACmB,cAAc,EAAEC,iBAAiB,CAAC,GAAGpB,QAAQ,CAAC,IAAI,CAAC;EAC1D,MAAMqB,gBAAgB,GAAGlB,aAAa,CAACE,QAAQ,CAAC;EAEhD,MAAM,CAACiB,gBAAgB,EAAE;IAAEC,OAAO;IAAEC,IAAI,GAAG,CAAC;EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAGtB,YAAY,CAClEmB,gBAAgB,CAAC;IAAEf;EAAW,CAAC,CAAC,EAChC;IAAEmB,GAAG,EAAE;EAAM,CACf,CAAC;EAED,MAAM;IAAEC;EAAO,CAAC,GAAGF,IAAI;EAEvB,MAAMG,aAAa,GAAG;IACpBC,OAAO,EAAE,EAAE;IACXC,WAAW,EAAE,IAAI;IACjBC,KAAK,EAAE;EACT,CAAC;EAED,MAAM;IAAEF,OAAO;IAAEC,WAAW;IAAEC;EAAM,CAAC,GAAGJ,MAAM,aAANA,MAAM,cAANA,MAAM,GAAIC,aAAa;;EAE/D;EACA;;EAEA,MAAMI,iBAAiB,GAAGC,cAAc,IAAI;IAC1CrB,SAAS,CAAAsB,aAAA,CAAAA,aAAA,KAAMvB,WAAW,GAAKsB,cAAc,CAAE,CAAC;EAClD,CAAC;EAED/B,SAAS,CACP,MAAM;IACJ,MAAM;MAAEW,KAAK;MAAEC,MAAM;MAAEC;IAAM,CAAC,GAAGJ,WAAW;IAC5C,MAAMwB,aAAa,GAAGpB,KAAK,IAAIA,KAAK,KAAKC,aAAa;IACtD,MAAMoB,cAAc,GAAGhB,cAAc,KAAK,IAAI,IAAIN,MAAM,KAAKM,cAAc;IAC3E,MAAMiB,aAAa,GAAGnB,gBAAgB,CAACoB,MAAM,KAAK9B,QAAQ,CAAC8B,MAAM;IACjE,MAAMC,cAAc,GAAG/B,QAAQ,CAAC8B,MAAM,GAClC9B,QAAQ,CAACgC,GAAG,CAACC,MAAM,KAAK;MACtBC,KAAK,EAAE;QAAEC,OAAO,EAAEF;MAAO;IAC3B,CAAC,CAAC,CAAC,GACH,EAAE;IAEN,IAAIN,aAAa,IAAIC,cAAc,IAAIC,aAAa,EAAE;MACpDd,gBAAgB,CAAC;QACfqB,SAAS,EAAE;UACT/B,KAAK;UACLC,MAAM;UACN+B,QAAQ,EAAE;YACRC,KAAK,EAAE;cACLC,IAAI,EAAE;gBACJC,IAAI,EAAE,CACJ;kBACEC,YAAY,EAAE;oBACZH,KAAK,EAAE/B,KAAK;oBACZN,MAAM;oBACNyC,IAAI,EAAE,aAAa;oBACnBC,gBAAgB,EAAE,KAAK;oBACvBzC;kBACF;gBACF,CAAC,EACD;kBACEqC,IAAI,EAAE;oBACJK,MAAM,EAAEb;kBACV;gBACF,CAAC;cAEL;YACF;UACF;QACF;MACF,CAAC,CAAC;MACFtB,gBAAgB,CAACF,KAAK,CAAC;MACvBM,iBAAiB,CAACP,MAAM,CAAC;MACzBK,mBAAmB,CAACX,QAAQ,CAAC;IAC/B;EACF,CAAC,EACD,CACEG,WAAW,EACXA,WAAW,CAACE,KAAK,EACjBF,WAAW,CAACI,KAAK,EACjBJ,WAAW,CAACG,MAAM,EAClBE,aAAa,EACbI,cAAc,EACdG,gBAAgB,EAChBf,QAAQ,EACRC,MAAM,EACND,QAAQ,CAAC8B,MAAM,EACfpB,gBAAgB,CAACoB,MAAM,EACvB5B,YAAY,CAEhB,CAAC;EAED,OAAO,CACL;IAAEM,aAAa,EAAEL,WAAW,CAACI,KAAK;IAAES,OAAO;IAAEC,IAAI,EAAE;MAAEI,OAAO,EAAEA,OAAO,IAAIC,WAAW;MAAEC;IAAM;EAAE,CAAC,EAC/FC,iBAAiB,CAClB;AACH;AAEA,eAAe3B,SAAS"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@blaze-cms/plugin-search-ui",
|
|
3
|
-
"version": "0.132.0-
|
|
3
|
+
"version": "0.132.0-core-styles.0",
|
|
4
4
|
"description": "Blaze plugin search ui",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "lib-es/index.js",
|
|
@@ -27,9 +27,9 @@
|
|
|
27
27
|
},
|
|
28
28
|
"license": "GPL-3.0",
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@blaze-cms/admin-ui-utils": "0.132.0-
|
|
31
|
-
"@blaze-cms/core-errors": "0.132.0-
|
|
32
|
-
"@blaze-cms/setup-ui": "0.132.0-
|
|
30
|
+
"@blaze-cms/admin-ui-utils": "0.132.0-core-styles.0",
|
|
31
|
+
"@blaze-cms/core-errors": "0.132.0-core-styles.0",
|
|
32
|
+
"@blaze-cms/setup-ui": "0.132.0-core-styles.0",
|
|
33
33
|
"@blaze-react/button": "0.5.19",
|
|
34
34
|
"@blaze-react/input": "0.5.30",
|
|
35
35
|
"@blaze-react/utils": "0.5.15",
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"react-tiny-virtual-list": "2.2.0"
|
|
41
41
|
},
|
|
42
42
|
"devDependencies": {
|
|
43
|
-
"@blaze-cms/core-ui": "0.132.0-
|
|
43
|
+
"@blaze-cms/core-ui": "0.132.0-core-styles.0"
|
|
44
44
|
},
|
|
45
45
|
"peerDependencies": {
|
|
46
46
|
"@apollo/client": "3.x",
|
|
@@ -52,5 +52,5 @@
|
|
|
52
52
|
"lib/*",
|
|
53
53
|
"lib-es/*"
|
|
54
54
|
],
|
|
55
|
-
"gitHead": "
|
|
55
|
+
"gitHead": "60caae92a09559c3b2826ea504c0acb5e9ee7701"
|
|
56
56
|
}
|
|
@@ -2,22 +2,28 @@ import { useState, useEffect } from 'react';
|
|
|
2
2
|
import { useLazyQuery } from '@apollo/client';
|
|
3
3
|
import searchQueries from '../../application/query';
|
|
4
4
|
|
|
5
|
-
function useSearch({ queryKey, resultKeys, entities = [], fields }) {
|
|
5
|
+
function useSearch({ queryKey, resultKeys, entities = [], fields, extraFilters }) {
|
|
6
6
|
const [queryParams, setParams] = useState({ limit: 20, offset: 0, value: '' });
|
|
7
7
|
const [searchedValue, setSearchedValue] = useState(null);
|
|
8
8
|
const [previousEntities, setPreviousEntities] = useState([]);
|
|
9
9
|
const [previousOffset, setPreviousOffset] = useState(null);
|
|
10
10
|
const buildSearchQuery = searchQueries[queryKey];
|
|
11
11
|
|
|
12
|
-
const [
|
|
13
|
-
|
|
14
|
-
{
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
12
|
+
const [getSearchResults, { loading, data = {} } = {}] = useLazyQuery(
|
|
13
|
+
buildSearchQuery({ resultKeys }),
|
|
14
|
+
{ ssr: false }
|
|
15
|
+
);
|
|
16
|
+
|
|
17
|
+
const { search } = data;
|
|
18
|
+
|
|
19
|
+
const defaultSearch = {
|
|
20
|
+
results: [],
|
|
21
|
+
jsonResults: null,
|
|
22
|
+
total: 0
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
const { results, jsonResults, total } = search ?? defaultSearch;
|
|
26
|
+
|
|
21
27
|
// todo: remove ssr: false once this bug is resolved https://github.com/apollographql/apollo-client/issues/9108
|
|
22
28
|
// without ssr: false clients can hang in ssr.
|
|
23
29
|
|
|
@@ -51,7 +57,8 @@ function useSearch({ queryKey, resultKeys, entities = [], fields }) {
|
|
|
51
57
|
query: value,
|
|
52
58
|
fields,
|
|
53
59
|
type: 'most_fields',
|
|
54
|
-
default_operator: 'AND'
|
|
60
|
+
default_operator: 'AND',
|
|
61
|
+
extraFilters
|
|
55
62
|
}
|
|
56
63
|
},
|
|
57
64
|
{
|
|
@@ -81,7 +88,8 @@ function useSearch({ queryKey, resultKeys, entities = [], fields }) {
|
|
|
81
88
|
entities,
|
|
82
89
|
fields,
|
|
83
90
|
entities.length,
|
|
84
|
-
previousEntities.length
|
|
91
|
+
previousEntities.length,
|
|
92
|
+
extraFilters
|
|
85
93
|
]
|
|
86
94
|
);
|
|
87
95
|
|