1 |
|
2 |
|
3 | const selection = require('d3-selection')
|
4 |
|
5 | // Reduce file size by only including the d3 modules that are used
|
6 | const d3 = Object.assign(
|
7 | {},
|
8 | // d3.mouse
|
9 | // d3.select
|
10 | // d3.selectAll
|
11 | selection,
|
12 | // d3.min
|
13 | // d3.max
|
14 | // d3.extent
|
15 | require('d3-array'),
|
16 | // d3.axisBottom
|
17 | // d3.axisLeft
|
18 | require('d3-axis'),
|
19 | // d3.scaleLinear
|
20 | // d3.scaleTime
|
21 | require('d3-scale'),
|
22 | // d3.line
|
23 | require('d3-shape'),
|
24 | // d3.timeFormat
|
25 | require('d3-time-format')
|
26 | )
|
27 |
|
28 | // This property changes after importing so we fake a live binding.
|
29 | Object.defineProperty(d3, 'event', {
|
30 | get () { return selection.event }
|
31 | })
|
32 |
|
33 | module.exports = d3
|