@appbaseio/reactivesearch-vue 2.0.0-alpha.3 → 3.0.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (108) hide show
  1. package/dist/@appbaseio/reactivesearch-vue.umd.js +17405 -25231
  2. package/dist/@appbaseio/reactivesearch-vue.umd.js.map +1 -1
  3. package/dist/@appbaseio/reactivesearch-vue.umd.min.js +6 -15
  4. package/dist/@appbaseio/reactivesearch-vue.umd.min.js.map +1 -1
  5. package/dist/cjs/Button-ad042719.js +59 -0
  6. package/dist/cjs/Card-f5ab024a.js +27 -0
  7. package/dist/cjs/{ComponentWrapper-ad3dad02.js → ComponentWrapper-75f88599.js} +42 -56
  8. package/dist/cjs/Container-29f049b2.js +12 -0
  9. package/dist/cjs/DropDown-6cf84c47.js +698 -0
  10. package/dist/cjs/DynamicRangeSlider.js +103 -155
  11. package/dist/cjs/Flex-d5675ea6.js +48 -0
  12. package/dist/cjs/FormControlList-fadd792f.js +42 -0
  13. package/dist/cjs/Input-4b434436.js +74 -0
  14. package/dist/cjs/ListItem-d57d648d.js +42 -0
  15. package/dist/cjs/MultiDropdownList.js +124 -240
  16. package/dist/cjs/MultiList.js +123 -261
  17. package/dist/cjs/MultiRange.js +87 -133
  18. package/dist/cjs/{Pagination-71e85fa9.js → Pagination-b5ddc906.js} +70 -83
  19. package/dist/cjs/PreferencesConsumer-eb265924.js +75 -0
  20. package/dist/cjs/RangeInput.js +163 -171
  21. package/dist/cjs/RangeSlider.js +81 -109
  22. package/dist/cjs/ReactiveBase.js +139 -157
  23. package/dist/cjs/ReactiveComponent-eb8db4c1.js +2189 -0
  24. package/dist/cjs/ReactiveComponent.js +46 -340
  25. package/dist/cjs/ReactiveGoogleMap.js +445 -655
  26. package/dist/cjs/ReactiveList.js +179 -304
  27. package/dist/cjs/ResultCard.js +36 -36
  28. package/dist/cjs/ResultList.js +48 -56
  29. package/dist/cjs/SelectedFilters.js +62 -69
  30. package/dist/cjs/SingleDropdownList.js +117 -177
  31. package/dist/cjs/SingleList.js +121 -205
  32. package/dist/cjs/SingleRange.js +78 -105
  33. package/dist/cjs/StateProvider.js +74 -47
  34. package/dist/cjs/Title-8802a218.js +12 -0
  35. package/dist/cjs/ToggleButton.js +72 -119
  36. package/dist/cjs/{_rollupPluginBabelHelpers-c705cbe6.js → _rollupPluginBabelHelpers-f8b843f8.js} +0 -15
  37. package/dist/cjs/{index-6a167fe0.js → index-d8d8f291.js} +38 -108
  38. package/dist/cjs/index.js +44 -41
  39. package/dist/cjs/initReactivesearch.js +69 -152
  40. package/dist/cjs/install.js +47 -43
  41. package/dist/cjs/ssr-6907ada3.js +66 -0
  42. package/dist/cjs/{utils-d6a52588.js → utils-83fd01e9.js} +7 -16
  43. package/dist/cjs/version.js +1 -1
  44. package/dist/cjs/{vueTypes-727b7c63.js → vueTypes-1bf00978.js} +8 -19
  45. package/dist/es/Button-474510e3.js +53 -0
  46. package/dist/es/{Card-450683f1.js → Card-38cbe652.js} +3 -3
  47. package/dist/es/{ComponentWrapper-424e86fd.js → ComponentWrapper-5166c76a.js} +42 -56
  48. package/dist/es/{Container-ba826e96.js → Container-d00219f7.js} +2 -2
  49. package/dist/es/DropDown-8764360c.js +688 -0
  50. package/dist/es/DynamicRangeSlider.js +103 -155
  51. package/dist/es/Flex-a08e22d7.js +46 -0
  52. package/dist/es/FormControlList-fe6eaee4.js +38 -0
  53. package/dist/es/Input-4a8ef1f3.js +69 -0
  54. package/dist/es/{ListItem-cad14c5e.js → ListItem-16756c02.js} +7 -8
  55. package/dist/es/MultiDropdownList.js +124 -240
  56. package/dist/es/MultiList.js +123 -261
  57. package/dist/es/MultiRange.js +87 -133
  58. package/dist/es/{Pagination-784bf143.js → Pagination-72bd1d9e.js} +70 -83
  59. package/dist/es/PreferencesConsumer-c276709c.js +73 -0
  60. package/dist/es/RangeInput.js +163 -170
  61. package/dist/es/RangeSlider.js +81 -109
  62. package/dist/es/ReactiveBase.js +138 -155
  63. package/dist/es/ReactiveComponent-f9fa5780.js +2183 -0
  64. package/dist/es/ReactiveComponent.js +42 -337
  65. package/dist/es/ReactiveGoogleMap.js +440 -649
  66. package/dist/es/ReactiveList.js +177 -301
  67. package/dist/es/ResultCard.js +36 -36
  68. package/dist/es/ResultList.js +48 -56
  69. package/dist/es/SelectedFilters.js +62 -69
  70. package/dist/es/SingleDropdownList.js +117 -177
  71. package/dist/es/SingleList.js +121 -205
  72. package/dist/es/SingleRange.js +78 -105
  73. package/dist/es/StateProvider.js +75 -48
  74. package/dist/es/{Title-3342664a.js → Title-863dfa42.js} +2 -2
  75. package/dist/es/ToggleButton.js +72 -119
  76. package/dist/es/{_rollupPluginBabelHelpers-76660dab.js → _rollupPluginBabelHelpers-ded08042.js} +0 -15
  77. package/dist/es/{index-7788a843.js → index-4520a598.js} +39 -107
  78. package/dist/es/index.js +30 -32
  79. package/dist/es/initReactivesearch.js +69 -152
  80. package/dist/es/install.js +49 -41
  81. package/dist/es/{ssr-b2c0b401.js → ssr-af398f0c.js} +36 -7
  82. package/dist/es/{utils-9e68acee.js → utils-9e5a16a1.js} +7 -16
  83. package/dist/es/version.js +1 -1
  84. package/dist/es/{vueTypes-b8146772.js → vueTypes-f1923c72.js} +8 -19
  85. package/package.json +10 -9
  86. package/dist/cjs/Button-446f819e.js +0 -68
  87. package/dist/cjs/CancelSvg-9f258f4f.js +0 -449
  88. package/dist/cjs/Card-642547a8.js +0 -30
  89. package/dist/cjs/Container-daf30918.js +0 -15
  90. package/dist/cjs/DataSearch-6cf29cf0.js +0 -2323
  91. package/dist/cjs/DataSearch.js +0 -30
  92. package/dist/cjs/DropDown-c479bbb0.js +0 -328
  93. package/dist/cjs/Flex-aa517a13.js +0 -52
  94. package/dist/cjs/FormControlList-c195a592.js +0 -47
  95. package/dist/cjs/Input-e6603a7e.js +0 -79
  96. package/dist/cjs/ListItem-8c9e0d68.js +0 -46
  97. package/dist/cjs/Title-1de7d0f4.js +0 -15
  98. package/dist/cjs/install-42ba1d44.js +0 -1409
  99. package/dist/cjs/ssr-3027b848.js +0 -39
  100. package/dist/es/Button-d8bc15ea.js +0 -59
  101. package/dist/es/CancelSvg-4cfae5fd.js +0 -440
  102. package/dist/es/DataSearch-4888aa43.js +0 -2308
  103. package/dist/es/DataSearch.js +0 -22
  104. package/dist/es/DropDown-05a644a5.js +0 -322
  105. package/dist/es/Flex-1f0795c3.js +0 -47
  106. package/dist/es/FormControlList-c22d64f6.js +0 -40
  107. package/dist/es/Input-7a2a9fac.js +0 -71
  108. package/dist/es/install-80bc2764.js +0 -1402
@@ -1,38 +1,42 @@
1
1
  import { Actions, helper } from '@appbaseio/reactivecore';
2
- import { a as _extends, b as _objectWithoutPropertiesLoose, c as _toPropertyKey } from './_rollupPluginBabelHelpers-76660dab.js';
3
- import VueTypes from 'vue-types';
4
2
  import { componentTypes } from '@appbaseio/reactivecore/lib/utils/constants';
5
- import 'emotion';
3
+ import '@vue/babel-helper-vue-transform-on';
4
+ import { a as _extends, b as _objectWithoutPropertiesLoose, c as _toPropertyKey } from './_rollupPluginBabelHelpers-ded08042.js';
5
+ import { createVNode, isVNode } from 'vue';
6
+ import VueTypes from 'vue-types';
6
7
  import '@appbaseio/vue-emotion';
8
+ import 'emotion';
7
9
  import 'polished';
8
- import { l as loadMoreContainer, B as Button } from './Button-d8bc15ea.js';
9
- import { t as types } from './vueTypes-b8146772.js';
10
+ import { l as loadMoreContainer, B as Button } from './Button-474510e3.js';
11
+ import { t as types } from './vueTypes-f1923c72.js';
10
12
  import '@appbaseio/reactivecore/lib/utils/transform';
11
13
  import 'redux';
12
- import { f as updateCustomQuery, u as updateDefaultQuery, i as isQueryIdentical, a as isFunction, q as parseValueArray, g as getComponent, h as hasCustomRenderer, c as connect } from './index-7788a843.js';
13
- import { C as ComponentWrapper } from './ComponentWrapper-424e86fd.js';
14
- import '@vue/babel-helper-vue-jsx-merge-props';
15
- import { T as Title } from './Title-3342664a.js';
16
- import './CancelSvg-4cfae5fd.js';
17
- import './Input-7a2a9fac.js';
14
+ import { j as updateCustomQuery, u as updateDefaultQuery, i as isQueryIdentical, a as isFunction, n as parseValueArray, g as getComponent, h as hasCustomRenderer, c as connect } from './index-4520a598.js';
15
+ import { C as ComponentWrapper } from './ComponentWrapper-5166c76a.js';
16
+ import { P as PreferencesConsumer } from './PreferencesConsumer-c276709c.js';
17
+ import { T as Title } from './Title-863dfa42.js';
18
+ import { c as Dropdown } from './DropDown-8764360c.js';
19
+ import './Input-4a8ef1f3.js';
18
20
  import 'compute-scroll-into-view';
19
- import { C as Container } from './Container-ba826e96.js';
21
+ import { C as Container } from './Container-d00219f7.js';
20
22
  import '@appbaseio/reactivecore/lib/utils/suggestions';
21
- import { g as getAggsQuery } from './utils-9e68acee.js';
22
- import { D as Dropdown } from './DropDown-05a644a5.js';
23
+ import { g as getAggsQuery } from './utils-9e5a16a1.js';
23
24
 
25
+ function _isSlot(s) {
26
+ return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !isVNode(s);
27
+ }
24
28
  var updateQuery = Actions.updateQuery,
25
- setQueryOptions = Actions.setQueryOptions,
26
- setCustomQuery = Actions.setCustomQuery,
27
- setDefaultQuery = Actions.setDefaultQuery;
29
+ setQueryOptions = Actions.setQueryOptions,
30
+ setCustomQuery = Actions.setCustomQuery,
31
+ setDefaultQuery = Actions.setDefaultQuery;
28
32
  var isEqual = helper.isEqual,
29
- getQueryOptions = helper.getQueryOptions,
30
- checkValueChange = helper.checkValueChange,
31
- checkPropChange = helper.checkPropChange,
32
- getClassName = helper.getClassName,
33
- getCompositeAggsQuery = helper.getCompositeAggsQuery,
34
- extractQueryFromCustomQuery = helper.extractQueryFromCustomQuery,
35
- getOptionsForCustomQuery = helper.getOptionsForCustomQuery;
33
+ getQueryOptions = helper.getQueryOptions,
34
+ checkValueChange = helper.checkValueChange,
35
+ checkPropChange = helper.checkPropChange,
36
+ getClassName = helper.getClassName,
37
+ getCompositeAggsQuery = helper.getCompositeAggsQuery,
38
+ extractQueryFromCustomQuery = helper.extractQueryFromCustomQuery,
39
+ getOptionsForCustomQuery = helper.getOptionsForCustomQuery;
36
40
  var MultiDropdownList = {
37
41
  name: 'MultiDropdownList',
38
42
  data: function data() {
@@ -79,26 +83,21 @@ var MultiDropdownList = {
79
83
  showSearch: VueTypes.bool.def(false),
80
84
  showClear: VueTypes.bool.def(false),
81
85
  showLoadMore: VueTypes.bool.def(false),
82
- loadMoreLabel: VueTypes.oneOfType([VueTypes.string, VueTypes.any]).def('Load More'),
86
+ loadMoreLabel: VueTypes.oneOfType([VueTypes.string, VueTypes.nullable]).def('Load More'),
83
87
  nestedField: types.string,
84
88
  index: VueTypes.string,
85
89
  searchPlaceholder: VueTypes.string.def('Type here to search...'),
86
90
  endpoint: types.endpointConfig
87
91
  },
88
92
  created: function created() {
89
- if (!this.enableAppbase && this.$props.index) {
90
- console.warn('Warning(ReactiveSearch): In order to use the `index` prop, the `enableAppbase` prop must be set to true in `ReactiveBase`.');
91
- }
92
-
93
93
  var props = this.$props;
94
- this.modifiedOptions = this.options && this.options[props.dataField] ? this.options[props.dataField].buckets : []; // Set custom and default queries in store
95
-
94
+ this.modifiedOptions = this.options && this.options[props.dataField] ? this.options[props.dataField].buckets : [];
95
+ // Set custom and default queries in store
96
96
  updateCustomQuery(this.componentId, this.setCustomQuery, this.$props, this.currentValue);
97
97
  updateDefaultQuery(this.componentId, this.setDefaultQuery, this.$props, this.currentValue);
98
98
  },
99
99
  beforeMount: function beforeMount() {
100
100
  this.updateQueryOptions(this.$props);
101
-
102
101
  if (this.selectedValue) {
103
102
  this.setValue(this.selectedValue, true);
104
103
  } else if (this.$props.value) {
@@ -110,33 +109,27 @@ var MultiDropdownList = {
110
109
  watch: {
111
110
  selectedValue: function selectedValue(newVal) {
112
111
  var _this = this;
113
-
114
112
  var selectedValue = Object.keys(this.$data.currentValue);
115
-
116
113
  if (this.$props.selectAllLabel) {
117
114
  selectedValue = selectedValue.filter(function (val) {
118
115
  return val !== _this.$props.selectAllLabel;
119
116
  });
120
-
121
117
  if (this.$data.currentValue[this.$props.selectAllLabel]) {
122
118
  selectedValue = [this.$props.selectAllLabel];
123
119
  }
124
120
  }
125
-
126
121
  if (!isEqual(selectedValue, newVal)) {
127
122
  this.setValue(newVal || [], true);
128
123
  }
129
124
  },
130
125
  options: function options(newVal, oldVal) {
131
126
  var _this2 = this;
132
-
133
127
  if (newVal) {
134
128
  checkPropChange(oldVal, newVal, function () {
135
129
  var _this2$$props = _this2.$props,
136
- showLoadMore = _this2$$props.showLoadMore,
137
- dataField = _this2$$props.dataField;
130
+ showLoadMore = _this2$$props.showLoadMore,
131
+ dataField = _this2$$props.dataField;
138
132
  var modifiedOptions = _this2.$data.modifiedOptions;
139
-
140
133
  if (showLoadMore) {
141
134
  // append options with showLoadMore
142
135
  var buckets = newVal[dataField].buckets;
@@ -147,7 +140,6 @@ var MultiDropdownList = {
147
140
  };
148
141
  }));
149
142
  var after = newVal[dataField].after_key; // detect the last bucket by checking if the next set of buckets were empty
150
-
151
143
  var isLastBucket = !buckets.length;
152
144
  _this2.after = {
153
145
  after: after
@@ -190,88 +182,88 @@ var MultiDropdownList = {
190
182
  }
191
183
  },
192
184
  render: function render() {
193
- var h = arguments[0];
185
+ var _this3 = this;
194
186
  var _this$$props = this.$props,
195
- showLoadMore = _this$$props.showLoadMore,
196
- loadMoreLabel = _this$$props.loadMoreLabel,
197
- renderItem = _this$$props.renderItem,
198
- renderError = _this$$props.renderError,
199
- renderLabel = _this$$props.renderLabel;
200
- var renderItemCalc = this.$scopedSlots.renderItem || renderItem;
201
- var renderErrorCalc = this.$scopedSlots.renderError || renderError;
202
- var renderLabelCalc = this.$scopedSlots.renderLabel || renderLabel;
187
+ showLoadMore = _this$$props.showLoadMore,
188
+ loadMoreLabel = _this$$props.loadMoreLabel,
189
+ renderItem = _this$$props.renderItem,
190
+ renderError = _this$$props.renderError,
191
+ renderLabel = _this$$props.renderLabel;
192
+ var renderItemCalc = this.$slots.renderItem || renderItem;
193
+ var renderErrorCalc = this.$slots.renderError || renderError;
194
+ var renderLabelCalc = this.$slots.renderLabel || renderLabel;
203
195
  var isLastBucket = this.$data.isLastBucket;
204
- var renderNoResults = this.$scopedSlots.renderNoResults || this.$props.renderNoResults;
196
+ var renderNoResults = this.$slots.renderNoResults || this.$props.renderNoResults;
205
197
  var selectAll = [];
206
-
207
198
  if (renderErrorCalc && this.error) {
208
199
  return isFunction(renderErrorCalc) ? renderErrorCalc(this.error) : renderErrorCalc;
209
200
  }
210
-
211
201
  if (!this.hasCustomRenderer && this.$data.modifiedOptions.length === 0 && !this.isLoading) {
212
202
  if (renderNoResults && isFunction(renderNoResults)) {
213
- return h("div", [renderNoResults()]);
203
+ return createVNode("div", null, [renderNoResults()]);
214
204
  }
215
-
216
205
  if (renderNoResults && !isFunction(renderNoResults)) {
217
206
  return renderNoResults;
218
207
  }
219
-
220
208
  return null;
221
209
  }
222
-
223
210
  if (this.$props.selectAllLabel) {
224
211
  selectAll = [{
225
- key: this.$props.selectAllLabel
212
+ key: this.$props.selectAllLabel,
213
+ doc_count: this.totalDocumentCount
226
214
  }];
227
215
  }
228
-
229
- return h(Container, {
216
+ return createVNode(Container, {
230
217
  "class": this.$props.className
231
- }, [this.$props.title && h(Title, {
232
- "class": getClassName(this.$props.innerClass, 'title') || ''
233
- }, [this.$props.title]), h(Dropdown, {
234
- "attrs": {
235
- "innerClass": this.$props.innerClass,
236
- "items": [].concat(selectAll, this.$data.modifiedOptions.filter(function (item) {
237
- return String(item.key).trim().length;
238
- }).map(function (item) {
239
- return _extends({}, item, {
240
- key: String(item.key)
241
- });
242
- })),
243
- "hasCustomRenderer": this.hasCustomRenderer,
244
- "customRenderer": this.getComponent,
245
- "handleChange": this.handleChange,
246
- "selectedItem": this.$data.currentValue,
247
- "placeholder": this.$props.placeholder,
248
- "labelField": "key",
249
- "multi": true,
250
- "showCount": this.$props.showCount,
251
- "themePreset": this.themePreset,
252
- "renderItem": renderItemCalc,
253
- "renderNoResults": this.$scopedSlots.renderNoResults || this.$props.renderNoResults,
254
- "showSearch": this.$props.showSearch,
255
- "showClear": this.$props.showClear,
256
- "searchPlaceholder": this.$props.searchPlaceholder,
257
- "transformData": this.$props.transformData,
258
- "footer": showLoadMore && !isLastBucket && h("div", {
259
- "attrs": {
260
- "css": loadMoreContainer
261
- }
262
- }, [h(Button, {
263
- "on": {
264
- "click": this.handleLoadMore
218
+ }, {
219
+ "default": function _default() {
220
+ return [_this3.$props.title && createVNode(Title, {
221
+ "class": getClassName(_this3.$props.innerClass, 'title') || ''
222
+ }, {
223
+ "default": function _default() {
224
+ return [_this3.$props.title];
265
225
  }
266
- }, [loadMoreLabel])]),
267
- "customLabelRenderer": renderLabelCalc
226
+ }), createVNode(Dropdown, {
227
+ "innerClass": _this3.$props.innerClass,
228
+ "items": [].concat(selectAll, _this3.$data.modifiedOptions.filter(function (item) {
229
+ return String(item.key).trim().length;
230
+ }).map(function (item) {
231
+ return _extends({}, item, {
232
+ key: String(item.key)
233
+ });
234
+ })),
235
+ "hasCustomRenderer": _this3.hasCustomRenderer,
236
+ "customRenderer": _this3.getComponent,
237
+ "handleChange": _this3.handleChange,
238
+ "selectedItem": _this3.$data.currentValue,
239
+ "placeholder": _this3.$props.placeholder,
240
+ "labelField": "key",
241
+ "multi": true,
242
+ "showCount": _this3.$props.showCount,
243
+ "themePreset": _this3.themePreset,
244
+ "renderItem": renderItemCalc,
245
+ "renderNoResults": _this3.$slots.renderNoResults || _this3.$props.renderNoResults,
246
+ "showSearch": _this3.$props.showSearch,
247
+ "showClear": _this3.$props.showClear,
248
+ "searchPlaceholder": _this3.$props.searchPlaceholder,
249
+ "transformData": _this3.$props.transformData,
250
+ "footer": showLoadMore && !isLastBucket && createVNode("div", {
251
+ "css": loadMoreContainer
252
+ }, [createVNode(Button, {
253
+ "onClick": _this3.handleLoadMore
254
+ }, _isSlot(loadMoreLabel) ? loadMoreLabel : {
255
+ "default": function _default() {
256
+ return [loadMoreLabel];
257
+ }
258
+ })]),
259
+ "customLabelRenderer": renderLabelCalc
260
+ }, null)];
268
261
  }
269
- })]);
262
+ });
270
263
  },
271
264
  methods: {
272
265
  handleChange: function handleChange(item) {
273
266
  var value = this.$props.value;
274
-
275
267
  if (value === undefined) {
276
268
  this.setValue(item);
277
269
  } else {
@@ -280,20 +272,16 @@ var MultiDropdownList = {
280
272
  }
281
273
  },
282
274
  setValue: function setValue(value, isDefaultValue, props) {
283
- var _this3 = this;
284
-
275
+ var _this4 = this;
285
276
  if (isDefaultValue === void 0) {
286
277
  isDefaultValue = false;
287
278
  }
288
-
289
279
  if (props === void 0) {
290
280
  props = this.$props;
291
281
  }
292
-
293
282
  var selectAllLabel = this.$props.selectAllLabel;
294
283
  var currentValue = this.$data.currentValue;
295
284
  var finalValues = null;
296
-
297
285
  if (selectAllLabel && value.includes(selectAllLabel)) {
298
286
  if (currentValue[selectAllLabel]) {
299
287
  currentValue = {};
@@ -308,71 +296,55 @@ var MultiDropdownList = {
308
296
  } else if (isDefaultValue) {
309
297
  finalValues = value;
310
298
  currentValue = {};
311
-
312
299
  if (Array.isArray(value)) {
313
300
  value.forEach(function (item) {
314
301
  currentValue[item] = true;
315
302
  });
316
303
  }
317
-
318
304
  if (selectAllLabel && selectAllLabel in currentValue) {
319
305
  var _currentValue = currentValue,
320
- del = _currentValue[selectAllLabel],
321
- obj = _objectWithoutPropertiesLoose(_currentValue, [selectAllLabel].map(_toPropertyKey));
322
-
306
+ del = _currentValue[selectAllLabel],
307
+ obj = _objectWithoutPropertiesLoose(_currentValue, [selectAllLabel].map(_toPropertyKey));
323
308
  currentValue = _extends({}, obj);
324
309
  }
325
310
  } else {
326
311
  if (currentValue[value]) {
327
312
  var _currentValue2 = currentValue,
328
- _del = _currentValue2[value],
329
- rest = _objectWithoutPropertiesLoose(_currentValue2, [value].map(_toPropertyKey));
330
-
313
+ _del = _currentValue2[value],
314
+ rest = _objectWithoutPropertiesLoose(_currentValue2, [value].map(_toPropertyKey));
331
315
  currentValue = _extends({}, rest);
332
316
  } else {
333
317
  currentValue[value] = true;
334
318
  }
335
-
336
319
  if (selectAllLabel && selectAllLabel in currentValue) {
337
320
  var _currentValue3 = currentValue,
338
- _del2 = _currentValue3[selectAllLabel],
339
- _obj = _objectWithoutPropertiesLoose(_currentValue3, [selectAllLabel].map(_toPropertyKey));
340
-
321
+ _del2 = _currentValue3[selectAllLabel],
322
+ _obj = _objectWithoutPropertiesLoose(_currentValue3, [selectAllLabel].map(_toPropertyKey));
341
323
  currentValue = _extends({}, _obj);
342
324
  }
343
-
344
325
  finalValues = Object.keys(currentValue);
345
326
  }
346
-
347
327
  var performUpdate = function performUpdate() {
348
- _this3.currentValue = _extends({}, currentValue);
349
-
350
- _this3.updateQueryHandler(finalValues, props);
351
-
352
- _this3.$emit('valueChange', finalValues);
353
-
354
- _this3.$emit('value-change', finalValues);
328
+ _this4.currentValue = _extends({}, currentValue);
329
+ _this4.updateQueryHandler(finalValues, props);
330
+ _this4.$emit('valueChange', finalValues);
331
+ _this4.$emit('value-change', finalValues);
355
332
  };
356
-
357
333
  checkValueChange(props.componentId, finalValues, props.beforeValueChange, performUpdate);
358
334
  },
359
335
  updateDefaultQueryHandler: function updateDefaultQueryHandler(value, props) {
360
336
  var query = MultiDropdownList.defaultQuery(value, props);
361
-
362
337
  if (this.defaultQuery) {
363
338
  var defaultQueryToBeSet = this.defaultQuery(value, props) || {};
364
339
  var defaultQueryObj = extractQueryFromCustomQuery(defaultQueryToBeSet);
365
-
366
340
  if (defaultQueryObj) {
367
341
  query = defaultQueryObj;
368
- } // Update calculated default query in store
369
-
370
-
342
+ }
343
+ // Update calculated default query in store
371
344
  updateDefaultQuery(props.componentId, this.setDefaultQuery, props, value);
372
345
  var defaultQueryOptions = getOptionsForCustomQuery(defaultQueryToBeSet);
373
346
  this.setQueryOptions(this.internalComponent, defaultQueryOptions, false);
374
347
  }
375
-
376
348
  this.updateQuery({
377
349
  componentId: this.internalComponent,
378
350
  query: query,
@@ -383,7 +355,6 @@ var MultiDropdownList = {
383
355
  updateQueryHandler: function updateQueryHandler(value, props) {
384
356
  var customQuery = props.customQuery;
385
357
  var query = MultiDropdownList.defaultQuery(value, props);
386
-
387
358
  if (customQuery) {
388
359
  var customQueryCalc = customQuery(value, props);
389
360
  query = extractQueryFromCustomQuery(customQueryCalc);
@@ -391,7 +362,6 @@ var MultiDropdownList = {
391
362
  var customQueryOptions = getOptionsForCustomQuery(customQueryCalc);
392
363
  this.setQueryOptions(props.componentId, customQueryOptions, false);
393
364
  }
394
-
395
365
  this.updateQuery({
396
366
  componentId: props.componentId,
397
367
  query: query,
@@ -414,15 +384,12 @@ var MultiDropdownList = {
414
384
  if (addAfterKey === void 0) {
415
385
  addAfterKey = false;
416
386
  }
417
-
418
387
  // when using composite aggs flush the current options for a fresh query
419
388
  if (props.showLoadMore && !addAfterKey) {
420
389
  this.modifiedOptions = [];
421
390
  } // for a new query due to other changes don't append after to get fresh results
422
391
 
423
-
424
392
  var queryOptions = MultiDropdownList.generateQueryOptions(props, addAfterKey ? this.$data.after : {});
425
-
426
393
  if (props.defaultQuery) {
427
394
  var value = Object.keys(this.$data.currentValue);
428
395
  var defaultQueryOptions = getOptionsForCustomQuery(props.defaultQuery(value, props));
@@ -438,7 +405,6 @@ var MultiDropdownList = {
438
405
  if (downshiftProps === void 0) {
439
406
  downshiftProps = {};
440
407
  }
441
-
442
408
  var currentValue = this.$data.currentValue;
443
409
  var data = {
444
410
  error: this.error,
@@ -458,98 +424,18 @@ var MultiDropdownList = {
458
424
  }
459
425
  }
460
426
  };
461
-
462
427
  MultiDropdownList.defaultQuery = function (value, props) {
463
- var query = null;
464
- var queryFormat = props.queryFormat;
465
-
466
- if (queryFormat === undefined) {
467
- queryFormat = 'or';
468
- }
469
-
470
- var type = queryFormat === 'or' ? 'terms' : 'term';
471
-
472
- if (!Array.isArray(value) || value.length === 0) {
473
- return null;
474
- }
475
-
476
- if (props.selectAllLabel && value.includes(props.selectAllLabel)) {
477
- if (props.showMissing) {
478
- query = {
479
- match_all: {}
480
- };
481
- } else {
482
- query = {
483
- exists: {
484
- field: props.dataField
485
- }
486
- };
487
- }
488
- } else if (value) {
489
- var listQuery;
490
-
491
- if (queryFormat === 'or') {
492
- if (props.showMissing) {
493
- var _type, _ref;
494
-
495
- var hasMissingTerm = value.includes(props.missingLabel);
496
- var should = [(_ref = {}, _ref[type] = (_type = {}, _type[props.dataField] = value.filter(function (item) {
497
- return item !== props.missingLabel;
498
- }), _type), _ref)];
499
-
500
- if (hasMissingTerm) {
501
- should = should.concat({
502
- bool: {
503
- must_not: {
504
- exists: {
505
- field: props.dataField
506
- }
507
- }
508
- }
509
- });
510
- }
511
-
512
- listQuery = {
513
- bool: {
514
- should: should
515
- }
516
- };
517
- } else {
518
- var _type2, _listQuery;
519
-
520
- listQuery = (_listQuery = {}, _listQuery[type] = (_type2 = {}, _type2[props.dataField] = value, _type2), _listQuery);
521
- }
522
- } else {
523
- // adds a sub-query with must as an array of objects for each term/value
524
- var queryArray = value.map(function (item) {
525
- var _type3, _ref2;
526
-
527
- return _ref2 = {}, _ref2[type] = (_type3 = {}, _type3[props.dataField] = item, _type3), _ref2;
528
- });
529
- listQuery = {
530
- bool: {
531
- must: queryArray
532
- }
533
- };
428
+ return {
429
+ query: {
430
+ queryFormat: props.queryFormat,
431
+ dataField: props.dataField,
432
+ value: value,
433
+ nestedField: props.nestedField,
434
+ selectAllLabel: props.selectAllLabel,
435
+ showMissing: props.showMissing
534
436
  }
535
-
536
- query = value.length ? listQuery : null;
537
- }
538
-
539
- if (query && props.nestedField) {
540
- return {
541
- query: {
542
- nested: {
543
- path: props.nestedField,
544
- query: query
545
- }
546
- }
547
- };
548
- }
549
-
550
- return query;
437
+ };
551
438
  };
552
-
553
439
  MultiDropdownList.generateQueryOptions = function (props, after) {
554
440
  var queryOptions = getQueryOptions(props);
555
441
  return props.showLoadMore ? getCompositeAggsQuery({
@@ -558,40 +444,38 @@ MultiDropdownList.generateQueryOptions = function (props, after) {
558
444
  after: after
559
445
  }) : getAggsQuery(queryOptions, props);
560
446
  };
561
-
562
447
  MultiDropdownList.hasInternalComponent = function () {
563
448
  return true;
564
449
  };
565
-
566
450
  var mapStateToProps = function mapStateToProps(state, props) {
567
451
  return {
568
452
  options: props.nestedField && state.aggregations[props.componentId] ? state.aggregations[props.componentId].reactivesearch_nested : state.aggregations[props.componentId],
569
453
  rawData: state.rawData[props.componentId],
570
454
  isLoading: state.isLoading[props.componentId],
571
455
  selectedValue: state.selectedValues[props.componentId] && state.selectedValues[props.componentId].value || null,
456
+ totalDocumentCount: state.hits[props.componentId] && state.hits[props.componentId].total,
572
457
  themePreset: state.config.themePreset,
573
458
  error: state.error[props.componentId],
574
- componentProps: state.props[props.componentId],
575
- enableAppbase: state.config.enableAppbase
459
+ componentProps: state.props[props.componentId]
576
460
  };
577
461
  };
578
-
579
462
  var mapDispatchtoProps = {
580
463
  setQueryOptions: setQueryOptions,
581
464
  updateQuery: updateQuery,
582
465
  setCustomQuery: setCustomQuery,
583
466
  setDefaultQuery: setDefaultQuery
584
467
  };
585
- var ListConnected = ComponentWrapper(connect(mapStateToProps, mapDispatchtoProps)(MultiDropdownList), {
468
+ var ListConnected = PreferencesConsumer(ComponentWrapper(connect(mapStateToProps, mapDispatchtoProps)(MultiDropdownList), {
586
469
  componentType: componentTypes.multiDropdownList,
587
470
  internalComponent: MultiDropdownList.hasInternalComponent()
588
- });
589
-
590
- MultiDropdownList.install = function (Vue) {
591
- Vue.component(MultiDropdownList.name, ListConnected);
592
- }; // Add componentType for SSR
593
-
471
+ }));
472
+ ListConnected.name = MultiDropdownList.name;
473
+ ListConnected.install = function (Vue) {
474
+ Vue.component(ListConnected.name, ListConnected);
475
+ };
594
476
 
595
- MultiDropdownList.componentType = componentTypes.multiDropdownList;
477
+ // Add componentType for SSR
478
+ ListConnected.componentType = componentTypes.multiDropdownList;
596
479
 
597
- export default MultiDropdownList;
480
+ export default ListConnected;
481
+ export { ListConnected };