@appbaseio/reactivesearch-vue 1.16.0-alpha.6 → 1.16.0-alpha.62

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 (105) hide show
  1. package/dist/@appbaseio/reactivesearch-vue.umd.js +16030 -13113
  2. package/dist/@appbaseio/reactivesearch-vue.umd.js.map +1 -1
  3. package/dist/@appbaseio/reactivesearch-vue.umd.min.js +5 -5
  4. package/dist/@appbaseio/reactivesearch-vue.umd.min.js.map +1 -1
  5. package/dist/cjs/Button-446f819e.js +68 -0
  6. package/dist/cjs/{DownShift-966a58cb.js → CancelSvg-9f258f4f.js} +60 -16
  7. package/dist/cjs/Card-642547a8.js +30 -0
  8. package/dist/cjs/{ComponentWrapper-603848ed.js → ComponentWrapper-ad3dad02.js} +40 -21
  9. package/dist/cjs/{Container-6cdd3864.js → Container-daf30918.js} +3 -11
  10. package/dist/cjs/DataSearch-86914b10.js +2322 -0
  11. package/dist/cjs/DataSearch.js +18 -2151
  12. package/dist/cjs/{DropDown-f6224ac8.js → DropDown-5513ea77.js} +80 -95
  13. package/dist/cjs/DynamicRangeSlider.js +107 -43
  14. package/dist/cjs/Flex-aa517a13.js +52 -0
  15. package/dist/cjs/FormControlList-c195a592.js +47 -0
  16. package/dist/cjs/Input-e6603a7e.js +79 -0
  17. package/dist/cjs/ListItem-8c9e0d68.js +46 -0
  18. package/dist/cjs/MultiDropdownList.js +102 -68
  19. package/dist/cjs/MultiList.js +80 -50
  20. package/dist/cjs/MultiRange.js +21 -16
  21. package/dist/cjs/{Pagination-af399262.js → Pagination-fe5452fc.js} +14 -8
  22. package/dist/cjs/RangeInput.js +29 -45
  23. package/dist/cjs/RangeSlider.js +32 -30
  24. package/dist/cjs/ReactiveBase.js +87 -56
  25. package/dist/cjs/ReactiveComponent.js +75 -62
  26. package/dist/cjs/ReactiveGoogleMap.js +262 -191
  27. package/dist/cjs/ReactiveList.js +189 -241
  28. package/dist/cjs/ResultCard.js +8 -6
  29. package/dist/cjs/ResultList.js +8 -6
  30. package/dist/cjs/SelectedFilters.js +66 -34
  31. package/dist/cjs/SingleDropdownList.js +88 -60
  32. package/dist/cjs/SingleList.js +53 -35
  33. package/dist/cjs/SingleRange.js +19 -14
  34. package/dist/cjs/StateProvider.js +39 -10
  35. package/dist/cjs/{Title-65d39104.js → Title-1de7d0f4.js} +3 -11
  36. package/dist/cjs/ToggleButton.js +36 -16
  37. package/dist/cjs/{_rollupPluginBabelHelpers-4abdbfff.js → _rollupPluginBabelHelpers-c705cbe6.js} +2 -4
  38. package/dist/cjs/{index-baca18c4.js → index-6a167fe0.js} +99 -13
  39. package/dist/cjs/index.js +31 -25
  40. package/dist/cjs/initReactivesearch.js +178 -104
  41. package/dist/cjs/install-004c6aa4.js +1408 -0
  42. package/dist/cjs/install.js +42 -44
  43. package/dist/cjs/ssr-3027b848.js +39 -0
  44. package/dist/cjs/{utils-ea846a20.js → utils-d6a52588.js} +2 -2
  45. package/dist/cjs/version.js +1 -1
  46. package/dist/cjs/{vueTypes-c21f265b.js → vueTypes-6de9d2a9.js} +9 -4
  47. package/dist/es/Button-d8bc15ea.js +59 -0
  48. package/dist/es/{DownShift-92347b5e.js → CancelSvg-4cfae5fd.js} +56 -17
  49. package/dist/es/Card-450683f1.js +23 -0
  50. package/dist/es/{ComponentWrapper-c4c91949.js → ComponentWrapper-424e86fd.js} +40 -21
  51. package/dist/es/Container-ba826e96.js +10 -0
  52. package/dist/es/DataSearch-e71a1014.js +2307 -0
  53. package/dist/es/DataSearch.js +17 -2150
  54. package/dist/es/{DropDown-3d4291f1.js → DropDown-7d9a15c1.js} +79 -94
  55. package/dist/es/DynamicRangeSlider.js +107 -43
  56. package/dist/es/Flex-1f0795c3.js +47 -0
  57. package/dist/es/FormControlList-c22d64f6.js +40 -0
  58. package/dist/es/Input-7a2a9fac.js +71 -0
  59. package/dist/es/ListItem-cad14c5e.js +39 -0
  60. package/dist/es/MultiDropdownList.js +102 -68
  61. package/dist/es/MultiList.js +80 -50
  62. package/dist/es/MultiRange.js +21 -16
  63. package/dist/es/{Pagination-c2a00175.js → Pagination-3f350098.js} +14 -8
  64. package/dist/es/RangeInput.js +29 -45
  65. package/dist/es/RangeSlider.js +32 -30
  66. package/dist/es/ReactiveBase.js +87 -56
  67. package/dist/es/ReactiveComponent.js +75 -62
  68. package/dist/es/ReactiveGoogleMap.js +262 -191
  69. package/dist/es/ReactiveList.js +189 -241
  70. package/dist/es/ResultCard.js +8 -6
  71. package/dist/es/ResultList.js +8 -6
  72. package/dist/es/SelectedFilters.js +66 -34
  73. package/dist/es/SingleDropdownList.js +88 -60
  74. package/dist/es/SingleList.js +53 -35
  75. package/dist/es/SingleRange.js +19 -14
  76. package/dist/es/StateProvider.js +39 -10
  77. package/dist/es/Title-3342664a.js +10 -0
  78. package/dist/es/ToggleButton.js +36 -16
  79. package/dist/es/{_rollupPluginBabelHelpers-ecf6c03c.js → _rollupPluginBabelHelpers-76660dab.js} +2 -4
  80. package/dist/es/{index-185b6266.js → index-7788a843.js} +95 -14
  81. package/dist/es/index.js +27 -22
  82. package/dist/es/initReactivesearch.js +179 -105
  83. package/dist/es/install-b7b604cc.js +1401 -0
  84. package/dist/es/install.js +40 -46
  85. package/dist/es/ssr-b2c0b401.js +33 -0
  86. package/dist/es/{utils-57cc8789.js → utils-9e68acee.js} +2 -2
  87. package/dist/es/version.js +1 -1
  88. package/dist/es/{vueTypes-98d938a9.js → vueTypes-9326e0be.js} +9 -4
  89. package/package.json +6 -4
  90. package/dist/cjs/Button-d48d4365.js +0 -146
  91. package/dist/cjs/Card-9748fbb2.js +0 -58
  92. package/dist/cjs/Flex-befd65fc.js +0 -160
  93. package/dist/cjs/FormControlList-f3857d4b.js +0 -105
  94. package/dist/cjs/Input-95cb19f8.js +0 -178
  95. package/dist/cjs/ListItem-84d185cf.js +0 -84
  96. package/dist/cjs/ssr-3ca8a14f.js +0 -47
  97. package/dist/es/Button-27cc8574.js +0 -137
  98. package/dist/es/Card-1f93780d.js +0 -51
  99. package/dist/es/Container-88c805ef.js +0 -18
  100. package/dist/es/Flex-16d1103a.js +0 -155
  101. package/dist/es/FormControlList-96d44e7b.js +0 -98
  102. package/dist/es/Input-1159c4b5.js +0 -170
  103. package/dist/es/ListItem-d22510c9.js +0 -77
  104. package/dist/es/Title-f0217338.js +0 -18
  105. package/dist/es/ssr-a710392b.js +0 -41
@@ -4,38 +4,49 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
6
6
 
7
- var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-4abdbfff.js');
7
+ var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-c705cbe6.js');
8
8
  var constants = require('@appbaseio/reactivecore/lib/utils/constants');
9
- var transform = require('@appbaseio/reactivecore/lib/utils/transform');
10
9
  var helper = require('@appbaseio/reactivecore/lib/utils/helper');
10
+ var transform = require('@appbaseio/reactivecore/lib/utils/transform');
11
11
  var Appbase = _interopDefault(require('appbase-js'));
12
12
  var valueReducer = _interopDefault(require('@appbaseio/reactivecore/lib/reducers/valueReducer'));
13
13
  var queryReducer = _interopDefault(require('@appbaseio/reactivecore/lib/reducers/queryReducer'));
14
14
  var queryOptionsReducer = _interopDefault(require('@appbaseio/reactivecore/lib/reducers/queryOptionsReducer'));
15
+ var compositeAggsReducer = _interopDefault(require('@appbaseio/reactivecore/lib/reducers/compositeAggsReducer'));
16
+ var constants$1 = require('@appbaseio/reactivecore/lib/constants');
15
17
  var dependencyTreeReducer = _interopDefault(require('@appbaseio/reactivecore/lib/reducers/dependencyTreeReducer'));
16
18
  var fetchGraphQL = _interopDefault(require('@appbaseio/reactivecore/lib/utils/graphQL'));
17
19
  var utils = require('@appbaseio/reactivecore/lib/actions/utils');
18
20
 
19
- var componentsWithHighlightQuery = [constants.componentTypes.dataSearch, constants.componentTypes.categorySearch];
20
- var componentsWithOptions = [constants.componentTypes.reactiveList, constants.componentTypes.reactiveMap, constants.componentTypes.singleList, constants.componentTypes.multiList, constants.componentTypes.tagCloud].concat(componentsWithHighlightQuery);
21
+ var _excluded = ["aggs", "size"],
22
+ _excluded2 = ["query"],
23
+ _excluded3 = ["query"];
24
+ var X_SEARCH_CLIENT = 'ReactiveSearch Vue';
21
25
  var componentsWithoutFilters = [constants.componentTypes.numberBox, constants.componentTypes.ratingsFilter];
22
26
  var resultComponents = [constants.componentTypes.reactiveList, constants.componentTypes.reactiveMap];
23
27
 
24
28
  function getValue(state, id, defaultValue) {
25
- if (!state) return defaultValue;
26
-
27
- if (state[id]) {
29
+ if (state && state[id]) {
28
30
  try {
29
31
  // parsing for next.js - since it uses extra set of quotes to wrap params
30
32
  var parsedValue = JSON.parse(state[id]);
31
- return parsedValue;
33
+ return {
34
+ value: parsedValue,
35
+ reference: 'URL'
36
+ };
32
37
  } catch (error) {
33
38
  // using react-dom-server for ssr
34
- return state[id] || defaultValue;
39
+ return {
40
+ value: state[id],
41
+ reference: 'URL'
42
+ };
35
43
  }
36
44
  }
37
45
 
38
- return defaultValue;
46
+ return {
47
+ value: defaultValue,
48
+ reference: 'DEFAULT'
49
+ };
39
50
  }
40
51
 
41
52
  function parseValue(value, component) {
@@ -44,28 +55,53 @@ function parseValue(value, component) {
44
55
  }
45
56
 
46
57
  return value;
47
- }
58
+ } // Returns query DSL with query property and other options
48
59
 
49
- function getQuery(component, value, componentType) {
50
- // get default query of result components
51
- if (resultComponents.includes(componentType)) {
52
- return component.defaultQuery ? component.defaultQuery() : {};
53
- } // get custom or default query of sensor components
54
60
 
61
+ function getDefaultQuery(component, value) {
62
+ // get custom or default query of sensor components
63
+ var currentValue = parseValue(value, component); // get default query of result components
55
64
 
65
+ if (component.defaultQuery) {
66
+ var defaultQuery = component.defaultQuery(currentValue, component);
67
+ return _rollupPluginBabelHelpers._extends({
68
+ query: helper.extractQueryFromCustomQuery(defaultQuery)
69
+ }, helper.getOptionsForCustomQuery(defaultQuery));
70
+ }
71
+
72
+ return component.source.defaultQuery ? {
73
+ query: component.source.defaultQuery(currentValue, component)
74
+ } : {};
75
+ } // Only results the query part
76
+
77
+
78
+ function getCustomQuery(component, value) {
79
+ // get custom or default query of sensor components
56
80
  var currentValue = parseValue(value, component);
57
81
 
58
82
  if (component.customQuery) {
59
83
  var customQuery = component.customQuery(currentValue, component);
60
- return customQuery && customQuery.query;
84
+ return _rollupPluginBabelHelpers._extends({
85
+ query: helper.extractQueryFromCustomQuery(customQuery)
86
+ }, helper.getOptionsForCustomQuery(customQuery));
61
87
  }
62
88
 
63
- return component.source.defaultQuery ? component.source.defaultQuery(currentValue, component) : {};
89
+ return component.source.defaultQuery ? {
90
+ query: component.source.defaultQuery(currentValue, component)
91
+ } : null;
64
92
  }
65
93
 
66
94
  function initReactivesearch(componentCollection, searchState, settings) {
67
95
  return new Promise(function (resolve, reject) {
68
96
  var credentials = settings.url && settings.url.trim() !== '' && !settings.credentials ? null : settings.credentials;
97
+ var enableTelemetry = settings.appbaseConfig && settings.appbaseConfig.enableTelemetry !== undefined ? settings.appbaseConfig.enableTelemetry : true;
98
+
99
+ var headers = _rollupPluginBabelHelpers._extends({}, settings.enableAppbase && _rollupPluginBabelHelpers._extends({
100
+ 'X-Search-Client': X_SEARCH_CLIENT
101
+ }, enableTelemetry === false && {
102
+ 'X-Enable-Telemetry': false
103
+ }), settings.headers);
104
+
69
105
  var config = {
70
106
  url: settings.url && settings.url.trim() !== '' ? settings.url : 'https://scalr.api.appbase.io',
71
107
  app: settings.app,
@@ -74,7 +110,7 @@ function initReactivesearch(componentCollection, searchState, settings) {
74
110
  type: settings.type ? settings.type : '*',
75
111
  transformResponse: settings.transformResponse || null,
76
112
  graphQLUrl: settings.graphQLUrl || '',
77
- headers: settings.headers || {},
113
+ headers: headers,
78
114
  analyticsConfig: settings.appbaseConfig || null
79
115
  };
80
116
  var appbaseRef = Appbase(config);
@@ -91,6 +127,7 @@ function initReactivesearch(componentCollection, searchState, settings) {
91
127
  var orderOfQueries = [];
92
128
  var hits = {};
93
129
  var aggregations = {};
130
+ var compositeAggregations = {};
94
131
  var state = {};
95
132
  var customQueries = {};
96
133
  var defaultQueries = {};
@@ -105,20 +142,20 @@ function initReactivesearch(componentCollection, searchState, settings) {
105
142
  compProps[key] = component[key];
106
143
  }
107
144
  });
108
- var isInternalComponentPresent = false; // Set custom and default queries
109
-
110
- if (component.customQuery && typeof component.customQuery === 'function') {
111
- customQueries[component.componentId] = component.customQuery(component.value, compProps);
112
- }
145
+ var isInternalComponentPresent = false;
113
146
 
114
- if (component.defaultQuery && typeof component.defaultQuery === 'function') {
115
- defaultQueries[component.componentId] = component.defaultQuery(component.value, compProps);
147
+ if (component.source.hasInternalComponent) {
148
+ isInternalComponentPresent = component.source.hasInternalComponent(component);
116
149
  }
117
150
 
118
151
  var isResultComponent = resultComponents.includes(componentType);
119
152
  var internalComponent = component.componentId + "__internal";
120
153
  var label = component.filterLabel || component.componentId;
121
- var value = getValue(searchState, component.componentId, component.value || component.defaultValue); // [1] set selected values
154
+
155
+ var _getValue = getValue(searchState, component.componentId, component.value || component.defaultValue),
156
+ value = _getValue.value,
157
+ reference = _getValue.reference; // [1] set selected values
158
+
122
159
 
123
160
  var showFilter = component.showFilter !== undefined ? component.showFilter : true;
124
161
 
@@ -131,75 +168,77 @@ function initReactivesearch(componentCollection, searchState, settings) {
131
168
  component: component.componentId,
132
169
  label: label,
133
170
  value: value,
171
+ reference: reference,
134
172
  showFilter: showFilter,
135
173
  URLParams: component.URLParams || false
136
- }); // [2] set query options - main component query (valid for result components)
174
+ }); // Set custom and default queries
137
175
 
138
- if (componentsWithOptions.includes(componentType)) {
139
- var options = component.source.generateQueryOptions ? component.source.generateQueryOptions(component) : null;
140
- var highlightQuery = {};
176
+ if (component.customQuery && typeof component.customQuery === 'function') {
177
+ customQueries[component.componentId] = component.customQuery(value, compProps);
178
+ }
141
179
 
142
- if (componentsWithHighlightQuery.includes(componentType) && component.highlight) {
143
- highlightQuery = component.source.highlightQuery(component);
144
- }
180
+ if (component.defaultQuery && typeof component.defaultQuery === 'function') {
181
+ defaultQueries[component.componentId] = component.defaultQuery(value, compProps);
182
+ }
145
183
 
146
- if (options && Object.keys(options).length || highlightQuery && Object.keys(highlightQuery).length) {
147
- // eslint-disable-next-line
148
- var _ref = options || {},
149
- aggs = _ref.aggs,
150
- size = _ref.size,
151
- otherQueryOptions = _rollupPluginBabelHelpers._objectWithoutPropertiesLoose(_ref, ["aggs", "size"]);
152
-
153
- if (aggs && Object.keys(aggs).length) {
154
- isInternalComponentPresent = true; // query should be applied on the internal component
155
- // to enable feeding the data to parent component
156
-
157
- queryOptions = queryOptionsReducer(queryOptions, {
158
- type: 'SET_QUERY_OPTIONS',
159
- component: internalComponent,
160
- options: {
161
- aggs: aggs,
162
- size: typeof size === 'undefined' ? 100 : size
163
- }
164
- });
165
- } // sort, highlight, size, from - query should be applied on the main component
184
+ var componentQueryOptions = {}; // [2] set query options - main component query (valid for result components)
166
185
 
186
+ if (component && component.source.generateQueryOptions) {
187
+ componentQueryOptions = _rollupPluginBabelHelpers._extends({}, componentQueryOptions, component.source.generateQueryOptions(component));
188
+ }
167
189
 
168
- if (otherQueryOptions && Object.keys(otherQueryOptions).length || highlightQuery && Object.keys(highlightQuery).length) {
169
- if (!otherQueryOptions) otherQueryOptions = {};
170
- if (!highlightQuery) highlightQuery = {};
190
+ var highlightQuery = {};
171
191
 
172
- var mainQueryOptions = _rollupPluginBabelHelpers._extends(_rollupPluginBabelHelpers._extends(_rollupPluginBabelHelpers._extends({}, otherQueryOptions), highlightQuery), {}, {
173
- size: size
174
- });
192
+ if (component.source.highlightQuery) {
193
+ highlightQuery = component.source.highlightQuery(component);
194
+ }
175
195
 
176
- if (isInternalComponentPresent) {
177
- mainQueryOptions = _rollupPluginBabelHelpers._extends(_rollupPluginBabelHelpers._extends({}, otherQueryOptions), highlightQuery);
178
- }
196
+ if (componentQueryOptions && Object.keys(componentQueryOptions).length || highlightQuery && Object.keys(highlightQuery).length) {
197
+ // eslint-disable-next-line
198
+ var _ref = componentQueryOptions || {},
199
+ aggs = _ref.aggs,
200
+ size = _ref.size,
201
+ otherQueryOptions = _rollupPluginBabelHelpers._objectWithoutPropertiesLoose(_ref, _excluded);
202
+
203
+ if (aggs && Object.keys(aggs).length) {
204
+ isInternalComponentPresent = true;
205
+ componentQueryOptions = _rollupPluginBabelHelpers._extends({}, componentQueryOptions, {
206
+ aggs: aggs,
207
+ size: typeof size === 'undefined' ? 100 : size
208
+ });
209
+ } // sort, highlight, size, from - query should be applied on the main component
179
210
 
180
- if (isResultComponent) {
181
- var currentPage = component.currentPage ? component.currentPage - 1 : 0;
182
211
 
183
- if (selectedValues[component.componentId] && selectedValues[component.componentId].value) {
184
- currentPage = selectedValues[component.componentId].value - 1 || 0;
185
- }
212
+ if (otherQueryOptions && Object.keys(otherQueryOptions).length || highlightQuery && Object.keys(highlightQuery).length) {
213
+ if (!otherQueryOptions) otherQueryOptions = {};
214
+ if (!highlightQuery) highlightQuery = {};
186
215
 
187
- var resultSize = component.size || 10;
188
- var from = currentPage * resultSize; // Update props for RS API
216
+ var mainQueryOptions = _rollupPluginBabelHelpers._extends({}, otherQueryOptions, highlightQuery, {
217
+ size: size
218
+ });
189
219
 
190
- compProps.from = from;
191
- mainQueryOptions = _rollupPluginBabelHelpers._extends(_rollupPluginBabelHelpers._extends(_rollupPluginBabelHelpers._extends({}, mainQueryOptions), highlightQuery), {}, {
192
- size: resultSize,
193
- from: from
194
- });
220
+ if (isInternalComponentPresent) {
221
+ mainQueryOptions = _rollupPluginBabelHelpers._extends({}, otherQueryOptions, highlightQuery);
222
+ }
223
+
224
+ if (isResultComponent) {
225
+ var currentPage = component.currentPage ? component.currentPage - 1 : 0;
226
+
227
+ if (selectedValues[component.componentId] && selectedValues[component.componentId].value) {
228
+ currentPage = selectedValues[component.componentId].value - 1 || 0;
195
229
  }
196
230
 
197
- queryOptions = queryOptionsReducer(queryOptions, {
198
- type: 'SET_QUERY_OPTIONS',
199
- component: component.componentId,
200
- options: _rollupPluginBabelHelpers._extends({}, mainQueryOptions)
231
+ var resultSize = component.size || 10;
232
+ var from = currentPage * resultSize; // Update props for RS API
233
+
234
+ compProps.from = from;
235
+ mainQueryOptions = _rollupPluginBabelHelpers._extends({}, mainQueryOptions, highlightQuery, {
236
+ size: resultSize,
237
+ from: from
201
238
  });
202
239
  }
240
+
241
+ componentQueryOptions = _rollupPluginBabelHelpers._extends({}, componentQueryOptions, mainQueryOptions);
203
242
  }
204
243
  } // [3] set dependency tree
205
244
 
@@ -217,25 +256,42 @@ function initReactivesearch(componentCollection, searchState, settings) {
217
256
  react: react
218
257
  });
219
258
  } // [4] set query list
259
+ // Do not set default query for suggestions
220
260
 
221
261
 
222
- if (isResultComponent) {
223
- var _getQuery = getQuery(component, null, componentType),
224
- query = _getQuery.query;
262
+ if (isInternalComponentPresent && !transform.isSearchComponent(component.componentType)) {
263
+ var _ref2 = getDefaultQuery(component, value) || {},
264
+ defaultQuery = _ref2.query,
265
+ defaultQueryOptions = _rollupPluginBabelHelpers._objectWithoutPropertiesLoose(_ref2, _excluded2);
225
266
 
226
267
  queryList = queryReducer(queryList, {
227
268
  type: 'SET_QUERY',
228
269
  component: internalComponent,
229
- query: query
270
+ query: defaultQuery
230
271
  });
231
- } else {
232
- queryList = queryReducer(queryList, {
233
- type: 'SET_QUERY',
234
- component: component.componentId,
235
- query: getQuery(component, value, componentType)
272
+ queryOptions = queryOptionsReducer(queryOptions, {
273
+ type: 'SET_QUERY_OPTIONS',
274
+ component: internalComponent,
275
+ options: _rollupPluginBabelHelpers._extends({}, componentQueryOptions, defaultQueryOptions)
236
276
  });
237
- } // Set component type in component props
277
+ }
278
+
279
+ var _ref3 = getCustomQuery(component, value) || {},
280
+ query = _ref3.query,
281
+ options = _rollupPluginBabelHelpers._objectWithoutPropertiesLoose(_ref3, _excluded3);
282
+
283
+ var customQuery = query; // set custom query for main component
238
284
 
285
+ queryList = queryReducer(queryList, {
286
+ type: 'SET_QUERY',
287
+ component: component.componentId,
288
+ query: customQuery
289
+ });
290
+ queryOptions = queryOptionsReducer(queryOptions, {
291
+ type: 'SET_QUERY_OPTIONS',
292
+ component: component.componentId,
293
+ options: _rollupPluginBabelHelpers._extends({}, options)
294
+ }); // Set component type in component props
239
295
 
240
296
  compProps.componentType = componentType;
241
297
  componentProps[component.componentId] = compProps;
@@ -258,9 +314,10 @@ function initReactivesearch(componentCollection, searchState, settings) {
258
314
  queryObj = _buildQuery.queryObj,
259
315
  options = _buildQuery.options;
260
316
 
261
- var validOptions = ['aggs', 'from', 'sort']; // check if query or options are valid - non-empty
317
+ var componentQueryOptions = options;
318
+ var validOptions = ['aggs', 'from', 'sort']; // check if query or componentQueryOptions are valid - non-empty
262
319
 
263
- if (queryObj && !!Object.keys(queryObj).length || options && Object.keys(options).some(function (item) {
320
+ if (queryObj && !!Object.keys(queryObj).length || componentQueryOptions && Object.keys(componentQueryOptions).some(function (item) {
264
321
  return validOptions.includes(item);
265
322
  })) {
266
323
  var _extends2;
@@ -273,14 +330,14 @@ function initReactivesearch(componentCollection, searchState, settings) {
273
330
 
274
331
  orderOfQueries = [].concat(orderOfQueries, [component.componentId]);
275
332
 
276
- var currentQuery = _rollupPluginBabelHelpers._extends(_rollupPluginBabelHelpers._extends({
333
+ var currentQuery = _rollupPluginBabelHelpers._extends({
277
334
  query: _rollupPluginBabelHelpers._extends({}, queryObj)
278
- }, options), queryOptions[component.componentId]);
335
+ }, componentQueryOptions, queryOptions[component.componentId]);
279
336
 
280
- queryLog = _rollupPluginBabelHelpers._extends(_rollupPluginBabelHelpers._extends({}, queryLog), {}, (_extends2 = {}, _extends2[component.componentId] = currentQuery, _extends2));
337
+ queryLog = _rollupPluginBabelHelpers._extends({}, queryLog, (_extends2 = {}, _extends2[component.componentId] = currentQuery, _extends2));
281
338
 
282
339
  if (settings.enableAppbase) {
283
- var query = transform.getRSQuery(component.componentId, transform.extractPropsFromState(state, component.componentId, queryOptions && queryOptions[component.componentId] ? {
340
+ var query = transform.getRSQuery(component.componentId, transform.extractPropsFromState(state, component.componentId, queryOptions && Object.keys(queryOptions[component.componentId]).length ? {
284
341
  from: queryOptions[component.componentId].from
285
342
  } : null));
286
343
 
@@ -288,11 +345,12 @@ function initReactivesearch(componentCollection, searchState, settings) {
288
345
  var _extends3;
289
346
 
290
347
  // Apply dependent queries
291
- appbaseQuery = _rollupPluginBabelHelpers._extends(_rollupPluginBabelHelpers._extends(_rollupPluginBabelHelpers._extends({}, appbaseQuery), (_extends3 = {}, _extends3[component.componentId] = query, _extends3)), transform.getDependentQueries(state, component.componentId, orderOfQueries));
348
+ appbaseQuery = _rollupPluginBabelHelpers._extends({}, appbaseQuery, (_extends3 = {}, _extends3[component.componentId] = query, _extends3), transform.getDependentQueries(state, component.componentId, orderOfQueries));
292
349
  }
293
350
  } else {
351
+ var preference = config && config.analyticsConfig && config.analyticsConfig.userId ? config.analyticsConfig.userId + "_" + component : component;
294
352
  finalQuery = [].concat(finalQuery, [{
295
- preference: component.componentId
353
+ preference: preference
296
354
  }, currentQuery]);
297
355
  }
298
356
  }
@@ -318,10 +376,15 @@ function initReactivesearch(componentCollection, searchState, settings) {
318
376
  if (response.aggregations) {
319
377
  var _extends4;
320
378
 
321
- aggregations = _rollupPluginBabelHelpers._extends(_rollupPluginBabelHelpers._extends({}, aggregations), {}, (_extends4 = {}, _extends4[component] = response.aggregations, _extends4));
379
+ aggregations = _rollupPluginBabelHelpers._extends({}, aggregations, (_extends4 = {}, _extends4[component] = response.aggregations, _extends4));
380
+ compositeAggregations = compositeAggsReducer(compositeAggregations, {
381
+ type: constants$1.UPDATE_COMPOSITE_AGGS,
382
+ aggregations: response.aggregations,
383
+ append: false
384
+ });
322
385
  }
323
386
 
324
- hits = _rollupPluginBabelHelpers._extends(_rollupPluginBabelHelpers._extends({}, hits), {}, (_extends5 = {}, _extends5[component] = {
387
+ hits = _rollupPluginBabelHelpers._extends({}, hits, (_extends5 = {}, _extends5[component] = {
325
388
  hits: response.hits.hits,
326
389
  total: typeof response.hits.total === 'object' ? response.hits.total.value : response.hits.total,
327
390
  time: response.took
@@ -333,7 +396,7 @@ function initReactivesearch(componentCollection, searchState, settings) {
333
396
  });
334
397
  });
335
398
  Promise.all(allPromises).then(function () {
336
- state = _rollupPluginBabelHelpers._extends(_rollupPluginBabelHelpers._extends({}, state), {}, {
399
+ state = _rollupPluginBabelHelpers._extends({}, state, {
337
400
  hits: hits,
338
401
  aggregations: aggregations
339
402
  });
@@ -345,6 +408,8 @@ function initReactivesearch(componentCollection, searchState, settings) {
345
408
  var promotedResults = {};
346
409
  var rawData = {};
347
410
  var customData = {};
411
+ var settingsResponse = {};
412
+ var timestamp = {};
348
413
  var allPromises = orderOfQueries.map(function (component) {
349
414
  return new Promise(function (responseResolve, responseReject) {
350
415
  handleTransformResponse(res[component], component).then(function (response) {
@@ -353,7 +418,7 @@ function initReactivesearch(componentCollection, searchState, settings) {
353
418
 
354
419
  if (response.promoted) {
355
420
  promotedResults[component] = response.promoted.map(function (promoted) {
356
- return _rollupPluginBabelHelpers._extends(_rollupPluginBabelHelpers._extends({}, promoted.doc), {}, {
421
+ return _rollupPluginBabelHelpers._extends({}, promoted.doc, {
357
422
  _position: promoted.position
358
423
  });
359
424
  });
@@ -363,15 +428,21 @@ function initReactivesearch(componentCollection, searchState, settings) {
363
428
 
364
429
  if (response.customData) {
365
430
  customData[component] = response.customData;
431
+ } // Update settings
432
+
433
+
434
+ if (response.settings) {
435
+ settingsResponse[component] = response.settings;
366
436
  }
367
437
 
368
438
  if (response.aggregations) {
369
439
  var _extends6;
370
440
 
371
- aggregations = _rollupPluginBabelHelpers._extends(_rollupPluginBabelHelpers._extends({}, aggregations), {}, (_extends6 = {}, _extends6[component] = response.aggregations, _extends6));
441
+ aggregations = _rollupPluginBabelHelpers._extends({}, aggregations, (_extends6 = {}, _extends6[component] = response.aggregations, _extends6));
372
442
  }
373
443
 
374
- hits = _rollupPluginBabelHelpers._extends(_rollupPluginBabelHelpers._extends({}, hits), {}, (_extends7 = {}, _extends7[component] = {
444
+ timestamp[component] = res._timestamp;
445
+ hits = _rollupPluginBabelHelpers._extends({}, hits, (_extends7 = {}, _extends7[component] = {
375
446
  hits: response.hits.hits,
376
447
  total: typeof response.hits.total === 'object' ? response.hits.total.value : response.hits.total,
377
448
  time: response.took
@@ -384,10 +455,13 @@ function initReactivesearch(componentCollection, searchState, settings) {
384
455
  });
385
456
  });
386
457
  Promise.all(allPromises).then(function () {
387
- state = _rollupPluginBabelHelpers._extends(_rollupPluginBabelHelpers._extends({}, state), {}, {
458
+ state = _rollupPluginBabelHelpers._extends({}, state, {
388
459
  hits: hits,
460
+ timestamp: timestamp,
389
461
  aggregations: aggregations,
462
+ compositeAggregations: compositeAggregations,
390
463
  promotedResults: promotedResults,
464
+ settings: settingsResponse,
391
465
  customData: customData,
392
466
  rawData: rawData
393
467
  });