@appbaseio/reactivesearch-vue 1.16.0-alpha.4 → 1.16.0-alpha.42

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 (101) hide show
  1. package/dist/@appbaseio/reactivesearch-vue.umd.js +8110 -7499
  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-d2f1aeda.js +68 -0
  6. package/dist/cjs/{DownShift-b09da079.js → CancelSvg-82021d23.js} +60 -16
  7. package/dist/cjs/Card-4b915733.js +30 -0
  8. package/dist/cjs/{ComponentWrapper-5a0a8849.js → ComponentWrapper-7302fe1a.js} +40 -21
  9. package/dist/cjs/{Container-f84e72fc.js → Container-8a08d663.js} +3 -11
  10. package/dist/cjs/DataSearch.js +354 -398
  11. package/dist/cjs/{DropDown-c66be1a8.js → DropDown-c46d8b0c.js} +80 -95
  12. package/dist/cjs/DynamicRangeSlider.js +107 -42
  13. package/dist/cjs/Flex-699639d2.js +52 -0
  14. package/dist/cjs/FormControlList-73497794.js +47 -0
  15. package/dist/cjs/Input-c6f181d5.js +79 -0
  16. package/dist/cjs/ListItem-933c27e4.js +46 -0
  17. package/dist/cjs/MultiDropdownList.js +101 -65
  18. package/dist/cjs/MultiList.js +79 -47
  19. package/dist/cjs/MultiRange.js +20 -14
  20. package/dist/cjs/{Pagination-91df3b77.js → Pagination-1b2320a7.js} +4 -3
  21. package/dist/cjs/RangeInput.js +29 -45
  22. package/dist/cjs/RangeSlider.js +31 -28
  23. package/dist/cjs/ReactiveBase.js +55 -34
  24. package/dist/cjs/ReactiveComponent.js +69 -62
  25. package/dist/cjs/ReactiveGoogleMap.js +326 -235
  26. package/dist/cjs/ReactiveList.js +188 -241
  27. package/dist/cjs/ResultCard.js +8 -6
  28. package/dist/cjs/ResultList.js +8 -6
  29. package/dist/cjs/SelectedFilters.js +25 -12
  30. package/dist/cjs/SingleDropdownList.js +87 -57
  31. package/dist/cjs/SingleList.js +60 -37
  32. package/dist/cjs/SingleRange.js +17 -11
  33. package/dist/cjs/StateProvider.js +11 -7
  34. package/dist/cjs/{Title-e9beb554.js → Title-39765ee6.js} +3 -11
  35. package/dist/cjs/ToggleButton.js +35 -16
  36. package/dist/cjs/{_rollupPluginBabelHelpers-280a574c.js → _rollupPluginBabelHelpers-4abdbfff.js} +11 -1
  37. package/dist/cjs/{index-e0583d76.js → index-d44a0a21.js} +87 -13
  38. package/dist/cjs/index.js +23 -19
  39. package/dist/cjs/initReactivesearch.js +190 -103
  40. package/dist/cjs/install.js +20 -18
  41. package/dist/cjs/ssr-c333c82c.js +39 -0
  42. package/dist/cjs/{utils-d1ea9f95.js → utils-23afb20b.js} +2 -2
  43. package/dist/cjs/version.js +1 -1
  44. package/dist/cjs/{vueTypes-c21f265b.js → vueTypes-6de9d2a9.js} +9 -4
  45. package/dist/es/Button-799185e2.js +59 -0
  46. package/dist/es/{DownShift-d8f2500f.js → CancelSvg-4d9e0857.js} +56 -17
  47. package/dist/es/Card-04b3c33e.js +23 -0
  48. package/dist/es/{ComponentWrapper-d0b21b95.js → ComponentWrapper-bbb717bc.js} +40 -21
  49. package/dist/es/Container-4383c6f0.js +10 -0
  50. package/dist/es/DataSearch.js +352 -396
  51. package/dist/es/{DropDown-5dbd69c2.js → DropDown-4edaa621.js} +79 -94
  52. package/dist/es/DynamicRangeSlider.js +107 -42
  53. package/dist/es/Flex-aac91505.js +47 -0
  54. package/dist/es/FormControlList-fe389a2e.js +40 -0
  55. package/dist/es/Input-d8519224.js +71 -0
  56. package/dist/es/ListItem-bdb6d53d.js +39 -0
  57. package/dist/es/MultiDropdownList.js +101 -65
  58. package/dist/es/MultiList.js +79 -47
  59. package/dist/es/MultiRange.js +20 -14
  60. package/dist/es/{Pagination-800af44f.js → Pagination-b3e4054a.js} +4 -3
  61. package/dist/es/RangeInput.js +29 -45
  62. package/dist/es/RangeSlider.js +31 -28
  63. package/dist/es/ReactiveBase.js +55 -34
  64. package/dist/es/ReactiveComponent.js +69 -62
  65. package/dist/es/ReactiveGoogleMap.js +326 -235
  66. package/dist/es/ReactiveList.js +188 -241
  67. package/dist/es/ResultCard.js +8 -6
  68. package/dist/es/ResultList.js +8 -6
  69. package/dist/es/SelectedFilters.js +25 -12
  70. package/dist/es/SingleDropdownList.js +87 -57
  71. package/dist/es/SingleList.js +60 -37
  72. package/dist/es/SingleRange.js +17 -11
  73. package/dist/es/StateProvider.js +11 -7
  74. package/dist/es/Title-579f8d6c.js +10 -0
  75. package/dist/es/ToggleButton.js +35 -16
  76. package/dist/es/{_rollupPluginBabelHelpers-c9fbe19f.js → _rollupPluginBabelHelpers-ecf6c03c.js} +11 -1
  77. package/dist/es/{index-1fe91a0a.js → index-5daa8276.js} +84 -14
  78. package/dist/es/index.js +23 -19
  79. package/dist/es/initReactivesearch.js +191 -104
  80. package/dist/es/install.js +20 -18
  81. package/dist/es/ssr-e3196de1.js +33 -0
  82. package/dist/es/{utils-ce3d86fd.js → utils-3a32e13f.js} +2 -2
  83. package/dist/es/version.js +1 -1
  84. package/dist/es/{vueTypes-98d938a9.js → vueTypes-9326e0be.js} +9 -4
  85. package/package.json +7 -5
  86. package/dist/cjs/Button-78d8bc26.js +0 -146
  87. package/dist/cjs/Card-b4af314f.js +0 -58
  88. package/dist/cjs/Flex-737c55be.js +0 -160
  89. package/dist/cjs/FormControlList-08dfb28e.js +0 -105
  90. package/dist/cjs/Input-643d02a7.js +0 -178
  91. package/dist/cjs/ListItem-0c58c5d2.js +0 -84
  92. package/dist/cjs/ssr-b7a729f9.js +0 -47
  93. package/dist/es/Button-6c71c66e.js +0 -137
  94. package/dist/es/Card-ecf70ba1.js +0 -51
  95. package/dist/es/Container-f5efec9e.js +0 -18
  96. package/dist/es/Flex-40a74d8a.js +0 -155
  97. package/dist/es/FormControlList-b96aebef.js +0 -98
  98. package/dist/es/Input-dfd9dd40.js +0 -170
  99. package/dist/es/ListItem-da73bc7d.js +0 -77
  100. package/dist/es/Title-22c2f3bf.js +0 -18
  101. package/dist/es/ssr-2f57791d.js +0 -41
@@ -4,15 +4,15 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
6
6
 
7
- var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-280a574c.js');
7
+ var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-4abdbfff.js');
8
8
  var VueTypes = _interopDefault(require('vue-types'));
9
9
  require('emotion');
10
10
  require('@appbaseio/vue-emotion');
11
11
  require('polished');
12
- var vueTypes = require('./vueTypes-c21f265b.js');
12
+ var vueTypes = require('./vueTypes-6de9d2a9.js');
13
13
  var _mergeJSXProps = _interopDefault(require('@vue/babel-helper-vue-jsx-merge-props'));
14
- var Title = require('./Title-e9beb554.js');
15
- var Card = require('./Card-b4af314f.js');
14
+ var Title = require('./Title-39765ee6.js');
15
+ var Card = require('./Card-4b915733.js');
16
16
 
17
17
  var ResultCardTitle = {
18
18
  name: 'ResultCardTitle',
@@ -27,6 +27,7 @@ ResultCardTitle.install = function (Vue) {
27
27
  Vue.component(ResultCardTitle.name, ResultCardTitle);
28
28
  };
29
29
 
30
+ var _excluded = ["src"];
30
31
  var ResultCardImage = {
31
32
  name: 'ResultCardImage',
32
33
  props: {
@@ -37,7 +38,7 @@ var ResultCardImage = {
37
38
 
38
39
  var _this$$props = this.$props,
39
40
  src = _this$$props.src,
40
- props = _rollupPluginBabelHelpers._objectWithoutPropertiesLoose(_this$$props, ["src"]);
41
+ props = _rollupPluginBabelHelpers._objectWithoutPropertiesLoose(_this$$props, _excluded);
41
42
 
42
43
  return h(Card.Image, _mergeJSXProps([{
43
44
  "style": {
@@ -66,6 +67,7 @@ ResultCardDescription.install = function (Vue) {
66
67
  Vue.component(ResultCardDescription.name, ResultCardDescription);
67
68
  };
68
69
 
70
+ var _excluded$1 = ["href", "target"];
69
71
  var ResultCard = {
70
72
  name: 'ResultCard',
71
73
  components: {
@@ -84,7 +86,7 @@ var ResultCard = {
84
86
  var _this$$props = this.$props,
85
87
  href = _this$$props.href,
86
88
  target = _this$$props.target,
87
- rest = _rollupPluginBabelHelpers._objectWithoutPropertiesLoose(_this$$props, ["href", "target"]);
89
+ rest = _rollupPluginBabelHelpers._objectWithoutPropertiesLoose(_this$$props, _excluded$1);
88
90
 
89
91
  return h(Card.Card, _mergeJSXProps([{
90
92
  "attrs": {
@@ -4,15 +4,15 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
6
6
 
7
- var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-280a574c.js');
7
+ var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-4abdbfff.js');
8
8
  var VueTypes = _interopDefault(require('vue-types'));
9
9
  require('emotion');
10
10
  require('@appbaseio/vue-emotion');
11
11
  require('polished');
12
- var vueTypes = require('./vueTypes-c21f265b.js');
12
+ var vueTypes = require('./vueTypes-6de9d2a9.js');
13
13
  var _mergeJSXProps = _interopDefault(require('@vue/babel-helper-vue-jsx-merge-props'));
14
- var Title = require('./Title-e9beb554.js');
15
- var ListItem = require('./ListItem-0c58c5d2.js');
14
+ var Title = require('./Title-39765ee6.js');
15
+ var ListItem = require('./ListItem-933c27e4.js');
16
16
 
17
17
  var ResultListContent = {
18
18
  name: 'ResultListContent',
@@ -44,6 +44,7 @@ ResultListDescription.install = function (Vue) {
44
44
  Vue.component(ResultListDescription.name, ResultListDescription);
45
45
  };
46
46
 
47
+ var _excluded = ["src", "small"];
47
48
  var ResultListImage = {
48
49
  name: 'ResultListImage',
49
50
  props: {
@@ -56,7 +57,7 @@ var ResultListImage = {
56
57
  var _this$$props = this.$props,
57
58
  src = _this$$props.src,
58
59
  small = _this$$props.small,
59
- props = _rollupPluginBabelHelpers._objectWithoutPropertiesLoose(_this$$props, ["src", "small"]);
60
+ props = _rollupPluginBabelHelpers._objectWithoutPropertiesLoose(_this$$props, _excluded);
60
61
 
61
62
  return h(ListItem.Image, _mergeJSXProps([{
62
63
  "attrs": {
@@ -84,6 +85,7 @@ ResultListTitle.install = function (Vue) {
84
85
  Vue.component(ResultListTitle.name, ResultListTitle);
85
86
  };
86
87
 
88
+ var _excluded$1 = ["href", "target"];
87
89
  var ResultList = {
88
90
  name: 'ResultList',
89
91
  props: {
@@ -123,7 +125,7 @@ var ResultList = {
123
125
  var _this$$props = this.$props,
124
126
  href = _this$$props.href,
125
127
  target = _this$$props.target,
126
- props = _rollupPluginBabelHelpers._objectWithoutPropertiesLoose(_this$$props, ["href", "target"]);
128
+ props = _rollupPluginBabelHelpers._objectWithoutPropertiesLoose(_this$$props, _excluded$1);
127
129
 
128
130
  var hasImage = this.hasImage,
129
131
  isSmall = this.isSmall;
@@ -6,21 +6,22 @@ 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-280a574c.js');
9
+ var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-4abdbfff.js');
10
10
  var VueTypes = _interopDefault(require('vue-types'));
11
11
  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-78d8bc26.js');
16
- var vueTypes = require('./vueTypes-c21f265b.js');
15
+ var Button = require('./Button-d2f1aeda.js');
16
+ var vueTypes = require('./vueTypes-6de9d2a9.js');
17
17
  require('redux');
18
- var index = require('./index-e0583d76.js');
19
- var Title = require('./Title-e9beb554.js');
20
- var Container = require('./Container-f84e72fc.js');
18
+ var index = require('./index-d44a0a21.js');
19
+ var Title = require('./Title-39765ee6.js');
20
+ var Container = require('./Container-8a08d663.js');
21
21
 
22
22
  var setValue = configureStore.Actions.setValue,
23
- clearValues = configureStore.Actions.clearValues;
23
+ clearValues = configureStore.Actions.clearValues,
24
+ resetValuesToDefault = configureStore.Actions.resetValuesToDefault;
24
25
  var getClassName = configureStore.helper.getClassName,
25
26
  handleA11yAction = configureStore.helper.handleA11yAction;
26
27
  var SelectedFilters = {
@@ -30,7 +31,9 @@ var SelectedFilters = {
30
31
  clearAllLabel: VueTypes.string.def('Clear All'),
31
32
  innerClass: vueTypes.types.style,
32
33
  showClearAll: VueTypes.bool.def(true),
33
- title: vueTypes.types.title
34
+ title: vueTypes.types.title,
35
+ resetToDefault: VueTypes.bool.def(false),
36
+ resetToValues: VueTypes.object
34
37
  },
35
38
  inject: {
36
39
  theme: {
@@ -47,7 +50,8 @@ var SelectedFilters = {
47
50
  components: this.components,
48
51
  selectedValues: this.selectedValues,
49
52
  clearValues: this.clearValues,
50
- setValue: this.setValue
53
+ setValue: this.setValue,
54
+ resetValuesToDefault: this.resetValuesToDefault
51
55
  });
52
56
  }
53
57
 
@@ -82,8 +86,16 @@ var SelectedFilters = {
82
86
  this.$emit('clear', component, value);
83
87
  },
84
88
  clearValues: function clearValues() {
85
- this.clearValuesAction();
86
- this.$emit('clear', null);
89
+ var resetToDefault = this.resetToDefault,
90
+ resetToValues = this.resetToValues;
91
+
92
+ if (resetToDefault) {
93
+ this.resetValuesToDefault();
94
+ } else {
95
+ this.clearValuesAction(resetToValues);
96
+ }
97
+
98
+ this.$emit('clear', resetToValues);
87
99
  },
88
100
  renderValue: function renderValue(value, isArray) {
89
101
  var _this2 = this;
@@ -163,7 +175,8 @@ var mapStateToProps = function mapStateToProps(state) {
163
175
 
164
176
  var mapDispatchtoProps = {
165
177
  clearValuesAction: clearValues,
166
- setValue: setValue
178
+ setValue: setValue,
179
+ resetValuesToDefault: resetValuesToDefault
167
180
  };
168
181
  var RcConnected = index.connect(mapStateToProps, mapDispatchtoProps)(SelectedFilters);
169
182
 
@@ -6,25 +6,27 @@ 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-280a574c.js');
9
+ var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-4abdbfff.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 Button = require('./Button-78d8bc26.js');
16
- var vueTypes = require('./vueTypes-c21f265b.js');
15
+ var Button = require('./Button-d2f1aeda.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-e0583d76.js');
20
- var ComponentWrapper = require('./ComponentWrapper-5a0a8849.js');
21
- var Title = require('./Title-e9beb554.js');
22
- require('./Input-643d02a7.js');
19
+ var index = require('./index-d44a0a21.js');
20
+ var ComponentWrapper = require('./ComponentWrapper-7302fe1a.js');
21
+ require('@vue/babel-helper-vue-jsx-merge-props');
22
+ var Title = require('./Title-39765ee6.js');
23
+ require('./CancelSvg-82021d23.js');
24
+ require('./Input-c6f181d5.js');
23
25
  require('compute-scroll-into-view');
24
- require('./DownShift-b09da079.js');
25
- var Container = require('./Container-f84e72fc.js');
26
- var utils = require('./utils-d1ea9f95.js');
27
- var DropDown = require('./DropDown-c66be1a8.js');
26
+ var Container = require('./Container-8a08d663.js');
27
+ require('@appbaseio/reactivecore/lib/utils/suggestions');
28
+ var utils = require('./utils-23afb20b.js');
29
+ var DropDown = require('./DropDown-c46d8b0c.js');
28
30
 
29
31
  var updateQuery = configureStore.Actions.updateQuery,
30
32
  setQueryOptions = configureStore.Actions.setQueryOptions,
@@ -34,9 +36,10 @@ var getQueryOptions = configureStore.helper.getQueryOptions,
34
36
  checkValueChange = configureStore.helper.checkValueChange,
35
37
  checkPropChange = configureStore.helper.checkPropChange,
36
38
  getClassName = configureStore.helper.getClassName,
37
- getOptionsFromQuery = configureStore.helper.getOptionsFromQuery,
38
39
  isEqual = configureStore.helper.isEqual,
39
- getCompositeAggsQuery = configureStore.helper.getCompositeAggsQuery;
40
+ getCompositeAggsQuery = configureStore.helper.getCompositeAggsQuery,
41
+ extractQueryFromCustomQuery = configureStore.helper.extractQueryFromCustomQuery,
42
+ getOptionsForCustomQuery = configureStore.helper.getOptionsForCustomQuery;
40
43
  var SingleDropdownList = {
41
44
  name: 'SingleDropdownList',
42
45
  data: function data() {
@@ -73,19 +76,28 @@ var SingleDropdownList = {
73
76
  selectAllLabel: vueTypes.types.string,
74
77
  showCount: VueTypes.bool.def(true),
75
78
  showFilter: VueTypes.bool.def(true),
76
- size: VueTypes.number.def(100),
79
+ size: VueTypes.number,
77
80
  sortBy: VueTypes.oneOf(['asc', 'desc', 'count']).def('count'),
78
81
  title: vueTypes.types.title,
79
82
  URLParams: VueTypes.bool.def(false),
80
83
  showMissing: VueTypes.bool.def(false),
81
84
  missingLabel: VueTypes.string.def('N/A'),
82
85
  showSearch: VueTypes.bool.def(false),
86
+ showClear: VueTypes.bool.def(false),
83
87
  showLoadMore: VueTypes.bool.def(false),
84
88
  loadMoreLabel: VueTypes.oneOfType([VueTypes.string, VueTypes.any]).def('Load More'),
85
- nestedField: vueTypes.types.string
89
+ nestedField: vueTypes.types.string,
90
+ index: VueTypes.string,
91
+ searchPlaceholder: VueTypes.string.def('Type here to search...')
86
92
  },
87
93
  created: function created() {
88
- // Set custom and default queries in store
94
+ if (!this.enableAppbase && this.$props.index) {
95
+ console.warn('Warning(ReactiveSearch): In order to use the `index` prop, the `enableAppbase` prop must be set to true in `ReactiveBase`.');
96
+ }
97
+
98
+ var props = this.$props;
99
+ this.modifiedOptions = this.options && this.options[props.dataField] ? this.options[props.dataField].buckets : []; // Set custom and default queries in store
100
+
89
101
  index.updateCustomQuery(this.componentId, this.setCustomQuery, this.$props, this.currentValue);
90
102
  index.updateDefaultQuery(this.componentId, this.setDefaultQuery, this.$props, this.currentValue);
91
103
  },
@@ -104,33 +116,35 @@ var SingleDropdownList = {
104
116
  options: function options(newVal, oldVal) {
105
117
  var _this = this;
106
118
 
107
- checkPropChange(oldVal, newVal, function () {
108
- var _this$$props = _this.$props,
109
- showLoadMore = _this$$props.showLoadMore,
110
- dataField = _this$$props.dataField;
111
- var modifiedOptions = _this.$data.modifiedOptions;
112
-
113
- if (showLoadMore) {
114
- // append options with showLoadMore
115
- var buckets = newVal[dataField].buckets;
116
- var nextOptions = [].concat(modifiedOptions, buckets.map(function (bucket) {
117
- return {
118
- key: bucket.key[dataField],
119
- doc_count: bucket.doc_count
119
+ if (newVal) {
120
+ checkPropChange(oldVal, newVal, function () {
121
+ var _this$$props = _this.$props,
122
+ showLoadMore = _this$$props.showLoadMore,
123
+ dataField = _this$$props.dataField;
124
+ var modifiedOptions = _this.$data.modifiedOptions;
125
+
126
+ if (showLoadMore) {
127
+ // append options with showLoadMore
128
+ var buckets = newVal[dataField].buckets;
129
+ var nextOptions = [].concat(modifiedOptions, buckets.map(function (bucket) {
130
+ return {
131
+ key: bucket.key[dataField],
132
+ doc_count: bucket.doc_count
133
+ };
134
+ }));
135
+ var after = newVal[dataField].after_key; // detect the last bucket by checking if the next set of buckets were empty
136
+
137
+ var isLastBucket = !buckets.length;
138
+ _this.after = {
139
+ after: after
120
140
  };
121
- }));
122
- var after = newVal[dataField].after_key; // detect the last bucket by checking if the next set of buckets were empty
123
-
124
- var isLastBucket = !buckets.length;
125
- _this.after = {
126
- after: after
127
- };
128
- _this.isLastBucket = isLastBucket;
129
- _this.modifiedOptions = nextOptions;
130
- } else {
131
- _this.modifiedOptions = newVal[_this.$props.dataField] ? newVal[_this.$props.dataField].buckets : [];
132
- }
133
- });
141
+ _this.isLastBucket = isLastBucket;
142
+ _this.modifiedOptions = nextOptions;
143
+ } else {
144
+ _this.modifiedOptions = newVal[_this.$props.dataField] ? newVal[_this.$props.dataField].buckets : [];
145
+ }
146
+ });
147
+ }
134
148
  },
135
149
  size: function size() {
136
150
  this.updateQueryOptions(this.$props);
@@ -179,12 +193,21 @@ var SingleDropdownList = {
179
193
  var renderItemCalc = this.$scopedSlots.renderItem || renderItem;
180
194
  var renderErrorCalc = this.$scopedSlots.renderError || renderError;
181
195
  var renderLabelCalc = this.$scopedSlots.renderLabel || renderLabel;
196
+ var renderNoResults = this.$scopedSlots.renderNoResults || this.$props.renderNoResults;
182
197
 
183
198
  if (renderErrorCalc && this.error) {
184
199
  return index.isFunction(renderErrorCalc) ? renderErrorCalc(this.error) : renderErrorCalc;
185
200
  }
186
201
 
187
- if (!this.hasCustomRenderer && this.$data.modifiedOptions.length === 0) {
202
+ if (!this.hasCustomRenderer && this.$data.modifiedOptions.length === 0 && !this.isLoading) {
203
+ if (renderNoResults && index.isFunction(renderNoResults)) {
204
+ return h("div", [renderNoResults()]);
205
+ }
206
+
207
+ if (renderNoResults && !index.isFunction(renderNoResults)) {
208
+ return renderNoResults;
209
+ }
210
+
188
211
  return null;
189
212
  }
190
213
 
@@ -204,7 +227,7 @@ var SingleDropdownList = {
204
227
  "items": [].concat(selectAll, this.$data.modifiedOptions.filter(function (item) {
205
228
  return String(item.key).trim().length;
206
229
  }).map(function (item) {
207
- return _rollupPluginBabelHelpers._extends(_rollupPluginBabelHelpers._extends({}, item), {}, {
230
+ return _rollupPluginBabelHelpers._extends({}, item, {
208
231
  key: String(item.key)
209
232
  });
210
233
  })),
@@ -219,6 +242,8 @@ var SingleDropdownList = {
219
242
  "renderNoResults": this.$scopedSlots.renderNoResults || this.$props.renderNoResults,
220
243
  "themePreset": this.themePreset,
221
244
  "showSearch": this.$props.showSearch,
245
+ "showClear": this.$props.showClear,
246
+ "searchPlaceholder": this.$props.searchPlaceholder,
222
247
  "transformData": this.$props.transformData,
223
248
  "footer": showLoadMore && !isLastBucket && h("div", {
224
249
  "attrs": {
@@ -268,17 +293,18 @@ var SingleDropdownList = {
268
293
 
269
294
  if (this.defaultQuery) {
270
295
  var defaultQueryToBeSet = this.defaultQuery(value, props) || {};
296
+ var defaultQueryObj = extractQueryFromCustomQuery(defaultQueryToBeSet);
271
297
 
272
- if (defaultQueryToBeSet.query) {
273
- query = defaultQueryToBeSet.query;
298
+ if (defaultQueryObj) {
299
+ query = defaultQueryObj;
274
300
  }
275
301
 
276
- defaultQueryOptions = getOptionsFromQuery(defaultQueryToBeSet); // Update calculated default query in store
302
+ defaultQueryOptions = getOptionsForCustomQuery(defaultQueryToBeSet); // Update calculated default query in store
277
303
 
278
304
  index.updateDefaultQuery(props.componentId, this.setDefaultQuery, props, value);
279
305
  }
280
306
 
281
- this.setQueryOptions(this.internalComponent, defaultQueryOptions);
307
+ this.setQueryOptions(this.internalComponent, defaultQueryOptions, false);
282
308
  this.updateQuery({
283
309
  componentId: this.internalComponent,
284
310
  query: query,
@@ -292,14 +318,13 @@ var SingleDropdownList = {
292
318
  var customQueryOptions;
293
319
 
294
320
  if (customQuery) {
295
- var _ref = customQuery(value, props) || {};
296
-
297
- query = _ref.query;
298
- customQueryOptions = getOptionsFromQuery(customQuery(value, props));
321
+ var customQueryCalc = customQuery(value, props);
322
+ query = extractQueryFromCustomQuery(customQueryCalc);
323
+ customQueryOptions = getOptionsForCustomQuery(customQueryCalc);
299
324
  index.updateCustomQuery(props.componentId, this.setCustomQuery, props, value);
300
325
  }
301
326
 
302
- this.setQueryOptions(props.componentId, customQueryOptions);
327
+ this.setQueryOptions(props.componentId, customQueryOptions, false);
303
328
  this.updateQuery({
304
329
  componentId: props.componentId,
305
330
  query: query,
@@ -333,8 +358,8 @@ var SingleDropdownList = {
333
358
 
334
359
  if (props.defaultQuery) {
335
360
  var value = this.$data.currentValue;
336
- var defaultQueryOptions = getOptionsFromQuery(props.defaultQuery(value, props));
337
- this.setQueryOptions(this.internalComponent, _rollupPluginBabelHelpers._extends(_rollupPluginBabelHelpers._extends({}, queryOptions), defaultQueryOptions));
361
+ var defaultQueryOptions = getOptionsForCustomQuery(props.defaultQuery(value, props));
362
+ this.setQueryOptions(this.internalComponent, _rollupPluginBabelHelpers._extends({}, queryOptions, defaultQueryOptions));
338
363
  } else {
339
364
  this.setQueryOptions(this.internalComponent, queryOptions);
340
365
  }
@@ -425,6 +450,10 @@ SingleDropdownList.generateQueryOptions = function (props, after) {
425
450
  }) : utils.getAggsQuery(queryOptions, props);
426
451
  };
427
452
 
453
+ SingleDropdownList.hasInternalComponent = function () {
454
+ return true;
455
+ };
456
+
428
457
  var mapStateToProps = function mapStateToProps(state, props) {
429
458
  return {
430
459
  options: props.nestedField && state.aggregations[props.componentId] ? state.aggregations[props.componentId].reactivesearch_nested : state.aggregations[props.componentId],
@@ -433,7 +462,8 @@ var mapStateToProps = function mapStateToProps(state, props) {
433
462
  selectedValue: state.selectedValues[props.componentId] && state.selectedValues[props.componentId].value || '',
434
463
  themePreset: state.config.themePreset,
435
464
  error: state.error[props.componentId],
436
- componentProps: state.props[props.componentId]
465
+ componentProps: state.props[props.componentId],
466
+ enableAppbase: state.config.enableAppbase
437
467
  };
438
468
  };
439
469
 
@@ -445,7 +475,7 @@ var mapDispatchtoProps = {
445
475
  };
446
476
  var ListConnected = ComponentWrapper.ComponentWrapper(index.connect(mapStateToProps, mapDispatchtoProps)(SingleDropdownList), {
447
477
  componentType: constants.componentTypes.singleDropdownList,
448
- internalComponent: true
478
+ internalComponent: SingleDropdownList.hasInternalComponent()
449
479
  });
450
480
 
451
481
  SingleDropdownList.install = function (Vue) {