Sha256: ff2edc715b823336bb0b878f4454718d55d5c35a0d732840108790499328e623

Contents?: true

Size: 1.21 KB

Versions: 6

Compression:

Stored size: 1.21 KB

Contents

Rev.registerComponent('ProgressBar', class extends React.Component {

  static get propTypes() {
    return {
      value: React.PropTypes.number,
      minValue: React.PropTypes.number,
      maxValue: React.PropTypes.number,
      success: React.PropTypes.bool,
      secondary: React.PropTypes.bool,
      alert: React.PropTypes.bool,
    }
  }

  static get defaultProps() {
    return {
      value: 0,
      minValue: 0,
      maxValue: 1,
      success: false,
      secondary: false,
      alert: false,
    }
  }

  get className() {
    return this.classAdd({
      'RevProgressBar': true,
      'progress': true,
      'success': this.props.success,
      'secondary': this.props.secondary,
      'alert': this.props.alert,
    })
  }

  get fillClassName() {
    return this.classSet({
      'RevProgressBar-fill': true,
      'meter': true,
    })
  }

  get fillRatio() {
    let {value, minValue, maxValue} = this.props
    return Math.min(1, (value - minValue) / (maxValue - minValue))
  }

  get fillStyle() {
    return {width: `${this.fillRatio*100}%`}
  }

  render() {
    return <div {...this.props} className={this.className}>
      <span className={this.fillClassName} style={this.fillStyle} />
    </div>
  }

})

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
revelry_core-0.1.12.6 app/assets/javascripts/revelry/ui/visuals/ProgressBar.es6
revelry_core-0.1.12.5 app/assets/javascripts/revelry/ui/visuals/ProgressBar.es6
revelry_core-0.1.12.4 app/assets/javascripts/revelry/ui/visuals/ProgressBar.es6
revelry_core-0.1.12.3 app/assets/javascripts/revelry/ui/visuals/ProgressBar.es6
revelry_core-0.1.12.2 app/assets/javascripts/revelry/ui/visuals/ProgressBar.es6
revelry_core-0.1.12.0 app/assets/javascripts/revelry/ui/visuals/ProgressBar.es6