Skip to content

Commit fa82e3c

Browse files
adapt to work with ES2015 changes
1 parent e2751ff commit fa82e3c

File tree

2 files changed

+47
-16
lines changed

2 files changed

+47
-16
lines changed

R/layers.R

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -477,6 +477,7 @@ addMarkers = function(
477477
map, lng = NULL, lat = NULL, layerId = NULL, group = NULL,
478478
icon = NULL,
479479
popup = NULL,
480+
popupOptions = NULL,
480481
label = NULL,
481482
labelOptions = NULL,
482483
options = markerOptions(),
@@ -511,8 +512,9 @@ addMarkers = function(
511512

512513
pts = derivePoints(data, lng, lat, missing(lng), missing(lat), "addMarkers")
513514
invokeMethod(
514-
map, data, 'addMarkers', pts$lat, pts$lng, icon, layerId, group, options, popup,
515-
clusterOptions, clusterId, safeLabel(label, data), labelOptions
515+
map, data, 'addMarkers', pts$lat, pts$lng, icon, layerId, group, options,
516+
popup, popupOptions, clusterOptions, clusterId,
517+
safeLabel(label, data), labelOptions
516518
) %>% expandLimits(pts$lat, pts$lng)
517519
}
518520

@@ -759,6 +761,7 @@ addCircleMarkers = function(
759761
fillOpacity = 0.2,
760762
dashArray = NULL,
761763
popup = NULL,
764+
popupOptions = NULL,
762765
label = NULL,
763766
labelOptions = NULL,
764767
options = pathOptions(),
@@ -775,7 +778,8 @@ addCircleMarkers = function(
775778
map$dependencies = c(map$dependencies, markerClusterDependencies())
776779
pts = derivePoints(data, lng, lat, missing(lng), missing(lat), "addCircleMarkers")
777780
invokeMethod(map, data, 'addCircleMarkers', pts$lat, pts$lng, radius,
778-
layerId, group, options, clusterOptions, clusterId, popup, safeLabel(label, data), labelOptions) %>%
781+
layerId, group, options, clusterOptions, clusterId,
782+
popup, popupOptions, safeLabel(label, data), labelOptions) %>%
779783
expandLimits(pts$lat, pts$lng)
780784
}
781785

@@ -847,6 +851,7 @@ addCircles = function(
847851
fillOpacity = 0.2,
848852
dashArray = NULL,
849853
popup = NULL,
854+
popupOptions = NULL,
850855
label = NULL,
851856
labelOptions = NULL,
852857
options = pathOptions(),
@@ -858,7 +863,8 @@ addCircles = function(
858863
dashArray = dashArray
859864
))
860865
pts = derivePoints(data, lng, lat, missing(lng), missing(lat), "addCircles")
861-
invokeMethod(map, data, 'addCircles', pts$lat, pts$lng, radius, layerId, group, options, popup, safeLabel(label, data), labelOptions) %>%
866+
invokeMethod(map, data, 'addCircles', pts$lat, pts$lng, radius, layerId, group, options,
867+
popup, popupOptions, safeLabel(label, data), labelOptions) %>%
862868
expandLimits(pts$lat, pts$lng)
863869
}
864870

@@ -880,6 +886,7 @@ addPolylines = function(
880886
smoothFactor = 1.0,
881887
noClip = FALSE,
882888
popup = NULL,
889+
popupOptions = NULL,
883890
label = NULL,
884891
labelOptions = NULL,
885892
options = pathOptions(),
@@ -891,7 +898,8 @@ addPolylines = function(
891898
dashArray = dashArray, smoothFactor = smoothFactor, noClip = noClip
892899
))
893900
pgons = derivePolygons(data, lng, lat, missing(lng), missing(lat), "addPolylines")
894-
invokeMethod(map, data, 'addPolylines', pgons, layerId, group, options, popup, safeLabel(label, data), labelOptions) %>%
901+
invokeMethod(map, data, 'addPolylines', pgons, layerId, group, options,
902+
popup, popupOptions, safeLabel(label, data), labelOptions) %>%
895903
expandLimitsBbox(pgons)
896904
}
897905

@@ -912,6 +920,7 @@ addRectangles = function(
912920
smoothFactor = 1.0,
913921
noClip = FALSE,
914922
popup = NULL,
923+
popupOptions = NULL,
915924
label = NULL,
916925
labelOptions = NULL,
917926
options = pathOptions(),
@@ -926,7 +935,7 @@ addRectangles = function(
926935
lat1 = resolveFormula(lat1, data)
927936
lng2 = resolveFormula(lng2, data)
928937
lat2 = resolveFormula(lat2, data)
929-
invokeMethod(map, data, 'addRectangles',lat1, lng1, lat2, lng2, layerId, group, options, popup, safeLabel(label, data), labelOptions) %>%
938+
invokeMethod(map, data, 'addRectangles',lat1, lng1, lat2, lng2, layerId, group, options, popup, popupOptions, safeLabel(label, data), labelOptions) %>%
930939
expandLimits(c(lat1, lat2), c(lng1, lng2))
931940
}
932941

@@ -945,6 +954,7 @@ addPolygons = function(
945954
smoothFactor = 1.0,
946955
noClip = FALSE,
947956
popup = NULL,
957+
popupOptions = NULL,
948958
label = NULL,
949959
labelOptions = NULL,
950960
options = pathOptions(),
@@ -956,7 +966,7 @@ addPolygons = function(
956966
dashArray = dashArray, smoothFactor = smoothFactor, noClip = noClip
957967
))
958968
pgons = derivePolygons(data, lng, lat, missing(lng), missing(lat), "addPolygons")
959-
invokeMethod(map, data, 'addPolygons', pgons, layerId, group, options, popup, safeLabel(label, data), labelOptions) %>%
969+
invokeMethod(map, data, 'addPolygons', pgons, layerId, group, options, popup, popupOptions, safeLabel(label, data), labelOptions) %>%
960970
expandLimitsBbox(pgons)
961971
}
962972

javascript/src/methods.js

Lines changed: 30 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,14 @@ function addMarkers(map, df, group, clusterOptions, clusterId, markerFunc) {
139139
this.layerManager.addLayer(marker, "marker", thisId, thisGroup);
140140
}
141141
let popup = df.get(i, "popup");
142-
if (popup !== null) marker.bindPopup(popup);
142+
let popupOptions = df.get(i, 'popupOptions');
143+
if (popup !== null) {
144+
if (popupOptions !== null){
145+
marker.bindPopup(popup, popupOptions);
146+
} else {
147+
marker.bindPopup(popup);
148+
}
149+
}
143150
let label = df.get(i, "label");
144151
let labelOptions = df.get(i, "labelOptions");
145152
if (label !== null) {
@@ -165,7 +172,7 @@ function addMarkers(map, df, group, clusterOptions, clusterId, markerFunc) {
165172
}).call(map);
166173
}
167174

168-
methods.addMarkers = function(lat, lng, icon, layerId, group, options, popup,
175+
methods.addMarkers = function(lat, lng, icon, layerId, group, options, popup, popupOptions,
169176
clusterOptions, clusterId, label, labelOptions) {
170177
let icondf;
171178
let getIcon;
@@ -217,6 +224,7 @@ methods.addMarkers = function(lat, lng, icon, layerId, group, options, popup,
217224
.col("layerId", layerId)
218225
.col("group", group)
219226
.col("popup", popup)
227+
.col("popupOptions", popupOptions)
220228
.col("label", label)
221229
.col("labelOptions", labelOptions)
222230
.cbind(options);
@@ -230,7 +238,7 @@ methods.addMarkers = function(lat, lng, icon, layerId, group, options, popup,
230238
});
231239
};
232240

233-
methods.addAwesomeMarkers = function(lat, lng, icon, layerId, group, options, popup,
241+
methods.addAwesomeMarkers = function(lat, lng, icon, layerId, group, options, popup, popupOptions,
234242
clusterOptions, clusterId, label, labelOptions) {
235243
let icondf;
236244
let getIcon;
@@ -257,6 +265,7 @@ clusterOptions, clusterId, label, labelOptions) {
257265
.col("layerId", layerId)
258266
.col("group", group)
259267
.col("popup", popup)
268+
.col("popupOptions", popupOptions)
260269
.col("label", label)
261270
.col("labelOptions", labelOptions)
262271
.cbind(options);
@@ -279,7 +288,14 @@ function addLayers(map, category, df, layerFunc) {
279288
this.layerManager.addLayer(layer, category, thisId, thisGroup);
280289
if (layer.bindPopup) {
281290
let popup = df.get(i, "popup");
282-
if (popup !== null) layer.bindPopup(popup);
291+
let popupOptions = df.get(i, 'popupOptions');
292+
if (popup !== null) {
293+
if (popupOptions !== null){
294+
layer.bindPopup(popup, popupOptions);
295+
} else {
296+
layer.bindPopup(popup);
297+
}
298+
}
283299
}
284300
if (layer.bindLabel) {
285301
let label = df.get(i, "label");
@@ -299,14 +315,15 @@ function addLayers(map, category, df, layerFunc) {
299315
}
300316
}
301317

302-
methods.addCircles = function(lat, lng, radius, layerId, group, options, popup, label, labelOptions) {
318+
methods.addCircles = function(lat, lng, radius, layerId, group, options, popup, popupOptions, label, labelOptions) {
303319
let df = new DataFrame()
304320
.col("lat", lat)
305321
.col("lng", lng)
306322
.col("radius", radius)
307323
.col("layerId", layerId)
308324
.col("group", group)
309325
.col("popup", popup)
326+
.col("popupOptions", popupOptions)
310327
.col("label", label)
311328
.col("labelOptions", labelOptions)
312329
.cbind(options);
@@ -316,14 +333,15 @@ methods.addCircles = function(lat, lng, radius, layerId, group, options, popup,
316333
});
317334
};
318335

319-
methods.addCircleMarkers = function(lat, lng, radius, layerId, group, options, clusterOptions, clusterId, popup, label, labelOptions) {
336+
methods.addCircleMarkers = function(lat, lng, radius, layerId, group, options, clusterOptions, clusterId, popup, popupOptions, label, labelOptions) {
320337
let df = new DataFrame()
321338
.col("lat", lat)
322339
.col("lng", lng)
323340
.col("radius", radius)
324341
.col("layerId", layerId)
325342
.col("group", group)
326343
.col("popup", popup)
344+
.col("popupOptions", popupOptions)
327345
.col("label", label)
328346
.col("labelOptions", labelOptions)
329347
.cbind(options);
@@ -337,12 +355,13 @@ methods.addCircleMarkers = function(lat, lng, radius, layerId, group, options, c
337355
* @param lat Array of arrays of latitude coordinates for polylines
338356
* @param lng Array of arrays of longitude coordinates for polylines
339357
*/
340-
methods.addPolylines = function(polygons, layerId, group, options, popup, label, labelOptions) {
358+
methods.addPolylines = function(polygons, layerId, group, options, popup, popupOptions, label, labelOptions) {
341359
let df = new DataFrame()
342360
.col("shapes", polygons)
343361
.col("layerId", layerId)
344362
.col("group", group)
345363
.col("popup", popup)
364+
.col("popupOptions", popupOptions)
346365
.col("label", label)
347366
.col("labelOptions", labelOptions)
348367
.cbind(options);
@@ -384,7 +403,7 @@ methods.clearShapes = function() {
384403
this.layerManager.clearLayers("shape");
385404
};
386405

387-
methods.addRectangles = function(lat1, lng1, lat2, lng2, layerId, group, options, popup, label, labelOptions) {
406+
methods.addRectangles = function(lat1, lng1, lat2, lng2, layerId, group, options, popup, popupOptions, label, labelOptions) {
388407
let df = new DataFrame()
389408
.col("lat1", lat1)
390409
.col("lng1", lng1)
@@ -393,6 +412,7 @@ methods.addRectangles = function(lat1, lng1, lat2, lng2, layerId, group, options
393412
.col("layerId", layerId)
394413
.col("group", group)
395414
.col("popup", popup)
415+
.col("popupOptions", popupOptions)
396416
.col("label", label)
397417
.col("labelOptions", labelOptions)
398418
.cbind(options);
@@ -411,12 +431,13 @@ methods.addRectangles = function(lat1, lng1, lat2, lng2, layerId, group, options
411431
* @param lat Array of arrays of latitude coordinates for polygons
412432
* @param lng Array of arrays of longitude coordinates for polygons
413433
*/
414-
methods.addPolygons = function(polygons, layerId, group, options, popup, label, labelOptions) {
434+
methods.addPolygons = function(polygons, layerId, group, options, popup, popupOptions, label, labelOptions) {
415435
let df = new DataFrame()
416436
.col("shapes", polygons)
417437
.col("layerId", layerId)
418438
.col("group", group)
419439
.col("popup", popup)
440+
.col("popupOptions", popupOptions)
420441
.col("label", label)
421442
.col("labelOptions", labelOptions)
422443
.cbind(options);

0 commit comments

Comments
 (0)