diff --git a/DESCRIPTION b/DESCRIPTION index 7dd3f9b2..18ce42ae 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,7 @@ Type: Package Package: rdeck Title: Deck.gl Widget -Version: 0.2.2.9000 +Version: 0.2.3.9000 Authors@R: person(given = "Anthony", family = "North", role = c("aut", "cre"), email = "anthony.jl.north@gmail.com") Description: Deck.gl widget for R. @@ -21,3 +21,7 @@ Encoding: UTF-8 LazyData: true Roxygen: list(markdown = TRUE) RoxygenNote: 7.1.0 +Suggests: + knitr, + rmarkdown +VignetteBuilder: knitr diff --git a/R/arc_layer.R b/R/arc_layer.R index ce260890..af3d4d5f 100644 --- a/R/arc_layer.R +++ b/R/arc_layer.R @@ -26,10 +26,10 @@ arc_layer <- function(id = "ArcLayer", width_min_pixels = 0, width_max_pixels = 9007199254740991, ...) { - arguments <- get_arguments() + arguments <- get_layer_arguments() parameters <- c( list(type = "ArcLayer"), - get_arguments() + get_layer_arguments() ) do.call(layer, parameters) @@ -61,7 +61,7 @@ add_arc_layer <- function(rdeck, width_min_pixels = 0, width_max_pixels = 9007199254740991, ...) { - parameters <- get_arguments()[-1] + parameters <- get_layer_arguments()[-1] layer <- do.call(arc_layer, parameters) add_layer(rdeck, layer) diff --git a/R/bitmap_layer.R b/R/bitmap_layer.R index eadd8130..8eca41b0 100644 --- a/R/bitmap_layer.R +++ b/R/bitmap_layer.R @@ -20,10 +20,10 @@ bitmap_layer <- function(id = "BitmapLayer", transparent_color = "#00000000", tint_color = "#ffffff", ...) { - arguments <- get_arguments() + arguments <- get_layer_arguments() parameters <- c( list(type = "BitmapLayer"), - get_arguments() + get_layer_arguments() ) do.call(layer, parameters) @@ -49,7 +49,7 @@ add_bitmap_layer <- function(rdeck, transparent_color = "#00000000", tint_color = "#ffffff", ...) { - parameters <- get_arguments()[-1] + parameters <- get_layer_arguments()[-1] layer <- do.call(bitmap_layer, parameters) add_layer(rdeck, layer) diff --git a/R/column_layer.R b/R/column_layer.R index 08e67d68..2beab3fd 100644 --- a/R/column_layer.R +++ b/R/column_layer.R @@ -36,10 +36,10 @@ column_layer <- function(id = "ColumnLayer", get_elevation = 1000, material = TRUE, ...) { - arguments <- get_arguments() + arguments <- get_layer_arguments() parameters <- c( list(type = "ColumnLayer"), - get_arguments() + get_layer_arguments() ) # auto-resolve geometry if (inherits(data, "sf")) { @@ -85,7 +85,7 @@ add_column_layer <- function(rdeck, get_elevation = 1000, material = TRUE, ...) { - parameters <- get_arguments()[-1] + parameters <- get_layer_arguments()[-1] layer <- do.call(column_layer, parameters) add_layer(rdeck, layer) diff --git a/R/contour_layer.R b/R/contour_layer.R index 608591e8..d6a76419 100644 --- a/R/contour_layer.R +++ b/R/contour_layer.R @@ -22,10 +22,10 @@ contour_layer <- function(id = "ContourLayer", contours = c(NULL), z_offset = 0.005, ...) { - arguments <- get_arguments() + arguments <- get_layer_arguments() parameters <- c( list(type = "ContourLayer"), - get_arguments() + get_layer_arguments() ) # auto-resolve geometry if (inherits(data, "sf")) { @@ -57,7 +57,7 @@ add_contour_layer <- function(rdeck, contours = c(NULL), z_offset = 0.005, ...) { - parameters <- get_arguments()[-1] + parameters <- get_layer_arguments()[-1] layer <- do.call(contour_layer, parameters) add_layer(rdeck, layer) diff --git a/R/cpu_grid_layer.R b/R/cpu_grid_layer.R index fe7b59e1..92dd3f80 100644 --- a/R/cpu_grid_layer.R +++ b/R/cpu_grid_layer.R @@ -45,10 +45,10 @@ cpu_grid_layer <- function(id = "CPUGridLayer", extruded = FALSE, material = TRUE, ...) { - arguments <- get_arguments() + arguments <- get_layer_arguments() parameters <- c( list(type = "CPUGridLayer"), - get_arguments() + get_layer_arguments() ) # auto-resolve geometry if (inherits(data, "sf")) { @@ -103,7 +103,7 @@ add_cpu_grid_layer <- function(rdeck, extruded = FALSE, material = TRUE, ...) { - parameters <- get_arguments()[-1] + parameters <- get_layer_arguments()[-1] layer <- do.call(cpu_grid_layer, parameters) add_layer(rdeck, layer) diff --git a/R/geojson_layer.R b/R/geojson_layer.R index a7922827..2cca77a6 100644 --- a/R/geojson_layer.R +++ b/R/geojson_layer.R @@ -35,10 +35,10 @@ geojson_layer <- function(id = "GeoJsonLayer", get_elevation = 1000, material = TRUE, ...) { - arguments <- get_arguments() + arguments <- get_layer_arguments() parameters <- c( list(type = "GeoJsonLayer"), - get_arguments() + get_layer_arguments() ) do.call(layer, parameters) @@ -79,7 +79,7 @@ add_geojson_layer <- function(rdeck, get_elevation = 1000, material = TRUE, ...) { - parameters <- get_arguments()[-1] + parameters <- get_layer_arguments()[-1] layer <- do.call(geojson_layer, parameters) add_layer(rdeck, layer) diff --git a/R/gpu_grid_layer.R b/R/gpu_grid_layer.R index ce3acb77..47f504fd 100644 --- a/R/gpu_grid_layer.R +++ b/R/gpu_grid_layer.R @@ -36,10 +36,10 @@ gpu_grid_layer <- function(id = "GPUGridLayer", extruded = FALSE, material = TRUE, ...) { - arguments <- get_arguments() + arguments <- get_layer_arguments() parameters <- c( list(type = "GPUGridLayer"), - get_arguments() + get_layer_arguments() ) # auto-resolve geometry if (inherits(data, "sf")) { @@ -85,7 +85,7 @@ add_gpu_grid_layer <- function(rdeck, extruded = FALSE, material = TRUE, ...) { - parameters <- get_arguments()[-1] + parameters <- get_layer_arguments()[-1] layer <- do.call(gpu_grid_layer, parameters) add_layer(rdeck, layer) diff --git a/R/great_circle_layer.R b/R/great_circle_layer.R index cbcbd028..dbeaeb9f 100644 --- a/R/great_circle_layer.R +++ b/R/great_circle_layer.R @@ -26,10 +26,10 @@ great_circle_layer <- function(id = "GreatCircleLayer", width_min_pixels = 0, width_max_pixels = 9007199254740991, ...) { - arguments <- get_arguments() + arguments <- get_layer_arguments() parameters <- c( list(type = "GreatCircleLayer"), - get_arguments() + get_layer_arguments() ) do.call(layer, parameters) @@ -61,7 +61,7 @@ add_great_circle_layer <- function(rdeck, width_min_pixels = 0, width_max_pixels = 9007199254740991, ...) { - parameters <- get_arguments()[-1] + parameters <- get_layer_arguments()[-1] layer <- do.call(great_circle_layer, parameters) add_layer(rdeck, layer) diff --git a/R/grid_cell_layer.R b/R/grid_cell_layer.R index 01f8ebc9..e97a129e 100644 --- a/R/grid_cell_layer.R +++ b/R/grid_cell_layer.R @@ -37,10 +37,10 @@ grid_cell_layer <- function(id = "GridCellLayer", material = TRUE, cell_size = 1000, ...) { - arguments <- get_arguments() + arguments <- get_layer_arguments() parameters <- c( list(type = "GridCellLayer"), - get_arguments() + get_layer_arguments() ) # auto-resolve geometry if (inherits(data, "sf")) { @@ -87,7 +87,7 @@ add_grid_cell_layer <- function(rdeck, material = TRUE, cell_size = 1000, ...) { - parameters <- get_arguments()[-1] + parameters <- get_layer_arguments()[-1] layer <- do.call(grid_cell_layer, parameters) add_layer(rdeck, layer) diff --git a/R/grid_layer.R b/R/grid_layer.R index d864a5a3..ebf0b59d 100644 --- a/R/grid_layer.R +++ b/R/grid_layer.R @@ -46,10 +46,10 @@ grid_layer <- function(id = "GridLayer", grid_aggregator = NULL, gpu_aggregation = FALSE, ...) { - arguments <- get_arguments() + arguments <- get_layer_arguments() parameters <- c( list(type = "GridLayer"), - get_arguments() + get_layer_arguments() ) # auto-resolve geometry if (inherits(data, "sf")) { @@ -105,7 +105,7 @@ add_grid_layer <- function(rdeck, grid_aggregator = NULL, gpu_aggregation = FALSE, ...) { - parameters <- get_arguments()[-1] + parameters <- get_layer_arguments()[-1] layer <- do.call(grid_layer, parameters) add_layer(rdeck, layer) diff --git a/R/h3_cluster_layer.R b/R/h3_cluster_layer.R index 5fe9b375..c31b4101 100644 --- a/R/h3_cluster_layer.R +++ b/R/h3_cluster_layer.R @@ -33,10 +33,10 @@ h3_cluster_layer <- function(id = "H3ClusterLayer", get_elevation = 1000, material = TRUE, ...) { - arguments <- get_arguments() + arguments <- get_layer_arguments() parameters <- c( list(type = "H3ClusterLayer"), - get_arguments() + get_layer_arguments() ) # auto-resolve geometry if (inherits(data, "sf")) { @@ -79,7 +79,7 @@ add_h3_cluster_layer <- function(rdeck, get_elevation = 1000, material = TRUE, ...) { - parameters <- get_arguments()[-1] + parameters <- get_layer_arguments()[-1] layer <- do.call(h3_cluster_layer, parameters) add_layer(rdeck, layer) diff --git a/R/h3_hexagon_layer.R b/R/h3_hexagon_layer.R index a56cea06..d9db35ba 100644 --- a/R/h3_hexagon_layer.R +++ b/R/h3_hexagon_layer.R @@ -36,10 +36,10 @@ h3_hexagon_layer <- function(id = "H3HexagonLayer", center_hexagon = NULL, get_hexagon = hexagon, ...) { - arguments <- get_arguments() + arguments <- get_layer_arguments() parameters <- c( list(type = "H3HexagonLayer"), - get_arguments() + get_layer_arguments() ) # auto-resolve geometry if (inherits(data, "sf")) { @@ -85,7 +85,7 @@ add_h3_hexagon_layer <- function(rdeck, center_hexagon = NULL, get_hexagon = hexagon, ...) { - parameters <- get_arguments()[-1] + parameters <- get_layer_arguments()[-1] layer <- do.call(h3_hexagon_layer, parameters) add_layer(rdeck, layer) diff --git a/R/heatmap_layer.R b/R/heatmap_layer.R index 146c09fc..5a81a867 100644 --- a/R/heatmap_layer.R +++ b/R/heatmap_layer.R @@ -29,10 +29,10 @@ heatmap_layer <- function(id = "HeatmapLayer", threshold = 0.05, color_domain = NULL, ...) { - arguments <- get_arguments() + arguments <- get_layer_arguments() parameters <- c( list(type = "HeatmapLayer"), - get_arguments() + get_layer_arguments() ) # auto-resolve geometry if (inherits(data, "sf")) { @@ -71,7 +71,7 @@ add_heatmap_layer <- function(rdeck, threshold = 0.05, color_domain = NULL, ...) { - parameters <- get_arguments()[-1] + parameters <- get_layer_arguments()[-1] layer <- do.call(heatmap_layer, parameters) add_layer(rdeck, layer) diff --git a/R/hexagon_layer.R b/R/hexagon_layer.R index 3e1990d0..ee439681 100644 --- a/R/hexagon_layer.R +++ b/R/hexagon_layer.R @@ -45,10 +45,10 @@ hexagon_layer <- function(id = "HexagonLayer", get_position = position, material = TRUE, ...) { - arguments <- get_arguments() + arguments <- get_layer_arguments() parameters <- c( list(type = "HexagonLayer"), - get_arguments() + get_layer_arguments() ) # auto-resolve geometry if (inherits(data, "sf")) { @@ -103,7 +103,7 @@ add_hexagon_layer <- function(rdeck, get_position = position, material = TRUE, ...) { - parameters <- get_arguments()[-1] + parameters <- get_layer_arguments()[-1] layer <- do.call(hexagon_layer, parameters) add_layer(rdeck, layer) diff --git a/R/icon_layer.R b/R/icon_layer.R index 0f2bc4c4..47a871dc 100644 --- a/R/icon_layer.R +++ b/R/icon_layer.R @@ -29,10 +29,10 @@ icon_layer <- function(id = "IconLayer", get_angle = 0, get_pixel_offset = c(0, 0), ...) { - arguments <- get_arguments() + arguments <- get_layer_arguments() parameters <- c( list(type = "IconLayer"), - get_arguments() + get_layer_arguments() ) # auto-resolve geometry if (inherits(data, "sf")) { @@ -71,7 +71,7 @@ add_icon_layer <- function(rdeck, get_angle = 0, get_pixel_offset = c(0, 0), ...) { - parameters <- get_arguments()[-1] + parameters <- get_layer_arguments()[-1] layer <- do.call(icon_layer, parameters) add_layer(rdeck, layer) diff --git a/R/layer.R b/R/layer.R index a9457fac..5b693617 100644 --- a/R/layer.R +++ b/R/layer.R @@ -67,7 +67,7 @@ layer <- function(type, color_format %in% c("RGBA", "RGB") ) - properties <- get_arguments() + properties <- get_layer_arguments() # data properties$data <- layer_data(data, type) diff --git a/R/line_layer.R b/R/line_layer.R index 462039bd..bcaec1eb 100644 --- a/R/line_layer.R +++ b/R/line_layer.R @@ -23,10 +23,10 @@ line_layer <- function(id = "LineLayer", width_min_pixels = 0, width_max_pixels = 9007199254740991, ...) { - arguments <- get_arguments() + arguments <- get_layer_arguments() parameters <- c( list(type = "LineLayer"), - get_arguments() + get_layer_arguments() ) do.call(layer, parameters) @@ -55,7 +55,7 @@ add_line_layer <- function(rdeck, width_min_pixels = 0, width_max_pixels = 9007199254740991, ...) { - parameters <- get_arguments()[-1] + parameters <- get_layer_arguments()[-1] layer <- do.call(line_layer, parameters) add_layer(rdeck, layer) diff --git a/R/mvt_layer.R b/R/mvt_layer.R index e8eb34a8..b3eb1611 100644 --- a/R/mvt_layer.R +++ b/R/mvt_layer.R @@ -22,10 +22,10 @@ mvt_layer <- function(id = "MVTLayer", max_cache_byte_size = NULL, refinement_strategy = "best-available", ...) { - arguments <- get_arguments() + arguments <- get_layer_arguments() parameters <- c( list(type = "MVTLayer"), - get_arguments() + get_layer_arguments() ) do.call(layer, parameters) @@ -53,7 +53,7 @@ add_mvt_layer <- function(rdeck, max_cache_byte_size = NULL, refinement_strategy = "best-available", ...) { - parameters <- get_arguments()[-1] + parameters <- get_layer_arguments()[-1] layer <- do.call(mvt_layer, parameters) add_layer(rdeck, layer) diff --git a/R/path_layer.R b/R/path_layer.R index 57598c47..60e58ec6 100644 --- a/R/path_layer.R +++ b/R/path_layer.R @@ -25,10 +25,10 @@ path_layer <- function(id = "PathLayer", get_color = "#000000ff", get_width = 1, ...) { - arguments <- get_arguments() + arguments <- get_layer_arguments() parameters <- c( list(type = "PathLayer"), - get_arguments() + get_layer_arguments() ) # auto-resolve geometry if (inherits(data, "sf")) { @@ -63,7 +63,7 @@ add_path_layer <- function(rdeck, get_color = "#000000ff", get_width = 1, ...) { - parameters <- get_arguments()[-1] + parameters <- get_layer_arguments()[-1] layer <- do.call(path_layer, parameters) add_layer(rdeck, layer) diff --git a/R/point_cloud_layer.R b/R/point_cloud_layer.R index 406324e3..ab8b00ab 100644 --- a/R/point_cloud_layer.R +++ b/R/point_cloud_layer.R @@ -21,10 +21,10 @@ point_cloud_layer <- function(id = "PointCloudLayer", get_color = "#000000ff", material = TRUE, ...) { - arguments <- get_arguments() + arguments <- get_layer_arguments() parameters <- c( list(type = "PointCloudLayer"), - get_arguments() + get_layer_arguments() ) # auto-resolve geometry if (inherits(data, "sf")) { @@ -55,7 +55,7 @@ add_point_cloud_layer <- function(rdeck, get_color = "#000000ff", material = TRUE, ...) { - parameters <- get_arguments()[-1] + parameters <- get_layer_arguments()[-1] layer <- do.call(point_cloud_layer, parameters) add_layer(rdeck, layer) diff --git a/R/polygon_layer.R b/R/polygon_layer.R index a4d69c82..3c84307e 100644 --- a/R/polygon_layer.R +++ b/R/polygon_layer.R @@ -32,10 +32,10 @@ polygon_layer <- function(id = "PolygonLayer", get_elevation = 1000, material = TRUE, ...) { - arguments <- get_arguments() + arguments <- get_layer_arguments() parameters <- c( list(type = "PolygonLayer"), - get_arguments() + get_layer_arguments() ) # auto-resolve geometry if (inherits(data, "sf")) { @@ -77,7 +77,7 @@ add_polygon_layer <- function(rdeck, get_elevation = 1000, material = TRUE, ...) { - parameters <- get_arguments()[-1] + parameters <- get_layer_arguments()[-1] layer <- do.call(polygon_layer, parameters) add_layer(rdeck, layer) diff --git a/R/s2_layer.R b/R/s2_layer.R index 9de8c706..201f17ea 100644 --- a/R/s2_layer.R +++ b/R/s2_layer.R @@ -33,10 +33,10 @@ s2_layer <- function(id = "S2Layer", get_elevation = 1000, material = TRUE, ...) { - arguments <- get_arguments() + arguments <- get_layer_arguments() parameters <- c( list(type = "S2Layer"), - get_arguments() + get_layer_arguments() ) # auto-resolve geometry if (inherits(data, "sf")) { @@ -79,7 +79,7 @@ add_s2_layer <- function(rdeck, get_elevation = 1000, material = TRUE, ...) { - parameters <- get_arguments()[-1] + parameters <- get_layer_arguments()[-1] layer <- do.call(s2_layer, parameters) add_layer(rdeck, layer) diff --git a/R/scatterplot_layer.R b/R/scatterplot_layer.R index 5ce83ce2..774af857 100644 --- a/R/scatterplot_layer.R +++ b/R/scatterplot_layer.R @@ -29,10 +29,10 @@ scatterplot_layer <- function(id = "ScatterplotLayer", get_line_color = "#000000ff", get_line_width = 1, ...) { - arguments <- get_arguments() + arguments <- get_layer_arguments() parameters <- c( list(type = "ScatterplotLayer"), - get_arguments() + get_layer_arguments() ) # auto-resolve geometry if (inherits(data, "sf")) { @@ -71,7 +71,7 @@ add_scatterplot_layer <- function(rdeck, get_line_color = "#000000ff", get_line_width = 1, ...) { - parameters <- get_arguments()[-1] + parameters <- get_layer_arguments()[-1] layer <- do.call(scatterplot_layer, parameters) add_layer(rdeck, layer) diff --git a/R/scenegraph_layer.R b/R/scenegraph_layer.R index 79c44a38..468b8a9e 100644 --- a/R/scenegraph_layer.R +++ b/R/scenegraph_layer.R @@ -27,10 +27,10 @@ scenegraph_layer <- function(id = "ScenegraphLayer", get_translation = c(0, 0, 0), get_transform_matrix = NULL, ...) { - arguments <- get_arguments() + arguments <- get_layer_arguments() parameters <- c( list(type = "ScenegraphLayer"), - get_arguments() + get_layer_arguments() ) # auto-resolve geometry if (inherits(data, "sf")) { @@ -67,7 +67,7 @@ add_scenegraph_layer <- function(rdeck, get_translation = c(0, 0, 0), get_transform_matrix = NULL, ...) { - parameters <- get_arguments()[-1] + parameters <- get_layer_arguments()[-1] layer <- do.call(scenegraph_layer, parameters) add_layer(rdeck, layer) diff --git a/R/screen_grid_layer.R b/R/screen_grid_layer.R index 37ca59dd..259a3ccb 100644 --- a/R/screen_grid_layer.R +++ b/R/screen_grid_layer.R @@ -30,10 +30,10 @@ screen_grid_layer <- function(id = "ScreenGridLayer", gpu_aggregation = TRUE, aggregation = "SUM", ...) { - arguments <- get_arguments() + arguments <- get_layer_arguments() parameters <- c( list(type = "ScreenGridLayer"), - get_arguments() + get_layer_arguments() ) # auto-resolve geometry if (inherits(data, "sf")) { @@ -73,7 +73,7 @@ add_screen_grid_layer <- function(rdeck, gpu_aggregation = TRUE, aggregation = "SUM", ...) { - parameters <- get_arguments()[-1] + parameters <- get_layer_arguments()[-1] layer <- do.call(screen_grid_layer, parameters) add_layer(rdeck, layer) diff --git a/R/simple_mesh_layer.R b/R/simple_mesh_layer.R index d324d28c..fb986f72 100644 --- a/R/simple_mesh_layer.R +++ b/R/simple_mesh_layer.R @@ -26,10 +26,10 @@ simple_mesh_layer <- function(id = "SimpleMeshLayer", get_translation = c(0, 0, 0), get_transform_matrix = NULL, ...) { - arguments <- get_arguments() + arguments <- get_layer_arguments() parameters <- c( list(type = "SimpleMeshLayer"), - get_arguments() + get_layer_arguments() ) # auto-resolve geometry if (inherits(data, "sf")) { @@ -65,7 +65,7 @@ add_simple_mesh_layer <- function(rdeck, get_translation = c(0, 0, 0), get_transform_matrix = NULL, ...) { - parameters <- get_arguments()[-1] + parameters <- get_layer_arguments()[-1] layer <- do.call(simple_mesh_layer, parameters) add_layer(rdeck, layer) diff --git a/R/solid_polygon_layer.R b/R/solid_polygon_layer.R index 3b55ce7a..fcb37d03 100644 --- a/R/solid_polygon_layer.R +++ b/R/solid_polygon_layer.R @@ -24,10 +24,10 @@ solid_polygon_layer <- function(id = "SolidPolygonLayer", get_line_color = "#000000ff", material = TRUE, ...) { - arguments <- get_arguments() + arguments <- get_layer_arguments() parameters <- c( list(type = "SolidPolygonLayer"), - get_arguments() + get_layer_arguments() ) # auto-resolve geometry if (inherits(data, "sf")) { @@ -61,7 +61,7 @@ add_solid_polygon_layer <- function(rdeck, get_line_color = "#000000ff", material = TRUE, ...) { - parameters <- get_arguments()[-1] + parameters <- get_layer_arguments()[-1] layer <- do.call(solid_polygon_layer, parameters) add_layer(rdeck, layer) diff --git a/R/terrain_layer.R b/R/terrain_layer.R index c30fa23a..b9da1b25 100644 --- a/R/terrain_layer.R +++ b/R/terrain_layer.R @@ -31,10 +31,10 @@ terrain_layer <- function(id = "TerrainLayer", wireframe = FALSE, material = TRUE, ...) { - arguments <- get_arguments() + arguments <- get_layer_arguments() parameters <- c( list(type = "TerrainLayer"), - get_arguments() + get_layer_arguments() ) do.call(layer, parameters) @@ -71,7 +71,7 @@ add_terrain_layer <- function(rdeck, wireframe = FALSE, material = TRUE, ...) { - parameters <- get_arguments()[-1] + parameters <- get_layer_arguments()[-1] layer <- do.call(terrain_layer, parameters) add_layer(rdeck, layer) diff --git a/R/text_layer.R b/R/text_layer.R index b3e42512..6e99691e 100644 --- a/R/text_layer.R +++ b/R/text_layer.R @@ -36,10 +36,10 @@ text_layer <- function(id = "TextLayer", get_alignment_baseline = "center", get_pixel_offset = c(0, 0), ...) { - arguments <- get_arguments() + arguments <- get_layer_arguments() parameters <- c( list(type = "TextLayer"), - get_arguments() + get_layer_arguments() ) # auto-resolve geometry if (inherits(data, "sf")) { @@ -85,7 +85,7 @@ add_text_layer <- function(rdeck, get_alignment_baseline = "center", get_pixel_offset = c(0, 0), ...) { - parameters <- get_arguments()[-1] + parameters <- get_layer_arguments()[-1] layer <- do.call(text_layer, parameters) add_layer(rdeck, layer) diff --git a/R/tile3d_layer.R b/R/tile3d_layer.R index 47a88d6d..8eb8319c 100644 --- a/R/tile3d_layer.R +++ b/R/tile3d_layer.R @@ -19,10 +19,10 @@ tile3d_layer <- function(id = "Tile3DLayer", load_options = NULL, loader = NULL, ...) { - arguments <- get_arguments() + arguments <- get_layer_arguments() parameters <- c( list(type = "Tile3DLayer"), - get_arguments() + get_layer_arguments() ) do.call(layer, parameters) @@ -47,7 +47,7 @@ add_tile3d_layer <- function(rdeck, load_options = NULL, loader = NULL, ...) { - parameters <- get_arguments()[-1] + parameters <- get_layer_arguments()[-1] layer <- do.call(tile3d_layer, parameters) add_layer(rdeck, layer) diff --git a/R/tile_layer.R b/R/tile_layer.R index 0bc42817..140777f3 100644 --- a/R/tile_layer.R +++ b/R/tile_layer.R @@ -22,10 +22,10 @@ tile_layer <- function(id = "TileLayer", max_cache_byte_size = NULL, refinement_strategy = "best-available", ...) { - arguments <- get_arguments() + arguments <- get_layer_arguments() parameters <- c( list(type = "TileLayer"), - get_arguments() + get_layer_arguments() ) do.call(layer, parameters) @@ -53,7 +53,7 @@ add_tile_layer <- function(rdeck, max_cache_byte_size = NULL, refinement_strategy = "best-available", ...) { - parameters <- get_arguments()[-1] + parameters <- get_layer_arguments()[-1] layer <- do.call(tile_layer, parameters) add_layer(rdeck, layer) diff --git a/R/trips_layer.R b/R/trips_layer.R index e51c0165..8ce8600b 100644 --- a/R/trips_layer.R +++ b/R/trips_layer.R @@ -28,10 +28,10 @@ trips_layer <- function(id = "TripsLayer", current_time = 0, get_timestamps = NULL, ...) { - arguments <- get_arguments() + arguments <- get_layer_arguments() parameters <- c( list(type = "TripsLayer"), - get_arguments() + get_layer_arguments() ) # auto-resolve geometry if (inherits(data, "sf")) { @@ -69,7 +69,7 @@ add_trips_layer <- function(rdeck, current_time = 0, get_timestamps = NULL, ...) { - parameters <- get_arguments()[-1] + parameters <- get_layer_arguments()[-1] layer <- do.call(trips_layer, parameters) add_layer(rdeck, layer) diff --git a/R/utils.R b/R/utils.R index d2ce9eb4..350b1a40 100644 --- a/R/utils.R +++ b/R/utils.R @@ -1,18 +1,19 @@ -get_arguments <- function() { +get_layer_arguments <- function() { calling_environment <- parent.frame() call <- match.call( sys.function(-1), sys.call(-1) ) - is_pipe <- function(x) is.name(x) && x == "." - eval_pipe <- function(name) eval(as.name(name), calling_environment) + # hack: this pattern needs a rethink + is_accessor <- function(name) name %in% accessors + eval_name <- function(name) eval(as.name(name), calling_environment) arguments <- as.list(call)[-1] - # arg is pipe ? eval : arg + # eval all args that aren't accessors Map(function(arg, name) { - if (is_pipe(arg)) eval_pipe(name) else arg + if (is.name(arg) && !is_accessor(name)) eval_name(name) else arg }, arguments, names(arguments)) } diff --git a/inst/htmlwidgets/rdeck.js b/inst/htmlwidgets/rdeck.js index 5f142596..8a4abca1 100644 --- a/inst/htmlwidgets/rdeck.js +++ b/inst/htmlwidgets/rdeck.js @@ -1 +1 @@ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.rdeck=t():e.rdeck=t()}(window,(function(){return function(e){function t(t){for(var r,i,c=t[0],l=t[1],s=t[2],d=0,f=[];de(t[r])}(this.scale,r)}get isContinuous(){return"interpolate"in this.scale}}const b={getHexagon:(e,{index:t,data:n})=>n.frame.hexagon[t],getHexagons:(e,{index:t,data:n})=>n.frame.hexagons[t],getS2Token:(e,{index:t,data:n})=>n.frame.token[t],getIcon:(e,{index:t,data:n})=>n.frame.icon[t],getText:(e,{index:t,data:n})=>n.frame.text[t],getPath:(e,{index:t,data:n})=>n.frame.path[t],getPolygon:(e,{index:t,data:n})=>n.frame.polygon[t],getPosition:(e,{index:t,data:n})=>n.frame.position[t],getSourcePosition:(e,{index:t,data:n})=>n.frame.source_position[t],getTargetPosition:(e,{index:t,data:n})=>n.frame.target_position[t]};class x{constructor(e){let{type:t}=e,n=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r=0||(a[n]=e[n]);return a}(e,["type"]);this.layer=void 0,this.legend=void 0;const a=function(e){const t=Object.entries(e).filter(([e,t])=>v(e)).map(([e,t])=>[e,y(t)]);"colorRange"in e&&t.push(["colorRange",e.colorRange.map(e=>y(e))]);return Object.fromEntries(t)}(n),o=function(e){const t=e=>function(e){return null!=e&&"object"==typeof e&&!Array.isArray(e)}(e)&&"type"in e;return Object.entries(e).filter(([e,n])=>function(e){return/(Radius|Elevation|Color)$/.test(e)}(e)&&t(n)).map(([t,n])=>{let r=n.range;return v(t)&&(r=r.map(e=>y(e))),new h(Object.assign({},n,{range:r,name:t,data:O(e.data,n.value)}))})}(n),i=Object.fromEntries(o.map(({name:e,value:t})=>[e,t]));this.layer=new r[t](Object.assign({},b,{},n,{},a,{},i)),this.legend={name:n.id||t,scales:o.filter(e=>e.legend)}}static create(e){return new x(e)}}function v(e){return e.endsWith("Color")}function O(e,t){if(Array.isArray(e)&&0===e.length)return[];if("frame"in e)return e.frame[t];if("type"in e){const n=e=>{var n;return null==(n=e.properties)?void 0:n[t]};switch(e.type){case"Feature":return n(e);case"FeatureCollection":return e.features.map(n)}}throw TypeError("data type not suppported")}n(287);var j=n(89),E=n.n(j);var k=Object(a.memo)(({info:e})=>{if(null==e)return null;const{index:t,layer:n,x:r,y:a}=e,{id:i,tooltip:c,data:l}=n.props,s=null==e.object,u=s?l.frame:e.object,d=s?e=>u[e][t]:e=>u[e],f="boolean"==typeof c?Object.keys(u):[c].flat();return o.a.createElement("div",{className:E.a.tooltip,style:{transform:"translate(".concat(r,"px, ").concat(a,"px)")}},o.a.createElement("div",{className:E.a.layerName},i),o.a.createElement("table",{className:E.a.table},o.a.createElement("tbody",null,f.map(e=>o.a.createElement("tr",{key:e},o.a.createElement("td",{className:E.a.fieldName},e),o.a.createElement("td",{className:E.a.fieldValue},String(d(e))))))))}),N=n(40),L=n.n(N);function _(){return(_=Object.assign||function(e){for(var t=1;t0===t.length?null:o.a.createElement("div",{className:L.a.layer},o.a.createElement("div",{className:L.a.layerName},e),t.map(e=>o.a.createElement(S,_({key:e.name},e,{isContinuous:e.isContinuous})))),S=({name:e,field:t,scale:n,isContinuous:r})=>{const a=e.replace(/^get/,"").replace(/([A-Z])/g," $1").toLowerCase();const i=/color$/i.test(e);return o.a.createElement("div",{className:L.a.scale},o.a.createElement("div",{className:L.a.scaleName},a),o.a.createElement("span",{className:L.a.scaleBy},"by "),o.a.createElement("span",{className:L.a.fieldName},t),i&&!r&&o.a.createElement(P,{scale:n}),i&&r&&o.a.createElement(A,{scale:n}))},P=({scale:e})=>{const t=Object(a.useMemo)(()=>"ticks"in e?e.ticks(6).map(t=>[m(e(t)),t]):[],[e]),n=10+14*(t.length-1);return o.a.createElement("svg",{className:L.a.colorScale,height:n},t.map(([e,t],n)=>o.a.createElement("svg",{key:t,y:14*n},o.a.createElement("rect",{width:20,height:10,fill:e}),o.a.createElement("text",{className:L.a.tick,x:28,y:8},t))))},A=({scale:e})=>{const t=G("gradient"),n=Object(a.useMemo)(()=>e.ticks(6).map(t=>m(e(t))),[e]),r=Object(a.useMemo)(()=>e.ticks(6),[e]),i=10+14*(n.length-1);return o.a.createElement("svg",{className:L.a.colorScale,height:i,width:"100%"},o.a.createElement("defs",null,o.a.createElement("linearGradient",{id:t,x1:0,x2:0,y1:0,y2:1},n.map((e,t)=>o.a.createElement("stop",{key:t,offset:t/(n.length-1),stopColor:e})))),o.a.createElement("rect",{width:20,height:"100%",fill:"url(#".concat(t,")")}),o.a.createElement("svg",{x:28},r.map((e,t)=>o.a.createElement("text",{key:t,className:L.a.tick,y:8+14*t},e))))},G=e=>Object(a.useMemo)(()=>"".concat(e,"-").concat(T()),[e]),T=(()=>{let e=0;return()=>e++})();var C=Object(a.memo)(({layers:e})=>0===e.length?null:o.a.createElement("div",{className:L.a.legend},e.map(e=>o.a.createElement(w,_({key:e.name},e)))));function H(){return(H=Object.assign||function(e){for(var t=1;t{const n=Object(a.useRef)(null),{mapboxApiAccessToken:r,mapStyle:i,mapOptions:c}=e,u=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r=0||(a[n]=e[n]);return a}(e,["mapboxApiAccessToken","mapStyle","mapOptions"]),[d,f]=Object(a.useMemo)(()=>{const e=t.map(x.create);return[e.map(({layer:e})=>e),e.map(({legend:e})=>e)]},[t]),[p,m]=I();return o.a.createElement(a.Fragment,null,o.a.createElement(s.a,H({ref:n},u,{layers:d,onHover:m}),r&&o.a.createElement(l.a,{mapboxApiAccessToken:r,mapStyle:i,mapOptions:c})),o.a.createElement(k,{info:p}),o.a.createElement(C,{layers:f}))});const I=()=>{const[e,t]=Object(a.useState)(null);return[e,Object(a.useCallback)(e=>{if(!e.picked||!(null==e?void 0:e.layer.props.tooltip))return t(null);t(e)},[])]};var V=n(214),B=n.n(V);const F={name:"rdeck",type:"output",factory:(e,t,n)=>(e.classList.add(B.a.rdeck),{renderValue({props:r,layers:a}){if(Array.isArray(r.initialBounds)){const e=new l.b({width:t,height:n}),{longitude:a,latitude:o,zoom:i}=e.fitBounds([r.initialBounds.slice(0,2),r.initialBounds.slice(2,4)]);r.initialViewState=Object.assign({},r.initialViewState,{longitude:a,latitude:o,zoom:i})}c.a.render(o.a.createElement(M,{props:r,layers:a}),e)},resize(e,t){}})};HTMLWidgets.widget(F);var R=F;const z="0.2.2"},40:function(e,t,n){e.exports={legend:"_2GRwBFaZmS_r1QuTD40QTb",layer:"_2H616QgG84oJauALO4hHO9","layer-name":"_3jgOYHCNA8IXEGF-GcZfp1",layerName:"_3jgOYHCNA8IXEGF-GcZfp1",scale:"_3l1IrsNNlxgYFax5dgTxAW","scale-by":"_3WPf7mzaFF4kbhkWYxmKTy",scaleBy:"_3WPf7mzaFF4kbhkWYxmKTy","scale-name":"_2wJ0XatdYfxrDgpJ3eV93G",scaleName:"_2wJ0XatdYfxrDgpJ3eV93G","field-name":"_2rWI9appKk7uHlxFw2TCK2",fieldName:"_2rWI9appKk7uHlxFw2TCK2","color-scale":"_1SoB7VpHzrDYFxQD3QVa6E",colorScale:"_1SoB7VpHzrDYFxQD3QVa6E",tick:"YlPgLSlsk4JxXl1kumg6t"}},89:function(e,t,n){e.exports={tooltip:"_1o3vLW7Ljnp1RYgitRVcV7","layer-name":"_1EGHd-czbrt1MnwOIQDNjU",layerName:"_1EGHd-czbrt1MnwOIQDNjU",table:"_3xgUIUb5a3-Pb19yZND7SX","field-name":"_3V8HBKlx4eOkgGRNmc3Xmy",fieldName:"_3V8HBKlx4eOkgGRNmc3Xmy","field-value":"_2aerz5p_BktfQNNtqjZWXo",fieldValue:"_2aerz5p_BktfQNNtqjZWXo"}}})})); \ No newline at end of file +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.rdeck=t():e.rdeck=t()}(window,(function(){return function(e){function t(t){for(var r,i,c=t[0],l=t[1],s=t[2],d=0,f=[];de(t[r])}(this.scale,r)}get isContinuous(){return"interpolate"in this.scale}}const b={getHexagon:(e,{index:t,data:n})=>n.frame.hexagon[t],getHexagons:(e,{index:t,data:n})=>n.frame.hexagons[t],getS2Token:(e,{index:t,data:n})=>n.frame.token[t],getIcon:(e,{index:t,data:n})=>n.frame.icon[t],getText:(e,{index:t,data:n})=>n.frame.text[t],getPath:(e,{index:t,data:n})=>n.frame.path[t],getPolygon:(e,{index:t,data:n})=>n.frame.polygon[t],getPosition:(e,{index:t,data:n})=>n.frame.position[t],getSourcePosition:(e,{index:t,data:n})=>n.frame.source_position[t],getTargetPosition:(e,{index:t,data:n})=>n.frame.target_position[t]};class x{constructor(e){let{type:t}=e,n=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r=0||(a[n]=e[n]);return a}(e,["type"]);this.layer=void 0,this.legend=void 0;const a=function(e){const t=Object.entries(e).filter(([e,t])=>v(e)).map(([e,t])=>[e,y(t)]);"colorRange"in e&&t.push(["colorRange",e.colorRange.map(e=>y(e))]);return Object.fromEntries(t)}(n),o=function(e){const t=e=>function(e){return null!=e&&"object"==typeof e&&!Array.isArray(e)}(e)&&"type"in e;return Object.entries(e).filter(([e,n])=>function(e){return/(Radius|Elevation|Color)$/.test(e)}(e)&&t(n)).map(([t,n])=>{let r=n.range;return v(t)&&(r=r.map(e=>y(e))),new h(Object.assign({},n,{range:r,name:t,data:O(e.data,n.value)}))})}(n),i=Object.fromEntries(o.map(({name:e,value:t})=>[e,t]));this.layer=new r[t](Object.assign({},b,{},n,{},a,{},i)),this.legend={name:n.id||t,scales:o.filter(e=>e.legend)}}static create(e){return new x(e)}}function v(e){return e.endsWith("Color")}function O(e,t){if(Array.isArray(e)&&0===e.length)return[];if("frame"in e)return e.frame[t];if("type"in e){const n=e=>{var n;return null==(n=e.properties)?void 0:n[t]};switch(e.type){case"Feature":return n(e);case"FeatureCollection":return e.features.map(n)}}throw TypeError("data type not suppported")}n(287);var j=n(89),E=n.n(j);var k=Object(a.memo)(({info:e})=>{if(null==e)return null;const{index:t,layer:n,x:r,y:a}=e,{id:i,tooltip:c,data:l}=n.props,s=null==e.object,u=s?l.frame:e.object,d=s?e=>u[e][t]:e=>u[e],f="boolean"==typeof c?Object.keys(u):[c].flat();return o.a.createElement("div",{className:E.a.tooltip,style:{transform:"translate(".concat(r,"px, ").concat(a,"px)")}},o.a.createElement("div",{className:E.a.layerName},i),o.a.createElement("table",{className:E.a.table},o.a.createElement("tbody",null,f.map(e=>o.a.createElement("tr",{key:e},o.a.createElement("td",{className:E.a.fieldName},e),o.a.createElement("td",{className:E.a.fieldValue},String(d(e))))))))}),N=n(40),L=n.n(N);function _(){return(_=Object.assign||function(e){for(var t=1;t0===t.length?null:o.a.createElement("div",{className:L.a.layer},o.a.createElement("div",{className:L.a.layerName},e),t.map(e=>o.a.createElement(S,_({key:e.name},e,{isContinuous:e.isContinuous})))),S=({name:e,field:t,scale:n,isContinuous:r})=>{const a=e.replace(/^get/,"").replace(/([A-Z])/g," $1").toLowerCase();const i=/color$/i.test(e);return o.a.createElement("div",{className:L.a.scale},o.a.createElement("div",{className:L.a.scaleName},a),o.a.createElement("span",{className:L.a.scaleBy},"by "),o.a.createElement("span",{className:L.a.fieldName},t),i&&!r&&o.a.createElement(P,{scale:n}),i&&r&&o.a.createElement(A,{scale:n}))},P=({scale:e})=>{const t=Object(a.useMemo)(()=>"ticks"in e?e.ticks(6).map(t=>[m(e(t)),t]):[],[e]),n=10+14*(t.length-1);return o.a.createElement("svg",{className:L.a.colorScale,height:n},t.map(([e,t],n)=>o.a.createElement("svg",{key:t,y:14*n},o.a.createElement("rect",{width:20,height:10,fill:e}),o.a.createElement("text",{className:L.a.tick,x:28,y:8},t))))},A=({scale:e})=>{const t=G("gradient"),n=Object(a.useMemo)(()=>e.ticks(6).map(t=>m(e(t))),[e]),r=Object(a.useMemo)(()=>e.ticks(6),[e]),i=10+14*(n.length-1);return o.a.createElement("svg",{className:L.a.colorScale,height:i,width:"100%"},o.a.createElement("defs",null,o.a.createElement("linearGradient",{id:t,x1:0,x2:0,y1:0,y2:1},n.map((e,t)=>o.a.createElement("stop",{key:t,offset:t/(n.length-1),stopColor:e})))),o.a.createElement("rect",{width:20,height:"100%",fill:"url(#".concat(t,")")}),o.a.createElement("svg",{x:28},r.map((e,t)=>o.a.createElement("text",{key:t,className:L.a.tick,y:8+14*t},e))))},G=e=>Object(a.useMemo)(()=>"".concat(e,"-").concat(T()),[e]),T=(()=>{let e=0;return()=>e++})();var C=Object(a.memo)(({layers:e})=>0===e.length?null:o.a.createElement("div",{className:L.a.legend},e.map(e=>o.a.createElement(w,_({key:e.name},e)))));function H(){return(H=Object.assign||function(e){for(var t=1;t{const n=Object(a.useRef)(null),{mapboxApiAccessToken:r,mapStyle:i,mapOptions:c}=e,u=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r=0||(a[n]=e[n]);return a}(e,["mapboxApiAccessToken","mapStyle","mapOptions"]),[d,f]=Object(a.useMemo)(()=>{const e=t.map(x.create);return[e.map(({layer:e})=>e),e.map(({legend:e})=>e)]},[t]),[p,m]=I();return o.a.createElement(a.Fragment,null,o.a.createElement(s.a,H({ref:n},u,{layers:d,onHover:m}),r&&o.a.createElement(l.a,{mapboxApiAccessToken:r,mapStyle:i,mapOptions:c})),o.a.createElement(k,{info:p}),o.a.createElement(C,{layers:f}))});const I=()=>{const[e,t]=Object(a.useState)(null);return[e,Object(a.useCallback)(e=>{if(!e.picked||!(null==e?void 0:e.layer.props.tooltip))return t(null);t(e)},[])]};var V=n(214),B=n.n(V);const F={name:"rdeck",type:"output",factory:(e,t,n)=>(e.classList.add(B.a.rdeck),{renderValue({props:r,layers:a}){if(Array.isArray(r.initialBounds)){const e=new l.b({width:t,height:n}),{longitude:a,latitude:o,zoom:i}=e.fitBounds([r.initialBounds.slice(0,2),r.initialBounds.slice(2,4)]);r.initialViewState=Object.assign({},r.initialViewState,{longitude:a,latitude:o,zoom:i})}c.a.render(o.a.createElement(M,{props:r,layers:a}),e)},resize(e,t){}})};HTMLWidgets.widget(F);var R=F;const z="0.2.3"},40:function(e,t,n){e.exports={legend:"_2GRwBFaZmS_r1QuTD40QTb",layer:"_2H616QgG84oJauALO4hHO9","layer-name":"_3jgOYHCNA8IXEGF-GcZfp1",layerName:"_3jgOYHCNA8IXEGF-GcZfp1",scale:"_3l1IrsNNlxgYFax5dgTxAW","scale-by":"_3WPf7mzaFF4kbhkWYxmKTy",scaleBy:"_3WPf7mzaFF4kbhkWYxmKTy","scale-name":"_2wJ0XatdYfxrDgpJ3eV93G",scaleName:"_2wJ0XatdYfxrDgpJ3eV93G","field-name":"_2rWI9appKk7uHlxFw2TCK2",fieldName:"_2rWI9appKk7uHlxFw2TCK2","color-scale":"_1SoB7VpHzrDYFxQD3QVa6E",colorScale:"_1SoB7VpHzrDYFxQD3QVa6E",tick:"YlPgLSlsk4JxXl1kumg6t"}},89:function(e,t,n){e.exports={tooltip:"_1o3vLW7Ljnp1RYgitRVcV7","layer-name":"_1EGHd-czbrt1MnwOIQDNjU",layerName:"_1EGHd-czbrt1MnwOIQDNjU",table:"_3xgUIUb5a3-Pb19yZND7SX","field-name":"_3V8HBKlx4eOkgGRNmc3Xmy",fieldName:"_3V8HBKlx4eOkgGRNmc3Xmy","field-value":"_2aerz5p_BktfQNNtqjZWXo",fieldValue:"_2aerz5p_BktfQNNtqjZWXo"}}})})); \ No newline at end of file diff --git a/inst/htmlwidgets/rdeck.yaml b/inst/htmlwidgets/rdeck.yaml index 0ca69a32..6a280fde 100644 --- a/inst/htmlwidgets/rdeck.yaml +++ b/inst/htmlwidgets/rdeck.yaml @@ -1,6 +1,6 @@ dependencies: - name: rdeck - version: 0.2.2 + version: 0.2.3 src: htmlwidgets script: vendor.js stylesheet: rdeck.css diff --git a/package.json b/package.json index e2931acb..da068163 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "rdeck", - "version": "0.2.2", + "version": "0.2.3", "private": true, "scripts": { "preinstall": "npx npm-force-resolutions", diff --git a/scripts/layer.js b/scripts/layer.js index 2710837f..ea975ac0 100644 --- a/scripts/layer.js +++ b/scripts/layer.js @@ -72,10 +72,10 @@ class Layer { : ""; return dedent(` - arguments <- get_arguments() + arguments <- get_layer_arguments() parameters <- c( list(type = "${this.type.layerName}"), - get_arguments() + get_layer_arguments() ) ${autoGeometry} do.call(layer, parameters) @@ -113,7 +113,7 @@ class AddLayer extends Layer { get body() { return dedent(` - parameters <- get_arguments()[-1] + parameters <- get_layer_arguments()[-1] layer <- do.call(${this.layer}, parameters) add_layer(rdeck, layer)