@appbaseio/reactivesearch-vue 1.16.0-alpha.3 → 1.16.0-alpha.30

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.
Files changed (101) hide show
  1. package/dist/@appbaseio/reactivesearch-vue.umd.js +7438 -6512
  2. package/dist/@appbaseio/reactivesearch-vue.umd.js.map +1 -1
  3. package/dist/@appbaseio/reactivesearch-vue.umd.min.js +5 -5
  4. package/dist/@appbaseio/reactivesearch-vue.umd.min.js.map +1 -1
  5. package/dist/cjs/Button-d2f1aeda.js +68 -0
  6. package/dist/cjs/{DownShift-b09da079.js → CancelSvg-82021d23.js} +60 -16
  7. package/dist/cjs/Card-4b915733.js +30 -0
  8. package/dist/cjs/{ComponentWrapper-5a0a8849.js → ComponentWrapper-ab813390.js} +40 -21
  9. package/dist/cjs/{Container-f84e72fc.js → Container-8a08d663.js} +3 -11
  10. package/dist/cjs/DataSearch.js +341 -391
  11. package/dist/cjs/{DropDown-c66be1a8.js → DropDown-0359da33.js} +76 -96
  12. package/dist/cjs/DynamicRangeSlider.js +47 -24
  13. package/dist/cjs/Flex-699639d2.js +52 -0
  14. package/dist/cjs/FormControlList-73497794.js +47 -0
  15. package/dist/cjs/Input-c6f181d5.js +79 -0
  16. package/dist/cjs/ListItem-933c27e4.js +46 -0
  17. package/dist/cjs/MultiDropdownList.js +69 -45
  18. package/dist/cjs/MultiList.js +36 -21
  19. package/dist/cjs/MultiRange.js +20 -14
  20. package/dist/cjs/{Pagination-91df3b77.js → Pagination-1b2320a7.js} +4 -3
  21. package/dist/cjs/RangeInput.js +25 -45
  22. package/dist/cjs/RangeSlider.js +31 -28
  23. package/dist/cjs/ReactiveBase.js +55 -34
  24. package/dist/cjs/ReactiveComponent.js +80 -36
  25. package/dist/cjs/ReactiveGoogleMap.js +320 -234
  26. package/dist/cjs/ReactiveList.js +149 -202
  27. package/dist/cjs/ResultCard.js +8 -6
  28. package/dist/cjs/ResultList.js +8 -6
  29. package/dist/cjs/SelectedFilters.js +25 -12
  30. package/dist/cjs/SingleDropdownList.js +69 -45
  31. package/dist/cjs/SingleList.js +44 -26
  32. package/dist/cjs/SingleRange.js +17 -11
  33. package/dist/cjs/StateProvider.js +11 -7
  34. package/dist/cjs/{Title-e9beb554.js → Title-39765ee6.js} +3 -11
  35. package/dist/cjs/ToggleButton.js +35 -16
  36. package/dist/cjs/{_rollupPluginBabelHelpers-280a574c.js → _rollupPluginBabelHelpers-4abdbfff.js} +11 -1
  37. package/dist/cjs/{index-e0583d76.js → index-2a8358cd.js} +77 -9
  38. package/dist/cjs/index.js +23 -19
  39. package/dist/cjs/initReactivesearch.js +80 -38
  40. package/dist/cjs/install.js +20 -18
  41. package/dist/cjs/ssr-c333c82c.js +39 -0
  42. package/dist/cjs/{utils-d1ea9f95.js → utils-23afb20b.js} +2 -2
  43. package/dist/cjs/version.js +1 -1
  44. package/dist/cjs/{vueTypes-c21f265b.js → vueTypes-6de9d2a9.js} +9 -4
  45. package/dist/es/Button-799185e2.js +59 -0
  46. package/dist/es/{DownShift-d8f2500f.js → CancelSvg-4d9e0857.js} +56 -17
  47. package/dist/es/Card-04b3c33e.js +23 -0
  48. package/dist/es/{ComponentWrapper-d0b21b95.js → ComponentWrapper-459505fd.js} +40 -21
  49. package/dist/es/Container-4383c6f0.js +10 -0
  50. package/dist/es/DataSearch.js +339 -389
  51. package/dist/es/{DropDown-5dbd69c2.js → DropDown-168b60f6.js} +75 -95
  52. package/dist/es/DynamicRangeSlider.js +47 -24
  53. package/dist/es/Flex-aac91505.js +47 -0
  54. package/dist/es/FormControlList-fe389a2e.js +40 -0
  55. package/dist/es/Input-d8519224.js +71 -0
  56. package/dist/es/ListItem-bdb6d53d.js +39 -0
  57. package/dist/es/MultiDropdownList.js +69 -45
  58. package/dist/es/MultiList.js +36 -21
  59. package/dist/es/MultiRange.js +20 -14
  60. package/dist/es/{Pagination-800af44f.js → Pagination-b3e4054a.js} +4 -3
  61. package/dist/es/RangeInput.js +25 -45
  62. package/dist/es/RangeSlider.js +31 -28
  63. package/dist/es/ReactiveBase.js +55 -34
  64. package/dist/es/ReactiveComponent.js +80 -36
  65. package/dist/es/ReactiveGoogleMap.js +320 -234
  66. package/dist/es/ReactiveList.js +149 -202
  67. package/dist/es/ResultCard.js +8 -6
  68. package/dist/es/ResultList.js +8 -6
  69. package/dist/es/SelectedFilters.js +25 -12
  70. package/dist/es/SingleDropdownList.js +69 -45
  71. package/dist/es/SingleList.js +44 -26
  72. package/dist/es/SingleRange.js +17 -11
  73. package/dist/es/StateProvider.js +11 -7
  74. package/dist/es/Title-579f8d6c.js +10 -0
  75. package/dist/es/ToggleButton.js +35 -16
  76. package/dist/es/{_rollupPluginBabelHelpers-c9fbe19f.js → _rollupPluginBabelHelpers-ecf6c03c.js} +11 -1
  77. package/dist/es/{index-1fe91a0a.js → index-4755c9a0.js} +74 -10
  78. package/dist/es/index.js +23 -19
  79. package/dist/es/initReactivesearch.js +80 -38
  80. package/dist/es/install.js +20 -18
  81. package/dist/es/ssr-e3196de1.js +33 -0
  82. package/dist/es/{utils-ce3d86fd.js → utils-3a32e13f.js} +2 -2
  83. package/dist/es/version.js +1 -1
  84. package/dist/es/{vueTypes-98d938a9.js → vueTypes-9326e0be.js} +9 -4
  85. package/package.json +86 -78
  86. package/dist/cjs/Button-78d8bc26.js +0 -146
  87. package/dist/cjs/Card-b4af314f.js +0 -58
  88. package/dist/cjs/Flex-737c55be.js +0 -160
  89. package/dist/cjs/FormControlList-08dfb28e.js +0 -105
  90. package/dist/cjs/Input-643d02a7.js +0 -178
  91. package/dist/cjs/ListItem-0c58c5d2.js +0 -84
  92. package/dist/cjs/ssr-b7a729f9.js +0 -47
  93. package/dist/es/Button-6c71c66e.js +0 -137
  94. package/dist/es/Card-ecf70ba1.js +0 -51
  95. package/dist/es/Container-f5efec9e.js +0 -18
  96. package/dist/es/Flex-40a74d8a.js +0 -155
  97. package/dist/es/FormControlList-b96aebef.js +0 -98
  98. package/dist/es/Input-dfd9dd40.js +0 -170
  99. package/dist/es/ListItem-da73bc7d.js +0 -77
  100. package/dist/es/Title-22c2f3bf.js +0 -18
  101. package/dist/es/ssr-2f57791d.js +0 -41
@@ -1,17 +1,17 @@
1
1
  import { Actions, helper } from '@appbaseio/reactivecore';
2
- import { a as _extends } from './_rollupPluginBabelHelpers-c9fbe19f.js';
2
+ import { a as _extends } from './_rollupPluginBabelHelpers-ecf6c03c.js';
3
3
  import VueTypes from 'vue-types';
4
4
  import { componentTypes } from '@appbaseio/reactivecore/lib/utils/constants';
5
5
  import '@appbaseio/vue-emotion';
6
- import { t as types } from './vueTypes-98d938a9.js';
6
+ import { t as types } from './vueTypes-9326e0be.js';
7
7
  import '@appbaseio/reactivecore/lib/utils/transform';
8
8
  import 'redux';
9
- import { f as updateCustomQuery, i as isQueryIdentical, c as connect } from './index-1fe91a0a.js';
10
- import { C as ComponentWrapper } from './ComponentWrapper-d0b21b95.js';
11
- import { T as Title } from './Title-22c2f3bf.js';
12
- import { C as Container } from './Container-f5efec9e.js';
9
+ import { f as updateCustomQuery, i as isQueryIdentical, c as connect } from './index-4755c9a0.js';
10
+ import { C as ComponentWrapper } from './ComponentWrapper-459505fd.js';
11
+ import { T as Title } from './Title-579f8d6c.js';
12
+ import { C as Container } from './Container-4383c6f0.js';
13
13
  import NoSSR from 'vue-no-ssr';
14
- import { g as getComponents, S as Slider } from './ssr-2f57791d.js';
14
+ import { g as getComponents, S as Slider } from './ssr-e3196de1.js';
15
15
 
16
16
  var updateQuery = Actions.updateQuery,
17
17
  setQueryOptions = Actions.setQueryOptions,
@@ -57,7 +57,8 @@ var RangeSlider = {
57
57
  title: types.title,
58
58
  URLParams: VueTypes.bool.def(false),
59
59
  sliderOptions: VueTypes.object.def({}),
60
- nestedField: types.string
60
+ nestedField: types.string,
61
+ index: VueTypes.string
61
62
  },
62
63
  methods: {
63
64
  handleSliderChange: function handleSliderChange(values) {
@@ -72,32 +73,28 @@ var RangeSlider = {
72
73
  });
73
74
  }
74
75
  },
75
- handleSlider: function handleSlider(values) {
76
- var _this = this;
77
-
78
- clearTimeout(this.handleSliderChange._tId);
79
- this.handleSliderChange._tId = setTimeout(function () {
80
- _this.handleSliderChange(values);
81
- }, 100);
76
+ handleSlider: function handleSlider() {
77
+ var sliderValues = this.$refs.slider.getValue();
78
+ this.handleSliderChange(sliderValues);
82
79
  },
83
80
  handleChange: function handleChange(currentValue, props) {
84
- var _this2 = this;
81
+ var _this = this;
85
82
 
86
83
  if (props === void 0) {
87
84
  props = this.$props;
88
85
  }
89
86
 
90
87
  var performUpdate = function performUpdate() {
91
- _this2.currentValue = currentValue;
88
+ _this.currentValue = currentValue;
92
89
 
93
- _this2.updateQueryHandler([currentValue[0], currentValue[1]], props);
90
+ _this.updateQueryHandler([currentValue[0], currentValue[1]], props);
94
91
 
95
- _this2.$emit('valueChange', {
92
+ _this.$emit('valueChange', {
96
93
  start: currentValue[0],
97
94
  end: currentValue[1]
98
95
  });
99
96
 
100
- _this2.$emit('value-change', {
97
+ _this.$emit('value-change', {
101
98
  start: currentValue[0],
102
99
  end: currentValue[1]
103
100
  });
@@ -129,7 +126,7 @@ var RangeSlider = {
129
126
  currentEnd = value[1]; // check if the slider is at its initial position
130
127
 
131
128
  var isInitialValue = currentStart === start && currentEnd === end;
132
- this.setQueryOptions(props.componentId, customQueryOptions);
129
+ this.setQueryOptions(props.componentId, customQueryOptions, false);
133
130
  this.updateQuery({
134
131
  componentId: props.componentId,
135
132
  query: query,
@@ -165,6 +162,10 @@ var RangeSlider = {
165
162
  created: function created() {
166
163
  if (!this.$props.range) {
167
164
  console.error('%crange is not defined. Read more about this at https://opensource.appbase.io/reactive-manual/vue/range-components/rangeslider.html#props', 'font-size: 12.5px;');
165
+ }
166
+
167
+ if (!this.enableAppbase && this.$props.index) {
168
+ console.warn('Warning(ReactiveSearch): In order to use the `index` prop, the `enableAppbase` prop must be set to true in `ReactiveBase`.');
168
169
  } // Set custom query in store
169
170
 
170
171
 
@@ -204,12 +205,13 @@ var RangeSlider = {
204
205
  "max": this.$props.range.end,
205
206
  "dotSize": 20,
206
207
  "height": 4,
207
- "enable-cross": false
208
+ "enable-cross": false,
209
+ "tooltip": "always"
210
+ },
211
+ "on": {
212
+ "drag-end": this.handleSlider
208
213
  },
209
- "props": _extends({}, this.$props.sliderOptions),
210
- "on": _extends({}, {
211
- input: this.handleSlider
212
- })
214
+ "props": _extends({}, this.$props.sliderOptions)
213
215
  }), this.$props.rangeLabels && h("div", {
214
216
  "class": "label-container"
215
217
  }, [h("label", {
@@ -251,7 +253,7 @@ RangeSlider.defaultQuery = function (values, props) {
251
253
 
252
254
  RangeSlider.parseValue = function (value, props) {
253
255
  if (value) {
254
- return [value.start, value.end];
256
+ return Array.isArray(value) ? value : [value.start, value.end];
255
257
  }
256
258
 
257
259
  if (props.range) {
@@ -266,7 +268,8 @@ var mapStateToProps = function mapStateToProps(state, props) {
266
268
  options: state.aggregations[props.componentId] ? state.aggregations[props.componentId][props.dataField] && state.aggregations[props.componentId][props.dataField].buckets // eslint-disable-line
267
269
  : [],
268
270
  selectedValue: state.selectedValues[props.componentId] ? state.selectedValues[props.componentId].value : null,
269
- componentProps: state.props[props.componentId]
271
+ componentProps: state.props[props.componentId],
272
+ enableAppbase: state.config.enableAppbase
270
273
  };
271
274
  };
272
275
 
@@ -1,13 +1,13 @@
1
1
  import configureStore, { Actions, helper } from '@appbaseio/reactivecore';
2
- import { _ as _taggedTemplateLiteralLoose, a as _extends } from './_rollupPluginBabelHelpers-c9fbe19f.js';
2
+ import { _ as _taggedTemplateLiteralLoose, a as _extends } from './_rollupPluginBabelHelpers-ecf6c03c.js';
3
3
  import VueTypes from 'vue-types';
4
4
  import '@appbaseio/reactivecore/lib/utils/constants';
5
+ import { isEqual as isEqual$1 } from '@appbaseio/reactivecore/lib/utils/helper';
5
6
  import styled from '@appbaseio/vue-emotion';
6
- import { t as types } from './vueTypes-98d938a9.js';
7
+ import { t as types } from './vueTypes-9326e0be.js';
7
8
  import 'redux';
8
- import { c as connect, e as composeThemeObject } from './index-1fe91a0a.js';
9
+ import { c as connect, e as composeThemeObject, X as X_SEARCH_CLIENT } from './index-4755c9a0.js';
9
10
  import _mergeJSXProps from '@vue/babel-helper-vue-jsx-merge-props';
10
- import { isEqual as isEqual$1 } from '@appbaseio/reactivecore/lib/utils/helper';
11
11
  import { updateAnalyticsConfig } from '@appbaseio/reactivecore/lib/actions/analytics';
12
12
  import Appbase from 'appbase-js';
13
13
  import 'url-search-params-polyfill';
@@ -41,15 +41,7 @@ var Provider = {
41
41
  }
42
42
  };
43
43
 
44
- function _templateObject() {
45
- var data = _taggedTemplateLiteralLoose(["\n\tfont-family: ", ";\n\tfont-size: ", ";\n\tcolor: ", ";\n\twidth: 100%;\n\n\tinput,\n\tbutton,\n\ttextarea,\n\tselect {\n\t\tfont-family: ", ";\n\t}\n\n\t*,\n\t*:before,\n\t*:after {\n\t\tbox-sizing: border-box;\n\t}\n"]);
46
-
47
- _templateObject = function _templateObject() {
48
- return data;
49
- };
50
-
51
- return data;
52
- }
44
+ var _templateObject;
53
45
  var Base = {
54
46
  functional: true,
55
47
  render: function render(h, _ref) {
@@ -61,7 +53,7 @@ var Base = {
61
53
  return h(T, _mergeJSXProps([{}, props]), [children]);
62
54
  }
63
55
  };
64
- var Base$1 = styled(Base)(_templateObject(), function (_ref2) {
56
+ var Base$1 = styled(Base)(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n\tfont-family: ", ";\n\tfont-size: ", ";\n\tcolor: ", ";\n\twidth: 100%;\n\n\tinput,\n\tbutton,\n\ttextarea,\n\tselect {\n\t\tfont-family: ", ";\n\t}\n\n\t*,\n\t*:before,\n\t*:after {\n\t\tbox-sizing: border-box;\n\t}\n"])), function (_ref2) {
65
57
  var theme = _ref2.theme;
66
58
  return theme.typography.fontFamily;
67
59
  }, function (_ref3) {
@@ -85,7 +77,7 @@ var URLParamsProvider = {
85
77
  headers: types.headers,
86
78
  getSearchParams: types.func,
87
79
  setSearchParams: types.func,
88
- as: types.string.def('div')
80
+ as: VueTypes.string.def('div')
89
81
  },
90
82
  mounted: function mounted() {
91
83
  var _this = this;
@@ -233,7 +225,9 @@ var URLParamsProvider = {
233
225
  return value.map(function (item) {
234
226
  return _this3.getValue(item);
235
227
  });
236
- } else if (value && typeof value === 'object') {
228
+ }
229
+
230
+ if (value && typeof value === 'object') {
237
231
  // TODO: support for NestedList
238
232
  if (value.location) return value;
239
233
  if (value.category) return value;
@@ -358,11 +352,11 @@ var ReactiveBase = {
358
352
  }
359
353
  },
360
354
  props: {
361
- app: types.stringRequired,
355
+ app: types.string,
362
356
  analytics: VueTypes.bool,
363
357
  analyticsConfig: types.analyticsConfig,
364
358
  appbaseConfig: types.appbaseConfig,
365
- enableAppbase: types.bool.def(false),
359
+ enableAppbase: VueTypes.bool.def(false),
366
360
  credentials: types.string,
367
361
  headers: types.headers,
368
362
  queryParams: types.string,
@@ -371,13 +365,15 @@ var ReactiveBase = {
371
365
  type: types.string,
372
366
  url: types.string,
373
367
  mapKey: types.string,
368
+ initialQueriesSyncTime: types.number,
374
369
  className: types.string,
375
370
  initialState: VueTypes.object.def({}),
376
371
  transformRequest: types.func,
377
372
  transformResponse: types.func,
378
373
  as: VueTypes.string.def('div'),
379
374
  getSearchParams: types.func,
380
- setSearchParams: types.func
375
+ setSearchParams: types.func,
376
+ mongodb: types.mongodb
381
377
  },
382
378
  provide: function provide() {
383
379
  return {
@@ -417,6 +413,27 @@ var ReactiveBase = {
417
413
  this.store.dispatch(updateAnalyticsConfig(newVal));
418
414
  }
419
415
  }
416
+ },
417
+ mongodb: function mongodb() {
418
+ this.updateState(this.$props);
419
+ }
420
+ },
421
+ computed: {
422
+ getHeaders: function getHeaders() {
423
+ var _this$$props = this.$props,
424
+ enableAppbase = _this$$props.enableAppbase,
425
+ headers = _this$$props.headers,
426
+ appbaseConfig = _this$$props.appbaseConfig,
427
+ mongodb = _this$$props.mongodb;
428
+
429
+ var _ref = appbaseConfig || {},
430
+ enableTelemetry = _ref.enableTelemetry;
431
+
432
+ return _extends({}, enableAppbase && !mongodb && _extends({
433
+ 'X-Search-Client': X_SEARCH_CLIENT
434
+ }, enableTelemetry === false && {
435
+ 'X-Enable-Telemetry': false
436
+ }), headers);
420
437
  }
421
438
  },
422
439
  methods: {
@@ -427,10 +444,10 @@ var ReactiveBase = {
427
444
  setStore: function setStore(props) {
428
445
  var credentials = props.url && props.url.trim() !== '' && !props.credentials ? null : props.credentials;
429
446
 
430
- var appbaseConfig = _extends(_extends({}, props.analyticsConfig), props.appbaseConfig);
447
+ var appbaseConfig = _extends({}, props.analyticsConfig, props.appbaseConfig);
431
448
 
432
449
  var config = {
433
- url: props.url && props.url.trim() !== '' ? props.url : 'https://scalr.api.appbase.io',
450
+ url: props.url && props.url.trim() !== '' ? props.url : '',
434
451
  app: props.app,
435
452
  credentials: credentials,
436
453
  type: props.type ? props.type : '*',
@@ -438,7 +455,8 @@ var ReactiveBase = {
438
455
  transformResponse: props.transformResponse,
439
456
  enableAppbase: props.enableAppbase,
440
457
  analytics: props.appbaseConfig ? props.appbaseConfig.recordAnalytics : props.analytics,
441
- analyticsConfig: appbaseConfig
458
+ analyticsConfig: appbaseConfig,
459
+ mongodb: props.mongodb
442
460
  };
443
461
  var queryParams = '';
444
462
 
@@ -450,9 +468,10 @@ var ReactiveBase = {
450
468
 
451
469
  var params = new URLSearchParams(queryParams);
452
470
  var selectedValues = {};
471
+ var urlValues = {};
453
472
  Array.from(params.keys()).forEach(function (key) {
454
473
  try {
455
- var _extends2;
474
+ var _extends2, _extends3;
456
475
 
457
476
  var parsedParams = JSON.parse(params.get(key));
458
477
  var selectedValue = {};
@@ -464,13 +483,13 @@ var ReactiveBase = {
464
483
  }
465
484
 
466
485
  if (parsedParams.category) selectedValue.category = parsedParams.category;
467
- selectedValues = _extends(_extends({}, selectedValues), {}, (_extends2 = {}, _extends2[key] = selectedValue, _extends2));
486
+ selectedValue.reference = 'URL';
487
+ selectedValues = _extends({}, selectedValues, (_extends2 = {}, _extends2[key] = selectedValue, _extends2));
488
+ urlValues = _extends({}, urlValues, (_extends3 = {}, _extends3[key] = selectedValue.value, _extends3));
468
489
  } catch (e) {// Do not add to selectedValues if JSON parsing fails.
469
490
  }
470
491
  });
471
- var _props$headers = props.headers,
472
- headers = _props$headers === void 0 ? {} : _props$headers,
473
- themePreset = props.themePreset;
492
+ var themePreset = props.themePreset;
474
493
  var appbaseRef = Appbase(config);
475
494
 
476
495
  if (this.$props.transformRequest) {
@@ -482,13 +501,16 @@ var ReactiveBase = {
482
501
  }
483
502
 
484
503
  var initialState = _extends({
485
- config: _extends(_extends({}, config), {}, {
504
+ config: _extends({}, config, {
505
+ initialQueriesSyncTime: props.initialQueriesSyncTime,
506
+ initialTimestamp: new Date().getTime(),
486
507
  mapKey: props.mapKey,
487
508
  themePreset: themePreset
488
509
  }),
489
510
  appbaseRef: appbaseRef,
490
511
  selectedValues: selectedValues,
491
- headers: headers
512
+ urlValues: urlValues,
513
+ headers: this.getHeaders
492
514
  }, this.$props.initialState);
493
515
 
494
516
  this.store = configureStore(initialState);
@@ -497,10 +519,9 @@ var ReactiveBase = {
497
519
  render: function render() {
498
520
  var h = arguments[0];
499
521
  var children = this.$slots["default"];
500
- var _this$$props = this.$props,
501
- headers = _this$$props.headers,
502
- style = _this$$props.style,
503
- className = _this$$props.className;
522
+ var _this$$props2 = this.$props,
523
+ style = _this$$props2.style,
524
+ className = _this$$props2.className;
504
525
  return h(Provider, {
505
526
  "attrs": {
506
527
  "store": this.store
@@ -508,7 +529,7 @@ var ReactiveBase = {
508
529
  }, [h(URLParamsProvider$1, {
509
530
  "attrs": {
510
531
  "as": this.$props.as,
511
- "headers": headers,
532
+ "headers": this.getHeaders,
512
533
  "className": className,
513
534
  "getSearchParams": this.getSearchParams,
514
535
  "setSearchParams": this.setSearchParams
@@ -1,13 +1,17 @@
1
1
  import { Actions, helper } from '@appbaseio/reactivecore';
2
- import { a as _extends, b as _objectWithoutPropertiesLoose } from './_rollupPluginBabelHelpers-c9fbe19f.js';
2
+ import { a as _extends, b as _objectWithoutPropertiesLoose } from './_rollupPluginBabelHelpers-ecf6c03c.js';
3
3
  import VueTypes from 'vue-types';
4
4
  import { componentTypes } from '@appbaseio/reactivecore/lib/utils/constants';
5
- import { t as types } from './vueTypes-98d938a9.js';
5
+ import { t as types } from './vueTypes-9326e0be.js';
6
6
  import '@appbaseio/reactivecore/lib/utils/transform';
7
7
  import 'redux';
8
- import { f as updateCustomQuery, u as updateDefaultQuery, i as isQueryIdentical, c as connect } from './index-1fe91a0a.js';
9
- import { C as ComponentWrapper } from './ComponentWrapper-d0b21b95.js';
8
+ import { f as updateCustomQuery, u as updateDefaultQuery, i as isQueryIdentical, c as connect } from './index-4755c9a0.js';
9
+ import { C as ComponentWrapper } from './ComponentWrapper-459505fd.js';
10
10
 
11
+ var _excluded = ["options"],
12
+ _excluded2 = ["query"],
13
+ _excluded3 = ["query"],
14
+ _excluded4 = ["query"];
11
15
  var updateQuery = Actions.updateQuery,
12
16
  setQueryOptions = Actions.setQueryOptions,
13
17
  setCustomQuery = Actions.setCustomQuery,
@@ -31,7 +35,8 @@ var ReactiveComponent = {
31
35
  showFilter: VueTypes.bool.def(true),
32
36
  URLParams: VueTypes.bool.def(false),
33
37
  distinctField: types.string,
34
- distinctFieldConfig: types.props
38
+ distinctFieldConfig: types.props,
39
+ index: VueTypes.string
35
40
  },
36
41
  created: function created() {
37
42
  var _this = this;
@@ -40,25 +45,30 @@ var ReactiveComponent = {
40
45
  this.internalComponent = null;
41
46
  this.$defaultQuery = null; // Set custom query in store
42
47
 
43
- updateCustomQuery(this.componentId, this.setCustomQuery, this.$props, undefined);
48
+ updateCustomQuery(this.componentId, this.setCustomQuery, this.$props, this.selectedValue);
44
49
  var customQuery = props.customQuery,
45
50
  componentId = props.componentId,
46
51
  filterLabel = props.filterLabel,
47
52
  showFilter = props.showFilter,
48
53
  URLParams = props.URLParams,
49
54
  distinctField = props.distinctField,
50
- distinctFieldConfig = props.distinctFieldConfig;
55
+ distinctFieldConfig = props.distinctFieldConfig,
56
+ index = props.index;
51
57
 
52
- if (this.config.enableAppbase && this.aggregationField && this.aggregationField !== '') {
58
+ if (this.enableAppbase && this.aggregationField && this.aggregationField !== '') {
53
59
  console.warn('Warning(ReactiveSearch): The `aggregationField` prop has been marked as deprecated, please use the `distinctField` prop instead.');
54
60
  }
55
61
 
56
- if (!this.config.enableAppbase && (distinctField || distinctFieldConfig)) {
62
+ if (!this.enableAppbase && (distinctField || distinctFieldConfig)) {
57
63
  console.warn('Warning(ReactiveSearch): In order to use the `distinctField` and `distinctFieldConfig` props, the `enableAppbase` prop must be set to true in `ReactiveBase`.');
58
64
  }
59
65
 
66
+ if (!this.enableAppbase && index) {
67
+ console.warn('Warning(ReactiveSearch): In order to use the `index` prop, the `enableAppbase` prop must be set to true in `ReactiveBase`.');
68
+ }
69
+
60
70
  if (customQuery) {
61
- var calcCustomQuery = customQuery(props);
71
+ var calcCustomQuery = customQuery(this.selectedValue, props);
62
72
 
63
73
  var _ref = calcCustomQuery || {},
64
74
  query = _ref.query;
@@ -66,12 +76,18 @@ var ReactiveComponent = {
66
76
  var customQueryOptions = calcCustomQuery ? getOptionsFromQuery(calcCustomQuery) : null;
67
77
 
68
78
  if (customQueryOptions) {
69
- this.setQueryOptions(componentId, _extends(_extends({}, customQueryOptions), this.getAggsQuery()), false);
79
+ this.setQueryOptions(componentId, _extends({}, customQueryOptions, this.getAggsQuery()), false);
70
80
  } else this.setQueryOptions(componentId, this.getAggsQuery(), false);
71
81
 
82
+ var queryToSet = query || null;
83
+
84
+ if (calcCustomQuery && calcCustomQuery.id) {
85
+ queryToSet = calcCustomQuery;
86
+ }
87
+
72
88
  this.updateQuery({
73
89
  componentId: componentId,
74
- query: query,
90
+ query: queryToSet,
75
91
  value: this.selectedValue || null,
76
92
  label: filterLabel,
77
93
  showFilter: showFilter,
@@ -81,10 +97,16 @@ var ReactiveComponent = {
81
97
 
82
98
  this.setQuery = function (_ref2) {
83
99
  var options = _ref2.options,
84
- obj = _objectWithoutPropertiesLoose(_ref2, ["options"]);
100
+ obj = _objectWithoutPropertiesLoose(_ref2, _excluded);
85
101
 
86
102
  if (options) {
87
- _this.setQueryOptions(props.componentId, _extends(_extends({}, options), _this.getAggsQuery()), false);
103
+ _this.setQueryOptions(props.componentId, _extends({}, options, _this.getAggsQuery()), false);
104
+ }
105
+
106
+ var queryToBeSet = obj.query; // when enableAppbase is true, Backend throws error because of repeated query in request body
107
+
108
+ if (obj && obj.query && obj.query.query) {
109
+ queryToBeSet = obj.query.query;
88
110
  } // Update customQuery field for RS API
89
111
 
90
112
 
@@ -92,13 +114,17 @@ var ReactiveComponent = {
92
114
  var customQueryCalc = _extends({}, options);
93
115
 
94
116
  if (obj && obj.query) {
95
- customQueryCalc.query = obj.query;
117
+ if (obj.query.id) {
118
+ customQueryCalc = queryToBeSet;
119
+ } else {
120
+ customQueryCalc.query = obj.query;
121
+ }
96
122
  }
97
123
 
98
124
  _this.setCustomQuery(props.componentId, customQueryCalc);
99
125
  }
100
126
 
101
- _this.updateQuery(_extends(_extends({}, obj), {}, {
127
+ _this.updateQuery(_extends({}, obj, {
102
128
  componentId: props.componentId,
103
129
  label: props.filterLabel,
104
130
  showFilter: props.showFilter,
@@ -112,20 +138,26 @@ var ReactiveComponent = {
112
138
  },
113
139
  beforeMount: function beforeMount() {
114
140
  if (this.internalComponent && this.$props.defaultQuery) {
115
- updateDefaultQuery(this.componentId, this.setDefaultQuery, this.$props, undefined);
116
- this.$defaultQuery = this.$props.defaultQuery();
141
+ updateDefaultQuery(this.componentId, this.setDefaultQuery, this.$props, this.selectedValue);
142
+ this.$defaultQuery = this.$props.defaultQuery(this.selectedValue, this.$props);
117
143
 
118
144
  var _ref3 = this.$defaultQuery || {},
119
145
  query = _ref3.query,
120
- queryOptions = _objectWithoutPropertiesLoose(_ref3, ["query"]);
146
+ queryOptions = _objectWithoutPropertiesLoose(_ref3, _excluded2);
121
147
 
122
148
  if (queryOptions) {
123
- this.setQueryOptions(this.internalComponent, _extends(_extends({}, queryOptions), this.getAggsQuery()), false);
149
+ this.setQueryOptions(this.internalComponent, _extends({}, queryOptions, this.getAggsQuery()), false);
124
150
  } else this.setQueryOptions(this.internalComponent, this.getAggsQuery(), false);
125
151
 
152
+ var queryToSet = query || null;
153
+
154
+ if (!queryToSet && this.$defaultQuery && this.$defaultQuery.id) {
155
+ queryToSet = this.$defaultQuery;
156
+ }
157
+
126
158
  this.updateQuery({
127
159
  componentId: this.internalComponent,
128
- query: query || null
160
+ query: queryToSet
129
161
  });
130
162
  }
131
163
  },
@@ -171,43 +203,55 @@ var ReactiveComponent = {
171
203
  }
172
204
  },
173
205
  defaultQuery: function defaultQuery(newVal, oldVal) {
174
- if (newVal && !isQueryIdentical(newVal, oldVal, undefined, this.$props)) {
175
- this.$defaultQuery = newVal();
206
+ if (newVal && !isQueryIdentical(newVal, oldVal, this.selectedValue, this.$props)) {
207
+ this.$defaultQuery = newVal(this.selectedValue, this.$props);
176
208
 
177
209
  var _ref4 = this.$defaultQuery || {},
178
210
  query = _ref4.query,
179
- queryOptions = _objectWithoutPropertiesLoose(_ref4, ["query"]);
211
+ queryOptions = _objectWithoutPropertiesLoose(_ref4, _excluded3);
180
212
 
181
213
  if (queryOptions) {
182
- this.setQueryOptions(this.internalComponent, _extends(_extends({}, queryOptions), this.getAggsQuery()), false);
214
+ this.setQueryOptions(this.internalComponent, _extends({}, queryOptions, this.getAggsQuery()), false);
183
215
  } else this.setQueryOptions(this.internalComponent, this.getAggsQuery(), false); // Update default query for RS API
184
216
 
185
217
 
186
- updateDefaultQuery(this.componentId, this.setDefaultQuery, this.$props, undefined);
218
+ updateDefaultQuery(this.componentId, this.setDefaultQuery, this.$props, this.selectedValue);
219
+ var queryToSet = query || null;
220
+
221
+ if (!queryToSet && this.$defaultQuery && this.$defaultQuery.id) {
222
+ queryToSet = this.$defaultQuery;
223
+ }
224
+
187
225
  this.updateQuery({
188
226
  componentId: this.internalComponent,
189
- query: query || null
227
+ query: queryToSet
190
228
  });
191
229
  }
192
230
  },
193
231
  customQuery: function customQuery(newVal, oldVal) {
194
- if (newVal && !isQueryIdentical(newVal, oldVal, undefined, this.$props)) {
232
+ if (newVal && !isQueryIdentical(newVal, oldVal, this.selectedValue, this.$props)) {
195
233
  var componentId = this.$props.componentId;
196
- this.$customQuery = newVal(this.$props);
234
+ this.$customQuery = newVal(this.selectedValue, this.$props);
197
235
 
198
236
  var _ref5 = this.$customQuery || {},
199
237
  query = _ref5.query,
200
- queryOptions = _objectWithoutPropertiesLoose(_ref5, ["query"]);
238
+ queryOptions = _objectWithoutPropertiesLoose(_ref5, _excluded4);
201
239
 
202
240
  if (queryOptions) {
203
- this.setQueryOptions(componentId, _extends(_extends({}, queryOptions), this.getAggsQuery()), false);
241
+ this.setQueryOptions(componentId, _extends({}, queryOptions, this.getAggsQuery()), false);
204
242
  } else this.setQueryOptions(componentId, this.getAggsQuery(), false); // Update custom query for RS API
205
243
 
206
244
 
207
- updateCustomQuery(this.componentId, this.setCustomQuery, this.$props, undefined);
245
+ updateCustomQuery(this.componentId, this.setCustomQuery, this.$props, this.selectedValue);
246
+ var queryToSet = query || null;
247
+
248
+ if (this.$customQuery && this.$customQuery.id) {
249
+ queryToSet = this.$customQuery;
250
+ }
251
+
208
252
  this.updateQuery({
209
253
  componentId: componentId,
210
- query: query || null
254
+ query: queryToSet
211
255
  });
212
256
  }
213
257
  }
@@ -221,10 +265,10 @@ var ReactiveComponent = {
221
265
  isLoading = this.isLoading,
222
266
  selectedValue = this.selectedValue;
223
267
 
224
- var propsToBePassed = _extends(_extends({
268
+ var propsToBePassed = _extends({
225
269
  error: error,
226
270
  loading: isLoading
227
- }, this.getData()), {}, {
271
+ }, this.getData(), {
228
272
  value: selectedValue,
229
273
  setQuery: this.setQuery
230
274
  });
@@ -301,7 +345,7 @@ var mapStateToProps = function mapStateToProps(state, props) {
301
345
  total: state.hits[props.componentId] && state.hits[props.componentId].total,
302
346
  hidden: state.hits[props.componentId] && state.hits[props.componentId].hidden,
303
347
  componentProps: state.props[props.componentId],
304
- config: state.config
348
+ enableAppbase: state.config.enableAppbase
305
349
  };
306
350
  };
307
351