@appbaseio/reactivesearch-vue 2.0.0-alpha.4 → 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.
- package/dist/@appbaseio/reactivesearch-vue.umd.js +17538 -25422
- package/dist/@appbaseio/reactivesearch-vue.umd.js.map +1 -1
- package/dist/@appbaseio/reactivesearch-vue.umd.min.js +6 -15
- 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-75f88599.js} +42 -56
- package/dist/cjs/Container-29f049b2.js +12 -0
- package/dist/cjs/DropDown-6cf84c47.js +698 -0
- package/dist/cjs/DynamicRangeSlider.js +103 -155
- package/dist/cjs/Flex-d5675ea6.js +48 -0
- package/dist/cjs/FormControlList-fadd792f.js +42 -0
- package/dist/cjs/Input-4b434436.js +74 -0
- package/dist/cjs/ListItem-d57d648d.js +42 -0
- package/dist/cjs/MultiDropdownList.js +124 -240
- package/dist/cjs/MultiList.js +123 -261
- package/dist/cjs/MultiRange.js +87 -133
- package/dist/cjs/{Pagination-71e85fa9.js → Pagination-b5ddc906.js} +70 -83
- package/dist/cjs/PreferencesConsumer-eb265924.js +75 -0
- package/dist/cjs/RangeInput.js +163 -171
- package/dist/cjs/RangeSlider.js +81 -109
- package/dist/cjs/ReactiveBase.js +139 -157
- package/dist/cjs/ReactiveComponent-eb8db4c1.js +2189 -0
- package/dist/cjs/ReactiveComponent.js +46 -340
- package/dist/cjs/ReactiveGoogleMap.js +445 -655
- package/dist/cjs/ReactiveList.js +179 -304
- 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 +121 -205
- 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-6907ada3.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-5166c76a.js} +42 -56
- package/dist/es/{Container-ba826e96.js → Container-d00219f7.js} +2 -2
- package/dist/es/DropDown-8764360c.js +688 -0
- package/dist/es/DynamicRangeSlider.js +103 -155
- package/dist/es/Flex-a08e22d7.js +46 -0
- package/dist/es/FormControlList-fe6eaee4.js +38 -0
- package/dist/es/Input-4a8ef1f3.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 +123 -261
- package/dist/es/MultiRange.js +87 -133
- package/dist/es/{Pagination-784bf143.js → Pagination-72bd1d9e.js} +70 -83
- package/dist/es/PreferencesConsumer-c276709c.js +73 -0
- package/dist/es/RangeInput.js +163 -170
- package/dist/es/RangeSlider.js +81 -109
- package/dist/es/ReactiveBase.js +138 -155
- package/dist/es/ReactiveComponent-f9fa5780.js +2183 -0
- package/dist/es/ReactiveComponent.js +42 -337
- package/dist/es/ReactiveGoogleMap.js +440 -649
- package/dist/es/ReactiveList.js +177 -301
- 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 +121 -205
- 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-af398f0c.js} +36 -7
- 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
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-f8b843f8.js');
|
|
4
|
+
var vueEmotion = require('@appbaseio/vue-emotion');
|
|
5
|
+
var emotion = require('emotion');
|
|
6
|
+
var polished = require('polished');
|
|
7
|
+
require('./Title-8802a218.js');
|
|
8
|
+
|
|
9
|
+
var _templateObject, _templateObject2, _templateObject3;
|
|
10
|
+
var container = emotion.css(_templateObject || (_templateObject = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\tdisplay: flex;\n\tflex-direction: column;\n\tmargin: 0;\n\tborder-radius: 0.25rem;\n\toverflow: hidden;\n"])));
|
|
11
|
+
var smallImage = "\n\twidth: 100px;\n\theight: 100px;\n";
|
|
12
|
+
var Image = vueEmotion.styled('div')(_templateObject2 || (_templateObject2 = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\twidth: 160px;\n\theight: 160px;\n\t", ";\n\tmargin: 0;\n\tbackground-size: contain;\n\tbackground-position: center center;\n\tbackground-repeat: no-repeat;\n\tbackground-image: ", ";\n"])), function (props) {
|
|
13
|
+
return props.small ? smallImage : null;
|
|
14
|
+
}, function (props) {
|
|
15
|
+
return "url(" + props.src + ")";
|
|
16
|
+
});
|
|
17
|
+
var ListItem = vueEmotion.styled('a')(_templateObject3 || (_templateObject3 = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\twidth: 100%;\n\theight: auto;\n\toutline: none;\n\ttext-decoration: none;\n\tborder-radius: 0;\n\tbackground-color: ", ";\n\tdisplay: flex;\n\tflex-direction: row;\n\tmargin: 0;\n\tpadding: 10px;\n\tborder-bottom: 1px solid ", ";\n\tcolor: ", ";\n\t", "; all 0.3s ease;\n\n\t&:hover, &:focus {\n\t\tbackground-color: ", ";\n\t}\n\n\t&:last-child {\n\t\tborder: 0;\n\t}\n\n\th2 {\n\t\twidth: 100%;\n\t\tline-height: 1.2rem;\n\t\twhite-space: nowrap;\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t\tmargin: 0;\n\t\tpadding: 0 0 8px;\n\t}\n\n\tp {\n\t\tmargin: 0;\n\t}\n\n\tarticle {\n\t\twidth: ", ";\n\t\tpadding-left: ", ";\n\t\tfont-size: 0.9rem;\n\t}\n\n\t&:hover, &:focus {\n\t\tbox-shadow: 0 0 0 0 rgba(0,0,0,0.10);\n\t}\n\n\t@media (max-width: 420px) {\n\t\tmin-width: 0;\n\t\tmargin: 0;\n\t\tborder-radius: 0;\n\t\tbox-shadow: none;\n\t\tborder: 1px solid #eee;\n\n\t\t&:hover, &:focus {\n\t\t\tbox-shadow: 0;\n\t\t}\n\t}\n"])), function (_ref) {
|
|
18
|
+
var theme = _ref.theme;
|
|
19
|
+
return theme.colors.backgroundColor ? polished.lighten(0.1, theme.colors.backgroundColor) : '#fff';
|
|
20
|
+
}, function (_ref2) {
|
|
21
|
+
var theme = _ref2.theme;
|
|
22
|
+
return theme.colors.backgroundColor ? polished.lighten(0.3, theme.colors.backgroundColor) : polished.lighten(0.68, theme.colors.textColor);
|
|
23
|
+
}, function (_ref3) {
|
|
24
|
+
var theme = _ref3.theme;
|
|
25
|
+
return theme.colors.textColor;
|
|
26
|
+
}, function (props) {
|
|
27
|
+
return props.href ? 'cursor: pointer' : null;
|
|
28
|
+
}, function (_ref4) {
|
|
29
|
+
var theme = _ref4.theme;
|
|
30
|
+
return theme.colors.backgroundColor ? polished.lighten(0.2, theme.colors.backgroundColor) : '#fdfefd';
|
|
31
|
+
}, function (props) {
|
|
32
|
+
if (props.image) {
|
|
33
|
+
return props.small ? 'calc(100% - 100px)' : 'calc(100% - 160px)';
|
|
34
|
+
}
|
|
35
|
+
return '100%';
|
|
36
|
+
}, function (props) {
|
|
37
|
+
return props.image ? '10px' : 0;
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
exports.Image = Image;
|
|
41
|
+
exports.ListItem = ListItem;
|
|
42
|
+
exports.container = container;
|
|
@@ -6,40 +6,44 @@ 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-c705cbe6.js');
|
|
10
|
-
var VueTypes = _interopDefault(require('vue-types'));
|
|
11
9
|
var constants = require('@appbaseio/reactivecore/lib/utils/constants');
|
|
12
|
-
require('
|
|
10
|
+
require('@vue/babel-helper-vue-transform-on');
|
|
11
|
+
var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-f8b843f8.js');
|
|
12
|
+
var vue = require('vue');
|
|
13
|
+
var VueTypes = _interopDefault(require('vue-types'));
|
|
13
14
|
require('@appbaseio/vue-emotion');
|
|
15
|
+
require('emotion');
|
|
14
16
|
require('polished');
|
|
15
|
-
var Button = require('./Button-
|
|
16
|
-
var vueTypes = require('./vueTypes-
|
|
17
|
+
var Button = require('./Button-ad042719.js');
|
|
18
|
+
var vueTypes = require('./vueTypes-1bf00978.js');
|
|
17
19
|
require('@appbaseio/reactivecore/lib/utils/transform');
|
|
18
20
|
require('redux');
|
|
19
|
-
var index = require('./index-
|
|
20
|
-
var ComponentWrapper = require('./ComponentWrapper-
|
|
21
|
-
require('
|
|
22
|
-
var Title = require('./Title-
|
|
23
|
-
require('./
|
|
24
|
-
require('./Input-
|
|
21
|
+
var index = require('./index-d8d8f291.js');
|
|
22
|
+
var ComponentWrapper = require('./ComponentWrapper-75f88599.js');
|
|
23
|
+
var PreferencesConsumer = require('./PreferencesConsumer-eb265924.js');
|
|
24
|
+
var Title = require('./Title-8802a218.js');
|
|
25
|
+
var DropDown = require('./DropDown-6cf84c47.js');
|
|
26
|
+
require('./Input-4b434436.js');
|
|
25
27
|
require('compute-scroll-into-view');
|
|
26
|
-
var Container = require('./Container-
|
|
28
|
+
var Container = require('./Container-29f049b2.js');
|
|
27
29
|
require('@appbaseio/reactivecore/lib/utils/suggestions');
|
|
28
|
-
var utils = require('./utils-
|
|
29
|
-
var DropDown = require('./DropDown-c479bbb0.js');
|
|
30
|
+
var utils = require('./utils-83fd01e9.js');
|
|
30
31
|
|
|
32
|
+
function _isSlot(s) {
|
|
33
|
+
return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !vue.isVNode(s);
|
|
34
|
+
}
|
|
31
35
|
var updateQuery = configureStore.Actions.updateQuery,
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
36
|
+
setQueryOptions = configureStore.Actions.setQueryOptions,
|
|
37
|
+
setCustomQuery = configureStore.Actions.setCustomQuery,
|
|
38
|
+
setDefaultQuery = configureStore.Actions.setDefaultQuery;
|
|
35
39
|
var isEqual = configureStore.helper.isEqual,
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
40
|
+
getQueryOptions = configureStore.helper.getQueryOptions,
|
|
41
|
+
checkValueChange = configureStore.helper.checkValueChange,
|
|
42
|
+
checkPropChange = configureStore.helper.checkPropChange,
|
|
43
|
+
getClassName = configureStore.helper.getClassName,
|
|
44
|
+
getCompositeAggsQuery = configureStore.helper.getCompositeAggsQuery,
|
|
45
|
+
extractQueryFromCustomQuery = configureStore.helper.extractQueryFromCustomQuery,
|
|
46
|
+
getOptionsForCustomQuery = configureStore.helper.getOptionsForCustomQuery;
|
|
43
47
|
var MultiDropdownList = {
|
|
44
48
|
name: 'MultiDropdownList',
|
|
45
49
|
data: function data() {
|
|
@@ -86,26 +90,21 @@ var MultiDropdownList = {
|
|
|
86
90
|
showSearch: VueTypes.bool.def(false),
|
|
87
91
|
showClear: VueTypes.bool.def(false),
|
|
88
92
|
showLoadMore: VueTypes.bool.def(false),
|
|
89
|
-
loadMoreLabel: VueTypes.oneOfType([VueTypes.string, VueTypes.
|
|
93
|
+
loadMoreLabel: VueTypes.oneOfType([VueTypes.string, VueTypes.nullable]).def('Load More'),
|
|
90
94
|
nestedField: vueTypes.types.string,
|
|
91
95
|
index: VueTypes.string,
|
|
92
96
|
searchPlaceholder: VueTypes.string.def('Type here to search...'),
|
|
93
97
|
endpoint: vueTypes.types.endpointConfig
|
|
94
98
|
},
|
|
95
99
|
created: function created() {
|
|
96
|
-
if (!this.enableAppbase && this.$props.index) {
|
|
97
|
-
console.warn('Warning(ReactiveSearch): In order to use the `index` prop, the `enableAppbase` prop must be set to true in `ReactiveBase`.');
|
|
98
|
-
}
|
|
99
|
-
|
|
100
100
|
var props = this.$props;
|
|
101
|
-
this.modifiedOptions = this.options && this.options[props.dataField] ? this.options[props.dataField].buckets : [];
|
|
102
|
-
|
|
101
|
+
this.modifiedOptions = this.options && this.options[props.dataField] ? this.options[props.dataField].buckets : [];
|
|
102
|
+
// Set custom and default queries in store
|
|
103
103
|
index.updateCustomQuery(this.componentId, this.setCustomQuery, this.$props, this.currentValue);
|
|
104
104
|
index.updateDefaultQuery(this.componentId, this.setDefaultQuery, this.$props, this.currentValue);
|
|
105
105
|
},
|
|
106
106
|
beforeMount: function beforeMount() {
|
|
107
107
|
this.updateQueryOptions(this.$props);
|
|
108
|
-
|
|
109
108
|
if (this.selectedValue) {
|
|
110
109
|
this.setValue(this.selectedValue, true);
|
|
111
110
|
} else if (this.$props.value) {
|
|
@@ -117,33 +116,27 @@ var MultiDropdownList = {
|
|
|
117
116
|
watch: {
|
|
118
117
|
selectedValue: function selectedValue(newVal) {
|
|
119
118
|
var _this = this;
|
|
120
|
-
|
|
121
119
|
var selectedValue = Object.keys(this.$data.currentValue);
|
|
122
|
-
|
|
123
120
|
if (this.$props.selectAllLabel) {
|
|
124
121
|
selectedValue = selectedValue.filter(function (val) {
|
|
125
122
|
return val !== _this.$props.selectAllLabel;
|
|
126
123
|
});
|
|
127
|
-
|
|
128
124
|
if (this.$data.currentValue[this.$props.selectAllLabel]) {
|
|
129
125
|
selectedValue = [this.$props.selectAllLabel];
|
|
130
126
|
}
|
|
131
127
|
}
|
|
132
|
-
|
|
133
128
|
if (!isEqual(selectedValue, newVal)) {
|
|
134
129
|
this.setValue(newVal || [], true);
|
|
135
130
|
}
|
|
136
131
|
},
|
|
137
132
|
options: function options(newVal, oldVal) {
|
|
138
133
|
var _this2 = this;
|
|
139
|
-
|
|
140
134
|
if (newVal) {
|
|
141
135
|
checkPropChange(oldVal, newVal, function () {
|
|
142
136
|
var _this2$$props = _this2.$props,
|
|
143
|
-
|
|
144
|
-
|
|
137
|
+
showLoadMore = _this2$$props.showLoadMore,
|
|
138
|
+
dataField = _this2$$props.dataField;
|
|
145
139
|
var modifiedOptions = _this2.$data.modifiedOptions;
|
|
146
|
-
|
|
147
140
|
if (showLoadMore) {
|
|
148
141
|
// append options with showLoadMore
|
|
149
142
|
var buckets = newVal[dataField].buckets;
|
|
@@ -154,7 +147,6 @@ var MultiDropdownList = {
|
|
|
154
147
|
};
|
|
155
148
|
}));
|
|
156
149
|
var after = newVal[dataField].after_key; // detect the last bucket by checking if the next set of buckets were empty
|
|
157
|
-
|
|
158
150
|
var isLastBucket = !buckets.length;
|
|
159
151
|
_this2.after = {
|
|
160
152
|
after: after
|
|
@@ -197,88 +189,88 @@ var MultiDropdownList = {
|
|
|
197
189
|
}
|
|
198
190
|
},
|
|
199
191
|
render: function render() {
|
|
200
|
-
var
|
|
192
|
+
var _this3 = this;
|
|
201
193
|
var _this$$props = this.$props,
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
var renderItemCalc = this.$
|
|
208
|
-
var renderErrorCalc = this.$
|
|
209
|
-
var renderLabelCalc = this.$
|
|
194
|
+
showLoadMore = _this$$props.showLoadMore,
|
|
195
|
+
loadMoreLabel = _this$$props.loadMoreLabel,
|
|
196
|
+
renderItem = _this$$props.renderItem,
|
|
197
|
+
renderError = _this$$props.renderError,
|
|
198
|
+
renderLabel = _this$$props.renderLabel;
|
|
199
|
+
var renderItemCalc = this.$slots.renderItem || renderItem;
|
|
200
|
+
var renderErrorCalc = this.$slots.renderError || renderError;
|
|
201
|
+
var renderLabelCalc = this.$slots.renderLabel || renderLabel;
|
|
210
202
|
var isLastBucket = this.$data.isLastBucket;
|
|
211
|
-
var renderNoResults = this.$
|
|
203
|
+
var renderNoResults = this.$slots.renderNoResults || this.$props.renderNoResults;
|
|
212
204
|
var selectAll = [];
|
|
213
|
-
|
|
214
205
|
if (renderErrorCalc && this.error) {
|
|
215
206
|
return index.isFunction(renderErrorCalc) ? renderErrorCalc(this.error) : renderErrorCalc;
|
|
216
207
|
}
|
|
217
|
-
|
|
218
208
|
if (!this.hasCustomRenderer && this.$data.modifiedOptions.length === 0 && !this.isLoading) {
|
|
219
209
|
if (renderNoResults && index.isFunction(renderNoResults)) {
|
|
220
|
-
return
|
|
210
|
+
return vue.createVNode("div", null, [renderNoResults()]);
|
|
221
211
|
}
|
|
222
|
-
|
|
223
212
|
if (renderNoResults && !index.isFunction(renderNoResults)) {
|
|
224
213
|
return renderNoResults;
|
|
225
214
|
}
|
|
226
|
-
|
|
227
215
|
return null;
|
|
228
216
|
}
|
|
229
|
-
|
|
230
217
|
if (this.$props.selectAllLabel) {
|
|
231
218
|
selectAll = [{
|
|
232
|
-
key: this.$props.selectAllLabel
|
|
219
|
+
key: this.$props.selectAllLabel,
|
|
220
|
+
doc_count: this.totalDocumentCount
|
|
233
221
|
}];
|
|
234
222
|
}
|
|
235
|
-
|
|
236
|
-
return h(Container.Container, {
|
|
223
|
+
return vue.createVNode(Container.Container, {
|
|
237
224
|
"class": this.$props.className
|
|
238
|
-
},
|
|
239
|
-
"
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
}).map(function (item) {
|
|
246
|
-
return _rollupPluginBabelHelpers._extends({}, item, {
|
|
247
|
-
key: String(item.key)
|
|
248
|
-
});
|
|
249
|
-
})),
|
|
250
|
-
"hasCustomRenderer": this.hasCustomRenderer,
|
|
251
|
-
"customRenderer": this.getComponent,
|
|
252
|
-
"handleChange": this.handleChange,
|
|
253
|
-
"selectedItem": this.$data.currentValue,
|
|
254
|
-
"placeholder": this.$props.placeholder,
|
|
255
|
-
"labelField": "key",
|
|
256
|
-
"multi": true,
|
|
257
|
-
"showCount": this.$props.showCount,
|
|
258
|
-
"themePreset": this.themePreset,
|
|
259
|
-
"renderItem": renderItemCalc,
|
|
260
|
-
"renderNoResults": this.$scopedSlots.renderNoResults || this.$props.renderNoResults,
|
|
261
|
-
"showSearch": this.$props.showSearch,
|
|
262
|
-
"showClear": this.$props.showClear,
|
|
263
|
-
"searchPlaceholder": this.$props.searchPlaceholder,
|
|
264
|
-
"transformData": this.$props.transformData,
|
|
265
|
-
"footer": showLoadMore && !isLastBucket && h("div", {
|
|
266
|
-
"attrs": {
|
|
267
|
-
"css": Button.loadMoreContainer
|
|
268
|
-
}
|
|
269
|
-
}, [h(Button.Button, {
|
|
270
|
-
"on": {
|
|
271
|
-
"click": this.handleLoadMore
|
|
225
|
+
}, {
|
|
226
|
+
"default": function _default() {
|
|
227
|
+
return [_this3.$props.title && vue.createVNode(Title.Title, {
|
|
228
|
+
"class": getClassName(_this3.$props.innerClass, 'title') || ''
|
|
229
|
+
}, {
|
|
230
|
+
"default": function _default() {
|
|
231
|
+
return [_this3.$props.title];
|
|
272
232
|
}
|
|
273
|
-
},
|
|
274
|
-
|
|
233
|
+
}), vue.createVNode(DropDown.Dropdown, {
|
|
234
|
+
"innerClass": _this3.$props.innerClass,
|
|
235
|
+
"items": [].concat(selectAll, _this3.$data.modifiedOptions.filter(function (item) {
|
|
236
|
+
return String(item.key).trim().length;
|
|
237
|
+
}).map(function (item) {
|
|
238
|
+
return _rollupPluginBabelHelpers._extends({}, item, {
|
|
239
|
+
key: String(item.key)
|
|
240
|
+
});
|
|
241
|
+
})),
|
|
242
|
+
"hasCustomRenderer": _this3.hasCustomRenderer,
|
|
243
|
+
"customRenderer": _this3.getComponent,
|
|
244
|
+
"handleChange": _this3.handleChange,
|
|
245
|
+
"selectedItem": _this3.$data.currentValue,
|
|
246
|
+
"placeholder": _this3.$props.placeholder,
|
|
247
|
+
"labelField": "key",
|
|
248
|
+
"multi": true,
|
|
249
|
+
"showCount": _this3.$props.showCount,
|
|
250
|
+
"themePreset": _this3.themePreset,
|
|
251
|
+
"renderItem": renderItemCalc,
|
|
252
|
+
"renderNoResults": _this3.$slots.renderNoResults || _this3.$props.renderNoResults,
|
|
253
|
+
"showSearch": _this3.$props.showSearch,
|
|
254
|
+
"showClear": _this3.$props.showClear,
|
|
255
|
+
"searchPlaceholder": _this3.$props.searchPlaceholder,
|
|
256
|
+
"transformData": _this3.$props.transformData,
|
|
257
|
+
"footer": showLoadMore && !isLastBucket && vue.createVNode("div", {
|
|
258
|
+
"css": Button.loadMoreContainer
|
|
259
|
+
}, [vue.createVNode(Button.Button, {
|
|
260
|
+
"onClick": _this3.handleLoadMore
|
|
261
|
+
}, _isSlot(loadMoreLabel) ? loadMoreLabel : {
|
|
262
|
+
"default": function _default() {
|
|
263
|
+
return [loadMoreLabel];
|
|
264
|
+
}
|
|
265
|
+
})]),
|
|
266
|
+
"customLabelRenderer": renderLabelCalc
|
|
267
|
+
}, null)];
|
|
275
268
|
}
|
|
276
|
-
})
|
|
269
|
+
});
|
|
277
270
|
},
|
|
278
271
|
methods: {
|
|
279
272
|
handleChange: function handleChange(item) {
|
|
280
273
|
var value = this.$props.value;
|
|
281
|
-
|
|
282
274
|
if (value === undefined) {
|
|
283
275
|
this.setValue(item);
|
|
284
276
|
} else {
|
|
@@ -287,20 +279,16 @@ var MultiDropdownList = {
|
|
|
287
279
|
}
|
|
288
280
|
},
|
|
289
281
|
setValue: function setValue(value, isDefaultValue, props) {
|
|
290
|
-
var
|
|
291
|
-
|
|
282
|
+
var _this4 = this;
|
|
292
283
|
if (isDefaultValue === void 0) {
|
|
293
284
|
isDefaultValue = false;
|
|
294
285
|
}
|
|
295
|
-
|
|
296
286
|
if (props === void 0) {
|
|
297
287
|
props = this.$props;
|
|
298
288
|
}
|
|
299
|
-
|
|
300
289
|
var selectAllLabel = this.$props.selectAllLabel;
|
|
301
290
|
var currentValue = this.$data.currentValue;
|
|
302
291
|
var finalValues = null;
|
|
303
|
-
|
|
304
292
|
if (selectAllLabel && value.includes(selectAllLabel)) {
|
|
305
293
|
if (currentValue[selectAllLabel]) {
|
|
306
294
|
currentValue = {};
|
|
@@ -315,71 +303,55 @@ var MultiDropdownList = {
|
|
|
315
303
|
} else if (isDefaultValue) {
|
|
316
304
|
finalValues = value;
|
|
317
305
|
currentValue = {};
|
|
318
|
-
|
|
319
306
|
if (Array.isArray(value)) {
|
|
320
307
|
value.forEach(function (item) {
|
|
321
308
|
currentValue[item] = true;
|
|
322
309
|
});
|
|
323
310
|
}
|
|
324
|
-
|
|
325
311
|
if (selectAllLabel && selectAllLabel in currentValue) {
|
|
326
312
|
var _currentValue = currentValue,
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
313
|
+
del = _currentValue[selectAllLabel],
|
|
314
|
+
obj = _rollupPluginBabelHelpers._objectWithoutPropertiesLoose(_currentValue, [selectAllLabel].map(_rollupPluginBabelHelpers._toPropertyKey));
|
|
330
315
|
currentValue = _rollupPluginBabelHelpers._extends({}, obj);
|
|
331
316
|
}
|
|
332
317
|
} else {
|
|
333
318
|
if (currentValue[value]) {
|
|
334
319
|
var _currentValue2 = currentValue,
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
320
|
+
_del = _currentValue2[value],
|
|
321
|
+
rest = _rollupPluginBabelHelpers._objectWithoutPropertiesLoose(_currentValue2, [value].map(_rollupPluginBabelHelpers._toPropertyKey));
|
|
338
322
|
currentValue = _rollupPluginBabelHelpers._extends({}, rest);
|
|
339
323
|
} else {
|
|
340
324
|
currentValue[value] = true;
|
|
341
325
|
}
|
|
342
|
-
|
|
343
326
|
if (selectAllLabel && selectAllLabel in currentValue) {
|
|
344
327
|
var _currentValue3 = currentValue,
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
328
|
+
_del2 = _currentValue3[selectAllLabel],
|
|
329
|
+
_obj = _rollupPluginBabelHelpers._objectWithoutPropertiesLoose(_currentValue3, [selectAllLabel].map(_rollupPluginBabelHelpers._toPropertyKey));
|
|
348
330
|
currentValue = _rollupPluginBabelHelpers._extends({}, _obj);
|
|
349
331
|
}
|
|
350
|
-
|
|
351
332
|
finalValues = Object.keys(currentValue);
|
|
352
333
|
}
|
|
353
|
-
|
|
354
334
|
var performUpdate = function performUpdate() {
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
_this3.$emit('valueChange', finalValues);
|
|
360
|
-
|
|
361
|
-
_this3.$emit('value-change', finalValues);
|
|
335
|
+
_this4.currentValue = _rollupPluginBabelHelpers._extends({}, currentValue);
|
|
336
|
+
_this4.updateQueryHandler(finalValues, props);
|
|
337
|
+
_this4.$emit('valueChange', finalValues);
|
|
338
|
+
_this4.$emit('value-change', finalValues);
|
|
362
339
|
};
|
|
363
|
-
|
|
364
340
|
checkValueChange(props.componentId, finalValues, props.beforeValueChange, performUpdate);
|
|
365
341
|
},
|
|
366
342
|
updateDefaultQueryHandler: function updateDefaultQueryHandler(value, props) {
|
|
367
343
|
var query = MultiDropdownList.defaultQuery(value, props);
|
|
368
|
-
|
|
369
344
|
if (this.defaultQuery) {
|
|
370
345
|
var defaultQueryToBeSet = this.defaultQuery(value, props) || {};
|
|
371
346
|
var defaultQueryObj = extractQueryFromCustomQuery(defaultQueryToBeSet);
|
|
372
|
-
|
|
373
347
|
if (defaultQueryObj) {
|
|
374
348
|
query = defaultQueryObj;
|
|
375
|
-
}
|
|
376
|
-
|
|
377
|
-
|
|
349
|
+
}
|
|
350
|
+
// Update calculated default query in store
|
|
378
351
|
index.updateDefaultQuery(props.componentId, this.setDefaultQuery, props, value);
|
|
379
352
|
var defaultQueryOptions = getOptionsForCustomQuery(defaultQueryToBeSet);
|
|
380
353
|
this.setQueryOptions(this.internalComponent, defaultQueryOptions, false);
|
|
381
354
|
}
|
|
382
|
-
|
|
383
355
|
this.updateQuery({
|
|
384
356
|
componentId: this.internalComponent,
|
|
385
357
|
query: query,
|
|
@@ -390,7 +362,6 @@ var MultiDropdownList = {
|
|
|
390
362
|
updateQueryHandler: function updateQueryHandler(value, props) {
|
|
391
363
|
var customQuery = props.customQuery;
|
|
392
364
|
var query = MultiDropdownList.defaultQuery(value, props);
|
|
393
|
-
|
|
394
365
|
if (customQuery) {
|
|
395
366
|
var customQueryCalc = customQuery(value, props);
|
|
396
367
|
query = extractQueryFromCustomQuery(customQueryCalc);
|
|
@@ -398,7 +369,6 @@ var MultiDropdownList = {
|
|
|
398
369
|
var customQueryOptions = getOptionsForCustomQuery(customQueryCalc);
|
|
399
370
|
this.setQueryOptions(props.componentId, customQueryOptions, false);
|
|
400
371
|
}
|
|
401
|
-
|
|
402
372
|
this.updateQuery({
|
|
403
373
|
componentId: props.componentId,
|
|
404
374
|
query: query,
|
|
@@ -421,15 +391,12 @@ var MultiDropdownList = {
|
|
|
421
391
|
if (addAfterKey === void 0) {
|
|
422
392
|
addAfterKey = false;
|
|
423
393
|
}
|
|
424
|
-
|
|
425
394
|
// when using composite aggs flush the current options for a fresh query
|
|
426
395
|
if (props.showLoadMore && !addAfterKey) {
|
|
427
396
|
this.modifiedOptions = [];
|
|
428
397
|
} // for a new query due to other changes don't append after to get fresh results
|
|
429
398
|
|
|
430
|
-
|
|
431
399
|
var queryOptions = MultiDropdownList.generateQueryOptions(props, addAfterKey ? this.$data.after : {});
|
|
432
|
-
|
|
433
400
|
if (props.defaultQuery) {
|
|
434
401
|
var value = Object.keys(this.$data.currentValue);
|
|
435
402
|
var defaultQueryOptions = getOptionsForCustomQuery(props.defaultQuery(value, props));
|
|
@@ -445,7 +412,6 @@ var MultiDropdownList = {
|
|
|
445
412
|
if (downshiftProps === void 0) {
|
|
446
413
|
downshiftProps = {};
|
|
447
414
|
}
|
|
448
|
-
|
|
449
415
|
var currentValue = this.$data.currentValue;
|
|
450
416
|
var data = {
|
|
451
417
|
error: this.error,
|
|
@@ -465,98 +431,18 @@ var MultiDropdownList = {
|
|
|
465
431
|
}
|
|
466
432
|
}
|
|
467
433
|
};
|
|
468
|
-
|
|
469
434
|
MultiDropdownList.defaultQuery = function (value, props) {
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
if (!Array.isArray(value) || value.length === 0) {
|
|
480
|
-
return null;
|
|
481
|
-
}
|
|
482
|
-
|
|
483
|
-
if (props.selectAllLabel && value.includes(props.selectAllLabel)) {
|
|
484
|
-
if (props.showMissing) {
|
|
485
|
-
query = {
|
|
486
|
-
match_all: {}
|
|
487
|
-
};
|
|
488
|
-
} else {
|
|
489
|
-
query = {
|
|
490
|
-
exists: {
|
|
491
|
-
field: props.dataField
|
|
492
|
-
}
|
|
493
|
-
};
|
|
494
|
-
}
|
|
495
|
-
} else if (value) {
|
|
496
|
-
var listQuery;
|
|
497
|
-
|
|
498
|
-
if (queryFormat === 'or') {
|
|
499
|
-
if (props.showMissing) {
|
|
500
|
-
var _type, _ref;
|
|
501
|
-
|
|
502
|
-
var hasMissingTerm = value.includes(props.missingLabel);
|
|
503
|
-
var should = [(_ref = {}, _ref[type] = (_type = {}, _type[props.dataField] = value.filter(function (item) {
|
|
504
|
-
return item !== props.missingLabel;
|
|
505
|
-
}), _type), _ref)];
|
|
506
|
-
|
|
507
|
-
if (hasMissingTerm) {
|
|
508
|
-
should = should.concat({
|
|
509
|
-
bool: {
|
|
510
|
-
must_not: {
|
|
511
|
-
exists: {
|
|
512
|
-
field: props.dataField
|
|
513
|
-
}
|
|
514
|
-
}
|
|
515
|
-
}
|
|
516
|
-
});
|
|
517
|
-
}
|
|
518
|
-
|
|
519
|
-
listQuery = {
|
|
520
|
-
bool: {
|
|
521
|
-
should: should
|
|
522
|
-
}
|
|
523
|
-
};
|
|
524
|
-
} else {
|
|
525
|
-
var _type2, _listQuery;
|
|
526
|
-
|
|
527
|
-
listQuery = (_listQuery = {}, _listQuery[type] = (_type2 = {}, _type2[props.dataField] = value, _type2), _listQuery);
|
|
528
|
-
}
|
|
529
|
-
} else {
|
|
530
|
-
// adds a sub-query with must as an array of objects for each term/value
|
|
531
|
-
var queryArray = value.map(function (item) {
|
|
532
|
-
var _type3, _ref2;
|
|
533
|
-
|
|
534
|
-
return _ref2 = {}, _ref2[type] = (_type3 = {}, _type3[props.dataField] = item, _type3), _ref2;
|
|
535
|
-
});
|
|
536
|
-
listQuery = {
|
|
537
|
-
bool: {
|
|
538
|
-
must: queryArray
|
|
539
|
-
}
|
|
540
|
-
};
|
|
435
|
+
return {
|
|
436
|
+
query: {
|
|
437
|
+
queryFormat: props.queryFormat,
|
|
438
|
+
dataField: props.dataField,
|
|
439
|
+
value: value,
|
|
440
|
+
nestedField: props.nestedField,
|
|
441
|
+
selectAllLabel: props.selectAllLabel,
|
|
442
|
+
showMissing: props.showMissing
|
|
541
443
|
}
|
|
542
|
-
|
|
543
|
-
query = value.length ? listQuery : null;
|
|
544
|
-
}
|
|
545
|
-
|
|
546
|
-
if (query && props.nestedField) {
|
|
547
|
-
return {
|
|
548
|
-
query: {
|
|
549
|
-
nested: {
|
|
550
|
-
path: props.nestedField,
|
|
551
|
-
query: query
|
|
552
|
-
}
|
|
553
|
-
}
|
|
554
|
-
};
|
|
555
|
-
}
|
|
556
|
-
|
|
557
|
-
return query;
|
|
444
|
+
};
|
|
558
445
|
};
|
|
559
|
-
|
|
560
446
|
MultiDropdownList.generateQueryOptions = function (props, after) {
|
|
561
447
|
var queryOptions = getQueryOptions(props);
|
|
562
448
|
return props.showLoadMore ? getCompositeAggsQuery({
|
|
@@ -565,40 +451,38 @@ MultiDropdownList.generateQueryOptions = function (props, after) {
|
|
|
565
451
|
after: after
|
|
566
452
|
}) : utils.getAggsQuery(queryOptions, props);
|
|
567
453
|
};
|
|
568
|
-
|
|
569
454
|
MultiDropdownList.hasInternalComponent = function () {
|
|
570
455
|
return true;
|
|
571
456
|
};
|
|
572
|
-
|
|
573
457
|
var mapStateToProps = function mapStateToProps(state, props) {
|
|
574
458
|
return {
|
|
575
459
|
options: props.nestedField && state.aggregations[props.componentId] ? state.aggregations[props.componentId].reactivesearch_nested : state.aggregations[props.componentId],
|
|
576
460
|
rawData: state.rawData[props.componentId],
|
|
577
461
|
isLoading: state.isLoading[props.componentId],
|
|
578
462
|
selectedValue: state.selectedValues[props.componentId] && state.selectedValues[props.componentId].value || null,
|
|
463
|
+
totalDocumentCount: state.hits[props.componentId] && state.hits[props.componentId].total,
|
|
579
464
|
themePreset: state.config.themePreset,
|
|
580
465
|
error: state.error[props.componentId],
|
|
581
|
-
componentProps: state.props[props.componentId]
|
|
582
|
-
enableAppbase: state.config.enableAppbase
|
|
466
|
+
componentProps: state.props[props.componentId]
|
|
583
467
|
};
|
|
584
468
|
};
|
|
585
|
-
|
|
586
469
|
var mapDispatchtoProps = {
|
|
587
470
|
setQueryOptions: setQueryOptions,
|
|
588
471
|
updateQuery: updateQuery,
|
|
589
472
|
setCustomQuery: setCustomQuery,
|
|
590
473
|
setDefaultQuery: setDefaultQuery
|
|
591
474
|
};
|
|
592
|
-
var ListConnected = ComponentWrapper.ComponentWrapper(index.connect(mapStateToProps, mapDispatchtoProps)(MultiDropdownList), {
|
|
475
|
+
var ListConnected = PreferencesConsumer.PreferencesConsumer(ComponentWrapper.ComponentWrapper(index.connect(mapStateToProps, mapDispatchtoProps)(MultiDropdownList), {
|
|
593
476
|
componentType: constants.componentTypes.multiDropdownList,
|
|
594
477
|
internalComponent: MultiDropdownList.hasInternalComponent()
|
|
595
|
-
});
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
Vue.component(
|
|
599
|
-
};
|
|
600
|
-
|
|
478
|
+
}));
|
|
479
|
+
ListConnected.name = MultiDropdownList.name;
|
|
480
|
+
ListConnected.install = function (Vue) {
|
|
481
|
+
Vue.component(ListConnected.name, ListConnected);
|
|
482
|
+
};
|
|
601
483
|
|
|
602
|
-
|
|
484
|
+
// Add componentType for SSR
|
|
485
|
+
ListConnected.componentType = constants.componentTypes.multiDropdownList;
|
|
603
486
|
|
|
604
|
-
exports.
|
|
487
|
+
exports.ListConnected = ListConnected;
|
|
488
|
+
exports.default = ListConnected;
|