@appbaseio/reactivesearch-vue 1.34.0-alpha.2 → 1.35.0
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 +10892 -8633
- package/dist/@appbaseio/reactivesearch-vue.umd.js.map +1 -1
- package/dist/@appbaseio/reactivesearch-vue.umd.min.js +12 -11
- package/dist/@appbaseio/reactivesearch-vue.umd.min.js.map +1 -1
- package/dist/cjs/Button-841fd06d.js +62 -0
- package/dist/cjs/{CancelSvg-062a42f0.js → CancelSvg-220a7cc3.js} +40 -32
- package/dist/cjs/Card-240f283d.js +30 -0
- package/dist/cjs/{ComponentWrapper-db45cc6d.js → ComponentWrapper-94c50228.js} +7 -7
- package/dist/cjs/Container-e699ea95.js +15 -0
- package/dist/cjs/DataSearch.js +1313 -20
- package/dist/cjs/{DropDown-3b899b20.js → DropDown-c6b79b05.js} +79 -78
- package/dist/cjs/DynamicRangeSlider.js +47 -56
- package/dist/cjs/Flex-ddd7cb6b.js +50 -0
- package/dist/cjs/FormControlList-bbb5cd24.js +45 -0
- package/dist/cjs/Input-ead4cd84.js +77 -0
- package/dist/cjs/ListItem-5088bd6a.js +45 -0
- package/dist/cjs/MultiDropdownList.js +69 -74
- package/dist/cjs/MultiList.js +95 -89
- package/dist/cjs/MultiRange.js +45 -54
- package/dist/cjs/{Pagination-a468f960.js → Pagination-6d184d4a.js} +53 -56
- package/dist/cjs/{PreferencesConsumer-034c55e3.js → PreferencesConsumer-5e6e84a2.js} +5 -6
- package/dist/cjs/RangeInput.js +108 -115
- package/dist/cjs/RangeSlider.js +40 -50
- package/dist/cjs/ReactiveBase.js +55 -69
- package/dist/cjs/ReactiveComponent.js +317 -46
- package/dist/cjs/{ReactiveComponent-f0f486ca.js → ReactiveComponentPrivate-6f03f300.js} +322 -618
- package/dist/cjs/ReactiveComponentPrivate.js +55 -0
- package/dist/cjs/ReactiveGoogleMap.js +442 -384
- package/dist/cjs/ReactiveList.js +129 -100
- package/dist/cjs/ResultCard.js +19 -26
- package/dist/cjs/ResultList.js +27 -31
- package/dist/cjs/SelectedFilters.js +34 -49
- package/dist/cjs/SingleDropdownList.js +67 -73
- package/dist/cjs/SingleList.js +97 -90
- package/dist/cjs/SingleRange.js +43 -48
- package/dist/cjs/StateProvider.js +2 -2
- package/dist/cjs/Tags-d464c22e.js +883 -0
- package/dist/cjs/Title-16042ea0.js +15 -0
- package/dist/cjs/ToggleButton.js +35 -39
- package/dist/cjs/{index-dc25b706.js → index-de136c17.js} +8 -6
- package/dist/cjs/index.js +27 -25
- package/dist/cjs/initReactivesearch.js +0 -3
- package/dist/cjs/install.js +23 -22
- package/dist/cjs/ssr-f2fc1bf6.js +36 -0
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/{vueTypes-621a8143.js → vueTypes-568ce5e6.js} +4 -2
- package/dist/es/Button-153cd885.js +53 -0
- package/dist/es/{CancelSvg-14ebc9a1.js → CancelSvg-e40552a5.js} +37 -30
- package/dist/es/{Card-1951569e.js → Card-19ad6d90.js} +6 -5
- package/dist/es/{ComponentWrapper-bf443c0b.js → ComponentWrapper-edaeaceb.js} +6 -6
- package/dist/es/Container-d00219f7.js +1 -1
- package/dist/es/DataSearch.js +1313 -18
- package/dist/es/{DropDown-35e232b7.js → DropDown-c685912c.js} +78 -78
- package/dist/es/DynamicRangeSlider.js +44 -53
- package/dist/es/Flex-7c177a10.js +45 -0
- package/dist/es/FormControlList-99797d0a.js +38 -0
- package/dist/es/Input-c09c0b56.js +69 -0
- package/dist/es/{ListItem-47a6345a.js → ListItem-07888a65.js} +7 -6
- package/dist/es/MultiDropdownList.js +67 -72
- package/dist/es/MultiList.js +94 -88
- package/dist/es/MultiRange.js +43 -52
- package/dist/es/{Pagination-145b4ff2.js → Pagination-f477f92f.js} +53 -56
- package/dist/es/{PreferencesConsumer-7ea7313a.js → PreferencesConsumer-86a676c8.js} +4 -5
- package/dist/es/RangeInput.js +104 -112
- package/dist/es/RangeSlider.js +37 -47
- package/dist/es/ReactiveBase.js +53 -68
- package/dist/es/ReactiveComponent.js +317 -45
- package/dist/es/{ReactiveComponent-e2fb9eb4.js → ReactiveComponentPrivate-4467524a.js} +317 -614
- package/dist/es/ReactiveComponentPrivate.js +47 -0
- package/dist/es/ReactiveGoogleMap.js +437 -380
- package/dist/es/ReactiveList.js +126 -98
- package/dist/es/ResultCard.js +18 -25
- package/dist/es/ResultList.js +26 -30
- package/dist/es/SelectedFilters.js +32 -47
- package/dist/es/SingleDropdownList.js +65 -71
- package/dist/es/SingleList.js +95 -88
- package/dist/es/SingleRange.js +41 -46
- package/dist/es/StateProvider.js +2 -2
- package/dist/es/Tags-ebf363ec.js +869 -0
- package/dist/es/Title-863dfa42.js +1 -1
- package/dist/es/ToggleButton.js +33 -37
- package/dist/es/{index-285a43a6.js → index-5509c0bc.js} +8 -6
- package/dist/es/index.js +20 -19
- package/dist/es/initReactivesearch.js +0 -3
- package/dist/es/install.js +20 -19
- package/dist/es/ssr-03607d84.js +1 -1
- package/dist/es/version.js +1 -1
- package/dist/es/{vueTypes-e4af6fe2.js → vueTypes-7f572665.js} +4 -2
- package/package.json +87 -87
- package/dist/cjs/Button-626c5e8e.js +0 -58
- package/dist/cjs/Card-c381ded3.js +0 -26
- package/dist/cjs/Container-29f049b2.js +0 -12
- package/dist/cjs/DataSearch-7c71ec9f.js +0 -2043
- package/dist/cjs/Flex-d5675ea6.js +0 -48
- package/dist/cjs/FormControlList-cf1ff2ca.js +0 -42
- package/dist/cjs/Input-4d278ca0.js +0 -74
- package/dist/cjs/ListItem-c067bc07.js +0 -41
- package/dist/cjs/Title-8802a218.js +0 -12
- package/dist/cjs/ssr-eb901d09.js +0 -35
- package/dist/es/Button-ebafa3d6.js +0 -52
- package/dist/es/DataSearch-4f9a4e46.js +0 -2028
- package/dist/es/Flex-a08e22d7.js +0 -46
- package/dist/es/FormControlList-fa5cf78b.js +0 -38
- package/dist/es/Input-3b8408a6.js +0 -69
|
@@ -8,23 +8,23 @@ var configureStore = require('@appbaseio/reactivecore');
|
|
|
8
8
|
var configureStore__default = _interopDefault(configureStore);
|
|
9
9
|
var constants = require('@appbaseio/reactivecore/lib/utils/constants');
|
|
10
10
|
var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-f8b843f8.js');
|
|
11
|
-
var vue = require('vue');
|
|
12
11
|
var VueTypes = _interopDefault(require('vue-types'));
|
|
13
|
-
|
|
14
|
-
var
|
|
12
|
+
require('emotion');
|
|
13
|
+
var styled = require('@appbaseio/vue-emotion');
|
|
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-841fd06d.js');
|
|
17
|
+
var vueTypes = require('./vueTypes-568ce5e6.js');
|
|
18
|
+
var Pagination = require('./Pagination-6d184d4a.js');
|
|
19
19
|
require('@appbaseio/reactivecore/lib/utils/transform');
|
|
20
20
|
require('redux');
|
|
21
|
-
var index = require('./index-
|
|
22
|
-
var ComponentWrapper = require('./ComponentWrapper-
|
|
23
|
-
var PreferencesConsumer = require('./PreferencesConsumer-
|
|
24
|
-
var
|
|
25
|
-
var FormControlList = require('./FormControlList-
|
|
26
|
-
var
|
|
27
|
-
var
|
|
21
|
+
var index = require('./index-de136c17.js');
|
|
22
|
+
var ComponentWrapper = require('./ComponentWrapper-94c50228.js');
|
|
23
|
+
var PreferencesConsumer = require('./PreferencesConsumer-5e6e84a2.js');
|
|
24
|
+
var _mergeJSXProps = _interopDefault(require('@vue/babel-helper-vue-jsx-merge-props'));
|
|
25
|
+
var FormControlList = require('./FormControlList-bbb5cd24.js');
|
|
26
|
+
var GmapVue = require('gmap-vue');
|
|
27
|
+
var GmapVue__default = _interopDefault(GmapVue);
|
|
28
28
|
var geohash = _interopDefault(require('ngeohash'));
|
|
29
29
|
|
|
30
30
|
var setStreaming = configureStore.Actions.setStreaming,
|
|
@@ -109,6 +109,7 @@ var ReactiveMap = {
|
|
|
109
109
|
props: {
|
|
110
110
|
className: vueTypes.types.string,
|
|
111
111
|
componentId: vueTypes.types.stringRequired,
|
|
112
|
+
compoundClause: vueTypes.types.compoundClause,
|
|
112
113
|
dataField: vueTypes.types.stringRequired,
|
|
113
114
|
react: vueTypes.types.react,
|
|
114
115
|
size: vueTypes.types.number,
|
|
@@ -116,6 +117,7 @@ var ReactiveMap = {
|
|
|
116
117
|
URLParams: VueTypes.bool,
|
|
117
118
|
autoCenter: VueTypes.bool,
|
|
118
119
|
getMapRef: VueTypes.func.isRequired,
|
|
120
|
+
getMapPromise: VueTypes.func,
|
|
119
121
|
center: vueTypes.types.location,
|
|
120
122
|
defaultCenter: vueTypes.types.location,
|
|
121
123
|
defaultPin: vueTypes.types.string,
|
|
@@ -183,32 +185,37 @@ var ReactiveMap = {
|
|
|
183
185
|
}
|
|
184
186
|
},
|
|
185
187
|
defaultQuery: function defaultQuery(newVal, oldVal) {
|
|
188
|
+
var _this = this;
|
|
186
189
|
if (!index.isQueryIdentical(newVal, oldVal, null, this.$props)) {
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
190
|
+
this.getMapPromise().then(function () {
|
|
191
|
+
var options = getQueryOptions(_this.$props);
|
|
192
|
+
options.from = 0;
|
|
193
|
+
_this.$defaultQuery = newVal(null, _this.$props);
|
|
194
|
+
// Update default query to include the geo bounding box query
|
|
195
|
+
_this.setDefaultQueryForRSAPI();
|
|
196
|
+
if (_this.$defaultQuery) {
|
|
197
|
+
var _ref = _this.$defaultQuery || {},
|
|
198
|
+
sort = _ref.sort,
|
|
199
|
+
query = _ref.query;
|
|
200
|
+
if (sort) {
|
|
201
|
+
options.sort = _this.$defaultQuery.sort;
|
|
202
|
+
}
|
|
203
|
+
var queryOptions = getOptionsFromQuery(_this.$defaultQuery);
|
|
204
|
+
if (queryOptions) {
|
|
205
|
+
options = _rollupPluginBabelHelpers._extends({}, options, getOptionsFromQuery(_this.$defaultQuery));
|
|
206
|
+
}
|
|
207
|
+
// Update calculated default query in store
|
|
208
|
+
_this.setQueryOptions(_this.$props.componentId, options, false);
|
|
209
|
+
var persistMapQuery = true;
|
|
210
|
+
var forceExecute = true;
|
|
211
|
+
var meta = {
|
|
212
|
+
mapBoxBounds: _this.mapBoxBounds
|
|
213
|
+
};
|
|
214
|
+
_this.setMapData(_this.componentId, query, persistMapQuery, forceExecute, meta);
|
|
215
|
+
_this.currentPageState = 0;
|
|
216
|
+
_this.from = 0;
|
|
217
|
+
}
|
|
218
|
+
});
|
|
212
219
|
}
|
|
213
220
|
},
|
|
214
221
|
promotedResults: function promotedResults(newVal, oldVal) {
|
|
@@ -236,7 +243,7 @@ var ReactiveMap = {
|
|
|
236
243
|
}
|
|
237
244
|
},
|
|
238
245
|
rawData: function rawData(newVal, oldVal) {
|
|
239
|
-
var
|
|
246
|
+
var _this2 = this;
|
|
240
247
|
if (!isEqual(newVal, oldVal)) {
|
|
241
248
|
var promotedResults = this.promotedResults,
|
|
242
249
|
hits = this.hits;
|
|
@@ -255,10 +262,10 @@ var ReactiveMap = {
|
|
|
255
262
|
filteredResults = [].concat(parsedPromotedResults, filteredResults);
|
|
256
263
|
}
|
|
257
264
|
filteredResults = filteredResults.filter(function (item) {
|
|
258
|
-
return !!item[
|
|
265
|
+
return !!item[_this2.dataField];
|
|
259
266
|
}).map(function (item) {
|
|
260
267
|
var _extends2;
|
|
261
|
-
return _rollupPluginBabelHelpers._extends({}, item, (_extends2 = {}, _extends2[
|
|
268
|
+
return _rollupPluginBabelHelpers._extends({}, item, (_extends2 = {}, _extends2[_this2.dataField] = getLocationObject(item[_this2.dataField]), _extends2));
|
|
262
269
|
});
|
|
263
270
|
this.filteredResults = this.addNoise(filteredResults);
|
|
264
271
|
if (this.calculateMarkers) {
|
|
@@ -303,15 +310,15 @@ var ReactiveMap = {
|
|
|
303
310
|
return this.parseLocation(MAP_CENTER);
|
|
304
311
|
},
|
|
305
312
|
addNoise: function addNoise(hits) {
|
|
306
|
-
var
|
|
313
|
+
var _this3 = this;
|
|
307
314
|
var hitMap = {};
|
|
308
315
|
var updatedHits = [];
|
|
309
316
|
hits.forEach(function (item) {
|
|
310
317
|
var updatedItem = _rollupPluginBabelHelpers._extends({}, item);
|
|
311
|
-
var location =
|
|
318
|
+
var location = _this3.parseLocation(item[_this3.dataField]);
|
|
312
319
|
var key = JSON.stringify(location);
|
|
313
320
|
var count = hitMap[key] || 0;
|
|
314
|
-
updatedItem[
|
|
321
|
+
updatedItem[_this3.dataField] = count ? withDistinctLat(location, count) : location;
|
|
315
322
|
updatedHits = [].concat(updatedHits, [updatedItem]);
|
|
316
323
|
hitMap[key] = count + 1;
|
|
317
324
|
});
|
|
@@ -324,9 +331,9 @@ var ReactiveMap = {
|
|
|
324
331
|
return null;
|
|
325
332
|
},
|
|
326
333
|
getHitsCenter: function getHitsCenter(hits) {
|
|
327
|
-
var
|
|
334
|
+
var _this4 = this;
|
|
328
335
|
var data = hits.map(function (hit) {
|
|
329
|
-
return hit[
|
|
336
|
+
return hit[_this4.dataField];
|
|
330
337
|
});
|
|
331
338
|
if (data.length) {
|
|
332
339
|
var numCoords = data.length;
|
|
@@ -365,7 +372,7 @@ var ReactiveMap = {
|
|
|
365
372
|
return false;
|
|
366
373
|
},
|
|
367
374
|
getCenter: function getCenter(hits) {
|
|
368
|
-
var
|
|
375
|
+
var _this5 = this;
|
|
369
376
|
if (this.center) {
|
|
370
377
|
return this.parseLocation(this.center);
|
|
371
378
|
}
|
|
@@ -373,7 +380,7 @@ var ReactiveMap = {
|
|
|
373
380
|
if (mapRef && typeof mapRef.getCenter === 'function' && this.$options.preserveCenter) {
|
|
374
381
|
var currentCenter = mapRef.getCenter();
|
|
375
382
|
setTimeout(function () {
|
|
376
|
-
|
|
383
|
+
_this5.$options.preserveCenter = false;
|
|
377
384
|
}, 100);
|
|
378
385
|
return this.parseLocation({
|
|
379
386
|
lat: currentCenter.lat(),
|
|
@@ -431,12 +438,14 @@ var ReactiveMap = {
|
|
|
431
438
|
// or whenever searchAsMove is true and the map is dragged
|
|
432
439
|
if (executeUpdate || !this.skipBoundingBox && !this.mapBoxBounds) {
|
|
433
440
|
this.$defaultQuery = this.getGeoQuery();
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
441
|
+
if (this.$defaultQuery) {
|
|
442
|
+
var persistMapQuery = !!this.center;
|
|
443
|
+
var forceExecute = this.searchAsMove;
|
|
444
|
+
var meta = {
|
|
445
|
+
mapBoxBounds: this.mapBoxBounds
|
|
446
|
+
};
|
|
447
|
+
this.setMapData(this.componentId, this.$defaultQuery, persistMapQuery, forceExecute, meta);
|
|
448
|
+
}
|
|
440
449
|
}
|
|
441
450
|
this.skipBoundingBox = false;
|
|
442
451
|
},
|
|
@@ -572,7 +581,8 @@ var ReactiveMap = {
|
|
|
572
581
|
geo_bounding_box: (_geo_bounding_box = {}, _geo_bounding_box[this.dataField] = boundingBoxCoordinates, _geo_bounding_box)
|
|
573
582
|
};
|
|
574
583
|
if (this.$defaultQuery) {
|
|
575
|
-
var
|
|
584
|
+
var _ref2 = this.$defaultQuery || {},
|
|
585
|
+
query = _ref2.query;
|
|
576
586
|
if (query) {
|
|
577
587
|
// adds defaultQuery's query to geo-query
|
|
578
588
|
// to generate a map query
|
|
@@ -640,15 +650,16 @@ var ReactiveMap = {
|
|
|
640
650
|
this.$emit('search-as-move', this.searchAsMove);
|
|
641
651
|
},
|
|
642
652
|
renderErrorComponent: function renderErrorComponent() {
|
|
643
|
-
var renderError = this.$
|
|
653
|
+
var renderError = this.$scopedSlots.renderError || this.$props.renderError;
|
|
644
654
|
if (renderError && this.error && !this.isLoading) {
|
|
645
655
|
return index.isFunction(renderError) ? renderError(this.error) : renderError;
|
|
646
656
|
}
|
|
647
657
|
return null;
|
|
648
658
|
},
|
|
649
659
|
renderSearchAsMove: function renderSearchAsMove() {
|
|
660
|
+
var h = this.$createElement;
|
|
650
661
|
if (this.showSearchAsMove) {
|
|
651
|
-
return
|
|
662
|
+
return h("div", {
|
|
652
663
|
"style": {
|
|
653
664
|
position: 'absolute',
|
|
654
665
|
bottom: '30px',
|
|
@@ -660,29 +671,40 @@ var ReactiveMap = {
|
|
|
660
671
|
borderRadius: 2,
|
|
661
672
|
zIndex: 10000
|
|
662
673
|
},
|
|
663
|
-
"
|
|
664
|
-
|
|
665
|
-
|
|
674
|
+
"attrs": {
|
|
675
|
+
"className": getClassName(this.innerClass, 'checkboxContainer') || null
|
|
676
|
+
}
|
|
677
|
+
}, [h(FormControlList.Checkbox, {
|
|
678
|
+
"attrs": {
|
|
679
|
+
"type": "checkbox",
|
|
680
|
+
"id": this.$props.componentId + "-searchasmove",
|
|
681
|
+
"checked": this.searchAsMove,
|
|
682
|
+
"show": true
|
|
683
|
+
},
|
|
666
684
|
"class": getClassName(this.$props.innerClass, 'checkbox'),
|
|
667
|
-
"
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
685
|
+
"on": {
|
|
686
|
+
"click": this.toggleSearchAsMove
|
|
687
|
+
}
|
|
688
|
+
}), h("label", {
|
|
689
|
+
"attrs": {
|
|
690
|
+
"className": getClassName(this.innerClass, 'label') || null,
|
|
691
|
+
"for": this.$props.componentId + "-searchasmove"
|
|
692
|
+
}
|
|
674
693
|
}, [this.searchAsMoveLabel])]);
|
|
675
694
|
}
|
|
676
695
|
return null;
|
|
677
696
|
},
|
|
678
697
|
renderPagination: function renderPagination() {
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
"
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
698
|
+
var h = this.$createElement;
|
|
699
|
+
return h(Pagination.Pagination, {
|
|
700
|
+
"attrs": {
|
|
701
|
+
"pages": this.pages,
|
|
702
|
+
"totalPages": this.totalPages,
|
|
703
|
+
"currentPage": this.currentPageState,
|
|
704
|
+
"setPage": this.setPage,
|
|
705
|
+
"innerClass": this.innerClass
|
|
706
|
+
}
|
|
707
|
+
});
|
|
686
708
|
}
|
|
687
709
|
},
|
|
688
710
|
created: function created() {
|
|
@@ -697,73 +719,82 @@ var ReactiveMap = {
|
|
|
697
719
|
this.updateComponentProps(this.internalComponent, {
|
|
698
720
|
from: this.from
|
|
699
721
|
}, constants.componentTypes.reactiveMap);
|
|
722
|
+
this.setDefaultQueryForRSAPI();
|
|
700
723
|
},
|
|
701
724
|
mounted: function mounted() {
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
725
|
+
var _this6 = this;
|
|
726
|
+
this.getMapPromise().then(function () {
|
|
727
|
+
if (_this6.defaultPage < 0 && _this6.currentPage > 0) {
|
|
728
|
+
if (_this6.$props.URLParams) {
|
|
729
|
+
_this6.setPageURL(_this6.$props.componentId, _this6.currentPage, _this6.$props.componentId, false, true);
|
|
730
|
+
}
|
|
705
731
|
}
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
}, _ref2)];
|
|
714
|
-
}
|
|
715
|
-
this.$defaultQuery = null;
|
|
716
|
-
if (this.$props.defaultQuery) {
|
|
717
|
-
this.$defaultQuery = this.$props.defaultQuery();
|
|
718
|
-
options = _rollupPluginBabelHelpers._extends({}, options, getOptionsFromQuery(this.$defaultQuery));
|
|
719
|
-
|
|
720
|
-
// Override sort query with defaultQuery's sort if defined
|
|
721
|
-
if (this.$defaultQuery.sort) {
|
|
722
|
-
options.sort = this.$defaultQuery.sort;
|
|
732
|
+
var options = getQueryOptions(_this6.$props);
|
|
733
|
+
options.from = _this6.$data.from;
|
|
734
|
+
if (_this6.$props.sortBy) {
|
|
735
|
+
var _ref3;
|
|
736
|
+
options.sort = [(_ref3 = {}, _ref3[_this6.$props.dataField] = {
|
|
737
|
+
order: _this6.$props.sortBy
|
|
738
|
+
}, _ref3)];
|
|
723
739
|
}
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
740
|
+
_this6.$defaultQuery = null;
|
|
741
|
+
if (_this6.$props.defaultQuery) {
|
|
742
|
+
_this6.$defaultQuery = _this6.$props.defaultQuery();
|
|
743
|
+
// Update default query for RS API
|
|
744
|
+
_this6.setDefaultQueryForRSAPI();
|
|
745
|
+
if (_this6.$defaultQuery) {
|
|
746
|
+
options = _rollupPluginBabelHelpers._extends({}, options, getOptionsFromQuery(_this6.$defaultQuery));
|
|
730
747
|
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
748
|
+
// Override sort query with defaultQuery's sort if defined
|
|
749
|
+
if (_this6.$defaultQuery.sort) {
|
|
750
|
+
options.sort = _this6.$defaultQuery.sort;
|
|
751
|
+
}
|
|
752
|
+
// since we want defaultQuery to be executed anytime
|
|
753
|
+
// map component's query is being executed
|
|
754
|
+
var persistMapQuery = true;
|
|
755
|
+
// no need to forceExecute because setReact() will capture the main query
|
|
756
|
+
// and execute the defaultQuery along with it
|
|
757
|
+
var forceExecute = false;
|
|
758
|
+
var meta = {
|
|
759
|
+
mapBoxBounds: _this6.mapBoxBounds
|
|
760
|
+
};
|
|
761
|
+
if (_this6.$defaultQuery) {
|
|
762
|
+
_this6.setMapData(_this6.componentId, _this6.$defaultQuery.query, persistMapQuery, forceExecute, meta);
|
|
763
|
+
_this6.setQueryOptions(_this6.componentId, options);
|
|
764
|
+
}
|
|
765
|
+
}
|
|
766
|
+
} else {
|
|
767
|
+
// only apply geo-distance when defaultQuery prop is not set
|
|
768
|
+
var query = _this6.getGeoDistanceQuery();
|
|
769
|
+
if (query) {
|
|
770
|
+
// - only persist the map query if center prop is set
|
|
771
|
+
// - ideally, persist the map query if you want to keep executing it
|
|
772
|
+
// whenever there is a change (due to subscription) in the component query
|
|
773
|
+
var _persistMapQuery = !!_this6.center;
|
|
745
774
|
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
775
|
+
// - forceExecute will make sure that the component query + Map query gets executed
|
|
776
|
+
// irrespective of the changes in the component query
|
|
777
|
+
// - forceExecute will only come into play when searchAsMove is true
|
|
778
|
+
// - kindly note that forceExecute may result in one additional network request
|
|
779
|
+
// since it bypasses the gatekeeping
|
|
780
|
+
var _forceExecute = _this6.searchAsMove;
|
|
781
|
+
// Set meta for `distance` and `coordinates` in selected value
|
|
782
|
+
var center = _this6.center || _this6.defaultCenter;
|
|
783
|
+
var coordinatesObject = _this6.getArrPosition(center);
|
|
784
|
+
var _meta = {
|
|
785
|
+
distance: _this6.defaultRadius,
|
|
786
|
+
coordinates: coordinatesObject.lat + ", " + coordinatesObject.lon
|
|
787
|
+
};
|
|
788
|
+
_this6.setMapData(_this6.componentId, query, _persistMapQuery, _forceExecute, _meta);
|
|
789
|
+
}
|
|
790
|
+
_this6.setQueryOptions(_this6.componentId, options);
|
|
760
791
|
}
|
|
761
|
-
}
|
|
762
|
-
this.setQueryOptions(this.componentId, options, !(this.$defaultQuery && this.$defaultQuery.query));
|
|
792
|
+
});
|
|
763
793
|
},
|
|
764
794
|
render: function render() {
|
|
765
|
-
var
|
|
766
|
-
|
|
795
|
+
var h = arguments[0];
|
|
796
|
+
var loader = this.$scopedSlots.loader || this.$props.loader;
|
|
797
|
+
return h("div", {
|
|
767
798
|
"style": _rollupPluginBabelHelpers._extends({}, style, this.$props.style),
|
|
768
799
|
"class": this.$props.className
|
|
769
800
|
}, [this.renderErrorComponent(), this.isLoading && loader, this.hasCustomRender ? this.getComponent() : null, this.renderMap(this.getMapParams()), this.pagination ? this.renderPagination() : null]);
|
|
@@ -835,7 +866,7 @@ var infoWindowMappedProps = {
|
|
|
835
866
|
*/
|
|
836
867
|
function bindEvents(vueInst, googleMapsInst, events) {
|
|
837
868
|
events.forEach(function (eventName) {
|
|
838
|
-
if (vueInst.$gmapOptions.autoBindAllEvents || vueInst.$
|
|
869
|
+
if (vueInst.$gmapOptions.autoBindAllEvents || vueInst.$listeners[eventName]) {
|
|
839
870
|
googleMapsInst.addListener(eventName, function (ev) {
|
|
840
871
|
vueInst.$emit(eventName, ev);
|
|
841
872
|
});
|
|
@@ -958,7 +989,7 @@ function bindProps(vueInst, googleMapsInst, props) {
|
|
|
958
989
|
googleMapsInst[setMethodName](vueInst[attribute]);
|
|
959
990
|
}, vueInst[attribute] !== undefined);
|
|
960
991
|
}
|
|
961
|
-
if (twoWay && (vueInst.$gmapOptions.autoBindAllEvents || vueInst.$
|
|
992
|
+
if (twoWay && (vueInst.$gmapOptions.autoBindAllEvents || vueInst.$listeners[eventName])) {
|
|
962
993
|
googleMapsInst.addListener(eventName, function () {
|
|
963
994
|
vueInst.$emit(eventName, googleMapsInst[getMethodName]());
|
|
964
995
|
});
|
|
@@ -1093,9 +1124,10 @@ var InfoWindowClusterManager = {
|
|
|
1093
1124
|
}
|
|
1094
1125
|
},
|
|
1095
1126
|
render: function render() {
|
|
1096
|
-
|
|
1127
|
+
var h = arguments[0];
|
|
1128
|
+
return h("div", [h("div", {
|
|
1097
1129
|
"ref": "flyaway"
|
|
1098
|
-
}, [this.$
|
|
1130
|
+
}, [this.$scopedSlots["default"]()])]);
|
|
1099
1131
|
}
|
|
1100
1132
|
};
|
|
1101
1133
|
|
|
@@ -1127,19 +1159,14 @@ var InfoWindowWrapper = {
|
|
|
1127
1159
|
}
|
|
1128
1160
|
},
|
|
1129
1161
|
render: function render() {
|
|
1130
|
-
var
|
|
1162
|
+
var h = arguments[0];
|
|
1131
1163
|
var renderPopover = this.renderPopover,
|
|
1132
1164
|
events = this.events;
|
|
1133
|
-
return
|
|
1134
|
-
"ref": this.id + "-Info-Window"
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
}), {
|
|
1139
|
-
"default": function _default() {
|
|
1140
|
-
return [vue.createVNode("div", null, [renderPopover(_this.handleClose)])];
|
|
1141
|
-
}
|
|
1142
|
-
});
|
|
1165
|
+
return h(InfoWindowClusterManager, {
|
|
1166
|
+
"ref": this.id + "-Info-Window",
|
|
1167
|
+
"props": _rollupPluginBabelHelpers._extends({}, this.infoWindowProps),
|
|
1168
|
+
"on": _rollupPluginBabelHelpers._extends({}, events)
|
|
1169
|
+
}, [h("div", [renderPopover(this.handleClose)])]);
|
|
1143
1170
|
}
|
|
1144
1171
|
};
|
|
1145
1172
|
|
|
@@ -1309,34 +1336,37 @@ var ClusterMarkers = {
|
|
|
1309
1336
|
},
|
|
1310
1337
|
render: function render() {
|
|
1311
1338
|
var _this2 = this;
|
|
1339
|
+
var h = arguments[0];
|
|
1312
1340
|
if (!this.renderPopover) {
|
|
1313
1341
|
return null;
|
|
1314
1342
|
}
|
|
1315
|
-
return
|
|
1343
|
+
return h("div", [Object.keys(this.openMarkers).map(function (markerId) {
|
|
1316
1344
|
var marker = _this2.openMarkers[markerId];
|
|
1317
1345
|
var item = marker.metaData;
|
|
1318
|
-
return
|
|
1346
|
+
return h(InfoWindowWrapper, {
|
|
1319
1347
|
"key": markerId + "-InfoWindow",
|
|
1320
|
-
"
|
|
1321
|
-
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
|
|
1348
|
+
"attrs": {
|
|
1349
|
+
"id": markerId,
|
|
1350
|
+
"renderPopover": function renderPopover(_handleClose) {
|
|
1351
|
+
return _this2.renderPopover({
|
|
1352
|
+
item: item,
|
|
1353
|
+
handleClose: function handleClose() {
|
|
1354
|
+
_handleClose();
|
|
1355
|
+
_this2.closeMarker(item);
|
|
1356
|
+
}
|
|
1357
|
+
});
|
|
1358
|
+
},
|
|
1359
|
+
"marker": marker,
|
|
1360
|
+
"infoWindowProps": {
|
|
1361
|
+
zIndex: 500
|
|
1362
|
+
},
|
|
1363
|
+
"events": {
|
|
1364
|
+
closeclick: function closeclick() {
|
|
1365
|
+
return _this2.closeMarker(marker);
|
|
1327
1366
|
}
|
|
1328
|
-
});
|
|
1329
|
-
},
|
|
1330
|
-
"marker": marker,
|
|
1331
|
-
"infoWindowProps": {
|
|
1332
|
-
zIndex: 500
|
|
1333
|
-
},
|
|
1334
|
-
"events": {
|
|
1335
|
-
closeclick: function closeclick() {
|
|
1336
|
-
return _this2.closeMarker(marker);
|
|
1337
1367
|
}
|
|
1338
1368
|
}
|
|
1339
|
-
}
|
|
1369
|
+
});
|
|
1340
1370
|
})]);
|
|
1341
1371
|
}
|
|
1342
1372
|
};
|
|
@@ -1347,6 +1377,7 @@ var ClusterManager = index.connect(function () {
|
|
|
1347
1377
|
return null;
|
|
1348
1378
|
}, mapDispatchToProps$1)(ClusterMarkers);
|
|
1349
1379
|
|
|
1380
|
+
var InfoWindow = GmapVue.components.InfoWindow;
|
|
1350
1381
|
var InfoWindowWrapper$1 = {
|
|
1351
1382
|
name: 'InfoWindowWrapper',
|
|
1352
1383
|
props: {
|
|
@@ -1369,20 +1400,19 @@ var InfoWindowWrapper$1 = {
|
|
|
1369
1400
|
}
|
|
1370
1401
|
},
|
|
1371
1402
|
render: function render() {
|
|
1372
|
-
var
|
|
1403
|
+
var h = arguments[0];
|
|
1373
1404
|
var renderPopover = this.renderPopover,
|
|
1374
1405
|
events = this.events;
|
|
1375
|
-
return
|
|
1376
|
-
"
|
|
1377
|
-
"
|
|
1378
|
-
|
|
1379
|
-
|
|
1380
|
-
return [vue.createVNode("div", null, [renderPopover(_this.handleClose)])];
|
|
1381
|
-
}
|
|
1382
|
-
});
|
|
1406
|
+
return h(InfoWindow, {
|
|
1407
|
+
"ref": this.id + "-Info-Window",
|
|
1408
|
+
"props": _rollupPluginBabelHelpers._extends({}, this.infoWindowProps),
|
|
1409
|
+
"on": _rollupPluginBabelHelpers._extends({}, events)
|
|
1410
|
+
}, [h("div", [renderPopover(this.handleClose)])]);
|
|
1383
1411
|
}
|
|
1384
1412
|
};
|
|
1385
1413
|
|
|
1414
|
+
var MapElementMixin = GmapVue.components.MapElementMixin;
|
|
1415
|
+
|
|
1386
1416
|
// Note: This file has been taken from https://github.com/eregnier/vue2-gmap-custom-marker/blob/master/gmap-custom-marker.vue
|
|
1387
1417
|
var MarkerWithLabel = {
|
|
1388
1418
|
name: 'MarkerWithLabel',
|
|
@@ -1427,7 +1457,7 @@ var MarkerWithLabel = {
|
|
|
1427
1457
|
opacity: 0.01
|
|
1428
1458
|
};
|
|
1429
1459
|
},
|
|
1430
|
-
mixins: [
|
|
1460
|
+
mixins: [MapElementMixin],
|
|
1431
1461
|
inject: {
|
|
1432
1462
|
$clusterPromise: {
|
|
1433
1463
|
"default": null
|
|
@@ -1618,22 +1648,26 @@ var MarkerWithLabel = {
|
|
|
1618
1648
|
}
|
|
1619
1649
|
},
|
|
1620
1650
|
render: function render() {
|
|
1621
|
-
|
|
1651
|
+
var h = arguments[0];
|
|
1652
|
+
return h("div", {
|
|
1622
1653
|
"style": {
|
|
1623
1654
|
opacity: this.opacity
|
|
1624
1655
|
},
|
|
1625
|
-
"
|
|
1626
|
-
|
|
1627
|
-
|
|
1656
|
+
"on": {
|
|
1657
|
+
"mouseover": this.handleMouseOver,
|
|
1658
|
+
"mouseout": this.handleMouseOut,
|
|
1659
|
+
"click": this.handleClick
|
|
1660
|
+
}
|
|
1628
1661
|
}, [this.renderMarker()]);
|
|
1629
1662
|
}
|
|
1630
1663
|
};
|
|
1631
1664
|
|
|
1632
|
-
var _templateObject, _templateObject2;
|
|
1633
|
-
var MapPin =
|
|
1634
|
-
var MapPinArrow =
|
|
1635
|
-
var mapPinWrapper = "\n\t&:hover,\n\t&:focus {\n\t\tz-index: 200;\n\t}\n";
|
|
1665
|
+
var _templateObject, _templateObject2, _templateObject3;
|
|
1666
|
+
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"])));
|
|
1667
|
+
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"])));
|
|
1668
|
+
var mapPinWrapper = styled.css(_templateObject3 || (_templateObject3 = _rollupPluginBabelHelpers._taggedTemplateLiteralLoose(["\n\t&:hover,\n\t&:focus {\n\t\tz-index: 200;\n\t}\n"])));
|
|
1636
1669
|
|
|
1670
|
+
var Marker = GmapVue.components.Marker;
|
|
1637
1671
|
var recordResultClick$2 = configureStore.Actions.recordResultClick;
|
|
1638
1672
|
var GoogleMapMarker = {
|
|
1639
1673
|
name: 'GoogleMapMarker',
|
|
@@ -1711,6 +1745,7 @@ var GoogleMapMarker = {
|
|
|
1711
1745
|
},
|
|
1712
1746
|
renderPopoverClick: function renderPopoverClick(item) {
|
|
1713
1747
|
var _this = this;
|
|
1748
|
+
var h = this.$createElement;
|
|
1714
1749
|
var additionalProps = {};
|
|
1715
1750
|
var _this$$props3 = this.$props,
|
|
1716
1751
|
getPosition = _this$$props3.getPosition,
|
|
@@ -1723,35 +1758,38 @@ var GoogleMapMarker = {
|
|
|
1723
1758
|
}
|
|
1724
1759
|
};
|
|
1725
1760
|
if (item._id in openMarkers) {
|
|
1726
|
-
return
|
|
1761
|
+
return h(InfoWindowWrapper$1, {
|
|
1727
1762
|
"key": item._id + "-InfoWindow",
|
|
1728
|
-
"
|
|
1729
|
-
|
|
1730
|
-
|
|
1731
|
-
|
|
1732
|
-
|
|
1733
|
-
|
|
1734
|
-
|
|
1763
|
+
"attrs": {
|
|
1764
|
+
"id": item._id,
|
|
1765
|
+
"renderPopover": function renderPopover(_handleClose) {
|
|
1766
|
+
return _renderPopover({
|
|
1767
|
+
item: item,
|
|
1768
|
+
handleClose: function handleClose() {
|
|
1769
|
+
_handleClose();
|
|
1770
|
+
_this.closeMarker();
|
|
1771
|
+
}
|
|
1772
|
+
});
|
|
1773
|
+
},
|
|
1774
|
+
"infoWindowProps": {
|
|
1775
|
+
zIndex: 500,
|
|
1776
|
+
position: additionalProps.position,
|
|
1777
|
+
options: additionalProps.defaultOptions
|
|
1778
|
+
},
|
|
1779
|
+
"events": {
|
|
1780
|
+
closeclick: function closeclick() {
|
|
1781
|
+
return _this.closeMarker();
|
|
1735
1782
|
}
|
|
1736
|
-
});
|
|
1737
|
-
},
|
|
1738
|
-
"infoWindowProps": {
|
|
1739
|
-
zIndex: 500,
|
|
1740
|
-
position: additionalProps.position,
|
|
1741
|
-
options: additionalProps.defaultOptions
|
|
1742
|
-
},
|
|
1743
|
-
"events": {
|
|
1744
|
-
closeclick: function closeclick() {
|
|
1745
|
-
return _this.closeMarker();
|
|
1746
1783
|
}
|
|
1747
1784
|
}
|
|
1748
|
-
}
|
|
1785
|
+
});
|
|
1749
1786
|
}
|
|
1750
1787
|
return null;
|
|
1751
1788
|
}
|
|
1752
1789
|
},
|
|
1753
1790
|
render: function render() {
|
|
1754
1791
|
var _this2 = this;
|
|
1792
|
+
var h = arguments[0];
|
|
1755
1793
|
var _this$$props4 = this.$props,
|
|
1756
1794
|
getPosition = _this$$props4.getPosition,
|
|
1757
1795
|
renderItem = _this$$props4.renderItem,
|
|
@@ -1767,70 +1805,74 @@ var GoogleMapMarker = {
|
|
|
1767
1805
|
marker.setIcon = this.setIcon;
|
|
1768
1806
|
var data = renderItem(marker);
|
|
1769
1807
|
if ('label' in data) {
|
|
1770
|
-
return
|
|
1808
|
+
return h(MarkerWithLabel, {
|
|
1771
1809
|
"key": marker._id,
|
|
1772
|
-
"
|
|
1773
|
-
|
|
1774
|
-
|
|
1775
|
-
|
|
1776
|
-
|
|
1777
|
-
|
|
1778
|
-
|
|
1779
|
-
|
|
1780
|
-
|
|
1781
|
-
|
|
1782
|
-
|
|
1783
|
-
|
|
1784
|
-
|
|
1785
|
-
|
|
1786
|
-
|
|
1787
|
-
|
|
1788
|
-
}
|
|
1789
|
-
})
|
|
1810
|
+
"attrs": {
|
|
1811
|
+
"metaData": marker,
|
|
1812
|
+
"marker": getPosition(marker),
|
|
1813
|
+
"labelAnchor": new window.google.maps.Point(0, 30),
|
|
1814
|
+
"handleMouseOver": this.increaseMarkerZIndex,
|
|
1815
|
+
"handleMouseOut": this.removeMarkerZIndex,
|
|
1816
|
+
"handleClick": this.openMarker,
|
|
1817
|
+
"zIndex": markerProps.zIndex,
|
|
1818
|
+
"renderMarker": function renderMarker() {
|
|
1819
|
+
return h("div", {
|
|
1820
|
+
"attrs": {
|
|
1821
|
+
"css": mapPinWrapper
|
|
1822
|
+
}
|
|
1823
|
+
}, [h(MapPin, [data.label]), h(MapPinArrow), renderPopover ? _this2.renderPopoverClick(marker, true) : null]);
|
|
1824
|
+
}
|
|
1825
|
+
},
|
|
1826
|
+
"props": _rollupPluginBabelHelpers._extends({}, customMarkerProps)
|
|
1827
|
+
});
|
|
1790
1828
|
}
|
|
1791
1829
|
if ('icon' in data) {
|
|
1792
1830
|
markerProps.icon = data.icon;
|
|
1793
1831
|
} else {
|
|
1794
|
-
return
|
|
1832
|
+
return h(MarkerWithLabel, {
|
|
1795
1833
|
"key": marker._id,
|
|
1796
|
-
"
|
|
1797
|
-
|
|
1798
|
-
|
|
1799
|
-
|
|
1800
|
-
|
|
1801
|
-
|
|
1802
|
-
|
|
1803
|
-
|
|
1804
|
-
|
|
1805
|
-
|
|
1806
|
-
|
|
1807
|
-
|
|
1808
|
-
|
|
1834
|
+
"attrs": {
|
|
1835
|
+
"metaData": marker,
|
|
1836
|
+
"marker": getPosition(marker),
|
|
1837
|
+
"handleClick": this.openMarker,
|
|
1838
|
+
"handleMouseOver": this.increaseMarkerZIndex,
|
|
1839
|
+
"handleMouseOut": this.removeMarkerZIndex,
|
|
1840
|
+
"zIndex": markerProps.zIndex,
|
|
1841
|
+
"renderMarker": function renderMarker() {
|
|
1842
|
+
return h("div", {
|
|
1843
|
+
"attrs": {
|
|
1844
|
+
"css": mapPinWrapper
|
|
1845
|
+
}
|
|
1846
|
+
}, [typeof data.custom === 'function' ? data.custom(marker) : data.custom, renderPopover ? _this2.renderPopoverClick(marker, true) : null]);
|
|
1847
|
+
}
|
|
1848
|
+
},
|
|
1849
|
+
"props": _rollupPluginBabelHelpers._extends({}, customMarkerProps)
|
|
1850
|
+
});
|
|
1809
1851
|
}
|
|
1810
1852
|
} else if (defaultPin) {
|
|
1811
1853
|
markerProps.icon = {
|
|
1812
1854
|
url: defaultPin
|
|
1813
1855
|
};
|
|
1814
1856
|
}
|
|
1815
|
-
return
|
|
1857
|
+
return h(Marker, {
|
|
1816
1858
|
"key": marker._id,
|
|
1817
|
-
"
|
|
1818
|
-
|
|
1819
|
-
|
|
1859
|
+
"attrs": {
|
|
1860
|
+
"zIndex": markerProps.zIndex,
|
|
1861
|
+
"position": getPosition(marker),
|
|
1862
|
+
"options": {
|
|
1863
|
+
metaData: marker
|
|
1864
|
+
},
|
|
1865
|
+
"icon": this.markerIcon || markerProps.icon
|
|
1820
1866
|
},
|
|
1821
|
-
"
|
|
1822
|
-
|
|
1823
|
-
|
|
1824
|
-
|
|
1825
|
-
|
|
1826
|
-
|
|
1867
|
+
"on": {
|
|
1868
|
+
"click": function click() {
|
|
1869
|
+
return _this2.openMarker();
|
|
1870
|
+
},
|
|
1871
|
+
"mouseover": this.increaseMarkerZIndex,
|
|
1872
|
+
"mouseout": this.removeMarkerZIndex
|
|
1827
1873
|
},
|
|
1828
|
-
"
|
|
1829
|
-
}
|
|
1830
|
-
"default": function _default() {
|
|
1831
|
-
return [renderPopover ? _this2.renderPopoverClick(marker) : null];
|
|
1832
|
-
}
|
|
1833
|
-
});
|
|
1874
|
+
"props": _rollupPluginBabelHelpers._extends({}, customMarkerProps)
|
|
1875
|
+
}, [renderPopover ? this.renderPopoverClick(marker) : null]);
|
|
1834
1876
|
}
|
|
1835
1877
|
};
|
|
1836
1878
|
var mapDispatchToProps$2 = {
|
|
@@ -1840,6 +1882,7 @@ var GoogleMapMarker$1 = index.connect(function () {
|
|
|
1840
1882
|
return null;
|
|
1841
1883
|
}, mapDispatchToProps$2)(GoogleMapMarker);
|
|
1842
1884
|
|
|
1885
|
+
var Cluster = GmapVue.components.Cluster;
|
|
1843
1886
|
var GoogleMapMarkers = {
|
|
1844
1887
|
name: 'GoogleMapMarkers',
|
|
1845
1888
|
props: {
|
|
@@ -1886,6 +1929,7 @@ var GoogleMapMarkers = {
|
|
|
1886
1929
|
},
|
|
1887
1930
|
render: function render() {
|
|
1888
1931
|
var _this = this;
|
|
1932
|
+
var h = arguments[0];
|
|
1889
1933
|
var resultsToRender = this.$props.resultsToRender;
|
|
1890
1934
|
var openMarkers = this.openMarkers;
|
|
1891
1935
|
var markerProps = {
|
|
@@ -1903,69 +1947,76 @@ var GoogleMapMarkers = {
|
|
|
1903
1947
|
highlightMarkerOnHover: this.highlightMarkerOnHover
|
|
1904
1948
|
};
|
|
1905
1949
|
if (this.showMarkerClusters) {
|
|
1906
|
-
return
|
|
1907
|
-
"
|
|
1908
|
-
|
|
1909
|
-
|
|
1910
|
-
|
|
1911
|
-
|
|
1912
|
-
|
|
1913
|
-
|
|
1950
|
+
return h("div", [h(Cluster, {
|
|
1951
|
+
"props": _rollupPluginBabelHelpers._extends({}, this.clusterProps),
|
|
1952
|
+
"on": {
|
|
1953
|
+
"click": function click(cluster) {
|
|
1954
|
+
var markers = cluster.markers.map(function (i) {
|
|
1955
|
+
return i.metaData;
|
|
1956
|
+
});
|
|
1957
|
+
_this.clickedCluster = cluster;
|
|
1958
|
+
_this.clusterMarkers = markers;
|
|
1959
|
+
_this.$emit('open-cluster-popover', _this.clusterMarkers);
|
|
1960
|
+
}
|
|
1914
1961
|
},
|
|
1915
1962
|
"ref": "clusterRef"
|
|
1916
|
-
}
|
|
1917
|
-
"
|
|
1918
|
-
|
|
1919
|
-
|
|
1920
|
-
|
|
1921
|
-
|
|
1922
|
-
|
|
1923
|
-
|
|
1924
|
-
|
|
1925
|
-
|
|
1926
|
-
|
|
1927
|
-
"highlightMarkerOnHover": markerProps.highlightMarkerOnHover
|
|
1928
|
-
}, {
|
|
1929
|
-
on: _this.$attrs
|
|
1930
|
-
}), null)];
|
|
1931
|
-
}
|
|
1932
|
-
}), this.clickedCluster && this.renderClusterPopover ? vue.createVNode(InfoWindowWrapper$1, {
|
|
1933
|
-
"id": "cluster",
|
|
1934
|
-
"infoWindowProps": {
|
|
1935
|
-
zIndex: 500,
|
|
1936
|
-
position: this.getAdditionalProps().position,
|
|
1937
|
-
options: this.getAdditionalProps().defaultOptions
|
|
1963
|
+
}, [h(ClusterManager, {
|
|
1964
|
+
"attrs": {
|
|
1965
|
+
"getPosition": markerProps.getPosition,
|
|
1966
|
+
"markers": resultsToRender,
|
|
1967
|
+
"defaultPin": markerProps.defaultPin,
|
|
1968
|
+
"renderItem": markerProps.renderItem,
|
|
1969
|
+
"markerProps": markerProps.markerProps,
|
|
1970
|
+
"handlePreserveCenter": markerProps.handlePreserveCenter,
|
|
1971
|
+
"autoClosePopover": markerProps.autoClosePopover,
|
|
1972
|
+
"renderPopover": markerProps.renderPopover,
|
|
1973
|
+
"highlightMarkerOnHover": markerProps.highlightMarkerOnHover
|
|
1938
1974
|
},
|
|
1939
|
-
"
|
|
1940
|
-
|
|
1941
|
-
|
|
1942
|
-
|
|
1943
|
-
|
|
1944
|
-
|
|
1945
|
-
|
|
1946
|
-
|
|
1947
|
-
}
|
|
1948
|
-
|
|
1949
|
-
|
|
1950
|
-
|
|
1975
|
+
"on": _rollupPluginBabelHelpers._extends({}, this.$listeners)
|
|
1976
|
+
})]), this.clickedCluster && this.renderClusterPopover ? h(InfoWindowWrapper$1, {
|
|
1977
|
+
"attrs": {
|
|
1978
|
+
"id": "cluster",
|
|
1979
|
+
"infoWindowProps": {
|
|
1980
|
+
zIndex: 500,
|
|
1981
|
+
position: this.getAdditionalProps().position,
|
|
1982
|
+
options: this.getAdditionalProps().defaultOptions
|
|
1983
|
+
},
|
|
1984
|
+
"renderPopover": function renderPopover(_handleClose) {
|
|
1985
|
+
return _this.renderClusterPopover({
|
|
1986
|
+
markers: _this.clusterMarkers,
|
|
1987
|
+
cluster: _this.clickedCluster,
|
|
1988
|
+
handleClose: function handleClose() {
|
|
1989
|
+
_handleClose();
|
|
1990
|
+
_this.closeMarker();
|
|
1991
|
+
}
|
|
1992
|
+
});
|
|
1993
|
+
},
|
|
1994
|
+
"events": {
|
|
1995
|
+
closeclick: this.closeMarker
|
|
1996
|
+
}
|
|
1951
1997
|
}
|
|
1952
|
-
}
|
|
1998
|
+
}) : null]);
|
|
1953
1999
|
}
|
|
1954
|
-
return
|
|
1955
|
-
return
|
|
1956
|
-
"
|
|
1957
|
-
|
|
1958
|
-
|
|
2000
|
+
return h("div", [resultsToRender.map(function (marker, index) {
|
|
2001
|
+
return h(GoogleMapMarker$1, {
|
|
2002
|
+
"attrs": {
|
|
2003
|
+
"index": index,
|
|
2004
|
+
"marker": marker
|
|
2005
|
+
},
|
|
2006
|
+
"props": _rollupPluginBabelHelpers._extends({}, markerProps),
|
|
2007
|
+
"on": _rollupPluginBabelHelpers._extends({}, _this.$listeners)
|
|
2008
|
+
});
|
|
1959
2009
|
})]);
|
|
1960
2010
|
}
|
|
1961
2011
|
};
|
|
1962
2012
|
|
|
1963
|
-
var
|
|
2013
|
+
var Map = GmapVue.components.MapLayer;
|
|
1964
2014
|
var ReactiveGoogleMap = {
|
|
1965
2015
|
name: 'ReactiveGoogleMap',
|
|
1966
2016
|
props: {
|
|
1967
2017
|
className: vueTypes.types.string,
|
|
1968
2018
|
componentId: vueTypes.types.stringRequired,
|
|
2019
|
+
compoundClause: vueTypes.types.compoundClause,
|
|
1969
2020
|
dataField: vueTypes.types.stringRequired,
|
|
1970
2021
|
defaultQuery: VueTypes.func,
|
|
1971
2022
|
loader: vueTypes.types.title,
|
|
@@ -1995,22 +2046,18 @@ var ReactiveGoogleMap = {
|
|
|
1995
2046
|
calculateMarkers: VueTypes.func,
|
|
1996
2047
|
highlightMarkerOnHover: VueTypes.bool.def(true)
|
|
1997
2048
|
},
|
|
1998
|
-
|
|
1999
|
-
|
|
2000
|
-
|
|
2001
|
-
|
|
2002
|
-
|
|
2003
|
-
|
|
2004
|
-
|
|
2005
|
-
|
|
2006
|
-
}
|
|
2007
|
-
}
|
|
2008
|
-
return listeners;
|
|
2009
|
-
}
|
|
2049
|
+
created: function created() {
|
|
2050
|
+
var _this = this;
|
|
2051
|
+
this.mapRefPromiseResolve = null;
|
|
2052
|
+
this.mapRefPromiseRejecter = null;
|
|
2053
|
+
this.mapRefPromise = new Promise(function (resolve, reject) {
|
|
2054
|
+
_this.mapRefPromiseResolver = resolve;
|
|
2055
|
+
_this.mapRefPromiseRejecter = reject;
|
|
2056
|
+
});
|
|
2010
2057
|
},
|
|
2011
2058
|
methods: {
|
|
2012
2059
|
renderMap: function renderMap(_ref) {
|
|
2013
|
-
var
|
|
2060
|
+
var _this2 = this;
|
|
2014
2061
|
var resultsToRender = _ref.resultsToRender,
|
|
2015
2062
|
center = _ref.center,
|
|
2016
2063
|
zoom = _ref.zoom,
|
|
@@ -2022,55 +2069,61 @@ var ReactiveGoogleMap = {
|
|
|
2022
2069
|
getPosition = _ref.getPosition,
|
|
2023
2070
|
autoClosePopover = _ref.autoClosePopover,
|
|
2024
2071
|
defaultPin = _ref.defaultPin;
|
|
2072
|
+
var h = this.$createElement;
|
|
2025
2073
|
var style = {
|
|
2026
2074
|
width: '100%',
|
|
2027
2075
|
height: '100%',
|
|
2028
2076
|
position: 'relative'
|
|
2029
2077
|
};
|
|
2030
|
-
return
|
|
2078
|
+
return h("div", {
|
|
2031
2079
|
"style": style
|
|
2032
|
-
}, [
|
|
2080
|
+
}, [h(Map, {
|
|
2033
2081
|
"ref": "mapRef",
|
|
2034
|
-
"
|
|
2082
|
+
"attrs": {
|
|
2083
|
+
"map-type-id": "terrain",
|
|
2084
|
+
"options": {
|
|
2085
|
+
zoomControl: true
|
|
2086
|
+
},
|
|
2087
|
+
"center": center,
|
|
2088
|
+
"zoom": zoom
|
|
2089
|
+
},
|
|
2035
2090
|
"style": {
|
|
2036
2091
|
height: '100%'
|
|
2037
2092
|
},
|
|
2038
|
-
"
|
|
2039
|
-
"
|
|
2040
|
-
|
|
2041
|
-
|
|
2042
|
-
|
|
2043
|
-
"zoom": zoom
|
|
2044
|
-
}, this.mapProps, {
|
|
2045
|
-
"onzoom_changed": handleZoomChange,
|
|
2046
|
-
"ondragend": handleOnDragEnd,
|
|
2047
|
-
"onidle": handleOnIdle
|
|
2048
|
-
}), {
|
|
2049
|
-
"default": function _default() {
|
|
2050
|
-
return [_this.showMarkers ? vue.createVNode(GoogleMapMarkers, vue.mergeProps({
|
|
2051
|
-
"resultsToRender": resultsToRender,
|
|
2052
|
-
"getPosition": getPosition,
|
|
2053
|
-
"markerProps": _this.markerProps,
|
|
2054
|
-
"clusterProps": _this.clusterProps,
|
|
2055
|
-
"handlePreserveCenter": handlePreserveCenter,
|
|
2056
|
-
"highlightMarkerOnHover": _this.highlightMarkerOnHover,
|
|
2057
|
-
"renderItem": _this.$slots.renderItem ? function () {
|
|
2058
|
-
return {
|
|
2059
|
-
custom: _this.$slots.renderItem
|
|
2060
|
-
};
|
|
2061
|
-
} : _this.renderItem,
|
|
2062
|
-
"defaultPin": defaultPin,
|
|
2063
|
-
"autoClosePopover": autoClosePopover,
|
|
2064
|
-
"renderPopover": _this.$slots.renderPopover,
|
|
2065
|
-
"renderClusterPopover": _this.$slots.renderClusterPopover,
|
|
2066
|
-
"showMarkerClusters": _this.showMarkerClusters
|
|
2067
|
-
}, _this.listeners), null) : null];
|
|
2093
|
+
"props": _rollupPluginBabelHelpers._extends({}, this.mapProps),
|
|
2094
|
+
"on": {
|
|
2095
|
+
"zoom_changed": handleZoomChange,
|
|
2096
|
+
"dragend": handleOnDragEnd,
|
|
2097
|
+
"idle": handleOnIdle
|
|
2068
2098
|
}
|
|
2069
|
-
}
|
|
2099
|
+
}, [this.showMarkers ? h(GoogleMapMarkers, {
|
|
2100
|
+
"attrs": {
|
|
2101
|
+
"resultsToRender": resultsToRender,
|
|
2102
|
+
"getPosition": getPosition,
|
|
2103
|
+
"markerProps": this.markerProps,
|
|
2104
|
+
"clusterProps": this.clusterProps,
|
|
2105
|
+
"handlePreserveCenter": handlePreserveCenter,
|
|
2106
|
+
"highlightMarkerOnHover": this.highlightMarkerOnHover,
|
|
2107
|
+
"renderItem": this.$scopedSlots.renderItem ? function () {
|
|
2108
|
+
return {
|
|
2109
|
+
custom: _this2.$scopedSlots.renderItem
|
|
2110
|
+
};
|
|
2111
|
+
} : this.renderItem,
|
|
2112
|
+
"defaultPin": defaultPin,
|
|
2113
|
+
"autoClosePopover": autoClosePopover,
|
|
2114
|
+
"renderPopover": this.$scopedSlots.renderPopover,
|
|
2115
|
+
"renderClusterPopover": this.$scopedSlots.renderClusterPopover,
|
|
2116
|
+
"showMarkerClusters": this.showMarkerClusters
|
|
2117
|
+
},
|
|
2118
|
+
"on": _rollupPluginBabelHelpers._extends({}, this.$listeners)
|
|
2119
|
+
}) : null]), renderSearchAsMove()]);
|
|
2070
2120
|
},
|
|
2071
2121
|
getMapRef: function getMapRef() {
|
|
2072
2122
|
return this.mapRef;
|
|
2073
2123
|
},
|
|
2124
|
+
getMapRefPromise: function getMapRefPromise() {
|
|
2125
|
+
return this.mapRefPromise;
|
|
2126
|
+
},
|
|
2074
2127
|
removeMarkers: function removeMarkers() {
|
|
2075
2128
|
var clusterManagerInstance;
|
|
2076
2129
|
var currentInstance = this;
|
|
@@ -2078,7 +2131,6 @@ var ReactiveGoogleMap = {
|
|
|
2078
2131
|
if (currentInstance && currentInstance.$options && currentInstance.$options.name === 'connect-ClusterMarkers') {
|
|
2079
2132
|
clusterManagerInstance = currentInstance;
|
|
2080
2133
|
currentInstance = null;
|
|
2081
|
-
// TODO: Check if $children works in vue 3
|
|
2082
2134
|
} else if (currentInstance.$children) {
|
|
2083
2135
|
var _currentInstance$$chi = currentInstance.$children;
|
|
2084
2136
|
currentInstance = _currentInstance$$chi[0];
|
|
@@ -2092,46 +2144,52 @@ var ReactiveGoogleMap = {
|
|
|
2092
2144
|
}
|
|
2093
2145
|
},
|
|
2094
2146
|
mounted: function mounted() {
|
|
2095
|
-
var
|
|
2147
|
+
var _this3 = this;
|
|
2096
2148
|
if (this.$refs.mapRef) {
|
|
2097
2149
|
this.$refs.mapRef.$mapPromise.then(function (map) {
|
|
2098
|
-
|
|
2099
|
-
|
|
2150
|
+
_this3.mapRef = map;
|
|
2151
|
+
_this3.mapRefPromiseResolver(_this3.mapRef);
|
|
2152
|
+
})["catch"](this.mapRefPromiseRejecter);
|
|
2100
2153
|
}
|
|
2101
2154
|
},
|
|
2102
2155
|
render: function render() {
|
|
2103
|
-
|
|
2104
|
-
|
|
2105
|
-
"
|
|
2106
|
-
|
|
2107
|
-
|
|
2108
|
-
|
|
2109
|
-
|
|
2110
|
-
|
|
2111
|
-
|
|
2112
|
-
|
|
2113
|
-
|
|
2114
|
-
|
|
2115
|
-
|
|
2116
|
-
|
|
2117
|
-
|
|
2118
|
-
|
|
2119
|
-
|
|
2120
|
-
|
|
2121
|
-
|
|
2122
|
-
|
|
2123
|
-
|
|
2124
|
-
|
|
2125
|
-
|
|
2126
|
-
|
|
2127
|
-
|
|
2128
|
-
|
|
2129
|
-
|
|
2130
|
-
|
|
2156
|
+
var h = arguments[0];
|
|
2157
|
+
return h(RMConnected, _mergeJSXProps([{
|
|
2158
|
+
"attrs": {
|
|
2159
|
+
"getMapRef": this.getMapRef,
|
|
2160
|
+
"getMapPromise": this.getMapRefPromise,
|
|
2161
|
+
"renderMap": this.renderMap,
|
|
2162
|
+
"componentId": this.componentId,
|
|
2163
|
+
"compoundClause": this.compoundClause,
|
|
2164
|
+
"className": this.className,
|
|
2165
|
+
"dataField": this.dataField,
|
|
2166
|
+
"defaultZoom": this.defaultZoom,
|
|
2167
|
+
"react": this.react,
|
|
2168
|
+
"size": this.size,
|
|
2169
|
+
"sortBy": this.sortBy,
|
|
2170
|
+
"pagination": this.pagination,
|
|
2171
|
+
"uRLParams": this.URLParams,
|
|
2172
|
+
"defaultSearchAsMove": this.searchAsMove,
|
|
2173
|
+
"showSearchAsMove": this.showSearchAsMove,
|
|
2174
|
+
"searchAsMoveLabel": this.searchAsMoveLabel,
|
|
2175
|
+
"showMarkers": this.showMarkers,
|
|
2176
|
+
"markerProps": this.markerProps,
|
|
2177
|
+
"autoClosePopover": this.autoClosePopover,
|
|
2178
|
+
"defaultPin": this.defaultPin,
|
|
2179
|
+
"defaultQuery": this.defaultQuery,
|
|
2180
|
+
"autoCenter": this.autoCenter,
|
|
2181
|
+
"defaultCenter": this.defaultCenter,
|
|
2182
|
+
"defaultRadius": this.defaultRadius,
|
|
2183
|
+
"unit": this.unit,
|
|
2184
|
+
"pages": this.pages,
|
|
2185
|
+
"center": this.center,
|
|
2186
|
+
"loader": this.loader,
|
|
2187
|
+
"calculateMarkers": this.calculateMarkers
|
|
2188
|
+
}
|
|
2131
2189
|
}, {
|
|
2132
|
-
scopedSlots: this.$
|
|
2133
|
-
on: this.$
|
|
2134
|
-
})
|
|
2190
|
+
scopedSlots: this.$scopedSlots,
|
|
2191
|
+
on: this.$listeners
|
|
2192
|
+
}]));
|
|
2135
2193
|
}
|
|
2136
2194
|
};
|
|
2137
2195
|
ReactiveGoogleMap.install = function (Vue, options) {
|
|
@@ -2139,7 +2197,7 @@ ReactiveGoogleMap.install = function (Vue, options) {
|
|
|
2139
2197
|
if (!options || !options.key) {
|
|
2140
2198
|
console.error('ReactiveSearch: map key is required to use ReactiveGoogleMap component');
|
|
2141
2199
|
}
|
|
2142
|
-
Vue.use(
|
|
2200
|
+
Vue.use(GmapVue__default, {
|
|
2143
2201
|
load: {
|
|
2144
2202
|
key: options.key,
|
|
2145
2203
|
libraries: 'places'
|