@appbaseio/reactivesearch-vue 1.16.0-alpha.35 → 1.16.0-alpha.38

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 (89) hide show
  1. package/dist/@appbaseio/reactivesearch-vue.umd.js +15781 -10507
  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-11307285.js → Button-d2f1aeda.js} +1 -1
  6. package/dist/cjs/{CancelSvg-4aa35935.js → CancelSvg-82021d23.js} +1 -1
  7. package/dist/cjs/{Card-fd94ef07.js → Card-4b915733.js} +2 -2
  8. package/dist/cjs/{ComponentWrapper-32481890.js → ComponentWrapper-7302fe1a.js} +2 -2
  9. package/dist/cjs/{Container-526efa6a.js → Container-8a08d663.js} +1 -1
  10. package/dist/cjs/DataSearch.js +2107 -18
  11. package/dist/cjs/{DropDown-cf9bfffc.js → DropDown-c46d8b0c.js} +19 -14
  12. package/dist/cjs/DynamicRangeSlider.js +68 -26
  13. package/dist/cjs/{Flex-f146cdad.js → Flex-699639d2.js} +1 -1
  14. package/dist/cjs/{FormControlList-808dbcef.js → FormControlList-73497794.js} +1 -1
  15. package/dist/cjs/{Input-3cc3fa59.js → Input-c6f181d5.js} +1 -1
  16. package/dist/cjs/{ListItem-b40adb04.js → ListItem-933c27e4.js} +2 -2
  17. package/dist/cjs/MultiDropdownList.js +34 -28
  18. package/dist/cjs/MultiList.js +43 -32
  19. package/dist/cjs/MultiRange.js +7 -7
  20. package/dist/cjs/Pagination-1b2320a7.js +177 -0
  21. package/dist/cjs/RangeInput.js +13 -9
  22. package/dist/cjs/RangeSlider.js +7 -7
  23. package/dist/cjs/ReactiveBase.js +3 -3
  24. package/dist/cjs/ReactiveComponent.js +34 -64
  25. package/dist/cjs/ReactiveGoogleMap.js +1764 -0
  26. package/dist/cjs/ReactiveList.js +66 -231
  27. package/dist/cjs/ResultCard.js +4 -4
  28. package/dist/cjs/ResultList.js +4 -4
  29. package/dist/cjs/SelectedFilters.js +6 -6
  30. package/dist/cjs/SingleDropdownList.js +28 -22
  31. package/dist/cjs/SingleList.js +25 -20
  32. package/dist/cjs/SingleRange.js +7 -7
  33. package/dist/cjs/StateProvider.js +2 -2
  34. package/dist/cjs/{Title-584a8cc8.js → Title-39765ee6.js} +1 -1
  35. package/dist/cjs/ToggleButton.js +7 -7
  36. package/dist/cjs/{_rollupPluginBabelHelpers-f127c8b7.js → _rollupPluginBabelHelpers-4abdbfff.js} +17 -0
  37. package/dist/cjs/{index-89c39a9e.js → index-d44a0a21.js} +11 -5
  38. package/dist/cjs/index.js +32 -23
  39. package/dist/cjs/initReactivesearch.js +97 -76
  40. package/dist/cjs/install.js +43 -37
  41. package/dist/cjs/{ssr-0ee35a09.js → ssr-c333c82c.js} +1 -1
  42. package/dist/cjs/{utils-1219e1fe.js → utils-23afb20b.js} +1 -1
  43. package/dist/cjs/version.js +1 -1
  44. package/dist/cjs/{vueTypes-57d01f18.js → vueTypes-6de9d2a9.js} +24 -13
  45. package/dist/es/{Button-91561391.js → Button-799185e2.js} +1 -1
  46. package/dist/es/{CancelSvg-c2c03a35.js → CancelSvg-4d9e0857.js} +1 -1
  47. package/dist/es/{Card-6446f1b7.js → Card-04b3c33e.js} +2 -2
  48. package/dist/es/{ComponentWrapper-4f85a67e.js → ComponentWrapper-bbb717bc.js} +2 -2
  49. package/dist/es/{Container-18b03fde.js → Container-4383c6f0.js} +1 -1
  50. package/dist/es/DataSearch.js +2106 -17
  51. package/dist/es/{DropDown-c8da0a2c.js → DropDown-4edaa621.js} +19 -14
  52. package/dist/es/DynamicRangeSlider.js +68 -26
  53. package/dist/es/{Flex-8770345d.js → Flex-aac91505.js} +1 -1
  54. package/dist/es/{FormControlList-704f8dee.js → FormControlList-fe389a2e.js} +1 -1
  55. package/dist/es/{Input-08bb1bcf.js → Input-d8519224.js} +1 -1
  56. package/dist/es/{ListItem-8e8fb535.js → ListItem-bdb6d53d.js} +2 -2
  57. package/dist/es/MultiDropdownList.js +34 -28
  58. package/dist/es/MultiList.js +43 -32
  59. package/dist/es/MultiRange.js +7 -7
  60. package/dist/es/Pagination-b3e4054a.js +172 -0
  61. package/dist/es/RangeInput.js +13 -9
  62. package/dist/es/RangeSlider.js +7 -7
  63. package/dist/es/ReactiveBase.js +3 -3
  64. package/dist/es/ReactiveComponent.js +34 -64
  65. package/dist/es/ReactiveGoogleMap.js +1756 -0
  66. package/dist/es/ReactiveList.js +66 -231
  67. package/dist/es/ResultCard.js +4 -4
  68. package/dist/es/ResultList.js +4 -4
  69. package/dist/es/SelectedFilters.js +6 -6
  70. package/dist/es/SingleDropdownList.js +28 -22
  71. package/dist/es/SingleList.js +25 -20
  72. package/dist/es/SingleRange.js +7 -7
  73. package/dist/es/StateProvider.js +2 -2
  74. package/dist/es/{Title-3522ff56.js → Title-579f8d6c.js} +1 -1
  75. package/dist/es/ToggleButton.js +7 -7
  76. package/dist/es/{_rollupPluginBabelHelpers-0f24d612.js → _rollupPluginBabelHelpers-ecf6c03c.js} +17 -1
  77. package/dist/es/{index-cb1950b6.js → index-5daa8276.js} +11 -5
  78. package/dist/es/index.js +28 -19
  79. package/dist/es/initReactivesearch.js +99 -78
  80. package/dist/es/install.js +45 -35
  81. package/dist/es/{ssr-a41dfea9.js → ssr-e3196de1.js} +1 -1
  82. package/dist/es/{utils-64a2e5f0.js → utils-3a32e13f.js} +1 -1
  83. package/dist/es/version.js +1 -1
  84. package/dist/es/{vueTypes-687b2304.js → vueTypes-9326e0be.js} +24 -13
  85. package/package.json +12 -6
  86. package/dist/cjs/DataSearch-8658fd8e.js +0 -2154
  87. package/dist/cjs/install-35f74190.js +0 -1196
  88. package/dist/es/DataSearch-66e72d1d.js +0 -2141
  89. package/dist/es/install-ecef1861.js +0 -1189
@@ -6,7 +6,7 @@ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'defau
6
6
 
7
7
  var configureStore = require('@appbaseio/reactivecore');
8
8
  var configureStore__default = _interopDefault(configureStore);
9
- var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-f127c8b7.js');
9
+ var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-4abdbfff.js');
10
10
  var VueTypes = _interopDefault(require('vue-types'));
11
11
  var constants = require('@appbaseio/reactivecore/lib/utils/constants');
12
12
  var helper = require('@appbaseio/reactivecore/lib/utils/helper');
@@ -14,183 +14,18 @@ var emotion = require('emotion');
14
14
  var styled = require('@appbaseio/vue-emotion');
15
15
  var styled__default = _interopDefault(styled);
16
16
  require('polished');
17
- var Button = require('./Button-11307285.js');
18
- var vueTypes = require('./vueTypes-57d01f18.js');
17
+ require('./Button-d2f1aeda.js');
18
+ var vueTypes = require('./vueTypes-6de9d2a9.js');
19
+ var Pagination = require('./Pagination-1b2320a7.js');
19
20
  require('@appbaseio/reactivecore/lib/utils/transform');
20
21
  require('redux');
21
- var index = require('./index-89c39a9e.js');
22
- var ComponentWrapper = require('./ComponentWrapper-32481890.js');
22
+ var index = require('./index-d44a0a21.js');
23
+ var ComponentWrapper = require('./ComponentWrapper-7302fe1a.js');
23
24
  var _mergeJSXProps = _interopDefault(require('@vue/babel-helper-vue-jsx-merge-props'));
24
- require('./Title-584a8cc8.js');
25
- var ListItem = require('./ListItem-b40adb04.js');
26
- var Card = require('./Card-fd94ef07.js');
27
- var Flex = require('./Flex-f146cdad.js');
28
-
29
- var getClassName = configureStore.helper.getClassName,
30
- handleA11yAction = configureStore.helper.handleA11yAction;
31
-
32
- function getStartPage(totalPages, currentPage, showEndPage) {
33
- var midValue = parseInt(totalPages / 2, 10);
34
- var start = currentPage - (showEndPage ? Math.ceil(midValue / 2) - 1 : midValue);
35
- return start > 1 ? start : 2;
36
- }
37
-
38
- var Pagination = {
39
- name: 'Pagination',
40
- functional: true,
41
- props: {
42
- currentPage: vueTypes.types.number,
43
- innerClass: vueTypes.types.style,
44
- pages: vueTypes.types.number,
45
- setPage: vueTypes.types.func,
46
- totalPages: vueTypes.types.number,
47
- showEndPage: VueTypes.bool,
48
- prevLabel: vueTypes.types.string,
49
- nextLabel: vueTypes.types.string
50
- },
51
- render: function render(createElement, context) {
52
- var h = arguments[0];
53
- var props = context.props;
54
-
55
- var onPrevPage = function onPrevPage() {
56
- if (props.currentPage) {
57
- props.setPage(props.currentPage - 1);
58
- }
59
- };
60
-
61
- var onNextPage = function onNextPage() {
62
- if (props.currentPage < props.totalPages - 1) {
63
- props.setPage(props.currentPage + 1);
64
- }
65
- };
66
-
67
- if (!props.totalPages) {
68
- return null;
69
- }
70
-
71
- var innerClassName = getClassName(props.innerClass, 'button');
72
- var primary = props.currentPage === 0;
73
- var className = innerClassName || primary ? innerClassName + " " + (primary ? 'active' : '') : '';
74
-
75
- var buildPaginationDOM = function buildPaginationDOM(position) {
76
- var pages = props.pages,
77
- currentPage = props.currentPage,
78
- totalPages = props.totalPages,
79
- setPage = props.setPage,
80
- showEndPage = props.showEndPage;
81
- var start = position === 'start' ? getStartPage(pages, currentPage, showEndPage) : Math.max(2, Math.ceil(totalPages - (pages - 1) / 2 + 1));
82
- var paginationButtons = [];
83
-
84
- if (start <= totalPages) {
85
- var totalPagesToShow = pages < totalPages ? start + (pages - 1) : totalPages + 1;
86
-
87
- if (showEndPage) {
88
- totalPagesToShow = position === 'start' ? start + (Math.ceil(pages / 2) - pages % 2) : totalPages + 1;
89
- }
90
-
91
- if (currentPage > totalPages - pages + 2) {
92
- start = Math.max(2, totalPages - pages + 2);
93
- totalPagesToShow = start + pages;
94
- }
95
-
96
- var _loop = function _loop(i) {
97
- var activeButton = currentPage === i - 1;
98
- var classNameBtn = innerClassName || activeButton ? innerClassName + " " + (activeButton ? 'active' : '') : '';
99
- var pageBtn = h(Button.Button, {
100
- "class": classNameBtn,
101
- "attrs": {
102
- "primary": activeButton,
103
- "tabIndex": "0",
104
- "alt": "page-" + i
105
- },
106
- "on": {
107
- "keyPress": function keyPress(event) {
108
- return handleA11yAction(event, function () {
109
- return setPage(i - 1);
110
- });
111
- },
112
- "click": function click() {
113
- return setPage(i - 1);
114
- }
115
- }
116
- }, [i]);
117
-
118
- if (i <= totalPages + 1) {
119
- paginationButtons.push(pageBtn);
120
- }
121
- };
122
-
123
- for (var i = start; i < Math.min(totalPages + 1, totalPagesToShow); i += 1) {
124
- _loop(i);
125
- }
126
- }
127
-
128
- return paginationButtons;
129
- };
130
-
131
- var buildIntermediatePaginationDom = function buildIntermediatePaginationDom() {
132
- var showEndPage = props.showEndPage,
133
- currentPage = props.currentPage,
134
- totalPages = props.totalPages,
135
- pages = props.pages;
136
- if (!showEndPage) return buildPaginationDOM('start');
137
-
138
- if (currentPage <= totalPages - pages + 2 || totalPages <= pages) {
139
- return buildPaginationDOM('start');
140
- }
141
-
142
- return null;
143
- };
144
-
145
- return h("div", {
146
- "class": Button.pagination + " " + getClassName(props.innerClass, 'pagination')
147
- }, [h(Button.Button, {
148
- "class": getClassName(props.innerClass, 'button') || '',
149
- "attrs": {
150
- "disabled": props.currentPage === 0,
151
- "tabIndex": "0"
152
- },
153
- "on": {
154
- "keyPress": function keyPress(event) {
155
- return handleA11yAction(event, onPrevPage);
156
- },
157
- "click": onPrevPage
158
- }
159
- }, [props.prevLabel || 'Prev']), h(Button.Button, {
160
- "class": className,
161
- "attrs": {
162
- "primary": primary,
163
- "tabIndex": "0"
164
- },
165
- "on": {
166
- "keyPress": function keyPress(event) {
167
- return handleA11yAction(event, function () {
168
- return props.setPage(0);
169
- });
170
- },
171
- "click": function click() {
172
- return props.setPage(0);
173
- }
174
- }
175
- }, ["1"]), props.showEndPage && props.currentPage >= Math.floor(props.pages / 2) + !!(props.pages % 2) ? h("span", ["..."]) : null, buildIntermediatePaginationDom(), props.showEndPage && props.pages > 2 && props.currentPage <= props.totalPages - Math.ceil(props.pages * 0.75) ? h("span", ["..."]) : null, props.showEndPage && props.totalPages >= props.pages && buildPaginationDOM('end'), h(Button.Button, {
176
- "class": getClassName(props.innerClass, 'button') || '',
177
- "attrs": {
178
- "disabled": props.currentPage >= props.totalPages - 1,
179
- "tabIndex": "0"
180
- },
181
- "on": {
182
- "keyPress": function keyPress(event) {
183
- return handleA11yAction(event, onNextPage);
184
- },
185
- "click": onNextPage
186
- }
187
- }, [props.nextLabel || 'Next'])]);
188
- }
189
- };
190
-
191
- Pagination.install = function (Vue) {
192
- Vue.component(Pagination.name, Pagination);
193
- };
25
+ require('./Title-39765ee6.js');
26
+ var ListItem = require('./ListItem-933c27e4.js');
27
+ var Card = require('./Card-4b915733.js');
28
+ var Flex = require('./Flex-699639d2.js');
194
29
 
195
30
  var _templateObject;
196
31
  var PoweredByImage = styled__default('img')(_templateObject || (_templateObject = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\twidth: 110px;\n"])));
@@ -435,11 +270,12 @@ var setQueryOptions = configureStore.Actions.setQueryOptions,
435
270
  recordResultClick = configureStore.Actions.recordResultClick;
436
271
  var isEqual$1 = configureStore.helper.isEqual,
437
272
  getQueryOptions = configureStore.helper.getQueryOptions,
438
- getClassName$1 = configureStore.helper.getClassName,
273
+ getClassName = configureStore.helper.getClassName,
439
274
  parseHits = configureStore.helper.parseHits,
440
- getOptionsFromQuery = configureStore.helper.getOptionsFromQuery,
441
275
  getCompositeAggsQuery = configureStore.helper.getCompositeAggsQuery,
442
- getResultStats = configureStore.helper.getResultStats;
276
+ getResultStats = configureStore.helper.getResultStats,
277
+ extractQueryFromCustomQuery = configureStore.helper.extractQueryFromCustomQuery,
278
+ getOptionsForCustomQuery = configureStore.helper.getOptionsForCustomQuery;
443
279
  var ReactiveList = {
444
280
  name: 'ReactiveList',
445
281
  components: {
@@ -502,6 +338,12 @@ var ReactiveList = {
502
338
  });
503
339
  }
504
340
 
341
+ if (this.urlSortOption) {
342
+ this.sortOptionIndex = this.$props.sortOptions.findIndex(function (s) {
343
+ return s.label === _this.urlSortOption;
344
+ }) || 0;
345
+ }
346
+
505
347
  this.updateComponentProps(this.componentId, {
506
348
  from: this.from
507
349
  }, constants.componentTypes.reactiveList);
@@ -631,19 +473,11 @@ var ReactiveList = {
631
473
  var options = getQueryOptions(this.$props);
632
474
  options.from = 0;
633
475
  this.$defaultQuery = newVal(null, this.$props);
634
-
635
- var _ref = this.$defaultQuery || {},
636
- sort = _ref.sort,
637
- query = _ref.query;
638
-
639
- if (sort) {
640
- options.sort = this.$defaultQuery.sort;
641
- }
642
-
643
- var queryOptions = getOptionsFromQuery(this.$defaultQuery);
476
+ var query = extractQueryFromCustomQuery(this.$defaultQuery);
477
+ var queryOptions = getOptionsForCustomQuery(this.$defaultQuery);
644
478
 
645
479
  if (queryOptions) {
646
- options = _rollupPluginBabelHelpers._extends({}, options, getOptionsFromQuery(this.$defaultQuery));
480
+ options = _rollupPluginBabelHelpers._extends({}, options, queryOptions);
647
481
  } // Update calculated default query in store
648
482
 
649
483
 
@@ -734,24 +568,24 @@ var ReactiveList = {
734
568
  options.from = this.$data.from;
735
569
 
736
570
  if (this.sortOptions && this.sortOptions[this.sortOptionIndex]) {
737
- var _ref2;
571
+ var _ref;
738
572
 
739
573
  var sortField = this.sortOptions[this.sortOptionIndex].dataField;
740
574
  var sortBy = this.sortOptions[this.sortOptionIndex].sortBy;
741
- options.sort = [(_ref2 = {}, _ref2[sortField] = {
575
+ options.sort = [(_ref = {}, _ref[sortField] = {
742
576
  order: sortBy
743
- }, _ref2)]; // To handle sort options for RS API
577
+ }, _ref)]; // To handle sort options for RS API
744
578
 
745
579
  this.updateComponentProps(this.componentId, {
746
580
  dataField: sortField,
747
581
  sortBy: sortBy
748
582
  }, constants.componentTypes.reactiveList);
749
583
  } else if (this.$props.sortBy) {
750
- var _ref3;
584
+ var _ref2;
751
585
 
752
- options.sort = [(_ref3 = {}, _ref3[this.$props.dataField] = {
586
+ options.sort = [(_ref2 = {}, _ref2[this.$props.dataField] = {
753
587
  order: this.$props.sortBy
754
- }, _ref3)];
588
+ }, _ref2)];
755
589
  } // Override sort query with defaultQuery's sort if defined
756
590
 
757
591
 
@@ -759,20 +593,13 @@ var ReactiveList = {
759
593
 
760
594
  if (this.$props.defaultQuery) {
761
595
  this.$defaultQuery = this.$props.defaultQuery();
762
- options = _rollupPluginBabelHelpers._extends({}, options, getOptionsFromQuery(this.$defaultQuery));
763
-
764
- if (this.$defaultQuery.sort) {
765
- options.sort = this.$defaultQuery.sort;
766
- } // Update calculated default query in store
767
-
596
+ options = _rollupPluginBabelHelpers._extends({}, options, getOptionsForCustomQuery(this.$defaultQuery)); // Update calculated default query in store
768
597
 
769
598
  index.updateDefaultQuery(this.componentId, this.setDefaultQuery, this.$props);
770
599
  } // execute is set to false at the time of mount
771
600
 
772
601
 
773
- var _ref4 = this.$defaultQuery || {},
774
- query = _ref4.query;
775
-
602
+ var query = extractQueryFromCustomQuery(this.$defaultQuery);
776
603
  var execute = false;
777
604
  this.setQueryOptions(this.$props.componentId, _rollupPluginBabelHelpers._extends({}, options, this.getAggsQuery()), execute);
778
605
 
@@ -809,8 +636,8 @@ var ReactiveList = {
809
636
  "attrs": {
810
637
  "labelPosition": this.sortOptions ? 'right' : 'left'
811
638
  },
812
- "class": getClassName$1(this.$props.innerClass, 'resultsInfo')
813
- }, [this.sortOptions ? this.renderSortOptions() : null, this.$props.showResultStats && results.length ? this.renderStats() : null]), !this.isLoading && results.length === 0 ? this.renderNoResult() : null, this.shouldRenderPagination && (this.$props.paginationAt === 'top' || this.$props.paginationAt === 'both') ? h(Pagination, {
639
+ "class": getClassName(this.$props.innerClass, 'resultsInfo')
640
+ }, [this.sortOptions ? this.renderSortOptions() : null, this.$props.showResultStats && results.length ? this.renderStats() : null]), !this.isLoading && hits && hits.length === 0 ? this.renderNoResult() : null, this.shouldRenderPagination && (this.$props.paginationAt === 'top' || this.$props.paginationAt === 'both') ? h(Pagination.Pagination, {
814
641
  "attrs": {
815
642
  "pages": this.$props.pages,
816
643
  "totalPages": this.totalPages,
@@ -826,7 +653,7 @@ var ReactiveList = {
826
653
  margin: '20px 0',
827
654
  color: '#666'
828
655
  }
829
- }, ["Loading..."]) : null, this.shouldRenderPagination && (this.$props.paginationAt === 'bottom' || this.$props.paginationAt === 'both') ? h(Pagination, {
656
+ }, ["Loading..."]) : null, this.shouldRenderPagination && (this.$props.paginationAt === 'bottom' || this.$props.paginationAt === 'both') ? h(Pagination.Pagination, {
830
657
  "attrs": {
831
658
  "pages": this.$props.pages,
832
659
  "totalPages": Math.ceil(this.$data.total / this.$props.size),
@@ -841,7 +668,7 @@ var ReactiveList = {
841
668
  "attrs": {
842
669
  "direction": "row-reverse"
843
670
  },
844
- "class": getClassName$1(this.$props.innerClass, 'poweredBy')
671
+ "class": getClassName(this.$props.innerClass, 'poweredBy')
845
672
  }, [h(PoweredBy)]) : null]);
846
673
  },
847
674
  methods: {
@@ -861,7 +688,7 @@ var ReactiveList = {
861
688
  var size = this.$props.size;
862
689
  var renderItem = this.$scopedSlots.renderItem || this.$props.renderItem;
863
690
  var element = this.hasCustomRender ? this.getComponent() : h("div", {
864
- "class": this.$props.listClass + " " + getClassName$1(this.$props.innerClass, 'list')
691
+ "class": this.$props.listClass + " " + getClassName(this.$props.innerClass, 'list')
865
692
  }, [this.data.map(function (item, index) {
866
693
  return renderItem({
867
694
  item: item,
@@ -887,18 +714,18 @@ var ReactiveList = {
887
714
  }) : 0;
888
715
 
889
716
  if (props.sortOptions[sortOptionIndex]) {
890
- var _ref5;
717
+ var _ref3;
891
718
 
892
- options.sort = [(_ref5 = {}, _ref5[props.sortOptions[sortOptionIndex].dataField] = {
719
+ options.sort = [(_ref3 = {}, _ref3[props.sortOptions[sortOptionIndex].dataField] = {
893
720
  order: props.sortOptions[sortOptionIndex].sortBy
894
- }, _ref5)];
721
+ }, _ref3)];
895
722
  }
896
723
  } else if (props.sortBy) {
897
- var _ref6;
724
+ var _ref4;
898
725
 
899
- options.sort = [(_ref6 = {}, _ref6[props.dataField] = {
726
+ options.sort = [(_ref4 = {}, _ref4[props.dataField] = {
900
727
  order: props.sortBy
901
- }, _ref6)];
728
+ }, _ref4)];
902
729
  }
903
730
 
904
731
  this.setQueryOptions(this.$props.componentId, _rollupPluginBabelHelpers._extends({}, options, this.getAggsQuery()), true);
@@ -979,7 +806,7 @@ var ReactiveList = {
979
806
 
980
807
  if (this.stats.numberOfResults) {
981
808
  return h("p", {
982
- "class": resultStats + " " + getClassName$1(this.$props.innerClass, 'resultStats')
809
+ "class": resultStats + " " + getClassName(this.$props.innerClass, 'resultStats')
983
810
  }, [this.stats.numberOfResults, " results found in ", this.stats.time || 0, "ms"]);
984
811
  }
985
812
 
@@ -994,23 +821,23 @@ var ReactiveList = {
994
821
  }
995
822
 
996
823
  return h("p", {
997
- "class": getClassName$1(this.$props.innerClass, 'noResults') || null
824
+ "class": getClassName(this.$props.innerClass, 'noResults') || null
998
825
  }, [index.isFunction(renderNoResults) ? renderNoResults() : renderNoResults]);
999
826
  },
1000
827
  handleSortChange: function handleSortChange(e) {
1001
828
  var index = e.target.value;
1002
829
 
1003
830
  if (this.sortOptions && this.sortOptions[index]) {
1004
- var _ref7;
831
+ var _ref5;
1005
832
 
1006
833
  // This fixes issue #371 (where sorting a multi-result page with infinite loader breaks)
1007
834
  var options = getQueryOptions(this.$props);
1008
835
  options.from = 0;
1009
836
  var sortField = this.sortOptions[index].dataField;
1010
837
  var sortBy = this.sortOptions[index].sortBy;
1011
- options.sort = [(_ref7 = {}, _ref7[sortField] = {
838
+ options.sort = [(_ref5 = {}, _ref5[sortField] = {
1012
839
  order: sortBy
1013
- }, _ref7)];
840
+ }, _ref5)];
1014
841
  this.sortOptionIndex = index; // To handle sort options for RS API
1015
842
 
1016
843
  this.updateComponentProps(this.componentId, {
@@ -1018,8 +845,11 @@ var ReactiveList = {
1018
845
  sortBy: sortBy
1019
846
  }, constants.componentTypes.reactiveList);
1020
847
  this.setQueryOptions(this.$props.componentId, options, true);
848
+ this.setPage(0);
1021
849
  this.currentPageState = 0;
1022
850
  this.from = 0;
851
+ var sortOption = this.$props.sortOptions[this.sortOptionIndex] ? this.$props.sortOptions[this.sortOptionIndex].label : null;
852
+ this.setPageURL(this.$props.componentId + "sortOption", sortOption, this.$props.componentId + "sortOption", false, this.$props.URLParams);
1023
853
  }
1024
854
  },
1025
855
  triggerClickAnalytics: function triggerClickAnalytics(searchPosition, documentId) {
@@ -1043,7 +873,7 @@ var ReactiveList = {
1043
873
  renderSortOptions: function renderSortOptions() {
1044
874
  var h = this.$createElement;
1045
875
  return h("select", {
1046
- "class": sortOptions + " " + getClassName$1(this.$props.innerClass, 'sortOptions'),
876
+ "class": sortOptions + " " + getClassName(this.$props.innerClass, 'sortOptions'),
1047
877
  "attrs": {
1048
878
  "name": "sort-options",
1049
879
  "aria-label": "Sort options"
@@ -1131,6 +961,7 @@ var ReactiveList = {
1131
961
  var mapStateToProps = function mapStateToProps(state, props) {
1132
962
  return {
1133
963
  defaultPage: state.selectedValues[props.componentId] && state.selectedValues[props.componentId].value - 1,
964
+ urlSortOption: state.selectedValues[props.componentId + "sortOption"] && state.selectedValues[props.componentId + "sortOption"].value,
1134
965
  hits: state.hits[props.componentId] && state.hits[props.componentId].hits,
1135
966
  rawData: state.rawData[props.componentId],
1136
967
  aggregationData: state.compositeAggregations[props.componentId],
@@ -1171,7 +1002,7 @@ ReactiveList.generateQueryOptions = function (props) {
1171
1002
  options.size = size || 10;
1172
1003
 
1173
1004
  var getSortOption = function getSortOption() {
1174
- var _ref9;
1005
+ var _ref7;
1175
1006
 
1176
1007
  if (defaultSortOption) {
1177
1008
  var sortOption = sortOptionsNew.find(function (option) {
@@ -1179,35 +1010,39 @@ ReactiveList.generateQueryOptions = function (props) {
1179
1010
  });
1180
1011
 
1181
1012
  if (sortOption) {
1182
- var _ref8;
1013
+ var _ref6;
1183
1014
 
1184
- return _ref8 = {}, _ref8[sortOption.dataField] = {
1015
+ return _ref6 = {}, _ref6[sortOption.dataField] = {
1185
1016
  order: sortOption.sortBy
1186
- }, _ref8;
1017
+ }, _ref6;
1187
1018
  }
1188
1019
  }
1189
1020
 
1190
- return _ref9 = {}, _ref9[sortOptionsNew[0].dataField] = {
1021
+ return _ref7 = {}, _ref7[sortOptionsNew[0].dataField] = {
1191
1022
  order: sortOptionsNew[0].sortBy
1192
- }, _ref9;
1023
+ }, _ref7;
1193
1024
  };
1194
1025
 
1195
1026
  if (sortOptionsNew) {
1196
1027
  options.sort = [getSortOption()];
1197
1028
  } else if (sortBy) {
1198
- var _ref10;
1029
+ var _ref8;
1199
1030
 
1200
- options.sort = [(_ref10 = {}, _ref10[dataField] = {
1031
+ options.sort = [(_ref8 = {}, _ref8[dataField] = {
1201
1032
  order: sortBy
1202
- }, _ref10)];
1033
+ }, _ref8)];
1203
1034
  }
1204
1035
 
1205
1036
  return options;
1206
1037
  };
1207
1038
 
1039
+ ReactiveList.hasInternalComponent = function () {
1040
+ return true;
1041
+ };
1042
+
1208
1043
  var RLConnected = ComponentWrapper.ComponentWrapper(index.connect(mapStateToProps, mapDispatchtoProps)(ReactiveList), {
1209
1044
  componentType: constants.componentTypes.reactiveList,
1210
- internalComponent: true
1045
+ internalComponent: ReactiveList.hasInternalComponent()
1211
1046
  });
1212
1047
 
1213
1048
  ReactiveList.install = function (Vue) {
@@ -4,15 +4,15 @@ 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-f127c8b7.js');
7
+ var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-4abdbfff.js');
8
8
  var VueTypes = _interopDefault(require('vue-types'));
9
9
  require('emotion');
10
10
  require('@appbaseio/vue-emotion');
11
11
  require('polished');
12
- var vueTypes = require('./vueTypes-57d01f18.js');
12
+ var vueTypes = require('./vueTypes-6de9d2a9.js');
13
13
  var _mergeJSXProps = _interopDefault(require('@vue/babel-helper-vue-jsx-merge-props'));
14
- var Title = require('./Title-584a8cc8.js');
15
- var Card = require('./Card-fd94ef07.js');
14
+ var Title = require('./Title-39765ee6.js');
15
+ var Card = require('./Card-4b915733.js');
16
16
 
17
17
  var ResultCardTitle = {
18
18
  name: 'ResultCardTitle',
@@ -4,15 +4,15 @@ 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-f127c8b7.js');
7
+ var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-4abdbfff.js');
8
8
  var VueTypes = _interopDefault(require('vue-types'));
9
9
  require('emotion');
10
10
  require('@appbaseio/vue-emotion');
11
11
  require('polished');
12
- var vueTypes = require('./vueTypes-57d01f18.js');
12
+ var vueTypes = require('./vueTypes-6de9d2a9.js');
13
13
  var _mergeJSXProps = _interopDefault(require('@vue/babel-helper-vue-jsx-merge-props'));
14
- var Title = require('./Title-584a8cc8.js');
15
- var ListItem = require('./ListItem-b40adb04.js');
14
+ var Title = require('./Title-39765ee6.js');
15
+ var ListItem = require('./ListItem-933c27e4.js');
16
16
 
17
17
  var ResultListContent = {
18
18
  name: 'ResultListContent',
@@ -6,18 +6,18 @@ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'defau
6
6
 
7
7
  var configureStore = require('@appbaseio/reactivecore');
8
8
  var configureStore__default = _interopDefault(configureStore);
9
- var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-f127c8b7.js');
9
+ var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-4abdbfff.js');
10
10
  var VueTypes = _interopDefault(require('vue-types'));
11
11
  require('@appbaseio/reactivecore/lib/utils/constants');
12
12
  require('emotion');
13
13
  require('@appbaseio/vue-emotion');
14
14
  require('polished');
15
- var Button = require('./Button-11307285.js');
16
- var vueTypes = require('./vueTypes-57d01f18.js');
15
+ var Button = require('./Button-d2f1aeda.js');
16
+ var vueTypes = require('./vueTypes-6de9d2a9.js');
17
17
  require('redux');
18
- var index = require('./index-89c39a9e.js');
19
- var Title = require('./Title-584a8cc8.js');
20
- var Container = require('./Container-526efa6a.js');
18
+ var index = require('./index-d44a0a21.js');
19
+ var Title = require('./Title-39765ee6.js');
20
+ var Container = require('./Container-8a08d663.js');
21
21
 
22
22
  var setValue = configureStore.Actions.setValue,
23
23
  clearValues = configureStore.Actions.clearValues,
@@ -6,26 +6,27 @@ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'defau
6
6
 
7
7
  var configureStore = require('@appbaseio/reactivecore');
8
8
  var configureStore__default = _interopDefault(configureStore);
9
- var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-f127c8b7.js');
9
+ var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-4abdbfff.js');
10
10
  var VueTypes = _interopDefault(require('vue-types'));
11
11
  var constants = require('@appbaseio/reactivecore/lib/utils/constants');
12
12
  require('emotion');
13
13
  require('@appbaseio/vue-emotion');
14
14
  require('polished');
15
- var Button = require('./Button-11307285.js');
16
- var vueTypes = require('./vueTypes-57d01f18.js');
15
+ var Button = require('./Button-d2f1aeda.js');
16
+ var vueTypes = require('./vueTypes-6de9d2a9.js');
17
17
  require('@appbaseio/reactivecore/lib/utils/transform');
18
18
  require('redux');
19
- var index = require('./index-89c39a9e.js');
20
- var ComponentWrapper = require('./ComponentWrapper-32481890.js');
21
- var Title = require('./Title-584a8cc8.js');
22
- require('./CancelSvg-4aa35935.js');
23
- require('./Input-3cc3fa59.js');
19
+ var index = require('./index-d44a0a21.js');
20
+ var ComponentWrapper = require('./ComponentWrapper-7302fe1a.js');
21
+ require('@vue/babel-helper-vue-jsx-merge-props');
22
+ var Title = require('./Title-39765ee6.js');
23
+ require('./CancelSvg-82021d23.js');
24
+ require('./Input-c6f181d5.js');
24
25
  require('compute-scroll-into-view');
25
- var Container = require('./Container-526efa6a.js');
26
+ var Container = require('./Container-8a08d663.js');
26
27
  require('@appbaseio/reactivecore/lib/utils/suggestions');
27
- var utils = require('./utils-1219e1fe.js');
28
- var DropDown = require('./DropDown-cf9bfffc.js');
28
+ var utils = require('./utils-23afb20b.js');
29
+ var DropDown = require('./DropDown-c46d8b0c.js');
29
30
 
30
31
  var updateQuery = configureStore.Actions.updateQuery,
31
32
  setQueryOptions = configureStore.Actions.setQueryOptions,
@@ -35,9 +36,10 @@ var getQueryOptions = configureStore.helper.getQueryOptions,
35
36
  checkValueChange = configureStore.helper.checkValueChange,
36
37
  checkPropChange = configureStore.helper.checkPropChange,
37
38
  getClassName = configureStore.helper.getClassName,
38
- getOptionsFromQuery = configureStore.helper.getOptionsFromQuery,
39
39
  isEqual = configureStore.helper.isEqual,
40
- getCompositeAggsQuery = configureStore.helper.getCompositeAggsQuery;
40
+ getCompositeAggsQuery = configureStore.helper.getCompositeAggsQuery,
41
+ extractQueryFromCustomQuery = configureStore.helper.extractQueryFromCustomQuery,
42
+ getOptionsForCustomQuery = configureStore.helper.getOptionsForCustomQuery;
41
43
  var SingleDropdownList = {
42
44
  name: 'SingleDropdownList',
43
45
  data: function data() {
@@ -291,12 +293,13 @@ var SingleDropdownList = {
291
293
 
292
294
  if (this.defaultQuery) {
293
295
  var defaultQueryToBeSet = this.defaultQuery(value, props) || {};
296
+ var defaultQueryObj = extractQueryFromCustomQuery(defaultQueryToBeSet);
294
297
 
295
- if (defaultQueryToBeSet.query) {
296
- query = defaultQueryToBeSet.query;
298
+ if (defaultQueryObj) {
299
+ query = defaultQueryObj;
297
300
  }
298
301
 
299
- defaultQueryOptions = getOptionsFromQuery(defaultQueryToBeSet); // Update calculated default query in store
302
+ defaultQueryOptions = getOptionsForCustomQuery(defaultQueryToBeSet); // Update calculated default query in store
300
303
 
301
304
  index.updateDefaultQuery(props.componentId, this.setDefaultQuery, props, value);
302
305
  }
@@ -315,10 +318,9 @@ var SingleDropdownList = {
315
318
  var customQueryOptions;
316
319
 
317
320
  if (customQuery) {
318
- var _ref = customQuery(value, props) || {};
319
-
320
- query = _ref.query;
321
- customQueryOptions = getOptionsFromQuery(customQuery(value, props));
321
+ var customQueryCalc = customQuery(value, props);
322
+ query = extractQueryFromCustomQuery(customQueryCalc);
323
+ customQueryOptions = getOptionsForCustomQuery(customQueryCalc);
322
324
  index.updateCustomQuery(props.componentId, this.setCustomQuery, props, value);
323
325
  }
324
326
 
@@ -356,7 +358,7 @@ var SingleDropdownList = {
356
358
 
357
359
  if (props.defaultQuery) {
358
360
  var value = this.$data.currentValue;
359
- var defaultQueryOptions = getOptionsFromQuery(props.defaultQuery(value, props));
361
+ var defaultQueryOptions = getOptionsForCustomQuery(props.defaultQuery(value, props));
360
362
  this.setQueryOptions(this.internalComponent, _rollupPluginBabelHelpers._extends({}, queryOptions, defaultQueryOptions));
361
363
  } else {
362
364
  this.setQueryOptions(this.internalComponent, queryOptions);
@@ -448,6 +450,10 @@ SingleDropdownList.generateQueryOptions = function (props, after) {
448
450
  }) : utils.getAggsQuery(queryOptions, props);
449
451
  };
450
452
 
453
+ SingleDropdownList.hasInternalComponent = function () {
454
+ return true;
455
+ };
456
+
451
457
  var mapStateToProps = function mapStateToProps(state, props) {
452
458
  return {
453
459
  options: props.nestedField && state.aggregations[props.componentId] ? state.aggregations[props.componentId].reactivesearch_nested : state.aggregations[props.componentId],
@@ -469,7 +475,7 @@ var mapDispatchtoProps = {
469
475
  };
470
476
  var ListConnected = ComponentWrapper.ComponentWrapper(index.connect(mapStateToProps, mapDispatchtoProps)(SingleDropdownList), {
471
477
  componentType: constants.componentTypes.singleDropdownList,
472
- internalComponent: true
478
+ internalComponent: SingleDropdownList.hasInternalComponent()
473
479
  });
474
480
 
475
481
  SingleDropdownList.install = function (Vue) {