/* global d3 */ import React from 'react' class TimelineAxis extends React.Component { constructor () { super() this.xAxis0Ref = React.createRef() this.xAxis1Ref = React.createRef() this.state = { isInitialized: false } } componentDidUpdate () { if (this.props.scaleX) { this.x0 = d3.axisBottom(this.props.scaleX) .ticks(10) .tickPadding(5) .tickSize(this.props.dims.trackHeight) .tickFormat(d3.timeFormat('%d %b')) this.x1 = d3.axisBottom(this.props.scaleX) .ticks(10) .tickPadding(this.props.dims.margin_top) .tickSize(0) .tickFormat(d3.timeFormat('%H:%M')) if (!this.state.isInitialized) this.setState({ isInitialized: true }) } if (this.state.isInitialized) { d3.select(this.xAxis0Ref.current) .transition() .duration(this.props.transitionDuration) .call(this.x0) d3.select(this.xAxis1Ref.current) .transition() .duration(this.props.transitionDuration) .call(this.x1) } } render () { return ( ) } } export default TimelineAxis