@usereactify/search 5.0.0-beta.9 → 5.0.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.
Files changed (232) hide show
  1. package/CHANGELOG.md +486 -0
  2. package/README.md +3 -21
  3. package/dist/package.json +3 -3
  4. package/dist/src/components/ClearAll/ClearAll.d.ts +8 -0
  5. package/dist/src/components/ClearAll/ClearAll.js +29 -0
  6. package/dist/src/components/ClearAll/ClearAll.js.map +1 -0
  7. package/dist/src/components/ClearAll/index.d.ts +1 -0
  8. package/dist/src/components/{ReactifySearchBase → ClearAll}/index.js +1 -1
  9. package/dist/src/components/ClearAll/index.js.map +1 -0
  10. package/dist/src/components/CustomComponent/CustomComponent.d.ts +4 -0
  11. package/dist/src/components/CustomComponent/CustomComponent.js +13 -0
  12. package/dist/src/components/CustomComponent/CustomComponent.js.map +1 -0
  13. package/dist/src/components/CustomComponent/index.d.ts +1 -0
  14. package/dist/src/components/CustomComponent/index.js +14 -0
  15. package/dist/src/components/CustomComponent/index.js.map +1 -0
  16. package/dist/src/components/Example/ExampleClearAll.d.ts +4 -0
  17. package/dist/src/components/Example/ExampleClearAll.js +12 -0
  18. package/dist/src/components/Example/ExampleClearAll.js.map +1 -0
  19. package/dist/src/components/Example/ExampleCustomComponent.d.ts +2 -0
  20. package/dist/src/components/Example/ExampleCustomComponent.js +36 -0
  21. package/dist/src/components/Example/ExampleCustomComponent.js.map +1 -0
  22. package/dist/src/components/Example/ExampleFilterList.d.ts +5 -0
  23. package/dist/src/components/Example/ExampleFilterList.js +81 -10
  24. package/dist/src/components/Example/ExampleFilterList.js.map +1 -1
  25. package/dist/src/components/Example/ExampleFilterRange.js +6 -11
  26. package/dist/src/components/Example/ExampleFilterRange.js.map +1 -1
  27. package/dist/src/components/Example/ExampleFilterSlider.js +8 -9
  28. package/dist/src/components/Example/ExampleFilterSlider.js.map +1 -1
  29. package/dist/src/components/Example/ExampleFilters.d.ts +4 -0
  30. package/dist/src/components/Example/{ExampleFilterStack.js → ExampleFilters.js} +6 -5
  31. package/dist/src/components/Example/ExampleFilters.js.map +1 -0
  32. package/dist/src/components/Example/ExampleFiltersActive.d.ts +4 -0
  33. package/dist/src/components/Example/ExampleFiltersActive.js +23 -0
  34. package/dist/src/components/Example/ExampleFiltersActive.js.map +1 -0
  35. package/dist/src/components/Example/ExampleHookUseFilters.d.ts +2 -0
  36. package/dist/src/components/Example/ExampleHookUseFilters.js +20 -0
  37. package/dist/src/components/Example/ExampleHookUseFilters.js.map +1 -0
  38. package/dist/src/components/Example/ExampleHookUseSearch.d.ts +2 -0
  39. package/dist/src/components/Example/ExampleHookUseSearch.js +22 -0
  40. package/dist/src/components/Example/ExampleHookUseSearch.js.map +1 -0
  41. package/dist/src/components/Example/ExampleHookUseSortBy.d.ts +2 -0
  42. package/dist/src/components/Example/ExampleHookUseSortBy.js +18 -0
  43. package/dist/src/components/Example/ExampleHookUseSortBy.js.map +1 -0
  44. package/dist/src/components/Example/ExampleReactiveSearchProviderCollection.d.ts +2 -0
  45. package/dist/src/components/Example/ExampleReactiveSearchProviderCollection.js +27 -0
  46. package/dist/src/components/Example/ExampleReactiveSearchProviderCollection.js.map +1 -0
  47. package/dist/src/components/Example/ExampleReactiveSearchProviderInstantSearch.d.ts +2 -0
  48. package/dist/src/components/Example/ExampleReactiveSearchProviderInstantSearch.js +27 -0
  49. package/dist/src/components/Example/ExampleReactiveSearchProviderInstantSearch.js.map +1 -0
  50. package/dist/src/components/Example/ExampleReactiveSearchProviderSearch.d.ts +2 -0
  51. package/dist/src/components/Example/ExampleReactiveSearchProviderSearch.js +27 -0
  52. package/dist/src/components/Example/ExampleReactiveSearchProviderSearch.js.map +1 -0
  53. package/dist/src/components/Example/ExampleResultCardCallout.js +1 -1
  54. package/dist/src/components/Example/ExampleResultCardCallout.js.map +1 -1
  55. package/dist/src/components/Example/ExampleResultCardProduct.js +1 -1
  56. package/dist/src/components/Example/ExampleResultCardProduct.js.map +1 -1
  57. package/dist/src/components/Example/ExampleResults.d.ts +2 -0
  58. package/dist/src/components/Example/ExampleResults.js +38 -0
  59. package/dist/src/components/Example/ExampleResults.js.map +1 -0
  60. package/dist/src/components/Example/ExampleSearch.d.ts +4 -0
  61. package/dist/src/components/Example/ExampleSearch.js +20 -0
  62. package/dist/src/components/Example/ExampleSearch.js.map +1 -0
  63. package/dist/src/components/Example/ExampleSortBy.d.ts +4 -0
  64. package/dist/src/components/Example/{ExampleSortby.js → ExampleSortBy.js} +4 -4
  65. package/dist/src/components/Example/ExampleSortBy.js.map +1 -0
  66. package/dist/src/components/Example/ExampleStats.d.ts +4 -0
  67. package/dist/src/components/Example/ExampleStats.js +15 -0
  68. package/dist/src/components/Example/ExampleStats.js.map +1 -0
  69. package/dist/src/components/Example/index.d.ts +12 -2
  70. package/dist/src/components/Example/index.js +12 -2
  71. package/dist/src/components/Example/index.js.map +1 -1
  72. package/dist/src/components/Filter/Filter.d.ts +9 -6
  73. package/dist/src/components/Filter/Filter.js +29 -29
  74. package/dist/src/components/Filter/Filter.js.map +1 -1
  75. package/dist/src/components/Filter/Filters.d.ts +7 -0
  76. package/dist/src/components/Filter/Filters.js +17 -0
  77. package/dist/src/components/Filter/Filters.js.map +1 -0
  78. package/dist/src/components/Filter/FiltersActive.d.ts +16 -0
  79. package/dist/src/components/Filter/FiltersActive.js +36 -0
  80. package/dist/src/components/Filter/FiltersActive.js.map +1 -0
  81. package/dist/src/components/Filter/index.d.ts +2 -1
  82. package/dist/src/components/Filter/index.js +2 -1
  83. package/dist/src/components/Filter/index.js.map +1 -1
  84. package/dist/src/components/{ReactifySearchBase/ReactifySearchBase.d.ts → ReactifySearchProvider/ReactifySearchProvider.d.ts} +6 -10
  85. package/dist/src/components/{ReactifySearchBase/ReactifySearchBase.js → ReactifySearchProvider/ReactifySearchProvider.js} +33 -29
  86. package/dist/src/components/ReactifySearchProvider/ReactifySearchProvider.js.map +1 -0
  87. package/dist/src/components/ReactifySearchProvider/index.d.ts +1 -0
  88. package/dist/src/components/ReactifySearchProvider/index.js +14 -0
  89. package/dist/src/components/ReactifySearchProvider/index.js.map +1 -0
  90. package/dist/src/components/Result/ResultCardCallout.d.ts +2 -4
  91. package/dist/src/components/Result/ResultCardCallout.js.map +1 -1
  92. package/dist/src/components/Result/ResultCardProduct.d.ts +2 -5
  93. package/dist/src/components/Result/ResultCardProduct.js.map +1 -1
  94. package/dist/src/components/Result/ResultPaginationLoadMore.d.ts +2 -2
  95. package/dist/src/components/Result/ResultPaginationLoadMore.js +1 -1
  96. package/dist/src/components/Result/ResultPaginationLoadMore.js.map +1 -1
  97. package/dist/src/components/Result/ResultPaginationNextPrev.d.ts +2 -2
  98. package/dist/src/components/Result/ResultPaginationNextPrev.js +1 -1
  99. package/dist/src/components/Result/ResultPaginationNextPrev.js.map +1 -1
  100. package/dist/src/components/Result/ResultPaginationNumbered.d.ts +2 -2
  101. package/dist/src/components/Result/ResultPaginationNumbered.js +1 -1
  102. package/dist/src/components/Result/ResultPaginationNumbered.js.map +1 -1
  103. package/dist/src/components/Result/{ResultStack.d.ts → Results.d.ts} +21 -13
  104. package/dist/src/components/Result/{ResultStack.js → Results.js} +45 -28
  105. package/dist/src/components/Result/Results.js.map +1 -0
  106. package/dist/src/components/Result/index.d.ts +1 -1
  107. package/dist/src/components/Result/index.js +1 -1
  108. package/dist/src/components/Result/index.js.map +1 -1
  109. package/dist/src/components/Search/Search.d.ts +7 -0
  110. package/dist/src/components/Search/Search.js +17 -0
  111. package/dist/src/components/Search/Search.js.map +1 -0
  112. package/dist/src/components/Search/index.d.ts +1 -1
  113. package/dist/src/components/Search/index.js +1 -1
  114. package/dist/src/components/Search/index.js.map +1 -1
  115. package/dist/src/components/Sensor/SensorCollection.js +2 -2
  116. package/dist/src/components/Sensor/SensorCollection.js.map +1 -1
  117. package/dist/src/components/Sensor/SensorInventoryAvailable.js +1 -1
  118. package/dist/src/components/Sensor/SensorInventoryAvailable.js.map +1 -1
  119. package/dist/src/components/Sensor/SensorSearch.js +7 -3
  120. package/dist/src/components/Sensor/SensorSearch.js.map +1 -1
  121. package/dist/src/components/Sensor/SensorSort.js +13 -13
  122. package/dist/src/components/Sensor/SensorSort.js.map +1 -1
  123. package/dist/src/components/Sensor/Sensors.d.ts +3 -0
  124. package/dist/src/components/Sensor/{SensorStack.js → Sensors.js} +4 -4
  125. package/dist/src/components/Sensor/Sensors.js.map +1 -0
  126. package/dist/src/components/Sensor/index.d.ts +1 -1
  127. package/dist/src/components/Sensor/index.js +1 -1
  128. package/dist/src/components/Sensor/index.js.map +1 -1
  129. package/dist/src/components/SortBy/SortBy.d.ts +7 -0
  130. package/dist/src/components/SortBy/SortBy.js +17 -0
  131. package/dist/src/components/SortBy/SortBy.js.map +1 -0
  132. package/dist/src/components/SortBy/index.d.ts +1 -0
  133. package/dist/src/components/{Sortby → SortBy}/index.js +1 -1
  134. package/dist/src/components/{Sortby → SortBy}/index.js.map +1 -1
  135. package/dist/src/components/Stats/Stats.d.ts +22 -0
  136. package/dist/src/components/Stats/Stats.js +15 -0
  137. package/dist/src/components/Stats/Stats.js.map +1 -0
  138. package/dist/src/components/Stats/index.d.ts +1 -0
  139. package/dist/src/components/Stats/index.js +14 -0
  140. package/dist/src/components/Stats/index.js.map +1 -0
  141. package/dist/src/components/index.d.ts +5 -2
  142. package/dist/src/components/index.js +5 -2
  143. package/dist/src/components/index.js.map +1 -1
  144. package/dist/src/hooks/index.d.ts +4 -3
  145. package/dist/src/hooks/index.js +4 -3
  146. package/dist/src/hooks/index.js.map +1 -1
  147. package/dist/src/hooks/reactivesearch/index.d.ts +3 -3
  148. package/dist/src/hooks/reactivesearch/index.js +3 -3
  149. package/dist/src/hooks/reactivesearch/index.js.map +1 -1
  150. package/dist/src/hooks/reactivesearch/useReactiveBaseProps.js +2 -1
  151. package/dist/src/hooks/reactivesearch/useReactiveBaseProps.js.map +1 -1
  152. package/dist/src/hooks/reactivesearch/useReactiveDataSearchProps.d.ts +1 -1
  153. package/dist/src/hooks/reactivesearch/useReactiveDataSearchProps.js +12 -11
  154. package/dist/src/hooks/reactivesearch/useReactiveDataSearchProps.js.map +1 -1
  155. package/dist/src/hooks/reactivesearch/useReactiveFilterListProps.js +2 -1
  156. package/dist/src/hooks/reactivesearch/useReactiveFilterListProps.js.map +1 -1
  157. package/dist/src/hooks/reactivesearch/useReactiveFilterRangeProps.d.ts +6 -1
  158. package/dist/src/hooks/reactivesearch/useReactiveFilterRangeProps.js +14 -2
  159. package/dist/src/hooks/reactivesearch/useReactiveFilterRangeProps.js.map +1 -1
  160. package/dist/src/hooks/reactivesearch/useReactiveFilterSharedProps.js +2 -1
  161. package/dist/src/hooks/reactivesearch/useReactiveFilterSharedProps.js.map +1 -1
  162. package/dist/src/hooks/reactivesearch/useReactiveFilterSliderProps.d.ts +5 -0
  163. package/dist/src/hooks/reactivesearch/useReactiveFilterSliderProps.js +11 -3
  164. package/dist/src/hooks/reactivesearch/useReactiveFilterSliderProps.js.map +1 -1
  165. package/dist/src/hooks/reactivesearch/useReactiveReactProp.js +4 -4
  166. package/dist/src/hooks/reactivesearch/useReactiveReactProp.js.map +1 -1
  167. package/dist/src/hooks/reactivesearch/useReactiveReactiveListProps.d.ts +5 -0
  168. package/dist/src/hooks/reactivesearch/{useReactiveResultStackProps.js → useReactiveReactiveListProps.js} +7 -6
  169. package/dist/src/hooks/reactivesearch/useReactiveReactiveListProps.js.map +1 -0
  170. package/dist/src/hooks/useConfig.js +1 -1
  171. package/dist/src/hooks/useConfig.js.map +1 -1
  172. package/dist/src/hooks/useCuration.js +4 -8
  173. package/dist/src/hooks/useCuration.js.map +1 -1
  174. package/dist/src/hooks/useFilterListProps.d.ts +3 -2
  175. package/dist/src/hooks/useFilterListProps.js +67 -10
  176. package/dist/src/hooks/useFilterListProps.js.map +1 -1
  177. package/dist/src/hooks/useFilterRangeProps.d.ts +11 -0
  178. package/dist/src/hooks/useFilterRangeProps.js +53 -0
  179. package/dist/src/hooks/useFilterRangeProps.js.map +1 -0
  180. package/dist/src/hooks/useFilterSliderProps.d.ts +12 -0
  181. package/dist/src/hooks/useFilterSliderProps.js +49 -0
  182. package/dist/src/hooks/useFilterSliderProps.js.map +1 -0
  183. package/dist/src/hooks/useFilters.d.ts +5 -2
  184. package/dist/src/hooks/useFilters.js +45 -11
  185. package/dist/src/hooks/useFilters.js.map +1 -1
  186. package/dist/src/hooks/usePagination.d.ts +10 -0
  187. package/dist/src/hooks/usePagination.js.map +1 -1
  188. package/dist/src/hooks/usePaginationLoadMore.js +1 -1
  189. package/dist/src/hooks/usePaginationLoadMore.js.map +1 -1
  190. package/dist/src/hooks/useReactifySearchContext.d.ts +12 -20
  191. package/dist/src/hooks/useReactifySearchContext.js.map +1 -1
  192. package/dist/src/hooks/useSearch.d.ts +8 -3
  193. package/dist/src/hooks/useSearch.js +39 -17
  194. package/dist/src/hooks/useSearch.js.map +1 -1
  195. package/dist/src/hooks/useSortBy.d.ts +9 -0
  196. package/dist/src/hooks/{useSortby.js → useSortBy.js} +5 -5
  197. package/dist/src/hooks/useSortBy.js.map +1 -0
  198. package/dist/src/types/firestore.d.ts +3 -0
  199. package/dist/src/types/firestore.js.map +1 -1
  200. package/dist/src/types/reactivesearch.d.ts +2 -2
  201. package/dist/src/types/reactivesearch.js.map +1 -1
  202. package/dist/src/utility/debug.d.ts +3 -1
  203. package/dist/src/utility/debug.js +6 -2
  204. package/dist/src/utility/debug.js.map +1 -1
  205. package/package.json +3 -3
  206. package/dist/src/components/Example/ExampleFilterStack.d.ts +0 -4
  207. package/dist/src/components/Example/ExampleFilterStack.js.map +0 -1
  208. package/dist/src/components/Example/ExampleSortby.d.ts +0 -4
  209. package/dist/src/components/Example/ExampleSortby.js.map +0 -1
  210. package/dist/src/components/Filter/FilterStack.d.ts +0 -7
  211. package/dist/src/components/Filter/FilterStack.js +0 -17
  212. package/dist/src/components/Filter/FilterStack.js.map +0 -1
  213. package/dist/src/components/ReactifySearchBase/ReactifySearchBase.js.map +0 -1
  214. package/dist/src/components/ReactifySearchBase/index.d.ts +0 -1
  215. package/dist/src/components/ReactifySearchBase/index.js.map +0 -1
  216. package/dist/src/components/Result/ResultStack.js.map +0 -1
  217. package/dist/src/components/Search/SearchInput.d.ts +0 -8
  218. package/dist/src/components/Search/SearchInput.js +0 -18
  219. package/dist/src/components/Search/SearchInput.js.map +0 -1
  220. package/dist/src/components/Sensor/SensorStack.d.ts +0 -3
  221. package/dist/src/components/Sensor/SensorStack.js.map +0 -1
  222. package/dist/src/components/Sortby/Sortby.d.ts +0 -7
  223. package/dist/src/components/Sortby/Sortby.js +0 -17
  224. package/dist/src/components/Sortby/Sortby.js.map +0 -1
  225. package/dist/src/components/Sortby/index.d.ts +0 -1
  226. package/dist/src/hooks/reactivesearch/useReactiveResultStackProps.d.ts +0 -17
  227. package/dist/src/hooks/reactivesearch/useReactiveResultStackProps.js.map +0 -1
  228. package/dist/src/hooks/useFilterStack.d.ts +0 -4
  229. package/dist/src/hooks/useFilterStack.js +0 -52
  230. package/dist/src/hooks/useFilterStack.js.map +0 -1
  231. package/dist/src/hooks/useSortby.d.ts +0 -6
  232. package/dist/src/hooks/useSortby.js.map +0 -1
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.ResultStack = void 0;
6
+ exports.Results = void 0;
7
7
  const react_1 = __importDefault(require("react"));
8
8
  const ReactiveList_1 = __importDefault(require("@appbaseio/reactivesearch/lib/components/result/ReactiveList"));
9
9
  const ResultCardCallout_1 = require("./ResultCardCallout");
@@ -11,30 +11,31 @@ const ResultCardProduct_1 = require("./ResultCardProduct");
11
11
  const ResultPaginationNumbered_1 = require("./ResultPaginationNumbered");
12
12
  const ResultPaginationLoadMore_1 = require("./ResultPaginationLoadMore");
13
13
  const ResultPaginationNextPrev_1 = require("./ResultPaginationNextPrev");
14
- const hooks_1 = require("../../hooks");
15
14
  const types_1 = require("../../types");
16
- const ResultStack = (props) => {
17
- const reactiveResultStackProps = (0, hooks_1.useReactiveResultStackProps)({
15
+ const hooks_1 = require("../../hooks");
16
+ const utility_1 = require("../../utility");
17
+ const Results = (props) => {
18
+ const reactiveReactiveListProps = (0, hooks_1.useReactiveReactiveListProps)({
18
19
  pageSize: props.pageSize,
19
20
  });
20
- return (react_1.default.createElement(ReactiveList_1.default, Object.assign({}, reactiveResultStackProps, { render: (reactivesearchResultProps) => (react_1.default.createElement(ResultStackInner, Object.assign({}, props, { reactivesearchResultProps: reactivesearchResultProps }))), renderPagination: (reactivesearchPaginationProps) => (react_1.default.createElement(ResultStackPaginationStack, Object.assign({}, props, reactivesearchPaginationProps))) })));
21
+ return (react_1.default.createElement(ReactiveList_1.default, Object.assign({}, reactiveReactiveListProps, { render: (reactivesearchResultProps) => (react_1.default.createElement(ResultsInner, Object.assign({}, props, { reactivesearchResultProps: reactivesearchResultProps }))), renderPagination: (reactivesearchPaginationProps) => (react_1.default.createElement(ResultsPaginationStack, Object.assign({}, props, reactivesearchPaginationProps))) })));
21
22
  };
22
- exports.ResultStack = ResultStack;
23
- const ResultStackRenderErrorComponent = (props) => {
23
+ exports.Results = Results;
24
+ const ResultsRenderErrorComponent = (props) => {
24
25
  return (react_1.default.createElement("div", null,
25
26
  "Error: ",
26
27
  props.error.statusText));
27
28
  };
28
- const ResultStackRenderLoadingComponent = () => {
29
+ const ResultsRenderLoadingComponent = () => {
29
30
  return react_1.default.createElement("div", null, "Loading");
30
31
  };
31
- const ResultStackRenderNoResultsComponent = () => {
32
+ const ResultsRenderNoResultsComponent = () => {
32
33
  return react_1.default.createElement("div", null, "No results");
33
34
  };
34
- const ResultStackInner = (props) => {
35
+ const ResultsInner = (props) => {
35
36
  var _a, _b, _c;
36
37
  const { track } = (0, hooks_1.useAnalytics)();
37
- const { searchQuery } = (0, hooks_1.useSearch)();
38
+ const { searchTerm } = (0, hooks_1.useSearch)();
38
39
  const initialSearchHasRun = react_1.default.useMemo(() => "undefined" !==
39
40
  typeof props.reactivesearchResultProps.resultStats.numberOfResults, [props.reactivesearchResultProps]);
40
41
  const listStyle = react_1.default.useMemo(() => {
@@ -45,24 +46,40 @@ const ResultStackInner = (props) => {
45
46
  gridTemplateColumns: "repeat(4, minmax(0, 1fr))",
46
47
  };
47
48
  }, [props.listStyle]);
49
+ react_1.default.useEffect(() => {
50
+ if (!props.reactivesearchResultProps.loading &&
51
+ !props.reactivesearchResultProps.resultStats.numberOfResults) {
52
+ if (searchTerm) {
53
+ track({
54
+ eventName: "zeroResults",
55
+ payload: {
56
+ searchTerm: searchTerm,
57
+ },
58
+ });
59
+ }
60
+ }
61
+ }, [
62
+ props.reactivesearchResultProps.loading,
63
+ props.reactivesearchResultProps.resultStats.numberOfResults,
64
+ searchTerm,
65
+ ]);
48
66
  if (props.reactivesearchResultProps.error) {
49
- const RenderErrorComponent = (_a = props.renderError) !== null && _a !== void 0 ? _a : ResultStackRenderErrorComponent;
67
+ utility_1.debug.breadcrumb({
68
+ category: "result",
69
+ message: "error",
70
+ data: {
71
+ error: props.reactivesearchResultProps.error,
72
+ },
73
+ });
74
+ const RenderErrorComponent = (_a = props.renderError) !== null && _a !== void 0 ? _a : ResultsRenderErrorComponent;
50
75
  return (react_1.default.createElement(RenderErrorComponent, { error: props.reactivesearchResultProps.error }));
51
76
  }
52
77
  if (!initialSearchHasRun) {
53
- const RenderLoadingComponent = (_b = props.renderLoading) !== null && _b !== void 0 ? _b : ResultStackRenderLoadingComponent;
78
+ const RenderLoadingComponent = (_b = props.renderLoading) !== null && _b !== void 0 ? _b : ResultsRenderLoadingComponent;
54
79
  return react_1.default.createElement(RenderLoadingComponent, null);
55
80
  }
56
81
  if (!props.reactivesearchResultProps.resultStats.numberOfResults) {
57
- if (searchQuery) {
58
- track({
59
- eventName: "zeroResults",
60
- payload: {
61
- searchTerm: searchQuery,
62
- },
63
- });
64
- }
65
- const RenderNoResultsComponent = (_c = props.renderNoResults) !== null && _c !== void 0 ? _c : ResultStackRenderNoResultsComponent;
82
+ const RenderNoResultsComponent = (_c = props.renderNoResults) !== null && _c !== void 0 ? _c : ResultsRenderNoResultsComponent;
66
83
  return react_1.default.createElement(RenderNoResultsComponent, null);
67
84
  }
68
85
  return (react_1.default.createElement(react_1.default.Fragment, null,
@@ -76,12 +93,12 @@ const ResultStackInner = (props) => {
76
93
  }
77
94
  return null;
78
95
  })),
79
- react_1.default.createElement(ResultStackPaginationStackLoadMore, Object.assign({}, props, props.reactivesearchResultProps))));
96
+ react_1.default.createElement(ResultsPaginationStackLoadMore, Object.assign({}, props, props.reactivesearchResultProps))));
80
97
  };
81
98
  /** Handles rendering pagination for types that use "pagination props" */
82
- const ResultStackPaginationStack = (props) => {
99
+ const ResultsPaginationStack = (props) => {
83
100
  const { options } = (0, hooks_1.useReactifySearchContext)();
84
- const { filterStack } = (0, hooks_1.useFilterStack)();
101
+ const { filterStack } = (0, hooks_1.useFilters)();
85
102
  if (options.mode === "instant-search") {
86
103
  return null;
87
104
  }
@@ -94,9 +111,9 @@ const ResultStackPaginationStack = (props) => {
94
111
  return null;
95
112
  };
96
113
  /** Handles rendering pagination for types that use "result props" */
97
- const ResultStackPaginationStackLoadMore = (props) => {
114
+ const ResultsPaginationStackLoadMore = (props) => {
98
115
  const { options } = (0, hooks_1.useReactifySearchContext)();
99
- const { filterStack } = (0, hooks_1.useFilterStack)();
116
+ const { filterStack } = (0, hooks_1.useFilters)();
100
117
  if (options.mode === "instant-search") {
101
118
  return null;
102
119
  }
@@ -105,4 +122,4 @@ const ResultStackPaginationStackLoadMore = (props) => {
105
122
  }
106
123
  return null;
107
124
  };
108
- //# sourceMappingURL=ResultStack.js.map
125
+ //# sourceMappingURL=Results.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Results.js","sourceRoot":"","sources":["../../../../src/components/Result/Results.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\nimport ReactiveList from \"@appbaseio/reactivesearch/lib/components/result/ReactiveList\";\n\nimport { ResultCardCallout } from \"./ResultCardCallout\";\nimport { ResultCardProduct } from \"./ResultCardProduct\";\nimport { ResultPaginationNumbered } from \"./ResultPaginationNumbered\";\nimport { ResultPaginationLoadMore } from \"./ResultPaginationLoadMore\";\nimport { ResultPaginationNextPrev } from \"./ResultPaginationNextPrev\";\n\nimport {\n ElasticCallout,\n ElasticProduct,\n ElasticDocumentType,\n ReactivesearchError,\n ReactivesearchResultProps,\n ReactivesearchPaginationProps,\n} from \"../../types\";\nimport {\n useReactifySearchContext,\n useAnalytics,\n useSearch,\n useFilters,\n useReactiveReactiveListProps,\n useProductPrice,\n usePagination,\n usePaginationLoadMore,\n} from \"../../hooks\";\nimport { debug } from \"../../utility\";\n\nexport type ResultProps = ReactivesearchResultProps & {\n callouts: ElasticCallout[];\n products: ElasticProduct[];\n};\n\nexport type ResultsProps = {\n /** Style prop for the list wrapper */\n listStyle?: React.HTMLAttributes<HTMLElement>[\"style\"];\n /** Classname prop for the list wrapper */\n listClassName?: string;\n /** Render method called when an error occurs */\n renderError?: React.FC<{ error: ReactivesearchError }>;\n /** Render method called while loading for the first time */\n renderLoading?: React.FC;\n /** Render method called when no results are found */\n renderNoResults?: React.FC;\n /** Render method called once for each product result */\n renderResultCardProduct?: React.FC<\n ReturnType<typeof useProductPrice> & {\n pagePosition: number;\n product: ElasticProduct;\n document: ElasticProduct;\n itemRef: (node?: Element | null) => void;\n handleClick: () => void;\n }\n >;\n /** Render method called once for each callout result */\n renderResultCardCallout?: React.FC<{\n pagePosition: number;\n document: ElasticCallout;\n callout: ElasticCallout[\"callout\"];\n itemRef: (node?: Element | null) => void;\n handleClick: () => void;\n }>;\n /** Render method called for pagination type \"pagination\" */\n renderPaginationNumbered?: React.FC<ReturnType<typeof usePagination>>;\n /** Render method called for pagination type \"next_prev\" */\n renderPaginationNextPrev?: React.FC<ReturnType<typeof usePagination>>;\n /** Render method called for pagination type \"load_more\" */\n renderPaginationLoadMore?: React.FC<ReturnType<typeof usePaginationLoadMore>>;\n /** Render method called for pagination type \"infinite_scroll\" */\n renderPaginationInfiniteScroll?: React.FC<\n ReturnType<typeof usePaginationLoadMore>\n >;\n /** Advanced Usage: Override the default amount of results per page */\n pageSize?: number;\n};\n\nexport const Results: React.FC<ResultsProps> = (props) => {\n const reactiveReactiveListProps = useReactiveReactiveListProps({\n pageSize: props.pageSize,\n });\n\n return (\n <ReactiveList\n {...reactiveReactiveListProps}\n render={(reactivesearchResultProps: ReactivesearchResultProps) => (\n <ResultsInner\n {...props}\n reactivesearchResultProps={reactivesearchResultProps}\n />\n )}\n renderPagination={(\n reactivesearchPaginationProps: ReactivesearchPaginationProps\n ) => (\n <ResultsPaginationStack {...props} {...reactivesearchPaginationProps} />\n )}\n />\n );\n};\n\nconst ResultsRenderErrorComponent: ResultsProps[\"renderError\"] = (props) => {\n return (\n <div>\n {\"Error: \"}\n {props.error.statusText}\n </div>\n );\n};\n\nconst ResultsRenderLoadingComponent: ResultsProps[\"renderLoading\"] = () => {\n return <div>{\"Loading\"}</div>;\n};\n\nconst ResultsRenderNoResultsComponent: ResultsProps[\"renderNoResults\"] = () => {\n return <div>{\"No results\"}</div>;\n};\n\nconst ResultsInner: React.FC<\n ResultsProps & { reactivesearchResultProps: ReactivesearchResultProps }\n> = (props) => {\n const { track } = useAnalytics();\n const { searchTerm } = useSearch();\n\n const initialSearchHasRun = React.useMemo(\n () =>\n \"undefined\" !==\n typeof props.reactivesearchResultProps.resultStats.numberOfResults,\n [props.reactivesearchResultProps]\n );\n\n const listStyle = React.useMemo<React.HTMLAttributes<HTMLElement>[\"style\"]>(\n () =>\n props.listStyle ?? {\n display: \"grid\",\n gap: \"8px\",\n gridTemplateColumns: \"repeat(4, minmax(0, 1fr))\",\n },\n [props.listStyle]\n );\n\n React.useEffect(() => {\n if (\n !props.reactivesearchResultProps.loading &&\n !props.reactivesearchResultProps.resultStats.numberOfResults\n ) {\n if (searchTerm) {\n track({\n eventName: \"zeroResults\",\n payload: {\n searchTerm: searchTerm,\n },\n });\n }\n }\n }, [\n props.reactivesearchResultProps.loading,\n props.reactivesearchResultProps.resultStats.numberOfResults,\n searchTerm,\n ]);\n\n if (props.reactivesearchResultProps.error) {\n debug.breadcrumb({\n category: \"result\",\n message: \"error\",\n data: {\n error: props.reactivesearchResultProps.error,\n },\n });\n\n const RenderErrorComponent =\n props.renderError ?? ResultsRenderErrorComponent;\n\n return (\n <RenderErrorComponent error={props.reactivesearchResultProps.error} />\n );\n }\n\n if (!initialSearchHasRun) {\n const RenderLoadingComponent =\n props.renderLoading ?? ResultsRenderLoadingComponent;\n return <RenderLoadingComponent />;\n }\n\n if (!props.reactivesearchResultProps.resultStats.numberOfResults) {\n const RenderNoResultsComponent =\n props.renderNoResults ?? ResultsRenderNoResultsComponent;\n return <RenderNoResultsComponent />;\n }\n\n return (\n <>\n <section style={listStyle} className={props.listClassName}>\n {props.reactivesearchResultProps.data.map((item, key) => {\n // @todo result.type is missing in v1 indexes, this check ensures that they are assumed to be products\n if (ElasticDocumentType.Product === item.type || !item.type) {\n return (\n <ResultCardProduct\n key={item._id}\n product={item}\n document={item}\n pagePosition={key + 1}\n render={props.renderResultCardProduct}\n />\n );\n }\n\n if (ElasticDocumentType.Callout === item.type) {\n return (\n <ResultCardCallout\n key={item._id}\n document={item}\n pagePosition={key + 1}\n callout={item.callout}\n render={props.renderResultCardCallout}\n />\n );\n }\n\n return null;\n })}\n </section>\n <ResultsPaginationStackLoadMore\n {...props}\n {...props.reactivesearchResultProps}\n />\n </>\n );\n};\n\n/** Handles rendering pagination for types that use \"pagination props\" */\nconst ResultsPaginationStack: React.FC<\n ResultsProps & ReactivesearchPaginationProps\n> = (props) => {\n const { options } = useReactifySearchContext();\n const { filterStack } = useFilters();\n\n if (options.mode === \"instant-search\") {\n return null;\n }\n\n if (\"pagination\" === filterStack?.paginationType) {\n return (\n <ResultPaginationNumbered\n {...props}\n render={props.renderPaginationNumbered}\n />\n );\n }\n\n if (\"next_prev\" === filterStack?.paginationType) {\n return (\n <ResultPaginationNextPrev\n {...props}\n render={props.renderPaginationNextPrev}\n />\n );\n }\n\n return null;\n};\n\n/** Handles rendering pagination for types that use \"result props\" */\nconst ResultsPaginationStackLoadMore: React.FC<\n ResultsProps & { reactivesearchResultProps: ReactivesearchResultProps }\n> = (props) => {\n const { options } = useReactifySearchContext();\n const { filterStack } = useFilters();\n\n if (options.mode === \"instant-search\") {\n return null;\n }\n\n if (\"load_more\" === filterStack?.paginationType) {\n return (\n <ResultPaginationLoadMore\n {...props.reactivesearchResultProps}\n render={props.renderPaginationLoadMore}\n />\n );\n }\n\n return null;\n};\n"]}
@@ -1,4 +1,4 @@
1
- export * from "./ResultStack";
1
+ export * from "./Results";
2
2
  export * from "./ResultCardCallout";
3
3
  export * from "./ResultCardProduct";
4
4
  export * from "./ResultStateProvider";
@@ -10,7 +10,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
10
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
11
  };
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
- __exportStar(require("./ResultStack"), exports);
13
+ __exportStar(require("./Results"), exports);
14
14
  __exportStar(require("./ResultCardCallout"), exports);
15
15
  __exportStar(require("./ResultCardProduct"), exports);
16
16
  __exportStar(require("./ResultStateProvider"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/Result/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gDAA8B;AAC9B,sDAAmC;AACnC,sDAAoC;AACpC,wDAAsC;AACtC,6DAA2C;AAC3C,6DAA2C;AAC3C,6DAA2C","sourcesContent":["export * from \"./ResultStack\";\nexport * from \"./ResultCardCallout\"\nexport * from \"./ResultCardProduct\";\nexport * from \"./ResultStateProvider\";\nexport * from \"./ResultPaginationNumbered\";\nexport * from \"./ResultPaginationLoadMore\";\nexport * from \"./ResultPaginationNextPrev\";\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/Result/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4CAA0B;AAC1B,sDAAoC;AACpC,sDAAoC;AACpC,wDAAsC;AACtC,6DAA2C;AAC3C,6DAA2C;AAC3C,6DAA2C","sourcesContent":["export * from \"./Results\";\nexport * from \"./ResultCardCallout\";\nexport * from \"./ResultCardProduct\";\nexport * from \"./ResultStateProvider\";\nexport * from \"./ResultPaginationNumbered\";\nexport * from \"./ResultPaginationLoadMore\";\nexport * from \"./ResultPaginationNextPrev\";\n"]}
@@ -0,0 +1,7 @@
1
+ import React from "react";
2
+ import { useSearch } from "../../hooks";
3
+ export declare type SearchProps = {
4
+ /** Render method */
5
+ render?: React.FC<ReturnType<typeof useSearch>>;
6
+ };
7
+ export declare const Search: React.FC<SearchProps>;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.Search = void 0;
7
+ const react_1 = __importDefault(require("react"));
8
+ const hooks_1 = require("../../hooks");
9
+ const components_1 = require("../../components");
10
+ const Search = (props) => {
11
+ var _a;
12
+ const sortbyData = (0, hooks_1.useSearch)();
13
+ const RenderSortOptionsComponent = (_a = props.render) !== null && _a !== void 0 ? _a : components_1.ExampleSearch;
14
+ return react_1.default.createElement(RenderSortOptionsComponent, Object.assign({}, sortbyData));
15
+ };
16
+ exports.Search = Search;
17
+ //# sourceMappingURL=Search.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Search.js","sourceRoot":"","sources":["../../../../src/components/Search/Search.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAE1B,uCAAwC;AACxC,iDAAiD;AAO1C,MAAM,MAAM,GAA0B,CAAC,KAAK,EAAE,EAAE;;IACrD,MAAM,UAAU,GAAG,IAAA,iBAAS,GAAE,CAAC;IAE/B,MAAM,0BAA0B,GAAG,MAAA,KAAK,CAAC,MAAM,mCAAI,0BAAa,CAAC;IAEjE,OAAO,8BAAC,0BAA0B,oBAAK,UAAU,EAAI,CAAC;AACxD,CAAC,CAAC;AANW,QAAA,MAAM,UAMjB","sourcesContent":["import React from \"react\";\n\nimport { useSearch } from \"../../hooks\";\nimport { ExampleSearch } from \"../../components\";\n\nexport type SearchProps = {\n /** Render method */\n render?: React.FC<ReturnType<typeof useSearch>>;\n};\n\nexport const Search: React.FC<SearchProps> = (props) => {\n const sortbyData = useSearch();\n\n const RenderSortOptionsComponent = props.render ?? ExampleSearch;\n\n return <RenderSortOptionsComponent {...sortbyData} />;\n};\n"]}
@@ -1 +1 @@
1
- export * from "./SearchInput";
1
+ export * from "./Search";
@@ -10,5 +10,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
10
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
11
  };
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
- __exportStar(require("./SearchInput"), exports);
13
+ __exportStar(require("./Search"), exports);
14
14
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/Search/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gDAA8B","sourcesContent":["export * from \"./SearchInput\";\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/Search/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAyB","sourcesContent":["export * from \"./Search\";\n"]}
@@ -21,7 +21,7 @@ const SensorCollection = () => {
21
21
  path: "collections",
22
22
  query: {
23
23
  term: {
24
- "collections.handle.keyword": options.collection.handle,
24
+ "collections.handle.keyword": options.collectionHandle,
25
25
  },
26
26
  },
27
27
  },
@@ -31,7 +31,7 @@ const SensorCollection = () => {
31
31
  path: "curations",
32
32
  query: {
33
33
  term: {
34
- "curations.collectionHandle.keyword": options.collection.handle,
34
+ "curations.collectionHandle.keyword": options.collectionHandle,
35
35
  },
36
36
  },
37
37
  },
@@ -1 +1 @@
1
- {"version":3,"file":"SensorCollection.js","sourceRoot":"","sources":["../../../../src/components/Sensor/SensorCollection.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,yHAAiG;AAEjG,uCAAuD;AAEhD,MAAM,gBAAgB,GAAa,GAAG,EAAE;IAC7C,MAAM,EAAE,OAAO,EAAE,GAAG,IAAA,gCAAwB,GAAE,CAAC;IAE/C,IAAI,OAAO,CAAC,IAAI,KAAK,YAAY,EAAE;QACjC,OAAO,IAAI,CAAC;KACb;IAED,OAAO,CACL,8BAAC,2BAAiB,IAChB,WAAW,EAAC,kBAAkB,EAC9B,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;YAClB,KAAK,EAAE;gBACL,IAAI,EAAE;oBACJ,MAAM,EAAE;wBACN;4BACE,MAAM,EAAE;gCACN,IAAI,EAAE,aAAa;gCACnB,KAAK,EAAE;oCACL,IAAI,EAAE;wCACJ,4BAA4B,EAAE,OAAO,CAAC,UAAU,CAAC,MAAM;qCACxD;iCACF;6BACF;yBACF;wBACD;4BACE,MAAM,EAAE;gCACN,IAAI,EAAE,WAAW;gCACjB,KAAK,EAAE;oCACL,IAAI,EAAE;wCACJ,oCAAoC,EAAE,OAAO,CAAC,UAAU,CAAC,MAAM;qCAChE;iCACF;6BACF;yBACF;qBACF;iBACF;aACF;SACF,CAAC,GACF,CACH,CAAC;AACJ,CAAC,CAAC;AAxCW,QAAA,gBAAgB,oBAwC3B","sourcesContent":["import React from \"react\";\nimport ReactiveComponent from \"@appbaseio/reactivesearch/lib/components/basic/ReactiveComponent\";\n\nimport { useReactifySearchContext } from \"../../hooks\";\n\nexport const SensorCollection: React.FC = () => {\n const { options } = useReactifySearchContext();\n\n if (options.mode !== \"collection\") {\n return null;\n }\n\n return (\n <ReactiveComponent\n componentId=\"SensorCollection\"\n customQuery={() => ({\n query: {\n bool: {\n should: [\n {\n nested: {\n path: \"collections\",\n query: {\n term: {\n \"collections.handle.keyword\": options.collection.handle,\n },\n },\n },\n },\n {\n nested: {\n path: \"curations\",\n query: {\n term: {\n \"curations.collectionHandle.keyword\": options.collection.handle,\n },\n },\n },\n },\n ],\n },\n },\n })}\n />\n );\n};\n"]}
1
+ {"version":3,"file":"SensorCollection.js","sourceRoot":"","sources":["../../../../src/components/Sensor/SensorCollection.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,yHAAiG;AAEjG,uCAAuD;AAEhD,MAAM,gBAAgB,GAAa,GAAG,EAAE;IAC7C,MAAM,EAAE,OAAO,EAAE,GAAG,IAAA,gCAAwB,GAAE,CAAC;IAE/C,IAAI,OAAO,CAAC,IAAI,KAAK,YAAY,EAAE;QACjC,OAAO,IAAI,CAAC;KACb;IAED,OAAO,CACL,8BAAC,2BAAiB,IAChB,WAAW,EAAC,kBAAkB,EAC9B,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;YAClB,KAAK,EAAE;gBACL,IAAI,EAAE;oBACJ,MAAM,EAAE;wBACN;4BACE,MAAM,EAAE;gCACN,IAAI,EAAE,aAAa;gCACnB,KAAK,EAAE;oCACL,IAAI,EAAE;wCACJ,4BAA4B,EAAE,OAAO,CAAC,gBAAgB;qCACvD;iCACF;6BACF;yBACF;wBACD;4BACE,MAAM,EAAE;gCACN,IAAI,EAAE,WAAW;gCACjB,KAAK,EAAE;oCACL,IAAI,EAAE;wCACJ,oCAAoC,EAClC,OAAO,CAAC,gBAAgB;qCAC3B;iCACF;6BACF;yBACF;qBACF;iBACF;aACF;SACF,CAAC,GACF,CACH,CAAC;AACJ,CAAC,CAAC;AAzCW,QAAA,gBAAgB,oBAyC3B","sourcesContent":["import React from \"react\";\nimport ReactiveComponent from \"@appbaseio/reactivesearch/lib/components/basic/ReactiveComponent\";\n\nimport { useReactifySearchContext } from \"../../hooks\";\n\nexport const SensorCollection: React.FC = () => {\n const { options } = useReactifySearchContext();\n\n if (options.mode !== \"collection\") {\n return null;\n }\n\n return (\n <ReactiveComponent\n componentId=\"SensorCollection\"\n customQuery={() => ({\n query: {\n bool: {\n should: [\n {\n nested: {\n path: \"collections\",\n query: {\n term: {\n \"collections.handle.keyword\": options.collectionHandle,\n },\n },\n },\n },\n {\n nested: {\n path: \"curations\",\n query: {\n term: {\n \"curations.collectionHandle.keyword\":\n options.collectionHandle,\n },\n },\n },\n },\n ],\n },\n },\n })}\n />\n );\n};\n"]}
@@ -8,7 +8,7 @@ const react_1 = __importDefault(require("react"));
8
8
  const ReactiveComponent_1 = __importDefault(require("@appbaseio/reactivesearch/lib/components/basic/ReactiveComponent"));
9
9
  const hooks_1 = require("../../hooks");
10
10
  const SensorInventoryAvailable = () => {
11
- const { filterStack } = (0, hooks_1.useFilterStack)();
11
+ const { filterStack } = (0, hooks_1.useFilters)();
12
12
  if (!filterStack || "show_all" === filterStack.inventoryVisibility)
13
13
  return null;
14
14
  return (react_1.default.createElement(ReactiveComponent_1.default, { componentId: "SensorInventoryAvailable", customQuery: () => ({
@@ -1 +1 @@
1
- {"version":3,"file":"SensorInventoryAvailable.js","sourceRoot":"","sources":["../../../../src/components/Sensor/SensorInventoryAvailable.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,yHAAiG;AAEjG,uCAA6C;AAEtC,MAAM,wBAAwB,GAAa,GAAG,EAAE;IACrD,MAAM,EAAE,WAAW,EAAE,GAAG,IAAA,sBAAc,GAAE,CAAC;IAEzC,IAAI,CAAC,WAAW,IAAI,UAAU,KAAK,WAAW,CAAC,mBAAmB;QAChE,OAAO,IAAI,CAAC;IAEd,OAAO,CACL,8BAAC,2BAAiB,IAChB,WAAW,EAAC,0BAA0B,EACtC,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;YAClB,KAAK,EAAE;gBACL,IAAI,EAAE;oBACJ,MAAM,EAAE;wBACN;4BACE,IAAI,EAAE;gCACJ,IAAI,EAAE;oCACJ;wCACE,IAAI,EAAE;4CACJ,IAAI,EAAE;gDACJ,KAAK,EAAE,SAAS;6CACjB;yCACF;qCACF;oCACD;wCACE,MAAM,EAAE;4CACN,IAAI,EAAE,UAAU;4CAChB,KAAK,EAAE;gDACL,KAAK,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE;6CACtC;yCACF;qCACF;iCACF;6BACF;yBACF;wBACD;4BACE,IAAI,EAAE;gCACJ,IAAI,EAAE;oCACJ,KAAK,EAAE,SAAS;iCACjB;6BACF;yBACF;qBACF;oBACD,oBAAoB,EAAE,GAAG;iBAC1B;aACF;SACF,CAAC,GACF,CACH,CAAC;AACJ,CAAC,CAAC;AAhDW,QAAA,wBAAwB,4BAgDnC","sourcesContent":["import React from \"react\";\nimport ReactiveComponent from \"@appbaseio/reactivesearch/lib/components/basic/ReactiveComponent\";\n\nimport { useFilterStack } from \"../../hooks\";\n\nexport const SensorInventoryAvailable: React.FC = () => {\n const { filterStack } = useFilterStack();\n\n if (!filterStack || \"show_all\" === filterStack.inventoryVisibility)\n return null;\n\n return (\n <ReactiveComponent\n componentId=\"SensorInventoryAvailable\"\n customQuery={() => ({\n query: {\n bool: {\n should: [\n {\n bool: {\n must: [\n {\n term: {\n type: {\n value: \"product\",\n },\n },\n },\n {\n nested: {\n path: \"variants\",\n query: {\n match: { \"variants.available\": true },\n },\n },\n },\n ],\n },\n },\n {\n term: {\n type: {\n value: \"callout\",\n },\n },\n },\n ],\n minimum_should_match: \"1\",\n },\n },\n })}\n />\n );\n};\n"]}
1
+ {"version":3,"file":"SensorInventoryAvailable.js","sourceRoot":"","sources":["../../../../src/components/Sensor/SensorInventoryAvailable.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,yHAAiG;AAEjG,uCAAyC;AAElC,MAAM,wBAAwB,GAAa,GAAG,EAAE;IACrD,MAAM,EAAE,WAAW,EAAE,GAAG,IAAA,kBAAU,GAAE,CAAC;IAErC,IAAI,CAAC,WAAW,IAAI,UAAU,KAAK,WAAW,CAAC,mBAAmB;QAChE,OAAO,IAAI,CAAC;IAEd,OAAO,CACL,8BAAC,2BAAiB,IAChB,WAAW,EAAC,0BAA0B,EACtC,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;YAClB,KAAK,EAAE;gBACL,IAAI,EAAE;oBACJ,MAAM,EAAE;wBACN;4BACE,IAAI,EAAE;gCACJ,IAAI,EAAE;oCACJ;wCACE,IAAI,EAAE;4CACJ,IAAI,EAAE;gDACJ,KAAK,EAAE,SAAS;6CACjB;yCACF;qCACF;oCACD;wCACE,MAAM,EAAE;4CACN,IAAI,EAAE,UAAU;4CAChB,KAAK,EAAE;gDACL,KAAK,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE;6CACtC;yCACF;qCACF;iCACF;6BACF;yBACF;wBACD;4BACE,IAAI,EAAE;gCACJ,IAAI,EAAE;oCACJ,KAAK,EAAE,SAAS;iCACjB;6BACF;yBACF;qBACF;oBACD,oBAAoB,EAAE,GAAG;iBAC1B;aACF;SACF,CAAC,GACF,CACH,CAAC;AACJ,CAAC,CAAC;AAhDW,QAAA,wBAAwB,4BAgDnC","sourcesContent":["import React from \"react\";\nimport ReactiveComponent from \"@appbaseio/reactivesearch/lib/components/basic/ReactiveComponent\";\n\nimport { useFilters } from \"../../hooks\";\n\nexport const SensorInventoryAvailable: React.FC = () => {\n const { filterStack } = useFilters();\n\n if (!filterStack || \"show_all\" === filterStack.inventoryVisibility)\n return null;\n\n return (\n <ReactiveComponent\n componentId=\"SensorInventoryAvailable\"\n customQuery={() => ({\n query: {\n bool: {\n should: [\n {\n bool: {\n must: [\n {\n term: {\n type: {\n value: \"product\",\n },\n },\n },\n {\n nested: {\n path: \"variants\",\n query: {\n match: { \"variants.available\": true },\n },\n },\n },\n ],\n },\n },\n {\n term: {\n type: {\n value: \"callout\",\n },\n },\n },\n ],\n minimum_should_match: \"1\",\n },\n },\n })}\n />\n );\n};\n"]}
@@ -5,18 +5,22 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.SensorSearch = void 0;
7
7
  const react_1 = __importDefault(require("react"));
8
+ const ahooks_1 = require("ahooks");
8
9
  const DataSearch_1 = __importDefault(require("@appbaseio/reactivesearch/lib/components/search/DataSearch"));
9
10
  const hooks_1 = require("../../hooks");
10
11
  const SensorSearch = () => {
11
12
  const { config } = (0, hooks_1.useReactifySearchContext)();
12
- const { searchQuery } = (0, hooks_1.useSearch)();
13
+ const { searchTerm } = (0, hooks_1.useSearch)();
13
14
  // ignore search fields only set for instant search
14
15
  const searchFields = react_1.default.useMemo(() => config.fields.filter((field) => ["always_search", "search_page"].includes(field.searchType)), [config.fields]);
15
- if (!searchQuery || !searchFields.length) {
16
+ const debouncedSearchTerm = (0, ahooks_1.useDebounce)(searchTerm, {
17
+ wait: 300,
18
+ });
19
+ if (!searchTerm || !searchFields.length) {
16
20
  return null;
17
21
  }
18
22
  return (react_1.default.createElement(react_1.default.Fragment, null,
19
- react_1.default.createElement(DataSearch_1.default, { fuzziness: 1, queryFormat: "and", autosuggest: false, value: searchQuery, componentId: "SensorSearch", style: { display: "none" }, dataField: searchFields.map((field) => field.field), fieldWeights: searchFields.map((field) => field.importance), customQuery: (value, props) => {
23
+ react_1.default.createElement(DataSearch_1.default, { fuzziness: 1, queryFormat: "and", autosuggest: false, value: debouncedSearchTerm, componentId: "SensorSearch", style: { display: "none" }, dataField: searchFields.map((field) => field.field), fieldWeights: searchFields.map((field) => field.importance), customQuery: (value, props) => {
20
24
  const { dataField, fieldWeights } = props;
21
25
  const fieldsCrossFields = dataField.map((field, index) => `${field}^${fieldWeights[index]}`);
22
26
  const fieldsPhrase = dataField.map((field, index) => `${field}^${fieldWeights[index]}`);
@@ -1 +1 @@
1
- {"version":3,"file":"SensorSearch.js","sourceRoot":"","sources":["../../../../src/components/Sensor/SensorSearch.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\nimport DataSearch from \"@appbaseio/reactivesearch/lib/components/search/DataSearch\";\n\nimport { useReactifySearchContext, useSearch } from \"../../hooks\";\n\nexport const SensorSearch: React.FC = () => {\n const { config } = useReactifySearchContext();\n const { searchQuery } = useSearch();\n\n // ignore search fields only set for instant search\n const searchFields = React.useMemo(\n () =>\n config.fields.filter((field) =>\n [\"always_search\", \"search_page\"].includes(field.searchType)\n ),\n [config.fields]\n );\n\n if (!searchQuery || !searchFields.length) {\n return null;\n }\n\n return (\n <>\n <DataSearch\n fuzziness={1}\n queryFormat=\"and\"\n autosuggest={false}\n value={searchQuery}\n componentId=\"SensorSearch\"\n style={{ display: \"none\" }}\n dataField={searchFields.map((field) => field.field)}\n fieldWeights={searchFields.map((field) => field.importance)}\n customQuery={(value, props) => {\n const { dataField, fieldWeights } = props;\n\n const fieldsCrossFields = dataField.map(\n (field: string, index: number) => `${field}^${fieldWeights[index]}`\n );\n const fieldsPhrase = dataField.map(\n (field: string, index: number) => `${field}^${fieldWeights[index]}`\n );\n const fieldsPhrasePrefix = dataField\n .filter((field: string) => !field.includes(\".\"))\n .map(\n (field: string, index: number) =>\n `${field}^${fieldWeights[index]}`\n );\n\n const query = {\n bool: {\n should: [\n {\n nested: {\n path: \"curations\",\n query: {\n term: {\n \"curations.searchTerm.keyword\": value?.toLowerCase(),\n },\n },\n },\n },\n ...(fieldsCrossFields.length > 0\n ? [\n {\n multi_match: {\n query: value,\n fields: fieldsCrossFields,\n type: \"cross_fields\",\n operator: \"and\",\n },\n },\n ]\n : []),\n ...(fieldsPhrase.length > 0\n ? [\n {\n multi_match: {\n query: value,\n fields: fieldsPhrase,\n type: \"phrase\",\n operator: \"and\",\n },\n },\n ]\n : []),\n ...(fieldsPhrasePrefix.length > 0\n ? [\n {\n multi_match: {\n query: value,\n fields: fieldsPhrasePrefix,\n type: \"phrase_prefix\",\n operator: \"and\",\n },\n },\n ]\n : []),\n ],\n minimum_should_match: \"1\",\n },\n };\n return { query };\n }}\n />\n </>\n );\n};\n"]}
1
+ {"version":3,"file":"SensorSearch.js","sourceRoot":"","sources":["../../../../src/components/Sensor/SensorSearch.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\nimport { useDebounce } from \"ahooks\";\nimport DataSearch from \"@appbaseio/reactivesearch/lib/components/search/DataSearch\";\n\nimport { useReactifySearchContext, useSearch } from \"../../hooks\";\n\nexport const SensorSearch: React.FC = () => {\n const { config } = useReactifySearchContext();\n const { searchTerm } = useSearch();\n\n // ignore search fields only set for instant search\n const searchFields = React.useMemo(\n () =>\n config.fields.filter((field) =>\n [\"always_search\", \"search_page\"].includes(field.searchType)\n ),\n [config.fields]\n );\n\n const debouncedSearchTerm = useDebounce(searchTerm, {\n wait: 300,\n });\n\n if (!searchTerm || !searchFields.length) {\n return null;\n }\n\n return (\n <>\n <DataSearch\n fuzziness={1}\n queryFormat=\"and\"\n autosuggest={false}\n value={debouncedSearchTerm}\n componentId=\"SensorSearch\"\n style={{ display: \"none\" }}\n dataField={searchFields.map((field) => field.field)}\n fieldWeights={searchFields.map((field) => field.importance)}\n customQuery={(value, props) => {\n const { dataField, fieldWeights } = props;\n\n const fieldsCrossFields = dataField.map(\n (field: string, index: number) => `${field}^${fieldWeights[index]}`\n );\n const fieldsPhrase = dataField.map(\n (field: string, index: number) => `${field}^${fieldWeights[index]}`\n );\n const fieldsPhrasePrefix = dataField\n .filter((field: string) => !field.includes(\".\"))\n .map(\n (field: string, index: number) =>\n `${field}^${fieldWeights[index]}`\n );\n\n const query = {\n bool: {\n should: [\n {\n nested: {\n path: \"curations\",\n query: {\n term: {\n \"curations.searchTerm.keyword\": value?.toLowerCase(),\n },\n },\n },\n },\n ...(fieldsCrossFields.length > 0\n ? [\n {\n multi_match: {\n query: value,\n fields: fieldsCrossFields,\n type: \"cross_fields\",\n operator: \"and\",\n },\n },\n ]\n : []),\n ...(fieldsPhrase.length > 0\n ? [\n {\n multi_match: {\n query: value,\n fields: fieldsPhrase,\n type: \"phrase\",\n operator: \"and\",\n },\n },\n ]\n : []),\n ...(fieldsPhrasePrefix.length > 0\n ? [\n {\n multi_match: {\n query: value,\n fields: fieldsPhrasePrefix,\n type: \"phrase_prefix\",\n operator: \"and\",\n },\n },\n ]\n : []),\n ],\n minimum_should_match: \"1\",\n },\n };\n return { query };\n }}\n />\n </>\n );\n};\n"]}
@@ -11,14 +11,14 @@ const SensorSort = () => {
11
11
  const { options, config } = (0, hooks_1.useReactifySearchContext)();
12
12
  const curation = (0, hooks_1.useCuration)();
13
13
  const globalCuration = (curation === null || curation === void 0 ? void 0 : curation.id) === "global";
14
- const { sortOption } = (0, hooks_1.useSortby)();
14
+ const { sortOption } = (0, hooks_1.useSortBy)();
15
15
  const { sort, query } = react_1.default.useMemo(() => {
16
16
  return {
17
17
  sort: buildSort({
18
- sortOption,
19
- collection: options.mode === "collection" ? options.collection : undefined,
20
- curation,
21
18
  globalCuration,
19
+ curation,
20
+ sortOption,
21
+ collectionHandle: options.mode === "collection" ? options.collectionHandle : undefined,
22
22
  }),
23
23
  query: buildQuery({
24
24
  sortOption,
@@ -35,11 +35,11 @@ const SensorSort = () => {
35
35
  exports.SensorSort = SensorSort;
36
36
  const buildSort = (args) => {
37
37
  var _a;
38
- const { curation, sortOption, collection, globalCuration } = args;
38
+ const { curation, sortOption, collectionHandle, globalCuration } = args;
39
39
  // return default sort option if unset
40
40
  if (!sortOption) {
41
- return collection
42
- ? mapCollectionPositionSortClause(collection)
41
+ return collectionHandle
42
+ ? mapCollectionPositionSortClause(collectionHandle)
43
43
  : ["_score"];
44
44
  }
45
45
  // curation positions are only applied for the default `collections.position` or `_score` sort
@@ -49,14 +49,14 @@ const buildSort = (args) => {
49
49
  }
50
50
  // no matching curation, return default sort clause
51
51
  if (!curation) {
52
- return collection
53
- ? mapCollectionPositionSortClause(collection)
52
+ return collectionHandle
53
+ ? mapCollectionPositionSortClause(collectionHandle)
54
54
  : ["_score"];
55
55
  }
56
56
  const sorts = [];
57
57
  // show pins first
58
- if (globalCuration && collection) {
59
- sorts.push(...mapCollectionPositionSortClause(collection));
58
+ if (globalCuration && collectionHandle) {
59
+ sorts.push(...mapCollectionPositionSortClause(collectionHandle));
60
60
  }
61
61
  else {
62
62
  sorts.push({
@@ -118,7 +118,7 @@ const buildSort = (args) => {
118
118
  /**
119
119
  * Return a sort clause which sorts by position within the given collection.
120
120
  */
121
- function mapCollectionPositionSortClause(collection) {
121
+ function mapCollectionPositionSortClause(collectionHandle) {
122
122
  return [
123
123
  {
124
124
  "collections.position": {
@@ -127,7 +127,7 @@ function mapCollectionPositionSortClause(collection) {
127
127
  path: "collections",
128
128
  filter: {
129
129
  term: {
130
- "collections.handle.keyword": collection.handle,
130
+ "collections.handle.keyword": collectionHandle,
131
131
  },
132
132
  },
133
133
  },
@@ -1 +1 @@
1
- {"version":3,"file":"SensorSort.js","sourceRoot":"","sources":["../../../../src/components/Sensor/SensorSort.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,yHAAiG;AAGjG,uCAA+E;AAExE,MAAM,UAAU,GAAa,GAAG,EAAE;IACvC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAA,gCAAwB,GAAE,CAAC;IACvD,MAAM,QAAQ,GAAG,IAAA,mBAAW,GAAE,CAAC;IAC/B,MAAM,cAAc,GAAG,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,EAAE,MAAK,QAAQ,CAAC;IAEjD,MAAM,EAAE,UAAU,EAAE,GAAG,IAAA,iBAAS,GAAE,CAAC;IAEnC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,eAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACzC,OAAO;YACL,IAAI,EAAE,SAAS,CAAC;gBACd,UAAU;gBACV,UAAU,EAAE,OAAO,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;gBAC1E,QAAQ;gBACR,cAAc;aACf,CAAC;YACF,KAAK,EAAE,UAAU,CAAC;gBAChB,UAAU;gBACV,QAAQ;gBACR,cAAc;aACf,CAAC;SACH,CAAC;IACJ,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEnC,OAAO,CACL,8BAAC,2BAAiB,IAChB,WAAW,EAAC,YAAY,EACxB,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;YAClB,IAAI;YACJ,KAAK;SACN,CAAC,GACF,CACH,CAAC;AACJ,CAAC,CAAC;AAhCW,QAAA,UAAU,cAgCrB;AAEF,MAAM,SAAS,GAAG,CAAC,IASlB,EAAS,EAAE;;IACV,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;IAElE,sCAAsC;IACtC,IAAI,CAAC,UAAU,EAAE;QACf,OAAO,UAAU;YACf,CAAC,CAAC,+BAA+B,CAAC,UAAU,CAAC;YAC7C,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;KAChB;IAED,8FAA8F;IAC9F,+FAA+F;IAC/F,IAAI,CAAC,CAAC,QAAQ,EAAE,sBAAsB,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;QAClE,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC;KACvD;IAED,mDAAmD;IACnD,IAAI,CAAC,QAAQ,EAAE;QACb,OAAO,UAAU;YACf,CAAC,CAAC,+BAA+B,CAAC,UAAU,CAAC;YAC7C,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;KAChB;IAED,MAAM,KAAK,GAAG,EAAE,CAAC;IAEjB,kBAAkB;IAClB,IAAI,cAAc,IAAI,UAAU,EAAE;QAChC,KAAK,CAAC,IAAI,CAAC,GAAG,+BAA+B,CAAC,UAAU,CAAC,CAAC,CAAC;KAC5D;SAAM;QACL,KAAK,CAAC,IAAI,CAAC;YACT,oBAAoB,EAAE;gBACpB,aAAa,EAAE,MAAM;gBACrB,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE;oBACN,IAAI,EAAE,WAAW;oBACjB,MAAM,EAAE;wBACN,IAAI,EAAE;4BACJ,CAAC,aACC,YAAY,KAAK,QAAQ,CAAC,IAAI;gCAC5B,CAAC,CAAC,kBAAkB;gCACpB,CAAC,CAAC,YACN,UAAU,CAAC,EACT,YAAY,KAAK,QAAQ,CAAC,IAAI;gCAC5B,CAAC,CAAC,QAAQ,CAAC,gBAAgB;gCAC3B,CAAC,CAAC,MAAA,QAAQ,CAAC,UAAU,0CAAE,WAAW,EAAE;yBACzC;qBACF;iBACF;aACF;SACF,CAAC,CAAC;KACJ;IAED,IAAI,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE;QAC1C,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAC1D,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACjC,CAAC;QAEF,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;YAChC,IAAI;gBACF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBACzC,IAAI,KAAK;oBAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAC9B;YAAC,WAAM;gBACN,OAAO,CAAC,KAAK,CAAC,8CAA8C,EAAE,QAAQ,CAAC,CAAC;aACzE;SACF;KACF;IAED,IAAI,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE;QACzC,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACxD,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACjC,CAAC;QAEF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;YAC9B,IAAI;gBACF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACxC,IAAI,KAAK;oBAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAC9B;YAAC,WAAM;gBACN,OAAO,CAAC,KAAK,CAAC,6CAA6C,EAAE,OAAO,CAAC,CAAC;aACvE;SACF;KACF;IAED,2FAA2F;IAC3F,qBAAqB;IACrB,IAAI,YAAY,KAAK,QAAQ,CAAC,IAAI,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;QACxD,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KACpB;IAED,qCAAqC;IACrC,IAAI,QAAQ,KAAK,QAAQ,CAAC,IAAI,EAAE;QAC9B,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KACtB;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF;;GAEG;AACH,SAAS,+BAA+B,CACtC,UAIE;IAEF,OAAO;QACL;YACE,sBAAsB,EAAE;gBACtB,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE;oBACN,IAAI,EAAE,aAAa;oBACnB,MAAM,EAAE;wBACN,IAAI,EAAE;4BACJ,4BAA4B,EAAE,UAAU,CAAC,MAAM;yBAChD;qBACF;iBACF;aACF;SACF;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,IAInB,EAAmC,EAAE;;IACpC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;IAEtD,IAAI,CAAC,QAAQ,IAAI,cAAc,EAAE;QAC/B,OAAO,SAAS,CAAC;KAClB;IAED,OAAO;QACL,IAAI,EAAE;YACJ,QAAQ,EAAE;gBACR;oBACE,MAAM,EAAE;wBACN,IAAI,EAAE,WAAW;wBACjB,KAAK,EAAE;4BACL,IAAI,EAAE;gCACJ,IAAI,EAAE;oCACJ;wCACE,IAAI,EAAE;4CACJ,CAAC,aACC,YAAY,KAAK,QAAQ,CAAC,IAAI;gDAC5B,CAAC,CAAC,kBAAkB;gDACpB,CAAC,CAAC,YACN,UAAU,CAAC,EACT,YAAY,KAAK,QAAQ,CAAC,IAAI;gDAC5B,CAAC,CAAC,QAAQ,CAAC,gBAAgB;gDAC3B,CAAC,CAAC,MAAA,QAAQ,CAAC,UAAU,0CAAE,WAAW,EAAE;yCACzC;qCACF;oCACD;wCACE,IAAI,EAAE;4CACJ,kBAAkB,EAAE,IAAI;yCACzB;qCACF;iCACF;6BACF;yBACF;qBACF;iBACF;gBACD,kEAAkE;gBAClE,GAAG,CAAC,UAAU;oBACd,CAAC,CAAC,QAAQ,EAAE,sBAAsB,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC;oBAC5D,CAAC,CAAC;wBACE;4BACE,IAAI,EAAE;gCACJ,IAAI,EAAE,SAAS;6BAChB;yBACF;qBACF;oBACH,CAAC,CAAC,EAAE,CAAC;aACR;SACF;KACF,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import React from \"react\";\nimport ReactiveComponent from \"@appbaseio/reactivesearch/lib/components/basic/ReactiveComponent\";\n\nimport { ConfigCuration, ConfigSort } from \"../../types\";\nimport { useReactifySearchContext, useSortby, useCuration } from \"../../hooks\";\n\nexport const SensorSort: React.FC = () => {\n const { options, config } = useReactifySearchContext();\n const curation = useCuration();\n const globalCuration = curation?.id === \"global\";\n\n const { sortOption } = useSortby();\n\n const { sort, query } = React.useMemo(() => {\n return {\n sort: buildSort({\n sortOption,\n collection: options.mode === \"collection\" ? options.collection : undefined,\n curation,\n globalCuration,\n }),\n query: buildQuery({\n sortOption,\n curation,\n globalCuration,\n }),\n };\n }, [config, sortOption, curation]);\n\n return (\n <ReactiveComponent\n componentId=\"SensorSort\"\n customQuery={() => ({\n sort,\n query,\n })}\n />\n );\n};\n\nconst buildSort = (args: {\n globalCuration?: boolean;\n sortOption?: ConfigSort;\n curation?: ConfigCuration;\n collection?: {\n id: number;\n title: string;\n handle: string;\n };\n}): any[] => {\n const { curation, sortOption, collection, globalCuration } = args;\n\n // return default sort option if unset\n if (!sortOption) {\n return collection\n ? mapCollectionPositionSortClause(collection)\n : [\"_score\"];\n }\n\n // curation positions are only applied for the default `collections.position` or `_score` sort\n // if the sort is something else, apply a normal sort which applies what the user has requested\n if (![\"_score\", \"collections.position\"].includes(sortOption.field)) {\n return [{ [sortOption.field]: sortOption.direction }];\n }\n\n // no matching curation, return default sort clause\n if (!curation) {\n return collection\n ? mapCollectionPositionSortClause(collection)\n : [\"_score\"];\n }\n\n const sorts = [];\n\n // show pins first\n if (globalCuration && collection) {\n sorts.push(...mapCollectionPositionSortClause(collection));\n } else {\n sorts.push({\n \"curations.position\": {\n unmapped_type: \"long\",\n order: \"asc\",\n nested: {\n path: \"curations\",\n filter: {\n term: {\n [`curations.${\n \"collection\" === curation.type\n ? \"collectionHandle\"\n : \"searchTerm\"\n }.keyword`]:\n \"collection\" === curation.type\n ? curation.collectionHandle\n : curation.searchTerm?.toLowerCase(),\n },\n },\n },\n },\n });\n }\n\n if (0 < curation.boosting.groupings.length) {\n const groupings = curation.boosting.groupings.sort((a, b) =>\n a.position > b.position ? 1 : -1\n );\n\n for (const grouping of groupings) {\n try {\n const query = JSON.parse(grouping.query);\n if (query) sorts.push(query);\n } catch {\n console.error(`query could not be parsed for boost grouping`, grouping);\n }\n }\n }\n\n if (0 < curation.boosting.sortings.length) {\n const sortings = curation.boosting.sortings.sort((a, b) =>\n a.position > b.position ? 1 : -1\n );\n\n for (const sorting of sortings) {\n try {\n const query = JSON.parse(sorting.query);\n if (query) sorts.push(query);\n } catch {\n console.error(`query could not be parsed for boost sorting`, sorting);\n }\n }\n }\n\n // finally, for collections, if no other sorting is defined, sort by index order to provide\n // a consistent order\n if (\"collection\" === curation.type && sorts.length === 0) {\n sorts.push(\"_doc\");\n }\n\n // finally, for search, sort by score\n if (\"search\" === curation.type) {\n sorts.push(\"_score\");\n }\n\n return sorts;\n};\n\n/**\n * Return a sort clause which sorts by position within the given collection.\n */\nfunction mapCollectionPositionSortClause(\n collection: NonNullable<{\n id: number;\n title: string;\n handle: string;\n }>\n) {\n return [\n {\n \"collections.position\": {\n order: \"asc\",\n nested: {\n path: \"collections\",\n filter: {\n term: {\n \"collections.handle.keyword\": collection.handle,\n },\n },\n },\n },\n },\n ];\n}\n\nconst buildQuery = (args: {\n sortOption?: ConfigSort;\n curation?: ConfigCuration;\n globalCuration?: boolean;\n}): Record<string, any> | undefined => {\n const { curation, sortOption, globalCuration } = args;\n\n if (!curation || globalCuration) {\n return undefined;\n }\n\n return {\n bool: {\n must_not: [\n {\n nested: {\n path: \"curations\",\n query: {\n bool: {\n must: [\n {\n term: {\n [`curations.${\n \"collection\" === curation.type\n ? \"collectionHandle\"\n : \"searchTerm\"\n }.keyword`]:\n \"collection\" === curation.type\n ? curation.collectionHandle\n : curation.searchTerm?.toLowerCase(),\n },\n },\n {\n term: {\n \"curations.hidden\": true,\n },\n },\n ],\n },\n },\n },\n },\n // hide callout when not sorting by _score or collections.position\n ...(sortOption &&\n ![\"_score\", \"collections.position\"].includes(sortOption.field)\n ? [\n {\n term: {\n type: \"callout\",\n },\n },\n ]\n : []),\n ],\n },\n };\n};\n"]}
1
+ {"version":3,"file":"SensorSort.js","sourceRoot":"","sources":["../../../../src/components/Sensor/SensorSort.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\nimport ReactiveComponent from \"@appbaseio/reactivesearch/lib/components/basic/ReactiveComponent\";\n\nimport { ConfigCuration, ConfigSort } from \"../../types\";\nimport { useReactifySearchContext, useSortBy, useCuration } from \"../../hooks\";\n\nexport const SensorSort: React.FC = () => {\n const { options, config } = useReactifySearchContext();\n const curation = useCuration();\n const globalCuration = curation?.id === \"global\";\n\n const { sortOption } = useSortBy();\n\n const { sort, query } = React.useMemo(() => {\n return {\n sort: buildSort({\n globalCuration,\n curation,\n sortOption,\n collectionHandle:\n options.mode === \"collection\" ? options.collectionHandle : undefined,\n }),\n query: buildQuery({\n sortOption,\n curation,\n globalCuration,\n }),\n };\n }, [config, sortOption, curation]);\n\n return (\n <ReactiveComponent\n componentId=\"SensorSort\"\n customQuery={() => ({\n sort,\n query,\n })}\n />\n );\n};\n\nconst buildSort = (args: {\n globalCuration?: boolean;\n curation?: ConfigCuration;\n sortOption?: ConfigSort;\n collectionHandle?: string;\n}): any[] => {\n const { curation, sortOption, collectionHandle, globalCuration } = args;\n\n // return default sort option if unset\n if (!sortOption) {\n return collectionHandle\n ? mapCollectionPositionSortClause(collectionHandle)\n : [\"_score\"];\n }\n\n // curation positions are only applied for the default `collections.position` or `_score` sort\n // if the sort is something else, apply a normal sort which applies what the user has requested\n if (![\"_score\", \"collections.position\"].includes(sortOption.field)) {\n return [{ [sortOption.field]: sortOption.direction }];\n }\n\n // no matching curation, return default sort clause\n if (!curation) {\n return collectionHandle\n ? mapCollectionPositionSortClause(collectionHandle)\n : [\"_score\"];\n }\n\n const sorts = [];\n\n // show pins first\n if (globalCuration && collectionHandle) {\n sorts.push(...mapCollectionPositionSortClause(collectionHandle));\n } else {\n sorts.push({\n \"curations.position\": {\n unmapped_type: \"long\",\n order: \"asc\",\n nested: {\n path: \"curations\",\n filter: {\n term: {\n [`curations.${\n \"collection\" === curation.type\n ? \"collectionHandle\"\n : \"searchTerm\"\n }.keyword`]:\n \"collection\" === curation.type\n ? curation.collectionHandle\n : curation.searchTerm?.toLowerCase(),\n },\n },\n },\n },\n });\n }\n\n if (0 < curation.boosting.groupings.length) {\n const groupings = curation.boosting.groupings.sort((a, b) =>\n a.position > b.position ? 1 : -1\n );\n\n for (const grouping of groupings) {\n try {\n const query = JSON.parse(grouping.query);\n if (query) sorts.push(query);\n } catch {\n console.error(`query could not be parsed for boost grouping`, grouping);\n }\n }\n }\n\n if (0 < curation.boosting.sortings.length) {\n const sortings = curation.boosting.sortings.sort((a, b) =>\n a.position > b.position ? 1 : -1\n );\n\n for (const sorting of sortings) {\n try {\n const query = JSON.parse(sorting.query);\n if (query) sorts.push(query);\n } catch {\n console.error(`query could not be parsed for boost sorting`, sorting);\n }\n }\n }\n\n // finally, for collections, if no other sorting is defined, sort by index order to provide\n // a consistent order\n if (\"collection\" === curation.type && sorts.length === 0) {\n sorts.push(\"_doc\");\n }\n\n // finally, for search, sort by score\n if (\"search\" === curation.type) {\n sorts.push(\"_score\");\n }\n\n return sorts;\n};\n\n/**\n * Return a sort clause which sorts by position within the given collection.\n */\nfunction mapCollectionPositionSortClause(collectionHandle: string) {\n return [\n {\n \"collections.position\": {\n order: \"asc\",\n nested: {\n path: \"collections\",\n filter: {\n term: {\n \"collections.handle.keyword\": collectionHandle,\n },\n },\n },\n },\n },\n ];\n}\n\nconst buildQuery = (args: {\n sortOption?: ConfigSort;\n curation?: ConfigCuration;\n globalCuration?: boolean;\n}): Record<string, any> | undefined => {\n const { curation, sortOption, globalCuration } = args;\n\n if (!curation || globalCuration) {\n return undefined;\n }\n\n return {\n bool: {\n must_not: [\n {\n nested: {\n path: \"curations\",\n query: {\n bool: {\n must: [\n {\n term: {\n [`curations.${\n \"collection\" === curation.type\n ? \"collectionHandle\"\n : \"searchTerm\"\n }.keyword`]:\n \"collection\" === curation.type\n ? curation.collectionHandle\n : curation.searchTerm?.toLowerCase(),\n },\n },\n {\n term: {\n \"curations.hidden\": true,\n },\n },\n ],\n },\n },\n },\n },\n // hide callout when not sorting by _score or collections.position\n ...(sortOption &&\n ![\"_score\", \"collections.position\"].includes(sortOption.field)\n ? [\n {\n term: {\n type: \"callout\",\n },\n },\n ]\n : []),\n ],\n },\n };\n};\n"]}
@@ -0,0 +1,3 @@
1
+ import React from "react";
2
+ export declare type SensorsProps = {};
3
+ export declare const Sensors: React.FC<SensorsProps>;
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.SensorStack = void 0;
6
+ exports.Sensors = void 0;
7
7
  const react_1 = __importDefault(require("react"));
8
8
  const hooks_1 = require("../../hooks");
9
9
  const SensorSort_1 = require("./SensorSort");
@@ -12,7 +12,7 @@ const SensorSortScore_1 = require("./SensorSortScore");
12
12
  const SensorPublished_1 = require("./SensorPublished");
13
13
  const SensorCollection_1 = require("./SensorCollection");
14
14
  const SensorInventoryAvailable_1 = require("./SensorInventoryAvailable");
15
- const SensorStack = () => {
15
+ const Sensors = () => {
16
16
  const { options } = (0, hooks_1.useReactifySearchContext)();
17
17
  // instant search mode
18
18
  if (options.mode === "instant-search") {
@@ -28,5 +28,5 @@ const SensorStack = () => {
28
28
  react_1.default.createElement(SensorCollection_1.SensorCollection, null),
29
29
  react_1.default.createElement(SensorInventoryAvailable_1.SensorInventoryAvailable, null)));
30
30
  };
31
- exports.SensorStack = SensorStack;
32
- //# sourceMappingURL=SensorStack.js.map
31
+ exports.Sensors = Sensors;
32
+ //# sourceMappingURL=Sensors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Sensors.js","sourceRoot":"","sources":["../../../../src/components/Sensor/Sensors.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAE1B,uCAAuD;AAEvD,6CAA0C;AAC1C,iDAA8C;AAC9C,uDAAoD;AACpD,uDAAoD;AACpD,yDAAsD;AACtD,yEAAsE;AAM/D,MAAM,OAAO,GAA2B,GAAG,EAAE;IAClD,MAAM,EAAE,OAAO,EAAE,GAAG,IAAA,gCAAwB,GAAE,CAAC;IAE/C,sBAAsB;IACtB,IAAI,OAAO,CAAC,IAAI,KAAK,gBAAgB,EAAE;QACrC,OAAO,CACL;YACE,8BAAC,iCAAe,OAAG;YACnB,8BAAC,iCAAe,OAAG,CAClB,CACJ,CAAC;KACH;IAED,mBAAmB;IACnB,OAAO,CACL;QACE,8BAAC,uBAAU,OAAG;QACd,8BAAC,2BAAY,OAAG;QAChB,8BAAC,iCAAe,OAAG;QACnB,8BAAC,mCAAgB,OAAG;QACpB,8BAAC,mDAAwB,OAAG,CAC3B,CACJ,CAAC;AACJ,CAAC,CAAC;AAvBW,QAAA,OAAO,WAuBlB","sourcesContent":["import React from \"react\";\n\nimport { useReactifySearchContext } from \"../../hooks\";\n\nimport { SensorSort } from \"./SensorSort\";\nimport { SensorSearch } from \"./SensorSearch\";\nimport { SensorSortScore } from \"./SensorSortScore\";\nimport { SensorPublished } from \"./SensorPublished\";\nimport { SensorCollection } from \"./SensorCollection\";\nimport { SensorInventoryAvailable } from \"./SensorInventoryAvailable\";\n\nexport type SensorsProps = {\n /** This component does not support any props */\n};\n\nexport const Sensors: React.FC<SensorsProps> = () => {\n const { options } = useReactifySearchContext();\n\n // instant search mode\n if (options.mode === \"instant-search\") {\n return (\n <>\n <SensorPublished />\n <SensorSortScore />\n </>\n );\n }\n\n // result grid mode\n return (\n <>\n <SensorSort />\n <SensorSearch />\n <SensorPublished />\n <SensorCollection />\n <SensorInventoryAvailable />\n </>\n );\n};\n"]}
@@ -4,5 +4,5 @@ export * from "./SensorPublished";
4
4
  export * from "./SensorSortScore";
5
5
  export * from "./SensorCollection";
6
6
  export * from "./SensorInventoryAvailable";
7
- export * from "./SensorStack";
7
+ export * from "./Sensors";
8
8
  export declare const SENSOR_IDS: string[];
@@ -17,7 +17,7 @@ __exportStar(require("./SensorPublished"), exports);
17
17
  __exportStar(require("./SensorSortScore"), exports);
18
18
  __exportStar(require("./SensorCollection"), exports);
19
19
  __exportStar(require("./SensorInventoryAvailable"), exports);
20
- __exportStar(require("./SensorStack"), exports);
20
+ __exportStar(require("./Sensors"), exports);
21
21
  // this is consumed by the react prop in various components
22
22
  exports.SENSOR_IDS = [
23
23
  "SensorSort",
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/Sensor/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,iDAA+B;AAC/B,oDAAkC;AAClC,oDAAkC;AAClC,qDAAmC;AACnC,6DAA2C;AAE3C,gDAA8B;AAE9B,2DAA2D;AAC9C,QAAA,UAAU,GAAG;IACxB,YAAY;IACZ,cAAc;IACd,iBAAiB;IACjB,iBAAiB;IACjB,kBAAkB;IAClB,0BAA0B;CAC3B,CAAC","sourcesContent":["export * from \"./SensorSort\";\nexport * from \"./SensorSearch\";\nexport * from \"./SensorPublished\";\nexport * from \"./SensorSortScore\";\nexport * from \"./SensorCollection\";\nexport * from \"./SensorInventoryAvailable\";\n\nexport * from \"./SensorStack\";\n\n// this is consumed by the react prop in various components\nexport const SENSOR_IDS = [\n \"SensorSort\",\n \"SensorSearch\",\n \"SensorSortScore\",\n \"SensorPublished\",\n \"SensorCollection\",\n \"SensorInventoryAvailable\",\n];\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/Sensor/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,iDAA+B;AAC/B,oDAAkC;AAClC,oDAAkC;AAClC,qDAAmC;AACnC,6DAA2C;AAE3C,4CAA0B;AAE1B,2DAA2D;AAC9C,QAAA,UAAU,GAAG;IACxB,YAAY;IACZ,cAAc;IACd,iBAAiB;IACjB,iBAAiB;IACjB,kBAAkB;IAClB,0BAA0B;CAC3B,CAAC","sourcesContent":["export * from \"./SensorSort\";\nexport * from \"./SensorSearch\";\nexport * from \"./SensorPublished\";\nexport * from \"./SensorSortScore\";\nexport * from \"./SensorCollection\";\nexport * from \"./SensorInventoryAvailable\";\n\nexport * from \"./Sensors\";\n\n// this is consumed by the react prop in various components\nexport const SENSOR_IDS = [\n \"SensorSort\",\n \"SensorSearch\",\n \"SensorSortScore\",\n \"SensorPublished\",\n \"SensorCollection\",\n \"SensorInventoryAvailable\",\n];\n"]}
@@ -0,0 +1,7 @@
1
+ import React from "react";
2
+ import { useSortBy } from "../../hooks";
3
+ export declare type SortByProps = {
4
+ /** Render method called once for all sort options */
5
+ render?: React.FC<ReturnType<typeof useSortBy>>;
6
+ };
7
+ export declare const SortBy: React.FC<SortByProps>;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.SortBy = void 0;
7
+ const react_1 = __importDefault(require("react"));
8
+ const hooks_1 = require("../../hooks");
9
+ const components_1 = require("../../components");
10
+ const SortBy = (props) => {
11
+ var _a;
12
+ const sortbyData = (0, hooks_1.useSortBy)();
13
+ const RenderComponent = (_a = props.render) !== null && _a !== void 0 ? _a : components_1.ExampleSortBy;
14
+ return react_1.default.createElement(RenderComponent, Object.assign({}, sortbyData));
15
+ };
16
+ exports.SortBy = SortBy;
17
+ //# sourceMappingURL=SortBy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SortBy.js","sourceRoot":"","sources":["../../../../src/components/SortBy/SortBy.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAE1B,uCAAwC;AACxC,iDAAiD;AAO1C,MAAM,MAAM,GAA0B,CAAC,KAAK,EAAE,EAAE;;IACrD,MAAM,UAAU,GAAG,IAAA,iBAAS,GAAE,CAAC;IAE/B,MAAM,eAAe,GAAG,MAAA,KAAK,CAAC,MAAM,mCAAI,0BAAa,CAAC;IAEtD,OAAO,8BAAC,eAAe,oBAAK,UAAU,EAAI,CAAC;AAC7C,CAAC,CAAC;AANW,QAAA,MAAM,UAMjB","sourcesContent":["import React from \"react\";\n\nimport { useSortBy } from \"../../hooks\";\nimport { ExampleSortBy } from \"../../components\";\n\nexport type SortByProps = {\n /** Render method called once for all sort options */\n render?: React.FC<ReturnType<typeof useSortBy>>;\n};\n\nexport const SortBy: React.FC<SortByProps> = (props) => {\n const sortbyData = useSortBy();\n\n const RenderComponent = props.render ?? ExampleSortBy;\n\n return <RenderComponent {...sortbyData} />;\n};\n"]}
@@ -0,0 +1 @@
1
+ export * from "./SortBy";
@@ -10,5 +10,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
10
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
11
  };
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
- __exportStar(require("./Sortby"), exports);
13
+ __exportStar(require("./SortBy"), exports);
14
14
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/Sortby/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAyB","sourcesContent":["export * from \"./Sortby\";"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/SortBy/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAyB","sourcesContent":["export * from \"./SortBy\";\n"]}