@appbaseio/reactivesearch-vue 1.16.0-alpha.6 → 1.16.0-alpha.62
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 +16030 -13113
- package/dist/@appbaseio/reactivesearch-vue.umd.js.map +1 -1
- package/dist/@appbaseio/reactivesearch-vue.umd.min.js +5 -5
- package/dist/@appbaseio/reactivesearch-vue.umd.min.js.map +1 -1
- package/dist/cjs/Button-446f819e.js +68 -0
- package/dist/cjs/{DownShift-966a58cb.js → CancelSvg-9f258f4f.js} +60 -16
- package/dist/cjs/Card-642547a8.js +30 -0
- package/dist/cjs/{ComponentWrapper-603848ed.js → ComponentWrapper-ad3dad02.js} +40 -21
- package/dist/cjs/{Container-6cdd3864.js → Container-daf30918.js} +3 -11
- package/dist/cjs/DataSearch-86914b10.js +2322 -0
- package/dist/cjs/DataSearch.js +18 -2151
- package/dist/cjs/{DropDown-f6224ac8.js → DropDown-5513ea77.js} +80 -95
- package/dist/cjs/DynamicRangeSlider.js +107 -43
- package/dist/cjs/Flex-aa517a13.js +52 -0
- package/dist/cjs/FormControlList-c195a592.js +47 -0
- package/dist/cjs/Input-e6603a7e.js +79 -0
- package/dist/cjs/ListItem-8c9e0d68.js +46 -0
- package/dist/cjs/MultiDropdownList.js +102 -68
- package/dist/cjs/MultiList.js +80 -50
- package/dist/cjs/MultiRange.js +21 -16
- package/dist/cjs/{Pagination-af399262.js → Pagination-fe5452fc.js} +14 -8
- package/dist/cjs/RangeInput.js +29 -45
- package/dist/cjs/RangeSlider.js +32 -30
- package/dist/cjs/ReactiveBase.js +87 -56
- package/dist/cjs/ReactiveComponent.js +75 -62
- package/dist/cjs/ReactiveGoogleMap.js +262 -191
- package/dist/cjs/ReactiveList.js +189 -241
- package/dist/cjs/ResultCard.js +8 -6
- package/dist/cjs/ResultList.js +8 -6
- package/dist/cjs/SelectedFilters.js +66 -34
- package/dist/cjs/SingleDropdownList.js +88 -60
- package/dist/cjs/SingleList.js +53 -35
- package/dist/cjs/SingleRange.js +19 -14
- package/dist/cjs/StateProvider.js +39 -10
- package/dist/cjs/{Title-65d39104.js → Title-1de7d0f4.js} +3 -11
- package/dist/cjs/ToggleButton.js +36 -16
- package/dist/cjs/{_rollupPluginBabelHelpers-4abdbfff.js → _rollupPluginBabelHelpers-c705cbe6.js} +2 -4
- package/dist/cjs/{index-baca18c4.js → index-6a167fe0.js} +99 -13
- package/dist/cjs/index.js +31 -25
- package/dist/cjs/initReactivesearch.js +178 -104
- package/dist/cjs/install-004c6aa4.js +1408 -0
- package/dist/cjs/install.js +42 -44
- package/dist/cjs/ssr-3027b848.js +39 -0
- package/dist/cjs/{utils-ea846a20.js → utils-d6a52588.js} +2 -2
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/{vueTypes-c21f265b.js → vueTypes-6de9d2a9.js} +9 -4
- package/dist/es/Button-d8bc15ea.js +59 -0
- package/dist/es/{DownShift-92347b5e.js → CancelSvg-4cfae5fd.js} +56 -17
- package/dist/es/Card-450683f1.js +23 -0
- package/dist/es/{ComponentWrapper-c4c91949.js → ComponentWrapper-424e86fd.js} +40 -21
- package/dist/es/Container-ba826e96.js +10 -0
- package/dist/es/DataSearch-e71a1014.js +2307 -0
- package/dist/es/DataSearch.js +17 -2150
- package/dist/es/{DropDown-3d4291f1.js → DropDown-7d9a15c1.js} +79 -94
- package/dist/es/DynamicRangeSlider.js +107 -43
- package/dist/es/Flex-1f0795c3.js +47 -0
- package/dist/es/FormControlList-c22d64f6.js +40 -0
- package/dist/es/Input-7a2a9fac.js +71 -0
- package/dist/es/ListItem-cad14c5e.js +39 -0
- package/dist/es/MultiDropdownList.js +102 -68
- package/dist/es/MultiList.js +80 -50
- package/dist/es/MultiRange.js +21 -16
- package/dist/es/{Pagination-c2a00175.js → Pagination-3f350098.js} +14 -8
- package/dist/es/RangeInput.js +29 -45
- package/dist/es/RangeSlider.js +32 -30
- package/dist/es/ReactiveBase.js +87 -56
- package/dist/es/ReactiveComponent.js +75 -62
- package/dist/es/ReactiveGoogleMap.js +262 -191
- package/dist/es/ReactiveList.js +189 -241
- package/dist/es/ResultCard.js +8 -6
- package/dist/es/ResultList.js +8 -6
- package/dist/es/SelectedFilters.js +66 -34
- package/dist/es/SingleDropdownList.js +88 -60
- package/dist/es/SingleList.js +53 -35
- package/dist/es/SingleRange.js +19 -14
- package/dist/es/StateProvider.js +39 -10
- package/dist/es/Title-3342664a.js +10 -0
- package/dist/es/ToggleButton.js +36 -16
- package/dist/es/{_rollupPluginBabelHelpers-ecf6c03c.js → _rollupPluginBabelHelpers-76660dab.js} +2 -4
- package/dist/es/{index-185b6266.js → index-7788a843.js} +95 -14
- package/dist/es/index.js +27 -22
- package/dist/es/initReactivesearch.js +179 -105
- package/dist/es/install-b7b604cc.js +1401 -0
- package/dist/es/install.js +40 -46
- package/dist/es/ssr-b2c0b401.js +33 -0
- package/dist/es/{utils-57cc8789.js → utils-9e68acee.js} +2 -2
- package/dist/es/version.js +1 -1
- package/dist/es/{vueTypes-98d938a9.js → vueTypes-9326e0be.js} +9 -4
- package/package.json +6 -4
- package/dist/cjs/Button-d48d4365.js +0 -146
- package/dist/cjs/Card-9748fbb2.js +0 -58
- package/dist/cjs/Flex-befd65fc.js +0 -160
- package/dist/cjs/FormControlList-f3857d4b.js +0 -105
- package/dist/cjs/Input-95cb19f8.js +0 -178
- package/dist/cjs/ListItem-84d185cf.js +0 -84
- package/dist/cjs/ssr-3ca8a14f.js +0 -47
- package/dist/es/Button-27cc8574.js +0 -137
- package/dist/es/Card-1f93780d.js +0 -51
- package/dist/es/Container-88c805ef.js +0 -18
- package/dist/es/Flex-16d1103a.js +0 -155
- package/dist/es/FormControlList-96d44e7b.js +0 -98
- package/dist/es/Input-1159c4b5.js +0 -170
- package/dist/es/ListItem-d22510c9.js +0 -77
- package/dist/es/Title-f0217338.js +0 -18
- package/dist/es/ssr-a710392b.js +0 -41
|
@@ -6,28 +6,28 @@ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'defau
|
|
|
6
6
|
|
|
7
7
|
var configureStore = require('@appbaseio/reactivecore');
|
|
8
8
|
var configureStore__default = _interopDefault(configureStore);
|
|
9
|
-
var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-
|
|
9
|
+
var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-c705cbe6.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
|
var styled = require('@appbaseio/vue-emotion');
|
|
14
14
|
var styled__default = _interopDefault(styled);
|
|
15
15
|
require('polished');
|
|
16
|
-
require('./Button-
|
|
17
|
-
var vueTypes = require('./vueTypes-
|
|
18
|
-
var Pagination = require('./Pagination-
|
|
16
|
+
require('./Button-446f819e.js');
|
|
17
|
+
var vueTypes = require('./vueTypes-6de9d2a9.js');
|
|
18
|
+
var Pagination = require('./Pagination-fe5452fc.js');
|
|
19
19
|
require('@appbaseio/reactivecore/lib/utils/transform');
|
|
20
20
|
require('redux');
|
|
21
|
-
var index = require('./index-
|
|
22
|
-
var ComponentWrapper = require('./ComponentWrapper-
|
|
21
|
+
var index = require('./index-6a167fe0.js');
|
|
22
|
+
var ComponentWrapper = require('./ComponentWrapper-ad3dad02.js');
|
|
23
23
|
var _mergeJSXProps = _interopDefault(require('@vue/babel-helper-vue-jsx-merge-props'));
|
|
24
|
-
var FormControlList = require('./FormControlList-
|
|
24
|
+
var FormControlList = require('./FormControlList-c195a592.js');
|
|
25
25
|
var GmapMapFull = require('gmap-vue');
|
|
26
26
|
var Map = _interopDefault(require('gmap-vue/dist/components-implementation/map'));
|
|
27
27
|
var geohash = _interopDefault(require('ngeohash'));
|
|
28
|
-
var
|
|
29
|
-
var Marker = _interopDefault(require('gmap-vue/dist/components/marker'));
|
|
28
|
+
var Cluster = _interopDefault(require('gmap-vue/dist/components/cluster'));
|
|
30
29
|
var InfoWindow = _interopDefault(require('gmap-vue/dist/components-implementation/info-window'));
|
|
30
|
+
var Marker = _interopDefault(require('gmap-vue/dist/components/marker'));
|
|
31
31
|
var MapElementMixin = _interopDefault(require('gmap-vue/dist/mixins/map-element'));
|
|
32
32
|
|
|
33
33
|
var setStreaming = configureStore.Actions.setStreaming,
|
|
@@ -76,7 +76,7 @@ function withDistinctLat(loc, count) {
|
|
|
76
76
|
|
|
77
77
|
var suffix = 1 / Math.pow(10, noiseFactor) * count;
|
|
78
78
|
|
|
79
|
-
var location = _rollupPluginBabelHelpers._extends(
|
|
79
|
+
var location = _rollupPluginBabelHelpers._extends({}, loc, {
|
|
80
80
|
lat: parseFloat((loc.lat + suffix).toFixed(length))
|
|
81
81
|
});
|
|
82
82
|
|
|
@@ -128,14 +128,13 @@ var ReactiveMap = {
|
|
|
128
128
|
react: vueTypes.types.react,
|
|
129
129
|
size: vueTypes.types.number,
|
|
130
130
|
sortBy: vueTypes.types.sortBy,
|
|
131
|
-
URLParams:
|
|
132
|
-
autoCenter:
|
|
131
|
+
URLParams: VueTypes.bool,
|
|
132
|
+
autoCenter: VueTypes.bool,
|
|
133
133
|
getMapRef: VueTypes.func.isRequired,
|
|
134
134
|
center: vueTypes.types.location,
|
|
135
135
|
defaultCenter: vueTypes.types.location,
|
|
136
136
|
defaultPin: vueTypes.types.string,
|
|
137
137
|
defaultZoom: VueTypes.number.def(13),
|
|
138
|
-
markerProps: vueTypes.types.props,
|
|
139
138
|
defaultQuery: vueTypes.types.func,
|
|
140
139
|
innerClass: vueTypes.types.style,
|
|
141
140
|
loader: vueTypes.types.title,
|
|
@@ -144,17 +143,19 @@ var ReactiveMap = {
|
|
|
144
143
|
renderError: vueTypes.types.title,
|
|
145
144
|
pages: VueTypes.number.def(5),
|
|
146
145
|
currentPage: VueTypes.number.def(0),
|
|
147
|
-
pagination:
|
|
148
|
-
showMarkers:
|
|
149
|
-
defaultSearchAsMove:
|
|
150
|
-
showSearchAsMove:
|
|
146
|
+
pagination: VueTypes.bool,
|
|
147
|
+
showMarkers: VueTypes.bool,
|
|
148
|
+
defaultSearchAsMove: VueTypes.bool,
|
|
149
|
+
showSearchAsMove: VueTypes.bool,
|
|
151
150
|
defaultRadius: vueTypes.types.number,
|
|
152
151
|
unit: vueTypes.types.string,
|
|
153
|
-
autoClosePopover:
|
|
152
|
+
autoClosePopover: VueTypes.bool,
|
|
154
153
|
renderMap: VueTypes.func.isRequired,
|
|
155
154
|
renderPopover: VueTypes.func,
|
|
156
|
-
calculateMarkers: VueTypes.func
|
|
155
|
+
calculateMarkers: VueTypes.func,
|
|
156
|
+
searchAsMoveLabel: VueTypes.string.def('Search as I move the map')
|
|
157
157
|
},
|
|
158
|
+
preserveCenter: false,
|
|
158
159
|
data: function data() {
|
|
159
160
|
var props = this.$props;
|
|
160
161
|
var currentPageState = 0;
|
|
@@ -168,7 +169,6 @@ var ReactiveMap = {
|
|
|
168
169
|
zoom: props.defaultZoom,
|
|
169
170
|
searchAsMove: props.defaultSearchAsMove,
|
|
170
171
|
currentPageState: currentPageState,
|
|
171
|
-
preserveCenter: false,
|
|
172
172
|
mapBoxBounds: null,
|
|
173
173
|
markersData: null
|
|
174
174
|
};
|
|
@@ -182,7 +182,7 @@ var ReactiveMap = {
|
|
|
182
182
|
var _this$getAllData = this.getAllData(),
|
|
183
183
|
resultsToRender = _this$getAllData.resultsToRender;
|
|
184
184
|
|
|
185
|
-
return _rollupPluginBabelHelpers._extends(
|
|
185
|
+
return _rollupPluginBabelHelpers._extends({}, getResultStats(this), {
|
|
186
186
|
currentPage: this.currentPageState,
|
|
187
187
|
displayedResults: resultsToRender.length
|
|
188
188
|
});
|
|
@@ -217,16 +217,19 @@ var ReactiveMap = {
|
|
|
217
217
|
var queryOptions = getOptionsFromQuery(this.$defaultQuery);
|
|
218
218
|
|
|
219
219
|
if (queryOptions) {
|
|
220
|
-
options = _rollupPluginBabelHelpers._extends(
|
|
220
|
+
options = _rollupPluginBabelHelpers._extends({}, options, getOptionsFromQuery(this.$defaultQuery));
|
|
221
221
|
} // Update calculated default query in store
|
|
222
222
|
|
|
223
223
|
|
|
224
|
-
this.setQueryOptions(this.$props.componentId, options,
|
|
224
|
+
this.setQueryOptions(this.$props.componentId, options, false);
|
|
225
225
|
var persistMapQuery = true;
|
|
226
226
|
var forceExecute = true; // Update default query to include the geo bounding box query
|
|
227
227
|
|
|
228
228
|
this.setDefaultQueryForRSAPI();
|
|
229
|
-
|
|
229
|
+
var meta = {
|
|
230
|
+
mapBoxBounds: this.mapBoxBounds
|
|
231
|
+
};
|
|
232
|
+
this.setMapData(this.componentId, query, persistMapQuery, forceExecute, meta);
|
|
230
233
|
this.currentPageState = 0;
|
|
231
234
|
this.from = 0;
|
|
232
235
|
}
|
|
@@ -285,7 +288,7 @@ var ReactiveMap = {
|
|
|
285
288
|
}).map(function (item) {
|
|
286
289
|
var _extends2;
|
|
287
290
|
|
|
288
|
-
return _rollupPluginBabelHelpers._extends(
|
|
291
|
+
return _rollupPluginBabelHelpers._extends({}, item, (_extends2 = {}, _extends2[_this.dataField] = getLocationObject(item[_this.dataField]), _extends2));
|
|
289
292
|
});
|
|
290
293
|
this.filteredResults = this.addNoise(filteredResults);
|
|
291
294
|
|
|
@@ -410,10 +413,10 @@ var ReactiveMap = {
|
|
|
410
413
|
|
|
411
414
|
var mapRef = this.getMapRef();
|
|
412
415
|
|
|
413
|
-
if (mapRef && typeof mapRef.getCenter === 'function' && this.preserveCenter) {
|
|
416
|
+
if (mapRef && typeof mapRef.getCenter === 'function' && this.$options.preserveCenter) {
|
|
414
417
|
var currentCenter = mapRef.getCenter();
|
|
415
418
|
setTimeout(function () {
|
|
416
|
-
_this4.preserveCenter = false;
|
|
419
|
+
_this4.$options.preserveCenter = false;
|
|
417
420
|
}, 100);
|
|
418
421
|
return this.parseLocation({
|
|
419
422
|
lat: currentCenter.lat(),
|
|
@@ -437,7 +440,7 @@ var ReactiveMap = {
|
|
|
437
440
|
|
|
438
441
|
if (this.searchAsMove) {
|
|
439
442
|
this.zoom = zoom;
|
|
440
|
-
this.preserveCenter = true;
|
|
443
|
+
this.$options.preserveCenter = true;
|
|
441
444
|
this.setGeoQuery(true);
|
|
442
445
|
} else {
|
|
443
446
|
this.zoom = zoom;
|
|
@@ -450,14 +453,14 @@ var ReactiveMap = {
|
|
|
450
453
|
},
|
|
451
454
|
handleOnDragEnd: function handleOnDragEnd() {
|
|
452
455
|
if (this.searchAsMove) {
|
|
453
|
-
this.preserveCenter = true;
|
|
456
|
+
this.$options.preserveCenter = true;
|
|
454
457
|
this.setGeoQuery(true);
|
|
455
458
|
}
|
|
456
459
|
|
|
457
460
|
this.$emit('drag-end');
|
|
458
461
|
},
|
|
459
462
|
handlePreserveCenter: function handlePreserveCenter(preserveCenter) {
|
|
460
|
-
this.preserveCenter = preserveCenter;
|
|
463
|
+
this.$options.preserveCenter = preserveCenter;
|
|
461
464
|
},
|
|
462
465
|
handleOnIdle: function handleOnIdle() {
|
|
463
466
|
// only make the geo_bounding query if we have hits data
|
|
@@ -497,7 +500,6 @@ var ReactiveMap = {
|
|
|
497
500
|
defaultPin = this.defaultPin,
|
|
498
501
|
renderPopover = this.renderPopover,
|
|
499
502
|
autoClosePopover = this.autoClosePopover,
|
|
500
|
-
markerProps = this.markerProps,
|
|
501
503
|
renderItem = this.renderItem;
|
|
502
504
|
return {
|
|
503
505
|
resultsToRender: data,
|
|
@@ -510,9 +512,8 @@ var ReactiveMap = {
|
|
|
510
512
|
renderPopover: renderPopover,
|
|
511
513
|
autoClosePopover: autoClosePopover,
|
|
512
514
|
renderSearchAsMove: this.renderSearchAsMove,
|
|
513
|
-
markerProps: markerProps,
|
|
514
515
|
handlePreserveCenter: this.handlePreserveCenter,
|
|
515
|
-
preserveCenter: this.preserveCenter,
|
|
516
|
+
preserveCenter: this.$options.preserveCenter,
|
|
516
517
|
handleOnDragEnd: this.handleOnDragEnd,
|
|
517
518
|
handleOnIdle: this.handleOnIdle,
|
|
518
519
|
handleZoomChange: this.handleZoomChange
|
|
@@ -583,7 +584,7 @@ var ReactiveMap = {
|
|
|
583
584
|
options.from = this.$data.from;
|
|
584
585
|
this.from = value;
|
|
585
586
|
this.currentPageState = page;
|
|
586
|
-
this.loadMoreAction(this.componentId, _rollupPluginBabelHelpers._extends(
|
|
587
|
+
this.loadMoreAction(this.componentId, _rollupPluginBabelHelpers._extends({}, options, {
|
|
587
588
|
from: value
|
|
588
589
|
}), false);
|
|
589
590
|
|
|
@@ -595,29 +596,6 @@ var ReactiveMap = {
|
|
|
595
596
|
setDefaultQueryForRSAPI: function setDefaultQueryForRSAPI() {
|
|
596
597
|
if (this.defaultQuery && typeof this.defaultQuery === 'function') {
|
|
597
598
|
var defaultQuery = this.defaultQuery();
|
|
598
|
-
|
|
599
|
-
if (this.mapBoxBounds) {
|
|
600
|
-
var _geo_bounding_box;
|
|
601
|
-
|
|
602
|
-
var geoQuery = {
|
|
603
|
-
geo_bounding_box: (_geo_bounding_box = {}, _geo_bounding_box[this.dataField] = this.mapBoxBounds, _geo_bounding_box)
|
|
604
|
-
};
|
|
605
|
-
|
|
606
|
-
var _defaultQuery = defaultQuery,
|
|
607
|
-
query = _defaultQuery.query,
|
|
608
|
-
options = _rollupPluginBabelHelpers._objectWithoutPropertiesLoose(_defaultQuery, ["query"]);
|
|
609
|
-
|
|
610
|
-
if (query) {
|
|
611
|
-
// adds defaultQuery's query to geo-query
|
|
612
|
-
// to generate a map query
|
|
613
|
-
defaultQuery = _rollupPluginBabelHelpers._extends({
|
|
614
|
-
query: {
|
|
615
|
-
must: [geoQuery, query]
|
|
616
|
-
}
|
|
617
|
-
}, options);
|
|
618
|
-
}
|
|
619
|
-
}
|
|
620
|
-
|
|
621
599
|
this.setDefaultQuery(this.componentId, defaultQuery);
|
|
622
600
|
}
|
|
623
601
|
},
|
|
@@ -641,7 +619,7 @@ var ReactiveMap = {
|
|
|
641
619
|
var west;
|
|
642
620
|
|
|
643
621
|
if (mapBounds) {
|
|
644
|
-
var
|
|
622
|
+
var _geo_bounding_box;
|
|
645
623
|
|
|
646
624
|
north = mapBounds.getNorthEast().lat();
|
|
647
625
|
south = mapBounds.getSouthWest().lat();
|
|
@@ -653,7 +631,7 @@ var ReactiveMap = {
|
|
|
653
631
|
};
|
|
654
632
|
this.mapBoxBounds = boundingBoxCoordinates;
|
|
655
633
|
var geoQuery = {
|
|
656
|
-
geo_bounding_box: (
|
|
634
|
+
geo_bounding_box: (_geo_bounding_box = {}, _geo_bounding_box[this.dataField] = boundingBoxCoordinates, _geo_bounding_box)
|
|
657
635
|
};
|
|
658
636
|
|
|
659
637
|
if (this.$defaultQuery) {
|
|
@@ -696,7 +674,7 @@ var ReactiveMap = {
|
|
|
696
674
|
var value = this.from + this.size;
|
|
697
675
|
var options = getQueryOptions(this.$props);
|
|
698
676
|
this.from = value;
|
|
699
|
-
this.loadMoreAction(this.componentId, _rollupPluginBabelHelpers._extends(
|
|
677
|
+
this.loadMoreAction(this.componentId, _rollupPluginBabelHelpers._extends({}, options, {
|
|
700
678
|
from: value
|
|
701
679
|
}), true);
|
|
702
680
|
}
|
|
@@ -724,13 +702,14 @@ var ReactiveMap = {
|
|
|
724
702
|
base = _this$getAllData3.base;
|
|
725
703
|
|
|
726
704
|
return results.map(function (result, index) {
|
|
727
|
-
return _rollupPluginBabelHelpers._extends(
|
|
705
|
+
return _rollupPluginBabelHelpers._extends({}, result, {
|
|
728
706
|
_click_id: base + index
|
|
729
707
|
});
|
|
730
708
|
});
|
|
731
709
|
},
|
|
732
710
|
toggleSearchAsMove: function toggleSearchAsMove() {
|
|
733
711
|
this.searchAsMove = !this.searchAsMove;
|
|
712
|
+
this.$emit('search-as-move', this.searchAsMove);
|
|
734
713
|
},
|
|
735
714
|
renderErrorComponent: function renderErrorComponent() {
|
|
736
715
|
var renderError = this.$scopedSlots.renderError || this.$props.renderError;
|
|
@@ -776,7 +755,7 @@ var ReactiveMap = {
|
|
|
776
755
|
"className": getClassName(this.innerClass, 'label') || null,
|
|
777
756
|
"for": this.$props.componentId + "-searchasmove"
|
|
778
757
|
}
|
|
779
|
-
}, [
|
|
758
|
+
}, [this.searchAsMoveLabel])]);
|
|
780
759
|
}
|
|
781
760
|
|
|
782
761
|
return null;
|
|
@@ -830,7 +809,7 @@ var ReactiveMap = {
|
|
|
830
809
|
|
|
831
810
|
if (this.$props.defaultQuery) {
|
|
832
811
|
this.$defaultQuery = this.$props.defaultQuery();
|
|
833
|
-
options = _rollupPluginBabelHelpers._extends(
|
|
812
|
+
options = _rollupPluginBabelHelpers._extends({}, options, getOptionsFromQuery(this.$defaultQuery)); // Override sort query with defaultQuery's sort if defined
|
|
834
813
|
|
|
835
814
|
if (this.$defaultQuery.sort) {
|
|
836
815
|
options.sort = this.$defaultQuery.sort;
|
|
@@ -844,7 +823,10 @@ var ReactiveMap = {
|
|
|
844
823
|
var forceExecute = false; // Update default query for RS API
|
|
845
824
|
|
|
846
825
|
this.setDefaultQueryForRSAPI();
|
|
847
|
-
|
|
826
|
+
var meta = {
|
|
827
|
+
mapBoxBounds: this.mapBoxBounds
|
|
828
|
+
};
|
|
829
|
+
this.setMapData(this.componentId, this.$defaultQuery.query, persistMapQuery, forceExecute, meta);
|
|
848
830
|
} else {
|
|
849
831
|
// only apply geo-distance when defaultQuery prop is not set
|
|
850
832
|
var query = this.getGeoDistanceQuery();
|
|
@@ -864,11 +846,11 @@ var ReactiveMap = {
|
|
|
864
846
|
|
|
865
847
|
var center = this.center || this.defaultCenter;
|
|
866
848
|
var coordinatesObject = this.getArrPosition(center);
|
|
867
|
-
var
|
|
849
|
+
var _meta = {
|
|
868
850
|
distance: this.defaultRadius,
|
|
869
851
|
coordinates: coordinatesObject.lat + ", " + coordinatesObject.lon
|
|
870
852
|
};
|
|
871
|
-
this.setMapData(this.componentId, query, _persistMapQuery, _forceExecute,
|
|
853
|
+
this.setMapData(this.componentId, query, _persistMapQuery, _forceExecute, _meta);
|
|
872
854
|
}
|
|
873
855
|
}
|
|
874
856
|
|
|
@@ -878,7 +860,7 @@ var ReactiveMap = {
|
|
|
878
860
|
var h = arguments[0];
|
|
879
861
|
var loader = this.$scopedSlots.loader || this.$props.loader;
|
|
880
862
|
return h("div", {
|
|
881
|
-
"style": _rollupPluginBabelHelpers._extends(
|
|
863
|
+
"style": _rollupPluginBabelHelpers._extends({}, style, this.$props.style),
|
|
882
864
|
"class": this.$props.className
|
|
883
865
|
}, [this.renderErrorComponent(), this.isLoading && loader, this.hasCustomRender ? this.getComponent() : null, this.renderMap(this.getMapParams()), this.pagination ? this.renderPagination() : null]);
|
|
884
866
|
}
|
|
@@ -922,9 +904,46 @@ ReactiveMap.install = function (Vue) {
|
|
|
922
904
|
|
|
923
905
|
ReactiveMap.componentType = constants.componentTypes.reactiveMap;
|
|
924
906
|
|
|
907
|
+
var InfoWindowWrapper = {
|
|
908
|
+
name: 'InfoWindowWrapper',
|
|
909
|
+
props: {
|
|
910
|
+
id: VueTypes.string,
|
|
911
|
+
renderPopover: VueTypes.func,
|
|
912
|
+
infoWindowProps: VueTypes.object,
|
|
913
|
+
events: VueTypes.object
|
|
914
|
+
},
|
|
915
|
+
data: function data() {
|
|
916
|
+
return {
|
|
917
|
+
infoWindowRef: null
|
|
918
|
+
};
|
|
919
|
+
},
|
|
920
|
+
mounted: function mounted() {
|
|
921
|
+
this.infoWindowRef = this.$refs[this.id + "-Info-Window"];
|
|
922
|
+
},
|
|
923
|
+
methods: {
|
|
924
|
+
handleClose: function handleClose() {
|
|
925
|
+
this.infoWindowRef.$infoWindowObject.close();
|
|
926
|
+
}
|
|
927
|
+
},
|
|
928
|
+
render: function render() {
|
|
929
|
+
var h = arguments[0];
|
|
930
|
+
var renderPopover = this.renderPopover,
|
|
931
|
+
events = this.events;
|
|
932
|
+
return h(InfoWindow, {
|
|
933
|
+
"ref": this.id + "-Info-Window",
|
|
934
|
+
"props": _rollupPluginBabelHelpers._extends({}, this.infoWindowProps),
|
|
935
|
+
"on": _rollupPluginBabelHelpers._extends({}, events)
|
|
936
|
+
}, [h("div", [renderPopover(this.handleClose)])]);
|
|
937
|
+
}
|
|
938
|
+
};
|
|
939
|
+
|
|
925
940
|
var MarkerWithLabel = {
|
|
926
941
|
name: 'MarkerWithLabel',
|
|
927
942
|
props: {
|
|
943
|
+
metaData: {
|
|
944
|
+
type: Object,
|
|
945
|
+
"default": undefined
|
|
946
|
+
},
|
|
928
947
|
marker: {
|
|
929
948
|
type: Object,
|
|
930
949
|
"default": undefined
|
|
@@ -1024,6 +1043,7 @@ var MarkerWithLabel = {
|
|
|
1024
1043
|
var _this3;
|
|
1025
1044
|
|
|
1026
1045
|
_this3 = _window$google$maps$O.call(this) || this;
|
|
1046
|
+
_this3.metaData = self.metaData;
|
|
1027
1047
|
|
|
1028
1048
|
_this3.setMap(map2);
|
|
1029
1049
|
|
|
@@ -1189,47 +1209,17 @@ var MarkerWithLabel = {
|
|
|
1189
1209
|
},
|
|
1190
1210
|
"on": {
|
|
1191
1211
|
"mouseover": this.handleMouseOver,
|
|
1192
|
-
"focus": this.handleFocus,
|
|
1193
1212
|
"mouseout": this.handleMouseOut,
|
|
1194
|
-
"blur": this.handleBlur,
|
|
1195
1213
|
"click": this.handleClick
|
|
1196
1214
|
}
|
|
1197
1215
|
}, [this.renderMarker()]);
|
|
1198
1216
|
}
|
|
1199
1217
|
};
|
|
1200
1218
|
|
|
1201
|
-
|
|
1202
|
-
|
|
1203
|
-
|
|
1204
|
-
|
|
1205
|
-
return data;
|
|
1206
|
-
};
|
|
1207
|
-
|
|
1208
|
-
return data;
|
|
1209
|
-
}
|
|
1210
|
-
|
|
1211
|
-
function _templateObject2() {
|
|
1212
|
-
var data = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\tborder-color: rgba(0, 0, 0, 0.2);\n\tborder-style: solid;\n\tborder-width: 0 1px 1px 0;\n\tmargin-left: -6px;\n\tbackground-color: #fff;\n\tmargin-top: -6px;\n\twidth: 12px;\n\theight: 12px;\n\t-webkit-transform: rotate(45deg);\n\t-ms-transform: rotate(45deg);\n\ttransform: rotate(45deg);\n"]);
|
|
1213
|
-
|
|
1214
|
-
_templateObject2 = function _templateObject2() {
|
|
1215
|
-
return data;
|
|
1216
|
-
};
|
|
1217
|
-
|
|
1218
|
-
return data;
|
|
1219
|
-
}
|
|
1220
|
-
|
|
1221
|
-
function _templateObject() {
|
|
1222
|
-
var data = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\theight: 24px;\n\twidth: auto;\n\tbackground-color: #fff;\n\tborder-radius: 2px;\n\tcolor: #222;\n\tbox-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.15);\n\tpadding: 3px 6px;\n\tfont-size: 15px;\n"]);
|
|
1223
|
-
|
|
1224
|
-
_templateObject = function _templateObject() {
|
|
1225
|
-
return data;
|
|
1226
|
-
};
|
|
1227
|
-
|
|
1228
|
-
return data;
|
|
1229
|
-
}
|
|
1230
|
-
var MapPin = styled__default('div')(_templateObject());
|
|
1231
|
-
var MapPinArrow = styled__default('div')(_templateObject2());
|
|
1232
|
-
var mapPinWrapper = styled.css(_templateObject3());
|
|
1219
|
+
var _templateObject, _templateObject2, _templateObject3;
|
|
1220
|
+
var MapPin = styled__default('div')(_templateObject || (_templateObject = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\theight: 24px;\n\twidth: auto;\n\tbackground-color: #fff;\n\tborder-radius: 2px;\n\tcolor: #222;\n\tbox-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.15);\n\tpadding: 3px 6px;\n\tfont-size: 15px;\n"])));
|
|
1221
|
+
var MapPinArrow = styled__default('div')(_templateObject2 || (_templateObject2 = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\tborder-color: rgba(0, 0, 0, 0.2);\n\tborder-style: solid;\n\tborder-width: 0 1px 1px 0;\n\tmargin-left: -6px;\n\tbackground-color: #fff;\n\tmargin-top: -6px;\n\twidth: 12px;\n\theight: 12px;\n\t-webkit-transform: rotate(45deg);\n\t-ms-transform: rotate(45deg);\n\ttransform: rotate(45deg);\n"])));
|
|
1222
|
+
var mapPinWrapper = styled.css(_templateObject3 || (_templateObject3 = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\t&:hover,\n\t&:focus {\n\t\tz-index: 200;\n\t}\n"])));
|
|
1233
1223
|
|
|
1234
1224
|
var recordResultClick$1 = configureStore.Actions.recordResultClick;
|
|
1235
1225
|
var GoogleMapMarker = {
|
|
@@ -1238,54 +1228,63 @@ var GoogleMapMarker = {
|
|
|
1238
1228
|
index: VueTypes.number,
|
|
1239
1229
|
marker: VueTypes.object.isRequired,
|
|
1240
1230
|
getPosition: VueTypes.func.isRequired,
|
|
1241
|
-
markerOnTop: VueTypes.string,
|
|
1242
1231
|
defaultPin: VueTypes.string,
|
|
1243
1232
|
renderItem: VueTypes.func,
|
|
1244
|
-
setMarkerOnTop: VueTypes.func.isRequired,
|
|
1245
1233
|
setOpenMarkers: VueTypes.func.isRequired,
|
|
1246
1234
|
handlePreserveCenter: VueTypes.func.isRequired,
|
|
1247
1235
|
autoClosePopover: VueTypes.bool,
|
|
1248
1236
|
openMarkers: VueTypes.object,
|
|
1249
|
-
renderPopover: VueTypes.func
|
|
1237
|
+
renderPopover: VueTypes.func,
|
|
1238
|
+
highlightMarkerOnHover: VueTypes.bool
|
|
1239
|
+
},
|
|
1240
|
+
data: function data() {
|
|
1241
|
+
return {
|
|
1242
|
+
zIndex: 0,
|
|
1243
|
+
markerIcon: null
|
|
1244
|
+
};
|
|
1250
1245
|
},
|
|
1251
1246
|
methods: {
|
|
1252
1247
|
increaseMarkerZIndex: function increaseMarkerZIndex() {
|
|
1253
|
-
var
|
|
1254
|
-
|
|
1255
|
-
|
|
1256
|
-
|
|
1257
|
-
|
|
1248
|
+
var handlePreserveCenter = this.$props.handlePreserveCenter;
|
|
1249
|
+
|
|
1250
|
+
if (this.highlightMarkerOnHover) {
|
|
1251
|
+
this.zIndex += 1;
|
|
1252
|
+
}
|
|
1253
|
+
|
|
1258
1254
|
handlePreserveCenter(true);
|
|
1259
1255
|
},
|
|
1260
1256
|
removeMarkerZIndex: function removeMarkerZIndex() {
|
|
1261
|
-
var
|
|
1262
|
-
|
|
1263
|
-
|
|
1264
|
-
|
|
1257
|
+
var handlePreserveCenter = this.$props.handlePreserveCenter;
|
|
1258
|
+
|
|
1259
|
+
if (this.highlightMarkerOnHover) {
|
|
1260
|
+
this.zIndex -= 1;
|
|
1261
|
+
}
|
|
1262
|
+
|
|
1265
1263
|
handlePreserveCenter(true);
|
|
1266
1264
|
},
|
|
1267
1265
|
openMarker: function openMarker() {
|
|
1268
1266
|
var _ref, _extends2;
|
|
1269
1267
|
|
|
1270
|
-
var _this$$
|
|
1271
|
-
handleOpenMarkers = _this$$
|
|
1272
|
-
openMarkers = _this$$
|
|
1273
|
-
marker = _this$$
|
|
1274
|
-
autoClosePopover = _this$$
|
|
1275
|
-
handlePreserveCenter = _this$$
|
|
1268
|
+
var _this$$props = this.$props,
|
|
1269
|
+
handleOpenMarkers = _this$$props.setOpenMarkers,
|
|
1270
|
+
openMarkers = _this$$props.openMarkers,
|
|
1271
|
+
marker = _this$$props.marker,
|
|
1272
|
+
autoClosePopover = _this$$props.autoClosePopover,
|
|
1273
|
+
handlePreserveCenter = _this$$props.handlePreserveCenter;
|
|
1276
1274
|
var id = marker._id;
|
|
1277
|
-
var newOpenMarkers = autoClosePopover ? (_ref = {}, _ref[id] = true, _ref) : _rollupPluginBabelHelpers._extends(
|
|
1275
|
+
var newOpenMarkers = autoClosePopover ? (_ref = {}, _ref[id] = true, _ref) : _rollupPluginBabelHelpers._extends({}, openMarkers, (_extends2 = {}, _extends2[id] = true, _extends2));
|
|
1278
1276
|
handleOpenMarkers(newOpenMarkers);
|
|
1279
1277
|
handlePreserveCenter(true);
|
|
1280
1278
|
this.triggerAnalytics();
|
|
1279
|
+
this.$emit('open-marker-popover', marker);
|
|
1281
1280
|
},
|
|
1282
1281
|
closeMarker: function closeMarker() {
|
|
1283
|
-
var _this$$
|
|
1284
|
-
handleOpenMarkers = _this$$
|
|
1285
|
-
marker = _this$$
|
|
1286
|
-
autoClosePopover = _this$$
|
|
1287
|
-
handlePreserveCenter = _this$$
|
|
1288
|
-
openMarkers = _this$$
|
|
1282
|
+
var _this$$props2 = this.$props,
|
|
1283
|
+
handleOpenMarkers = _this$$props2.setOpenMarkers,
|
|
1284
|
+
marker = _this$$props2.marker,
|
|
1285
|
+
autoClosePopover = _this$$props2.autoClosePopover,
|
|
1286
|
+
handlePreserveCenter = _this$$props2.handlePreserveCenter,
|
|
1287
|
+
openMarkers = _this$$props2.openMarkers;
|
|
1289
1288
|
var id = marker._id;
|
|
1290
1289
|
|
|
1291
1290
|
var del = openMarkers[id],
|
|
@@ -1294,6 +1293,7 @@ var GoogleMapMarker = {
|
|
|
1294
1293
|
var newOpenMarkers = autoClosePopover ? {} : activeMarkers;
|
|
1295
1294
|
handleOpenMarkers(newOpenMarkers);
|
|
1296
1295
|
handlePreserveCenter(true);
|
|
1296
|
+
this.$emit('close-marker-popover', marker);
|
|
1297
1297
|
},
|
|
1298
1298
|
triggerAnalytics: function triggerAnalytics() {
|
|
1299
1299
|
this.recordResultClick(this.index, this.marker._id);
|
|
@@ -1307,10 +1307,10 @@ var GoogleMapMarker = {
|
|
|
1307
1307
|
|
|
1308
1308
|
var h = this.$createElement;
|
|
1309
1309
|
var additionalProps = {};
|
|
1310
|
-
var _this$$
|
|
1311
|
-
getPosition = _this$$
|
|
1312
|
-
|
|
1313
|
-
openMarkers = _this$$
|
|
1310
|
+
var _this$$props3 = this.$props,
|
|
1311
|
+
getPosition = _this$$props3.getPosition,
|
|
1312
|
+
_renderPopover = _this$$props3.renderPopover,
|
|
1313
|
+
openMarkers = _this$$props3.openMarkers;
|
|
1314
1314
|
|
|
1315
1315
|
if (includeExternalSettings) {
|
|
1316
1316
|
// to render pop-over correctly with MarkerWithLabel
|
|
@@ -1323,19 +1323,32 @@ var GoogleMapMarker = {
|
|
|
1323
1323
|
}
|
|
1324
1324
|
|
|
1325
1325
|
if (item._id in openMarkers) {
|
|
1326
|
-
return h(
|
|
1327
|
-
"attrs": {
|
|
1328
|
-
"zIndex": 500,
|
|
1329
|
-
"position": additionalProps.position,
|
|
1330
|
-
"options": additionalProps.defaultOptions
|
|
1331
|
-
},
|
|
1326
|
+
return h(InfoWindowWrapper, {
|
|
1332
1327
|
"key": item._id + "-InfoWindow",
|
|
1333
|
-
"
|
|
1334
|
-
"
|
|
1335
|
-
|
|
1328
|
+
"attrs": {
|
|
1329
|
+
"id": item._id,
|
|
1330
|
+
"renderPopover": function renderPopover(_handleClose) {
|
|
1331
|
+
return _renderPopover({
|
|
1332
|
+
item: item,
|
|
1333
|
+
handleClose: function handleClose() {
|
|
1334
|
+
_handleClose();
|
|
1335
|
+
|
|
1336
|
+
_this.closeMarker();
|
|
1337
|
+
}
|
|
1338
|
+
});
|
|
1339
|
+
},
|
|
1340
|
+
"infoWindowProps": {
|
|
1341
|
+
zIndex: 500,
|
|
1342
|
+
position: additionalProps.position,
|
|
1343
|
+
options: additionalProps.defaultOptions
|
|
1344
|
+
},
|
|
1345
|
+
"events": {
|
|
1346
|
+
closeclick: function closeclick() {
|
|
1347
|
+
return _this.closeMarker();
|
|
1348
|
+
}
|
|
1336
1349
|
}
|
|
1337
1350
|
}
|
|
1338
|
-
}
|
|
1351
|
+
});
|
|
1339
1352
|
}
|
|
1340
1353
|
|
|
1341
1354
|
return null;
|
|
@@ -1345,35 +1358,35 @@ var GoogleMapMarker = {
|
|
|
1345
1358
|
var _this2 = this;
|
|
1346
1359
|
|
|
1347
1360
|
var h = arguments[0];
|
|
1348
|
-
var _this$$
|
|
1349
|
-
getPosition = _this$$
|
|
1350
|
-
renderItem = _this$$
|
|
1351
|
-
defaultPin = _this$$
|
|
1352
|
-
|
|
1353
|
-
|
|
1354
|
-
|
|
1355
|
-
customMarkerProps = _this$$props6.markerProps,
|
|
1356
|
-
marker = _this$$props6.marker,
|
|
1357
|
-
markerOnTop = _this$$props6.markerOnTop;
|
|
1361
|
+
var _this$$props4 = this.$props,
|
|
1362
|
+
getPosition = _this$$props4.getPosition,
|
|
1363
|
+
renderItem = _this$$props4.renderItem,
|
|
1364
|
+
defaultPin = _this$$props4.defaultPin,
|
|
1365
|
+
renderPopover = _this$$props4.renderPopover,
|
|
1366
|
+
customMarkerProps = _this$$props4.markerProps,
|
|
1367
|
+
marker = _this$$props4.marker;
|
|
1358
1368
|
var markerProps = {};
|
|
1359
1369
|
|
|
1360
|
-
if (
|
|
1361
|
-
markerProps.zIndex = window.google.maps.Marker.MAX_ZINDEX +
|
|
1370
|
+
if (this.zIndex) {
|
|
1371
|
+
markerProps.zIndex = window.google.maps.Marker.MAX_ZINDEX + this.zIndex;
|
|
1362
1372
|
}
|
|
1363
1373
|
|
|
1364
1374
|
if (renderItem) {
|
|
1375
|
+
marker.setIcon = function (icon) {
|
|
1376
|
+
_this2.markerIcon = icon;
|
|
1377
|
+
};
|
|
1378
|
+
|
|
1365
1379
|
var data = renderItem(marker);
|
|
1366
1380
|
|
|
1367
1381
|
if ('label' in data) {
|
|
1368
1382
|
return h(MarkerWithLabel, {
|
|
1369
1383
|
"key": marker._id,
|
|
1370
1384
|
"attrs": {
|
|
1385
|
+
"metaData": marker,
|
|
1371
1386
|
"marker": getPosition(marker),
|
|
1372
1387
|
"labelAnchor": new window.google.maps.Point(0, 30),
|
|
1373
1388
|
"handleMouseOver": this.increaseMarkerZIndex,
|
|
1374
|
-
"handleFocus": this.increaseMarkerZIndex,
|
|
1375
1389
|
"handleMouseOut": this.removeMarkerZIndex,
|
|
1376
|
-
"handleBlur": this.removeMarkerZIndex,
|
|
1377
1390
|
"handleClick": this.openMarker,
|
|
1378
1391
|
"zIndex": markerProps.zIndex,
|
|
1379
1392
|
"renderMarker": function renderMarker() {
|
|
@@ -1394,12 +1407,11 @@ var GoogleMapMarker = {
|
|
|
1394
1407
|
return h(MarkerWithLabel, {
|
|
1395
1408
|
"key": marker._id,
|
|
1396
1409
|
"attrs": {
|
|
1410
|
+
"metaData": marker,
|
|
1397
1411
|
"marker": getPosition(marker),
|
|
1398
1412
|
"handleClick": this.openMarker,
|
|
1399
1413
|
"handleMouseOver": this.increaseMarkerZIndex,
|
|
1400
|
-
"handleFocus": this.increaseMarkerZIndex,
|
|
1401
1414
|
"handleMouseOut": this.removeMarkerZIndex,
|
|
1402
|
-
"handleBlur": this.removeMarkerZIndex,
|
|
1403
1415
|
"zIndex": markerProps.zIndex,
|
|
1404
1416
|
"renderMarker": function renderMarker() {
|
|
1405
1417
|
return h("div", {
|
|
@@ -1421,18 +1433,19 @@ var GoogleMapMarker = {
|
|
|
1421
1433
|
return h(Marker, {
|
|
1422
1434
|
"key": marker._id,
|
|
1423
1435
|
"attrs": {
|
|
1424
|
-
"icon": markerProps.icon,
|
|
1425
1436
|
"zIndex": markerProps.zIndex,
|
|
1426
|
-
"position": getPosition(marker)
|
|
1437
|
+
"position": getPosition(marker),
|
|
1438
|
+
"options": {
|
|
1439
|
+
metaData: marker
|
|
1440
|
+
},
|
|
1441
|
+
"icon": this.markerIcon || markerProps.icon
|
|
1427
1442
|
},
|
|
1428
1443
|
"on": {
|
|
1429
1444
|
"click": function click() {
|
|
1430
|
-
return _this2.openMarker(
|
|
1445
|
+
return _this2.openMarker();
|
|
1431
1446
|
},
|
|
1432
1447
|
"mouseover": this.increaseMarkerZIndex,
|
|
1433
|
-
"
|
|
1434
|
-
"mouseout": this.removeMarkerZIndex,
|
|
1435
|
-
"blur": this.removeMarkerZIndex
|
|
1448
|
+
"mouseout": this.removeMarkerZIndex
|
|
1436
1449
|
},
|
|
1437
1450
|
"props": _rollupPluginBabelHelpers._extends({}, customMarkerProps)
|
|
1438
1451
|
}, [renderPopover ? this.renderPopoverClick(marker) : null]);
|
|
@@ -1451,34 +1464,51 @@ var GoogleMapMarkers = {
|
|
|
1451
1464
|
resultsToRender: VueTypes.array,
|
|
1452
1465
|
getPosition: VueTypes.func,
|
|
1453
1466
|
renderItem: VueTypes.func,
|
|
1467
|
+
renderClusterPopover: VueTypes.func,
|
|
1454
1468
|
defaultPin: VueTypes.string,
|
|
1455
1469
|
autoClosePopover: VueTypes.bool,
|
|
1456
1470
|
handlePreserveCenter: VueTypes.func,
|
|
1457
1471
|
renderPopover: VueTypes.func,
|
|
1458
1472
|
markerProps: VueTypes.object,
|
|
1459
|
-
|
|
1473
|
+
clusterProps: VueTypes.object,
|
|
1474
|
+
showMarkerClusters: VueTypes.bool,
|
|
1475
|
+
highlightMarkerOnHover: VueTypes.bool
|
|
1460
1476
|
},
|
|
1461
1477
|
data: function data() {
|
|
1462
1478
|
return {
|
|
1463
|
-
|
|
1464
|
-
|
|
1479
|
+
openMarkers: {},
|
|
1480
|
+
clickedCluster: null,
|
|
1481
|
+
clusterMarkers: []
|
|
1465
1482
|
};
|
|
1466
1483
|
},
|
|
1467
1484
|
methods: {
|
|
1468
|
-
setMarkerOnTop: function setMarkerOnTop(markerOnTop) {
|
|
1469
|
-
this.markerOnTop = markerOnTop;
|
|
1470
|
-
},
|
|
1471
1485
|
setOpenMarkers: function setOpenMarkers(openMarkers) {
|
|
1472
1486
|
this.openMarkers = openMarkers;
|
|
1487
|
+
},
|
|
1488
|
+
getAdditionalProps: function getAdditionalProps() {
|
|
1489
|
+
return {
|
|
1490
|
+
position: {
|
|
1491
|
+
lat: this.clickedCluster.getCenter().lat(),
|
|
1492
|
+
lng: this.clickedCluster.getCenter().lng()
|
|
1493
|
+
},
|
|
1494
|
+
defaultOptions: {
|
|
1495
|
+
pixelOffset: new window.google.maps.Size(0, -30)
|
|
1496
|
+
}
|
|
1497
|
+
};
|
|
1498
|
+
},
|
|
1499
|
+
closeMarker: function closeMarker() {
|
|
1500
|
+
this.clickedCluster = null;
|
|
1501
|
+
this.clusterMarkers = [];
|
|
1502
|
+
this.$emit('close-cluster-popover');
|
|
1473
1503
|
}
|
|
1474
1504
|
},
|
|
1475
1505
|
render: function render() {
|
|
1506
|
+
var _this = this;
|
|
1507
|
+
|
|
1476
1508
|
var h = arguments[0];
|
|
1477
1509
|
var resultsToRender = this.$props.resultsToRender;
|
|
1478
|
-
var
|
|
1479
|
-
openMarkers = this.openMarkers;
|
|
1510
|
+
var openMarkers = this.openMarkers;
|
|
1480
1511
|
var markerProps = {
|
|
1481
|
-
markerOnTop: markerOnTop,
|
|
1482
1512
|
openMarkers: openMarkers,
|
|
1483
1513
|
setMarkerOnTop: this.setMarkerOnTop,
|
|
1484
1514
|
setOpenMarkers: this.setOpenMarkers,
|
|
@@ -1489,19 +1519,58 @@ var GoogleMapMarkers = {
|
|
|
1489
1519
|
handlePreserveCenter: this.handlePreserveCenter,
|
|
1490
1520
|
renderPopover: this.renderPopover,
|
|
1491
1521
|
markerProps: this.markerProps,
|
|
1492
|
-
showMarkerClusters: this.showMarkerClusters
|
|
1522
|
+
showMarkerClusters: this.showMarkerClusters,
|
|
1523
|
+
highlightMarkerOnHover: this.highlightMarkerOnHover
|
|
1493
1524
|
};
|
|
1494
1525
|
|
|
1495
1526
|
if (this.showMarkerClusters) {
|
|
1496
|
-
return h(
|
|
1527
|
+
return h("div", [h(Cluster, {
|
|
1528
|
+
"props": _rollupPluginBabelHelpers._extends({}, this.clusterProps),
|
|
1529
|
+
"on": {
|
|
1530
|
+
"click": function click(cluster) {
|
|
1531
|
+
var markers = cluster.markers.map(function (i) {
|
|
1532
|
+
return i.metaData;
|
|
1533
|
+
});
|
|
1534
|
+
_this.clickedCluster = cluster;
|
|
1535
|
+
_this.clusterMarkers = markers;
|
|
1536
|
+
|
|
1537
|
+
_this.$emit('open-cluster-popover', _this.clusterMarkers);
|
|
1538
|
+
}
|
|
1539
|
+
},
|
|
1540
|
+
"ref": "clusterRef"
|
|
1541
|
+
}, [resultsToRender.map(function (marker, index) {
|
|
1497
1542
|
return h(GoogleMapMarker$1, {
|
|
1498
1543
|
"attrs": {
|
|
1499
1544
|
"index": index,
|
|
1500
1545
|
"marker": marker
|
|
1501
1546
|
},
|
|
1502
|
-
"props": _rollupPluginBabelHelpers._extends({}, markerProps)
|
|
1547
|
+
"props": _rollupPluginBabelHelpers._extends({}, markerProps),
|
|
1548
|
+
"on": _rollupPluginBabelHelpers._extends({}, _this.$listeners)
|
|
1503
1549
|
});
|
|
1504
|
-
})])
|
|
1550
|
+
})]), this.clickedCluster && this.renderClusterPopover ? h(InfoWindowWrapper, {
|
|
1551
|
+
"attrs": {
|
|
1552
|
+
"id": "cluster",
|
|
1553
|
+
"infoWindowProps": {
|
|
1554
|
+
zIndex: 500,
|
|
1555
|
+
position: this.getAdditionalProps().position,
|
|
1556
|
+
options: this.getAdditionalProps().defaultOptions
|
|
1557
|
+
},
|
|
1558
|
+
"renderPopover": function renderPopover(_handleClose) {
|
|
1559
|
+
return _this.renderClusterPopover({
|
|
1560
|
+
markers: _this.clusterMarkers,
|
|
1561
|
+
cluster: _this.clickedCluster,
|
|
1562
|
+
handleClose: function handleClose() {
|
|
1563
|
+
_handleClose();
|
|
1564
|
+
|
|
1565
|
+
_this.closeMarker();
|
|
1566
|
+
}
|
|
1567
|
+
});
|
|
1568
|
+
},
|
|
1569
|
+
"events": {
|
|
1570
|
+
closeclick: this.closeMarker
|
|
1571
|
+
}
|
|
1572
|
+
}
|
|
1573
|
+
}) : null]);
|
|
1505
1574
|
}
|
|
1506
1575
|
|
|
1507
1576
|
return h("div", [resultsToRender.map(function (marker, index) {
|
|
@@ -1510,7 +1579,8 @@ var GoogleMapMarkers = {
|
|
|
1510
1579
|
"index": index,
|
|
1511
1580
|
"marker": marker
|
|
1512
1581
|
},
|
|
1513
|
-
"props": _rollupPluginBabelHelpers._extends({}, markerProps)
|
|
1582
|
+
"props": _rollupPluginBabelHelpers._extends({}, markerProps),
|
|
1583
|
+
"on": _rollupPluginBabelHelpers._extends({}, _this.$listeners)
|
|
1514
1584
|
});
|
|
1515
1585
|
})]);
|
|
1516
1586
|
}
|
|
@@ -1522,20 +1592,22 @@ var ReactiveGoogleMap = {
|
|
|
1522
1592
|
className: vueTypes.types.string,
|
|
1523
1593
|
componentId: vueTypes.types.stringRequired,
|
|
1524
1594
|
dataField: vueTypes.types.stringRequired,
|
|
1525
|
-
defaultQuery:
|
|
1595
|
+
defaultQuery: VueTypes.func,
|
|
1526
1596
|
loader: vueTypes.types.title,
|
|
1527
1597
|
defaultZoom: VueTypes.number.def(13),
|
|
1528
1598
|
react: vueTypes.types.react,
|
|
1529
1599
|
size: vueTypes.types.number,
|
|
1530
1600
|
sortBy: vueTypes.types.sortBy,
|
|
1531
|
-
URLParams:
|
|
1601
|
+
URLParams: VueTypes.bool,
|
|
1532
1602
|
mapProps: VueTypes.object,
|
|
1533
1603
|
showMarkers: VueTypes.bool.def(true),
|
|
1534
1604
|
showMarkerClusters: VueTypes.bool.def(false),
|
|
1535
1605
|
searchAsMove: VueTypes.bool.def(false),
|
|
1536
|
-
|
|
1606
|
+
searchAsMoveLabel: VueTypes.string,
|
|
1607
|
+
markerProps: VueTypes.object,
|
|
1608
|
+
clusterProps: VueTypes.object,
|
|
1537
1609
|
renderItem: VueTypes.func,
|
|
1538
|
-
showSearchAsMove:
|
|
1610
|
+
showSearchAsMove: VueTypes.bool.def(true),
|
|
1539
1611
|
autoClosePopover: VueTypes.bool,
|
|
1540
1612
|
pagination: VueTypes.bool,
|
|
1541
1613
|
defaultPin: VueTypes.string,
|
|
@@ -1545,7 +1617,8 @@ var ReactiveGoogleMap = {
|
|
|
1545
1617
|
defaultRadius: vueTypes.types.number,
|
|
1546
1618
|
unit: vueTypes.types.string,
|
|
1547
1619
|
pages: VueTypes.number.def(5),
|
|
1548
|
-
calculateMarkers: VueTypes.func
|
|
1620
|
+
calculateMarkers: VueTypes.func,
|
|
1621
|
+
highlightMarkerOnHover: VueTypes.bool.def(true)
|
|
1549
1622
|
},
|
|
1550
1623
|
methods: {
|
|
1551
1624
|
renderMap: function renderMap(_ref) {
|
|
@@ -1560,9 +1633,7 @@ var ReactiveGoogleMap = {
|
|
|
1560
1633
|
renderSearchAsMove = _ref.renderSearchAsMove,
|
|
1561
1634
|
handlePreserveCenter = _ref.handlePreserveCenter,
|
|
1562
1635
|
getPosition = _ref.getPosition,
|
|
1563
|
-
markerProps = _ref.markerProps,
|
|
1564
1636
|
autoClosePopover = _ref.autoClosePopover,
|
|
1565
|
-
renderPopover = _ref.renderPopover,
|
|
1566
1637
|
defaultPin = _ref.defaultPin;
|
|
1567
1638
|
var h = this.$createElement;
|
|
1568
1639
|
var style = {
|
|
@@ -1595,8 +1666,10 @@ var ReactiveGoogleMap = {
|
|
|
1595
1666
|
"attrs": {
|
|
1596
1667
|
"resultsToRender": resultsToRender,
|
|
1597
1668
|
"getPosition": getPosition,
|
|
1598
|
-
"markerProps": markerProps,
|
|
1669
|
+
"markerProps": this.markerProps,
|
|
1670
|
+
"clusterProps": this.clusterProps,
|
|
1599
1671
|
"handlePreserveCenter": handlePreserveCenter,
|
|
1672
|
+
"highlightMarkerOnHover": this.highlightMarkerOnHover,
|
|
1600
1673
|
"renderItem": this.$scopedSlots.renderItem ? function () {
|
|
1601
1674
|
return {
|
|
1602
1675
|
custom: _this.$scopedSlots.renderItem
|
|
@@ -1604,9 +1677,11 @@ var ReactiveGoogleMap = {
|
|
|
1604
1677
|
} : this.renderItem,
|
|
1605
1678
|
"defaultPin": defaultPin,
|
|
1606
1679
|
"autoClosePopover": autoClosePopover,
|
|
1607
|
-
"renderPopover": renderPopover,
|
|
1680
|
+
"renderPopover": this.$scopedSlots.renderPopover,
|
|
1681
|
+
"renderClusterPopover": this.$scopedSlots.renderClusterPopover,
|
|
1608
1682
|
"showMarkerClusters": this.showMarkerClusters
|
|
1609
|
-
}
|
|
1683
|
+
},
|
|
1684
|
+
"on": _rollupPluginBabelHelpers._extends({}, this.$listeners)
|
|
1610
1685
|
}) : null]), renderSearchAsMove()]);
|
|
1611
1686
|
},
|
|
1612
1687
|
getMapRef: function getMapRef() {
|
|
@@ -1623,8 +1698,6 @@ var ReactiveGoogleMap = {
|
|
|
1623
1698
|
}
|
|
1624
1699
|
},
|
|
1625
1700
|
render: function render() {
|
|
1626
|
-
var _this3 = this;
|
|
1627
|
-
|
|
1628
1701
|
var h = arguments[0];
|
|
1629
1702
|
return h(RMConnected, _mergeJSXProps([{
|
|
1630
1703
|
"attrs": {
|
|
@@ -1641,14 +1714,12 @@ var ReactiveGoogleMap = {
|
|
|
1641
1714
|
"uRLParams": this.URLParams,
|
|
1642
1715
|
"defaultSearchAsMove": this.searchAsMove,
|
|
1643
1716
|
"showSearchAsMove": this.showSearchAsMove,
|
|
1717
|
+
"searchAsMoveLabel": this.searchAsMoveLabel,
|
|
1644
1718
|
"showMarkers": this.showMarkers,
|
|
1645
1719
|
"markerProps": this.markerProps,
|
|
1646
1720
|
"autoClosePopover": this.autoClosePopover,
|
|
1647
1721
|
"defaultPin": this.defaultPin,
|
|
1648
1722
|
"defaultQuery": this.defaultQuery,
|
|
1649
|
-
"renderPopover": this.$scopedSlots.renderPopover ? function (item) {
|
|
1650
|
-
return _this3.$scopedSlots.renderPopover(item);
|
|
1651
|
-
} : null,
|
|
1652
1723
|
"autoCenter": this.autoCenter,
|
|
1653
1724
|
"defaultCenter": this.defaultCenter,
|
|
1654
1725
|
"defaultRadius": this.defaultRadius,
|