Sha256: bcc26f467c8c892c7071519f9f3445a39f0f8cb82ca47e65f758724808a7c06b

Contents?: true

Size: 1.09 KB

Versions: 8

Compression:

Stored size: 1.09 KB

Contents

Rev.registerComponent 'DonutChart',
  propTypes:
    data: React.PropTypes.array.isRequired
    options: React.PropTypes.object
    width: React.PropTypes.number
    height: React.PropTypes.number
    title: React.PropTypes.string

  getDefaultProps: ->
    title: "Donut Chart"
    width: 300
    height: 300

  componentDidMount: ->
    ctx = @refs.canvas.getDOMNode().getContext('2d')
    @_chart = @renderChart(ctx)

  componentWillUnmount: ->
    @_chart.destroy()

  renderChart: (ctx) ->
    new Chart(ctx).Doughnut(@props.data, @getDefaultOptions())

  getDefaultOptions: ->
    defaultOptions =
      segmentShowStroke : true
      segmentStrokeColor : "#fff"
      segmentStrokeWidth : 2
      percentageInnerCutout : 50
      animationSteps : 100
      animationEasing : "easeOutBounce"
      animateRotate : true
      animateScale : false

    defaultOptions = Object.assign(defaultOptions, @props.options)

  render: ->
    <div>
      <h3 className="ChartTitle">{ @props.title }</h3>
      <canvas
        ref="canvas"
        width={ @props.width }
        height={ @props.height }
      />
    </div>

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
revelry_core-0.1.12.6 app/assets/javascripts/revelry/ui/charts/DonutChart.js.cjsx
revelry_core-0.1.12.5 app/assets/javascripts/revelry/ui/charts/DonutChart.js.cjsx
revelry_core-0.1.12.4 app/assets/javascripts/revelry/ui/charts/DonutChart.js.cjsx
revelry_core-0.1.12.3 app/assets/javascripts/revelry/ui/charts/DonutChart.js.cjsx
revelry_core-0.1.12.2 app/assets/javascripts/revelry/ui/charts/DonutChart.js.cjsx
revelry_core-0.1.12.0 app/assets/javascripts/revelry/ui/charts/DonutChart.js.cjsx
revelry_core-0.1.11.6 app/assets/javascripts/revelry/ui/charts/DonutChart.js.cjsx
revelry_core-0.1.11.5 app/assets/javascripts/revelry/ui/charts/DonutChart.js.cjsx