@appbaseio/reactivesearch-vue 1.16.0-alpha.6 → 1.16.0-alpha.60
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 +23173 -18496
- package/dist/@appbaseio/reactivesearch-vue.umd.js.map +1 -1
- package/dist/@appbaseio/reactivesearch-vue.umd.min.js +21 -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-e131f28a.js} +40 -21
- package/dist/cjs/{Container-6cdd3864.js → Container-daf30918.js} +3 -11
- package/dist/cjs/DataSearch-85ca95d1.js +2322 -0
- package/dist/cjs/DataSearch.js +18 -2151
- package/dist/cjs/{DropDown-f6224ac8.js → DropDown-14a6460c.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-c01d1547.js} +4 -3
- 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 +273 -196
- 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-9fb734df.js} +95 -13
- package/dist/cjs/index.js +30 -29
- package/dist/cjs/initReactivesearch.js +178 -104
- package/dist/cjs/install-7e220cb1.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-3654ce36.js} +40 -21
- package/dist/es/Container-ba826e96.js +10 -0
- package/dist/es/DataSearch-9bd510ea.js +2307 -0
- package/dist/es/DataSearch.js +17 -2150
- package/dist/es/{DropDown-3d4291f1.js → DropDown-219d9321.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-491c44ee.js} +4 -3
- 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 +272 -196
- 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-32f9d554.js} +91 -14
- package/dist/es/index.js +26 -26
- package/dist/es/initReactivesearch.js +179 -105
- package/dist/es/install-32e60122.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 +7 -5
- 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,29 +6,25 @@ 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-c01d1547.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-9fb734df.js');
|
|
22
|
+
var ComponentWrapper = require('./ComponentWrapper-e131f28a.js');
|
|
23
23
|
var _mergeJSXProps = _interopDefault(require('@vue/babel-helper-vue-jsx-merge-props'));
|
|
24
|
-
var FormControlList = require('./FormControlList-
|
|
25
|
-
var
|
|
26
|
-
var
|
|
24
|
+
var FormControlList = require('./FormControlList-c195a592.js');
|
|
25
|
+
var GmapVue = require('gmap-vue');
|
|
26
|
+
var GmapVue__default = _interopDefault(GmapVue);
|
|
27
27
|
var geohash = _interopDefault(require('ngeohash'));
|
|
28
|
-
var GmapCluster = _interopDefault(require('gmap-vue/dist/components/cluster'));
|
|
29
|
-
var Marker = _interopDefault(require('gmap-vue/dist/components/marker'));
|
|
30
|
-
var InfoWindow = _interopDefault(require('gmap-vue/dist/components-implementation/info-window'));
|
|
31
|
-
var MapElementMixin = _interopDefault(require('gmap-vue/dist/mixins/map-element'));
|
|
32
28
|
|
|
33
29
|
var setStreaming = configureStore.Actions.setStreaming,
|
|
34
30
|
setQueryOptions = configureStore.Actions.setQueryOptions,
|
|
@@ -76,7 +72,7 @@ function withDistinctLat(loc, count) {
|
|
|
76
72
|
|
|
77
73
|
var suffix = 1 / Math.pow(10, noiseFactor) * count;
|
|
78
74
|
|
|
79
|
-
var location = _rollupPluginBabelHelpers._extends(
|
|
75
|
+
var location = _rollupPluginBabelHelpers._extends({}, loc, {
|
|
80
76
|
lat: parseFloat((loc.lat + suffix).toFixed(length))
|
|
81
77
|
});
|
|
82
78
|
|
|
@@ -128,14 +124,13 @@ var ReactiveMap = {
|
|
|
128
124
|
react: vueTypes.types.react,
|
|
129
125
|
size: vueTypes.types.number,
|
|
130
126
|
sortBy: vueTypes.types.sortBy,
|
|
131
|
-
URLParams:
|
|
132
|
-
autoCenter:
|
|
127
|
+
URLParams: VueTypes.bool,
|
|
128
|
+
autoCenter: VueTypes.bool,
|
|
133
129
|
getMapRef: VueTypes.func.isRequired,
|
|
134
130
|
center: vueTypes.types.location,
|
|
135
131
|
defaultCenter: vueTypes.types.location,
|
|
136
132
|
defaultPin: vueTypes.types.string,
|
|
137
133
|
defaultZoom: VueTypes.number.def(13),
|
|
138
|
-
markerProps: vueTypes.types.props,
|
|
139
134
|
defaultQuery: vueTypes.types.func,
|
|
140
135
|
innerClass: vueTypes.types.style,
|
|
141
136
|
loader: vueTypes.types.title,
|
|
@@ -144,17 +139,19 @@ var ReactiveMap = {
|
|
|
144
139
|
renderError: vueTypes.types.title,
|
|
145
140
|
pages: VueTypes.number.def(5),
|
|
146
141
|
currentPage: VueTypes.number.def(0),
|
|
147
|
-
pagination:
|
|
148
|
-
showMarkers:
|
|
149
|
-
defaultSearchAsMove:
|
|
150
|
-
showSearchAsMove:
|
|
142
|
+
pagination: VueTypes.bool,
|
|
143
|
+
showMarkers: VueTypes.bool,
|
|
144
|
+
defaultSearchAsMove: VueTypes.bool,
|
|
145
|
+
showSearchAsMove: VueTypes.bool,
|
|
151
146
|
defaultRadius: vueTypes.types.number,
|
|
152
147
|
unit: vueTypes.types.string,
|
|
153
|
-
autoClosePopover:
|
|
148
|
+
autoClosePopover: VueTypes.bool,
|
|
154
149
|
renderMap: VueTypes.func.isRequired,
|
|
155
150
|
renderPopover: VueTypes.func,
|
|
156
|
-
calculateMarkers: VueTypes.func
|
|
151
|
+
calculateMarkers: VueTypes.func,
|
|
152
|
+
searchAsMoveLabel: VueTypes.string.def('Search as I move the map')
|
|
157
153
|
},
|
|
154
|
+
preserveCenter: false,
|
|
158
155
|
data: function data() {
|
|
159
156
|
var props = this.$props;
|
|
160
157
|
var currentPageState = 0;
|
|
@@ -168,7 +165,6 @@ var ReactiveMap = {
|
|
|
168
165
|
zoom: props.defaultZoom,
|
|
169
166
|
searchAsMove: props.defaultSearchAsMove,
|
|
170
167
|
currentPageState: currentPageState,
|
|
171
|
-
preserveCenter: false,
|
|
172
168
|
mapBoxBounds: null,
|
|
173
169
|
markersData: null
|
|
174
170
|
};
|
|
@@ -182,7 +178,7 @@ var ReactiveMap = {
|
|
|
182
178
|
var _this$getAllData = this.getAllData(),
|
|
183
179
|
resultsToRender = _this$getAllData.resultsToRender;
|
|
184
180
|
|
|
185
|
-
return _rollupPluginBabelHelpers._extends(
|
|
181
|
+
return _rollupPluginBabelHelpers._extends({}, getResultStats(this), {
|
|
186
182
|
currentPage: this.currentPageState,
|
|
187
183
|
displayedResults: resultsToRender.length
|
|
188
184
|
});
|
|
@@ -217,16 +213,19 @@ var ReactiveMap = {
|
|
|
217
213
|
var queryOptions = getOptionsFromQuery(this.$defaultQuery);
|
|
218
214
|
|
|
219
215
|
if (queryOptions) {
|
|
220
|
-
options = _rollupPluginBabelHelpers._extends(
|
|
216
|
+
options = _rollupPluginBabelHelpers._extends({}, options, getOptionsFromQuery(this.$defaultQuery));
|
|
221
217
|
} // Update calculated default query in store
|
|
222
218
|
|
|
223
219
|
|
|
224
|
-
this.setQueryOptions(this.$props.componentId, options,
|
|
220
|
+
this.setQueryOptions(this.$props.componentId, options, false);
|
|
225
221
|
var persistMapQuery = true;
|
|
226
222
|
var forceExecute = true; // Update default query to include the geo bounding box query
|
|
227
223
|
|
|
228
224
|
this.setDefaultQueryForRSAPI();
|
|
229
|
-
|
|
225
|
+
var meta = {
|
|
226
|
+
mapBoxBounds: this.mapBoxBounds
|
|
227
|
+
};
|
|
228
|
+
this.setMapData(this.componentId, query, persistMapQuery, forceExecute, meta);
|
|
230
229
|
this.currentPageState = 0;
|
|
231
230
|
this.from = 0;
|
|
232
231
|
}
|
|
@@ -285,7 +284,7 @@ var ReactiveMap = {
|
|
|
285
284
|
}).map(function (item) {
|
|
286
285
|
var _extends2;
|
|
287
286
|
|
|
288
|
-
return _rollupPluginBabelHelpers._extends(
|
|
287
|
+
return _rollupPluginBabelHelpers._extends({}, item, (_extends2 = {}, _extends2[_this.dataField] = getLocationObject(item[_this.dataField]), _extends2));
|
|
289
288
|
});
|
|
290
289
|
this.filteredResults = this.addNoise(filteredResults);
|
|
291
290
|
|
|
@@ -410,10 +409,10 @@ var ReactiveMap = {
|
|
|
410
409
|
|
|
411
410
|
var mapRef = this.getMapRef();
|
|
412
411
|
|
|
413
|
-
if (mapRef && typeof mapRef.getCenter === 'function' && this.preserveCenter) {
|
|
412
|
+
if (mapRef && typeof mapRef.getCenter === 'function' && this.$options.preserveCenter) {
|
|
414
413
|
var currentCenter = mapRef.getCenter();
|
|
415
414
|
setTimeout(function () {
|
|
416
|
-
_this4.preserveCenter = false;
|
|
415
|
+
_this4.$options.preserveCenter = false;
|
|
417
416
|
}, 100);
|
|
418
417
|
return this.parseLocation({
|
|
419
418
|
lat: currentCenter.lat(),
|
|
@@ -437,7 +436,7 @@ var ReactiveMap = {
|
|
|
437
436
|
|
|
438
437
|
if (this.searchAsMove) {
|
|
439
438
|
this.zoom = zoom;
|
|
440
|
-
this.preserveCenter = true;
|
|
439
|
+
this.$options.preserveCenter = true;
|
|
441
440
|
this.setGeoQuery(true);
|
|
442
441
|
} else {
|
|
443
442
|
this.zoom = zoom;
|
|
@@ -450,14 +449,14 @@ var ReactiveMap = {
|
|
|
450
449
|
},
|
|
451
450
|
handleOnDragEnd: function handleOnDragEnd() {
|
|
452
451
|
if (this.searchAsMove) {
|
|
453
|
-
this.preserveCenter = true;
|
|
452
|
+
this.$options.preserveCenter = true;
|
|
454
453
|
this.setGeoQuery(true);
|
|
455
454
|
}
|
|
456
455
|
|
|
457
456
|
this.$emit('drag-end');
|
|
458
457
|
},
|
|
459
458
|
handlePreserveCenter: function handlePreserveCenter(preserveCenter) {
|
|
460
|
-
this.preserveCenter = preserveCenter;
|
|
459
|
+
this.$options.preserveCenter = preserveCenter;
|
|
461
460
|
},
|
|
462
461
|
handleOnIdle: function handleOnIdle() {
|
|
463
462
|
// only make the geo_bounding query if we have hits data
|
|
@@ -497,7 +496,6 @@ var ReactiveMap = {
|
|
|
497
496
|
defaultPin = this.defaultPin,
|
|
498
497
|
renderPopover = this.renderPopover,
|
|
499
498
|
autoClosePopover = this.autoClosePopover,
|
|
500
|
-
markerProps = this.markerProps,
|
|
501
499
|
renderItem = this.renderItem;
|
|
502
500
|
return {
|
|
503
501
|
resultsToRender: data,
|
|
@@ -510,9 +508,8 @@ var ReactiveMap = {
|
|
|
510
508
|
renderPopover: renderPopover,
|
|
511
509
|
autoClosePopover: autoClosePopover,
|
|
512
510
|
renderSearchAsMove: this.renderSearchAsMove,
|
|
513
|
-
markerProps: markerProps,
|
|
514
511
|
handlePreserveCenter: this.handlePreserveCenter,
|
|
515
|
-
preserveCenter: this.preserveCenter,
|
|
512
|
+
preserveCenter: this.$options.preserveCenter,
|
|
516
513
|
handleOnDragEnd: this.handleOnDragEnd,
|
|
517
514
|
handleOnIdle: this.handleOnIdle,
|
|
518
515
|
handleZoomChange: this.handleZoomChange
|
|
@@ -583,7 +580,7 @@ var ReactiveMap = {
|
|
|
583
580
|
options.from = this.$data.from;
|
|
584
581
|
this.from = value;
|
|
585
582
|
this.currentPageState = page;
|
|
586
|
-
this.loadMoreAction(this.componentId, _rollupPluginBabelHelpers._extends(
|
|
583
|
+
this.loadMoreAction(this.componentId, _rollupPluginBabelHelpers._extends({}, options, {
|
|
587
584
|
from: value
|
|
588
585
|
}), false);
|
|
589
586
|
|
|
@@ -595,29 +592,6 @@ var ReactiveMap = {
|
|
|
595
592
|
setDefaultQueryForRSAPI: function setDefaultQueryForRSAPI() {
|
|
596
593
|
if (this.defaultQuery && typeof this.defaultQuery === 'function') {
|
|
597
594
|
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
595
|
this.setDefaultQuery(this.componentId, defaultQuery);
|
|
622
596
|
}
|
|
623
597
|
},
|
|
@@ -641,7 +615,7 @@ var ReactiveMap = {
|
|
|
641
615
|
var west;
|
|
642
616
|
|
|
643
617
|
if (mapBounds) {
|
|
644
|
-
var
|
|
618
|
+
var _geo_bounding_box;
|
|
645
619
|
|
|
646
620
|
north = mapBounds.getNorthEast().lat();
|
|
647
621
|
south = mapBounds.getSouthWest().lat();
|
|
@@ -653,7 +627,7 @@ var ReactiveMap = {
|
|
|
653
627
|
};
|
|
654
628
|
this.mapBoxBounds = boundingBoxCoordinates;
|
|
655
629
|
var geoQuery = {
|
|
656
|
-
geo_bounding_box: (
|
|
630
|
+
geo_bounding_box: (_geo_bounding_box = {}, _geo_bounding_box[this.dataField] = boundingBoxCoordinates, _geo_bounding_box)
|
|
657
631
|
};
|
|
658
632
|
|
|
659
633
|
if (this.$defaultQuery) {
|
|
@@ -696,7 +670,7 @@ var ReactiveMap = {
|
|
|
696
670
|
var value = this.from + this.size;
|
|
697
671
|
var options = getQueryOptions(this.$props);
|
|
698
672
|
this.from = value;
|
|
699
|
-
this.loadMoreAction(this.componentId, _rollupPluginBabelHelpers._extends(
|
|
673
|
+
this.loadMoreAction(this.componentId, _rollupPluginBabelHelpers._extends({}, options, {
|
|
700
674
|
from: value
|
|
701
675
|
}), true);
|
|
702
676
|
}
|
|
@@ -724,13 +698,14 @@ var ReactiveMap = {
|
|
|
724
698
|
base = _this$getAllData3.base;
|
|
725
699
|
|
|
726
700
|
return results.map(function (result, index) {
|
|
727
|
-
return _rollupPluginBabelHelpers._extends(
|
|
701
|
+
return _rollupPluginBabelHelpers._extends({}, result, {
|
|
728
702
|
_click_id: base + index
|
|
729
703
|
});
|
|
730
704
|
});
|
|
731
705
|
},
|
|
732
706
|
toggleSearchAsMove: function toggleSearchAsMove() {
|
|
733
707
|
this.searchAsMove = !this.searchAsMove;
|
|
708
|
+
this.$emit('search-as-move', this.searchAsMove);
|
|
734
709
|
},
|
|
735
710
|
renderErrorComponent: function renderErrorComponent() {
|
|
736
711
|
var renderError = this.$scopedSlots.renderError || this.$props.renderError;
|
|
@@ -776,7 +751,7 @@ var ReactiveMap = {
|
|
|
776
751
|
"className": getClassName(this.innerClass, 'label') || null,
|
|
777
752
|
"for": this.$props.componentId + "-searchasmove"
|
|
778
753
|
}
|
|
779
|
-
}, [
|
|
754
|
+
}, [this.searchAsMoveLabel])]);
|
|
780
755
|
}
|
|
781
756
|
|
|
782
757
|
return null;
|
|
@@ -830,7 +805,7 @@ var ReactiveMap = {
|
|
|
830
805
|
|
|
831
806
|
if (this.$props.defaultQuery) {
|
|
832
807
|
this.$defaultQuery = this.$props.defaultQuery();
|
|
833
|
-
options = _rollupPluginBabelHelpers._extends(
|
|
808
|
+
options = _rollupPluginBabelHelpers._extends({}, options, getOptionsFromQuery(this.$defaultQuery)); // Override sort query with defaultQuery's sort if defined
|
|
834
809
|
|
|
835
810
|
if (this.$defaultQuery.sort) {
|
|
836
811
|
options.sort = this.$defaultQuery.sort;
|
|
@@ -844,7 +819,10 @@ var ReactiveMap = {
|
|
|
844
819
|
var forceExecute = false; // Update default query for RS API
|
|
845
820
|
|
|
846
821
|
this.setDefaultQueryForRSAPI();
|
|
847
|
-
|
|
822
|
+
var meta = {
|
|
823
|
+
mapBoxBounds: this.mapBoxBounds
|
|
824
|
+
};
|
|
825
|
+
this.setMapData(this.componentId, this.$defaultQuery.query, persistMapQuery, forceExecute, meta);
|
|
848
826
|
} else {
|
|
849
827
|
// only apply geo-distance when defaultQuery prop is not set
|
|
850
828
|
var query = this.getGeoDistanceQuery();
|
|
@@ -864,11 +842,11 @@ var ReactiveMap = {
|
|
|
864
842
|
|
|
865
843
|
var center = this.center || this.defaultCenter;
|
|
866
844
|
var coordinatesObject = this.getArrPosition(center);
|
|
867
|
-
var
|
|
845
|
+
var _meta = {
|
|
868
846
|
distance: this.defaultRadius,
|
|
869
847
|
coordinates: coordinatesObject.lat + ", " + coordinatesObject.lon
|
|
870
848
|
};
|
|
871
|
-
this.setMapData(this.componentId, query, _persistMapQuery, _forceExecute,
|
|
849
|
+
this.setMapData(this.componentId, query, _persistMapQuery, _forceExecute, _meta);
|
|
872
850
|
}
|
|
873
851
|
}
|
|
874
852
|
|
|
@@ -878,7 +856,7 @@ var ReactiveMap = {
|
|
|
878
856
|
var h = arguments[0];
|
|
879
857
|
var loader = this.$scopedSlots.loader || this.$props.loader;
|
|
880
858
|
return h("div", {
|
|
881
|
-
"style": _rollupPluginBabelHelpers._extends(
|
|
859
|
+
"style": _rollupPluginBabelHelpers._extends({}, style, this.$props.style),
|
|
882
860
|
"class": this.$props.className
|
|
883
861
|
}, [this.renderErrorComponent(), this.isLoading && loader, this.hasCustomRender ? this.getComponent() : null, this.renderMap(this.getMapParams()), this.pagination ? this.renderPagination() : null]);
|
|
884
862
|
}
|
|
@@ -922,9 +900,49 @@ ReactiveMap.install = function (Vue) {
|
|
|
922
900
|
|
|
923
901
|
ReactiveMap.componentType = constants.componentTypes.reactiveMap;
|
|
924
902
|
|
|
903
|
+
var InfoWindow = GmapVue.components.InfoWindow;
|
|
904
|
+
var InfoWindowWrapper = {
|
|
905
|
+
name: 'InfoWindowWrapper',
|
|
906
|
+
props: {
|
|
907
|
+
id: VueTypes.string,
|
|
908
|
+
renderPopover: VueTypes.func,
|
|
909
|
+
infoWindowProps: VueTypes.object,
|
|
910
|
+
events: VueTypes.object
|
|
911
|
+
},
|
|
912
|
+
data: function data() {
|
|
913
|
+
return {
|
|
914
|
+
infoWindowRef: null
|
|
915
|
+
};
|
|
916
|
+
},
|
|
917
|
+
mounted: function mounted() {
|
|
918
|
+
this.infoWindowRef = this.$refs[this.id + "-Info-Window"];
|
|
919
|
+
},
|
|
920
|
+
methods: {
|
|
921
|
+
handleClose: function handleClose() {
|
|
922
|
+
this.infoWindowRef.$infoWindowObject.close();
|
|
923
|
+
}
|
|
924
|
+
},
|
|
925
|
+
render: function render() {
|
|
926
|
+
var h = arguments[0];
|
|
927
|
+
var renderPopover = this.renderPopover,
|
|
928
|
+
events = this.events;
|
|
929
|
+
return h(InfoWindow, {
|
|
930
|
+
"ref": this.id + "-Info-Window",
|
|
931
|
+
"props": _rollupPluginBabelHelpers._extends({}, this.infoWindowProps),
|
|
932
|
+
"on": _rollupPluginBabelHelpers._extends({}, events)
|
|
933
|
+
}, [h("div", [renderPopover(this.handleClose)])]);
|
|
934
|
+
}
|
|
935
|
+
};
|
|
936
|
+
|
|
937
|
+
var MapElementMixin = GmapVue.components.MapElementMixin; // Note: This file has been taken from https://github.com/eregnier/vue2-gmap-custom-marker/blob/master/gmap-custom-marker.vue
|
|
938
|
+
|
|
925
939
|
var MarkerWithLabel = {
|
|
926
940
|
name: 'MarkerWithLabel',
|
|
927
941
|
props: {
|
|
942
|
+
metaData: {
|
|
943
|
+
type: Object,
|
|
944
|
+
"default": undefined
|
|
945
|
+
},
|
|
928
946
|
marker: {
|
|
929
947
|
type: Object,
|
|
930
948
|
"default": undefined
|
|
@@ -1024,6 +1042,7 @@ var MarkerWithLabel = {
|
|
|
1024
1042
|
var _this3;
|
|
1025
1043
|
|
|
1026
1044
|
_this3 = _window$google$maps$O.call(this) || this;
|
|
1045
|
+
_this3.metaData = self.metaData;
|
|
1027
1046
|
|
|
1028
1047
|
_this3.setMap(map2);
|
|
1029
1048
|
|
|
@@ -1035,6 +1054,10 @@ var MarkerWithLabel = {
|
|
|
1035
1054
|
return _this3.repaint();
|
|
1036
1055
|
};
|
|
1037
1056
|
|
|
1057
|
+
_this3.getVisible = function () {
|
|
1058
|
+
return true;
|
|
1059
|
+
};
|
|
1060
|
+
|
|
1038
1061
|
return _this3;
|
|
1039
1062
|
}
|
|
1040
1063
|
|
|
@@ -1189,48 +1212,19 @@ var MarkerWithLabel = {
|
|
|
1189
1212
|
},
|
|
1190
1213
|
"on": {
|
|
1191
1214
|
"mouseover": this.handleMouseOver,
|
|
1192
|
-
"focus": this.handleFocus,
|
|
1193
1215
|
"mouseout": this.handleMouseOut,
|
|
1194
|
-
"blur": this.handleBlur,
|
|
1195
1216
|
"click": this.handleClick
|
|
1196
1217
|
}
|
|
1197
1218
|
}, [this.renderMarker()]);
|
|
1198
1219
|
}
|
|
1199
1220
|
};
|
|
1200
1221
|
|
|
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());
|
|
1222
|
+
var _templateObject, _templateObject2, _templateObject3;
|
|
1223
|
+
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"])));
|
|
1224
|
+
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"])));
|
|
1225
|
+
var mapPinWrapper = styled.css(_templateObject3 || (_templateObject3 = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\t&:hover,\n\t&:focus {\n\t\tz-index: 200;\n\t}\n"])));
|
|
1233
1226
|
|
|
1227
|
+
var Marker = GmapVue.components.Marker;
|
|
1234
1228
|
var recordResultClick$1 = configureStore.Actions.recordResultClick;
|
|
1235
1229
|
var GoogleMapMarker = {
|
|
1236
1230
|
name: 'GoogleMapMarker',
|
|
@@ -1238,54 +1232,63 @@ var GoogleMapMarker = {
|
|
|
1238
1232
|
index: VueTypes.number,
|
|
1239
1233
|
marker: VueTypes.object.isRequired,
|
|
1240
1234
|
getPosition: VueTypes.func.isRequired,
|
|
1241
|
-
markerOnTop: VueTypes.string,
|
|
1242
1235
|
defaultPin: VueTypes.string,
|
|
1243
1236
|
renderItem: VueTypes.func,
|
|
1244
|
-
setMarkerOnTop: VueTypes.func.isRequired,
|
|
1245
1237
|
setOpenMarkers: VueTypes.func.isRequired,
|
|
1246
1238
|
handlePreserveCenter: VueTypes.func.isRequired,
|
|
1247
1239
|
autoClosePopover: VueTypes.bool,
|
|
1248
1240
|
openMarkers: VueTypes.object,
|
|
1249
|
-
renderPopover: VueTypes.func
|
|
1241
|
+
renderPopover: VueTypes.func,
|
|
1242
|
+
highlightMarkerOnHover: VueTypes.bool
|
|
1243
|
+
},
|
|
1244
|
+
data: function data() {
|
|
1245
|
+
return {
|
|
1246
|
+
zIndex: 0,
|
|
1247
|
+
markerIcon: null
|
|
1248
|
+
};
|
|
1250
1249
|
},
|
|
1251
1250
|
methods: {
|
|
1252
1251
|
increaseMarkerZIndex: function increaseMarkerZIndex() {
|
|
1253
|
-
var
|
|
1254
|
-
|
|
1255
|
-
|
|
1256
|
-
|
|
1257
|
-
|
|
1252
|
+
var handlePreserveCenter = this.$props.handlePreserveCenter;
|
|
1253
|
+
|
|
1254
|
+
if (this.highlightMarkerOnHover) {
|
|
1255
|
+
this.zIndex += 1;
|
|
1256
|
+
}
|
|
1257
|
+
|
|
1258
1258
|
handlePreserveCenter(true);
|
|
1259
1259
|
},
|
|
1260
1260
|
removeMarkerZIndex: function removeMarkerZIndex() {
|
|
1261
|
-
var
|
|
1262
|
-
|
|
1263
|
-
|
|
1264
|
-
|
|
1261
|
+
var handlePreserveCenter = this.$props.handlePreserveCenter;
|
|
1262
|
+
|
|
1263
|
+
if (this.highlightMarkerOnHover) {
|
|
1264
|
+
this.zIndex -= 1;
|
|
1265
|
+
}
|
|
1266
|
+
|
|
1265
1267
|
handlePreserveCenter(true);
|
|
1266
1268
|
},
|
|
1267
1269
|
openMarker: function openMarker() {
|
|
1268
1270
|
var _ref, _extends2;
|
|
1269
1271
|
|
|
1270
|
-
var _this$$
|
|
1271
|
-
handleOpenMarkers = _this$$
|
|
1272
|
-
openMarkers = _this$$
|
|
1273
|
-
marker = _this$$
|
|
1274
|
-
autoClosePopover = _this$$
|
|
1275
|
-
handlePreserveCenter = _this$$
|
|
1272
|
+
var _this$$props = this.$props,
|
|
1273
|
+
handleOpenMarkers = _this$$props.setOpenMarkers,
|
|
1274
|
+
openMarkers = _this$$props.openMarkers,
|
|
1275
|
+
marker = _this$$props.marker,
|
|
1276
|
+
autoClosePopover = _this$$props.autoClosePopover,
|
|
1277
|
+
handlePreserveCenter = _this$$props.handlePreserveCenter;
|
|
1276
1278
|
var id = marker._id;
|
|
1277
|
-
var newOpenMarkers = autoClosePopover ? (_ref = {}, _ref[id] = true, _ref) : _rollupPluginBabelHelpers._extends(
|
|
1279
|
+
var newOpenMarkers = autoClosePopover ? (_ref = {}, _ref[id] = true, _ref) : _rollupPluginBabelHelpers._extends({}, openMarkers, (_extends2 = {}, _extends2[id] = true, _extends2));
|
|
1278
1280
|
handleOpenMarkers(newOpenMarkers);
|
|
1279
1281
|
handlePreserveCenter(true);
|
|
1280
1282
|
this.triggerAnalytics();
|
|
1283
|
+
this.$emit('open-marker-popover', marker);
|
|
1281
1284
|
},
|
|
1282
1285
|
closeMarker: function closeMarker() {
|
|
1283
|
-
var _this$$
|
|
1284
|
-
handleOpenMarkers = _this$$
|
|
1285
|
-
marker = _this$$
|
|
1286
|
-
autoClosePopover = _this$$
|
|
1287
|
-
handlePreserveCenter = _this$$
|
|
1288
|
-
openMarkers = _this$$
|
|
1286
|
+
var _this$$props2 = this.$props,
|
|
1287
|
+
handleOpenMarkers = _this$$props2.setOpenMarkers,
|
|
1288
|
+
marker = _this$$props2.marker,
|
|
1289
|
+
autoClosePopover = _this$$props2.autoClosePopover,
|
|
1290
|
+
handlePreserveCenter = _this$$props2.handlePreserveCenter,
|
|
1291
|
+
openMarkers = _this$$props2.openMarkers;
|
|
1289
1292
|
var id = marker._id;
|
|
1290
1293
|
|
|
1291
1294
|
var del = openMarkers[id],
|
|
@@ -1294,6 +1297,7 @@ var GoogleMapMarker = {
|
|
|
1294
1297
|
var newOpenMarkers = autoClosePopover ? {} : activeMarkers;
|
|
1295
1298
|
handleOpenMarkers(newOpenMarkers);
|
|
1296
1299
|
handlePreserveCenter(true);
|
|
1300
|
+
this.$emit('close-marker-popover', marker);
|
|
1297
1301
|
},
|
|
1298
1302
|
triggerAnalytics: function triggerAnalytics() {
|
|
1299
1303
|
this.recordResultClick(this.index, this.marker._id);
|
|
@@ -1307,10 +1311,10 @@ var GoogleMapMarker = {
|
|
|
1307
1311
|
|
|
1308
1312
|
var h = this.$createElement;
|
|
1309
1313
|
var additionalProps = {};
|
|
1310
|
-
var _this$$
|
|
1311
|
-
getPosition = _this$$
|
|
1312
|
-
|
|
1313
|
-
openMarkers = _this$$
|
|
1314
|
+
var _this$$props3 = this.$props,
|
|
1315
|
+
getPosition = _this$$props3.getPosition,
|
|
1316
|
+
_renderPopover = _this$$props3.renderPopover,
|
|
1317
|
+
openMarkers = _this$$props3.openMarkers;
|
|
1314
1318
|
|
|
1315
1319
|
if (includeExternalSettings) {
|
|
1316
1320
|
// to render pop-over correctly with MarkerWithLabel
|
|
@@ -1323,19 +1327,32 @@ var GoogleMapMarker = {
|
|
|
1323
1327
|
}
|
|
1324
1328
|
|
|
1325
1329
|
if (item._id in openMarkers) {
|
|
1326
|
-
return h(
|
|
1327
|
-
"attrs": {
|
|
1328
|
-
"zIndex": 500,
|
|
1329
|
-
"position": additionalProps.position,
|
|
1330
|
-
"options": additionalProps.defaultOptions
|
|
1331
|
-
},
|
|
1330
|
+
return h(InfoWindowWrapper, {
|
|
1332
1331
|
"key": item._id + "-InfoWindow",
|
|
1333
|
-
"
|
|
1334
|
-
"
|
|
1335
|
-
|
|
1332
|
+
"attrs": {
|
|
1333
|
+
"id": item._id,
|
|
1334
|
+
"renderPopover": function renderPopover(_handleClose) {
|
|
1335
|
+
return _renderPopover({
|
|
1336
|
+
item: item,
|
|
1337
|
+
handleClose: function handleClose() {
|
|
1338
|
+
_handleClose();
|
|
1339
|
+
|
|
1340
|
+
_this.closeMarker();
|
|
1341
|
+
}
|
|
1342
|
+
});
|
|
1343
|
+
},
|
|
1344
|
+
"infoWindowProps": {
|
|
1345
|
+
zIndex: 500,
|
|
1346
|
+
position: additionalProps.position,
|
|
1347
|
+
options: additionalProps.defaultOptions
|
|
1348
|
+
},
|
|
1349
|
+
"events": {
|
|
1350
|
+
closeclick: function closeclick() {
|
|
1351
|
+
return _this.closeMarker();
|
|
1352
|
+
}
|
|
1336
1353
|
}
|
|
1337
1354
|
}
|
|
1338
|
-
}
|
|
1355
|
+
});
|
|
1339
1356
|
}
|
|
1340
1357
|
|
|
1341
1358
|
return null;
|
|
@@ -1345,35 +1362,35 @@ var GoogleMapMarker = {
|
|
|
1345
1362
|
var _this2 = this;
|
|
1346
1363
|
|
|
1347
1364
|
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;
|
|
1365
|
+
var _this$$props4 = this.$props,
|
|
1366
|
+
getPosition = _this$$props4.getPosition,
|
|
1367
|
+
renderItem = _this$$props4.renderItem,
|
|
1368
|
+
defaultPin = _this$$props4.defaultPin,
|
|
1369
|
+
renderPopover = _this$$props4.renderPopover,
|
|
1370
|
+
customMarkerProps = _this$$props4.markerProps,
|
|
1371
|
+
marker = _this$$props4.marker;
|
|
1358
1372
|
var markerProps = {};
|
|
1359
1373
|
|
|
1360
|
-
if (
|
|
1361
|
-
markerProps.zIndex = window.google.maps.Marker.MAX_ZINDEX +
|
|
1374
|
+
if (this.zIndex) {
|
|
1375
|
+
markerProps.zIndex = window.google.maps.Marker.MAX_ZINDEX + this.zIndex;
|
|
1362
1376
|
}
|
|
1363
1377
|
|
|
1364
1378
|
if (renderItem) {
|
|
1379
|
+
marker.setIcon = function (icon) {
|
|
1380
|
+
_this2.markerIcon = icon;
|
|
1381
|
+
};
|
|
1382
|
+
|
|
1365
1383
|
var data = renderItem(marker);
|
|
1366
1384
|
|
|
1367
1385
|
if ('label' in data) {
|
|
1368
1386
|
return h(MarkerWithLabel, {
|
|
1369
1387
|
"key": marker._id,
|
|
1370
1388
|
"attrs": {
|
|
1389
|
+
"metaData": marker,
|
|
1371
1390
|
"marker": getPosition(marker),
|
|
1372
1391
|
"labelAnchor": new window.google.maps.Point(0, 30),
|
|
1373
1392
|
"handleMouseOver": this.increaseMarkerZIndex,
|
|
1374
|
-
"handleFocus": this.increaseMarkerZIndex,
|
|
1375
1393
|
"handleMouseOut": this.removeMarkerZIndex,
|
|
1376
|
-
"handleBlur": this.removeMarkerZIndex,
|
|
1377
1394
|
"handleClick": this.openMarker,
|
|
1378
1395
|
"zIndex": markerProps.zIndex,
|
|
1379
1396
|
"renderMarker": function renderMarker() {
|
|
@@ -1394,12 +1411,11 @@ var GoogleMapMarker = {
|
|
|
1394
1411
|
return h(MarkerWithLabel, {
|
|
1395
1412
|
"key": marker._id,
|
|
1396
1413
|
"attrs": {
|
|
1414
|
+
"metaData": marker,
|
|
1397
1415
|
"marker": getPosition(marker),
|
|
1398
1416
|
"handleClick": this.openMarker,
|
|
1399
1417
|
"handleMouseOver": this.increaseMarkerZIndex,
|
|
1400
|
-
"handleFocus": this.increaseMarkerZIndex,
|
|
1401
1418
|
"handleMouseOut": this.removeMarkerZIndex,
|
|
1402
|
-
"handleBlur": this.removeMarkerZIndex,
|
|
1403
1419
|
"zIndex": markerProps.zIndex,
|
|
1404
1420
|
"renderMarker": function renderMarker() {
|
|
1405
1421
|
return h("div", {
|
|
@@ -1421,18 +1437,19 @@ var GoogleMapMarker = {
|
|
|
1421
1437
|
return h(Marker, {
|
|
1422
1438
|
"key": marker._id,
|
|
1423
1439
|
"attrs": {
|
|
1424
|
-
"icon": markerProps.icon,
|
|
1425
1440
|
"zIndex": markerProps.zIndex,
|
|
1426
|
-
"position": getPosition(marker)
|
|
1441
|
+
"position": getPosition(marker),
|
|
1442
|
+
"options": {
|
|
1443
|
+
metaData: marker
|
|
1444
|
+
},
|
|
1445
|
+
"icon": this.markerIcon || markerProps.icon
|
|
1427
1446
|
},
|
|
1428
1447
|
"on": {
|
|
1429
1448
|
"click": function click() {
|
|
1430
|
-
return _this2.openMarker(
|
|
1449
|
+
return _this2.openMarker();
|
|
1431
1450
|
},
|
|
1432
1451
|
"mouseover": this.increaseMarkerZIndex,
|
|
1433
|
-
"
|
|
1434
|
-
"mouseout": this.removeMarkerZIndex,
|
|
1435
|
-
"blur": this.removeMarkerZIndex
|
|
1452
|
+
"mouseout": this.removeMarkerZIndex
|
|
1436
1453
|
},
|
|
1437
1454
|
"props": _rollupPluginBabelHelpers._extends({}, customMarkerProps)
|
|
1438
1455
|
}, [renderPopover ? this.renderPopoverClick(marker) : null]);
|
|
@@ -1445,40 +1462,58 @@ var GoogleMapMarker$1 = index.connect(function () {
|
|
|
1445
1462
|
return null;
|
|
1446
1463
|
}, mapDispatchToProps$1)(GoogleMapMarker);
|
|
1447
1464
|
|
|
1465
|
+
var Cluster = GmapVue.components.Cluster;
|
|
1448
1466
|
var GoogleMapMarkers = {
|
|
1449
1467
|
name: 'GoogleMapMarkers',
|
|
1450
1468
|
props: {
|
|
1451
1469
|
resultsToRender: VueTypes.array,
|
|
1452
1470
|
getPosition: VueTypes.func,
|
|
1453
1471
|
renderItem: VueTypes.func,
|
|
1472
|
+
renderClusterPopover: VueTypes.func,
|
|
1454
1473
|
defaultPin: VueTypes.string,
|
|
1455
1474
|
autoClosePopover: VueTypes.bool,
|
|
1456
1475
|
handlePreserveCenter: VueTypes.func,
|
|
1457
1476
|
renderPopover: VueTypes.func,
|
|
1458
1477
|
markerProps: VueTypes.object,
|
|
1459
|
-
|
|
1478
|
+
clusterProps: VueTypes.object,
|
|
1479
|
+
showMarkerClusters: VueTypes.bool,
|
|
1480
|
+
highlightMarkerOnHover: VueTypes.bool
|
|
1460
1481
|
},
|
|
1461
1482
|
data: function data() {
|
|
1462
1483
|
return {
|
|
1463
|
-
|
|
1464
|
-
|
|
1484
|
+
openMarkers: {},
|
|
1485
|
+
clickedCluster: null,
|
|
1486
|
+
clusterMarkers: []
|
|
1465
1487
|
};
|
|
1466
1488
|
},
|
|
1467
1489
|
methods: {
|
|
1468
|
-
setMarkerOnTop: function setMarkerOnTop(markerOnTop) {
|
|
1469
|
-
this.markerOnTop = markerOnTop;
|
|
1470
|
-
},
|
|
1471
1490
|
setOpenMarkers: function setOpenMarkers(openMarkers) {
|
|
1472
1491
|
this.openMarkers = openMarkers;
|
|
1492
|
+
},
|
|
1493
|
+
getAdditionalProps: function getAdditionalProps() {
|
|
1494
|
+
return {
|
|
1495
|
+
position: {
|
|
1496
|
+
lat: this.clickedCluster.getCenter().lat(),
|
|
1497
|
+
lng: this.clickedCluster.getCenter().lng()
|
|
1498
|
+
},
|
|
1499
|
+
defaultOptions: {
|
|
1500
|
+
pixelOffset: new window.google.maps.Size(0, -30)
|
|
1501
|
+
}
|
|
1502
|
+
};
|
|
1503
|
+
},
|
|
1504
|
+
closeMarker: function closeMarker() {
|
|
1505
|
+
this.clickedCluster = null;
|
|
1506
|
+
this.clusterMarkers = [];
|
|
1507
|
+
this.$emit('close-cluster-popover');
|
|
1473
1508
|
}
|
|
1474
1509
|
},
|
|
1475
1510
|
render: function render() {
|
|
1511
|
+
var _this = this;
|
|
1512
|
+
|
|
1476
1513
|
var h = arguments[0];
|
|
1477
1514
|
var resultsToRender = this.$props.resultsToRender;
|
|
1478
|
-
var
|
|
1479
|
-
openMarkers = this.openMarkers;
|
|
1515
|
+
var openMarkers = this.openMarkers;
|
|
1480
1516
|
var markerProps = {
|
|
1481
|
-
markerOnTop: markerOnTop,
|
|
1482
1517
|
openMarkers: openMarkers,
|
|
1483
1518
|
setMarkerOnTop: this.setMarkerOnTop,
|
|
1484
1519
|
setOpenMarkers: this.setOpenMarkers,
|
|
@@ -1489,19 +1524,58 @@ var GoogleMapMarkers = {
|
|
|
1489
1524
|
handlePreserveCenter: this.handlePreserveCenter,
|
|
1490
1525
|
renderPopover: this.renderPopover,
|
|
1491
1526
|
markerProps: this.markerProps,
|
|
1492
|
-
showMarkerClusters: this.showMarkerClusters
|
|
1527
|
+
showMarkerClusters: this.showMarkerClusters,
|
|
1528
|
+
highlightMarkerOnHover: this.highlightMarkerOnHover
|
|
1493
1529
|
};
|
|
1494
1530
|
|
|
1495
1531
|
if (this.showMarkerClusters) {
|
|
1496
|
-
return h(
|
|
1532
|
+
return h("div", [h(Cluster, {
|
|
1533
|
+
"props": _rollupPluginBabelHelpers._extends({}, this.clusterProps),
|
|
1534
|
+
"on": {
|
|
1535
|
+
"click": function click(cluster) {
|
|
1536
|
+
var markers = cluster.markers.map(function (i) {
|
|
1537
|
+
return i.metaData;
|
|
1538
|
+
});
|
|
1539
|
+
_this.clickedCluster = cluster;
|
|
1540
|
+
_this.clusterMarkers = markers;
|
|
1541
|
+
|
|
1542
|
+
_this.$emit('open-cluster-popover', _this.clusterMarkers);
|
|
1543
|
+
}
|
|
1544
|
+
},
|
|
1545
|
+
"ref": "clusterRef"
|
|
1546
|
+
}, [resultsToRender.map(function (marker, index) {
|
|
1497
1547
|
return h(GoogleMapMarker$1, {
|
|
1498
1548
|
"attrs": {
|
|
1499
1549
|
"index": index,
|
|
1500
1550
|
"marker": marker
|
|
1501
1551
|
},
|
|
1502
|
-
"props": _rollupPluginBabelHelpers._extends({}, markerProps)
|
|
1552
|
+
"props": _rollupPluginBabelHelpers._extends({}, markerProps),
|
|
1553
|
+
"on": _rollupPluginBabelHelpers._extends({}, _this.$listeners)
|
|
1503
1554
|
});
|
|
1504
|
-
})])
|
|
1555
|
+
})]), this.clickedCluster && this.renderClusterPopover ? h(InfoWindowWrapper, {
|
|
1556
|
+
"attrs": {
|
|
1557
|
+
"id": "cluster",
|
|
1558
|
+
"infoWindowProps": {
|
|
1559
|
+
zIndex: 500,
|
|
1560
|
+
position: this.getAdditionalProps().position,
|
|
1561
|
+
options: this.getAdditionalProps().defaultOptions
|
|
1562
|
+
},
|
|
1563
|
+
"renderPopover": function renderPopover(_handleClose) {
|
|
1564
|
+
return _this.renderClusterPopover({
|
|
1565
|
+
markers: _this.clusterMarkers,
|
|
1566
|
+
cluster: _this.clickedCluster,
|
|
1567
|
+
handleClose: function handleClose() {
|
|
1568
|
+
_handleClose();
|
|
1569
|
+
|
|
1570
|
+
_this.closeMarker();
|
|
1571
|
+
}
|
|
1572
|
+
});
|
|
1573
|
+
},
|
|
1574
|
+
"events": {
|
|
1575
|
+
closeclick: this.closeMarker
|
|
1576
|
+
}
|
|
1577
|
+
}
|
|
1578
|
+
}) : null]);
|
|
1505
1579
|
}
|
|
1506
1580
|
|
|
1507
1581
|
return h("div", [resultsToRender.map(function (marker, index) {
|
|
@@ -1510,32 +1584,36 @@ var GoogleMapMarkers = {
|
|
|
1510
1584
|
"index": index,
|
|
1511
1585
|
"marker": marker
|
|
1512
1586
|
},
|
|
1513
|
-
"props": _rollupPluginBabelHelpers._extends({}, markerProps)
|
|
1587
|
+
"props": _rollupPluginBabelHelpers._extends({}, markerProps),
|
|
1588
|
+
"on": _rollupPluginBabelHelpers._extends({}, _this.$listeners)
|
|
1514
1589
|
});
|
|
1515
1590
|
})]);
|
|
1516
1591
|
}
|
|
1517
1592
|
};
|
|
1518
1593
|
|
|
1594
|
+
var Map = GmapVue.components.MapLayer;
|
|
1519
1595
|
var ReactiveGoogleMap = {
|
|
1520
1596
|
name: 'ReactiveGoogleMap',
|
|
1521
1597
|
props: {
|
|
1522
1598
|
className: vueTypes.types.string,
|
|
1523
1599
|
componentId: vueTypes.types.stringRequired,
|
|
1524
1600
|
dataField: vueTypes.types.stringRequired,
|
|
1525
|
-
defaultQuery:
|
|
1601
|
+
defaultQuery: VueTypes.func,
|
|
1526
1602
|
loader: vueTypes.types.title,
|
|
1527
1603
|
defaultZoom: VueTypes.number.def(13),
|
|
1528
1604
|
react: vueTypes.types.react,
|
|
1529
1605
|
size: vueTypes.types.number,
|
|
1530
1606
|
sortBy: vueTypes.types.sortBy,
|
|
1531
|
-
URLParams:
|
|
1607
|
+
URLParams: VueTypes.bool,
|
|
1532
1608
|
mapProps: VueTypes.object,
|
|
1533
1609
|
showMarkers: VueTypes.bool.def(true),
|
|
1534
1610
|
showMarkerClusters: VueTypes.bool.def(false),
|
|
1535
1611
|
searchAsMove: VueTypes.bool.def(false),
|
|
1536
|
-
|
|
1612
|
+
searchAsMoveLabel: VueTypes.string,
|
|
1613
|
+
markerProps: VueTypes.object,
|
|
1614
|
+
clusterProps: VueTypes.object,
|
|
1537
1615
|
renderItem: VueTypes.func,
|
|
1538
|
-
showSearchAsMove:
|
|
1616
|
+
showSearchAsMove: VueTypes.bool.def(true),
|
|
1539
1617
|
autoClosePopover: VueTypes.bool,
|
|
1540
1618
|
pagination: VueTypes.bool,
|
|
1541
1619
|
defaultPin: VueTypes.string,
|
|
@@ -1545,7 +1623,8 @@ var ReactiveGoogleMap = {
|
|
|
1545
1623
|
defaultRadius: vueTypes.types.number,
|
|
1546
1624
|
unit: vueTypes.types.string,
|
|
1547
1625
|
pages: VueTypes.number.def(5),
|
|
1548
|
-
calculateMarkers: VueTypes.func
|
|
1626
|
+
calculateMarkers: VueTypes.func,
|
|
1627
|
+
highlightMarkerOnHover: VueTypes.bool.def(true)
|
|
1549
1628
|
},
|
|
1550
1629
|
methods: {
|
|
1551
1630
|
renderMap: function renderMap(_ref) {
|
|
@@ -1560,9 +1639,7 @@ var ReactiveGoogleMap = {
|
|
|
1560
1639
|
renderSearchAsMove = _ref.renderSearchAsMove,
|
|
1561
1640
|
handlePreserveCenter = _ref.handlePreserveCenter,
|
|
1562
1641
|
getPosition = _ref.getPosition,
|
|
1563
|
-
markerProps = _ref.markerProps,
|
|
1564
1642
|
autoClosePopover = _ref.autoClosePopover,
|
|
1565
|
-
renderPopover = _ref.renderPopover,
|
|
1566
1643
|
defaultPin = _ref.defaultPin;
|
|
1567
1644
|
var h = this.$createElement;
|
|
1568
1645
|
var style = {
|
|
@@ -1595,8 +1672,10 @@ var ReactiveGoogleMap = {
|
|
|
1595
1672
|
"attrs": {
|
|
1596
1673
|
"resultsToRender": resultsToRender,
|
|
1597
1674
|
"getPosition": getPosition,
|
|
1598
|
-
"markerProps": markerProps,
|
|
1675
|
+
"markerProps": this.markerProps,
|
|
1676
|
+
"clusterProps": this.clusterProps,
|
|
1599
1677
|
"handlePreserveCenter": handlePreserveCenter,
|
|
1678
|
+
"highlightMarkerOnHover": this.highlightMarkerOnHover,
|
|
1600
1679
|
"renderItem": this.$scopedSlots.renderItem ? function () {
|
|
1601
1680
|
return {
|
|
1602
1681
|
custom: _this.$scopedSlots.renderItem
|
|
@@ -1604,9 +1683,11 @@ var ReactiveGoogleMap = {
|
|
|
1604
1683
|
} : this.renderItem,
|
|
1605
1684
|
"defaultPin": defaultPin,
|
|
1606
1685
|
"autoClosePopover": autoClosePopover,
|
|
1607
|
-
"renderPopover": renderPopover,
|
|
1686
|
+
"renderPopover": this.$scopedSlots.renderPopover,
|
|
1687
|
+
"renderClusterPopover": this.$scopedSlots.renderClusterPopover,
|
|
1608
1688
|
"showMarkerClusters": this.showMarkerClusters
|
|
1609
|
-
}
|
|
1689
|
+
},
|
|
1690
|
+
"on": _rollupPluginBabelHelpers._extends({}, this.$listeners)
|
|
1610
1691
|
}) : null]), renderSearchAsMove()]);
|
|
1611
1692
|
},
|
|
1612
1693
|
getMapRef: function getMapRef() {
|
|
@@ -1623,8 +1704,6 @@ var ReactiveGoogleMap = {
|
|
|
1623
1704
|
}
|
|
1624
1705
|
},
|
|
1625
1706
|
render: function render() {
|
|
1626
|
-
var _this3 = this;
|
|
1627
|
-
|
|
1628
1707
|
var h = arguments[0];
|
|
1629
1708
|
return h(RMConnected, _mergeJSXProps([{
|
|
1630
1709
|
"attrs": {
|
|
@@ -1641,14 +1720,12 @@ var ReactiveGoogleMap = {
|
|
|
1641
1720
|
"uRLParams": this.URLParams,
|
|
1642
1721
|
"defaultSearchAsMove": this.searchAsMove,
|
|
1643
1722
|
"showSearchAsMove": this.showSearchAsMove,
|
|
1723
|
+
"searchAsMoveLabel": this.searchAsMoveLabel,
|
|
1644
1724
|
"showMarkers": this.showMarkers,
|
|
1645
1725
|
"markerProps": this.markerProps,
|
|
1646
1726
|
"autoClosePopover": this.autoClosePopover,
|
|
1647
1727
|
"defaultPin": this.defaultPin,
|
|
1648
1728
|
"defaultQuery": this.defaultQuery,
|
|
1649
|
-
"renderPopover": this.$scopedSlots.renderPopover ? function (item) {
|
|
1650
|
-
return _this3.$scopedSlots.renderPopover(item);
|
|
1651
|
-
} : null,
|
|
1652
1729
|
"autoCenter": this.autoCenter,
|
|
1653
1730
|
"defaultCenter": this.defaultCenter,
|
|
1654
1731
|
"defaultRadius": this.defaultRadius,
|
|
@@ -1672,7 +1749,7 @@ ReactiveGoogleMap.install = function (Vue, options) {
|
|
|
1672
1749
|
console.error('ReactiveSearch: map key is required to use ReactiveGoogleMap component');
|
|
1673
1750
|
}
|
|
1674
1751
|
|
|
1675
|
-
Vue.use(
|
|
1752
|
+
Vue.use(GmapVue__default, {
|
|
1676
1753
|
load: {
|
|
1677
1754
|
key: options.key,
|
|
1678
1755
|
libraries: 'places'
|