Skip to content

Commit f701a1e

Browse files
committed
Merge commit 'fa82e3cab1b0dc638861a7dd6bab797a2dda78a6' into issue/261-popupOptions
2 parents 1bc41ee + fa82e3c commit f701a1e

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
@@ -484,6 +484,7 @@ addMarkers = function(
484484
map, lng = NULL, lat = NULL, layerId = NULL, group = NULL,
485485
icon = NULL,
486486
popup = NULL,
487+
popupOptions = NULL,
487488
label = NULL,
488489
labelOptions = NULL,
489490
options = markerOptions(),
@@ -518,8 +519,9 @@ addMarkers = function(
518519

519520
pts = derivePoints(data, lng, lat, missing(lng), missing(lat), "addMarkers")
520521
invokeMethod(
521-
map, data, 'addMarkers', pts$lat, pts$lng, icon, layerId, group, options, popup,
522-
clusterOptions, clusterId, safeLabel(label, data), labelOptions
522+
map, data, 'addMarkers', pts$lat, pts$lng, icon, layerId, group, options,
523+
popup, popupOptions, clusterOptions, clusterId,
524+
safeLabel(label, data), labelOptions
523525
) %>% expandLimits(pts$lat, pts$lng)
524526
}
525527

@@ -802,6 +804,7 @@ addCircleMarkers = function(
802804
fillOpacity = 0.2,
803805
dashArray = NULL,
804806
popup = NULL,
807+
popupOptions = NULL,
805808
label = NULL,
806809
labelOptions = NULL,
807810
options = pathOptions(),
@@ -818,7 +821,8 @@ addCircleMarkers = function(
818821
map$dependencies = c(map$dependencies, markerClusterDependencies())
819822
pts = derivePoints(data, lng, lat, missing(lng), missing(lat), "addCircleMarkers")
820823
invokeMethod(map, data, 'addCircleMarkers', pts$lat, pts$lng, radius,
821-
layerId, group, options, clusterOptions, clusterId, popup, safeLabel(label, data), labelOptions) %>%
824+
layerId, group, options, clusterOptions, clusterId,
825+
popup, popupOptions, safeLabel(label, data), labelOptions) %>%
822826
expandLimits(pts$lat, pts$lng)
823827
}
824828

@@ -891,6 +895,7 @@ addCircles = function(
891895
fillOpacity = 0.2,
892896
dashArray = NULL,
893897
popup = NULL,
898+
popupOptions = NULL,
894899
label = NULL,
895900
labelOptions = NULL,
896901
options = pathOptions(),
@@ -902,7 +907,8 @@ addCircles = function(
902907
dashArray = dashArray
903908
))
904909
pts = derivePoints(data, lng, lat, missing(lng), missing(lat), "addCircles")
905-
invokeMethod(map, data, 'addCircles', pts$lat, pts$lng, radius, layerId, group, options, popup, safeLabel(label, data), labelOptions) %>%
910+
invokeMethod(map, data, 'addCircles', pts$lat, pts$lng, radius, layerId, group, options,
911+
popup, popupOptions, safeLabel(label, data), labelOptions) %>%
906912
expandLimits(pts$lat, pts$lng)
907913
}
908914

@@ -924,6 +930,7 @@ addPolylines = function(
924930
smoothFactor = 1.0,
925931
noClip = FALSE,
926932
popup = NULL,
933+
popupOptions = NULL,
927934
label = NULL,
928935
labelOptions = NULL,
929936
options = pathOptions(),
@@ -935,7 +942,8 @@ addPolylines = function(
935942
dashArray = dashArray, smoothFactor = smoothFactor, noClip = noClip
936943
))
937944
pgons = derivePolygons(data, lng, lat, missing(lng), missing(lat), "addPolylines")
938-
invokeMethod(map, data, 'addPolylines', pgons, layerId, group, options, popup, safeLabel(label, data), labelOptions) %>%
945+
invokeMethod(map, data, 'addPolylines', pgons, layerId, group, options,
946+
popup, popupOptions, safeLabel(label, data), labelOptions) %>%
939947
expandLimitsBbox(pgons)
940948
}
941949

@@ -956,6 +964,7 @@ addRectangles = function(
956964
smoothFactor = 1.0,
957965
noClip = FALSE,
958966
popup = NULL,
967+
popupOptions = NULL,
959968
label = NULL,
960969
labelOptions = NULL,
961970
options = pathOptions(),
@@ -970,7 +979,7 @@ addRectangles = function(
970979
lat1 = resolveFormula(lat1, data)
971980
lng2 = resolveFormula(lng2, data)
972981
lat2 = resolveFormula(lat2, data)
973-
invokeMethod(map, data, 'addRectangles',lat1, lng1, lat2, lng2, layerId, group, options, popup, safeLabel(label, data), labelOptions) %>%
982+
invokeMethod(map, data, 'addRectangles',lat1, lng1, lat2, lng2, layerId, group, options, popup, popupOptions, safeLabel(label, data), labelOptions) %>%
974983
expandLimits(c(lat1, lat2), c(lng1, lng2))
975984
}
976985

@@ -989,6 +998,7 @@ addPolygons = function(
989998
smoothFactor = 1.0,
990999
noClip = FALSE,
9911000
popup = NULL,
1001+
popupOptions = NULL,
9921002
label = NULL,
9931003
labelOptions = NULL,
9941004
options = pathOptions(),
@@ -1000,7 +1010,7 @@ addPolygons = function(
10001010
dashArray = dashArray, smoothFactor = smoothFactor, noClip = noClip
10011011
))
10021012
pgons = derivePolygons(data, lng, lat, missing(lng), missing(lat), "addPolygons")
1003-
invokeMethod(map, data, 'addPolygons', pgons, layerId, group, options, popup, safeLabel(label, data), labelOptions) %>%
1013+
invokeMethod(map, data, 'addPolygons', pgons, layerId, group, options, popup, popupOptions, safeLabel(label, data), labelOptions) %>%
10041014
expandLimitsBbox(pgons)
10051015
}
10061016

javascript/src/methods.js

Lines changed: 30 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,14 @@ function addMarkers(map, df, group, clusterOptions, clusterId, markerFunc) {
149149
this.layerManager.addLayer(marker, "marker", thisId, thisGroup);
150150
}
151151
let popup = df.get(i, "popup");
152-
if (popup !== null) marker.bindPopup(popup);
152+
let popupOptions = df.get(i, 'popupOptions');
153+
if (popup !== null) {
154+
if (popupOptions !== null){
155+
marker.bindPopup(popup, popupOptions);
156+
} else {
157+
marker.bindPopup(popup);
158+
}
159+
}
153160
let label = df.get(i, "label");
154161
let labelOptions = df.get(i, "labelOptions");
155162
if (label !== null) {
@@ -175,7 +182,7 @@ function addMarkers(map, df, group, clusterOptions, clusterId, markerFunc) {
175182
}).call(map);
176183
}
177184

178-
methods.addMarkers = function(lat, lng, icon, layerId, group, options, popup,
185+
methods.addMarkers = function(lat, lng, icon, layerId, group, options, popup, popupOptions,
179186
clusterOptions, clusterId, label, labelOptions) {
180187
let icondf;
181188
let getIcon;
@@ -227,6 +234,7 @@ methods.addMarkers = function(lat, lng, icon, layerId, group, options, popup,
227234
.col("layerId", layerId)
228235
.col("group", group)
229236
.col("popup", popup)
237+
.col("popupOptions", popupOptions)
230238
.col("label", label)
231239
.col("labelOptions", labelOptions)
232240
.cbind(options);
@@ -240,7 +248,7 @@ methods.addMarkers = function(lat, lng, icon, layerId, group, options, popup,
240248
});
241249
};
242250

243-
methods.addAwesomeMarkers = function(lat, lng, icon, layerId, group, options, popup,
251+
methods.addAwesomeMarkers = function(lat, lng, icon, layerId, group, options, popup, popupOptions,
244252
clusterOptions, clusterId, label, labelOptions) {
245253
let icondf;
246254
let getIcon;
@@ -267,6 +275,7 @@ clusterOptions, clusterId, label, labelOptions) {
267275
.col("layerId", layerId)
268276
.col("group", group)
269277
.col("popup", popup)
278+
.col("popupOptions", popupOptions)
270279
.col("label", label)
271280
.col("labelOptions", labelOptions)
272281
.cbind(options);
@@ -289,7 +298,14 @@ function addLayers(map, category, df, layerFunc) {
289298
this.layerManager.addLayer(layer, category, thisId, thisGroup);
290299
if (layer.bindPopup) {
291300
let popup = df.get(i, "popup");
292-
if (popup !== null) layer.bindPopup(popup);
301+
let popupOptions = df.get(i, 'popupOptions');
302+
if (popup !== null) {
303+
if (popupOptions !== null){
304+
layer.bindPopup(popup, popupOptions);
305+
} else {
306+
layer.bindPopup(popup);
307+
}
308+
}
293309
}
294310
if (layer.bindLabel) {
295311
let label = df.get(i, "label");
@@ -309,14 +325,15 @@ function addLayers(map, category, df, layerFunc) {
309325
}
310326
}
311327

312-
methods.addCircles = function(lat, lng, radius, layerId, group, options, popup, label, labelOptions) {
328+
methods.addCircles = function(lat, lng, radius, layerId, group, options, popup, popupOptions, label, labelOptions) {
313329
let df = new DataFrame()
314330
.col("lat", lat)
315331
.col("lng", lng)
316332
.col("radius", radius)
317333
.col("layerId", layerId)
318334
.col("group", group)
319335
.col("popup", popup)
336+
.col("popupOptions", popupOptions)
320337
.col("label", label)
321338
.col("labelOptions", labelOptions)
322339
.cbind(options);
@@ -326,14 +343,15 @@ methods.addCircles = function(lat, lng, radius, layerId, group, options, popup,
326343
});
327344
};
328345

329-
methods.addCircleMarkers = function(lat, lng, radius, layerId, group, options, clusterOptions, clusterId, popup, label, labelOptions) {
346+
methods.addCircleMarkers = function(lat, lng, radius, layerId, group, options, clusterOptions, clusterId, popup, popupOptions, label, labelOptions) {
330347
let df = new DataFrame()
331348
.col("lat", lat)
332349
.col("lng", lng)
333350
.col("radius", radius)
334351
.col("layerId", layerId)
335352
.col("group", group)
336353
.col("popup", popup)
354+
.col("popupOptions", popupOptions)
337355
.col("label", label)
338356
.col("labelOptions", labelOptions)
339357
.cbind(options);
@@ -347,12 +365,13 @@ methods.addCircleMarkers = function(lat, lng, radius, layerId, group, options, c
347365
* @param lat Array of arrays of latitude coordinates for polylines
348366
* @param lng Array of arrays of longitude coordinates for polylines
349367
*/
350-
methods.addPolylines = function(polygons, layerId, group, options, popup, label, labelOptions) {
368+
methods.addPolylines = function(polygons, layerId, group, options, popup, popupOptions, label, labelOptions) {
351369
let df = new DataFrame()
352370
.col("shapes", polygons)
353371
.col("layerId", layerId)
354372
.col("group", group)
355373
.col("popup", popup)
374+
.col("popupOptions", popupOptions)
356375
.col("label", label)
357376
.col("labelOptions", labelOptions)
358377
.cbind(options);
@@ -394,7 +413,7 @@ methods.clearShapes = function() {
394413
this.layerManager.clearLayers("shape");
395414
};
396415

397-
methods.addRectangles = function(lat1, lng1, lat2, lng2, layerId, group, options, popup, label, labelOptions) {
416+
methods.addRectangles = function(lat1, lng1, lat2, lng2, layerId, group, options, popup, popupOptions, label, labelOptions) {
398417
let df = new DataFrame()
399418
.col("lat1", lat1)
400419
.col("lng1", lng1)
@@ -403,6 +422,7 @@ methods.addRectangles = function(lat1, lng1, lat2, lng2, layerId, group, options
403422
.col("layerId", layerId)
404423
.col("group", group)
405424
.col("popup", popup)
425+
.col("popupOptions", popupOptions)
406426
.col("label", label)
407427
.col("labelOptions", labelOptions)
408428
.cbind(options);
@@ -421,12 +441,13 @@ methods.addRectangles = function(lat1, lng1, lat2, lng2, layerId, group, options
421441
* @param lat Array of arrays of latitude coordinates for polygons
422442
* @param lng Array of arrays of longitude coordinates for polygons
423443
*/
424-
methods.addPolygons = function(polygons, layerId, group, options, popup, label, labelOptions) {
444+
methods.addPolygons = function(polygons, layerId, group, options, popup, popupOptions, label, labelOptions) {
425445
let df = new DataFrame()
426446
.col("shapes", polygons)
427447
.col("layerId", layerId)
428448
.col("group", group)
429449
.col("popup", popup)
450+
.col("popupOptions", popupOptions)
430451
.col("label", label)
431452
.col("labelOptions", labelOptions)
432453
.cbind(options);

0 commit comments

Comments
 (0)