@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
@@ -6,22 +6,23 @@ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'defau
6
6
 
7
7
  var configureStore = require('@appbaseio/reactivecore');
8
8
  var configureStore__default = _interopDefault(configureStore);
9
- var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-4abdbfff.js');
9
+ var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-c705cbe6.js');
10
10
  var VueTypes = _interopDefault(require('vue-types'));
11
11
  var constants = require('@appbaseio/reactivecore/lib/utils/constants');
12
12
  require('emotion');
13
13
  require('@appbaseio/vue-emotion');
14
14
  require('polished');
15
- var vueTypes = require('./vueTypes-c21f265b.js');
15
+ var vueTypes = require('./vueTypes-6de9d2a9.js');
16
16
  require('@appbaseio/reactivecore/lib/utils/transform');
17
17
  require('redux');
18
- var index = require('./index-baca18c4.js');
19
- var ComponentWrapper = require('./ComponentWrapper-603848ed.js');
20
- var Title = require('./Title-65d39104.js');
21
- var Input = require('./Input-95cb19f8.js');
22
- var Container = require('./Container-6cdd3864.js');
23
- var FormControlList = require('./FormControlList-f3857d4b.js');
24
- var utils = require('./utils-ea846a20.js');
18
+ var index = require('./index-6a167fe0.js');
19
+ var ComponentWrapper = require('./ComponentWrapper-ad3dad02.js');
20
+ var Title = require('./Title-1de7d0f4.js');
21
+ var Input = require('./Input-e6603a7e.js');
22
+ var Container = require('./Container-daf30918.js');
23
+ var suggestions = require('@appbaseio/reactivecore/lib/utils/suggestions');
24
+ var FormControlList = require('./FormControlList-c195a592.js');
25
+ var utils = require('./utils-d6a52588.js');
25
26
 
26
27
  var updateQuery = configureStore.Actions.updateQuery,
27
28
  setQueryOptions = configureStore.Actions.setQueryOptions,
@@ -31,7 +32,8 @@ var isEqual = configureStore.helper.isEqual,
31
32
  getQueryOptions = configureStore.helper.getQueryOptions,
32
33
  checkValueChange = configureStore.helper.checkValueChange,
33
34
  getClassName = configureStore.helper.getClassName,
34
- getOptionsFromQuery = configureStore.helper.getOptionsFromQuery;
35
+ extractQueryFromCustomQuery = configureStore.helper.extractQueryFromCustomQuery,
36
+ getOptionsForCustomQuery = configureStore.helper.getOptionsForCustomQuery;
35
37
  var MultiList = {
36
38
  name: 'MultiList',
37
39
  props: {
@@ -40,7 +42,7 @@ var MultiList = {
40
42
  queryFormat: VueTypes.oneOf(['and', 'or']).def('or'),
41
43
  showCheckbox: VueTypes.bool.def(true),
42
44
  beforeValueChange: vueTypes.types.func,
43
- className: vueTypes.types.string.def(''),
45
+ className: VueTypes.string.def(''),
44
46
  componentId: vueTypes.types.stringRequired,
45
47
  customQuery: vueTypes.types.func,
46
48
  dataField: vueTypes.types.stringRequired,
@@ -58,43 +60,53 @@ var MultiList = {
58
60
  showCount: VueTypes.bool.def(true),
59
61
  showFilter: VueTypes.bool.def(true),
60
62
  showSearch: VueTypes.bool.def(true),
61
- size: VueTypes.number.def(100),
63
+ size: VueTypes.number,
62
64
  sortBy: VueTypes.oneOf(['asc', 'desc', 'count']).def('count'),
63
65
  title: vueTypes.types.title,
64
66
  URLParams: VueTypes.bool.def(false),
65
67
  showMissing: VueTypes.bool.def(false),
66
68
  missingLabel: VueTypes.string.def('N/A'),
67
- nestedField: vueTypes.types.string
69
+ nestedField: vueTypes.types.string,
70
+ index: VueTypes.string
68
71
  },
69
72
  data: function data() {
70
73
  var props = this.$props;
71
74
  this.__state = {
72
75
  currentValue: {},
73
- modifiedOptions: props.options && props.options[props.dataField] ? props.options[props.dataField].buckets : [],
76
+ modifiedOptions: [],
74
77
  searchTerm: ''
75
78
  };
76
79
  this.internalComponent = props.componentId + "__internal";
77
80
  return this.__state;
78
81
  },
79
82
  created: function created() {
80
- // Set custom and default queries in store
83
+ if (!this.enableAppbase && this.$props.index) {
84
+ console.warn('Warning(ReactiveSearch): In order to use the `index` prop, the `enableAppbase` prop must be set to true in `ReactiveBase`.');
85
+ }
86
+
87
+ var props = this.$props;
88
+ this.modifiedOptions = this.options && this.options[props.dataField] ? this.options[props.dataField].buckets : []; // Set custom and default queries in store
89
+
81
90
  index.updateCustomQuery(this.componentId, this.setCustomQuery, this.$props, this.currentValue);
82
91
  index.updateDefaultQuery(this.componentId, this.setDefaultQuery, this.$props, this.currentValue);
83
92
  },
84
93
  beforeMount: function beforeMount() {
85
94
  this.updateQueryHandlerOptions(this.$props);
95
+ var value = this.selectedValue || this.$props.value || this.$props.defaultValue;
96
+ this.setValue(value, !this.selectedValue);
97
+ },
98
+ mounted: function mounted() {
99
+ var currentValue = Object.keys(this.$data.currentValue);
86
100
 
87
- if (this.selectedValue) {
88
- this.setValue(this.selectedValue);
89
- } else if (this.$props.value) {
90
- this.setValue(this.$props.value, true);
91
- } else if (this.$props.defaultValue) {
92
- this.setValue(this.$props.defaultValue, true);
101
+ if (this.$props.value !== undefined && !isEqual(this.$props.value, currentValue)) {
102
+ this.$emit('change', currentValue);
93
103
  }
94
104
  },
95
105
  watch: {
96
106
  options: function options(newVal) {
97
- this.modifiedOptions = newVal[this.$props.dataField] ? newVal[this.$props.dataField].buckets : [];
107
+ if (newVal) {
108
+ this.modifiedOptions = newVal[this.$props.dataField] ? newVal[this.$props.dataField].buckets : [];
109
+ }
98
110
  },
99
111
  size: function size() {
100
112
  this.updateQueryHandlerOptions(this.$props);
@@ -132,7 +144,11 @@ var MultiList = {
132
144
  }
133
145
 
134
146
  if (!isEqual(selectedValue, newVal)) {
135
- this.setValue(newVal || [], true);
147
+ if (this.value === undefined) {
148
+ this.setValue(newVal, true);
149
+ } else {
150
+ this.$emit('change', newVal);
151
+ }
136
152
  }
137
153
  },
138
154
  defaultQuery: function defaultQuery(newVal, oldVal) {
@@ -161,8 +177,12 @@ var MultiList = {
161
177
  return index.isFunction(renderErrorCalc) ? renderErrorCalc(this.error) : renderErrorCalc;
162
178
  }
163
179
 
164
- if (!this.hasCustomRenderer && this.modifiedOptions.length === 0) {
165
- return null;
180
+ if (!this.hasCustomRenderer && this.modifiedOptions.length === 0 && !this.isLoading) {
181
+ if (this.renderNoResult) {
182
+ this.renderNoResult();
183
+ } else {
184
+ return null;
185
+ }
166
186
  }
167
187
 
168
188
  var itemsToRender = this.$data.modifiedOptions;
@@ -174,7 +194,7 @@ var MultiList = {
174
194
  var filteredItemsToRender = itemsToRender.filter(function (item) {
175
195
  if (String(item.key).length) {
176
196
  if (_this2.$props.showSearch && _this2.$data.searchTerm) {
177
- return String(item.key).toLowerCase().includes(_this2.$data.searchTerm.toLowerCase());
197
+ return suggestions.replaceDiacritics(String(item.key)).toLowerCase().includes(suggestions.replaceDiacritics(_this2.$data.searchTerm).toLowerCase());
178
198
  }
179
199
 
180
200
  return true;
@@ -327,22 +347,22 @@ var MultiList = {
327
347
  checkValueChange(props.componentId, finalValues, props.beforeValueChange, performUpdate);
328
348
  },
329
349
  updateDefaultQueryHandler: function updateDefaultQueryHandler(value, props) {
330
- var defaultQueryOptions;
331
350
  var query = MultiList.defaultQuery(value, props);
332
351
 
333
352
  if (this.defaultQuery) {
334
353
  var defaultQueryToBeSet = this.defaultQuery(value, props) || {};
354
+ var defaultQueryObj = extractQueryFromCustomQuery(defaultQueryToBeSet);
335
355
 
336
- if (defaultQueryToBeSet.query) {
337
- query = defaultQueryToBeSet.query;
338
- }
356
+ if (defaultQueryObj) {
357
+ query = defaultQueryObj;
358
+ } // Update calculated default query in store
339
359
 
340
- defaultQueryOptions = getOptionsFromQuery(defaultQueryToBeSet); // Update calculated default query in store
341
360
 
342
361
  index.updateDefaultQuery(props.componentId, this.setDefaultQuery, props, value);
362
+ var defaultQueryOptions = getOptionsForCustomQuery(defaultQueryToBeSet);
363
+ this.setQueryOptions(this.internalComponent, defaultQueryOptions, false);
343
364
  }
344
365
 
345
- this.setQueryOptions(this.internalComponent, defaultQueryOptions);
346
366
  this.updateQuery({
347
367
  componentId: this.internalComponent,
348
368
  query: query,
@@ -353,17 +373,15 @@ var MultiList = {
353
373
  updateQueryHandler: function updateQueryHandler(value, props) {
354
374
  var customQuery = props.customQuery;
355
375
  var query = MultiList.defaultQuery(value, props);
356
- var customQueryOptions;
357
376
 
358
377
  if (customQuery) {
359
- var _ref = customQuery(value, props) || {};
360
-
361
- query = _ref.query;
362
- customQueryOptions = getOptionsFromQuery(customQuery(value, props));
378
+ var customQueryCalc = customQuery(value, props);
379
+ query = extractQueryFromCustomQuery(customQueryCalc);
363
380
  index.updateCustomQuery(props.componentId, this.setCustomQuery, props, value);
381
+ var customQueryOptions = getOptionsForCustomQuery(customQueryCalc);
382
+ this.setQueryOptions(props.componentId, customQueryOptions, false);
364
383
  }
365
384
 
366
- this.setQueryOptions(props.componentId, customQueryOptions);
367
385
  this.updateQuery({
368
386
  componentId: props.componentId,
369
387
  query: query,
@@ -383,8 +401,8 @@ var MultiList = {
383
401
 
384
402
  if (props.defaultQuery) {
385
403
  var value = Object.keys(this.$data.currentValue);
386
- var defaultQueryOptions = getOptionsFromQuery(props.defaultQuery(value, props));
387
- this.setQueryOptions(this.internalComponent, _rollupPluginBabelHelpers._extends(_rollupPluginBabelHelpers._extends({}, queryOptions), defaultQueryOptions));
404
+ var defaultQueryOptions = getOptionsForCustomQuery(props.defaultQuery(value, props));
405
+ this.setQueryOptions(this.internalComponent, _rollupPluginBabelHelpers._extends({}, queryOptions, defaultQueryOptions));
388
406
  } else {
389
407
  this.setQueryOptions(this.internalComponent, queryOptions);
390
408
  }
@@ -427,7 +445,7 @@ var MultiList = {
427
445
  if (value === undefined) {
428
446
  this.setValue(currentValue);
429
447
  } else {
430
- var values = index.parseValueArray(value, currentValue);
448
+ var values = index.parseValueArray(value || [], currentValue);
431
449
  this.$emit('change', values);
432
450
  }
433
451
  },
@@ -469,7 +487,13 @@ var MultiList = {
469
487
 
470
488
  MultiList.defaultQuery = function (value, props) {
471
489
  var query = null;
472
- 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';
473
497
 
474
498
  if (!Array.isArray(value) || value.length === 0) {
475
499
  return null;
@@ -490,14 +514,14 @@ MultiList.defaultQuery = function (value, props) {
490
514
  } else if (value) {
491
515
  var listQuery;
492
516
 
493
- if (props.queryFormat === 'or') {
517
+ if (queryFormat === 'or') {
494
518
  if (props.showMissing) {
495
- var _type, _ref2;
519
+ var _type, _ref;
496
520
 
497
521
  var hasMissingTerm = value.includes(props.missingLabel);
498
- 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) {
499
523
  return item !== props.missingLabel;
500
- }), _type), _ref2)];
524
+ }), _type), _ref)];
501
525
 
502
526
  if (hasMissingTerm) {
503
527
  should = should.concat({
@@ -524,9 +548,9 @@ MultiList.defaultQuery = function (value, props) {
524
548
  } else {
525
549
  // adds a sub-query with must as an array of objects for each term/value
526
550
  var queryArray = value.map(function (item) {
527
- var _type3, _ref3;
551
+ var _type3, _ref2;
528
552
 
529
- return _ref3 = {}, _ref3[type] = (_type3 = {}, _type3[props.dataField] = item, _type3), _ref3;
553
+ return _ref2 = {}, _ref2[type] = (_type3 = {}, _type3[props.dataField] = item, _type3), _ref2;
530
554
  });
531
555
  listQuery = {
532
556
  bool: {
@@ -565,7 +589,8 @@ var mapStateToProps = function mapStateToProps(state, props) {
565
589
  selectedValue: state.selectedValues[props.componentId] && state.selectedValues[props.componentId].value || null,
566
590
  themePreset: state.config.themePreset,
567
591
  error: state.error[props.componentId],
568
- componentProps: state.props[props.componentId]
592
+ componentProps: state.props[props.componentId],
593
+ enableAppbase: state.config.enableAppbase
569
594
  };
570
595
  };
571
596
 
@@ -575,9 +600,14 @@ var mapDispatchtoProps = {
575
600
  setCustomQuery: setCustomQuery,
576
601
  setDefaultQuery: setDefaultQuery
577
602
  };
603
+
604
+ MultiList.hasInternalComponent = function () {
605
+ return true;
606
+ };
607
+
578
608
  var ListConnected = ComponentWrapper.ComponentWrapper(index.connect(mapStateToProps, mapDispatchtoProps)(MultiList), {
579
609
  componentType: constants.componentTypes.multiList,
580
- internalComponent: true
610
+ internalComponent: MultiList.hasInternalComponent()
581
611
  });
582
612
 
583
613
  MultiList.install = function (Vue) {
@@ -6,20 +6,20 @@ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'defau
6
6
 
7
7
  var configureStore = require('@appbaseio/reactivecore');
8
8
  var configureStore__default = _interopDefault(configureStore);
9
- var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-4abdbfff.js');
9
+ var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-c705cbe6.js');
10
10
  var VueTypes = _interopDefault(require('vue-types'));
11
11
  var constants = require('@appbaseio/reactivecore/lib/utils/constants');
12
12
  require('emotion');
13
13
  require('@appbaseio/vue-emotion');
14
14
  require('polished');
15
- var vueTypes = require('./vueTypes-c21f265b.js');
15
+ var vueTypes = require('./vueTypes-6de9d2a9.js');
16
16
  require('@appbaseio/reactivecore/lib/utils/transform');
17
17
  require('redux');
18
- var index = require('./index-baca18c4.js');
19
- var ComponentWrapper = require('./ComponentWrapper-603848ed.js');
20
- var Title = require('./Title-65d39104.js');
21
- var Container = require('./Container-6cdd3864.js');
22
- var FormControlList = require('./FormControlList-f3857d4b.js');
18
+ var index = require('./index-6a167fe0.js');
19
+ var ComponentWrapper = require('./ComponentWrapper-ad3dad02.js');
20
+ var Title = require('./Title-1de7d0f4.js');
21
+ var Container = require('./Container-daf30918.js');
22
+ var FormControlList = require('./FormControlList-c195a592.js');
23
23
 
24
24
  var updateQuery = configureStore.Actions.updateQuery,
25
25
  setQueryOptions = configureStore.Actions.setQueryOptions,
@@ -55,7 +55,8 @@ var MultiRange = {
55
55
  showCheckbox: VueTypes.bool.def(true),
56
56
  title: vueTypes.types.title,
57
57
  URLParams: VueTypes.bool.def(false),
58
- nestedField: vueTypes.types.string
58
+ nestedField: vueTypes.types.string,
59
+ index: VueTypes.string
59
60
  },
60
61
  methods: {
61
62
  handleClick: function handleClick(e) {
@@ -99,7 +100,7 @@ var MultiRange = {
99
100
  if (reset) {
100
101
  selectedValues = values;
101
102
  } else {
102
- selectedValues = _rollupPluginBabelHelpers._extends(_rollupPluginBabelHelpers._extends({}, selectedValues), values);
103
+ selectedValues = _rollupPluginBabelHelpers._extends({}, selectedValues, values);
103
104
  }
104
105
  } else if (selectedValues[item]) {
105
106
  currentValue = currentValue.filter(function (value) {
@@ -118,7 +119,7 @@ var MultiRange = {
118
119
  return item.indexOf(value.label) !== -1;
119
120
  });
120
121
  currentValue = [].concat(currentValue, currentItems);
121
- selectedValues = _rollupPluginBabelHelpers._extends(_rollupPluginBabelHelpers._extends({}, selectedValues), {}, (_extends2 = {}, _extends2[item] = true, _extends2));
122
+ selectedValues = _rollupPluginBabelHelpers._extends({}, selectedValues, (_extends2 = {}, _extends2[typeof item === 'object' ? item.label : item] = true, _extends2));
122
123
  }
123
124
 
124
125
  var performUpdate = function performUpdate() {
@@ -137,17 +138,16 @@ var MultiRange = {
137
138
  updateQueryHandler: function updateQueryHandler(value, props) {
138
139
  var customQuery = props.customQuery;
139
140
  var query = MultiRange.defaultQuery(value, props);
140
- var customQueryOptions;
141
141
 
142
142
  if (customQuery) {
143
143
  var _ref = customQuery(value, props) || {};
144
144
 
145
145
  query = _ref.query;
146
- customQueryOptions = getOptionsFromQuery(customQuery(value, props));
146
+ var customQueryOptions = getOptionsFromQuery(customQuery(value, props));
147
147
  index.updateCustomQuery(this.componentId, this.setCustomQuery, this.$props, this.currentValue);
148
+ this.setQueryOptions(props.componentId, customQueryOptions, false);
148
149
  }
149
150
 
150
- this.setQueryOptions(props.componentId, customQueryOptions);
151
151
  this.updateQuery({
152
152
  componentId: props.componentId,
153
153
  query: query,
@@ -173,7 +173,7 @@ var MultiRange = {
173
173
  },
174
174
  selectedValue: function selectedValue(newVal) {
175
175
  if (!isEqual(this.$data.currentValue, newVal)) {
176
- this.selectItem(newVal);
176
+ this.selectItem(newVal, true, undefined, true);
177
177
  }
178
178
  },
179
179
  customQuery: function customQuery(newVal, oldVal) {
@@ -183,7 +183,11 @@ var MultiRange = {
183
183
  }
184
184
  },
185
185
  created: function created() {
186
- // Set custom query in store
186
+ if (!this.enableAppbase && this.$props.index) {
187
+ console.warn('Warning(ReactiveSearch): In order to use the `index` prop, the `enableAppbase` prop must be set to true in `ReactiveBase`.');
188
+ } // Set custom query in store
189
+
190
+
187
191
  index.updateCustomQuery(this.componentId, this.setCustomQuery, this.$props, this.currentValue);
188
192
  },
189
193
  beforeMount: function beforeMount() {
@@ -289,7 +293,8 @@ MultiRange.defaultQuery = function (values, props) {
289
293
  var mapStateToProps = function mapStateToProps(state, props) {
290
294
  return {
291
295
  selectedValue: state.selectedValues[props.componentId] && state.selectedValues[props.componentId].value || null,
292
- componentProps: state.props[props.componentId]
296
+ componentProps: state.props[props.componentId],
297
+ enableAppbase: state.config.enableAppbase
293
298
  };
294
299
  };
295
300
 
@@ -4,8 +4,9 @@ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'defau
4
4
 
5
5
  var configureStore = require('@appbaseio/reactivecore');
6
6
  var configureStore__default = _interopDefault(configureStore);
7
- var Button = require('./Button-d48d4365.js');
8
- var vueTypes = require('./vueTypes-c21f265b.js');
7
+ var VueTypes = _interopDefault(require('vue-types'));
8
+ var Button = require('./Button-446f819e.js');
9
+ var vueTypes = require('./vueTypes-6de9d2a9.js');
9
10
 
10
11
  var getClassName = configureStore.helper.getClassName,
11
12
  handleA11yAction = configureStore.helper.handleA11yAction;
@@ -25,7 +26,7 @@ var Pagination = {
25
26
  pages: vueTypes.types.number,
26
27
  setPage: vueTypes.types.func,
27
28
  totalPages: vueTypes.types.number,
28
- showEndPage: vueTypes.types.bool,
29
+ showEndPage: VueTypes.bool,
29
30
  prevLabel: vueTypes.types.string,
30
31
  nextLabel: vueTypes.types.string
31
32
  },
@@ -61,6 +62,7 @@ var Pagination = {
61
62
  showEndPage = props.showEndPage;
62
63
  var start = position === 'start' ? getStartPage(pages, currentPage, showEndPage) : Math.max(2, Math.ceil(totalPages - (pages - 1) / 2 + 1));
63
64
  var paginationButtons = [];
65
+ var endPage = start;
64
66
 
65
67
  if (start <= totalPages) {
66
68
  var totalPagesToShow = pages < totalPages ? start + (pages - 1) : totalPages + 1;
@@ -98,6 +100,10 @@ var Pagination = {
98
100
 
99
101
  if (i <= totalPages + 1) {
100
102
  paginationButtons.push(pageBtn);
103
+
104
+ if (i === Math.min(totalPages + 1, totalPagesToShow) - 1) {
105
+ endPage = i;
106
+ }
101
107
  }
102
108
  };
103
109
 
@@ -106,7 +112,7 @@ var Pagination = {
106
112
  }
107
113
  }
108
114
 
109
- return paginationButtons;
115
+ return [paginationButtons, start, endPage];
110
116
  };
111
117
 
112
118
  var buildIntermediatePaginationDom = function buildIntermediatePaginationDom() {
@@ -114,10 +120,10 @@ var Pagination = {
114
120
  currentPage = props.currentPage,
115
121
  totalPages = props.totalPages,
116
122
  pages = props.pages;
117
- if (!showEndPage) return buildPaginationDOM('start');
123
+ if (!showEndPage) return buildPaginationDOM('start')[0];
118
124
 
119
- if (currentPage <= totalPages - pages + 2 || totalPages <= pages) {
120
- return buildPaginationDOM('start');
125
+ if (currentPage <= totalPages - pages + 2 || totalPages < pages) {
126
+ return buildPaginationDOM('start')[0];
121
127
  }
122
128
 
123
129
  return null;
@@ -153,7 +159,7 @@ var Pagination = {
153
159
  return props.setPage(0);
154
160
  }
155
161
  }
156
- }, ["1"]), props.showEndPage && props.currentPage >= Math.floor(props.pages / 2) + !!(props.pages % 2) ? h("span", ["..."]) : null, buildIntermediatePaginationDom(), props.showEndPage && props.pages > 2 && props.currentPage <= props.totalPages - Math.ceil(props.pages * 0.75) ? h("span", ["..."]) : null, props.showEndPage && props.totalPages >= props.pages && buildPaginationDOM('end'), h(Button.Button, {
162
+ }, ["1"]), props.showEndPage && props.currentPage >= Math.floor(props.pages / 2) + !!(props.pages % 2) && buildPaginationDOM('start')[1] !== 2 ? h("span", ["..."]) : null, buildIntermediatePaginationDom(), props.showEndPage && props.pages > 2 && props.currentPage <= props.totalPages - Math.ceil(props.pages * 0.75) && buildPaginationDOM('start')[2] !== buildPaginationDOM('end')[1] - 1 ? h("span", ["..."]) : null, props.showEndPage && props.totalPages >= props.pages && buildPaginationDOM('end')[0], h(Button.Button, {
157
163
  "class": getClassName(props.innerClass, 'button') || '',
158
164
  "attrs": {
159
165
  "disabled": props.currentPage >= props.totalPages - 1,
@@ -6,58 +6,38 @@ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'defau
6
6
 
7
7
  var configureStore = require('@appbaseio/reactivecore');
8
8
  var configureStore__default = _interopDefault(configureStore);
9
- var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-4abdbfff.js');
9
+ var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-c705cbe6.js');
10
10
  var VueTypes = _interopDefault(require('vue-types'));
11
11
  var constants = require('@appbaseio/reactivecore/lib/utils/constants');
12
12
  var emotion = require('emotion');
13
13
  var styled = require('@appbaseio/vue-emotion');
14
14
  var styled__default = _interopDefault(styled);
15
15
  require('polished');
16
- var vueTypes = require('./vueTypes-c21f265b.js');
16
+ var vueTypes = require('./vueTypes-6de9d2a9.js');
17
17
  require('@appbaseio/reactivecore/lib/utils/transform');
18
18
  require('redux');
19
- var index = require('./index-baca18c4.js');
20
- var ComponentWrapper = require('./ComponentWrapper-603848ed.js');
21
- require('./Title-65d39104.js');
22
- var Flex = require('./Flex-befd65fc.js');
23
- var Input = require('./Input-95cb19f8.js');
24
- var Container = require('./Container-6cdd3864.js');
19
+ var index = require('./index-6a167fe0.js');
20
+ var ComponentWrapper = require('./ComponentWrapper-ad3dad02.js');
21
+ require('./Title-1de7d0f4.js');
22
+ var Flex = require('./Flex-aa517a13.js');
23
+ var Input = require('./Input-e6603a7e.js');
24
+ var Container = require('./Container-daf30918.js');
25
25
  require('vue-no-ssr');
26
- require('./ssr-3ca8a14f.js');
26
+ require('./ssr-3027b848.js');
27
27
  var RangeSlider = require('./RangeSlider.js');
28
28
 
29
- function _templateObject2() {
30
- var data = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\t", ";\n\tfont-size: 13px;\n\tmargin: 8px;\n"]);
31
-
32
- _templateObject2 = function _templateObject2() {
33
- return data;
34
- };
35
-
36
- return data;
37
- }
38
-
39
- function _templateObject() {
40
- var data = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\tcolor: ", ";\n"]);
41
-
42
- _templateObject = function _templateObject() {
43
- return data;
44
- };
45
-
46
- return data;
47
- }
29
+ var _templateObject, _templateObject2;
48
30
 
49
31
  var alert = function alert(_ref) {
50
32
  var theme = _ref.theme;
51
- return emotion.css(_templateObject(), theme.colors.alertColor);
33
+ return emotion.css(_templateObject || (_templateObject = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\tcolor: ", ";\n"])), theme.colors.alertColor);
52
34
  };
53
35
 
54
- var Content = styled__default('div')(_templateObject2(), function (props) {
36
+ var Content = styled__default('div')(_templateObject2 || (_templateObject2 = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\t", ";\n\tfont-size: 13px;\n\tmargin: 8px;\n"])), function (props) {
55
37
  return props.alert && alert;
56
38
  });
57
39
 
58
- var checkValueChange = configureStore.helper.checkValueChange,
59
- getClassName = configureStore.helper.getClassName,
60
- getOptionsFromQuery = configureStore.helper.getOptionsFromQuery,
40
+ var getClassName = configureStore.helper.getClassName,
61
41
  isEqual = configureStore.helper.isEqual;
62
42
  var RangeInput = {
63
43
  name: 'RangeInput',
@@ -103,7 +83,7 @@ var RangeInput = {
103
83
  stepValue: vueTypes.types.number,
104
84
  componentStyle: vueTypes.types.style,
105
85
  componentId: vueTypes.types.stringRequired,
106
- includeNullValues: vueTypes.types.bool,
86
+ includeNullValues: VueTypes.bool,
107
87
  beforeValueChange: vueTypes.types.func,
108
88
  customQuery: vueTypes.types.func,
109
89
  data: vueTypes.types.data,
@@ -138,17 +118,19 @@ var RangeInput = {
138
118
  return false;
139
119
  },
140
120
  handleChange: function handleChange(value, event) {
121
+ var currentValue = value;
122
+
141
123
  if (this.shouldUpdate(value) && !isEqual(value, this.currentValue)) {
142
124
  switch (event) {
143
125
  case 'change':
144
126
  if (!value) {
145
- value = {
127
+ currentValue = {
146
128
  start: this.$props.range ? this.$props.range.start : 0,
147
129
  end: this.$props.range ? this.$props.range.end : 10
148
130
  };
149
131
  }
150
132
 
151
- this.$data.currentValue = _rollupPluginBabelHelpers._extends({}, value);
133
+ this.$data.currentValue = _rollupPluginBabelHelpers._extends({}, currentValue);
152
134
  this.$emit('change', this.$data.currentValue);
153
135
  break;
154
136
 
@@ -158,13 +140,13 @@ var RangeInput = {
158
140
  break;
159
141
 
160
142
  default:
161
- this.$data.currentValue = _rollupPluginBabelHelpers._extends({}, value);
143
+ this.$data.currentValue = _rollupPluginBabelHelpers._extends({}, currentValue);
162
144
  break;
163
145
  }
164
146
  }
165
147
  },
166
148
  handleOnChange: function handleOnChange(value) {
167
- this.handleChange(value, 'change');
149
+ this.handleChange(value || this.$props.range, 'change');
168
150
  },
169
151
  handleValueChange: function handleValueChange(value) {
170
152
  this.handleChange(value, 'value-change');
@@ -180,12 +162,10 @@ var RangeInput = {
180
162
  } else {
181
163
  this.$data.isEndValid = false;
182
164
  }
183
- } else {
184
- if (name === 'start' && !this.$data.isStartValid) {
185
- this.$data.isStartValid = true;
186
- } else if (name === 'end' && !this.$data.isEndValid) {
187
- this.$data.isEndValid = true;
188
- }
165
+ } else if (name === 'start' && !this.$data.isStartValid) {
166
+ this.$data.isStartValid = true;
167
+ } else if (name === 'end' && !this.$data.isEndValid) {
168
+ this.$data.isEndValid = true;
189
169
  }
190
170
 
191
171
  if (this.$data.isStartValid && this.$data.isEndValid) {
@@ -221,6 +201,10 @@ var RangeInput = {
221
201
  if (this.$props.defaultValue && this.$props.defaultValue.start && this.$props.defaultValue.end) {
222
202
  this.handleChange(this.$props.defaultValue);
223
203
  }
204
+
205
+ if (this.isControlled()) {
206
+ this.handleChange(this.$props.value, 'change');
207
+ }
224
208
  },
225
209
  render: function render() {
226
210
  var h = arguments[0];
@@ -342,7 +326,7 @@ var RangeInput = {
342
326
  }
343
327
  };
344
328
 
345
- var mapStateToProps = function mapStateToProps(state, props) {
329
+ var mapStateToProps = function mapStateToProps(state) {
346
330
  return {
347
331
  themePreset: state.config.themePreset
348
332
  };