@appbaseio/reactivesearch-vue 1.26.0 → 1.27.0-gamma.1

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 (55) hide show
  1. package/dist/@appbaseio/reactivesearch-vue.umd.js +1687 -436
  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/{ComponentWrapper-32481890.js → ComponentWrapper-10bad289.js} +1 -1
  6. package/dist/cjs/DataSearch-37dfdf39.js +2154 -0
  7. package/dist/cjs/DataSearch.js +18 -2101
  8. package/dist/cjs/{DropDown-cf9bfffc.js → DropDown-0076babc.js} +16 -11
  9. package/dist/cjs/DynamicRangeSlider.js +40 -7
  10. package/dist/cjs/{Input-3cc3fa59.js → Input-a9ee53ed.js} +1 -1
  11. package/dist/cjs/MultiDropdownList.js +6 -5
  12. package/dist/cjs/MultiList.js +16 -11
  13. package/dist/cjs/MultiRange.js +2 -2
  14. package/dist/cjs/RangeInput.js +7 -3
  15. package/dist/cjs/RangeSlider.js +2 -2
  16. package/dist/cjs/ReactiveBase.js +1 -1
  17. package/dist/cjs/ReactiveComponent.js +2 -2
  18. package/dist/cjs/ReactiveList.js +13 -3
  19. package/dist/cjs/SelectedFilters.js +1 -1
  20. package/dist/cjs/SingleDropdownList.js +5 -4
  21. package/dist/cjs/SingleList.js +3 -3
  22. package/dist/cjs/SingleRange.js +2 -2
  23. package/dist/cjs/StateProvider.js +1 -1
  24. package/dist/cjs/ToggleButton.js +2 -2
  25. package/dist/cjs/{index-89c39a9e.js → index-4509aa45.js} +10 -4
  26. package/dist/cjs/index.js +11 -10
  27. package/dist/cjs/install-b7a80fc1.js +1196 -0
  28. package/dist/cjs/install.js +25 -30
  29. package/dist/cjs/version.js +1 -1
  30. package/dist/es/{ComponentWrapper-4f85a67e.js → ComponentWrapper-0f3431d1.js} +1 -1
  31. package/dist/es/DataSearch-77325036.js +2141 -0
  32. package/dist/es/DataSearch.js +17 -2100
  33. package/dist/es/{DropDown-c8da0a2c.js → DropDown-0dd8f2a3.js} +16 -11
  34. package/dist/es/DynamicRangeSlider.js +40 -7
  35. package/dist/es/{Input-08bb1bcf.js → Input-10b1d62d.js} +1 -1
  36. package/dist/es/MultiDropdownList.js +6 -5
  37. package/dist/es/MultiList.js +16 -11
  38. package/dist/es/MultiRange.js +2 -2
  39. package/dist/es/RangeInput.js +7 -3
  40. package/dist/es/RangeSlider.js +2 -2
  41. package/dist/es/ReactiveBase.js +1 -1
  42. package/dist/es/ReactiveComponent.js +2 -2
  43. package/dist/es/ReactiveList.js +13 -3
  44. package/dist/es/SelectedFilters.js +1 -1
  45. package/dist/es/SingleDropdownList.js +5 -4
  46. package/dist/es/SingleList.js +3 -3
  47. package/dist/es/SingleRange.js +2 -2
  48. package/dist/es/StateProvider.js +1 -1
  49. package/dist/es/ToggleButton.js +2 -2
  50. package/dist/es/{index-cb1950b6.js → index-78920565.js} +10 -4
  51. package/dist/es/index.js +7 -7
  52. package/dist/es/install-86388b0e.js +1189 -0
  53. package/dist/es/install.js +23 -32
  54. package/dist/es/version.js +1 -1
  55. package/package.json +3 -3
@@ -10,9 +10,10 @@ var emotion = require('emotion');
10
10
  var styled = require('@appbaseio/vue-emotion');
11
11
  var styled__default = _interopDefault(styled);
12
12
  var vueTypes = require('./vueTypes-57d01f18.js');
13
- var index = require('./index-89c39a9e.js');
13
+ var index = require('./index-4509aa45.js');
14
+ var _mergeJSXProps = _interopDefault(require('@vue/babel-helper-vue-jsx-merge-props'));
14
15
  var CancelSvg = require('./CancelSvg-4aa35935.js');
15
- var Input = require('./Input-3cc3fa59.js');
16
+ var Input = require('./Input-a9ee53ed.js');
16
17
  var suggestions = require('@appbaseio/reactivecore/lib/utils/suggestions');
17
18
 
18
19
  var _templateObject, _templateObject2, _templateObject3, _templateObject4;
@@ -126,7 +127,8 @@ var Dropdown = {
126
127
  isOpen = _ref.isOpen,
127
128
  highlightedIndex = _ref.highlightedIndex,
128
129
  getButtonProps = _ref.getButtonProps,
129
- getItemEvents = _ref.getItemEvents;
130
+ getItemEvents = _ref.getItemEvents,
131
+ getInputEvents = _ref.getInputEvents;
130
132
  return h("div", {
131
133
  "class": Input.suggestionsContainer
132
134
  }, [h(Select, {
@@ -151,7 +153,13 @@ var Dropdown = {
151
153
  getItemEvents: getItemEvents
152
154
  }) : isOpen && itemsToRender.length ? h("ul", {
153
155
  "class": Input.suggestions(themePreset, _this.theme) + " " + (_this.$props.small ? 'small' : '') + " " + getClassName(_this.$props.innerClass, 'list')
154
- }, [_this.$props.showSearch ? _this.renderSearchbox() : null, !hasCustomRenderer && filteredItemsToRender.length === 0 ? _this.renderNoResult() : filteredItemsToRender.map(function (item, index) {
156
+ }, [_this.$props.showSearch ? _this.renderSearchbox({
157
+ on: {
158
+ input: getInputEvents({
159
+ onInput: _this.handleInputChange
160
+ }).input
161
+ }
162
+ }) : null, !hasCustomRenderer && filteredItemsToRender.length === 0 ? _this.renderNoResult() : filteredItemsToRender.map(function (item, index) {
155
163
  var selected = _this.$props.multi // MultiDropdownList
156
164
  && (selectedItem && !!selectedItem[item[keyField]] // MultiDropdownRange
157
165
  || Array.isArray(selectedItem) && selectedItem.find(function (value) {
@@ -272,7 +280,7 @@ var Dropdown = {
272
280
  "class": getClassName(this.$props.innerClass, 'noResults') || null
273
281
  }, [index.isFunction(renderNoResults) ? renderNoResults() : renderNoResults]);
274
282
  },
275
- renderSearchbox: function renderSearchbox() {
283
+ renderSearchbox: function renderSearchbox(eventObject) {
276
284
  var h = this.$createElement;
277
285
  var _this$$props2 = this.$props,
278
286
  componentId = _this$$props2.componentId,
@@ -280,7 +288,7 @@ var Dropdown = {
280
288
  showClear = _this$$props2.showClear,
281
289
  themePreset = _this$$props2.themePreset,
282
290
  innerClass = _this$$props2.innerClass;
283
- var InputComponent = h(Input.Input, {
291
+ var InputComponent = h(Input.Input, _mergeJSXProps([{
284
292
  "attrs": {
285
293
  "id": componentId + "-input",
286
294
  "showIcon": false,
@@ -293,11 +301,8 @@ var Dropdown = {
293
301
  border: 0,
294
302
  borderBottom: '1px solid #ddd'
295
303
  },
296
- "class": getClassName(innerClass, 'input'),
297
- "on": {
298
- "change": this.handleInputChange
299
- }
300
- });
304
+ "class": getClassName(innerClass, 'input')
305
+ }, eventObject]));
301
306
 
302
307
  if (showClear) {
303
308
  return h(CancelSvg.InputWrapper, [InputComponent, this.searchTerm && h(CancelSvg.IconGroup, {
@@ -12,7 +12,7 @@ var constants = require('@appbaseio/reactivecore/lib/utils/constants');
12
12
  require('@appbaseio/vue-emotion');
13
13
  var vueTypes = require('./vueTypes-57d01f18.js');
14
14
  require('redux');
15
- var index = require('./index-89c39a9e.js');
15
+ var index = require('./index-4509aa45.js');
16
16
  var Title = require('./Title-584a8cc8.js');
17
17
  var Container = require('./Container-526efa6a.js');
18
18
  var NoSSR = _interopDefault(require('vue-no-ssr'));
@@ -54,7 +54,8 @@ var DynamicRangeSlider = {
54
54
  URLParams: VueTypes.bool.def(false),
55
55
  sliderOptions: VueTypes.object.def({}),
56
56
  nestedField: vueTypes.types.string,
57
- index: VueTypes.string
57
+ index: VueTypes.string,
58
+ value: vueTypes.types.range
58
59
  },
59
60
  data: function data() {
60
61
  this.internalRangeComponent = this.$props.componentId + "__range__internal";
@@ -100,6 +101,8 @@ var DynamicRangeSlider = {
100
101
  components = _this$$$store$getStat.components;
101
102
  }
102
103
 
104
+ var value = this.$props.value;
105
+
103
106
  if (this.destroyOnUnmount || components.indexOf(this.componentId) === -1) {
104
107
  this.addComponent(this.componentId);
105
108
  this.addComponent(this.internalRangeComponent);
@@ -108,6 +111,8 @@ var DynamicRangeSlider = {
108
111
  this.handleChange(this.selectedValue);
109
112
  } else if (this.selectedValue) {
110
113
  this.handleChange(DynamicRangeSlider.parseValue(this.selectedValue, this.$props));
114
+ } else if (value) {
115
+ this.handleChange(DynamicRangeSlider.parseValue(value, this.$props));
111
116
  } // get range before executing other queries
112
117
 
113
118
 
@@ -126,6 +131,13 @@ var DynamicRangeSlider = {
126
131
  }
127
132
  },
128
133
  methods: {
134
+ isControlled: function isControlled() {
135
+ if (this.$props.value && this.$listeners) {
136
+ return true;
137
+ }
138
+
139
+ return false;
140
+ },
129
141
  setDefaultValue: function setDefaultValue(_ref) {
130
142
  var start = _ref.start,
131
143
  end = _ref.end;
@@ -136,6 +148,8 @@ var DynamicRangeSlider = {
136
148
  defaultEnd = _this$$props$defaultV.end;
137
149
 
138
150
  this.handleChange([defaultStart, defaultEnd]);
151
+ } else if (this.isControlled()) {
152
+ this.handleChange(DynamicRangeSlider.parseValue(this.$props.value), 'change');
139
153
  } else {
140
154
  this.currentValue = [start, end];
141
155
  }
@@ -185,7 +199,16 @@ var DynamicRangeSlider = {
185
199
  },
186
200
  handleSlider: function handleSlider() {
187
201
  var sliderValues = this.$refs.slider.getValue();
188
- this.handleChange(sliderValues);
202
+ var value = this.$props.value;
203
+
204
+ if (value === undefined) {
205
+ this.handleChange(sliderValues);
206
+ } else {
207
+ this.$emit('change', {
208
+ start: sliderValues[0],
209
+ end: sliderValues[1]
210
+ });
211
+ }
189
212
  },
190
213
  handleChange: function handleChange(currentValue) {
191
214
  var _this2 = this;
@@ -278,6 +301,7 @@ var DynamicRangeSlider = {
278
301
  start: this.range.start,
279
302
  end: this.range.end
280
303
  };
304
+ this.$emit('change', value);
281
305
  this.handleChange(DynamicRangeSlider.parseValue(value, this.$props));
282
306
  },
283
307
  range: function range(newValue, oldValue) {
@@ -299,6 +323,11 @@ var DynamicRangeSlider = {
299
323
  if (!index.isQueryIdentical(newVal, oldVal, this.$data.currentValue, this.$props)) {
300
324
  this.updateQueryHandler(this.$data.currentValue);
301
325
  }
326
+ },
327
+ value: function value(newVal, oldVal) {
328
+ if (!isEqual(newVal, oldVal)) {
329
+ this.handleChange(DynamicRangeSlider.parseValue(newVal, this.$props));
330
+ }
302
331
  }
303
332
  },
304
333
  render: function render() {
@@ -320,9 +349,9 @@ var DynamicRangeSlider = {
320
349
  }, [h("vue-slider-component", {
321
350
  "ref": "slider",
322
351
  "attrs": {
323
- "value": [Math.max(start, this.currentValue[0]), Math.min(end, this.currentValue[1])],
324
- "min": Math.min(start, this.currentValue[0]),
325
- "max": Math.max(end, this.currentValue[1]),
352
+ "value": [Math.floor(Math.max(start, this.currentValue[0])), Math.ceil(Math.min(end, this.currentValue[1]))],
353
+ "min": Math.floor(Math.min(start, this.currentValue[0])),
354
+ "max": Math.ceil(Math.max(end, this.currentValue[1])),
326
355
  "dotSize": 20,
327
356
  "height": 4,
328
357
  "enable-cross": false,
@@ -372,7 +401,11 @@ DynamicRangeSlider.defaultQuery = function (values, props) {
372
401
  };
373
402
 
374
403
  DynamicRangeSlider.parseValue = function (value) {
375
- return [value.start, value.end];
404
+ if (value) {
405
+ return Array.isArray(value) ? value : [value.start, value.end];
406
+ }
407
+
408
+ return [];
376
409
  };
377
410
 
378
411
  var mapStateToProps = function mapStateToProps(state, props) {
@@ -64,7 +64,7 @@ var Input = styled__default('input')(_templateObject5 || (_templateObject5 = _ro
64
64
  });
65
65
 
66
66
  var suggestions = function suggestions(themePreset, theme) {
67
- return emotion.css(_templateObject14 || (_templateObject14 = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\tdisplay: block;\n\twidth: 100%;\n\tborder: 1px solid #ccc;\n\tborder-top: none;\n\tbackground-color: #fff;\n\tfont-size: 0.9rem;\n\tz-index: 3;\n\tposition: absolute;\n\tmargin: 0;\n\tpadding: 0;\n\tlist-style: none;\n\tmax-height: 395px;\n\toverflow-y: auto;\n\n\t&.small {\n\t\ttop: 30px;\n\t}\n\n\tli {\n\t\tdisplay: flex;\n\t\tjustify-content: space-between;\n\t\tcursor: pointer;\n\t\tpadding: 10px;\n\t\tuser-select: none;\n\n\t\t& > .trim {\n\t\t\tdisplay: -webkit-box;\n\t\t\tdisplay: block;\n\t\t\twidth: 100%;\n\t\t\tmax-height: 2.3rem;\n\t\t\tline-height: 1.2rem;\n\t\t\t-webkit-line-clamp: 2;\n\t\t\t-webkit-box-orient: vertical;\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t\twhite-space: nowrap;\n\t\t}\n\n\t\t&:hover,\n\t\t&:focus {\n\t\t\tbackground-color: #eee;\n\t\t}\n\t}\n\n\t", ";\n"])), themePreset === 'dark' && theme && dark(theme));
67
+ return emotion.css(_templateObject14 || (_templateObject14 = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\tdisplay: block;\n\twidth: 100%;\n\tborder: 1px solid #ccc;\n\tborder-top: none;\n\tbackground-color: #fff;\n\tfont-size: 0.9rem;\n\tz-index: 3;\n\tposition: absolute;\n\tmargin: 0;\n\tpadding: 0;\n\tlist-style: none;\n\tmax-height: min(100vh, 395px);\n\toverflow-y: auto;\n\n\t&.small {\n\t\ttop: 30px;\n\t}\n\n\tli {\n\t\tdisplay: flex;\n\t\tjustify-content: space-between;\n\t\tcursor: pointer;\n\t\tpadding: 10px;\n\t\tuser-select: none;\n\n\t\t& > .trim {\n\t\t\tdisplay: -webkit-box;\n\t\t\tdisplay: block;\n\t\t\twidth: 100%;\n\t\t\tmax-height: 2.3rem;\n\t\t\tline-height: 1.2rem;\n\t\t\t-webkit-line-clamp: 2;\n\t\t\t-webkit-box-orient: vertical;\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t\twhite-space: nowrap;\n\t\t}\n\n\t\t&:hover,\n\t\t&:focus {\n\t\t\tbackground-color: #eee;\n\t\t}\n\t}\n\n\t", ";\n"])), themePreset === 'dark' && theme && dark(theme));
68
68
  };
69
69
 
70
70
  var suggestionsContainer = emotion.css(_templateObject15 || (_templateObject15 = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\tposition: relative;\n\t.cancel-icon {\n\t\tcursor: pointer;\n\t}\n"])));
@@ -16,16 +16,17 @@ var Button = require('./Button-11307285.js');
16
16
  var vueTypes = require('./vueTypes-57d01f18.js');
17
17
  require('@appbaseio/reactivecore/lib/utils/transform');
18
18
  require('redux');
19
- var index = require('./index-89c39a9e.js');
20
- var ComponentWrapper = require('./ComponentWrapper-32481890.js');
19
+ var index = require('./index-4509aa45.js');
20
+ var ComponentWrapper = require('./ComponentWrapper-10bad289.js');
21
+ require('@vue/babel-helper-vue-jsx-merge-props');
21
22
  var Title = require('./Title-584a8cc8.js');
22
23
  require('./CancelSvg-4aa35935.js');
23
- require('./Input-3cc3fa59.js');
24
+ require('./Input-a9ee53ed.js');
24
25
  require('compute-scroll-into-view');
25
26
  var Container = require('./Container-526efa6a.js');
26
27
  require('@appbaseio/reactivecore/lib/utils/suggestions');
27
28
  var utils = require('./utils-1219e1fe.js');
28
- var DropDown = require('./DropDown-cf9bfffc.js');
29
+ var DropDown = require('./DropDown-0076babc.js');
29
30
 
30
31
  var updateQuery = configureStore.Actions.updateQuery,
31
32
  setQueryOptions = configureStore.Actions.setQueryOptions,
@@ -349,7 +350,7 @@ var MultiDropdownList = {
349
350
  }
350
351
 
351
352
  var performUpdate = function performUpdate() {
352
- _this3.currentValue = currentValue;
353
+ _this3.currentValue = _rollupPluginBabelHelpers._extends({}, currentValue);
353
354
 
354
355
  _this3.updateQueryHandler(finalValues, props);
355
356
 
@@ -15,10 +15,10 @@ require('polished');
15
15
  var vueTypes = require('./vueTypes-57d01f18.js');
16
16
  require('@appbaseio/reactivecore/lib/utils/transform');
17
17
  require('redux');
18
- var index = require('./index-89c39a9e.js');
19
- var ComponentWrapper = require('./ComponentWrapper-32481890.js');
18
+ var index = require('./index-4509aa45.js');
19
+ var ComponentWrapper = require('./ComponentWrapper-10bad289.js');
20
20
  var Title = require('./Title-584a8cc8.js');
21
- var Input = require('./Input-3cc3fa59.js');
21
+ var Input = require('./Input-a9ee53ed.js');
22
22
  var Container = require('./Container-526efa6a.js');
23
23
  var suggestions = require('@appbaseio/reactivecore/lib/utils/suggestions');
24
24
  var FormControlList = require('./FormControlList-808dbcef.js');
@@ -91,13 +91,14 @@ var MultiList = {
91
91
  },
92
92
  beforeMount: function beforeMount() {
93
93
  this.updateQueryHandlerOptions(this.$props);
94
+ var value = this.selectedValue || this.$props.value || this.$props.defaultValue;
95
+ this.setValue(value, !this.selectedValue);
96
+ },
97
+ mounted: function mounted() {
98
+ var currentValue = Object.keys(this.$data.currentValue);
94
99
 
95
- if (this.selectedValue) {
96
- this.setValue(this.selectedValue);
97
- } else if (this.$props.value) {
98
- this.setValue(this.$props.value, true);
99
- } else if (this.$props.defaultValue) {
100
- this.setValue(this.$props.defaultValue, true);
100
+ if (this.$props.value !== undefined && !isEqual(this.$props.value, currentValue)) {
101
+ this.$emit('change', currentValue);
101
102
  }
102
103
  },
103
104
  watch: {
@@ -142,7 +143,11 @@ var MultiList = {
142
143
  }
143
144
 
144
145
  if (!isEqual(selectedValue, newVal)) {
145
- this.setValue(newVal || [], true);
146
+ if (this.value === undefined) {
147
+ this.setValue(newVal, true);
148
+ } else {
149
+ this.$emit('change', newVal);
150
+ }
146
151
  }
147
152
  },
148
153
  defaultQuery: function defaultQuery(newVal, oldVal) {
@@ -441,7 +446,7 @@ var MultiList = {
441
446
  if (value === undefined) {
442
447
  this.setValue(currentValue);
443
448
  } else {
444
- var values = index.parseValueArray(value, currentValue);
449
+ var values = index.parseValueArray(value || [], currentValue);
445
450
  this.$emit('change', values);
446
451
  }
447
452
  },
@@ -15,8 +15,8 @@ require('polished');
15
15
  var vueTypes = require('./vueTypes-57d01f18.js');
16
16
  require('@appbaseio/reactivecore/lib/utils/transform');
17
17
  require('redux');
18
- var index = require('./index-89c39a9e.js');
19
- var ComponentWrapper = require('./ComponentWrapper-32481890.js');
18
+ var index = require('./index-4509aa45.js');
19
+ var ComponentWrapper = require('./ComponentWrapper-10bad289.js');
20
20
  var Title = require('./Title-584a8cc8.js');
21
21
  var Container = require('./Container-526efa6a.js');
22
22
  var FormControlList = require('./FormControlList-808dbcef.js');
@@ -16,11 +16,11 @@ require('polished');
16
16
  var vueTypes = require('./vueTypes-57d01f18.js');
17
17
  require('@appbaseio/reactivecore/lib/utils/transform');
18
18
  require('redux');
19
- var index = require('./index-89c39a9e.js');
20
- var ComponentWrapper = require('./ComponentWrapper-32481890.js');
19
+ var index = require('./index-4509aa45.js');
20
+ var ComponentWrapper = require('./ComponentWrapper-10bad289.js');
21
21
  require('./Title-584a8cc8.js');
22
22
  var Flex = require('./Flex-f146cdad.js');
23
- var Input = require('./Input-3cc3fa59.js');
23
+ var Input = require('./Input-a9ee53ed.js');
24
24
  var Container = require('./Container-526efa6a.js');
25
25
  require('vue-no-ssr');
26
26
  require('./ssr-0ee35a09.js');
@@ -201,6 +201,10 @@ var RangeInput = {
201
201
  if (this.$props.defaultValue && this.$props.defaultValue.start && this.$props.defaultValue.end) {
202
202
  this.handleChange(this.$props.defaultValue);
203
203
  }
204
+
205
+ if (this.isControlled()) {
206
+ this.handleChange(this.$props.value, 'change');
207
+ }
204
208
  },
205
209
  render: function render() {
206
210
  var h = arguments[0];
@@ -13,8 +13,8 @@ require('@appbaseio/vue-emotion');
13
13
  var vueTypes = require('./vueTypes-57d01f18.js');
14
14
  require('@appbaseio/reactivecore/lib/utils/transform');
15
15
  require('redux');
16
- var index = require('./index-89c39a9e.js');
17
- var ComponentWrapper = require('./ComponentWrapper-32481890.js');
16
+ var index = require('./index-4509aa45.js');
17
+ var ComponentWrapper = require('./ComponentWrapper-10bad289.js');
18
18
  var Title = require('./Title-584a8cc8.js');
19
19
  var Container = require('./Container-526efa6a.js');
20
20
  var NoSSR = _interopDefault(require('vue-no-ssr'));
@@ -14,7 +14,7 @@ var styled = require('@appbaseio/vue-emotion');
14
14
  var styled__default = _interopDefault(styled);
15
15
  var vueTypes = require('./vueTypes-57d01f18.js');
16
16
  require('redux');
17
- var index = require('./index-89c39a9e.js');
17
+ var index = require('./index-4509aa45.js');
18
18
  var _mergeJSXProps = _interopDefault(require('@vue/babel-helper-vue-jsx-merge-props'));
19
19
  var analytics = require('@appbaseio/reactivecore/lib/actions/analytics');
20
20
  var Appbase = _interopDefault(require('appbase-js'));
@@ -12,8 +12,8 @@ var constants = require('@appbaseio/reactivecore/lib/utils/constants');
12
12
  var vueTypes = require('./vueTypes-57d01f18.js');
13
13
  require('@appbaseio/reactivecore/lib/utils/transform');
14
14
  require('redux');
15
- var index = require('./index-89c39a9e.js');
16
- var ComponentWrapper = require('./ComponentWrapper-32481890.js');
15
+ var index = require('./index-4509aa45.js');
16
+ var ComponentWrapper = require('./ComponentWrapper-10bad289.js');
17
17
 
18
18
  var _excluded = ["options"],
19
19
  _excluded2 = ["query"],
@@ -18,8 +18,8 @@ var Button = require('./Button-11307285.js');
18
18
  var vueTypes = require('./vueTypes-57d01f18.js');
19
19
  require('@appbaseio/reactivecore/lib/utils/transform');
20
20
  require('redux');
21
- var index = require('./index-89c39a9e.js');
22
- var ComponentWrapper = require('./ComponentWrapper-32481890.js');
21
+ var index = require('./index-4509aa45.js');
22
+ var ComponentWrapper = require('./ComponentWrapper-10bad289.js');
23
23
  var _mergeJSXProps = _interopDefault(require('@vue/babel-helper-vue-jsx-merge-props'));
24
24
  require('./Title-584a8cc8.js');
25
25
  var ListItem = require('./ListItem-b40adb04.js');
@@ -502,6 +502,12 @@ var ReactiveList = {
502
502
  });
503
503
  }
504
504
 
505
+ if (this.urlSortOption) {
506
+ this.sortOptionIndex = this.$props.sortOptions.findIndex(function (s) {
507
+ return s.label === _this.urlSortOption;
508
+ }) || 0;
509
+ }
510
+
505
511
  this.updateComponentProps(this.componentId, {
506
512
  from: this.from
507
513
  }, constants.componentTypes.reactiveList);
@@ -810,7 +816,7 @@ var ReactiveList = {
810
816
  "labelPosition": this.sortOptions ? 'right' : 'left'
811
817
  },
812
818
  "class": getClassName$1(this.$props.innerClass, 'resultsInfo')
813
- }, [this.sortOptions ? this.renderSortOptions() : null, this.$props.showResultStats && results.length ? this.renderStats() : null]), !this.isLoading && results.length === 0 ? this.renderNoResult() : null, this.shouldRenderPagination && (this.$props.paginationAt === 'top' || this.$props.paginationAt === 'both') ? h(Pagination, {
819
+ }, [this.sortOptions ? this.renderSortOptions() : null, this.$props.showResultStats && results.length ? this.renderStats() : null]), !this.isLoading && hits && hits.length === 0 ? this.renderNoResult() : null, this.shouldRenderPagination && (this.$props.paginationAt === 'top' || this.$props.paginationAt === 'both') ? h(Pagination, {
814
820
  "attrs": {
815
821
  "pages": this.$props.pages,
816
822
  "totalPages": this.totalPages,
@@ -1018,8 +1024,11 @@ var ReactiveList = {
1018
1024
  sortBy: sortBy
1019
1025
  }, constants.componentTypes.reactiveList);
1020
1026
  this.setQueryOptions(this.$props.componentId, options, true);
1027
+ this.setPage(0);
1021
1028
  this.currentPageState = 0;
1022
1029
  this.from = 0;
1030
+ var sortOption = this.$props.sortOptions[this.sortOptionIndex] ? this.$props.sortOptions[this.sortOptionIndex].label : null;
1031
+ this.setPageURL(this.$props.componentId + "sortOption", sortOption, this.$props.componentId + "sortOption", false, this.$props.URLParams);
1023
1032
  }
1024
1033
  },
1025
1034
  triggerClickAnalytics: function triggerClickAnalytics(searchPosition, documentId) {
@@ -1131,6 +1140,7 @@ var ReactiveList = {
1131
1140
  var mapStateToProps = function mapStateToProps(state, props) {
1132
1141
  return {
1133
1142
  defaultPage: state.selectedValues[props.componentId] && state.selectedValues[props.componentId].value - 1,
1143
+ urlSortOption: state.selectedValues[props.componentId + "sortOption"] && state.selectedValues[props.componentId + "sortOption"].value,
1134
1144
  hits: state.hits[props.componentId] && state.hits[props.componentId].hits,
1135
1145
  rawData: state.rawData[props.componentId],
1136
1146
  aggregationData: state.compositeAggregations[props.componentId],
@@ -15,7 +15,7 @@ require('polished');
15
15
  var Button = require('./Button-11307285.js');
16
16
  var vueTypes = require('./vueTypes-57d01f18.js');
17
17
  require('redux');
18
- var index = require('./index-89c39a9e.js');
18
+ var index = require('./index-4509aa45.js');
19
19
  var Title = require('./Title-584a8cc8.js');
20
20
  var Container = require('./Container-526efa6a.js');
21
21
 
@@ -16,16 +16,17 @@ var Button = require('./Button-11307285.js');
16
16
  var vueTypes = require('./vueTypes-57d01f18.js');
17
17
  require('@appbaseio/reactivecore/lib/utils/transform');
18
18
  require('redux');
19
- var index = require('./index-89c39a9e.js');
20
- var ComponentWrapper = require('./ComponentWrapper-32481890.js');
19
+ var index = require('./index-4509aa45.js');
20
+ var ComponentWrapper = require('./ComponentWrapper-10bad289.js');
21
+ require('@vue/babel-helper-vue-jsx-merge-props');
21
22
  var Title = require('./Title-584a8cc8.js');
22
23
  require('./CancelSvg-4aa35935.js');
23
- require('./Input-3cc3fa59.js');
24
+ require('./Input-a9ee53ed.js');
24
25
  require('compute-scroll-into-view');
25
26
  var Container = require('./Container-526efa6a.js');
26
27
  require('@appbaseio/reactivecore/lib/utils/suggestions');
27
28
  var utils = require('./utils-1219e1fe.js');
28
- var DropDown = require('./DropDown-cf9bfffc.js');
29
+ var DropDown = require('./DropDown-0076babc.js');
29
30
 
30
31
  var updateQuery = configureStore.Actions.updateQuery,
31
32
  setQueryOptions = configureStore.Actions.setQueryOptions,
@@ -15,10 +15,10 @@ require('polished');
15
15
  var vueTypes = require('./vueTypes-57d01f18.js');
16
16
  require('@appbaseio/reactivecore/lib/utils/transform');
17
17
  require('redux');
18
- var index = require('./index-89c39a9e.js');
19
- var ComponentWrapper = require('./ComponentWrapper-32481890.js');
18
+ var index = require('./index-4509aa45.js');
19
+ var ComponentWrapper = require('./ComponentWrapper-10bad289.js');
20
20
  var Title = require('./Title-584a8cc8.js');
21
- var Input = require('./Input-3cc3fa59.js');
21
+ var Input = require('./Input-a9ee53ed.js');
22
22
  var Container = require('./Container-526efa6a.js');
23
23
  var suggestions = require('@appbaseio/reactivecore/lib/utils/suggestions');
24
24
  var FormControlList = require('./FormControlList-808dbcef.js');
@@ -15,8 +15,8 @@ require('polished');
15
15
  var vueTypes = require('./vueTypes-57d01f18.js');
16
16
  require('@appbaseio/reactivecore/lib/utils/transform');
17
17
  require('redux');
18
- var index = require('./index-89c39a9e.js');
19
- var ComponentWrapper = require('./ComponentWrapper-32481890.js');
18
+ var index = require('./index-4509aa45.js');
19
+ var ComponentWrapper = require('./ComponentWrapper-10bad289.js');
20
20
  var Title = require('./Title-584a8cc8.js');
21
21
  var Container = require('./Container-526efa6a.js');
22
22
  var FormControlList = require('./FormControlList-808dbcef.js');
@@ -10,7 +10,7 @@ var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-f127c8b7.js
10
10
  var VueTypes = _interopDefault(require('vue-types'));
11
11
  require('@appbaseio/reactivecore/lib/utils/constants');
12
12
  require('redux');
13
- var index = require('./index-89c39a9e.js');
13
+ var index = require('./index-4509aa45.js');
14
14
 
15
15
  var getSearchState = configureStore.helper.getSearchState;
16
16
  var defaultKeys = ['hits', 'value', 'aggregations', 'error'];
@@ -16,8 +16,8 @@ var Button = require('./Button-11307285.js');
16
16
  var vueTypes = require('./vueTypes-57d01f18.js');
17
17
  require('@appbaseio/reactivecore/lib/utils/transform');
18
18
  require('redux');
19
- var index = require('./index-89c39a9e.js');
20
- var ComponentWrapper = require('./ComponentWrapper-32481890.js');
19
+ var index = require('./index-4509aa45.js');
20
+ var ComponentWrapper = require('./ComponentWrapper-10bad289.js');
21
21
  var Title = require('./Title-584a8cc8.js');
22
22
  var Container = require('./Container-526efa6a.js');
23
23
 
@@ -160,10 +160,16 @@ var isFunction = function isFunction(element) {
160
160
  }; // parses current array (i.e. this.$props.value) for `onChange` callback for multi-* components
161
161
 
162
162
  function parseValueArray(objectValues, currentValue) {
163
- var keys = Object.keys(objectValues);
164
- var selectedValues = keys.map(function (key) {
165
- return objectValues[key] ? key : null;
166
- });
163
+ var selectedValues;
164
+
165
+ if (Array.isArray(objectValues)) {
166
+ selectedValues = [].concat(objectValues);
167
+ } else {
168
+ var keys = Object.keys(objectValues);
169
+ selectedValues = keys.map(function (key) {
170
+ return objectValues[key] ? key : null;
171
+ });
172
+ }
167
173
 
168
174
  if (selectedValues.includes(currentValue)) {
169
175
  return selectedValues.filter(function (item) {
package/dist/cjs/index.js CHANGED
@@ -15,8 +15,8 @@ require('./vueTypes-57d01f18.js');
15
15
  var ReactiveList = require('./ReactiveList.js');
16
16
  require('@appbaseio/reactivecore/lib/utils/transform');
17
17
  require('redux');
18
- require('./index-89c39a9e.js');
19
- require('./ComponentWrapper-32481890.js');
18
+ require('./index-4509aa45.js');
19
+ require('./ComponentWrapper-10bad289.js');
20
20
  require('@vue/babel-helper-vue-jsx-merge-props');
21
21
  require('./Title-584a8cc8.js');
22
22
  require('./ListItem-b40adb04.js');
@@ -27,18 +27,19 @@ require('appbase-js');
27
27
  require('url-search-params-polyfill');
28
28
  var ReactiveBase = require('./ReactiveBase.js');
29
29
  require('hotkeys-js');
30
- var DataSearch = require('./DataSearch.js');
30
+ var DataSearch = require('./DataSearch-37dfdf39.js');
31
31
  require('./CancelSvg-4aa35935.js');
32
- require('./Input-3cc3fa59.js');
32
+ require('./Input-a9ee53ed.js');
33
33
  require('compute-scroll-into-view');
34
34
  require('./Container-526efa6a.js');
35
35
  require('vue-highlight-words');
36
+ var install = require('./install-b7a80fc1.js');
36
37
  require('@appbaseio/reactivecore/lib/utils/suggestions');
37
38
  require('./FormControlList-808dbcef.js');
38
39
  require('./utils-1219e1fe.js');
39
40
  var SingleList = require('./SingleList.js');
40
41
  var MultiList = require('./MultiList.js');
41
- require('./DropDown-cf9bfffc.js');
42
+ require('./DropDown-0076babc.js');
42
43
  var SingleDropdownList = require('./SingleDropdownList.js');
43
44
  var MultiDropdownList = require('./MultiDropdownList.js');
44
45
  var ToggleButton = require('./ToggleButton.js');
@@ -64,21 +65,22 @@ require('@appbaseio/reactivecore/lib/actions/utils');
64
65
  var initReactivesearch = require('./initReactivesearch.js');
65
66
  var version = require('./version.js');
66
67
  var RangeInput = require('./RangeInput.js');
67
- var install = require('./install.js');
68
68
 
69
69
  // Add polyfills to support in IE
70
70
 
71
71
  if (typeof window !== 'undefined' && window.Vue) {
72
- install.default(window.Vue);
72
+ install.install(window.Vue);
73
73
  }
74
74
  var index = {
75
75
  version: version.default,
76
- install: install.default
76
+ install: install.install
77
77
  };
78
78
 
79
79
  exports.ReactiveList = ReactiveList.default;
80
80
  exports.ReactiveBase = ReactiveBase.default;
81
- exports.DataSearch = DataSearch.default;
81
+ exports.DataSearch = DataSearch.DataSearch;
82
+ exports.SearchBox = install.SearchBox;
83
+ exports.install = install.install;
82
84
  exports.SingleList = SingleList.default;
83
85
  exports.MultiList = MultiList.default;
84
86
  exports.SingleDropdownList = SingleDropdownList.default;
@@ -96,5 +98,4 @@ exports.StateProvider = StateProvider.default;
96
98
  exports.initReactivesearch = initReactivesearch.default;
97
99
  exports.version = version.default;
98
100
  exports.RangeInput = RangeInput.default;
99
- exports.install = install.default;
100
101
  exports.default = index;