From 014845a2fe5db9cca7af72f4046884cdc8adb53b Mon Sep 17 00:00:00 2001 From: Carson Sievert Date: Mon, 27 Feb 2017 16:52:32 -0600 Subject: [PATCH] addPolygons() now responds to crosstalk events --- R/layers.R | 7 +++++-- inst/htmlwidgets/leaflet.js | 5 ++--- javascript/src/methods.js | 5 +++-- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/R/layers.R b/R/layers.R index 526f0ec78..0f19cc27e 100644 --- a/R/layers.R +++ b/R/layers.R @@ -1087,8 +1087,11 @@ addPolygons <- function( dashArray = dashArray, smoothFactor = smoothFactor, noClip = noClip )) pgons = derivePolygons(data, lng, lat, missing(lng), missing(lat), "addPolygons") - invokeMethod(map, data, 'addPolygons', pgons, layerId, group, options, popup, popupOptions, safeLabel(label, data), labelOptions, highlightOptions) %>% - expandLimitsBbox(pgons) + invokeMethod( + map, data, 'addPolygons', pgons, layerId, group, options, popup, + popupOptions, safeLabel(label, data), labelOptions, highlightOptions, + getCrosstalkOptions(data) + ) %>% expandLimitsBbox(pgons) } #' @rdname remove diff --git a/inst/htmlwidgets/leaflet.js b/inst/htmlwidgets/leaflet.js index 1aa9ae048..969b96eb0 100644 --- a/inst/htmlwidgets/leaflet.js +++ b/inst/htmlwidgets/leaflet.js @@ -1596,9 +1596,9 @@ methods.addRectangles = function (lat1, lng1, lat2, lng2, layerId, group, option * @param lat Array of arrays of latitude coordinates for polygons * @param lng Array of arrays of longitude coordinates for polygons */ -methods.addPolygons = function (polygons, layerId, group, options, popup, popupOptions, label, labelOptions, highlightOptions) { +methods.addPolygons = function (polygons, layerId, group, options, popup, popupOptions, label, labelOptions, highlightOptions, crosstalkOptions) { if (polygons.length > 0) { - var df = new _dataframe2.default().col("shapes", polygons).col("layerId", layerId).col("group", group).col("popup", popup).col("popupOptions", popupOptions).col("label", label).col("labelOptions", labelOptions).col("highlightOptions", highlightOptions).cbind(options); + var df = new _dataframe2.default().col("shapes", polygons).col("layerId", layerId).col("group", group).col("popup", popup).col("popupOptions", popupOptions).col("label", label).col("labelOptions", labelOptions).col("highlightOptions", highlightOptions).cbind(options).cbind(crosstalkOptions || {}); addLayers(this, "shape", df, function (df, i) { // This code used to use L.multiPolygon, but that caused @@ -2296,7 +2296,6 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons // pixel of the original image has some contribution to the downscaled image) // as opposed to a single-step downscaling which will discard a lot of data // (and with sparse images at small scales can give very surprising results). - var Mipmapper = function () { function Mipmapper(img) { _classCallCheck(this, Mipmapper); diff --git a/javascript/src/methods.js b/javascript/src/methods.js index 936240b26..f0208a356 100644 --- a/javascript/src/methods.js +++ b/javascript/src/methods.js @@ -521,7 +521,7 @@ methods.addRectangles = function(lat1, lng1, lat2, lng2, layerId, group, options * @param lat Array of arrays of latitude coordinates for polygons * @param lng Array of arrays of longitude coordinates for polygons */ -methods.addPolygons = function(polygons, layerId, group, options, popup, popupOptions, label, labelOptions, highlightOptions) { +methods.addPolygons = function(polygons, layerId, group, options, popup, popupOptions, label, labelOptions, highlightOptions, crosstalkOptions) { if(polygons.length>0) { let df = new DataFrame() .col("shapes", polygons) @@ -532,7 +532,8 @@ methods.addPolygons = function(polygons, layerId, group, options, popup, popupOp .col("label", label) .col("labelOptions", labelOptions) .col("highlightOptions", highlightOptions) - .cbind(options); + .cbind(options) + .cbind(crosstalkOptions || {}); addLayers(this, "shape", df, function(df, i) { // This code used to use L.multiPolygon, but that caused