@appbaseio/reactivesearch-vue 1.27.0-gamma.2 → 1.28.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 (47) hide show
  1. package/dist/@appbaseio/reactivesearch-vue.umd.js +4551 -6116
  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/DataSearch.js +2107 -18
  6. package/dist/cjs/{DropDown-0076babc.js → DropDown-7aa3d0d2.js} +1 -1
  7. package/dist/cjs/DynamicRangeSlider.js +24 -16
  8. package/dist/cjs/{Input-a9ee53ed.js → Input-3cc3fa59.js} +1 -1
  9. package/dist/cjs/MultiDropdownList.js +35 -26
  10. package/dist/cjs/MultiList.js +34 -24
  11. package/dist/cjs/MultiRange.js +2 -3
  12. package/dist/cjs/RangeInput.js +1 -1
  13. package/dist/cjs/RangeSlider.js +2 -3
  14. package/dist/cjs/ReactiveComponent.js +41 -72
  15. package/dist/cjs/ReactiveList.js +37 -47
  16. package/dist/cjs/SelectedFilters.js +5 -3
  17. package/dist/cjs/SingleDropdownList.js +22 -19
  18. package/dist/cjs/SingleList.js +20 -17
  19. package/dist/cjs/SingleRange.js +2 -3
  20. package/dist/cjs/index.js +8 -9
  21. package/dist/cjs/initReactivesearch.js +109 -77
  22. package/dist/cjs/install.js +28 -23
  23. package/dist/cjs/version.js +1 -1
  24. package/dist/es/DataSearch.js +2106 -17
  25. package/dist/es/{DropDown-0dd8f2a3.js → DropDown-60a426a2.js} +1 -1
  26. package/dist/es/DynamicRangeSlider.js +24 -16
  27. package/dist/es/{Input-10b1d62d.js → Input-08bb1bcf.js} +1 -1
  28. package/dist/es/MultiDropdownList.js +35 -26
  29. package/dist/es/MultiList.js +34 -24
  30. package/dist/es/MultiRange.js +2 -3
  31. package/dist/es/RangeInput.js +1 -1
  32. package/dist/es/RangeSlider.js +2 -3
  33. package/dist/es/ReactiveComponent.js +41 -72
  34. package/dist/es/ReactiveList.js +37 -47
  35. package/dist/es/SelectedFilters.js +5 -3
  36. package/dist/es/SingleDropdownList.js +22 -19
  37. package/dist/es/SingleList.js +20 -17
  38. package/dist/es/SingleRange.js +2 -3
  39. package/dist/es/index.js +5 -5
  40. package/dist/es/initReactivesearch.js +111 -79
  41. package/dist/es/install.js +30 -21
  42. package/dist/es/version.js +1 -1
  43. package/package.json +3 -3
  44. package/dist/cjs/DataSearch-37dfdf39.js +0 -2154
  45. package/dist/cjs/install-d95c7185.js +0 -1204
  46. package/dist/es/DataSearch-77325036.js +0 -2141
  47. package/dist/es/install-432674ef.js +0 -1197
package/dist/cjs/index.js CHANGED
@@ -27,19 +27,18 @@ require('appbase-js');
27
27
  require('url-search-params-polyfill');
28
28
  var ReactiveBase = require('./ReactiveBase.js');
29
29
  require('hotkeys-js');
30
- var DataSearch = require('./DataSearch-37dfdf39.js');
30
+ var DataSearch = require('./DataSearch.js');
31
31
  require('./CancelSvg-4aa35935.js');
32
- require('./Input-a9ee53ed.js');
32
+ require('./Input-3cc3fa59.js');
33
33
  require('compute-scroll-into-view');
34
34
  require('./Container-526efa6a.js');
35
35
  require('vue-highlight-words');
36
- var install = require('./install-d95c7185.js');
37
36
  require('@appbaseio/reactivecore/lib/utils/suggestions');
38
37
  require('./FormControlList-808dbcef.js');
39
38
  require('./utils-1219e1fe.js');
40
39
  var SingleList = require('./SingleList.js');
41
40
  var MultiList = require('./MultiList.js');
42
- require('./DropDown-0076babc.js');
41
+ require('./DropDown-7aa3d0d2.js');
43
42
  var SingleDropdownList = require('./SingleDropdownList.js');
44
43
  var MultiDropdownList = require('./MultiDropdownList.js');
45
44
  var ToggleButton = require('./ToggleButton.js');
@@ -65,22 +64,21 @@ require('@appbaseio/reactivecore/lib/actions/utils');
65
64
  var initReactivesearch = require('./initReactivesearch.js');
66
65
  var version = require('./version.js');
67
66
  var RangeInput = require('./RangeInput.js');
67
+ var install = require('./install.js');
68
68
 
69
69
  // Add polyfills to support in IE
70
70
 
71
71
  if (typeof window !== 'undefined' && window.Vue) {
72
- install.install(window.Vue);
72
+ install.default(window.Vue);
73
73
  }
74
74
  var index = {
75
75
  version: version.default,
76
- install: install.install
76
+ install: install.default
77
77
  };
78
78
 
79
79
  exports.ReactiveList = ReactiveList.default;
80
80
  exports.ReactiveBase = ReactiveBase.default;
81
- exports.DataSearch = DataSearch.DataSearch;
82
- exports.SearchBox = install.SearchBox;
83
- exports.install = install.install;
81
+ exports.DataSearch = DataSearch.default;
84
82
  exports.SingleList = SingleList.default;
85
83
  exports.MultiList = MultiList.default;
86
84
  exports.SingleDropdownList = SingleDropdownList.default;
@@ -98,4 +96,5 @@ exports.StateProvider = StateProvider.default;
98
96
  exports.initReactivesearch = initReactivesearch.default;
99
97
  exports.version = version.default;
100
98
  exports.RangeInput = RangeInput.default;
99
+ exports.install = install.default;
101
100
  exports.default = index;
@@ -18,10 +18,10 @@ var dependencyTreeReducer = _interopDefault(require('@appbaseio/reactivecore/lib
18
18
  var fetchGraphQL = _interopDefault(require('@appbaseio/reactivecore/lib/utils/graphQL'));
19
19
  var utils = require('@appbaseio/reactivecore/lib/actions/utils');
20
20
 
21
- var _excluded = ["aggs", "size"];
21
+ var _excluded = ["aggs", "size"],
22
+ _excluded2 = ["query"],
23
+ _excluded3 = ["query"];
22
24
  var X_SEARCH_CLIENT = 'ReactiveSearch Vue';
23
- var componentsWithHighlightQuery = [constants.componentTypes.dataSearch, constants.componentTypes.categorySearch];
24
- var componentsWithOptions = [constants.componentTypes.reactiveList, constants.componentTypes.reactiveMap, constants.componentTypes.singleList, constants.componentTypes.multiList, constants.componentTypes.tagCloud].concat(componentsWithHighlightQuery);
25
25
  var componentsWithoutFilters = [constants.componentTypes.numberBox, constants.componentTypes.ratingsFilter];
26
26
  var resultComponents = [constants.componentTypes.reactiveList, constants.componentTypes.reactiveMap];
27
27
 
@@ -55,23 +55,40 @@ function parseValue(value, component) {
55
55
  }
56
56
 
57
57
  return value;
58
- }
58
+ } // Returns query DSL with query property and other options
59
+
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
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
+ }
59
71
 
60
- function getQuery(component, value, componentType) {
61
- // get default query of result components
62
- if (resultComponents.includes(componentType)) {
63
- return component.defaultQuery ? component.defaultQuery() : {};
64
- } // get custom or default query of sensor components
72
+ return component.source.defaultQuery ? {
73
+ query: component.source.defaultQuery(currentValue, component)
74
+ } : {};
75
+ } // Only results the query part
65
76
 
66
77
 
78
+ function getCustomQuery(component, value) {
79
+ // get custom or default query of sensor components
67
80
  var currentValue = parseValue(value, component);
68
81
 
69
82
  if (component.customQuery) {
70
83
  var customQuery = component.customQuery(currentValue, component);
71
- return customQuery && customQuery.query;
84
+ return _rollupPluginBabelHelpers._extends({
85
+ query: helper.extractQueryFromCustomQuery(customQuery)
86
+ }, helper.getOptionsForCustomQuery(customQuery));
72
87
  }
73
88
 
74
- return component.source.defaultQuery ? component.source.defaultQuery(currentValue, component) : {};
89
+ return component.source.defaultQuery ? {
90
+ query: component.source.defaultQuery(currentValue, component)
91
+ } : null;
75
92
  }
76
93
 
77
94
  function initReactivesearch(componentCollection, searchState, settings) {
@@ -126,6 +143,11 @@ function initReactivesearch(componentCollection, searchState, settings) {
126
143
  }
127
144
  });
128
145
  var isInternalComponentPresent = false;
146
+
147
+ if (component.source.hasInternalComponent) {
148
+ isInternalComponentPresent = component.source.hasInternalComponent(component);
149
+ }
150
+
129
151
  var isResultComponent = resultComponents.includes(componentType);
130
152
  var internalComponent = component.componentId + "__internal";
131
153
  var label = component.filterLabel || component.componentId;
@@ -157,74 +179,66 @@ function initReactivesearch(componentCollection, searchState, settings) {
157
179
 
158
180
  if (component.defaultQuery && typeof component.defaultQuery === 'function') {
159
181
  defaultQueries[component.componentId] = component.defaultQuery(value, compProps);
160
- } // [2] set query options - main component query (valid for result components)
161
-
182
+ }
162
183
 
163
- if (componentsWithOptions.includes(componentType)) {
164
- var options = component.source.generateQueryOptions ? component.source.generateQueryOptions(component) : null;
165
- var highlightQuery = {};
184
+ var componentQueryOptions = {}; // [2] set query options - main component query (valid for result components)
166
185
 
167
- if (componentsWithHighlightQuery.includes(componentType) && component.highlight) {
168
- highlightQuery = component.source.highlightQuery(component);
169
- }
186
+ if (component && component.source.generateQueryOptions) {
187
+ componentQueryOptions = _rollupPluginBabelHelpers._extends({}, componentQueryOptions, component.source.generateQueryOptions(component));
188
+ }
170
189
 
171
- if (options && Object.keys(options).length || highlightQuery && Object.keys(highlightQuery).length) {
172
- // eslint-disable-next-line
173
- var _ref = options || {},
174
- aggs = _ref.aggs,
175
- size = _ref.size,
176
- otherQueryOptions = _rollupPluginBabelHelpers._objectWithoutPropertiesLoose(_ref, _excluded);
177
-
178
- if (aggs && Object.keys(aggs).length) {
179
- isInternalComponentPresent = true; // query should be applied on the internal component
180
- // to enable feeding the data to parent component
181
-
182
- queryOptions = queryOptionsReducer(queryOptions, {
183
- type: 'SET_QUERY_OPTIONS',
184
- component: internalComponent,
185
- options: {
186
- aggs: aggs,
187
- size: typeof size === 'undefined' ? 100 : size
188
- }
189
- });
190
- } // sort, highlight, size, from - query should be applied on the main component
190
+ var highlightQuery = {};
191
191
 
192
+ if (component.source.highlightQuery) {
193
+ highlightQuery = component.source.highlightQuery(component);
194
+ }
192
195
 
193
- if (otherQueryOptions && Object.keys(otherQueryOptions).length || highlightQuery && Object.keys(highlightQuery).length) {
194
- if (!otherQueryOptions) otherQueryOptions = {};
195
- if (!highlightQuery) highlightQuery = {};
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
196
210
 
197
- var mainQueryOptions = _rollupPluginBabelHelpers._extends({}, otherQueryOptions, highlightQuery, {
198
- size: size
199
- });
200
211
 
201
- if (isInternalComponentPresent) {
202
- mainQueryOptions = _rollupPluginBabelHelpers._extends({}, otherQueryOptions, highlightQuery);
203
- }
212
+ if (otherQueryOptions && Object.keys(otherQueryOptions).length || highlightQuery && Object.keys(highlightQuery).length) {
213
+ if (!otherQueryOptions) otherQueryOptions = {};
214
+ if (!highlightQuery) highlightQuery = {};
204
215
 
205
- if (isResultComponent) {
206
- var currentPage = component.currentPage ? component.currentPage - 1 : 0;
216
+ var mainQueryOptions = _rollupPluginBabelHelpers._extends({}, otherQueryOptions, highlightQuery, {
217
+ size: size
218
+ });
207
219
 
208
- if (selectedValues[component.componentId] && selectedValues[component.componentId].value) {
209
- currentPage = selectedValues[component.componentId].value - 1 || 0;
210
- }
220
+ if (isInternalComponentPresent) {
221
+ mainQueryOptions = _rollupPluginBabelHelpers._extends({}, otherQueryOptions, highlightQuery);
222
+ }
211
223
 
212
- var resultSize = component.size || 10;
213
- var from = currentPage * resultSize; // Update props for RS API
224
+ if (isResultComponent) {
225
+ var currentPage = component.currentPage ? component.currentPage - 1 : 0;
214
226
 
215
- compProps.from = from;
216
- mainQueryOptions = _rollupPluginBabelHelpers._extends({}, mainQueryOptions, highlightQuery, {
217
- size: resultSize,
218
- from: from
219
- });
227
+ if (selectedValues[component.componentId] && selectedValues[component.componentId].value) {
228
+ currentPage = selectedValues[component.componentId].value - 1 || 0;
220
229
  }
221
230
 
222
- queryOptions = queryOptionsReducer(queryOptions, {
223
- type: 'SET_QUERY_OPTIONS',
224
- component: component.componentId,
225
- 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
226
238
  });
227
239
  }
240
+
241
+ componentQueryOptions = _rollupPluginBabelHelpers._extends({}, componentQueryOptions, mainQueryOptions);
228
242
  }
229
243
  } // [3] set dependency tree
230
244
 
@@ -242,25 +256,42 @@ function initReactivesearch(componentCollection, searchState, settings) {
242
256
  react: react
243
257
  });
244
258
  } // [4] set query list
259
+ // Do not set default query for suggestions
245
260
 
246
261
 
247
- if (isResultComponent) {
248
- var _getQuery = getQuery(component, value, componentType),
249
- 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);
250
266
 
251
267
  queryList = queryReducer(queryList, {
252
268
  type: 'SET_QUERY',
253
269
  component: internalComponent,
254
- query: query
270
+ query: defaultQuery
255
271
  });
256
- } else {
257
- queryList = queryReducer(queryList, {
258
- type: 'SET_QUERY',
259
- component: component.componentId,
260
- query: getQuery(component, value, componentType)
272
+ queryOptions = queryOptionsReducer(queryOptions, {
273
+ type: 'SET_QUERY_OPTIONS',
274
+ component: internalComponent,
275
+ options: _rollupPluginBabelHelpers._extends({}, componentQueryOptions, defaultQueryOptions)
261
276
  });
262
- } // Set component type in component props
277
+ }
278
+
279
+ var _ref3 = getCustomQuery(component, value) || {},
280
+ query = _ref3.query,
281
+ options = _rollupPluginBabelHelpers._objectWithoutPropertiesLoose(_ref3, _excluded3);
263
282
 
283
+ var customQuery = query; // set custom query for main component
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
264
295
 
265
296
  compProps.componentType = componentType;
266
297
  componentProps[component.componentId] = compProps;
@@ -283,9 +314,10 @@ function initReactivesearch(componentCollection, searchState, settings) {
283
314
  queryObj = _buildQuery.queryObj,
284
315
  options = _buildQuery.options;
285
316
 
286
- 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
287
319
 
288
- 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) {
289
321
  return validOptions.includes(item);
290
322
  })) {
291
323
  var _extends2;
@@ -300,7 +332,7 @@ function initReactivesearch(componentCollection, searchState, settings) {
300
332
 
301
333
  var currentQuery = _rollupPluginBabelHelpers._extends({
302
334
  query: _rollupPluginBabelHelpers._extends({}, queryObj)
303
- }, options, queryOptions[component.componentId]);
335
+ }, componentQueryOptions, queryOptions[component.componentId]);
304
336
 
305
337
  queryLog = _rollupPluginBabelHelpers._extends({}, queryLog, (_extends2 = {}, _extends2[component.componentId] = currentQuery, _extends2));
306
338
 
@@ -12,7 +12,7 @@ require('@appbaseio/vue-emotion');
12
12
  require('polished');
13
13
  require('./Button-11307285.js');
14
14
  require('./vueTypes-57d01f18.js');
15
- require('./ReactiveList.js');
15
+ var ReactiveList = require('./ReactiveList.js');
16
16
  require('@appbaseio/reactivecore/lib/utils/transform');
17
17
  require('redux');
18
18
  require('./index-4509aa45.js');
@@ -25,37 +25,42 @@ require('./Flex-f146cdad.js');
25
25
  require('@appbaseio/reactivecore/lib/actions/analytics');
26
26
  require('appbase-js');
27
27
  require('url-search-params-polyfill');
28
- require('./ReactiveBase.js');
28
+ var ReactiveBase = require('./ReactiveBase.js');
29
29
  require('hotkeys-js');
30
- require('./DataSearch-37dfdf39.js');
30
+ var DataSearch = require('./DataSearch.js');
31
31
  require('./CancelSvg-4aa35935.js');
32
- require('./Input-a9ee53ed.js');
32
+ require('./Input-3cc3fa59.js');
33
33
  require('compute-scroll-into-view');
34
34
  require('./Container-526efa6a.js');
35
35
  require('vue-highlight-words');
36
- var install = require('./install-d95c7185.js');
37
36
  require('@appbaseio/reactivecore/lib/utils/suggestions');
38
37
  require('./FormControlList-808dbcef.js');
39
38
  require('./utils-1219e1fe.js');
40
- require('./SingleList.js');
41
- require('./MultiList.js');
42
- require('./DropDown-0076babc.js');
43
- require('./SingleDropdownList.js');
44
- require('./MultiDropdownList.js');
45
- require('./ToggleButton.js');
46
- require('./ReactiveComponent.js');
47
- require('./SelectedFilters.js');
48
- require('./SingleRange.js');
49
- require('./MultiRange.js');
50
- require('./ResultCard.js');
51
- require('./ResultList.js');
39
+ var SingleList = require('./SingleList.js');
40
+ var MultiList = require('./MultiList.js');
41
+ require('./DropDown-7aa3d0d2.js');
42
+ var SingleDropdownList = require('./SingleDropdownList.js');
43
+ var MultiDropdownList = require('./MultiDropdownList.js');
44
+ var ToggleButton = require('./ToggleButton.js');
45
+ var ReactiveComponent = require('./ReactiveComponent.js');
46
+ var SelectedFilters = require('./SelectedFilters.js');
47
+ var SingleRange = require('./SingleRange.js');
48
+ var MultiRange = require('./MultiRange.js');
49
+ var ResultCard = require('./ResultCard.js');
50
+ var ResultList = require('./ResultList.js');
52
51
  require('vue-no-ssr');
53
52
  require('./ssr-0ee35a09.js');
54
- require('./RangeSlider.js');
55
- require('./DynamicRangeSlider.js');
56
- require('./StateProvider.js');
57
- require('./RangeInput.js');
53
+ var RangeSlider = require('./RangeSlider.js');
54
+ var DynamicRangeSlider = require('./DynamicRangeSlider.js');
55
+ var StateProvider = require('./StateProvider.js');
56
+ var RangeInput = require('./RangeInput.js');
58
57
 
58
+ var components = [ReactiveList.default, ResultCard.default, ResultList.default, ReactiveBase.default, DataSearch.default, SingleList.default, MultiList.default, SingleRange.default, MultiRange.default, RangeSlider.default, DynamicRangeSlider.default, ReactiveComponent.default, SelectedFilters.default, ToggleButton.default, SingleDropdownList.default, MultiDropdownList.default, StateProvider.default, RangeInput.default];
59
+ function install (Vue) {
60
+ components.map(function (component) {
61
+ Vue.use(component);
62
+ return null;
63
+ });
64
+ }
59
65
 
60
-
61
- exports.default = install.install;
66
+ exports.default = install;
@@ -2,6 +2,6 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var version = "1.27.0-gamma.2";
5
+ var version = "1.28.0";
6
6
 
7
7
  exports.default = version;