@appbaseio/reactivesearch-vue 3.0.0-alpha.1 → 3.0.0-alpha.3
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 +2327 -827
- 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/{ComponentWrapper-611cf7f9.js → ComponentWrapper-2dc930e1.js} +20 -19
- package/dist/cjs/{DropDown-dc184468.js → DropDown-7bd56543.js} +3 -4
- package/dist/cjs/DynamicRangeSlider.js +51 -50
- package/dist/cjs/MultiDropdownList.js +33 -33
- package/dist/cjs/MultiList.js +29 -30
- package/dist/cjs/MultiRange.js +17 -17
- package/dist/cjs/{Pagination-b5ddc906.js → Pagination-4ffc67cd.js} +3 -4
- package/dist/cjs/{PreferencesConsumer-22d1b49f.js → PreferencesConsumer-2c69ac61.js} +1 -1
- package/dist/cjs/RangeInput.js +7 -8
- package/dist/cjs/RangeSlider.js +15 -15
- package/dist/cjs/ReactiveBase.js +32 -13
- package/dist/cjs/{ReactiveComponent-a6108189.js → ReactiveComponent-4435adfa.js} +84 -81
- package/dist/cjs/ReactiveComponent.js +8 -8
- package/dist/cjs/ReactiveGoogleMap.js +33 -34
- package/dist/cjs/ReactiveList.js +37 -27
- package/dist/cjs/SelectedFilters.js +7 -8
- package/dist/cjs/SingleDropdownList.js +23 -24
- package/dist/cjs/SingleList.js +20 -21
- package/dist/cjs/SingleRange.js +14 -14
- package/dist/cjs/StateProvider.js +4 -5
- package/dist/cjs/ToggleButton.js +17 -18
- package/dist/cjs/{index-d8d8f291.js → index-1481798c.js} +4 -7
- package/dist/cjs/index.js +12 -17
- package/dist/cjs/initReactivesearch.js +10 -464
- package/dist/cjs/install.js +9 -8
- package/dist/cjs/{ssr-6c8a72e1.js → ssr-c58b64c4.js} +4 -4
- package/dist/cjs/{utils-83fd01e9.js → utils-36b1b880.js} +2 -5
- package/dist/cjs/version.js +1 -1
- package/dist/es/{ComponentWrapper-3dfe6931.js → ComponentWrapper-3a215eed.js} +9 -7
- package/dist/es/DynamicRangeSlider.js +33 -31
- package/dist/es/MultiDropdownList.js +16 -15
- package/dist/es/MultiList.js +15 -15
- package/dist/es/MultiRange.js +7 -6
- package/dist/es/RangeInput.js +2 -2
- package/dist/es/RangeSlider.js +5 -4
- package/dist/es/ReactiveBase.js +27 -8
- package/dist/es/{ReactiveComponent-0a97eb1e.js → ReactiveComponent-04d94e01.js} +38 -34
- package/dist/es/ReactiveComponent.js +3 -3
- package/dist/es/ReactiveGoogleMap.js +11 -11
- package/dist/es/ReactiveList.js +16 -5
- package/dist/es/SingleDropdownList.js +6 -6
- package/dist/es/SingleList.js +6 -6
- package/dist/es/SingleRange.js +4 -3
- package/dist/es/ToggleButton.js +6 -6
- package/dist/es/index.js +7 -12
- package/dist/es/initReactivesearch.js +9 -463
- package/dist/es/install.js +4 -3
- package/dist/es/{ssr-584c278d.js → ssr-e5eb1f1e.js} +4 -4
- package/dist/es/version.js +1 -1
- package/package.json +2 -2
|
@@ -1,466 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
4
|
-
import { isSearchComponent, getRSQuery, extractPropsFromState, getDependentQueries } from '@appbaseio/reactivecore/lib/utils/transform';
|
|
5
|
-
import Appbase from 'appbase-js';
|
|
6
|
-
import valueReducer from '@appbaseio/reactivecore/lib/reducers/valueReducer';
|
|
7
|
-
import queryReducer from '@appbaseio/reactivecore/lib/reducers/queryReducer';
|
|
8
|
-
import queryOptionsReducer from '@appbaseio/reactivecore/lib/reducers/queryOptionsReducer';
|
|
9
|
-
import compositeAggsReducer from '@appbaseio/reactivecore/lib/reducers/compositeAggsReducer';
|
|
10
|
-
import { UPDATE_COMPOSITE_AGGS } from '@appbaseio/reactivecore/lib/constants';
|
|
11
|
-
import dependencyTreeReducer from '@appbaseio/reactivecore/lib/reducers/dependencyTreeReducer';
|
|
12
|
-
import fetchGraphQL from '@appbaseio/reactivecore/lib/utils/graphQL';
|
|
13
|
-
import { isPropertyDefined } from '@appbaseio/reactivecore/lib/actions/utils';
|
|
1
|
+
import { createSSRApp } from 'vue';
|
|
2
|
+
import { renderToString } from 'vue/server-renderer';
|
|
3
|
+
import getServerResults from '@appbaseio/reactivecore/src/utils/server';
|
|
14
4
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
var componentsWithoutFilters = [componentTypes.numberBox, componentTypes.ratingsFilter];
|
|
21
|
-
var resultComponents = [componentTypes.reactiveList, componentTypes.reactiveMap];
|
|
22
|
-
var componentTypeToDefaultValue = (_componentTypeToDefau = {}, _componentTypeToDefau[componentTypes.singleList] = '', _componentTypeToDefau[componentTypes.multiList] = [], _componentTypeToDefau[componentTypes.singleDataList] = '', _componentTypeToDefau[componentTypes.singleDropdownList] = '', _componentTypeToDefau[componentTypes.multiDataList] = [], _componentTypeToDefau[componentTypes.multiDropdownList] = [], _componentTypeToDefau[componentTypes.tagCloud] = '', _componentTypeToDefau[componentTypes.toggleButton] = '', _componentTypeToDefau[componentTypes.singleDropdownRange] = '', _componentTypeToDefau[componentTypes.multiDropdownRange] = [], _componentTypeToDefau[componentTypes.singleRange] = '', _componentTypeToDefau[componentTypes.multiRange] = [], _componentTypeToDefau);
|
|
23
|
-
function getValue(state, id, defaultValue, componentType) {
|
|
24
|
-
if (state && state[id]) {
|
|
25
|
-
try {
|
|
26
|
-
// parsing for next.js - since it uses extra set of quotes to wrap params
|
|
27
|
-
var parsedValue = JSON.parse(state[id]);
|
|
28
|
-
return {
|
|
29
|
-
value: parsedValue,
|
|
30
|
-
reference: 'URL'
|
|
31
|
-
};
|
|
32
|
-
} catch (error) {
|
|
33
|
-
// using react-dom-server for ssr
|
|
34
|
-
return {
|
|
35
|
-
value: state[id],
|
|
36
|
-
reference: 'URL'
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
return {
|
|
41
|
-
value: defaultValue || componentTypeToDefaultValue[componentType] || null,
|
|
42
|
-
reference: 'DEFAULT'
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
function parseValue(value, component) {
|
|
46
|
-
if (component.source && component.source.parseValue) {
|
|
47
|
-
return component.source.parseValue(value, component);
|
|
48
|
-
}
|
|
49
|
-
return value;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
// Returns query DSL with query property and other options
|
|
53
|
-
function getDefaultQuery(component, value) {
|
|
54
|
-
// get custom or default query of sensor components
|
|
55
|
-
var currentValue = parseValue(value, component);
|
|
56
|
-
// get default query of result components
|
|
57
|
-
if (component.defaultQuery) {
|
|
58
|
-
var defaultQuery = component.defaultQuery(currentValue, component);
|
|
59
|
-
return _extends({
|
|
60
|
-
query: extractQueryFromCustomQuery(defaultQuery)
|
|
61
|
-
}, getOptionsForCustomQuery(defaultQuery));
|
|
62
|
-
}
|
|
63
|
-
return component.source.defaultQuery ? {
|
|
64
|
-
query: component.source.defaultQuery(currentValue, component)
|
|
65
|
-
} : {};
|
|
66
|
-
}
|
|
67
|
-
// Only results the query part
|
|
68
|
-
function getCustomQuery(component, value) {
|
|
69
|
-
// get custom or default query of sensor components
|
|
70
|
-
var currentValue = parseValue(value, component);
|
|
71
|
-
if (component.customQuery) {
|
|
72
|
-
var customQuery = component.customQuery(currentValue, component);
|
|
73
|
-
return _extends({
|
|
74
|
-
query: extractQueryFromCustomQuery(customQuery)
|
|
75
|
-
}, getOptionsForCustomQuery(customQuery));
|
|
76
|
-
}
|
|
77
|
-
return component.source.defaultQuery ? {
|
|
78
|
-
query: component.source.defaultQuery(currentValue, component)
|
|
79
|
-
} : null;
|
|
80
|
-
}
|
|
81
|
-
function initReactivesearch(componentCollection, searchState, settings) {
|
|
82
|
-
return new Promise(function (resolve, reject) {
|
|
83
|
-
var credentials = settings.url && settings.url.trim() !== '' && !settings.credentials ? null : settings.credentials;
|
|
84
|
-
var enableTelemetry = settings.reactivesearchAPIConfig && settings.reactivesearchAPIConfig.enableTelemetry !== undefined ? settings.reactivesearchAPIConfig.enableTelemetry : true;
|
|
85
|
-
var headers = _extends({}, _extends({
|
|
86
|
-
'X-Search-Client': X_SEARCH_CLIENT
|
|
87
|
-
}, enableTelemetry === false && {
|
|
88
|
-
'X-Enable-Telemetry': false
|
|
89
|
-
}), settings.headers, settings.endpoint && settings.endpoint.headers ? settings.endpoint.headers : {});
|
|
90
|
-
var url = settings.url && settings.url.trim() !== '' ? settings.url : 'https://scalr.api.appbase.io';
|
|
91
|
-
var transformRequest = settings.transformRequest || null;
|
|
92
|
-
if (settings.endpoint) {
|
|
93
|
-
if (settings.endpoint.url) {
|
|
94
|
-
// eslint-disable-next-line prefer-destructuring
|
|
95
|
-
url = settings.endpoint.url;
|
|
96
|
-
}
|
|
97
|
-
transformRequest = function transformRequest(request) {
|
|
98
|
-
var modifiedRequest = transformRequestUsingEndpoint(request, settings.endpoint);
|
|
99
|
-
if (settings.transformRequest) {
|
|
100
|
-
return settings.transformRequest(modifiedRequest);
|
|
101
|
-
}
|
|
102
|
-
return modifiedRequest;
|
|
103
|
-
};
|
|
104
|
-
}
|
|
105
|
-
var config = {
|
|
106
|
-
url: url,
|
|
107
|
-
app: settings.app,
|
|
108
|
-
credentials: credentials,
|
|
109
|
-
transformRequest: transformRequest,
|
|
110
|
-
type: settings.type ? settings.type : '*',
|
|
111
|
-
transformResponse: settings.transformResponse || null,
|
|
112
|
-
graphQLUrl: settings.graphQLUrl || '',
|
|
113
|
-
headers: headers,
|
|
114
|
-
analyticsConfig: settings.reactivesearchAPIConfig || null,
|
|
115
|
-
enableAppbase: true,
|
|
116
|
-
endpoint: settings.endpoint
|
|
117
|
-
};
|
|
118
|
-
var appbaseRef = Appbase(config);
|
|
119
|
-
if (config.transformRequest) {
|
|
120
|
-
appbaseRef.transformRequest = config.transformRequest;
|
|
121
|
-
}
|
|
122
|
-
if (config.transformResponse) {
|
|
123
|
-
appbaseRef.transformResponse = config.transformResponse;
|
|
124
|
-
}
|
|
125
|
-
var components = [];
|
|
126
|
-
var selectedValues = {};
|
|
127
|
-
var internalValues = {};
|
|
128
|
-
var queryList = {};
|
|
129
|
-
var queryLog = {};
|
|
130
|
-
var queryOptions = {};
|
|
131
|
-
var dependencyTree = {};
|
|
132
|
-
var finalQuery = [];
|
|
133
|
-
var appbaseQuery = {}; // Use object to prevent duplicate query added by react prop
|
|
134
|
-
var orderOfQueries = [];
|
|
135
|
-
var hits = {};
|
|
136
|
-
var aggregations = {};
|
|
137
|
-
var compositeAggregations = {};
|
|
138
|
-
var state = {};
|
|
139
|
-
var customQueries = {};
|
|
140
|
-
var defaultQueries = {};
|
|
141
|
-
var componentProps = {};
|
|
142
|
-
componentCollection.forEach(function (component) {
|
|
143
|
-
var componentType = component.source.componentType;
|
|
144
|
-
components = [].concat(components, [component.componentId]);
|
|
145
|
-
// Set component props
|
|
146
|
-
var compProps = {};
|
|
147
|
-
Object.keys(component).forEach(function (key) {
|
|
148
|
-
if (validProps.includes(key)) {
|
|
149
|
-
compProps[key] = component[key];
|
|
150
|
-
}
|
|
151
|
-
});
|
|
152
|
-
var isInternalComponentPresent = false;
|
|
153
|
-
if (component.source.hasInternalComponent) {
|
|
154
|
-
isInternalComponentPresent = component.source.hasInternalComponent(component);
|
|
155
|
-
}
|
|
156
|
-
var isResultComponent = resultComponents.includes(componentType);
|
|
157
|
-
var internalComponent = component.componentId + "__internal";
|
|
158
|
-
var label = component.filterLabel || component.componentId;
|
|
159
|
-
var _getValue = getValue(searchState, component.componentId, component.value || component.defaultValue, componentType),
|
|
160
|
-
value = _getValue.value,
|
|
161
|
-
reference = _getValue.reference;
|
|
162
|
-
// [1] set selected values
|
|
163
|
-
var showFilter = component.showFilter !== undefined ? component.showFilter : true;
|
|
164
|
-
if (componentsWithoutFilters.includes(componentType)) {
|
|
165
|
-
showFilter = false;
|
|
166
|
-
}
|
|
167
|
-
selectedValues = valueReducer(selectedValues, {
|
|
168
|
-
type: 'SET_VALUE',
|
|
169
|
-
component: component.componentId,
|
|
170
|
-
label: label,
|
|
171
|
-
value: value,
|
|
172
|
-
reference: reference,
|
|
173
|
-
showFilter: showFilter,
|
|
174
|
-
URLParams: component.URLParams || false
|
|
175
|
-
});
|
|
176
|
-
// Set custom and default queries
|
|
177
|
-
if (component.customQuery && typeof component.customQuery === 'function') {
|
|
178
|
-
customQueries[component.componentId] = component.customQuery(value, compProps);
|
|
179
|
-
}
|
|
180
|
-
if (component.defaultQuery && typeof component.defaultQuery === 'function') {
|
|
181
|
-
defaultQueries[component.componentId] = component.defaultQuery(value, compProps);
|
|
182
|
-
}
|
|
183
|
-
var componentQueryOptions = {};
|
|
184
|
-
// [2] set query options - main component query (valid for result components)
|
|
185
|
-
if (component && component.source.generateQueryOptions) {
|
|
186
|
-
componentQueryOptions = _extends({}, componentQueryOptions, component.source.generateQueryOptions(component));
|
|
187
|
-
}
|
|
188
|
-
var highlightQuery = {};
|
|
189
|
-
if (component.source.highlightQuery) {
|
|
190
|
-
highlightQuery = component.source.highlightQuery(component);
|
|
191
|
-
}
|
|
192
|
-
if (componentQueryOptions && Object.keys(componentQueryOptions).length || highlightQuery && Object.keys(highlightQuery).length) {
|
|
193
|
-
// eslint-disable-next-line
|
|
194
|
-
var _ref = componentQueryOptions || {},
|
|
195
|
-
aggs = _ref.aggs,
|
|
196
|
-
size = _ref.size,
|
|
197
|
-
otherQueryOptions = _objectWithoutPropertiesLoose(_ref, _excluded);
|
|
198
|
-
if (aggs && Object.keys(aggs).length) {
|
|
199
|
-
isInternalComponentPresent = true;
|
|
200
|
-
componentQueryOptions = _extends({}, componentQueryOptions, {
|
|
201
|
-
aggs: aggs,
|
|
202
|
-
size: typeof size === 'undefined' ? 100 : size
|
|
203
|
-
});
|
|
204
|
-
}
|
|
205
|
-
|
|
206
|
-
// sort, highlight, size, from - query should be applied on the main component
|
|
207
|
-
if (otherQueryOptions && Object.keys(otherQueryOptions).length || highlightQuery && Object.keys(highlightQuery).length) {
|
|
208
|
-
if (!otherQueryOptions) otherQueryOptions = {};
|
|
209
|
-
if (!highlightQuery) highlightQuery = {};
|
|
210
|
-
var mainQueryOptions = _extends({}, otherQueryOptions, highlightQuery, {
|
|
211
|
-
size: size
|
|
212
|
-
});
|
|
213
|
-
if (isInternalComponentPresent) {
|
|
214
|
-
mainQueryOptions = _extends({}, otherQueryOptions, highlightQuery);
|
|
215
|
-
}
|
|
216
|
-
if (isResultComponent) {
|
|
217
|
-
var currentPage = component.currentPage ? component.currentPage - 1 : 0;
|
|
218
|
-
if (selectedValues[component.componentId] && selectedValues[component.componentId].value) {
|
|
219
|
-
currentPage = selectedValues[component.componentId].value - 1 || 0;
|
|
220
|
-
}
|
|
221
|
-
var resultSize = component.size || 10;
|
|
222
|
-
var from = currentPage * resultSize;
|
|
223
|
-
// Update props for RS API
|
|
224
|
-
compProps.from = from;
|
|
225
|
-
mainQueryOptions = _extends({}, mainQueryOptions, highlightQuery, {
|
|
226
|
-
size: resultSize,
|
|
227
|
-
from: from
|
|
228
|
-
});
|
|
229
|
-
}
|
|
230
|
-
componentQueryOptions = _extends({}, componentQueryOptions, mainQueryOptions);
|
|
231
|
-
}
|
|
232
|
-
}
|
|
233
|
-
// [3] set dependency tree
|
|
234
|
-
if (component.react || isInternalComponentPresent || isResultComponent) {
|
|
235
|
-
var react = component.react;
|
|
236
|
-
if (isInternalComponentPresent || isResultComponent) {
|
|
237
|
-
react = pushToAndClause(react, internalComponent);
|
|
238
|
-
}
|
|
239
|
-
dependencyTree = dependencyTreeReducer(dependencyTree, {
|
|
240
|
-
type: 'WATCH_COMPONENT',
|
|
241
|
-
component: component.componentId,
|
|
242
|
-
react: react
|
|
243
|
-
});
|
|
244
|
-
}
|
|
245
|
-
// [4] set query list
|
|
246
|
-
// Do not set default query for suggestions
|
|
247
|
-
if (isInternalComponentPresent && !isSearchComponent(component.componentType)) {
|
|
248
|
-
var _ref2 = getDefaultQuery(component, value) || {},
|
|
249
|
-
defaultQuery = _ref2.query,
|
|
250
|
-
defaultQueryOptions = _objectWithoutPropertiesLoose(_ref2, _excluded2);
|
|
251
|
-
queryList = queryReducer(queryList, {
|
|
252
|
-
type: 'SET_QUERY',
|
|
253
|
-
component: internalComponent,
|
|
254
|
-
query: defaultQuery
|
|
255
|
-
});
|
|
256
|
-
queryOptions = queryOptionsReducer(queryOptions, {
|
|
257
|
-
type: 'SET_QUERY_OPTIONS',
|
|
258
|
-
component: internalComponent,
|
|
259
|
-
options: _extends({}, componentQueryOptions, defaultQueryOptions)
|
|
260
|
-
});
|
|
261
|
-
}
|
|
262
|
-
var _ref3 = getCustomQuery(component, value) || {},
|
|
263
|
-
query = _ref3.query,
|
|
264
|
-
options = _objectWithoutPropertiesLoose(_ref3, _excluded3);
|
|
265
|
-
var customQuery = query;
|
|
266
|
-
// set custom query for main component
|
|
267
|
-
queryList = queryReducer(queryList, {
|
|
268
|
-
type: 'SET_QUERY',
|
|
269
|
-
component: component.componentId,
|
|
270
|
-
query: customQuery
|
|
271
|
-
});
|
|
272
|
-
queryOptions = queryOptionsReducer(queryOptions, {
|
|
273
|
-
type: 'SET_QUERY_OPTIONS',
|
|
274
|
-
component: component.componentId,
|
|
275
|
-
options: _extends({}, options)
|
|
276
|
-
});
|
|
277
|
-
// Set component type in component props
|
|
278
|
-
compProps.componentType = componentType;
|
|
279
|
-
componentProps[component.componentId] = compProps;
|
|
280
|
-
});
|
|
281
|
-
state = {
|
|
282
|
-
components: components,
|
|
283
|
-
dependencyTree: dependencyTree,
|
|
284
|
-
queryList: queryList,
|
|
285
|
-
queryOptions: queryOptions,
|
|
286
|
-
selectedValues: selectedValues,
|
|
287
|
-
internalValues: internalValues,
|
|
288
|
-
props: componentProps,
|
|
289
|
-
customQueries: customQueries,
|
|
290
|
-
defaultQueries: defaultQueries
|
|
291
|
-
};
|
|
292
|
-
// [5] Generate finalQuery for search
|
|
293
|
-
componentCollection.forEach(function (component) {
|
|
294
|
-
// eslint-disable-next-line
|
|
295
|
-
var _buildQuery = buildQuery(component.componentId, dependencyTree, queryList, queryOptions),
|
|
296
|
-
queryObj = _buildQuery.queryObj,
|
|
297
|
-
options = _buildQuery.options;
|
|
298
|
-
var componentQueryOptions = options;
|
|
299
|
-
var validOptions = ['aggs', 'from', 'sort'];
|
|
300
|
-
// check if query or componentQueryOptions are valid - non-empty
|
|
301
|
-
if (queryObj && !!Object.keys(queryObj).length || componentQueryOptions && Object.keys(componentQueryOptions).some(function (item) {
|
|
302
|
-
return validOptions.includes(item);
|
|
303
|
-
})) {
|
|
304
|
-
var _extends2;
|
|
305
|
-
if (!queryObj || queryObj && !Object.keys(queryObj).length) {
|
|
306
|
-
queryObj = {
|
|
307
|
-
match_all: {}
|
|
308
|
-
};
|
|
309
|
-
}
|
|
310
|
-
orderOfQueries = [].concat(orderOfQueries, [component.componentId]);
|
|
311
|
-
var currentQuery = _extends({
|
|
312
|
-
query: _extends({}, queryObj)
|
|
313
|
-
}, componentQueryOptions, queryOptions[component.componentId]);
|
|
314
|
-
queryLog = _extends({}, queryLog, (_extends2 = {}, _extends2[component.componentId] = currentQuery, _extends2));
|
|
315
|
-
var query = getRSQuery(component.componentId, extractPropsFromState(state, component.componentId, queryOptions && Object.keys(queryOptions[component.componentId]).length ? {
|
|
316
|
-
from: queryOptions[component.componentId].from
|
|
317
|
-
} : null));
|
|
318
|
-
if (query) {
|
|
319
|
-
var _extends3;
|
|
320
|
-
// Apply dependent queries
|
|
321
|
-
appbaseQuery = _extends({}, appbaseQuery, (_extends3 = {}, _extends3[component.componentId] = query, _extends3), getDependentQueries(state, component.componentId, orderOfQueries));
|
|
322
|
-
}
|
|
323
|
-
}
|
|
324
|
-
});
|
|
325
|
-
state.queryLog = queryLog;
|
|
326
|
-
var handleTransformResponse = function handleTransformResponse(res, component) {
|
|
327
|
-
if (config.transformResponse && typeof config.transformResponse === 'function') {
|
|
328
|
-
return config.transformResponse(res, component);
|
|
329
|
-
}
|
|
330
|
-
return new Promise(function (resolveTransformResponse) {
|
|
331
|
-
return resolveTransformResponse(res);
|
|
332
|
-
});
|
|
333
|
-
};
|
|
334
|
-
var handleResponse = function handleResponse(res) {
|
|
335
|
-
var allPromises = orderOfQueries.map(function (component, index) {
|
|
336
|
-
return new Promise(function (responseResolve, responseReject) {
|
|
337
|
-
handleTransformResponse(res.responses[index], component).then(function (response) {
|
|
338
|
-
var _extends5;
|
|
339
|
-
if (response.aggregations) {
|
|
340
|
-
var _extends4;
|
|
341
|
-
aggregations = _extends({}, aggregations, (_extends4 = {}, _extends4[component] = response.aggregations, _extends4));
|
|
342
|
-
compositeAggregations = compositeAggsReducer(compositeAggregations, {
|
|
343
|
-
type: UPDATE_COMPOSITE_AGGS,
|
|
344
|
-
aggregations: response.aggregations,
|
|
345
|
-
append: false
|
|
346
|
-
});
|
|
347
|
-
}
|
|
348
|
-
hits = _extends({}, hits, (_extends5 = {}, _extends5[component] = {
|
|
349
|
-
hits: response.hits.hits,
|
|
350
|
-
total: typeof response.hits.total === 'object' ? response.hits.total.value : response.hits.total,
|
|
351
|
-
time: response.took
|
|
352
|
-
}, _extends5));
|
|
353
|
-
responseResolve();
|
|
354
|
-
})["catch"](function (err) {
|
|
355
|
-
return responseReject(err);
|
|
356
|
-
});
|
|
357
|
-
});
|
|
358
|
-
});
|
|
359
|
-
Promise.all(allPromises).then(function () {
|
|
360
|
-
state = _extends({}, state, {
|
|
361
|
-
hits: hits,
|
|
362
|
-
aggregations: aggregations
|
|
363
|
-
});
|
|
364
|
-
resolve(state);
|
|
365
|
-
});
|
|
366
|
-
};
|
|
367
|
-
var handleRSResponse = function handleRSResponse(res) {
|
|
368
|
-
var promotedResults = {};
|
|
369
|
-
var rawData = {};
|
|
370
|
-
var customData = {};
|
|
371
|
-
var settingsResponse = {};
|
|
372
|
-
var timestamp = {};
|
|
373
|
-
var allPromises = orderOfQueries.map(function (component) {
|
|
374
|
-
return new Promise(function (responseResolve, responseReject) {
|
|
375
|
-
handleTransformResponse(res[component], component).then(function (response) {
|
|
376
|
-
if (response) {
|
|
377
|
-
var _extends7;
|
|
378
|
-
if (response.promoted) {
|
|
379
|
-
promotedResults[component] = response.promoted.map(function (promoted) {
|
|
380
|
-
return _extends({}, promoted.doc, {
|
|
381
|
-
_position: promoted.position
|
|
382
|
-
});
|
|
383
|
-
});
|
|
384
|
-
}
|
|
385
|
-
rawData[component] = response;
|
|
386
|
-
// Update custom data
|
|
387
|
-
if (response.customData) {
|
|
388
|
-
customData[component] = response.customData;
|
|
389
|
-
}
|
|
390
|
-
|
|
391
|
-
// Update settings
|
|
392
|
-
if (response.settings) {
|
|
393
|
-
settingsResponse[component] = response.settings;
|
|
394
|
-
}
|
|
395
|
-
if (response.aggregations) {
|
|
396
|
-
var _extends6;
|
|
397
|
-
aggregations = _extends({}, aggregations, (_extends6 = {}, _extends6[component] = response.aggregations, _extends6));
|
|
398
|
-
}
|
|
399
|
-
timestamp[component] = res._timestamp;
|
|
400
|
-
var hitsObj = response.hits ? response.hits : response[component].hits;
|
|
401
|
-
hits = _extends({}, hits, (_extends7 = {}, _extends7[component] = {
|
|
402
|
-
hits: hitsObj.hits,
|
|
403
|
-
total: typeof hitsObj.total === 'object' ? hitsObj.total.value : hitsObj.total,
|
|
404
|
-
time: response.took
|
|
405
|
-
}, _extends7));
|
|
406
|
-
responseResolve();
|
|
407
|
-
}
|
|
408
|
-
})["catch"](function (err) {
|
|
409
|
-
return responseReject(err);
|
|
410
|
-
});
|
|
411
|
-
});
|
|
412
|
-
});
|
|
413
|
-
Promise.all(allPromises).then(function () {
|
|
414
|
-
state = _extends({}, state, {
|
|
415
|
-
hits: hits,
|
|
416
|
-
timestamp: timestamp,
|
|
417
|
-
aggregations: aggregations,
|
|
418
|
-
compositeAggregations: compositeAggregations,
|
|
419
|
-
promotedResults: promotedResults,
|
|
420
|
-
settings: settingsResponse,
|
|
421
|
-
customData: customData,
|
|
422
|
-
rawData: rawData
|
|
423
|
-
});
|
|
424
|
-
resolve(state);
|
|
425
|
-
});
|
|
426
|
-
};
|
|
427
|
-
if (config.graphQLUrl) {
|
|
428
|
-
var handleTransformRequest = function handleTransformRequest(res) {
|
|
429
|
-
if (config.transformRequest && typeof config.transformRequest === 'function') {
|
|
430
|
-
var transformRequestPromise = config.transformRequest(res);
|
|
431
|
-
return transformRequestPromise instanceof Promise ? transformRequestPromise : Promise.resolve(transformRequestPromise);
|
|
432
|
-
}
|
|
433
|
-
return Promise.resolve(res);
|
|
434
|
-
};
|
|
435
|
-
handleTransformRequest(finalQuery).then(function (requestQuery) {
|
|
436
|
-
fetchGraphQL(config.graphQLUrl, config.url, config.credentials, config.app, requestQuery).then(function (res) {
|
|
437
|
-
handleResponse(res);
|
|
438
|
-
})["catch"](function (err) {
|
|
439
|
-
return reject(err);
|
|
440
|
-
});
|
|
441
|
-
})["catch"](function (err) {
|
|
442
|
-
return reject(err);
|
|
443
|
-
});
|
|
444
|
-
} else if (Object.keys(appbaseQuery).length) {
|
|
445
|
-
finalQuery = Object.keys(appbaseQuery).map(function (c) {
|
|
446
|
-
return appbaseQuery[c];
|
|
447
|
-
});
|
|
448
|
-
// Call RS API
|
|
449
|
-
var rsAPISettings = {};
|
|
450
|
-
if (config.analyticsConfig) {
|
|
451
|
-
rsAPISettings.recordAnalytics = isPropertyDefined(config.analyticsConfig.recordAnalytics) ? config.analyticsConfig.recordAnalytics : undefined;
|
|
452
|
-
rsAPISettings.userId = isPropertyDefined(config.analyticsConfig.userId) ? config.analyticsConfig.userId : undefined;
|
|
453
|
-
rsAPISettings.enableQueryRules = isPropertyDefined(config.analyticsConfig.enableQueryRules) ? config.analyticsConfig.enableQueryRules : undefined;
|
|
454
|
-
rsAPISettings.customEvents = isPropertyDefined(config.analyticsConfig.customEvents) ? config.analyticsConfig.customEvents : undefined;
|
|
455
|
-
}
|
|
456
|
-
appbaseRef.reactiveSearchv3(finalQuery, rsAPISettings).then(function (res) {
|
|
457
|
-
handleRSResponse(res);
|
|
458
|
-
})["catch"](function (err) {
|
|
459
|
-
return reject(err);
|
|
460
|
-
});
|
|
461
|
-
}
|
|
462
|
-
});
|
|
5
|
+
function getServerState(App, queryString) {
|
|
6
|
+
var renderFunction = renderToString;
|
|
7
|
+
return getServerResults()(function (props) {
|
|
8
|
+
return createSSRApp(App, props);
|
|
9
|
+
}, queryString, renderFunction);
|
|
463
10
|
}
|
|
464
11
|
|
|
465
|
-
export default
|
|
466
|
-
export { componentTypeToDefaultValue };
|
|
12
|
+
export default getServerState;
|
package/dist/es/install.js
CHANGED
|
@@ -15,19 +15,20 @@ import ReactiveList from './ReactiveList.js';
|
|
|
15
15
|
import '@appbaseio/reactivecore/lib/utils/transform';
|
|
16
16
|
import 'redux';
|
|
17
17
|
import './index-4520a598.js';
|
|
18
|
-
import './ComponentWrapper-
|
|
18
|
+
import './ComponentWrapper-3a215eed.js';
|
|
19
19
|
import './PreferencesConsumer-24e88f3b.js';
|
|
20
20
|
import './Title-863dfa42.js';
|
|
21
21
|
import './ListItem-16756c02.js';
|
|
22
22
|
import './Card-38cbe652.js';
|
|
23
23
|
import './Flex-a08e22d7.js';
|
|
24
|
+
import '@appbaseio/reactivecore/lib';
|
|
24
25
|
import '@appbaseio/reactivecore/lib/actions/analytics';
|
|
25
26
|
import 'appbase-js';
|
|
26
27
|
import '@appbaseio/analytics';
|
|
27
28
|
import 'url-search-params-polyfill';
|
|
28
29
|
import ReactiveBase from './ReactiveBase.js';
|
|
29
30
|
import 'hotkeys-js';
|
|
30
|
-
import { S as SearchBox, R as ReactiveComponent } from './ReactiveComponent-
|
|
31
|
+
import { S as SearchBox, R as ReactiveComponent } from './ReactiveComponent-04d94e01.js';
|
|
31
32
|
import './DropDown-029ffd42.js';
|
|
32
33
|
import './Input-ad474a55.js';
|
|
33
34
|
import 'compute-scroll-into-view';
|
|
@@ -41,7 +42,7 @@ import MultiList from './MultiList.js';
|
|
|
41
42
|
import SingleDropdownList from './SingleDropdownList.js';
|
|
42
43
|
import MultiDropdownList from './MultiDropdownList.js';
|
|
43
44
|
import ToggleButton from './ToggleButton.js';
|
|
44
|
-
import './ssr-
|
|
45
|
+
import './ssr-e5eb1f1e.js';
|
|
45
46
|
import DynamicRangeSlider from './DynamicRangeSlider.js';
|
|
46
47
|
import SingleRange from './SingleRange.js';
|
|
47
48
|
import MultiRange from './MultiRange.js';
|
|
@@ -47,14 +47,14 @@ var getComponents = function getComponents() {
|
|
|
47
47
|
var components = {
|
|
48
48
|
NoSSR: NoSSR
|
|
49
49
|
};
|
|
50
|
-
|
|
51
|
-
|
|
50
|
+
try {
|
|
51
|
+
if (typeof window !== 'undefined') {
|
|
52
52
|
// in older versions of nuxt, it's process.BROWSER_BUILD
|
|
53
53
|
// eslint-disable-next-line
|
|
54
54
|
components['vue-slider-component'] = require('vue-slider-component');
|
|
55
|
-
} catch (e) {
|
|
56
|
-
console.error('Unable to load vue-slider', e);
|
|
57
55
|
}
|
|
56
|
+
} catch (e) {
|
|
57
|
+
console.error('Unable to load vue-slider', e);
|
|
58
58
|
}
|
|
59
59
|
return components;
|
|
60
60
|
};
|
package/dist/es/version.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@appbaseio/reactivesearch-vue",
|
|
3
|
-
"version": "3.0.0-alpha.
|
|
3
|
+
"version": "3.0.0-alpha.3",
|
|
4
4
|
"private": false,
|
|
5
5
|
"main": "dist/cjs/index.js",
|
|
6
6
|
"jsnext:main": "dist/es/index.js",
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"sideEffects": false,
|
|
36
36
|
"dependencies": {
|
|
37
37
|
"@appbaseio/analytics": "^1.1.1",
|
|
38
|
-
"@appbaseio/reactivecore": "10.0.0-alpha.
|
|
38
|
+
"@appbaseio/reactivecore": "10.0.0-alpha.2",
|
|
39
39
|
"@appbaseio/vue-emotion": "0.6.0-alpha.6",
|
|
40
40
|
"@vue/babel-helper-vue-jsx-merge-props": "^1.0.0",
|
|
41
41
|
"appbase-js": "^5.2.0",
|