@appbaseio/reactivesearch-vue 2.0.0-alpha.3 → 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 +17405 -25231
- 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 +74 -47
- 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 +69 -152
- 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 +75 -48
- 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 +69 -152
- 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-6cf29cf0.js +0 -2323
- 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-42ba1d44.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-4888aa43.js +0 -2308
- 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-80bc2764.js +0 -1402
|
@@ -4,8 +4,8 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
|
|
6
6
|
|
|
7
|
-
var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-c705cbe6.js');
|
|
8
7
|
var constants = require('@appbaseio/reactivecore/lib/utils/constants');
|
|
8
|
+
var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-f8b843f8.js');
|
|
9
9
|
var helper = require('@appbaseio/reactivecore/lib/utils/helper');
|
|
10
10
|
var transform = require('@appbaseio/reactivecore/lib/utils/transform');
|
|
11
11
|
var Appbase = _interopDefault(require('appbase-js'));
|
|
@@ -19,13 +19,14 @@ var fetchGraphQL = _interopDefault(require('@appbaseio/reactivecore/lib/utils/gr
|
|
|
19
19
|
var utils = require('@appbaseio/reactivecore/lib/actions/utils');
|
|
20
20
|
|
|
21
21
|
var _excluded = ["aggs", "size"],
|
|
22
|
-
|
|
23
|
-
|
|
22
|
+
_excluded2 = ["query"],
|
|
23
|
+
_excluded3 = ["query"];
|
|
24
|
+
var _componentTypeToDefau;
|
|
24
25
|
var X_SEARCH_CLIENT = 'ReactiveSearch Vue';
|
|
25
26
|
var componentsWithoutFilters = [constants.componentTypes.numberBox, constants.componentTypes.ratingsFilter];
|
|
26
27
|
var resultComponents = [constants.componentTypes.reactiveList, constants.componentTypes.reactiveMap];
|
|
27
|
-
|
|
28
|
-
function getValue(state, id, defaultValue) {
|
|
28
|
+
var componentTypeToDefaultValue = (_componentTypeToDefau = {}, _componentTypeToDefau[constants.componentTypes.singleList] = '', _componentTypeToDefau[constants.componentTypes.multiList] = [], _componentTypeToDefau[constants.componentTypes.singleDataList] = '', _componentTypeToDefau[constants.componentTypes.singleDropdownList] = '', _componentTypeToDefau[constants.componentTypes.multiDataList] = [], _componentTypeToDefau[constants.componentTypes.multiDropdownList] = [], _componentTypeToDefau[constants.componentTypes.tagCloud] = '', _componentTypeToDefau[constants.componentTypes.toggleButton] = '', _componentTypeToDefau[constants.componentTypes.singleDropdownRange] = '', _componentTypeToDefau[constants.componentTypes.multiDropdownRange] = [], _componentTypeToDefau[constants.componentTypes.singleRange] = '', _componentTypeToDefau[constants.componentTypes.multiRange] = [], _componentTypeToDefau);
|
|
29
|
+
function getValue(state, id, defaultValue, componentType) {
|
|
29
30
|
if (state && state[id]) {
|
|
30
31
|
try {
|
|
31
32
|
// parsing for next.js - since it uses extra set of quotes to wrap params
|
|
@@ -42,86 +43,71 @@ function getValue(state, id, defaultValue) {
|
|
|
42
43
|
};
|
|
43
44
|
}
|
|
44
45
|
}
|
|
45
|
-
|
|
46
46
|
return {
|
|
47
|
-
value: defaultValue,
|
|
47
|
+
value: defaultValue || componentTypeToDefaultValue[componentType] || null,
|
|
48
48
|
reference: 'DEFAULT'
|
|
49
49
|
};
|
|
50
50
|
}
|
|
51
|
-
|
|
52
51
|
function parseValue(value, component) {
|
|
53
52
|
if (component.source && component.source.parseValue) {
|
|
54
53
|
return component.source.parseValue(value, component);
|
|
55
54
|
}
|
|
56
|
-
|
|
57
55
|
return value;
|
|
58
|
-
}
|
|
59
|
-
|
|
56
|
+
}
|
|
60
57
|
|
|
58
|
+
// Returns query DSL with query property and other options
|
|
61
59
|
function getDefaultQuery(component, value) {
|
|
62
60
|
// get custom or default query of sensor components
|
|
63
|
-
var currentValue = parseValue(value, component);
|
|
64
|
-
|
|
61
|
+
var currentValue = parseValue(value, component);
|
|
62
|
+
// get default query of result components
|
|
65
63
|
if (component.defaultQuery) {
|
|
66
64
|
var defaultQuery = component.defaultQuery(currentValue, component);
|
|
67
65
|
return _rollupPluginBabelHelpers._extends({
|
|
68
66
|
query: helper.extractQueryFromCustomQuery(defaultQuery)
|
|
69
67
|
}, helper.getOptionsForCustomQuery(defaultQuery));
|
|
70
68
|
}
|
|
71
|
-
|
|
72
69
|
return component.source.defaultQuery ? {
|
|
73
70
|
query: component.source.defaultQuery(currentValue, component)
|
|
74
71
|
} : {};
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
|
|
72
|
+
}
|
|
73
|
+
// Only results the query part
|
|
78
74
|
function getCustomQuery(component, value) {
|
|
79
75
|
// get custom or default query of sensor components
|
|
80
76
|
var currentValue = parseValue(value, component);
|
|
81
|
-
|
|
82
77
|
if (component.customQuery) {
|
|
83
78
|
var customQuery = component.customQuery(currentValue, component);
|
|
84
79
|
return _rollupPluginBabelHelpers._extends({
|
|
85
80
|
query: helper.extractQueryFromCustomQuery(customQuery)
|
|
86
81
|
}, helper.getOptionsForCustomQuery(customQuery));
|
|
87
82
|
}
|
|
88
|
-
|
|
89
83
|
return component.source.defaultQuery ? {
|
|
90
84
|
query: component.source.defaultQuery(currentValue, component)
|
|
91
85
|
} : null;
|
|
92
86
|
}
|
|
93
|
-
|
|
94
87
|
function initReactivesearch(componentCollection, searchState, settings) {
|
|
95
88
|
return new Promise(function (resolve, reject) {
|
|
96
89
|
var credentials = settings.url && settings.url.trim() !== '' && !settings.credentials ? null : settings.credentials;
|
|
97
|
-
var enableTelemetry = settings.
|
|
98
|
-
|
|
99
|
-
var headers = _rollupPluginBabelHelpers._extends({}, settings.enableAppbase && _rollupPluginBabelHelpers._extends({
|
|
90
|
+
var enableTelemetry = settings.reactivesearchAPIConfig && settings.reactivesearchAPIConfig.enableTelemetry !== undefined ? settings.reactivesearchAPIConfig.enableTelemetry : true;
|
|
91
|
+
var headers = _rollupPluginBabelHelpers._extends({}, _rollupPluginBabelHelpers._extends({
|
|
100
92
|
'X-Search-Client': X_SEARCH_CLIENT
|
|
101
93
|
}, enableTelemetry === false && {
|
|
102
94
|
'X-Enable-Telemetry': false
|
|
103
|
-
}), settings.headers, settings.
|
|
104
|
-
|
|
95
|
+
}), settings.headers, settings.endpoint && settings.endpoint.headers ? settings.endpoint.headers : {});
|
|
105
96
|
var url = settings.url && settings.url.trim() !== '' ? settings.url : 'https://scalr.api.appbase.io';
|
|
106
97
|
var transformRequest = settings.transformRequest || null;
|
|
107
|
-
|
|
108
|
-
if (settings.enableAppbase && settings.endpoint) {
|
|
98
|
+
if (settings.endpoint) {
|
|
109
99
|
if (settings.endpoint.url) {
|
|
110
100
|
// eslint-disable-next-line prefer-destructuring
|
|
111
101
|
url = settings.endpoint.url;
|
|
112
102
|
}
|
|
113
|
-
|
|
114
103
|
transformRequest = function transformRequest(request) {
|
|
115
104
|
var modifiedRequest = helper.transformRequestUsingEndpoint(request, settings.endpoint);
|
|
116
|
-
|
|
117
105
|
if (settings.transformRequest) {
|
|
118
106
|
return settings.transformRequest(modifiedRequest);
|
|
119
107
|
}
|
|
120
|
-
|
|
121
108
|
return modifiedRequest;
|
|
122
109
|
};
|
|
123
110
|
}
|
|
124
|
-
|
|
125
111
|
var config = {
|
|
126
112
|
url: url,
|
|
127
113
|
app: settings.app,
|
|
@@ -131,20 +117,17 @@ function initReactivesearch(componentCollection, searchState, settings) {
|
|
|
131
117
|
transformResponse: settings.transformResponse || null,
|
|
132
118
|
graphQLUrl: settings.graphQLUrl || '',
|
|
133
119
|
headers: headers,
|
|
134
|
-
analyticsConfig: settings.
|
|
135
|
-
enableAppbase:
|
|
120
|
+
analyticsConfig: settings.reactivesearchAPIConfig || null,
|
|
121
|
+
enableAppbase: true,
|
|
136
122
|
endpoint: settings.endpoint
|
|
137
123
|
};
|
|
138
124
|
var appbaseRef = Appbase(config);
|
|
139
|
-
|
|
140
125
|
if (config.transformRequest) {
|
|
141
126
|
appbaseRef.transformRequest = config.transformRequest;
|
|
142
127
|
}
|
|
143
|
-
|
|
144
128
|
if (config.transformResponse) {
|
|
145
129
|
appbaseRef.transformResponse = config.transformResponse;
|
|
146
130
|
}
|
|
147
|
-
|
|
148
131
|
var components = [];
|
|
149
132
|
var selectedValues = {};
|
|
150
133
|
var internalValues = {};
|
|
@@ -154,7 +137,6 @@ function initReactivesearch(componentCollection, searchState, settings) {
|
|
|
154
137
|
var dependencyTree = {};
|
|
155
138
|
var finalQuery = [];
|
|
156
139
|
var appbaseQuery = {}; // Use object to prevent duplicate query added by react prop
|
|
157
|
-
|
|
158
140
|
var orderOfQueries = [];
|
|
159
141
|
var hits = {};
|
|
160
142
|
var aggregations = {};
|
|
@@ -165,8 +147,8 @@ function initReactivesearch(componentCollection, searchState, settings) {
|
|
|
165
147
|
var componentProps = {};
|
|
166
148
|
componentCollection.forEach(function (component) {
|
|
167
149
|
var componentType = component.source.componentType;
|
|
168
|
-
components = [].concat(components, [component.componentId]);
|
|
169
|
-
|
|
150
|
+
components = [].concat(components, [component.componentId]);
|
|
151
|
+
// Set component props
|
|
170
152
|
var compProps = {};
|
|
171
153
|
Object.keys(component).forEach(function (key) {
|
|
172
154
|
if (constants.validProps.includes(key)) {
|
|
@@ -174,26 +156,20 @@ function initReactivesearch(componentCollection, searchState, settings) {
|
|
|
174
156
|
}
|
|
175
157
|
});
|
|
176
158
|
var isInternalComponentPresent = false;
|
|
177
|
-
|
|
178
159
|
if (component.source.hasInternalComponent) {
|
|
179
160
|
isInternalComponentPresent = component.source.hasInternalComponent(component);
|
|
180
161
|
}
|
|
181
|
-
|
|
182
162
|
var isResultComponent = resultComponents.includes(componentType);
|
|
183
163
|
var internalComponent = component.componentId + "__internal";
|
|
184
164
|
var label = component.filterLabel || component.componentId;
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
165
|
+
var _getValue = getValue(searchState, component.componentId, component.value || component.defaultValue, componentType),
|
|
166
|
+
value = _getValue.value,
|
|
167
|
+
reference = _getValue.reference;
|
|
168
|
+
// [1] set selected values
|
|
191
169
|
var showFilter = component.showFilter !== undefined ? component.showFilter : true;
|
|
192
|
-
|
|
193
170
|
if (componentsWithoutFilters.includes(componentType)) {
|
|
194
171
|
showFilter = false;
|
|
195
172
|
}
|
|
196
|
-
|
|
197
173
|
selectedValues = valueReducer(selectedValues, {
|
|
198
174
|
type: 'SET_VALUE',
|
|
199
175
|
component: component.componentId,
|
|
@@ -202,99 +178,82 @@ function initReactivesearch(componentCollection, searchState, settings) {
|
|
|
202
178
|
reference: reference,
|
|
203
179
|
showFilter: showFilter,
|
|
204
180
|
URLParams: component.URLParams || false
|
|
205
|
-
});
|
|
206
|
-
|
|
181
|
+
});
|
|
182
|
+
// Set custom and default queries
|
|
207
183
|
if (component.customQuery && typeof component.customQuery === 'function') {
|
|
208
184
|
customQueries[component.componentId] = component.customQuery(value, compProps);
|
|
209
185
|
}
|
|
210
|
-
|
|
211
186
|
if (component.defaultQuery && typeof component.defaultQuery === 'function') {
|
|
212
187
|
defaultQueries[component.componentId] = component.defaultQuery(value, compProps);
|
|
213
188
|
}
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
189
|
+
var componentQueryOptions = {};
|
|
190
|
+
// [2] set query options - main component query (valid for result components)
|
|
217
191
|
if (component && component.source.generateQueryOptions) {
|
|
218
192
|
componentQueryOptions = _rollupPluginBabelHelpers._extends({}, componentQueryOptions, component.source.generateQueryOptions(component));
|
|
219
193
|
}
|
|
220
|
-
|
|
221
194
|
var highlightQuery = {};
|
|
222
|
-
|
|
223
195
|
if (component.source.highlightQuery) {
|
|
224
196
|
highlightQuery = component.source.highlightQuery(component);
|
|
225
197
|
}
|
|
226
|
-
|
|
227
198
|
if (componentQueryOptions && Object.keys(componentQueryOptions).length || highlightQuery && Object.keys(highlightQuery).length) {
|
|
228
199
|
// eslint-disable-next-line
|
|
229
200
|
var _ref = componentQueryOptions || {},
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
201
|
+
aggs = _ref.aggs,
|
|
202
|
+
size = _ref.size,
|
|
203
|
+
otherQueryOptions = _rollupPluginBabelHelpers._objectWithoutPropertiesLoose(_ref, _excluded);
|
|
234
204
|
if (aggs && Object.keys(aggs).length) {
|
|
235
205
|
isInternalComponentPresent = true;
|
|
236
206
|
componentQueryOptions = _rollupPluginBabelHelpers._extends({}, componentQueryOptions, {
|
|
237
207
|
aggs: aggs,
|
|
238
208
|
size: typeof size === 'undefined' ? 100 : size
|
|
239
209
|
});
|
|
240
|
-
}
|
|
241
|
-
|
|
210
|
+
}
|
|
242
211
|
|
|
212
|
+
// sort, highlight, size, from - query should be applied on the main component
|
|
243
213
|
if (otherQueryOptions && Object.keys(otherQueryOptions).length || highlightQuery && Object.keys(highlightQuery).length) {
|
|
244
214
|
if (!otherQueryOptions) otherQueryOptions = {};
|
|
245
215
|
if (!highlightQuery) highlightQuery = {};
|
|
246
|
-
|
|
247
216
|
var mainQueryOptions = _rollupPluginBabelHelpers._extends({}, otherQueryOptions, highlightQuery, {
|
|
248
217
|
size: size
|
|
249
218
|
});
|
|
250
|
-
|
|
251
219
|
if (isInternalComponentPresent) {
|
|
252
220
|
mainQueryOptions = _rollupPluginBabelHelpers._extends({}, otherQueryOptions, highlightQuery);
|
|
253
221
|
}
|
|
254
|
-
|
|
255
222
|
if (isResultComponent) {
|
|
256
223
|
var currentPage = component.currentPage ? component.currentPage - 1 : 0;
|
|
257
|
-
|
|
258
224
|
if (selectedValues[component.componentId] && selectedValues[component.componentId].value) {
|
|
259
225
|
currentPage = selectedValues[component.componentId].value - 1 || 0;
|
|
260
226
|
}
|
|
261
|
-
|
|
262
227
|
var resultSize = component.size || 10;
|
|
263
|
-
var from = currentPage * resultSize;
|
|
264
|
-
|
|
228
|
+
var from = currentPage * resultSize;
|
|
229
|
+
// Update props for RS API
|
|
265
230
|
compProps.from = from;
|
|
266
231
|
mainQueryOptions = _rollupPluginBabelHelpers._extends({}, mainQueryOptions, highlightQuery, {
|
|
267
232
|
size: resultSize,
|
|
268
233
|
from: from
|
|
269
234
|
});
|
|
270
235
|
}
|
|
271
|
-
|
|
272
236
|
componentQueryOptions = _rollupPluginBabelHelpers._extends({}, componentQueryOptions, mainQueryOptions);
|
|
273
237
|
}
|
|
274
|
-
}
|
|
275
|
-
|
|
276
|
-
|
|
238
|
+
}
|
|
239
|
+
// [3] set dependency tree
|
|
277
240
|
if (component.react || isInternalComponentPresent || isResultComponent) {
|
|
278
241
|
var react = component.react;
|
|
279
|
-
|
|
280
242
|
if (isInternalComponentPresent || isResultComponent) {
|
|
281
243
|
react = helper.pushToAndClause(react, internalComponent);
|
|
282
244
|
}
|
|
283
|
-
|
|
284
245
|
dependencyTree = dependencyTreeReducer(dependencyTree, {
|
|
285
246
|
type: 'WATCH_COMPONENT',
|
|
286
247
|
component: component.componentId,
|
|
287
248
|
react: react
|
|
288
249
|
});
|
|
289
|
-
}
|
|
250
|
+
}
|
|
251
|
+
// [4] set query list
|
|
290
252
|
// Do not set default query for suggestions
|
|
291
|
-
|
|
292
|
-
|
|
293
253
|
if (isInternalComponentPresent && !transform.isSearchComponent(component.componentType)) {
|
|
294
254
|
var _ref2 = getDefaultQuery(component, value) || {},
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
255
|
+
defaultQuery = _ref2.query,
|
|
256
|
+
defaultQueryOptions = _rollupPluginBabelHelpers._objectWithoutPropertiesLoose(_ref2, _excluded2);
|
|
298
257
|
queryList = queryReducer(queryList, {
|
|
299
258
|
type: 'SET_QUERY',
|
|
300
259
|
component: internalComponent,
|
|
@@ -306,13 +265,11 @@ function initReactivesearch(componentCollection, searchState, settings) {
|
|
|
306
265
|
options: _rollupPluginBabelHelpers._extends({}, componentQueryOptions, defaultQueryOptions)
|
|
307
266
|
});
|
|
308
267
|
}
|
|
309
|
-
|
|
310
268
|
var _ref3 = getCustomQuery(component, value) || {},
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
269
|
+
query = _ref3.query,
|
|
270
|
+
options = _rollupPluginBabelHelpers._objectWithoutPropertiesLoose(_ref3, _excluded3);
|
|
271
|
+
var customQuery = query;
|
|
272
|
+
// set custom query for main component
|
|
316
273
|
queryList = queryReducer(queryList, {
|
|
317
274
|
type: 'SET_QUERY',
|
|
318
275
|
component: component.componentId,
|
|
@@ -322,8 +279,8 @@ function initReactivesearch(componentCollection, searchState, settings) {
|
|
|
322
279
|
type: 'SET_QUERY_OPTIONS',
|
|
323
280
|
component: component.componentId,
|
|
324
281
|
options: _rollupPluginBabelHelpers._extends({}, options)
|
|
325
|
-
});
|
|
326
|
-
|
|
282
|
+
});
|
|
283
|
+
// Set component type in component props
|
|
327
284
|
compProps.componentType = componentType;
|
|
328
285
|
componentProps[component.componentId] = compProps;
|
|
329
286
|
});
|
|
@@ -337,76 +294,56 @@ function initReactivesearch(componentCollection, searchState, settings) {
|
|
|
337
294
|
props: componentProps,
|
|
338
295
|
customQueries: customQueries,
|
|
339
296
|
defaultQueries: defaultQueries
|
|
340
|
-
};
|
|
341
|
-
|
|
297
|
+
};
|
|
298
|
+
// [5] Generate finalQuery for search
|
|
342
299
|
componentCollection.forEach(function (component) {
|
|
343
300
|
// eslint-disable-next-line
|
|
344
301
|
var _buildQuery = helper.buildQuery(component.componentId, dependencyTree, queryList, queryOptions),
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
302
|
+
queryObj = _buildQuery.queryObj,
|
|
303
|
+
options = _buildQuery.options;
|
|
348
304
|
var componentQueryOptions = options;
|
|
349
|
-
var validOptions = ['aggs', 'from', 'sort'];
|
|
350
|
-
|
|
305
|
+
var validOptions = ['aggs', 'from', 'sort'];
|
|
306
|
+
// check if query or componentQueryOptions are valid - non-empty
|
|
351
307
|
if (queryObj && !!Object.keys(queryObj).length || componentQueryOptions && Object.keys(componentQueryOptions).some(function (item) {
|
|
352
308
|
return validOptions.includes(item);
|
|
353
309
|
})) {
|
|
354
310
|
var _extends2;
|
|
355
|
-
|
|
356
311
|
if (!queryObj || queryObj && !Object.keys(queryObj).length) {
|
|
357
312
|
queryObj = {
|
|
358
313
|
match_all: {}
|
|
359
314
|
};
|
|
360
315
|
}
|
|
361
|
-
|
|
362
316
|
orderOfQueries = [].concat(orderOfQueries, [component.componentId]);
|
|
363
|
-
|
|
364
317
|
var currentQuery = _rollupPluginBabelHelpers._extends({
|
|
365
318
|
query: _rollupPluginBabelHelpers._extends({}, queryObj)
|
|
366
319
|
}, componentQueryOptions, queryOptions[component.componentId]);
|
|
367
|
-
|
|
368
320
|
queryLog = _rollupPluginBabelHelpers._extends({}, queryLog, (_extends2 = {}, _extends2[component.componentId] = currentQuery, _extends2));
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
var _extends3;
|
|
377
|
-
|
|
378
|
-
// Apply dependent queries
|
|
379
|
-
appbaseQuery = _rollupPluginBabelHelpers._extends({}, appbaseQuery, (_extends3 = {}, _extends3[component.componentId] = query, _extends3), transform.getDependentQueries(state, component.componentId, orderOfQueries));
|
|
380
|
-
}
|
|
381
|
-
} else {
|
|
382
|
-
var preference = config && config.analyticsConfig && config.analyticsConfig.userId ? config.analyticsConfig.userId + "_" + component : component;
|
|
383
|
-
finalQuery = [].concat(finalQuery, [{
|
|
384
|
-
preference: preference
|
|
385
|
-
}, currentQuery]);
|
|
321
|
+
var query = transform.getRSQuery(component.componentId, transform.extractPropsFromState(state, component.componentId, queryOptions && Object.keys(queryOptions[component.componentId]).length ? {
|
|
322
|
+
from: queryOptions[component.componentId].from
|
|
323
|
+
} : null));
|
|
324
|
+
if (query) {
|
|
325
|
+
var _extends3;
|
|
326
|
+
// Apply dependent queries
|
|
327
|
+
appbaseQuery = _rollupPluginBabelHelpers._extends({}, appbaseQuery, (_extends3 = {}, _extends3[component.componentId] = query, _extends3), transform.getDependentQueries(state, component.componentId, orderOfQueries));
|
|
386
328
|
}
|
|
387
329
|
}
|
|
388
330
|
});
|
|
389
331
|
state.queryLog = queryLog;
|
|
390
|
-
|
|
391
332
|
var handleTransformResponse = function handleTransformResponse(res, component) {
|
|
392
333
|
if (config.transformResponse && typeof config.transformResponse === 'function') {
|
|
393
334
|
return config.transformResponse(res, component);
|
|
394
335
|
}
|
|
395
|
-
|
|
396
336
|
return new Promise(function (resolveTransformResponse) {
|
|
397
337
|
return resolveTransformResponse(res);
|
|
398
338
|
});
|
|
399
339
|
};
|
|
400
|
-
|
|
401
340
|
var handleResponse = function handleResponse(res) {
|
|
402
341
|
var allPromises = orderOfQueries.map(function (component, index) {
|
|
403
342
|
return new Promise(function (responseResolve, responseReject) {
|
|
404
343
|
handleTransformResponse(res.responses[index], component).then(function (response) {
|
|
405
344
|
var _extends5;
|
|
406
|
-
|
|
407
345
|
if (response.aggregations) {
|
|
408
346
|
var _extends4;
|
|
409
|
-
|
|
410
347
|
aggregations = _rollupPluginBabelHelpers._extends({}, aggregations, (_extends4 = {}, _extends4[component] = response.aggregations, _extends4));
|
|
411
348
|
compositeAggregations = compositeAggsReducer(compositeAggregations, {
|
|
412
349
|
type: constants$1.UPDATE_COMPOSITE_AGGS,
|
|
@@ -414,7 +351,6 @@ function initReactivesearch(componentCollection, searchState, settings) {
|
|
|
414
351
|
append: false
|
|
415
352
|
});
|
|
416
353
|
}
|
|
417
|
-
|
|
418
354
|
hits = _rollupPluginBabelHelpers._extends({}, hits, (_extends5 = {}, _extends5[component] = {
|
|
419
355
|
hits: response.hits.hits,
|
|
420
356
|
total: typeof response.hits.total === 'object' ? response.hits.total.value : response.hits.total,
|
|
@@ -434,7 +370,6 @@ function initReactivesearch(componentCollection, searchState, settings) {
|
|
|
434
370
|
resolve(state);
|
|
435
371
|
});
|
|
436
372
|
};
|
|
437
|
-
|
|
438
373
|
var handleRSResponse = function handleRSResponse(res) {
|
|
439
374
|
var promotedResults = {};
|
|
440
375
|
var rawData = {};
|
|
@@ -446,7 +381,6 @@ function initReactivesearch(componentCollection, searchState, settings) {
|
|
|
446
381
|
handleTransformResponse(res[component], component).then(function (response) {
|
|
447
382
|
if (response) {
|
|
448
383
|
var _extends7;
|
|
449
|
-
|
|
450
384
|
if (response.promoted) {
|
|
451
385
|
promotedResults[component] = response.promoted.map(function (promoted) {
|
|
452
386
|
return _rollupPluginBabelHelpers._extends({}, promoted.doc, {
|
|
@@ -454,24 +388,20 @@ function initReactivesearch(componentCollection, searchState, settings) {
|
|
|
454
388
|
});
|
|
455
389
|
});
|
|
456
390
|
}
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
391
|
+
rawData[component] = response;
|
|
392
|
+
// Update custom data
|
|
460
393
|
if (response.customData) {
|
|
461
394
|
customData[component] = response.customData;
|
|
462
|
-
}
|
|
463
|
-
|
|
395
|
+
}
|
|
464
396
|
|
|
397
|
+
// Update settings
|
|
465
398
|
if (response.settings) {
|
|
466
399
|
settingsResponse[component] = response.settings;
|
|
467
400
|
}
|
|
468
|
-
|
|
469
401
|
if (response.aggregations) {
|
|
470
402
|
var _extends6;
|
|
471
|
-
|
|
472
403
|
aggregations = _rollupPluginBabelHelpers._extends({}, aggregations, (_extends6 = {}, _extends6[component] = response.aggregations, _extends6));
|
|
473
404
|
}
|
|
474
|
-
|
|
475
405
|
timestamp[component] = res._timestamp;
|
|
476
406
|
var hitsObj = response.hits ? response.hits : response[component].hits;
|
|
477
407
|
hits = _rollupPluginBabelHelpers._extends({}, hits, (_extends7 = {}, _extends7[component] = {
|
|
@@ -500,17 +430,14 @@ function initReactivesearch(componentCollection, searchState, settings) {
|
|
|
500
430
|
resolve(state);
|
|
501
431
|
});
|
|
502
432
|
};
|
|
503
|
-
|
|
504
433
|
if (config.graphQLUrl) {
|
|
505
434
|
var handleTransformRequest = function handleTransformRequest(res) {
|
|
506
435
|
if (config.transformRequest && typeof config.transformRequest === 'function') {
|
|
507
436
|
var transformRequestPromise = config.transformRequest(res);
|
|
508
437
|
return transformRequestPromise instanceof Promise ? transformRequestPromise : Promise.resolve(transformRequestPromise);
|
|
509
438
|
}
|
|
510
|
-
|
|
511
439
|
return Promise.resolve(res);
|
|
512
440
|
};
|
|
513
|
-
|
|
514
441
|
handleTransformRequest(finalQuery).then(function (requestQuery) {
|
|
515
442
|
fetchGraphQL(config.graphQLUrl, config.url, config.credentials, config.app, requestQuery).then(function (res) {
|
|
516
443
|
handleResponse(res);
|
|
@@ -520,36 +447,26 @@ function initReactivesearch(componentCollection, searchState, settings) {
|
|
|
520
447
|
})["catch"](function (err) {
|
|
521
448
|
return reject(err);
|
|
522
449
|
});
|
|
523
|
-
} else if (
|
|
450
|
+
} else if (Object.keys(appbaseQuery).length) {
|
|
524
451
|
finalQuery = Object.keys(appbaseQuery).map(function (c) {
|
|
525
452
|
return appbaseQuery[c];
|
|
526
|
-
});
|
|
527
|
-
|
|
453
|
+
});
|
|
454
|
+
// Call RS API
|
|
528
455
|
var rsAPISettings = {};
|
|
529
|
-
|
|
530
456
|
if (config.analyticsConfig) {
|
|
531
457
|
rsAPISettings.recordAnalytics = utils.isPropertyDefined(config.analyticsConfig.recordAnalytics) ? config.analyticsConfig.recordAnalytics : undefined;
|
|
532
458
|
rsAPISettings.userId = utils.isPropertyDefined(config.analyticsConfig.userId) ? config.analyticsConfig.userId : undefined;
|
|
533
459
|
rsAPISettings.enableQueryRules = utils.isPropertyDefined(config.analyticsConfig.enableQueryRules) ? config.analyticsConfig.enableQueryRules : undefined;
|
|
534
460
|
rsAPISettings.customEvents = utils.isPropertyDefined(config.analyticsConfig.customEvents) ? config.analyticsConfig.customEvents : undefined;
|
|
535
461
|
}
|
|
536
|
-
|
|
537
462
|
appbaseRef.reactiveSearchv3(finalQuery, rsAPISettings).then(function (res) {
|
|
538
463
|
handleRSResponse(res);
|
|
539
464
|
})["catch"](function (err) {
|
|
540
465
|
return reject(err);
|
|
541
466
|
});
|
|
542
|
-
} else {
|
|
543
|
-
appbaseRef.msearch({
|
|
544
|
-
type: config.type === '*' ? '' : config.type,
|
|
545
|
-
body: finalQuery
|
|
546
|
-
}).then(function (res) {
|
|
547
|
-
handleResponse(res);
|
|
548
|
-
})["catch"](function (err) {
|
|
549
|
-
return reject(err);
|
|
550
|
-
});
|
|
551
467
|
}
|
|
552
468
|
});
|
|
553
469
|
}
|
|
554
470
|
|
|
471
|
+
exports.componentTypeToDefaultValue = componentTypeToDefaultValue;
|
|
555
472
|
exports.default = initReactivesearch;
|
package/dist/cjs/install.js
CHANGED
|
@@ -3,61 +3,65 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
require('@appbaseio/reactivecore');
|
|
6
|
-
require('./_rollupPluginBabelHelpers-c705cbe6.js');
|
|
7
|
-
require('vue-types');
|
|
8
6
|
require('@appbaseio/reactivecore/lib/utils/constants');
|
|
7
|
+
require('@vue/babel-helper-vue-transform-on');
|
|
8
|
+
require('./_rollupPluginBabelHelpers-f8b843f8.js');
|
|
9
|
+
require('vue');
|
|
10
|
+
require('vue-types');
|
|
9
11
|
require('@appbaseio/reactivecore/lib/utils/helper');
|
|
10
|
-
require('emotion');
|
|
11
12
|
require('@appbaseio/vue-emotion');
|
|
13
|
+
require('emotion');
|
|
12
14
|
require('polished');
|
|
13
|
-
require('./Button-
|
|
14
|
-
require('./vueTypes-
|
|
15
|
-
require('./Pagination-
|
|
16
|
-
require('./ReactiveList.js');
|
|
15
|
+
require('./Button-ad042719.js');
|
|
16
|
+
require('./vueTypes-1bf00978.js');
|
|
17
|
+
require('./Pagination-b5ddc906.js');
|
|
18
|
+
var ReactiveList = require('./ReactiveList.js');
|
|
17
19
|
require('@appbaseio/reactivecore/lib/utils/transform');
|
|
18
20
|
require('redux');
|
|
19
|
-
require('./index-
|
|
20
|
-
require('./ComponentWrapper-
|
|
21
|
-
require('
|
|
22
|
-
require('./Title-
|
|
23
|
-
require('./ListItem-
|
|
24
|
-
require('./Card-
|
|
25
|
-
require('./Flex-
|
|
21
|
+
require('./index-d8d8f291.js');
|
|
22
|
+
require('./ComponentWrapper-75f88599.js');
|
|
23
|
+
require('./PreferencesConsumer-eb265924.js');
|
|
24
|
+
require('./Title-8802a218.js');
|
|
25
|
+
require('./ListItem-d57d648d.js');
|
|
26
|
+
require('./Card-f5ab024a.js');
|
|
27
|
+
require('./Flex-d5675ea6.js');
|
|
26
28
|
require('@appbaseio/reactivecore/lib/actions/analytics');
|
|
27
29
|
require('appbase-js');
|
|
30
|
+
require('@appbaseio/analytics');
|
|
28
31
|
require('url-search-params-polyfill');
|
|
29
|
-
require('./ReactiveBase.js');
|
|
32
|
+
var ReactiveBase = require('./ReactiveBase.js');
|
|
30
33
|
require('hotkeys-js');
|
|
31
|
-
require('./
|
|
32
|
-
require('./
|
|
33
|
-
require('./Input-
|
|
34
|
+
var ReactiveComponent = require('./ReactiveComponent-eb8db4c1.js');
|
|
35
|
+
require('./DropDown-6cf84c47.js');
|
|
36
|
+
require('./Input-4b434436.js');
|
|
34
37
|
require('compute-scroll-into-view');
|
|
35
|
-
require('./Container-
|
|
38
|
+
require('./Container-29f049b2.js');
|
|
36
39
|
require('vue-highlight-words');
|
|
37
|
-
var install = require('./install-42ba1d44.js');
|
|
38
40
|
require('@appbaseio/reactivecore/lib/utils/suggestions');
|
|
39
|
-
require('./FormControlList-
|
|
40
|
-
require('./utils-
|
|
41
|
-
require('./SingleList.js');
|
|
42
|
-
require('./MultiList.js');
|
|
43
|
-
require('./
|
|
44
|
-
require('./
|
|
45
|
-
require('./
|
|
46
|
-
require('./
|
|
47
|
-
require('./
|
|
48
|
-
require('./
|
|
49
|
-
require('./
|
|
50
|
-
require('./
|
|
51
|
-
require('./
|
|
52
|
-
require('./
|
|
53
|
-
require('
|
|
54
|
-
require('./
|
|
55
|
-
require('./
|
|
56
|
-
require('./DynamicRangeSlider.js');
|
|
57
|
-
require('@appbaseio/reactivecore/lib/actions/value');
|
|
58
|
-
require('./StateProvider.js');
|
|
59
|
-
require('./RangeInput.js');
|
|
60
|
-
|
|
41
|
+
require('./FormControlList-fadd792f.js');
|
|
42
|
+
require('./utils-83fd01e9.js');
|
|
43
|
+
var SingleList = require('./SingleList.js');
|
|
44
|
+
var MultiList = require('./MultiList.js');
|
|
45
|
+
var SingleDropdownList = require('./SingleDropdownList.js');
|
|
46
|
+
var MultiDropdownList = require('./MultiDropdownList.js');
|
|
47
|
+
var ToggleButton = require('./ToggleButton.js');
|
|
48
|
+
require('./ssr-6907ada3.js');
|
|
49
|
+
var DynamicRangeSlider = require('./DynamicRangeSlider.js');
|
|
50
|
+
var SingleRange = require('./SingleRange.js');
|
|
51
|
+
var MultiRange = require('./MultiRange.js');
|
|
52
|
+
var RangeSlider = require('./RangeSlider.js');
|
|
53
|
+
var RangeInput = require('./RangeInput.js');
|
|
54
|
+
var SelectedFilters = require('./SelectedFilters.js');
|
|
55
|
+
var ResultCard = require('./ResultCard.js');
|
|
56
|
+
var ResultList = require('./ResultList.js');
|
|
57
|
+
var StateProvider = require('./StateProvider.js');
|
|
61
58
|
|
|
59
|
+
var components = [ReactiveList.default, ResultCard.default, ResultList.default, ReactiveBase.default, ReactiveComponent.SearchBox, SingleList.default, MultiList.default, SingleRange.default, MultiRange.default, RangeSlider.default, DynamicRangeSlider.default, ReactiveComponent.ReactiveComponent, SelectedFilters.default, ToggleButton.default, SingleDropdownList.default, MultiDropdownList.default, StateProvider.default, RangeInput.default];
|
|
60
|
+
function install (Vue) {
|
|
61
|
+
components.map(function (component) {
|
|
62
|
+
Vue.use(component);
|
|
63
|
+
return null;
|
|
64
|
+
});
|
|
65
|
+
}
|
|
62
66
|
|
|
63
|
-
exports.default = install
|
|
67
|
+
exports.default = install;
|