@appbaseio/reactivesearch-vue 1.16.0-alpha.6 → 1.16.0-alpha.62
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 +16030 -13113
- package/dist/@appbaseio/reactivesearch-vue.umd.js.map +1 -1
- package/dist/@appbaseio/reactivesearch-vue.umd.min.js +5 -5
- package/dist/@appbaseio/reactivesearch-vue.umd.min.js.map +1 -1
- package/dist/cjs/Button-446f819e.js +68 -0
- package/dist/cjs/{DownShift-966a58cb.js → CancelSvg-9f258f4f.js} +60 -16
- package/dist/cjs/Card-642547a8.js +30 -0
- package/dist/cjs/{ComponentWrapper-603848ed.js → ComponentWrapper-ad3dad02.js} +40 -21
- package/dist/cjs/{Container-6cdd3864.js → Container-daf30918.js} +3 -11
- package/dist/cjs/DataSearch-86914b10.js +2322 -0
- package/dist/cjs/DataSearch.js +18 -2151
- package/dist/cjs/{DropDown-f6224ac8.js → DropDown-5513ea77.js} +80 -95
- package/dist/cjs/DynamicRangeSlider.js +107 -43
- package/dist/cjs/Flex-aa517a13.js +52 -0
- package/dist/cjs/FormControlList-c195a592.js +47 -0
- package/dist/cjs/Input-e6603a7e.js +79 -0
- package/dist/cjs/ListItem-8c9e0d68.js +46 -0
- package/dist/cjs/MultiDropdownList.js +102 -68
- package/dist/cjs/MultiList.js +80 -50
- package/dist/cjs/MultiRange.js +21 -16
- package/dist/cjs/{Pagination-af399262.js → Pagination-fe5452fc.js} +14 -8
- package/dist/cjs/RangeInput.js +29 -45
- package/dist/cjs/RangeSlider.js +32 -30
- package/dist/cjs/ReactiveBase.js +87 -56
- package/dist/cjs/ReactiveComponent.js +75 -62
- package/dist/cjs/ReactiveGoogleMap.js +262 -191
- package/dist/cjs/ReactiveList.js +189 -241
- package/dist/cjs/ResultCard.js +8 -6
- package/dist/cjs/ResultList.js +8 -6
- package/dist/cjs/SelectedFilters.js +66 -34
- package/dist/cjs/SingleDropdownList.js +88 -60
- package/dist/cjs/SingleList.js +53 -35
- package/dist/cjs/SingleRange.js +19 -14
- package/dist/cjs/StateProvider.js +39 -10
- package/dist/cjs/{Title-65d39104.js → Title-1de7d0f4.js} +3 -11
- package/dist/cjs/ToggleButton.js +36 -16
- package/dist/cjs/{_rollupPluginBabelHelpers-4abdbfff.js → _rollupPluginBabelHelpers-c705cbe6.js} +2 -4
- package/dist/cjs/{index-baca18c4.js → index-6a167fe0.js} +99 -13
- package/dist/cjs/index.js +31 -25
- package/dist/cjs/initReactivesearch.js +178 -104
- package/dist/cjs/install-004c6aa4.js +1408 -0
- package/dist/cjs/install.js +42 -44
- package/dist/cjs/ssr-3027b848.js +39 -0
- package/dist/cjs/{utils-ea846a20.js → utils-d6a52588.js} +2 -2
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/{vueTypes-c21f265b.js → vueTypes-6de9d2a9.js} +9 -4
- package/dist/es/Button-d8bc15ea.js +59 -0
- package/dist/es/{DownShift-92347b5e.js → CancelSvg-4cfae5fd.js} +56 -17
- package/dist/es/Card-450683f1.js +23 -0
- package/dist/es/{ComponentWrapper-c4c91949.js → ComponentWrapper-424e86fd.js} +40 -21
- package/dist/es/Container-ba826e96.js +10 -0
- package/dist/es/DataSearch-e71a1014.js +2307 -0
- package/dist/es/DataSearch.js +17 -2150
- package/dist/es/{DropDown-3d4291f1.js → DropDown-7d9a15c1.js} +79 -94
- package/dist/es/DynamicRangeSlider.js +107 -43
- package/dist/es/Flex-1f0795c3.js +47 -0
- package/dist/es/FormControlList-c22d64f6.js +40 -0
- package/dist/es/Input-7a2a9fac.js +71 -0
- package/dist/es/ListItem-cad14c5e.js +39 -0
- package/dist/es/MultiDropdownList.js +102 -68
- package/dist/es/MultiList.js +80 -50
- package/dist/es/MultiRange.js +21 -16
- package/dist/es/{Pagination-c2a00175.js → Pagination-3f350098.js} +14 -8
- package/dist/es/RangeInput.js +29 -45
- package/dist/es/RangeSlider.js +32 -30
- package/dist/es/ReactiveBase.js +87 -56
- package/dist/es/ReactiveComponent.js +75 -62
- package/dist/es/ReactiveGoogleMap.js +262 -191
- package/dist/es/ReactiveList.js +189 -241
- package/dist/es/ResultCard.js +8 -6
- package/dist/es/ResultList.js +8 -6
- package/dist/es/SelectedFilters.js +66 -34
- package/dist/es/SingleDropdownList.js +88 -60
- package/dist/es/SingleList.js +53 -35
- package/dist/es/SingleRange.js +19 -14
- package/dist/es/StateProvider.js +39 -10
- package/dist/es/Title-3342664a.js +10 -0
- package/dist/es/ToggleButton.js +36 -16
- package/dist/es/{_rollupPluginBabelHelpers-ecf6c03c.js → _rollupPluginBabelHelpers-76660dab.js} +2 -4
- package/dist/es/{index-185b6266.js → index-7788a843.js} +95 -14
- package/dist/es/index.js +27 -22
- package/dist/es/initReactivesearch.js +179 -105
- package/dist/es/install-b7b604cc.js +1401 -0
- package/dist/es/install.js +40 -46
- package/dist/es/ssr-b2c0b401.js +33 -0
- package/dist/es/{utils-57cc8789.js → utils-9e68acee.js} +2 -2
- package/dist/es/version.js +1 -1
- package/dist/es/{vueTypes-98d938a9.js → vueTypes-9326e0be.js} +9 -4
- package/package.json +6 -4
- package/dist/cjs/Button-d48d4365.js +0 -146
- package/dist/cjs/Card-9748fbb2.js +0 -58
- package/dist/cjs/Flex-befd65fc.js +0 -160
- package/dist/cjs/FormControlList-f3857d4b.js +0 -105
- package/dist/cjs/Input-95cb19f8.js +0 -178
- package/dist/cjs/ListItem-84d185cf.js +0 -84
- package/dist/cjs/ssr-3ca8a14f.js +0 -47
- package/dist/es/Button-27cc8574.js +0 -137
- package/dist/es/Card-1f93780d.js +0 -51
- package/dist/es/Container-88c805ef.js +0 -18
- package/dist/es/Flex-16d1103a.js +0 -155
- package/dist/es/FormControlList-96d44e7b.js +0 -98
- package/dist/es/Input-1159c4b5.js +0 -170
- package/dist/es/ListItem-d22510c9.js +0 -77
- package/dist/es/Title-f0217338.js +0 -18
- package/dist/es/ssr-a710392b.js +0 -41
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
|
|
4
|
+
|
|
5
|
+
var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-c705cbe6.js');
|
|
6
|
+
var emotion = require('emotion');
|
|
7
|
+
var styled = require('@appbaseio/vue-emotion');
|
|
8
|
+
var styled__default = _interopDefault(styled);
|
|
9
|
+
|
|
10
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16;
|
|
11
|
+
|
|
12
|
+
var alertBorder = function alertBorder(_ref) {
|
|
13
|
+
var theme = _ref.theme;
|
|
14
|
+
return emotion.css(_templateObject || (_templateObject = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\tborder: 1px solid ", ";\n"])), theme.colors.alertColor);
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
var input = emotion.css(_templateObject2 || (_templateObject2 = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\twidth: 100%;\n\tline-height: 1.5;\n\tmin-height: 42px;\n\tpadding: 8px 12px;\n\tborder: 1px solid #ccc;\n\tbackground-color: #fafafa;\n\tfont-size: 0.9rem;\n\toutline: none;\n\theight: 100%;\n\n\t&:focus {\n\t\tbackground-color: #fff;\n\t}\n"])));
|
|
18
|
+
|
|
19
|
+
var dark = function dark(theme) {
|
|
20
|
+
return emotion.css(_templateObject3 || (_templateObject3 = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\tborder-color: ", ";\n"])), theme.colors.borderColor);
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
var darkInput = function darkInput(_ref2) {
|
|
24
|
+
var theme = _ref2.theme;
|
|
25
|
+
return emotion.css(_templateObject4 || (_templateObject4 = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\tbackground-color: ", ";\n\tcolor: ", ";\n\t", ";\n\n\t&:focus {\n\t\tbackground-color: ", ";\n\t}\n"])), theme.colors.backgroundColor, theme.colors.textColor, dark(theme), theme.colors.backgroundColor);
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
var Input = styled__default('input')(_templateObject5 || (_templateObject5 = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\t", ";\n\t", ";\n\n\t", ";\n\n\t", ";\n\n\t", ";\n\t", ";\n\n\t", ";\n\n\t", ";\n\t", ";\n\t", ";\n\n\t", ";\n"])), input, function (_ref3) {
|
|
29
|
+
var themePreset = _ref3.themePreset,
|
|
30
|
+
theme = _ref3.theme;
|
|
31
|
+
return themePreset === 'dark' && darkInput({
|
|
32
|
+
theme: theme
|
|
33
|
+
});
|
|
34
|
+
}, function (props) {
|
|
35
|
+
return props.showIcon && props.iconPosition === 'left' && emotion.css(_templateObject6 || (_templateObject6 = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\t\t\tpadding-left: 36px;\n\t\t"])));
|
|
36
|
+
}, function (props) {
|
|
37
|
+
return props.showIcon && props.iconPosition === 'right' && emotion.css(_templateObject7 || (_templateObject7 = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\t\t\tpadding-right: 36px;\n\t\t"])));
|
|
38
|
+
}, function (props) {
|
|
39
|
+
return (// for clear icon
|
|
40
|
+
props.showClear && emotion.css(_templateObject8 || (_templateObject8 = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\t\t\tpadding-right: 36px;\n\t\t"])))
|
|
41
|
+
);
|
|
42
|
+
}, function (props) {
|
|
43
|
+
return (// for voice search icon
|
|
44
|
+
props.showVoiceSearch && emotion.css(_templateObject9 || (_templateObject9 = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\t\t\tpadding-right: 36px;\n\t\t"])))
|
|
45
|
+
);
|
|
46
|
+
}, function (props) {
|
|
47
|
+
return (// for clear icon with search icon
|
|
48
|
+
props.showClear && props.showIcon && props.iconPosition === 'right' && emotion.css(_templateObject10 || (_templateObject10 = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\t\t\tpadding-right: 66px;\n\t\t"])))
|
|
49
|
+
);
|
|
50
|
+
}, function (props) {
|
|
51
|
+
return (// for voice search icon with search icon
|
|
52
|
+
props.showVoiceSearch && props.showIcon && props.iconPosition === 'right' && emotion.css(_templateObject11 || (_templateObject11 = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\t\t\tpadding-right: 66px;\n\t\t"])))
|
|
53
|
+
);
|
|
54
|
+
}, function (props) {
|
|
55
|
+
return (// for voice search icon with clear icon
|
|
56
|
+
props.showVoiceSearch && props.showIcon && emotion.css(_templateObject12 || (_templateObject12 = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\t\t\tpadding-right: 66px;\n\t\t"])))
|
|
57
|
+
);
|
|
58
|
+
}, function (props) {
|
|
59
|
+
return (// for clear icon with search icon and voice search
|
|
60
|
+
props.showClear && props.showIcon && props.showVoiceSearch && props.iconPosition === 'right' && emotion.css(_templateObject13 || (_templateObject13 = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\t\t\tpadding-right: 90px;\n\t\t"])))
|
|
61
|
+
);
|
|
62
|
+
}, function (props) {
|
|
63
|
+
return props.alert && alertBorder;
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
var suggestions = function suggestions(themePreset, theme) {
|
|
67
|
+
return emotion.css(_templateObject14 || (_templateObject14 = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\tdisplay: block;\n\twidth: 100%;\n\tborder: 1px solid #ccc;\n\tborder-top: none;\n\tbackground-color: #fff;\n\tfont-size: 0.9rem;\n\tz-index: 3;\n\tposition: absolute;\n\tmargin: 0;\n\tpadding: 0;\n\tlist-style: none;\n\tmax-height: min(100vh, 402px);\n\toverflow-y: auto;\n\n\t&.small {\n\t\ttop: 30px;\n\t}\n\n\tli {\n\t\tdisplay: flex;\n\t\tjustify-content: space-between;\n\t\tcursor: pointer;\n\t\tpadding: 10px;\n\t\tuser-select: none;\n\n\t\t& > .trim {\n\t\t\tdisplay: -webkit-box;\n\t\t\tdisplay: block;\n\t\t\twidth: 100%;\n\t\t\tmax-height: 2.3rem;\n\t\t\tline-height: 1.2rem;\n\t\t\t-webkit-line-clamp: 2;\n\t\t\t-webkit-box-orient: vertical;\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t\twhite-space: nowrap;\n\t\t}\n\n\t\t&:hover,\n\t\t&:focus {\n\t\t\tbackground-color: #eee;\n\t\t}\n\t}\n\n\t", ";\n"])), themePreset === 'dark' && theme && dark(theme));
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
var suggestionsContainer = emotion.css(_templateObject15 || (_templateObject15 = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\tposition: relative;\n\t.cancel-icon {\n\t\tcursor: pointer;\n\t}\n"])));
|
|
71
|
+
|
|
72
|
+
var noSuggestions = function noSuggestions(themePreset, theme) {
|
|
73
|
+
return emotion.css(_templateObject16 || (_templateObject16 = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\tdisplay: block;\n\twidth: 100%;\n\tborder: 1px solid #ccc;\n\tborder-top: none;\n\tbackground-color: #fff;\n\tfont-size: 0.9rem;\n\tz-index: 3;\n\tposition: absolute;\n\tmargin: 0;\n\tpadding: 0;\n\tlist-style: none;\n\tmax-height: 260px;\n\toverflow-y: auto;\n\n\t&.small {\n\t\ttop: 30px;\n\t}\n\n\tli {\n\t\tdisplay: flex;\n\t\tjustify-content: space-between;\n\t\tpadding: 10px;\n\t\tuser-select: none;\n\n\t\t& > .trim {\n\t\t\tdisplay: -webkit-box;\n\t\t\tdisplay: block;\n\t\t\twidth: 100%;\n\t\t\tmax-height: 2.3rem;\n\t\t\tline-height: 1.2rem;\n\t\t\t-webkit-line-clamp: 2;\n\t\t\t-webkit-box-orient: vertical;\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t\twhite-space: nowrap;\n\t\t}\n\t}\n\n\t", "\n"])), themePreset === 'dark' && theme && dark(theme));
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
exports.Input = Input;
|
|
77
|
+
exports.noSuggestions = noSuggestions;
|
|
78
|
+
exports.suggestions = suggestions;
|
|
79
|
+
exports.suggestionsContainer = suggestionsContainer;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
|
|
4
|
+
|
|
5
|
+
var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-c705cbe6.js');
|
|
6
|
+
var emotion = require('emotion');
|
|
7
|
+
var styled = require('@appbaseio/vue-emotion');
|
|
8
|
+
var styled__default = _interopDefault(styled);
|
|
9
|
+
var polished = require('polished');
|
|
10
|
+
require('./Title-1de7d0f4.js');
|
|
11
|
+
|
|
12
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4;
|
|
13
|
+
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"])));
|
|
14
|
+
var smallImage = emotion.css(_templateObject2 || (_templateObject2 = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\twidth: 100px;\n\theight: 100px;\n"])));
|
|
15
|
+
var Image = styled__default('div')(_templateObject3 || (_templateObject3 = _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) {
|
|
16
|
+
return props.small ? smallImage : null;
|
|
17
|
+
}, function (props) {
|
|
18
|
+
return "url(" + props.src + ")";
|
|
19
|
+
});
|
|
20
|
+
var ListItem = styled__default('a')(_templateObject4 || (_templateObject4 = _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) {
|
|
21
|
+
var theme = _ref.theme;
|
|
22
|
+
return theme.colors.backgroundColor ? polished.lighten(0.1, theme.colors.backgroundColor) : '#fff';
|
|
23
|
+
}, function (_ref2) {
|
|
24
|
+
var theme = _ref2.theme;
|
|
25
|
+
return theme.colors.backgroundColor ? polished.lighten(0.3, theme.colors.backgroundColor) : polished.lighten(0.68, theme.colors.textColor);
|
|
26
|
+
}, function (_ref3) {
|
|
27
|
+
var theme = _ref3.theme;
|
|
28
|
+
return theme.colors.textColor;
|
|
29
|
+
}, function (props) {
|
|
30
|
+
return props.href ? 'cursor: pointer' : null;
|
|
31
|
+
}, function (_ref4) {
|
|
32
|
+
var theme = _ref4.theme;
|
|
33
|
+
return theme.colors.backgroundColor ? polished.lighten(0.2, theme.colors.backgroundColor) : '#fdfefd';
|
|
34
|
+
}, function (props) {
|
|
35
|
+
if (props.image) {
|
|
36
|
+
return props.small ? 'calc(100% - 100px)' : 'calc(100% - 160px)';
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
return '100%';
|
|
40
|
+
}, function (props) {
|
|
41
|
+
return props.image ? '10px' : 0;
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
exports.Image = Image;
|
|
45
|
+
exports.ListItem = ListItem;
|
|
46
|
+
exports.container = container;
|
|
@@ -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-
|
|
9
|
+
var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-c705cbe6.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-
|
|
16
|
-
var vueTypes = require('./vueTypes-
|
|
15
|
+
var Button = require('./Button-446f819e.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-
|
|
20
|
-
var ComponentWrapper = require('./ComponentWrapper-
|
|
21
|
-
|
|
22
|
-
require('./
|
|
19
|
+
var index = require('./index-6a167fe0.js');
|
|
20
|
+
var ComponentWrapper = require('./ComponentWrapper-ad3dad02.js');
|
|
21
|
+
require('@vue/babel-helper-vue-jsx-merge-props');
|
|
22
|
+
var Title = require('./Title-1de7d0f4.js');
|
|
23
|
+
require('./CancelSvg-9f258f4f.js');
|
|
24
|
+
require('./Input-e6603a7e.js');
|
|
23
25
|
require('compute-scroll-into-view');
|
|
24
|
-
require('./
|
|
25
|
-
|
|
26
|
-
var utils = require('./utils-
|
|
27
|
-
var DropDown = require('./DropDown-
|
|
26
|
+
var Container = require('./Container-daf30918.js');
|
|
27
|
+
require('@appbaseio/reactivecore/lib/utils/suggestions');
|
|
28
|
+
var utils = require('./utils-d6a52588.js');
|
|
29
|
+
var DropDown = require('./DropDown-5513ea77.js');
|
|
28
30
|
|
|
29
31
|
var updateQuery = configureStore.Actions.updateQuery,
|
|
30
32
|
setQueryOptions = configureStore.Actions.setQueryOptions,
|
|
@@ -35,8 +37,9 @@ var isEqual = configureStore.helper.isEqual,
|
|
|
35
37
|
checkValueChange = configureStore.helper.checkValueChange,
|
|
36
38
|
checkPropChange = configureStore.helper.checkPropChange,
|
|
37
39
|
getClassName = configureStore.helper.getClassName,
|
|
38
|
-
|
|
39
|
-
|
|
40
|
+
getCompositeAggsQuery = configureStore.helper.getCompositeAggsQuery,
|
|
41
|
+
extractQueryFromCustomQuery = configureStore.helper.extractQueryFromCustomQuery,
|
|
42
|
+
getOptionsForCustomQuery = configureStore.helper.getOptionsForCustomQuery;
|
|
40
43
|
var MultiDropdownList = {
|
|
41
44
|
name: 'MultiDropdownList',
|
|
42
45
|
data: function data() {
|
|
@@ -74,19 +77,28 @@ var MultiDropdownList = {
|
|
|
74
77
|
selectAllLabel: vueTypes.types.string,
|
|
75
78
|
showCount: VueTypes.bool.def(true),
|
|
76
79
|
showFilter: VueTypes.bool.def(true),
|
|
77
|
-
size: VueTypes.number
|
|
80
|
+
size: VueTypes.number,
|
|
78
81
|
sortBy: VueTypes.oneOf(['asc', 'desc', 'count']).def('count'),
|
|
79
82
|
title: vueTypes.types.title,
|
|
80
83
|
URLParams: VueTypes.bool.def(false),
|
|
81
84
|
showMissing: VueTypes.bool.def(false),
|
|
82
85
|
missingLabel: VueTypes.string.def('N/A'),
|
|
83
86
|
showSearch: VueTypes.bool.def(false),
|
|
87
|
+
showClear: VueTypes.bool.def(false),
|
|
84
88
|
showLoadMore: VueTypes.bool.def(false),
|
|
85
89
|
loadMoreLabel: VueTypes.oneOfType([VueTypes.string, VueTypes.any]).def('Load More'),
|
|
86
|
-
nestedField: vueTypes.types.string
|
|
90
|
+
nestedField: vueTypes.types.string,
|
|
91
|
+
index: VueTypes.string,
|
|
92
|
+
searchPlaceholder: VueTypes.string.def('Type here to search...')
|
|
87
93
|
},
|
|
88
94
|
created: function created() {
|
|
89
|
-
|
|
95
|
+
if (!this.enableAppbase && this.$props.index) {
|
|
96
|
+
console.warn('Warning(ReactiveSearch): In order to use the `index` prop, the `enableAppbase` prop must be set to true in `ReactiveBase`.');
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
var props = this.$props;
|
|
100
|
+
this.modifiedOptions = this.options && this.options[props.dataField] ? this.options[props.dataField].buckets : []; // Set custom and default queries in store
|
|
101
|
+
|
|
90
102
|
index.updateCustomQuery(this.componentId, this.setCustomQuery, this.$props, this.currentValue);
|
|
91
103
|
index.updateDefaultQuery(this.componentId, this.setDefaultQuery, this.$props, this.currentValue);
|
|
92
104
|
},
|
|
@@ -124,33 +136,35 @@ var MultiDropdownList = {
|
|
|
124
136
|
options: function options(newVal, oldVal) {
|
|
125
137
|
var _this2 = this;
|
|
126
138
|
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
139
|
+
if (newVal) {
|
|
140
|
+
checkPropChange(oldVal, newVal, function () {
|
|
141
|
+
var _this2$$props = _this2.$props,
|
|
142
|
+
showLoadMore = _this2$$props.showLoadMore,
|
|
143
|
+
dataField = _this2$$props.dataField;
|
|
144
|
+
var modifiedOptions = _this2.$data.modifiedOptions;
|
|
145
|
+
|
|
146
|
+
if (showLoadMore) {
|
|
147
|
+
// append options with showLoadMore
|
|
148
|
+
var buckets = newVal[dataField].buckets;
|
|
149
|
+
var nextOptions = [].concat(modifiedOptions, buckets.map(function (bucket) {
|
|
150
|
+
return {
|
|
151
|
+
key: bucket.key[dataField],
|
|
152
|
+
doc_count: bucket.doc_count
|
|
153
|
+
};
|
|
154
|
+
}));
|
|
155
|
+
var after = newVal[dataField].after_key; // detect the last bucket by checking if the next set of buckets were empty
|
|
156
|
+
|
|
157
|
+
var isLastBucket = !buckets.length;
|
|
158
|
+
_this2.after = {
|
|
159
|
+
after: after
|
|
140
160
|
};
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
_this2.isLastBucket = isLastBucket;
|
|
149
|
-
_this2.modifiedOptions = nextOptions;
|
|
150
|
-
} else {
|
|
151
|
-
_this2.modifiedOptions = newVal[_this2.$props.dataField] ? newVal[_this2.$props.dataField].buckets : [];
|
|
152
|
-
}
|
|
153
|
-
});
|
|
161
|
+
_this2.isLastBucket = isLastBucket;
|
|
162
|
+
_this2.modifiedOptions = nextOptions;
|
|
163
|
+
} else {
|
|
164
|
+
_this2.modifiedOptions = newVal[_this2.$props.dataField] ? newVal[_this2.$props.dataField].buckets : [];
|
|
165
|
+
}
|
|
166
|
+
});
|
|
167
|
+
}
|
|
154
168
|
},
|
|
155
169
|
size: function size() {
|
|
156
170
|
this.updateQueryOptions(this.$props);
|
|
@@ -193,13 +207,22 @@ var MultiDropdownList = {
|
|
|
193
207
|
var renderErrorCalc = this.$scopedSlots.renderError || renderError;
|
|
194
208
|
var renderLabelCalc = this.$scopedSlots.renderLabel || renderLabel;
|
|
195
209
|
var isLastBucket = this.$data.isLastBucket;
|
|
210
|
+
var renderNoResults = this.$scopedSlots.renderNoResults || this.$props.renderNoResults;
|
|
196
211
|
var selectAll = [];
|
|
197
212
|
|
|
198
213
|
if (renderErrorCalc && this.error) {
|
|
199
214
|
return index.isFunction(renderErrorCalc) ? renderErrorCalc(this.error) : renderErrorCalc;
|
|
200
215
|
}
|
|
201
216
|
|
|
202
|
-
if (!this.hasCustomRenderer && this.$data.modifiedOptions.length === 0) {
|
|
217
|
+
if (!this.hasCustomRenderer && this.$data.modifiedOptions.length === 0 && !this.isLoading) {
|
|
218
|
+
if (renderNoResults && index.isFunction(renderNoResults)) {
|
|
219
|
+
return h("div", [renderNoResults()]);
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
if (renderNoResults && !index.isFunction(renderNoResults)) {
|
|
223
|
+
return renderNoResults;
|
|
224
|
+
}
|
|
225
|
+
|
|
203
226
|
return null;
|
|
204
227
|
}
|
|
205
228
|
|
|
@@ -219,7 +242,7 @@ var MultiDropdownList = {
|
|
|
219
242
|
"items": [].concat(selectAll, this.$data.modifiedOptions.filter(function (item) {
|
|
220
243
|
return String(item.key).trim().length;
|
|
221
244
|
}).map(function (item) {
|
|
222
|
-
return _rollupPluginBabelHelpers._extends(
|
|
245
|
+
return _rollupPluginBabelHelpers._extends({}, item, {
|
|
223
246
|
key: String(item.key)
|
|
224
247
|
});
|
|
225
248
|
})),
|
|
@@ -235,6 +258,8 @@ var MultiDropdownList = {
|
|
|
235
258
|
"renderItem": renderItemCalc,
|
|
236
259
|
"renderNoResults": this.$scopedSlots.renderNoResults || this.$props.renderNoResults,
|
|
237
260
|
"showSearch": this.$props.showSearch,
|
|
261
|
+
"showClear": this.$props.showClear,
|
|
262
|
+
"searchPlaceholder": this.$props.searchPlaceholder,
|
|
238
263
|
"transformData": this.$props.transformData,
|
|
239
264
|
"footer": showLoadMore && !isLastBucket && h("div", {
|
|
240
265
|
"attrs": {
|
|
@@ -326,7 +351,7 @@ var MultiDropdownList = {
|
|
|
326
351
|
}
|
|
327
352
|
|
|
328
353
|
var performUpdate = function performUpdate() {
|
|
329
|
-
_this3.currentValue = currentValue;
|
|
354
|
+
_this3.currentValue = _rollupPluginBabelHelpers._extends({}, currentValue);
|
|
330
355
|
|
|
331
356
|
_this3.updateQueryHandler(finalValues, props);
|
|
332
357
|
|
|
@@ -338,22 +363,22 @@ var MultiDropdownList = {
|
|
|
338
363
|
checkValueChange(props.componentId, finalValues, props.beforeValueChange, performUpdate);
|
|
339
364
|
},
|
|
340
365
|
updateDefaultQueryHandler: function updateDefaultQueryHandler(value, props) {
|
|
341
|
-
var defaultQueryOptions;
|
|
342
366
|
var query = MultiDropdownList.defaultQuery(value, props);
|
|
343
367
|
|
|
344
368
|
if (this.defaultQuery) {
|
|
345
369
|
var defaultQueryToBeSet = this.defaultQuery(value, props) || {};
|
|
370
|
+
var defaultQueryObj = extractQueryFromCustomQuery(defaultQueryToBeSet);
|
|
346
371
|
|
|
347
|
-
if (
|
|
348
|
-
query =
|
|
349
|
-
}
|
|
372
|
+
if (defaultQueryObj) {
|
|
373
|
+
query = defaultQueryObj;
|
|
374
|
+
} // Update calculated default query in store
|
|
350
375
|
|
|
351
|
-
defaultQueryOptions = getOptionsFromQuery(defaultQueryToBeSet); // Update calculated default query in store
|
|
352
376
|
|
|
353
377
|
index.updateDefaultQuery(props.componentId, this.setDefaultQuery, props, value);
|
|
378
|
+
var defaultQueryOptions = getOptionsForCustomQuery(defaultQueryToBeSet);
|
|
379
|
+
this.setQueryOptions(this.internalComponent, defaultQueryOptions, false);
|
|
354
380
|
}
|
|
355
381
|
|
|
356
|
-
this.setQueryOptions(this.internalComponent, defaultQueryOptions);
|
|
357
382
|
this.updateQuery({
|
|
358
383
|
componentId: this.internalComponent,
|
|
359
384
|
query: query,
|
|
@@ -364,17 +389,15 @@ var MultiDropdownList = {
|
|
|
364
389
|
updateQueryHandler: function updateQueryHandler(value, props) {
|
|
365
390
|
var customQuery = props.customQuery;
|
|
366
391
|
var query = MultiDropdownList.defaultQuery(value, props);
|
|
367
|
-
var customQueryOptions;
|
|
368
392
|
|
|
369
393
|
if (customQuery) {
|
|
370
|
-
var
|
|
371
|
-
|
|
372
|
-
query = _ref.query;
|
|
373
|
-
customQueryOptions = getOptionsFromQuery(customQuery(value, props));
|
|
394
|
+
var customQueryCalc = customQuery(value, props);
|
|
395
|
+
query = extractQueryFromCustomQuery(customQueryCalc);
|
|
374
396
|
index.updateCustomQuery(props.componentId, this.setCustomQuery, props, value);
|
|
397
|
+
var customQueryOptions = getOptionsForCustomQuery(customQueryCalc);
|
|
398
|
+
this.setQueryOptions(props.componentId, customQueryOptions, false);
|
|
375
399
|
}
|
|
376
400
|
|
|
377
|
-
this.setQueryOptions(props.componentId, customQueryOptions);
|
|
378
401
|
this.updateQuery({
|
|
379
402
|
componentId: props.componentId,
|
|
380
403
|
query: query,
|
|
@@ -408,8 +431,8 @@ var MultiDropdownList = {
|
|
|
408
431
|
|
|
409
432
|
if (props.defaultQuery) {
|
|
410
433
|
var value = Object.keys(this.$data.currentValue);
|
|
411
|
-
var defaultQueryOptions =
|
|
412
|
-
this.setQueryOptions(this.internalComponent, _rollupPluginBabelHelpers._extends(
|
|
434
|
+
var defaultQueryOptions = getOptionsForCustomQuery(props.defaultQuery(value, props));
|
|
435
|
+
this.setQueryOptions(this.internalComponent, _rollupPluginBabelHelpers._extends({}, queryOptions, defaultQueryOptions));
|
|
413
436
|
} else {
|
|
414
437
|
this.setQueryOptions(this.internalComponent, queryOptions);
|
|
415
438
|
}
|
|
@@ -444,7 +467,13 @@ var MultiDropdownList = {
|
|
|
444
467
|
|
|
445
468
|
MultiDropdownList.defaultQuery = function (value, props) {
|
|
446
469
|
var query = null;
|
|
447
|
-
var
|
|
470
|
+
var queryFormat = props.queryFormat;
|
|
471
|
+
|
|
472
|
+
if (queryFormat === undefined) {
|
|
473
|
+
queryFormat = 'or';
|
|
474
|
+
}
|
|
475
|
+
|
|
476
|
+
var type = queryFormat === 'or' ? 'terms' : 'term';
|
|
448
477
|
|
|
449
478
|
if (!Array.isArray(value) || value.length === 0) {
|
|
450
479
|
return null;
|
|
@@ -465,14 +494,14 @@ MultiDropdownList.defaultQuery = function (value, props) {
|
|
|
465
494
|
} else if (value) {
|
|
466
495
|
var listQuery;
|
|
467
496
|
|
|
468
|
-
if (
|
|
497
|
+
if (queryFormat === 'or') {
|
|
469
498
|
if (props.showMissing) {
|
|
470
|
-
var _type,
|
|
499
|
+
var _type, _ref;
|
|
471
500
|
|
|
472
501
|
var hasMissingTerm = value.includes(props.missingLabel);
|
|
473
|
-
var should = [(
|
|
502
|
+
var should = [(_ref = {}, _ref[type] = (_type = {}, _type[props.dataField] = value.filter(function (item) {
|
|
474
503
|
return item !== props.missingLabel;
|
|
475
|
-
}), _type),
|
|
504
|
+
}), _type), _ref)];
|
|
476
505
|
|
|
477
506
|
if (hasMissingTerm) {
|
|
478
507
|
should = should.concat({
|
|
@@ -499,9 +528,9 @@ MultiDropdownList.defaultQuery = function (value, props) {
|
|
|
499
528
|
} else {
|
|
500
529
|
// adds a sub-query with must as an array of objects for each term/value
|
|
501
530
|
var queryArray = value.map(function (item) {
|
|
502
|
-
var _type3,
|
|
531
|
+
var _type3, _ref2;
|
|
503
532
|
|
|
504
|
-
return
|
|
533
|
+
return _ref2 = {}, _ref2[type] = (_type3 = {}, _type3[props.dataField] = item, _type3), _ref2;
|
|
505
534
|
});
|
|
506
535
|
listQuery = {
|
|
507
536
|
bool: {
|
|
@@ -536,6 +565,10 @@ MultiDropdownList.generateQueryOptions = function (props, after) {
|
|
|
536
565
|
}) : utils.getAggsQuery(queryOptions, props);
|
|
537
566
|
};
|
|
538
567
|
|
|
568
|
+
MultiDropdownList.hasInternalComponent = function () {
|
|
569
|
+
return true;
|
|
570
|
+
};
|
|
571
|
+
|
|
539
572
|
var mapStateToProps = function mapStateToProps(state, props) {
|
|
540
573
|
return {
|
|
541
574
|
options: props.nestedField && state.aggregations[props.componentId] ? state.aggregations[props.componentId].reactivesearch_nested : state.aggregations[props.componentId],
|
|
@@ -544,7 +577,8 @@ var mapStateToProps = function mapStateToProps(state, props) {
|
|
|
544
577
|
selectedValue: state.selectedValues[props.componentId] && state.selectedValues[props.componentId].value || null,
|
|
545
578
|
themePreset: state.config.themePreset,
|
|
546
579
|
error: state.error[props.componentId],
|
|
547
|
-
componentProps: state.props[props.componentId]
|
|
580
|
+
componentProps: state.props[props.componentId],
|
|
581
|
+
enableAppbase: state.config.enableAppbase
|
|
548
582
|
};
|
|
549
583
|
};
|
|
550
584
|
|
|
@@ -556,7 +590,7 @@ var mapDispatchtoProps = {
|
|
|
556
590
|
};
|
|
557
591
|
var ListConnected = ComponentWrapper.ComponentWrapper(index.connect(mapStateToProps, mapDispatchtoProps)(MultiDropdownList), {
|
|
558
592
|
componentType: constants.componentTypes.multiDropdownList,
|
|
559
|
-
internalComponent:
|
|
593
|
+
internalComponent: MultiDropdownList.hasInternalComponent()
|
|
560
594
|
});
|
|
561
595
|
|
|
562
596
|
MultiDropdownList.install = function (Vue) {
|