@appbaseio/reactivesearch-vue 1.27.0-gamma.3 → 1.29.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 (45) hide show
  1. package/dist/@appbaseio/reactivesearch-vue.umd.js +839 -1033
  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-11307285.js → Button-e0b7c1f6.js} +1 -1
  6. package/dist/cjs/{DataSearch-0ef14926.js → DataSearch-eec21890.js} +30 -13
  7. package/dist/cjs/DataSearch.js +1 -1
  8. package/dist/cjs/DynamicRangeSlider.js +24 -16
  9. package/dist/cjs/MultiDropdownList.js +34 -25
  10. package/dist/cjs/MultiList.js +33 -23
  11. package/dist/cjs/MultiRange.js +2 -3
  12. package/dist/cjs/RangeSlider.js +2 -3
  13. package/dist/cjs/ReactiveComponent.js +41 -72
  14. package/dist/cjs/ReactiveList.js +38 -48
  15. package/dist/cjs/SelectedFilters.js +6 -4
  16. package/dist/cjs/SingleDropdownList.js +21 -18
  17. package/dist/cjs/SingleList.js +19 -16
  18. package/dist/cjs/SingleRange.js +2 -3
  19. package/dist/cjs/ToggleButton.js +1 -1
  20. package/dist/cjs/index.js +3 -3
  21. package/dist/cjs/initReactivesearch.js +109 -77
  22. package/dist/cjs/{install-311df9cc.js → install-4886582d.js} +102 -58
  23. package/dist/cjs/install.js +3 -3
  24. package/dist/cjs/version.js +1 -1
  25. package/dist/es/{Button-91561391.js → Button-33de88e6.js} +1 -1
  26. package/dist/es/{DataSearch-be45e960.js → DataSearch-42f547cd.js} +30 -13
  27. package/dist/es/DataSearch.js +1 -1
  28. package/dist/es/DynamicRangeSlider.js +24 -16
  29. package/dist/es/MultiDropdownList.js +34 -25
  30. package/dist/es/MultiList.js +33 -23
  31. package/dist/es/MultiRange.js +2 -3
  32. package/dist/es/RangeSlider.js +2 -3
  33. package/dist/es/ReactiveComponent.js +41 -72
  34. package/dist/es/ReactiveList.js +38 -48
  35. package/dist/es/SelectedFilters.js +6 -4
  36. package/dist/es/SingleDropdownList.js +21 -18
  37. package/dist/es/SingleList.js +19 -16
  38. package/dist/es/SingleRange.js +2 -3
  39. package/dist/es/ToggleButton.js +1 -1
  40. package/dist/es/index.js +4 -4
  41. package/dist/es/initReactivesearch.js +111 -79
  42. package/dist/es/{install-af797de0.js → install-54ebd72e.js} +102 -58
  43. package/dist/es/install.js +3 -3
  44. package/dist/es/version.js +1 -1
  45. package/package.json +3 -3
@@ -33,7 +33,7 @@ var disabled = function disabled(_ref3) {
33
33
  return emotion.css(_templateObject7 || (_templateObject7 = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\tbackground-color: ", ";\n\tcolor: #ccc;\n\tcursor: not-allowed;\n\n\t&:hover,\n\t&:focus {\n\t\tbackground-color: ", ";\n\t}\n"])), theme.colors.backgroundColor ? polished.lighten(0.1, theme.colors.backgroundColor) : '#fafafa', theme.colors.backgroundColor ? polished.lighten(0.2, theme.colors.backgroundColor) : '#fafafa');
34
34
  };
35
35
 
36
- var Button = styled__default('a')(_templateObject8 || (_templateObject8 = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\tdisplay: inline-flex;\n\tjustify-content: center;\n\talign-items: center;\n\tborder-radius: 3px;\n\tborder: 1px solid transparent;\n\tmin-height: 30px;\n\tword-wrap: break-word;\n\tpadding: 5px 12px;\n\tline-height: 1.2rem;\n\tbackground-color: ", ";\n\tcolor: ", ";\n\tcursor: pointer;\n\tuser-select: none;\n\ttransition: all 0.3s ease;\n\n\t&:hover,\n\t&:focus {\n\t\tbackground-color: ", ";\n\t}\n\n\t&:focus {\n\t\toutline: 0;\n\t\tborder-color: ", ";\n\t\tbox-shadow: ", ";\n\t}\n\n\t", ";\n\t", ";\n\t", ";\n"])), function (_ref4) {
36
+ var Button = styled__default('a')(_templateObject8 || (_templateObject8 = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\tdisplay: inline-flex;\n\tjustify-content: center;\n\talign-items: center;\n\tborder-radius: 3px;\n\tborder: 1px solid transparent;\n\tmin-height: 30px;\n\tword-wrap: break-word;\n\tpadding: 5px 12px;\n\tline-height: 1.2rem;\n\tbackground-color: ", ";\n\tcolor: ", ";\n\tcursor: pointer;\n\tuser-select: none;\n\ttransition: all 0.3s ease;\n\n\t&:hover,\n\t&:focus {\n\t\tbackground-color: ", ";\n\t}\n\n\t&:focus {\n\t\toutline: 0;\n\t\tborder-color: ", ";\n\t\tbox-shadow: ", ";\n\t}\n\n\t", ";\n\t", ";\n\t", ";\n\n\t&.enter-btn {\n\t\tborder-top-left-radius: 0px;\n\t\tborder-bottom-left-radius: 0px;\n\t\theight: 100%;\n\t}\n"])), function (_ref4) {
37
37
  var theme = _ref4.theme;
38
38
  return theme.colors.backgroundColor || '#eee';
39
39
  }, function (_ref5) {
@@ -915,7 +915,8 @@ var updateQuery = configureStore.Actions.updateQuery,
915
915
  var debounce = configureStore.helper.debounce,
916
916
  checkValueChange = configureStore.helper.checkValueChange,
917
917
  getClassName$1 = configureStore.helper.getClassName,
918
- getOptionsFromQuery = configureStore.helper.getOptionsFromQuery,
918
+ extractQueryFromCustomQuery = configureStore.helper.extractQueryFromCustomQuery,
919
+ getOptionsForCustomQuery = configureStore.helper.getOptionsForCustomQuery,
919
920
  isEqual = configureStore.helper.isEqual,
920
921
  getCompositeAggsQuery = configureStore.helper.getCompositeAggsQuery,
921
922
  withClickIds = configureStore.helper.withClickIds,
@@ -971,11 +972,15 @@ var DataSearch = {
971
972
  console.warn('Warning(ReactiveSearch): In order to use the `index` prop, the `enableAppbase` prop must be set to true in `ReactiveBase`.');
972
973
  }
973
974
 
974
- this.loadPopularSuggestions(this.$props.componentId);
975
975
  this.currentValue = this.selectedValue || '';
976
+ var shouldFetchInitialSuggestions = this.$props.enableDefaultSuggestions || this.currentValue;
976
977
 
977
- if (enableRecentSearches) {
978
- this.getRecentSearches();
978
+ if (shouldFetchInitialSuggestions) {
979
+ this.loadPopularSuggestions(this.$props.componentId);
980
+
981
+ if (enableRecentSearches) {
982
+ this.getRecentSearches();
983
+ }
979
984
  }
980
985
 
981
986
  this.handleTextChange = debounce(this.handleText, this.$props.debounce); // Set custom and default queries in store
@@ -1012,7 +1017,7 @@ var DataSearch = {
1012
1017
  defaultSearchSuggestions: function defaultSearchSuggestions() {
1013
1018
  var isPopularSuggestionsEnabled = this.enableQuerySuggestions || this.enablePopularSuggestions;
1014
1019
 
1015
- if (this.currentValue) {
1020
+ if (this.currentValue || !this.enableDefaultSuggestions) {
1016
1021
  return [];
1017
1022
  }
1018
1023
 
@@ -1109,7 +1114,8 @@ var DataSearch = {
1109
1114
  addonBefore: VueTypes.any,
1110
1115
  addonAfter: VueTypes.any,
1111
1116
  expandSuggestionsContainer: VueTypes.bool.def(true),
1112
- index: VueTypes.string
1117
+ index: VueTypes.string,
1118
+ enableDefaultSuggestions: VueTypes.bool.def(true)
1113
1119
  },
1114
1120
  beforeMount: function beforeMount() {
1115
1121
  if (this.$props.highlight) {
@@ -1373,12 +1379,13 @@ var DataSearch = {
1373
1379
 
1374
1380
  if (this.defaultQuery) {
1375
1381
  var defaultQueryToBeSet = this.defaultQuery(value, props) || {};
1382
+ var defaultQueryObj = extractQueryFromCustomQuery(defaultQueryToBeSet);
1376
1383
 
1377
- if (defaultQueryToBeSet.query) {
1378
- query = defaultQueryToBeSet.query;
1384
+ if (defaultQueryObj) {
1385
+ query = defaultQueryObj;
1379
1386
  }
1380
1387
 
1381
- defaultQueryOptions = getOptionsFromQuery(defaultQueryToBeSet); // Update calculated default query in store
1388
+ defaultQueryOptions = getOptionsForCustomQuery(defaultQueryToBeSet); // Update calculated default query in store
1382
1389
 
1383
1390
  index.updateDefaultQuery(props.componentId, this.setDefaultQuery, props, value);
1384
1391
  }
@@ -1402,13 +1409,13 @@ var DataSearch = {
1402
1409
 
1403
1410
  if (customQuery) {
1404
1411
  var customQueryTobeSet = customQuery(value, props);
1405
- var queryTobeSet = customQueryTobeSet.query;
1412
+ var queryTobeSet = extractQueryFromCustomQuery(customQueryTobeSet);
1406
1413
 
1407
1414
  if (queryTobeSet) {
1408
1415
  query = queryTobeSet;
1409
1416
  }
1410
1417
 
1411
- customQueryOptions = getOptionsFromQuery(customQueryTobeSet);
1418
+ customQueryOptions = getOptionsForCustomQuery(customQueryTobeSet);
1412
1419
  index.updateCustomQuery(props.componentId, this.setCustomQuery, props, value);
1413
1420
  this.setQueryOptions(componentId, _rollupPluginBabelHelpers._extends({}, this.queryOptions, customQueryOptions), false);
1414
1421
  }
@@ -1735,11 +1742,17 @@ var DataSearch = {
1735
1742
  var _this$$props4 = this.$props,
1736
1743
  theme = _this$$props4.theme,
1737
1744
  size = _this$$props4.size,
1738
- expandSuggestionsContainer = _this$$props4.expandSuggestionsContainer;
1745
+ expandSuggestionsContainer = _this$$props4.expandSuggestionsContainer,
1746
+ enableDefaultSuggestions = _this$$props4.enableDefaultSuggestions;
1739
1747
  var _this$$scopedSlots = this.$scopedSlots,
1740
1748
  recentSearchesIcon = _this$$scopedSlots.recentSearchesIcon,
1741
1749
  popularSearchesIcon = _this$$scopedSlots.popularSearchesIcon;
1742
1750
  var hasSuggestions = this.currentValue ? this.suggestionsList.length || this.topSuggestions.length : this.defaultSearchSuggestions.length;
1751
+
1752
+ if (enableDefaultSuggestions === false && !this.currentValue) {
1753
+ hasSuggestions = false;
1754
+ }
1755
+
1743
1756
  return h(Container.Container, {
1744
1757
  "class": this.$props.className
1745
1758
  }, [this.$props.title && h(Title.Title, {
@@ -2097,6 +2110,10 @@ DataSearch.highlightQuery = function (props) {
2097
2110
  };
2098
2111
  };
2099
2112
 
2113
+ DataSearch.hasInternalComponent = function () {
2114
+ return true;
2115
+ };
2116
+
2100
2117
  var mapStateToProps = function mapStateToProps(state, props) {
2101
2118
  return {
2102
2119
  selectedValue: state.selectedValues[props.componentId] && state.selectedValues[props.componentId].value || null,
@@ -2134,7 +2151,7 @@ var mapDispatchToProps = {
2134
2151
  };
2135
2152
  var DSConnected = ComponentWrapper.ComponentWrapper(index.connect(mapStateToProps, mapDispatchToProps)(DataSearch), {
2136
2153
  componentType: constants.componentTypes.dataSearch,
2137
- internalComponent: true
2154
+ internalComponent: DataSearch.hasInternalComponent()
2138
2155
  });
2139
2156
 
2140
2157
  DataSearch.install = function (Vue) {
@@ -18,7 +18,7 @@ require('./ComponentWrapper-10bad289.js');
18
18
  require('./Title-584a8cc8.js');
19
19
  require('./Flex-f146cdad.js');
20
20
  require('hotkeys-js');
21
- var DataSearch = require('./DataSearch-0ef14926.js');
21
+ var DataSearch = require('./DataSearch-eec21890.js');
22
22
  require('./CancelSvg-4aa35935.js');
23
23
  require('./Input-0d7b25ad.js');
24
24
  require('compute-scroll-into-view');
@@ -29,9 +29,10 @@ var addComponent = configureStore.Actions.addComponent,
29
29
  updateComponentProps = configureStore.Actions.updateComponentProps;
30
30
  var checkValueChange = configureStore.helper.checkValueChange,
31
31
  getClassName = configureStore.helper.getClassName,
32
- getOptionsFromQuery = configureStore.helper.getOptionsFromQuery,
33
32
  isEqual = configureStore.helper.isEqual,
34
- checkSomePropChange = configureStore.helper.checkSomePropChange;
33
+ checkSomePropChange = configureStore.helper.checkSomePropChange,
34
+ extractQueryFromCustomQuery = configureStore.helper.extractQueryFromCustomQuery,
35
+ getOptionsForCustomQuery = configureStore.helper.getOptionsForCustomQuery;
35
36
  var DynamicRangeSlider = {
36
37
  name: 'DynamicRangeSlider',
37
38
  components: ssr.getComponents(),
@@ -239,28 +240,31 @@ var DynamicRangeSlider = {
239
240
  },
240
241
  updateQueryHandler: function updateQueryHandler(value) {
241
242
  var query = DynamicRangeSlider.defaultQuery(value, this.$props);
242
- var customQueryOptions;
243
243
 
244
244
  if (this.$props.customQuery) {
245
- var _ref2 = this.$props.customQuery(value, this.$props) || {};
245
+ var customQueryTobeSet = this.$props.customQuery(value, this.$props);
246
+ var queryTobeSet = extractQueryFromCustomQuery(customQueryTobeSet);
246
247
 
247
- query = _ref2.query;
248
- customQueryOptions = getOptionsFromQuery(this.$props.customQuery(value, this.$props));
248
+ if (queryTobeSet) {
249
+ query = queryTobeSet;
250
+ }
251
+
252
+ var customQueryOptions = getOptionsForCustomQuery(customQueryTobeSet);
249
253
  index.updateCustomQuery(this.componentId, this.setCustomQuery, this.$props, value);
254
+ this.setQueryOptions(this.$props.componentId, customQueryOptions, false);
250
255
  }
251
256
 
252
- var _ref3 = this.range || {
257
+ var _ref2 = this.range || {
253
258
  start: value[0],
254
259
  end: value[1]
255
260
  },
256
- start = _ref3.start,
257
- end = _ref3.end;
261
+ start = _ref2.start,
262
+ end = _ref2.end;
258
263
 
259
264
  var currentStart = value[0],
260
265
  currentEnd = value[1]; // check if the slider is at its initial position
261
266
 
262
267
  var isInitialValue = currentStart === start && currentEnd === end;
263
- this.setQueryOptions(this.$props.componentId, customQueryOptions, false);
264
268
  this.updateQuery({
265
269
  componentId: this.$props.componentId,
266
270
  query: query,
@@ -307,13 +311,13 @@ var DynamicRangeSlider = {
307
311
  range: function range(newValue, oldValue) {
308
312
  if (isEqual(newValue, oldValue) || !this.currentValue) return;
309
313
 
310
- var _ref4 = this.currentValue || [],
311
- currentStart = _ref4[0],
312
- currentEnd = _ref4[1];
314
+ var _ref3 = this.currentValue || [],
315
+ currentStart = _ref3[0],
316
+ currentEnd = _ref3[1];
313
317
 
314
- var _ref5 = oldValue || {},
315
- oldStart = _ref5.start,
316
- oldEnd = _ref5.end;
318
+ var _ref4 = oldValue || {},
319
+ oldStart = _ref4.start,
320
+ oldEnd = _ref4.end;
317
321
 
318
322
  var newStart = currentStart === oldStart ? newValue.start : currentStart;
319
323
  var newEnd = currentEnd === oldEnd ? newValue.end : currentEnd;
@@ -408,6 +412,10 @@ DynamicRangeSlider.parseValue = function (value) {
408
412
  return [];
409
413
  };
410
414
 
415
+ DynamicRangeSlider.hasInternalComponent = function () {
416
+ return true;
417
+ };
418
+
411
419
  var mapStateToProps = function mapStateToProps(state, props) {
412
420
  var componentId = state.aggregations[props.componentId];
413
421
  var internalRange = state.aggregations[props.componentId + "__range__internal"];
@@ -12,7 +12,7 @@ var constants = require('@appbaseio/reactivecore/lib/utils/constants');
12
12
  require('emotion');
13
13
  require('@appbaseio/vue-emotion');
14
14
  require('polished');
15
- var Button = require('./Button-11307285.js');
15
+ var Button = require('./Button-e0b7c1f6.js');
16
16
  var vueTypes = require('./vueTypes-57d01f18.js');
17
17
  require('@appbaseio/reactivecore/lib/utils/transform');
18
18
  require('redux');
@@ -37,8 +37,9 @@ var isEqual = configureStore.helper.isEqual,
37
37
  checkValueChange = configureStore.helper.checkValueChange,
38
38
  checkPropChange = configureStore.helper.checkPropChange,
39
39
  getClassName = configureStore.helper.getClassName,
40
- getOptionsFromQuery = configureStore.helper.getOptionsFromQuery,
41
- getCompositeAggsQuery = configureStore.helper.getCompositeAggsQuery;
40
+ getCompositeAggsQuery = configureStore.helper.getCompositeAggsQuery,
41
+ extractQueryFromCustomQuery = configureStore.helper.extractQueryFromCustomQuery,
42
+ getOptionsForCustomQuery = configureStore.helper.getOptionsForCustomQuery;
42
43
  var MultiDropdownList = {
43
44
  name: 'MultiDropdownList',
44
45
  data: function data() {
@@ -76,7 +77,7 @@ var MultiDropdownList = {
76
77
  selectAllLabel: vueTypes.types.string,
77
78
  showCount: VueTypes.bool.def(true),
78
79
  showFilter: VueTypes.bool.def(true),
79
- size: VueTypes.number.def(100),
80
+ size: VueTypes.number,
80
81
  sortBy: VueTypes.oneOf(['asc', 'desc', 'count']).def('count'),
81
82
  title: vueTypes.types.title,
82
83
  URLParams: VueTypes.bool.def(false),
@@ -362,22 +363,22 @@ var MultiDropdownList = {
362
363
  checkValueChange(props.componentId, finalValues, props.beforeValueChange, performUpdate);
363
364
  },
364
365
  updateDefaultQueryHandler: function updateDefaultQueryHandler(value, props) {
365
- var defaultQueryOptions;
366
366
  var query = MultiDropdownList.defaultQuery(value, props);
367
367
 
368
368
  if (this.defaultQuery) {
369
369
  var defaultQueryToBeSet = this.defaultQuery(value, props) || {};
370
+ var defaultQueryObj = extractQueryFromCustomQuery(defaultQueryToBeSet);
370
371
 
371
- if (defaultQueryToBeSet.query) {
372
- query = defaultQueryToBeSet.query;
373
- }
372
+ if (defaultQueryObj) {
373
+ query = defaultQueryObj;
374
+ } // Update calculated default query in store
374
375
 
375
- defaultQueryOptions = getOptionsFromQuery(defaultQueryToBeSet); // Update calculated default query in store
376
376
 
377
377
  index.updateDefaultQuery(props.componentId, this.setDefaultQuery, props, value);
378
+ var defaultQueryOptions = getOptionsForCustomQuery(defaultQueryToBeSet);
379
+ this.setQueryOptions(this.internalComponent, defaultQueryOptions, false);
378
380
  }
379
381
 
380
- this.setQueryOptions(this.internalComponent, defaultQueryOptions, false);
381
382
  this.updateQuery({
382
383
  componentId: this.internalComponent,
383
384
  query: query,
@@ -388,17 +389,15 @@ var MultiDropdownList = {
388
389
  updateQueryHandler: function updateQueryHandler(value, props) {
389
390
  var customQuery = props.customQuery;
390
391
  var query = MultiDropdownList.defaultQuery(value, props);
391
- var customQueryOptions;
392
392
 
393
393
  if (customQuery) {
394
- var _ref = customQuery(value, props) || {};
395
-
396
- query = _ref.query;
397
- customQueryOptions = getOptionsFromQuery(customQuery(value, props));
394
+ var customQueryCalc = customQuery(value, props);
395
+ query = extractQueryFromCustomQuery(customQueryCalc);
398
396
  index.updateCustomQuery(props.componentId, this.setCustomQuery, props, value);
397
+ var customQueryOptions = getOptionsForCustomQuery(customQueryCalc);
398
+ this.setQueryOptions(props.componentId, customQueryOptions, false);
399
399
  }
400
400
 
401
- this.setQueryOptions(props.componentId, customQueryOptions, false);
402
401
  this.updateQuery({
403
402
  componentId: props.componentId,
404
403
  query: query,
@@ -432,7 +431,7 @@ var MultiDropdownList = {
432
431
 
433
432
  if (props.defaultQuery) {
434
433
  var value = Object.keys(this.$data.currentValue);
435
- var defaultQueryOptions = getOptionsFromQuery(props.defaultQuery(value, props));
434
+ var defaultQueryOptions = getOptionsForCustomQuery(props.defaultQuery(value, props));
436
435
  this.setQueryOptions(this.internalComponent, _rollupPluginBabelHelpers._extends({}, queryOptions, defaultQueryOptions));
437
436
  } else {
438
437
  this.setQueryOptions(this.internalComponent, queryOptions);
@@ -468,7 +467,13 @@ var MultiDropdownList = {
468
467
 
469
468
  MultiDropdownList.defaultQuery = function (value, props) {
470
469
  var query = null;
471
- var type = props.queryFormat === 'or' ? 'terms' : 'term';
470
+ var queryFormat = props.queryFormat;
471
+
472
+ if (queryFormat === undefined) {
473
+ queryFormat = 'or';
474
+ }
475
+
476
+ var type = queryFormat === 'or' ? 'terms' : 'term';
472
477
 
473
478
  if (!Array.isArray(value) || value.length === 0) {
474
479
  return null;
@@ -489,14 +494,14 @@ MultiDropdownList.defaultQuery = function (value, props) {
489
494
  } else if (value) {
490
495
  var listQuery;
491
496
 
492
- if (props.queryFormat === 'or') {
497
+ if (queryFormat === 'or') {
493
498
  if (props.showMissing) {
494
- var _type, _ref2;
499
+ var _type, _ref;
495
500
 
496
501
  var hasMissingTerm = value.includes(props.missingLabel);
497
- var should = [(_ref2 = {}, _ref2[type] = (_type = {}, _type[props.dataField] = value.filter(function (item) {
502
+ var should = [(_ref = {}, _ref[type] = (_type = {}, _type[props.dataField] = value.filter(function (item) {
498
503
  return item !== props.missingLabel;
499
- }), _type), _ref2)];
504
+ }), _type), _ref)];
500
505
 
501
506
  if (hasMissingTerm) {
502
507
  should = should.concat({
@@ -523,9 +528,9 @@ MultiDropdownList.defaultQuery = function (value, props) {
523
528
  } else {
524
529
  // adds a sub-query with must as an array of objects for each term/value
525
530
  var queryArray = value.map(function (item) {
526
- var _type3, _ref3;
531
+ var _type3, _ref2;
527
532
 
528
- return _ref3 = {}, _ref3[type] = (_type3 = {}, _type3[props.dataField] = item, _type3), _ref3;
533
+ return _ref2 = {}, _ref2[type] = (_type3 = {}, _type3[props.dataField] = item, _type3), _ref2;
529
534
  });
530
535
  listQuery = {
531
536
  bool: {
@@ -560,6 +565,10 @@ MultiDropdownList.generateQueryOptions = function (props, after) {
560
565
  }) : utils.getAggsQuery(queryOptions, props);
561
566
  };
562
567
 
568
+ MultiDropdownList.hasInternalComponent = function () {
569
+ return true;
570
+ };
571
+
563
572
  var mapStateToProps = function mapStateToProps(state, props) {
564
573
  return {
565
574
  options: props.nestedField && state.aggregations[props.componentId] ? state.aggregations[props.componentId].reactivesearch_nested : state.aggregations[props.componentId],
@@ -581,7 +590,7 @@ var mapDispatchtoProps = {
581
590
  };
582
591
  var ListConnected = ComponentWrapper.ComponentWrapper(index.connect(mapStateToProps, mapDispatchtoProps)(MultiDropdownList), {
583
592
  componentType: constants.componentTypes.multiDropdownList,
584
- internalComponent: true
593
+ internalComponent: MultiDropdownList.hasInternalComponent()
585
594
  });
586
595
 
587
596
  MultiDropdownList.install = function (Vue) {
@@ -32,7 +32,8 @@ var isEqual = configureStore.helper.isEqual,
32
32
  getQueryOptions = configureStore.helper.getQueryOptions,
33
33
  checkValueChange = configureStore.helper.checkValueChange,
34
34
  getClassName = configureStore.helper.getClassName,
35
- getOptionsFromQuery = configureStore.helper.getOptionsFromQuery;
35
+ extractQueryFromCustomQuery = configureStore.helper.extractQueryFromCustomQuery,
36
+ getOptionsForCustomQuery = configureStore.helper.getOptionsForCustomQuery;
36
37
  var MultiList = {
37
38
  name: 'MultiList',
38
39
  props: {
@@ -59,7 +60,7 @@ var MultiList = {
59
60
  showCount: VueTypes.bool.def(true),
60
61
  showFilter: VueTypes.bool.def(true),
61
62
  showSearch: VueTypes.bool.def(true),
62
- size: VueTypes.number.def(100),
63
+ size: VueTypes.number,
63
64
  sortBy: VueTypes.oneOf(['asc', 'desc', 'count']).def('count'),
64
65
  title: vueTypes.types.title,
65
66
  URLParams: VueTypes.bool.def(false),
@@ -346,22 +347,22 @@ var MultiList = {
346
347
  checkValueChange(props.componentId, finalValues, props.beforeValueChange, performUpdate);
347
348
  },
348
349
  updateDefaultQueryHandler: function updateDefaultQueryHandler(value, props) {
349
- var defaultQueryOptions;
350
350
  var query = MultiList.defaultQuery(value, props);
351
351
 
352
352
  if (this.defaultQuery) {
353
353
  var defaultQueryToBeSet = this.defaultQuery(value, props) || {};
354
+ var defaultQueryObj = extractQueryFromCustomQuery(defaultQueryToBeSet);
354
355
 
355
- if (defaultQueryToBeSet.query) {
356
- query = defaultQueryToBeSet.query;
357
- }
356
+ if (defaultQueryObj) {
357
+ query = defaultQueryObj;
358
+ } // Update calculated default query in store
358
359
 
359
- defaultQueryOptions = getOptionsFromQuery(defaultQueryToBeSet); // Update calculated default query in store
360
360
 
361
361
  index.updateDefaultQuery(props.componentId, this.setDefaultQuery, props, value);
362
+ var defaultQueryOptions = getOptionsForCustomQuery(defaultQueryToBeSet);
363
+ this.setQueryOptions(this.internalComponent, defaultQueryOptions, false);
362
364
  }
363
365
 
364
- this.setQueryOptions(this.internalComponent, defaultQueryOptions, false);
365
366
  this.updateQuery({
366
367
  componentId: this.internalComponent,
367
368
  query: query,
@@ -372,17 +373,15 @@ var MultiList = {
372
373
  updateQueryHandler: function updateQueryHandler(value, props) {
373
374
  var customQuery = props.customQuery;
374
375
  var query = MultiList.defaultQuery(value, props);
375
- var customQueryOptions;
376
376
 
377
377
  if (customQuery) {
378
- var _ref = customQuery(value, props) || {};
379
-
380
- query = _ref.query;
381
- customQueryOptions = getOptionsFromQuery(customQuery(value, props));
378
+ var customQueryCalc = customQuery(value, props);
379
+ query = extractQueryFromCustomQuery(customQueryCalc);
382
380
  index.updateCustomQuery(props.componentId, this.setCustomQuery, props, value);
381
+ var customQueryOptions = getOptionsForCustomQuery(customQueryCalc);
382
+ this.setQueryOptions(props.componentId, customQueryOptions, false);
383
383
  }
384
384
 
385
- this.setQueryOptions(props.componentId, customQueryOptions, false);
386
385
  this.updateQuery({
387
386
  componentId: props.componentId,
388
387
  query: query,
@@ -402,7 +401,7 @@ var MultiList = {
402
401
 
403
402
  if (props.defaultQuery) {
404
403
  var value = Object.keys(this.$data.currentValue);
405
- var defaultQueryOptions = getOptionsFromQuery(props.defaultQuery(value, props));
404
+ var defaultQueryOptions = getOptionsForCustomQuery(props.defaultQuery(value, props));
406
405
  this.setQueryOptions(this.internalComponent, _rollupPluginBabelHelpers._extends({}, queryOptions, defaultQueryOptions));
407
406
  } else {
408
407
  this.setQueryOptions(this.internalComponent, queryOptions);
@@ -488,7 +487,13 @@ var MultiList = {
488
487
 
489
488
  MultiList.defaultQuery = function (value, props) {
490
489
  var query = null;
491
- var type = props.queryFormat === 'or' ? 'terms' : 'term';
490
+ var queryFormat = props.queryFormat;
491
+
492
+ if (queryFormat === undefined) {
493
+ queryFormat = 'or';
494
+ }
495
+
496
+ var type = queryFormat === 'or' ? 'terms' : 'term';
492
497
 
493
498
  if (!Array.isArray(value) || value.length === 0) {
494
499
  return null;
@@ -509,14 +514,14 @@ MultiList.defaultQuery = function (value, props) {
509
514
  } else if (value) {
510
515
  var listQuery;
511
516
 
512
- if (props.queryFormat === 'or') {
517
+ if (queryFormat === 'or') {
513
518
  if (props.showMissing) {
514
- var _type, _ref2;
519
+ var _type, _ref;
515
520
 
516
521
  var hasMissingTerm = value.includes(props.missingLabel);
517
- var should = [(_ref2 = {}, _ref2[type] = (_type = {}, _type[props.dataField] = value.filter(function (item) {
522
+ var should = [(_ref = {}, _ref[type] = (_type = {}, _type[props.dataField] = value.filter(function (item) {
518
523
  return item !== props.missingLabel;
519
- }), _type), _ref2)];
524
+ }), _type), _ref)];
520
525
 
521
526
  if (hasMissingTerm) {
522
527
  should = should.concat({
@@ -543,9 +548,9 @@ MultiList.defaultQuery = function (value, props) {
543
548
  } else {
544
549
  // adds a sub-query with must as an array of objects for each term/value
545
550
  var queryArray = value.map(function (item) {
546
- var _type3, _ref3;
551
+ var _type3, _ref2;
547
552
 
548
- return _ref3 = {}, _ref3[type] = (_type3 = {}, _type3[props.dataField] = item, _type3), _ref3;
553
+ return _ref2 = {}, _ref2[type] = (_type3 = {}, _type3[props.dataField] = item, _type3), _ref2;
549
554
  });
550
555
  listQuery = {
551
556
  bool: {
@@ -595,9 +600,14 @@ var mapDispatchtoProps = {
595
600
  setCustomQuery: setCustomQuery,
596
601
  setDefaultQuery: setDefaultQuery
597
602
  };
603
+
604
+ MultiList.hasInternalComponent = function () {
605
+ return true;
606
+ };
607
+
598
608
  var ListConnected = ComponentWrapper.ComponentWrapper(index.connect(mapStateToProps, mapDispatchtoProps)(MultiList), {
599
609
  componentType: constants.componentTypes.multiList,
600
- internalComponent: true
610
+ internalComponent: MultiList.hasInternalComponent()
601
611
  });
602
612
 
603
613
  MultiList.install = function (Vue) {
@@ -138,17 +138,16 @@ var MultiRange = {
138
138
  updateQueryHandler: function updateQueryHandler(value, props) {
139
139
  var customQuery = props.customQuery;
140
140
  var query = MultiRange.defaultQuery(value, props);
141
- var customQueryOptions;
142
141
 
143
142
  if (customQuery) {
144
143
  var _ref = customQuery(value, props) || {};
145
144
 
146
145
  query = _ref.query;
147
- customQueryOptions = getOptionsFromQuery(customQuery(value, props));
146
+ var customQueryOptions = getOptionsFromQuery(customQuery(value, props));
148
147
  index.updateCustomQuery(this.componentId, this.setCustomQuery, this.$props, this.currentValue);
148
+ this.setQueryOptions(props.componentId, customQueryOptions, false);
149
149
  }
150
150
 
151
- this.setQueryOptions(props.componentId, customQueryOptions, false);
152
151
  this.updateQuery({
153
152
  componentId: props.componentId,
154
153
  query: query,
@@ -115,14 +115,14 @@ var RangeSlider = {
115
115
  updateQueryHandler: function updateQueryHandler(value, props) {
116
116
  var customQuery = props.customQuery;
117
117
  var query = RangeSlider.defaultQuery(value, props);
118
- var customQueryOptions;
119
118
 
120
119
  if (customQuery) {
121
120
  var _ref = customQuery(value, props) || {};
122
121
 
123
122
  query = _ref.query;
124
- customQueryOptions = getOptionsFromQuery(customQuery(value, props));
123
+ var customQueryOptions = getOptionsFromQuery(customQuery(value, props));
125
124
  index.updateCustomQuery(this.componentId, this.setCustomQuery, this.$props, this.currentValue);
125
+ this.setQueryOptions(props.componentId, customQueryOptions, false);
126
126
  }
127
127
 
128
128
  var showFilter = props.showFilter,
@@ -133,7 +133,6 @@ var RangeSlider = {
133
133
  currentEnd = value[1]; // check if the slider is at its initial position
134
134
 
135
135
  var isInitialValue = currentStart === start && currentEnd === end;
136
- this.setQueryOptions(props.componentId, customQueryOptions, false);
137
136
  this.updateQuery({
138
137
  componentId: props.componentId,
139
138
  query: query,