@appbaseio/reactivesearch-vue 1.16.0-alpha.4 → 1.16.0-alpha.40
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 +8107 -7501
- 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-d2f1aeda.js +68 -0
- package/dist/cjs/{DownShift-b09da079.js → CancelSvg-82021d23.js} +60 -16
- package/dist/cjs/Card-4b915733.js +30 -0
- package/dist/cjs/{ComponentWrapper-5a0a8849.js → ComponentWrapper-7302fe1a.js} +40 -21
- package/dist/cjs/{Container-f84e72fc.js → Container-8a08d663.js} +3 -11
- package/dist/cjs/DataSearch.js +354 -398
- package/dist/cjs/{DropDown-c66be1a8.js → DropDown-c46d8b0c.js} +80 -95
- package/dist/cjs/DynamicRangeSlider.js +107 -42
- package/dist/cjs/Flex-699639d2.js +52 -0
- package/dist/cjs/FormControlList-73497794.js +47 -0
- package/dist/cjs/Input-c6f181d5.js +79 -0
- package/dist/cjs/ListItem-933c27e4.js +46 -0
- package/dist/cjs/MultiDropdownList.js +101 -65
- package/dist/cjs/MultiList.js +79 -47
- package/dist/cjs/MultiRange.js +20 -14
- package/dist/cjs/{Pagination-91df3b77.js → Pagination-1b2320a7.js} +4 -3
- package/dist/cjs/RangeInput.js +29 -45
- package/dist/cjs/RangeSlider.js +31 -28
- package/dist/cjs/ReactiveBase.js +55 -34
- package/dist/cjs/ReactiveComponent.js +72 -58
- package/dist/cjs/ReactiveGoogleMap.js +326 -235
- package/dist/cjs/ReactiveList.js +188 -241
- package/dist/cjs/ResultCard.js +8 -6
- package/dist/cjs/ResultList.js +8 -6
- package/dist/cjs/SelectedFilters.js +25 -12
- package/dist/cjs/SingleDropdownList.js +87 -57
- package/dist/cjs/SingleList.js +60 -37
- package/dist/cjs/SingleRange.js +17 -11
- package/dist/cjs/StateProvider.js +11 -7
- package/dist/cjs/{Title-e9beb554.js → Title-39765ee6.js} +3 -11
- package/dist/cjs/ToggleButton.js +35 -16
- package/dist/cjs/{_rollupPluginBabelHelpers-280a574c.js → _rollupPluginBabelHelpers-4abdbfff.js} +11 -1
- package/dist/cjs/{index-e0583d76.js → index-d44a0a21.js} +87 -13
- package/dist/cjs/index.js +23 -19
- package/dist/cjs/initReactivesearch.js +187 -104
- package/dist/cjs/install.js +20 -18
- package/dist/cjs/ssr-c333c82c.js +39 -0
- package/dist/cjs/{utils-d1ea9f95.js → utils-23afb20b.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-799185e2.js +59 -0
- package/dist/es/{DownShift-d8f2500f.js → CancelSvg-4d9e0857.js} +56 -17
- package/dist/es/Card-04b3c33e.js +23 -0
- package/dist/es/{ComponentWrapper-d0b21b95.js → ComponentWrapper-bbb717bc.js} +40 -21
- package/dist/es/Container-4383c6f0.js +10 -0
- package/dist/es/DataSearch.js +352 -396
- package/dist/es/{DropDown-5dbd69c2.js → DropDown-4edaa621.js} +79 -94
- package/dist/es/DynamicRangeSlider.js +107 -42
- package/dist/es/Flex-aac91505.js +47 -0
- package/dist/es/FormControlList-fe389a2e.js +40 -0
- package/dist/es/Input-d8519224.js +71 -0
- package/dist/es/ListItem-bdb6d53d.js +39 -0
- package/dist/es/MultiDropdownList.js +101 -65
- package/dist/es/MultiList.js +79 -47
- package/dist/es/MultiRange.js +20 -14
- package/dist/es/{Pagination-800af44f.js → Pagination-b3e4054a.js} +4 -3
- package/dist/es/RangeInput.js +29 -45
- package/dist/es/RangeSlider.js +31 -28
- package/dist/es/ReactiveBase.js +55 -34
- package/dist/es/ReactiveComponent.js +72 -58
- package/dist/es/ReactiveGoogleMap.js +326 -235
- package/dist/es/ReactiveList.js +188 -241
- package/dist/es/ResultCard.js +8 -6
- package/dist/es/ResultList.js +8 -6
- package/dist/es/SelectedFilters.js +25 -12
- package/dist/es/SingleDropdownList.js +87 -57
- package/dist/es/SingleList.js +60 -37
- package/dist/es/SingleRange.js +17 -11
- package/dist/es/StateProvider.js +11 -7
- package/dist/es/Title-579f8d6c.js +10 -0
- package/dist/es/ToggleButton.js +35 -16
- package/dist/es/{_rollupPluginBabelHelpers-c9fbe19f.js → _rollupPluginBabelHelpers-ecf6c03c.js} +11 -1
- package/dist/es/{index-1fe91a0a.js → index-5daa8276.js} +84 -14
- package/dist/es/index.js +23 -19
- package/dist/es/initReactivesearch.js +188 -105
- package/dist/es/install.js +20 -18
- package/dist/es/ssr-e3196de1.js +33 -0
- package/dist/es/{utils-ce3d86fd.js → utils-3a32e13f.js} +2 -2
- package/dist/es/version.js +1 -1
- package/dist/es/{vueTypes-98d938a9.js → vueTypes-9326e0be.js} +9 -4
- package/package.json +7 -5
- package/dist/cjs/Button-78d8bc26.js +0 -146
- package/dist/cjs/Card-b4af314f.js +0 -58
- package/dist/cjs/Flex-737c55be.js +0 -160
- package/dist/cjs/FormControlList-08dfb28e.js +0 -105
- package/dist/cjs/Input-643d02a7.js +0 -178
- package/dist/cjs/ListItem-0c58c5d2.js +0 -84
- package/dist/cjs/ssr-b7a729f9.js +0 -47
- package/dist/es/Button-6c71c66e.js +0 -137
- package/dist/es/Card-ecf70ba1.js +0 -51
- package/dist/es/Container-f5efec9e.js +0 -18
- package/dist/es/Flex-40a74d8a.js +0 -155
- package/dist/es/FormControlList-b96aebef.js +0 -98
- package/dist/es/Input-dfd9dd40.js +0 -170
- package/dist/es/ListItem-da73bc7d.js +0 -77
- package/dist/es/Title-22c2f3bf.js +0 -18
- package/dist/es/ssr-2f57791d.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-4abdbfff.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: 395px;\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-4abdbfff.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-39765ee6.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-4abdbfff.js');
|
|
10
10
|
var VueTypes = _interopDefault(require('vue-types'));
|
|
11
11
|
var constants = require('@appbaseio/reactivecore/lib/utils/constants');
|
|
12
12
|
require('emotion');
|
|
13
13
|
require('@appbaseio/vue-emotion');
|
|
14
14
|
require('polished');
|
|
15
|
-
var Button = require('./Button-
|
|
16
|
-
var vueTypes = require('./vueTypes-
|
|
15
|
+
var Button = require('./Button-d2f1aeda.js');
|
|
16
|
+
var vueTypes = require('./vueTypes-6de9d2a9.js');
|
|
17
17
|
require('@appbaseio/reactivecore/lib/utils/transform');
|
|
18
18
|
require('redux');
|
|
19
|
-
var index = require('./index-
|
|
20
|
-
var ComponentWrapper = require('./ComponentWrapper-
|
|
21
|
-
|
|
22
|
-
require('./
|
|
19
|
+
var index = require('./index-d44a0a21.js');
|
|
20
|
+
var ComponentWrapper = require('./ComponentWrapper-7302fe1a.js');
|
|
21
|
+
require('@vue/babel-helper-vue-jsx-merge-props');
|
|
22
|
+
var Title = require('./Title-39765ee6.js');
|
|
23
|
+
require('./CancelSvg-82021d23.js');
|
|
24
|
+
require('./Input-c6f181d5.js');
|
|
23
25
|
require('compute-scroll-into-view');
|
|
24
|
-
require('./
|
|
25
|
-
|
|
26
|
-
var utils = require('./utils-
|
|
27
|
-
var DropDown = require('./DropDown-
|
|
26
|
+
var Container = require('./Container-8a08d663.js');
|
|
27
|
+
require('@appbaseio/reactivecore/lib/utils/suggestions');
|
|
28
|
+
var utils = require('./utils-23afb20b.js');
|
|
29
|
+
var DropDown = require('./DropDown-c46d8b0c.js');
|
|
28
30
|
|
|
29
31
|
var updateQuery = configureStore.Actions.updateQuery,
|
|
30
32
|
setQueryOptions = configureStore.Actions.setQueryOptions,
|
|
@@ -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
|
|
|
@@ -343,17 +368,18 @@ var MultiDropdownList = {
|
|
|
343
368
|
|
|
344
369
|
if (this.defaultQuery) {
|
|
345
370
|
var defaultQueryToBeSet = this.defaultQuery(value, props) || {};
|
|
371
|
+
var defaultQueryObj = extractQueryFromCustomQuery(defaultQueryToBeSet);
|
|
346
372
|
|
|
347
|
-
if (
|
|
348
|
-
query =
|
|
373
|
+
if (defaultQueryObj) {
|
|
374
|
+
query = defaultQueryObj;
|
|
349
375
|
}
|
|
350
376
|
|
|
351
|
-
defaultQueryOptions =
|
|
377
|
+
defaultQueryOptions = getOptionsForCustomQuery(defaultQueryToBeSet); // Update calculated default query in store
|
|
352
378
|
|
|
353
379
|
index.updateDefaultQuery(props.componentId, this.setDefaultQuery, props, value);
|
|
354
380
|
}
|
|
355
381
|
|
|
356
|
-
this.setQueryOptions(this.internalComponent, defaultQueryOptions);
|
|
382
|
+
this.setQueryOptions(this.internalComponent, defaultQueryOptions, false);
|
|
357
383
|
this.updateQuery({
|
|
358
384
|
componentId: this.internalComponent,
|
|
359
385
|
query: query,
|
|
@@ -367,14 +393,13 @@ var MultiDropdownList = {
|
|
|
367
393
|
var customQueryOptions;
|
|
368
394
|
|
|
369
395
|
if (customQuery) {
|
|
370
|
-
var
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
customQueryOptions = getOptionsFromQuery(customQuery(value, props));
|
|
396
|
+
var customQueryCalc = customQuery(value, props);
|
|
397
|
+
query = extractQueryFromCustomQuery(customQueryCalc);
|
|
398
|
+
customQueryOptions = getOptionsForCustomQuery(customQueryCalc);
|
|
374
399
|
index.updateCustomQuery(props.componentId, this.setCustomQuery, props, value);
|
|
375
400
|
}
|
|
376
401
|
|
|
377
|
-
this.setQueryOptions(props.componentId, customQueryOptions);
|
|
402
|
+
this.setQueryOptions(props.componentId, customQueryOptions, false);
|
|
378
403
|
this.updateQuery({
|
|
379
404
|
componentId: props.componentId,
|
|
380
405
|
query: query,
|
|
@@ -408,8 +433,8 @@ var MultiDropdownList = {
|
|
|
408
433
|
|
|
409
434
|
if (props.defaultQuery) {
|
|
410
435
|
var value = Object.keys(this.$data.currentValue);
|
|
411
|
-
var defaultQueryOptions =
|
|
412
|
-
this.setQueryOptions(this.internalComponent, _rollupPluginBabelHelpers._extends(
|
|
436
|
+
var defaultQueryOptions = getOptionsForCustomQuery(props.defaultQuery(value, props));
|
|
437
|
+
this.setQueryOptions(this.internalComponent, _rollupPluginBabelHelpers._extends({}, queryOptions, defaultQueryOptions));
|
|
413
438
|
} else {
|
|
414
439
|
this.setQueryOptions(this.internalComponent, queryOptions);
|
|
415
440
|
}
|
|
@@ -444,7 +469,13 @@ var MultiDropdownList = {
|
|
|
444
469
|
|
|
445
470
|
MultiDropdownList.defaultQuery = function (value, props) {
|
|
446
471
|
var query = null;
|
|
447
|
-
var
|
|
472
|
+
var queryFormat = props.queryFormat;
|
|
473
|
+
|
|
474
|
+
if (queryFormat === undefined) {
|
|
475
|
+
queryFormat = 'or';
|
|
476
|
+
}
|
|
477
|
+
|
|
478
|
+
var type = queryFormat === 'or' ? 'terms' : 'term';
|
|
448
479
|
|
|
449
480
|
if (!Array.isArray(value) || value.length === 0) {
|
|
450
481
|
return null;
|
|
@@ -465,14 +496,14 @@ MultiDropdownList.defaultQuery = function (value, props) {
|
|
|
465
496
|
} else if (value) {
|
|
466
497
|
var listQuery;
|
|
467
498
|
|
|
468
|
-
if (
|
|
499
|
+
if (queryFormat === 'or') {
|
|
469
500
|
if (props.showMissing) {
|
|
470
|
-
var _type,
|
|
501
|
+
var _type, _ref;
|
|
471
502
|
|
|
472
503
|
var hasMissingTerm = value.includes(props.missingLabel);
|
|
473
|
-
var should = [(
|
|
504
|
+
var should = [(_ref = {}, _ref[type] = (_type = {}, _type[props.dataField] = value.filter(function (item) {
|
|
474
505
|
return item !== props.missingLabel;
|
|
475
|
-
}), _type),
|
|
506
|
+
}), _type), _ref)];
|
|
476
507
|
|
|
477
508
|
if (hasMissingTerm) {
|
|
478
509
|
should = should.concat({
|
|
@@ -499,9 +530,9 @@ MultiDropdownList.defaultQuery = function (value, props) {
|
|
|
499
530
|
} else {
|
|
500
531
|
// adds a sub-query with must as an array of objects for each term/value
|
|
501
532
|
var queryArray = value.map(function (item) {
|
|
502
|
-
var _type3,
|
|
533
|
+
var _type3, _ref2;
|
|
503
534
|
|
|
504
|
-
return
|
|
535
|
+
return _ref2 = {}, _ref2[type] = (_type3 = {}, _type3[props.dataField] = item, _type3), _ref2;
|
|
505
536
|
});
|
|
506
537
|
listQuery = {
|
|
507
538
|
bool: {
|
|
@@ -536,6 +567,10 @@ MultiDropdownList.generateQueryOptions = function (props, after) {
|
|
|
536
567
|
}) : utils.getAggsQuery(queryOptions, props);
|
|
537
568
|
};
|
|
538
569
|
|
|
570
|
+
MultiDropdownList.hasInternalComponent = function () {
|
|
571
|
+
return true;
|
|
572
|
+
};
|
|
573
|
+
|
|
539
574
|
var mapStateToProps = function mapStateToProps(state, props) {
|
|
540
575
|
return {
|
|
541
576
|
options: props.nestedField && state.aggregations[props.componentId] ? state.aggregations[props.componentId].reactivesearch_nested : state.aggregations[props.componentId],
|
|
@@ -544,7 +579,8 @@ var mapStateToProps = function mapStateToProps(state, props) {
|
|
|
544
579
|
selectedValue: state.selectedValues[props.componentId] && state.selectedValues[props.componentId].value || null,
|
|
545
580
|
themePreset: state.config.themePreset,
|
|
546
581
|
error: state.error[props.componentId],
|
|
547
|
-
componentProps: state.props[props.componentId]
|
|
582
|
+
componentProps: state.props[props.componentId],
|
|
583
|
+
enableAppbase: state.config.enableAppbase
|
|
548
584
|
};
|
|
549
585
|
};
|
|
550
586
|
|
|
@@ -556,7 +592,7 @@ var mapDispatchtoProps = {
|
|
|
556
592
|
};
|
|
557
593
|
var ListConnected = ComponentWrapper.ComponentWrapper(index.connect(mapStateToProps, mapDispatchtoProps)(MultiDropdownList), {
|
|
558
594
|
componentType: constants.componentTypes.multiDropdownList,
|
|
559
|
-
internalComponent:
|
|
595
|
+
internalComponent: MultiDropdownList.hasInternalComponent()
|
|
560
596
|
});
|
|
561
597
|
|
|
562
598
|
MultiDropdownList.install = function (Vue) {
|