@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,
@@ -30,13 +31,14 @@ var updateQuery = configureStore.Actions.updateQuery,
30
31
  var getQueryOptions = configureStore.helper.getQueryOptions,
31
32
  checkValueChange = configureStore.helper.checkValueChange,
32
33
  getClassName = configureStore.helper.getClassName,
33
- getOptionsFromQuery = configureStore.helper.getOptionsFromQuery,
34
- isEqual = configureStore.helper.isEqual;
34
+ isEqual = configureStore.helper.isEqual,
35
+ extractQueryFromCustomQuery = configureStore.helper.extractQueryFromCustomQuery,
36
+ getOptionsForCustomQuery = configureStore.helper.getOptionsForCustomQuery;
35
37
  var SingleList = {
36
38
  name: 'SingleList',
37
39
  props: {
38
40
  beforeValueChange: vueTypes.types.func,
39
- className: vueTypes.types.string.def(''),
41
+ className: VueTypes.string.def(''),
40
42
  componentId: vueTypes.types.stringRequired,
41
43
  customQuery: vueTypes.types.func,
42
44
  dataField: vueTypes.types.stringRequired,
@@ -56,27 +58,34 @@ var SingleList = {
56
58
  showFilter: VueTypes.bool.def(true),
57
59
  showRadio: VueTypes.bool.def(true),
58
60
  showSearch: VueTypes.bool.def(true),
59
- size: VueTypes.number.def(100),
61
+ size: VueTypes.number,
60
62
  sortBy: VueTypes.oneOf(['asc', 'desc', 'count']).def('count'),
61
63
  title: vueTypes.types.title,
62
64
  URLParams: VueTypes.bool.def(false),
63
65
  showMissing: VueTypes.bool.def(false),
64
66
  missingLabel: VueTypes.string.def('N/A'),
65
67
  nestedField: vueTypes.types.string,
68
+ index: VueTypes.string,
66
69
  enableStrictSelection: VueTypes.bool.def(false)
67
70
  },
68
71
  data: function data() {
69
72
  var props = this.$props;
70
73
  this.__state = {
71
74
  currentValue: '',
72
- modifiedOptions: props.options && props.options[props.dataField] ? props.options[props.dataField].buckets : [],
75
+ modifiedOptions: [],
73
76
  searchTerm: ''
74
77
  };
75
78
  this.internalComponent = props.componentId + "__internal";
76
79
  return this.__state;
77
80
  },
78
81
  created: function created() {
79
- // Set custom and default queries in store
82
+ if (!this.enableAppbase && this.$props.index) {
83
+ console.warn('Warning(ReactiveSearch): In order to use the `index` prop, the `enableAppbase` prop must be set to true in `ReactiveBase`.');
84
+ }
85
+
86
+ var props = this.$props;
87
+ this.modifiedOptions = this.options && this.options[props.dataField] ? this.options[props.dataField].buckets : []; // Set custom and default queries in store
88
+
80
89
  index.updateCustomQuery(this.componentId, this.setCustomQuery, this.$props, this.currentValue);
81
90
  index.updateDefaultQuery(this.componentId, this.setDefaultQuery, this.$props, this.currentValue);
82
91
  },
@@ -93,7 +102,9 @@ var SingleList = {
93
102
  },
94
103
  watch: {
95
104
  options: function options(newVal) {
96
- this.modifiedOptions = newVal[this.$props.dataField] ? newVal[this.$props.dataField].buckets : [];
105
+ if (newVal) {
106
+ this.modifiedOptions = newVal[this.$props.dataField] ? newVal[this.$props.dataField].buckets : [];
107
+ }
97
108
  },
98
109
  size: function size() {
99
110
  this.updateQueryHandlerOptions(this.$props);
@@ -144,8 +155,12 @@ var SingleList = {
144
155
  return index.isFunction(renderErrorCalc) ? renderErrorCalc(this.error) : renderErrorCalc;
145
156
  }
146
157
 
147
- if (!this.hasCustomRenderer && this.modifiedOptions.length === 0) {
148
- return null;
158
+ if (!this.hasCustomRenderer && this.modifiedOptions.length === 0 && !this.isLoading) {
159
+ if (this.renderNoResult) {
160
+ this.renderNoResult();
161
+ } else {
162
+ return null;
163
+ }
149
164
  }
150
165
 
151
166
  var itemsToRender = this.$data.modifiedOptions;
@@ -157,7 +172,7 @@ var SingleList = {
157
172
  var filteredItemsToRender = itemsToRender.filter(function (item) {
158
173
  if (String(item.key).length) {
159
174
  if (_this.$props.showSearch && _this.$data.searchTerm) {
160
- return String(item.key).toLowerCase().includes(_this.$data.searchTerm.toLowerCase());
175
+ return suggestions.replaceDiacritics(String(item.key)).toLowerCase().includes(suggestions.replaceDiacritics(_this.$data.searchTerm.toLowerCase()));
161
176
  }
162
177
 
163
178
  return true;
@@ -255,22 +270,22 @@ var SingleList = {
255
270
  checkValueChange(props.componentId, value, props.beforeValueChange, performUpdate);
256
271
  },
257
272
  updateDefaultQueryHandler: function updateDefaultQueryHandler(value, props) {
258
- var defaultQueryOptions;
259
273
  var query = SingleList.defaultQuery(value, props);
260
274
 
261
275
  if (this.defaultQuery) {
262
276
  var defaultQueryToBeSet = this.defaultQuery(value, props) || {};
277
+ var defaultQueryObj = extractQueryFromCustomQuery(defaultQueryToBeSet);
263
278
 
264
- if (defaultQueryToBeSet.query) {
265
- query = defaultQueryToBeSet.query;
266
- }
279
+ if (defaultQueryObj) {
280
+ query = defaultQueryObj;
281
+ } // Update calculated default query in store
267
282
 
268
- defaultQueryOptions = getOptionsFromQuery(defaultQueryToBeSet); // Update calculated default query in store
269
283
 
270
284
  index.updateDefaultQuery(props.componentId, this.setDefaultQuery, props, value);
285
+ var defaultQueryOptions = getOptionsForCustomQuery(defaultQueryToBeSet);
286
+ this.setQueryOptions(this.internalComponent, defaultQueryOptions, false);
271
287
  }
272
288
 
273
- this.setQueryOptions(this.internalComponent, defaultQueryOptions);
274
289
  this.updateQuery({
275
290
  componentId: this.internalComponent,
276
291
  query: query,
@@ -281,17 +296,15 @@ var SingleList = {
281
296
  updateQueryHandler: function updateQueryHandler(value, props) {
282
297
  var customQuery = props.customQuery;
283
298
  var query = SingleList.defaultQuery(value, props);
284
- var customQueryOptions;
285
299
 
286
300
  if (customQuery) {
287
- var _ref = customQuery(value, props) || {};
288
-
289
- query = _ref.query;
290
- customQueryOptions = getOptionsFromQuery(customQuery(value, props));
301
+ var customQueryCalc = customQuery(value, props);
302
+ query = extractQueryFromCustomQuery(customQueryCalc);
303
+ var customQueryOptions = getOptionsForCustomQuery(customQueryCalc);
291
304
  index.updateCustomQuery(props.componentId, this.setCustomQuery, props, value);
305
+ this.setQueryOptions(props.componentId, customQueryOptions, false);
292
306
  }
293
307
 
294
- this.setQueryOptions(props.componentId, customQueryOptions);
295
308
  this.updateQuery({
296
309
  componentId: props.componentId,
297
310
  query: query,
@@ -311,8 +324,8 @@ var SingleList = {
311
324
 
312
325
  if (props.defaultQuery) {
313
326
  var value = this.$data.currentValue;
314
- var defaultQueryOptions = getOptionsFromQuery(props.defaultQuery(value, props));
315
- this.setQueryOptions(this.internalComponent, _rollupPluginBabelHelpers._extends(_rollupPluginBabelHelpers._extends({}, queryOptions), defaultQueryOptions));
327
+ var defaultQueryOptions = getOptionsForCustomQuery(props.defaultQuery(value, props));
328
+ this.setQueryOptions(this.internalComponent, _rollupPluginBabelHelpers._extends({}, queryOptions, defaultQueryOptions));
316
329
  } else {
317
330
  this.setQueryOptions(this.internalComponent, queryOptions);
318
331
  }
@@ -456,6 +469,10 @@ SingleList.defaultQuery = function (value, props) {
456
469
  return query;
457
470
  };
458
471
 
472
+ SingleList.hasInternalComponent = function () {
473
+ return true;
474
+ };
475
+
459
476
  var mapStateToProps = function mapStateToProps(state, props) {
460
477
  return {
461
478
  options: props.nestedField && state.aggregations[props.componentId] ? state.aggregations[props.componentId].reactivesearch_nested : state.aggregations[props.componentId],
@@ -464,7 +481,8 @@ var mapStateToProps = function mapStateToProps(state, props) {
464
481
  selectedValue: state.selectedValues[props.componentId] && state.selectedValues[props.componentId].value || '',
465
482
  themePreset: state.config.themePreset,
466
483
  error: state.error[props.componentId],
467
- componentProps: state.props[props.componentId]
484
+ componentProps: state.props[props.componentId],
485
+ enableAppbase: state.config.enableAppbase
468
486
  };
469
487
  };
470
488
 
@@ -476,7 +494,7 @@ var mapDispatchtoProps = {
476
494
  };
477
495
  var ListConnected = ComponentWrapper.ComponentWrapper(index.connect(mapStateToProps, mapDispatchtoProps)(SingleList), {
478
496
  componentType: constants.componentTypes.singleList,
479
- internalComponent: true
497
+ internalComponent: SingleList.hasInternalComponent()
480
498
  });
481
499
 
482
500
  SingleList.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
- require('./_rollupPluginBabelHelpers-4abdbfff.js');
9
+ 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,
@@ -53,10 +53,15 @@ var SingleRange = {
53
53
  showRadio: VueTypes.bool.def(true),
54
54
  title: vueTypes.types.title,
55
55
  URLParams: VueTypes.bool.def(false),
56
- nestedField: vueTypes.types.string
56
+ nestedField: vueTypes.types.string,
57
+ index: VueTypes.string
57
58
  },
58
59
  created: function created() {
59
- // Set custom query in store
60
+ if (!this.enableAppbase && this.$props.index) {
61
+ console.warn('Warning(ReactiveSearch): In order to use the `index` prop, the `enableAppbase` prop must be set to true in `ReactiveBase`.');
62
+ } // Set custom query in store
63
+
64
+
60
65
  index.updateCustomQuery(this.componentId, this.setCustomQuery, this.$props, this.currentValue);
61
66
  },
62
67
  beforeMount: function beforeMount() {
@@ -135,7 +140,7 @@ var SingleRange = {
135
140
  props = this.$props;
136
141
  }
137
142
 
138
- var currentValue = SingleRange.parseValue(value, props);
143
+ var currentValue = typeof value === 'string' ? SingleRange.parseValue(value, props) : value;
139
144
 
140
145
  var performUpdate = function performUpdate() {
141
146
  _this2.currentValue = currentValue;
@@ -152,17 +157,16 @@ var SingleRange = {
152
157
  updateQueryHandler: function updateQueryHandler(value, props) {
153
158
  var customQuery = props.customQuery;
154
159
  var query = SingleRange.defaultQuery(value, props);
155
- var customQueryOptions;
156
160
 
157
161
  if (customQuery) {
158
162
  var _ref = customQuery(value, props) || {};
159
163
 
160
164
  query = _ref.query;
161
- customQueryOptions = getOptionsFromQuery(customQuery(value, props));
165
+ var customQueryOptions = getOptionsFromQuery(customQuery(value, props));
162
166
  index.updateCustomQuery(this.componentId, this.setCustomQuery, this.$props, this.currentValue);
167
+ this.setQueryOptions(props.componentId, customQueryOptions, false);
163
168
  }
164
169
 
165
- this.setQueryOptions(props.componentId, customQueryOptions);
166
170
  this.updateQuery({
167
171
  componentId: props.componentId,
168
172
  query: query,
@@ -223,7 +227,8 @@ SingleRange.defaultQuery = function (value, props) {
223
227
  var mapStateToProps = function mapStateToProps(state, props) {
224
228
  return {
225
229
  selectedValue: state.selectedValues[props.componentId] && state.selectedValues[props.componentId].value || null,
226
- componentProps: state.props[props.componentId]
230
+ componentProps: state.props[props.componentId],
231
+ enableAppbase: state.config.enableAppbase
227
232
  };
228
233
  };
229
234
 
@@ -6,17 +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
  require('@appbaseio/reactivecore/lib/utils/constants');
12
+ var transform = require('@appbaseio/reactivecore/lib/utils/transform');
12
13
  require('redux');
13
- var index = require('./index-baca18c4.js');
14
+ var index = require('./index-6a167fe0.js');
15
+ var value = require('@appbaseio/reactivecore/lib/actions/value');
14
16
 
15
17
  var getSearchState = configureStore.helper.getSearchState;
16
18
  var defaultKeys = ['hits', 'value', 'aggregations', 'error'];
17
19
 
18
20
  var filterProps = function filterProps(props) {
19
- return _rollupPluginBabelHelpers._extends(_rollupPluginBabelHelpers._extends({}, props), {}, {
21
+ if (props === void 0) {
22
+ props = {};
23
+ }
24
+
25
+ return _rollupPluginBabelHelpers._extends({}, props, {
20
26
  props: props.componentProps
21
27
  });
22
28
  };
@@ -35,7 +41,7 @@ var filterByComponentIds = function filterByComponentIds(state, props) {
35
41
  return _ref = {}, _ref[componentIds] = state[componentIds], _ref;
36
42
  }
37
43
 
38
- if (componentIds instanceof Array) {
44
+ if (Array.isArray(componentIds)) {
39
45
  var filteredState = {};
40
46
  componentIds.forEach(function (componentId) {
41
47
  filteredState[componentId] = state[componentId];
@@ -50,7 +56,7 @@ var filterByKeys = function filterByKeys(state, allowedKeys) {
50
56
  return Object.keys(state).reduce(function (components, componentId) {
51
57
  var _extends2;
52
58
 
53
- return _rollupPluginBabelHelpers._extends(_rollupPluginBabelHelpers._extends({}, components), {}, (_extends2 = {}, _extends2[componentId] = Object.keys(state[componentId]).filter(function (key) {
59
+ return _rollupPluginBabelHelpers._extends({}, components, (_extends2 = {}, _extends2[componentId] = Object.keys(state[componentId]).filter(function (key) {
54
60
  return allowedKeys.includes(key);
55
61
  }).reduce(function (obj, key) {
56
62
  // eslint-disable-next-line
@@ -74,7 +80,7 @@ var StateProvider = {
74
80
  };
75
81
  return this.__state;
76
82
  },
77
- mounted: function mounted() {
83
+ created: function created() {
78
84
  this.searchState = filterByKeys(getSearchState(filterProps(this.searchStateProps)), this.includeKeys);
79
85
  },
80
86
  computed: {
@@ -96,7 +102,7 @@ var StateProvider = {
96
102
  watch: {
97
103
  searchState: function searchState(newVal, oldVal) {
98
104
  if (this.isStateChanged(newVal, oldVal)) {
99
- this.$emit('change', newVal, oldVal);
105
+ this.$emit('change', oldVal, newVal);
100
106
  }
101
107
  },
102
108
  selectedValues: function selectedValues(newVal, oldVal) {
@@ -150,13 +156,32 @@ var StateProvider = {
150
156
  if (this.isStateChanged(newVal, oldVal)) {
151
157
  this.searchState = filterByKeys(getSearchState(filterProps(this.searchStateProps)), this.includeKeys);
152
158
  }
159
+ },
160
+ setSearchState: function setSearchState(valuesMap) {
161
+ if (valuesMap === void 0) {
162
+ valuesMap = {};
163
+ }
164
+
165
+ var components = this.components;
166
+ var computedValuesMap = {};
167
+ components.filter(function (component) {
168
+ return !transform.isInternalComponent(component);
169
+ }).forEach(function (component) {
170
+ if (component in valuesMap) {
171
+ computedValuesMap[component] = valuesMap[component];
172
+ } else {
173
+ computedValuesMap[component] = null;
174
+ }
175
+ });
176
+ this.setValues(computedValuesMap);
153
177
  }
154
178
  },
155
179
  render: function render() {
156
180
  var searchState = this.searchState;
157
181
  var dom = this.$scopedSlots["default"];
158
182
  return dom ? dom({
159
- searchState: searchState
183
+ searchState: searchState,
184
+ setSearchState: this.setSearchState
160
185
  }) : null;
161
186
  }
162
187
  };
@@ -174,11 +199,15 @@ var mapStateToProps = function mapStateToProps(state, props) {
174
199
  promotedResults: filterByComponentIds(state.promotedResults, props),
175
200
  customData: filterByComponentIds(state.customData, props),
176
201
  settings: filterByComponentIds(state.settings, props),
177
- rawData: filterByComponentIds(state.rawData, props)
202
+ rawData: filterByComponentIds(state.rawData, props),
203
+ components: filterByComponentIds(state.components, props)
178
204
  };
179
205
  };
180
206
 
181
- var StateProviderConnected = index.connect(mapStateToProps, {})(StateProvider);
207
+ var mapDispatchtoProps = {
208
+ setValues: value.setValues
209
+ };
210
+ var StateProviderConnected = index.connect(mapStateToProps, mapDispatchtoProps)(StateProvider);
182
211
 
183
212
  StateProvider.install = function (Vue) {
184
213
  Vue.component(StateProvider.name, StateProviderConnected);
@@ -2,20 +2,12 @@
2
2
 
3
3
  function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
4
4
 
5
- var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-4abdbfff.js');
5
+ var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-c705cbe6.js');
6
6
  var styled = require('@appbaseio/vue-emotion');
7
7
  var styled__default = _interopDefault(styled);
8
8
 
9
- function _templateObject() {
10
- var data = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\tmargin: 0 0 8px;\n\tfont-size: 1rem;\n\tcolor: ", ";\n"]);
11
-
12
- _templateObject = function _templateObject() {
13
- return data;
14
- };
15
-
16
- return data;
17
- }
18
- var Title = styled__default('h2')(_templateObject(), function (_ref) {
9
+ var _templateObject;
10
+ var Title = styled__default('h2')(_templateObject || (_templateObject = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\tmargin: 0 0 8px;\n\tfont-size: 1rem;\n\tcolor: ", ";\n"])), function (_ref) {
19
11
  var theme = _ref.theme;
20
12
  return theme.colors.titleColor;
21
13
  });
@@ -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
- require('./_rollupPluginBabelHelpers-4abdbfff.js');
10
- require('vue-types');
9
+ require('./_rollupPluginBabelHelpers-c705cbe6.js');
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 Button = require('./Button-d48d4365.js');
16
- var vueTypes = require('./vueTypes-c21f265b.js');
15
+ var Button = require('./Button-446f819e.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
- var Title = require('./Title-65d39104.js');
22
- var Container = require('./Container-6cdd3864.js');
19
+ var index = require('./index-6a167fe0.js');
20
+ var ComponentWrapper = require('./ComponentWrapper-ad3dad02.js');
21
+ var Title = require('./Title-1de7d0f4.js');
22
+ var Container = require('./Container-daf30918.js');
23
23
 
24
24
  var updateQuery = configureStore.Actions.updateQuery,
25
25
  setQueryOptions = configureStore.Actions.setQueryOptions,
@@ -33,19 +33,22 @@ var ToggleButton = {
33
33
  name: 'ToggleButton',
34
34
  props: {
35
35
  componentId: vueTypes.types.stringRequired,
36
+ customQuery: vueTypes.types.func,
36
37
  data: vueTypes.types.data,
37
38
  dataField: vueTypes.types.stringRequired,
38
- defaultValue: vueTypes.types.stringOrArray,
39
+ defaultValue: vueTypes.types.any,
39
40
  value: vueTypes.types.stringOrArray,
40
41
  filterLabel: vueTypes.types.string,
41
42
  nestedField: vueTypes.types.string,
42
43
  innerClass: vueTypes.types.style,
43
- multiSelect: vueTypes.types.bool,
44
+ multiSelect: VueTypes.bool,
44
45
  react: vueTypes.types.react,
45
- showFilter: vueTypes.types.bool,
46
+ showFilter: VueTypes.bool,
46
47
  title: vueTypes.types.title,
47
- URLParams: vueTypes.types.bool,
48
- renderItem: vueTypes.types.func
48
+ URLParams: VueTypes.bool,
49
+ renderItem: vueTypes.types.func,
50
+ index: VueTypes.string,
51
+ enableStrictSelection: VueTypes.bool
49
52
  },
50
53
  data: function data() {
51
54
  this.__state = {
@@ -65,7 +68,11 @@ var ToggleButton = {
65
68
  }
66
69
  },
67
70
  created: function created() {
68
- // Set custom query in store
71
+ if (!this.enableAppbase && this.$props.index) {
72
+ console.warn('Warning(ReactiveSearch): In order to use the `index` prop, the `enableAppbase` prop must be set to true in `ReactiveBase`.');
73
+ } // Set custom query in store
74
+
75
+
69
76
  index.updateCustomQuery(this.componentId, this.setCustomQuery, this.$props, this.currentValue);
70
77
  },
71
78
  watch: {
@@ -187,7 +194,7 @@ var ToggleButton = {
187
194
  var _ref = customQuery(value, props) || {};
188
195
 
189
196
  query = _ref.query;
190
- this.setQueryOptions(props.componentId, getOptionsFromQuery(customQuery(value, props)));
197
+ this.setQueryOptions(props.componentId, getOptionsFromQuery(customQuery(value, props)), false);
191
198
  index.updateCustomQuery(props.componentId, this.setCustomQuery, props, value);
192
199
  }
193
200
 
@@ -203,6 +210,16 @@ var ToggleButton = {
203
210
  });
204
211
  },
205
212
  handleClick: function handleClick(item) {
213
+ var _this$$props = this.$props,
214
+ enableStrictSelection = _this$$props.enableStrictSelection,
215
+ multiSelect = _this$$props.multiSelect;
216
+
217
+ if (enableStrictSelection && !multiSelect && this.$data.currentValue.find(function (stateItem) {
218
+ return isEqual(item, stateItem);
219
+ })) {
220
+ return false;
221
+ }
222
+
206
223
  var value = this.$props.value;
207
224
 
208
225
  if (value === undefined) {
@@ -210,6 +227,8 @@ var ToggleButton = {
210
227
  } else {
211
228
  this.$emit('change', item.value);
212
229
  }
230
+
231
+ return true;
213
232
  },
214
233
  renderButton: function renderButton(item) {
215
234
  var _this2 = this;
@@ -312,7 +331,8 @@ ToggleButton.defaultQuery = function (value, props) {
312
331
  var mapStateToProps = function mapStateToProps(state, props) {
313
332
  return {
314
333
  selectedValue: state.selectedValues[props.componentId] && state.selectedValues[props.componentId].value || null,
315
- componentProps: state.props[props.componentId]
334
+ componentProps: state.props[props.componentId],
335
+ enableAppbase: state.config.enableAppbase
316
336
  };
317
337
  };
318
338
 
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  function _extends() {
4
- _extends = Object.assign || function (target) {
4
+ _extends = Object.assign ? Object.assign.bind() : function (target) {
5
5
  for (var i = 1; i < arguments.length; i++) {
6
6
  var source = arguments[i];
7
7
 
@@ -14,7 +14,6 @@ function _extends() {
14
14
 
15
15
  return target;
16
16
  };
17
-
18
17
  return _extends.apply(this, arguments);
19
18
  }
20
19
 
@@ -26,11 +25,10 @@ function _inheritsLoose(subClass, superClass) {
26
25
  }
27
26
 
28
27
  function _setPrototypeOf(o, p) {
29
- _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
28
+ _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {
30
29
  o.__proto__ = p;
31
30
  return o;
32
31
  };
33
-
34
32
  return _setPrototypeOf(o, p);
35
33
  }
36
34