README.md

January 9, 2017 · View on GitHub

#gwt-d3: the GWT wrapper around d3.js

Travis CI - Build status Javadocs

This library provides access to the d3.js API to the Java and GWT community. It allows GWT developers to use d3.js library in their project.

Goals of the library:

  • provide access to relevant API of d3.js API
  • enrich the API to ease Java programming style of d3 (turns JS array into List, string constants to Enum, ...)
  • make a bridge between GWT Widget API and d3

Have a look at the demo.

 
 

##Getting started

1. Configure a project

Using Maven

add the gwt-d3-api module to your pom.xml:

<dependencies>
  ...
  <dependency>
    <groupId>com.github.gwtd3</groupId>
    <artifactId>gwt-d3-api</artifactId>
    <version>1.3.0</version>
    <scope>provided</scope>
  </dependency>
  ...

Note: these JARs don't contain any server-side code, so you don't need to package them into your webapp.

Without Maven

Download gwt-d3-js-3.5.11.jar, gwt-d3-api-1.3.0.jar. Add the JARs to the project classpath.

Note: these JARs don't contain any server-side code, so you don't need to package them into your webapp.

2. Add the gwt D3 module inheritance in your gwt module file (.gwt.xml):

  <inherits name='com.github.gwtd3.D3' />

3. Check everything works fine :

  final Label versionLabel = new Label("d3.js current version: " + D3.version());
  RootPanel.get().add(versionLabel);

Launch your application; the current version of d3.js should be displayed.

##Learn D3

  • The best way to learn D3 is to read the d3.js tutorials
  • Then you may want to check the examples gallery from Mike Bostock website
  • You may also be interested in forking the gwt-d3 repository to see the demo source code
  • Read the Javadocs
  • Look at the demo.

##API docs

##Release notes

  • 1.3.0 (9th of jan 2017) : made GWT 2.8-compliant
  • 1.2.0 (28th of jan 2016) : added Arrays.median/Arrays.mean API, fix some regression to ensure future GWT 2.8.0 compatibility, added Cluster and Tree layouts
  • 1.1.1 (6th of feb 2015) : integrated a bug fix (color brighter() and darker() methods take a decimal rather than an integer argument
  • 1.1.0 (3rd of feb 2015) : made GWT 2.7-compliant, completed SVG Shapes,SVG Controls, and Geometry API + some bug fixes
  • 1.0.1 (7th of dec 2013) : a bug fix release to make gwt-d3 compatible with GWT super dev mode.
  • 1.0.0 (30th of sept 2013) : initial release (see below for the API coverage)

##Scope and coverage

Currently (9th of jan 2017), version 1.3.0 of gwt-d3 depends on the version 3.5.11 of d3.js codebase. However, not all the API is covered. Please also have a look to the issues.

#####CORE

APIstatusversionnotes
SelectionsComplete1.0.0
TransitionsComplete1.0.0
Localization--unplanned
Working with ArraysPartial1.0.0
MathComplete1.0.0
String FormattingComplete1.0.0
ColorsComplete1.0.0
Loading External ResourcesPartial-unplanned
CSV Formatting--unplanned
Namespaces--unplanned
Internals--unplanned

#####SCALES

APIstatusversionnotes
LinearComplete1.0.0
sqrtComplete1.0.0
powComplete1.0.0
logComplete1.0.0
quantizeComplete1.0.0
thresholdComplete1.0.0
quantileComplete1.0.0
identityComplete1.0.0
OrdinalComplete1.0.0

#####SVG

APIstatusversionnotes
Shapes
LineComplete1.0.0
line.radialComplete1.1.0
areaComplete1.1.0
area.radial--not planned
arcComplete1.1.0
chordComplete1.1.0
diagonalComplete1.1.0
diagonal.radialComplete1.1.0
SymbolComplete1.0.0
AxesComplete1.0.0
ControlsComplete1.1.0

#####LAYOUTS

APIstatusversionnotes
Bundle--planned for 1.4.0
Chord--planned for 1.4.0
ClusterComplete1.2.0
Force--planned for 1.4.0
HierarchyComplete1.2.0
Histogram--planned for 1.4.0
Pack--planned for 1.4.0
Partition--planned for 1.4.0
Pie--planned for 1.4.0
Stack--planned for 1.4.0
TreeComplete1.2.0
Treemap--planned for 1.4.0

#####TIME

APIstatusversionnotes
Time FormattingComplete1.0.0
Time ScalesComplete1.0.0
Time IntervalsComplete1.0.0

#####GEOGRAPHY

APIstatusversionnotes
Paths--planned for 1.5.0
Projections--planned for 1.5.0
Streams--planned for 1.5.0

#####GEOMETRY

APIstatusversionnotes
QuadtreeComplete1.0.0
PolygonComplete1.0.0
HullComplete1.0.0
VoronoiPartial1.1.0

#####BEHAVIORS

APIstatusversionnotes
DragComplete1.0.0
ZoomComplete1.0.0

##Version mapping

GWT-D3 versiond3.js versionGWT-D3 release date
1.3.03.5.112017 01 09
1.2.03.5.112016 01 30
1.1.13.5.32015 02 06
1.1.03.5.32015 02 03
1.0.13.3.102013 12 07
1.0.03.3.62013 09 30
0.0.163.3.62013 09 29
0.0.153.1.102013 07 29
0.0.143.1.102013 07 24
0.0.133.1.102013 06 13
0.0.123.1.102013 06 01

##Debugging d3.js

You may be interested in debugging d3.js scripts when using super dev mode. If so, just add to your gwt application module file the following configuration:

  <set-property name="d3.pretty" value="true"/>

##License

See LICENSE file