Skip to content

Commit

Permalink
add d3 7.0.0 and d3_dep_v7; see https://github.com/d3/d3/releases…
Browse files Browse the repository at this point in the history
  • Loading branch information
timelyportfolio committed Aug 15, 2021
1 parent 26d276c commit 758dcea
Show file tree
Hide file tree
Showing 7 changed files with 3,226 additions and 6 deletions.
37 changes: 33 additions & 4 deletions R/dependencies.R
Original file line number Diff line number Diff line change
@@ -1,3 +1,32 @@
#' 'd3.js' Dependency for Version 7
#'
#' @param offline \code{logical} to specify whether to use
#' a local copy of d3.js (\code{TRUE}) or use cdn (\code{FALSE})
#' @return \code{htmltools::htmlDependency}
#' @export
#' @examples
#' library(d3r)
#' library(htmltools)
#'
#' tagList(d3_dep_v7())
#' @family 'd3' dependency functions
#' @seealso \code{\link{d3_dep_v6}}, \code{\link{d3_dep_v5}}, \code{\link{d3_dep_v4}}, \code{\link{d3_dep_v3}},
#' and \code{\link{d3_dep_jetpack}}.
d3_dep_v7 <- function(offline=TRUE){
if(offline) {
src = c(file=system.file("www/d3/v7/dist", package="d3r"))
} else {
src <- c(href="https://unpkg.com/d3@7.0.0/dist")
}

htmltools::htmlDependency(
name = "d3",
version = "7.0.0",
src = src,
script = "d3.min.js"
)
}

#' 'd3.js' Dependency for Version 6
#'
#' @param offline \code{logical} to specify whether to use
Expand All @@ -10,7 +39,7 @@
#'
#' tagList(d3_dep_v6())
#' @family 'd3' dependency functions
#' @seealso \code{\link{d3_dep_v5}}, \code{\link{d3_dep_v4}}, \code{\link{d3_dep_v3}},
#' @seealso \code{\link{d3_dep_v7}}, \code{\link{d3_dep_v5}}, \code{\link{d3_dep_v4}}, \code{\link{d3_dep_v3}},
#' and \code{\link{d3_dep_jetpack}}.
d3_dep_v6 <- function(offline=TRUE){
if(offline) {
Expand Down Expand Up @@ -39,7 +68,7 @@ d3_dep_v6 <- function(offline=TRUE){
#'
#' tagList(d3_dep_v5())
#' @family 'd3' dependency functions
#' @seealso \code{\link{d3_dep_v4}}, \code{\link{d3_dep_v3}},
#' @seealso \code{\link{d3_dep_v7}}, \code{\link{d3_dep_v6}}, \code{\link{d3_dep_v4}}, \code{\link{d3_dep_v3}},
#' and \code{\link{d3_dep_jetpack}}.
d3_dep_v5 <- function(offline=TRUE){
if(offline) {
Expand Down Expand Up @@ -68,7 +97,7 @@ d3_dep_v5 <- function(offline=TRUE){
#'
#' tagList(d3_dep_v4())
#' @family 'd3' dependency functions
#' @seealso \code{\link{d3_dep_v5}}, \code{\link{d3_dep_v3}},
#' @seealso \code{\link{d3_dep_v7}}, \code{\link{d3_dep_v6}}, \code{\link{d3_dep_v5}}, \code{\link{d3_dep_v3}},
#' and \code{\link{d3_dep_jetpack}}.
d3_dep_v4 <- function(offline=TRUE){
if(offline) {
Expand Down Expand Up @@ -97,7 +126,7 @@ d3_dep_v4 <- function(offline=TRUE){
#'
#' tagList(d3_dep_v3())
#' @family 'd3' dependency functions
#' @seealso \code{\link{d3_dep_v5}}, \code{\link{d3_dep_v4}},
#' @seealso \code{\link{d3_dep_v7}}, \code{\link{d3_dep_v6}}, \code{\link{d3_dep_v5}}, \code{\link{d3_dep_v4}},
#' and \code{\link{d3_dep_jetpack}}.
d3_dep_v3 <- function(offline=TRUE){
if(offline) {
Expand Down
1,445 changes: 1,445 additions & 0 deletions inst/www/d3/v7/API.md

Large diffs are not rendered by default.

1,653 changes: 1,653 additions & 0 deletions inst/www/d3/v7/CHANGES.md

Large diffs are not rendered by default.

13 changes: 13 additions & 0 deletions inst/www/d3/v7/LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
Copyright 2010-2021 Mike Bostock

Permission to use, copy, modify, and/or distribute this software for any purpose
with or without fee is hereby granted, provided that the above copyright notice
and this permission notice appear in all copies.

THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
THIS SOFTWARE.
74 changes: 74 additions & 0 deletions inst/www/d3/v7/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
# D3: Data-Driven Documents

<a href="https://d3js.org"><img src="https://d3js.org/logo.svg" align="left" hspace="10" vspace="6"></a>

**D3** (or **D3.js**) is a JavaScript library for visualizing data using web standards. D3 helps you bring data to life using SVG, Canvas and HTML. D3 combines powerful visualization and interaction techniques with a data-driven approach to DOM manipulation, giving you the full capabilities of modern browsers and the freedom to design the right visual interface for your data.

## Resources

* [Introduction](https://observablehq.com/@d3/learn-d3)
* [API Reference](https://github.com/d3/d3/blob/master/API.md)
* [Releases](https://github.com/d3/d3/releases)
* [Examples](https://observablehq.com/@d3/gallery)
* [Wiki](https://github.com/d3/d3/wiki)

## Installing

If you use npm, `npm install d3`. You can also download the [latest release on GitHub](https://github.com/d3/d3/releases/latest). For vanilla HTML in modern browsers, import D3 from Skypack:

```html
<script type="module">
import * as d3 from "https://cdn.skypack.dev/d3@7";
const div = d3.selectAll("div");
</script>
```

For legacy environments, you can load D3’s UMD bundle from an npm-based CDN such as jsDelivr; a `d3` global is exported:

```html
<script src="https://cdn.jsdelivr.net/npm/d3@7"></script>
<script>
const div = d3.selectAll("div");
</script>
```

You can also use the standalone D3 microlibraries. For example, [d3-selection](https://github.com/d3/d3-selection):

```html
<script type="module">
import {selectAll} from "https://cdn.skypack.dev/d3-selection@3";
const div = selectAll("div");
</script>
```

D3 is written using [ES2015 modules](http://www.2ality.com/2014/09/es6-modules-final.html). Create a custom bundle using Rollup, Webpack, or your preferred bundler. To import D3 into an ES2015 application, either import specific symbols from specific D3 modules:

```js
import {scaleLinear} from "d3-scale";
```

Or import everything into a namespace (here, `d3`):

```js
import * as d3 from "d3";
```

In Node:

```js
const d3 = require("d3");
```

You can also require individual modules and combine them into a `d3` object using [Object.assign](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign):

```js
const d3 = Object.assign({}, require("d3-format"), require("d3-geo"), require("d3-geo-projection"));
```
2 changes: 2 additions & 0 deletions inst/www/d3/v7/dist/d3.min.js

Large diffs are not rendered by default.

8 changes: 6 additions & 2 deletions tests/testthat/test_deps.R
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ v5_offline <- d3_dep_v5(offline=FALSE)
v6 <- d3_dep_v6()
v6_offline <- d3_dep_v6(offline = FALSE)

v7 <- d3_dep_v7()
v7_offline <- d3_dep_v7(offline = FALSE)

jetpack <- d3_dep_jetpack()
jetpack_offline <- d3_dep_jetpack(offline=FALSE)
Expand All @@ -21,6 +23,7 @@ test_that("d3_dep-* returns html_dependency", {
expect_is(v4, "html_dependency")
expect_is(v5, "html_dependency")
expect_is(v6, "html_dependency")
expect_is(v7, "html_dependency")
expect_is(jetpack, 'html_dependency')
})

Expand All @@ -41,14 +44,15 @@ test_that("d3_dep-* src file is a valid file", {
expect_true(file.exists(file.path(v4$src$file,v4$script)))
expect_true(file.exists(file.path(v5$src$file,v5$script)))
expect_true(file.exists(file.path(v6$src$file,v6$script)))
expect_true(file.exists(file.path(v7$src$file,v7$script)))
expect_true(file.exists(file.path(jetpack$src$file, jetpack$script)))
})

test_that("d3_dep_v6 on latest d3 release", {
test_that("d3_dep_v7 on latest d3 release", {
skip_if_not_installed("github")

expect_identical(
sprintf("v%s",v6$version),
sprintf("v%s",v7$version),
github::get.latest.release("d3","d3")$content$tag_name
)
})
Expand Down

0 comments on commit 758dcea

Please sign in to comment.