@appbaseio/reactivesearch-vue 2.0.0-alpha.4 → 3.0.0-alpha.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.
- package/README.md +9 -9
- package/dist/@appbaseio/reactivesearch-vue.umd.js +21316 -29369
- package/dist/@appbaseio/reactivesearch-vue.umd.js.map +1 -1
- package/dist/@appbaseio/reactivesearch-vue.umd.min.js +5 -19
- package/dist/@appbaseio/reactivesearch-vue.umd.min.js.map +1 -1
- package/dist/cjs/Button-ad042719.js +59 -0
- package/dist/cjs/Card-f5ab024a.js +27 -0
- package/dist/cjs/{ComponentWrapper-ad3dad02.js → ComponentWrapper-611cf7f9.js} +44 -58
- package/dist/cjs/Container-29f049b2.js +12 -0
- package/dist/cjs/DropDown-dc184468.js +700 -0
- package/dist/cjs/DynamicRangeSlider.js +106 -157
- package/dist/cjs/Flex-d5675ea6.js +48 -0
- package/dist/cjs/FormControlList-fadd792f.js +42 -0
- package/dist/cjs/Input-088dfcb4.js +74 -0
- package/dist/cjs/ListItem-d57d648d.js +42 -0
- package/dist/cjs/MultiDropdownList.js +124 -240
- package/dist/cjs/MultiList.js +124 -262
- package/dist/cjs/MultiRange.js +87 -133
- package/dist/cjs/{Pagination-71e85fa9.js → Pagination-b5ddc906.js} +70 -83
- package/dist/cjs/PreferencesConsumer-22d1b49f.js +73 -0
- package/dist/cjs/RangeInput.js +163 -171
- package/dist/cjs/RangeSlider.js +81 -109
- package/dist/cjs/ReactiveBase.js +139 -156
- package/dist/cjs/ReactiveComponent-a6108189.js +2184 -0
- package/dist/cjs/ReactiveComponent.js +46 -340
- package/dist/cjs/ReactiveGoogleMap.js +451 -660
- package/dist/cjs/ReactiveList.js +180 -305
- package/dist/cjs/ResultCard.js +36 -36
- package/dist/cjs/ResultList.js +48 -56
- package/dist/cjs/SelectedFilters.js +62 -69
- package/dist/cjs/SingleDropdownList.js +117 -177
- package/dist/cjs/SingleList.js +122 -206
- package/dist/cjs/SingleRange.js +78 -105
- package/dist/cjs/StateProvider.js +35 -38
- package/dist/cjs/Title-8802a218.js +12 -0
- package/dist/cjs/ToggleButton.js +72 -119
- package/dist/cjs/{_rollupPluginBabelHelpers-c705cbe6.js → _rollupPluginBabelHelpers-f8b843f8.js} +0 -15
- package/dist/cjs/{index-6a167fe0.js → index-d8d8f291.js} +38 -108
- package/dist/cjs/index.js +44 -41
- package/dist/cjs/initReactivesearch.js +63 -150
- package/dist/cjs/install.js +47 -43
- package/dist/cjs/ssr-6c8a72e1.js +66 -0
- package/dist/cjs/{utils-d6a52588.js → utils-83fd01e9.js} +7 -16
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/{vueTypes-727b7c63.js → vueTypes-1bf00978.js} +8 -19
- package/dist/es/Button-474510e3.js +53 -0
- package/dist/es/{Card-450683f1.js → Card-38cbe652.js} +3 -3
- package/dist/es/{ComponentWrapper-424e86fd.js → ComponentWrapper-3dfe6931.js} +44 -58
- package/dist/es/{Container-ba826e96.js → Container-d00219f7.js} +2 -2
- package/dist/es/DropDown-029ffd42.js +690 -0
- package/dist/es/DynamicRangeSlider.js +106 -157
- package/dist/es/Flex-a08e22d7.js +46 -0
- package/dist/es/FormControlList-fe6eaee4.js +38 -0
- package/dist/es/Input-ad474a55.js +69 -0
- package/dist/es/{ListItem-cad14c5e.js → ListItem-16756c02.js} +7 -8
- package/dist/es/MultiDropdownList.js +124 -240
- package/dist/es/MultiList.js +124 -262
- package/dist/es/MultiRange.js +87 -133
- package/dist/es/{Pagination-784bf143.js → Pagination-72bd1d9e.js} +70 -83
- package/dist/es/PreferencesConsumer-24e88f3b.js +71 -0
- package/dist/es/RangeInput.js +163 -170
- package/dist/es/RangeSlider.js +81 -109
- package/dist/es/ReactiveBase.js +138 -154
- package/dist/es/ReactiveComponent-0a97eb1e.js +2178 -0
- package/dist/es/ReactiveComponent.js +42 -337
- package/dist/es/ReactiveGoogleMap.js +446 -654
- package/dist/es/ReactiveList.js +178 -302
- package/dist/es/ResultCard.js +36 -36
- package/dist/es/ResultList.js +48 -56
- package/dist/es/SelectedFilters.js +62 -69
- package/dist/es/SingleDropdownList.js +117 -177
- package/dist/es/SingleList.js +122 -206
- package/dist/es/SingleRange.js +78 -105
- package/dist/es/StateProvider.js +36 -39
- package/dist/es/{Title-3342664a.js → Title-863dfa42.js} +2 -2
- package/dist/es/ToggleButton.js +72 -119
- package/dist/es/{_rollupPluginBabelHelpers-76660dab.js → _rollupPluginBabelHelpers-ded08042.js} +0 -15
- package/dist/es/{index-7788a843.js → index-4520a598.js} +39 -107
- package/dist/es/index.js +30 -32
- package/dist/es/initReactivesearch.js +63 -150
- package/dist/es/install.js +49 -41
- package/dist/es/{ssr-b2c0b401.js → ssr-584c278d.js} +37 -8
- package/dist/es/{utils-9e68acee.js → utils-9e5a16a1.js} +7 -16
- package/dist/es/version.js +1 -1
- package/dist/es/{vueTypes-b8146772.js → vueTypes-f1923c72.js} +8 -19
- package/package.json +10 -9
- package/dist/cjs/Button-446f819e.js +0 -68
- package/dist/cjs/CancelSvg-9f258f4f.js +0 -449
- package/dist/cjs/Card-642547a8.js +0 -30
- package/dist/cjs/Container-daf30918.js +0 -15
- package/dist/cjs/DataSearch-aa04dc6e.js +0 -2352
- package/dist/cjs/DataSearch.js +0 -30
- package/dist/cjs/DropDown-c479bbb0.js +0 -328
- package/dist/cjs/Flex-aa517a13.js +0 -52
- package/dist/cjs/FormControlList-c195a592.js +0 -47
- package/dist/cjs/Input-e6603a7e.js +0 -79
- package/dist/cjs/ListItem-8c9e0d68.js +0 -46
- package/dist/cjs/Title-1de7d0f4.js +0 -15
- package/dist/cjs/install-b97dbac4.js +0 -1409
- package/dist/cjs/ssr-3027b848.js +0 -39
- package/dist/es/Button-d8bc15ea.js +0 -59
- package/dist/es/CancelSvg-4cfae5fd.js +0 -440
- package/dist/es/DataSearch-b86a6675.js +0 -2337
- package/dist/es/DataSearch.js +0 -22
- package/dist/es/DropDown-05a644a5.js +0 -322
- package/dist/es/Flex-1f0795c3.js +0 -47
- package/dist/es/FormControlList-c22d64f6.js +0 -40
- package/dist/es/Input-7a2a9fac.js +0 -71
- package/dist/es/install-ac8a1edb.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 '
|
|
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-
|
|
9
|
-
import { t as types } from './vueTypes-
|
|
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 {
|
|
13
|
-
import { C as ComponentWrapper } from './ComponentWrapper-
|
|
14
|
-
import '
|
|
15
|
-
import { T as Title } from './Title-
|
|
16
|
-
import './
|
|
17
|
-
import './Input-
|
|
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-3dfe6931.js';
|
|
16
|
+
import { P as PreferencesConsumer } from './PreferencesConsumer-24e88f3b.js';
|
|
17
|
+
import { T as Title } from './Title-863dfa42.js';
|
|
18
|
+
import { c as Dropdown } from './DropDown-029ffd42.js';
|
|
19
|
+
import './Input-ad474a55.js';
|
|
18
20
|
import 'compute-scroll-into-view';
|
|
19
|
-
import { C as Container } from './Container-
|
|
21
|
+
import { C as Container } from './Container-d00219f7.js';
|
|
20
22
|
import '@appbaseio/reactivecore/lib/utils/suggestions';
|
|
21
|
-
import { g as getAggsQuery } from './utils-
|
|
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
|
-
|
|
26
|
-
|
|
27
|
-
|
|
29
|
+
setQueryOptions = Actions.setQueryOptions,
|
|
30
|
+
setCustomQuery = Actions.setCustomQuery,
|
|
31
|
+
setDefaultQuery = Actions.setDefaultQuery;
|
|
28
32
|
var isEqual = helper.isEqual,
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
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.
|
|
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 : [];
|
|
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
|
-
|
|
137
|
-
|
|
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
|
|
185
|
+
var _this3 = this;
|
|
194
186
|
var _this$$props = this.$props,
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
var renderItemCalc = this.$
|
|
201
|
-
var renderErrorCalc = this.$
|
|
202
|
-
var renderLabelCalc = this.$
|
|
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.$
|
|
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
|
|
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
|
-
},
|
|
232
|
-
"
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
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
|
-
},
|
|
267
|
-
|
|
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
|
|
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
|
-
|
|
321
|
-
|
|
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
|
-
|
|
329
|
-
|
|
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
|
-
|
|
339
|
-
|
|
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
|
-
|
|
349
|
-
|
|
350
|
-
|
|
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
|
-
}
|
|
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
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
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
|
-
|
|
591
|
-
Vue.component(
|
|
592
|
-
};
|
|
593
|
-
|
|
471
|
+
}));
|
|
472
|
+
ListConnected.name = MultiDropdownList.name;
|
|
473
|
+
ListConnected.install = function (Vue) {
|
|
474
|
+
Vue.component(ListConnected.name, ListConnected);
|
|
475
|
+
};
|
|
594
476
|
|
|
595
|
-
|
|
477
|
+
// Add componentType for SSR
|
|
478
|
+
ListConnected.componentType = componentTypes.multiDropdownList;
|
|
596
479
|
|
|
597
|
-
export default
|
|
480
|
+
export default ListConnected;
|
|
481
|
+
export { ListConnected };
|