Please see sebt3/d3-bootstrap, an implementation that supports D3 v4.
Twitter's Bootstrap is an awesome CSS framework with some really nice JavaScript tools. The problem with these tools, though, is that they rely heavily on jQuery, while d3 provides (approximately) 99% of the functionality they require.
At first I considered a shim for $
that would expose a more jQuery-like
facade on top of d3, but that quickly got messy. Instead, I decided to start
rewriting each of Bootstrap's tools from scratch and in a more d3-friendly
style. For example, Bootstrap's tooltips:
$("a.tt").tooltip({
placement: "right"
});
d3.selectAll("a.tt")
.call(bootstrap.tooltip()
.placement("right"));
So far we've got:
There are a couple of ways to use the plugins. The easiest is to just include
d3-bootstrap.js
(or the minified version, d3-bootstrap.min.js
). If you want
individual tools you'll need:
d3-compat.js
(ord3-compat.min.js
), which provides some baseline jQuery-like compatibility such as"mouseenter"
and"mouseleave"
event support; and- One or more
bootstrap-{tool}.js
scripts, e.g.bootstrap-tooltip.js
.