c3
Version:
D3-based reusable chart library
59 lines (40 loc) • 1.05 kB
text/typescript
import { Chart } from './core'
Chart.prototype.subchart = function() {}
Chart.prototype.subchart.isShown = function() {
const $$ = this.internal
return $$.config.subchart_show
}
Chart.prototype.subchart.show = function() {
const $$ = this.internal
if ($$.config.subchart_show) {
return
}
$$.config.subchart_show = true
// insert DOM
$$.initSubchart()
// update dimensions with sub chart now visible
$$.updateDimension()
// insert brush (depends on sizes previously updated)
$$.initSubchartBrush()
// attach data
$$.updateTargetsForSubchart($$.getTargets())
// reset fade-in state
$$.mapToIds($$.data.targets).forEach(function(id) {
$$.withoutFadeIn[id] = false
})
// redraw chart !
$$.updateAndRedraw()
// update visible targets !
$$.showTargets()
}
Chart.prototype.subchart.hide = function() {
const $$ = this.internal
if (!$$.config.subchart_show) {
return
}
$$.config.subchart_show = false
// remove DOM
$$.removeSubchart()
// re-render chart
$$.redraw()
}