import {Circle as Progresscircle} from 'rc-progress'; import React from 'react'; import assign from 'object-assign'; import Icon from '../iconfont'; const prefixCls = 'ant-progress'; const statusColorMap = { 'normal': '#2db7f5', 'exception': '#ff6600', 'success': '#87d068' }; let Line = React.createClass({ propTypes: { status: React.PropTypes.oneOf(['normal', 'exception', 'active', 'success']), showInfo: React.PropTypes.bool, percent: React.PropTypes.number, strokeWidth: React.PropTypes.number, }, getDefaultProps() { return { percent: 0, strokeWidth: 10, status: 'normal', // exception active format: '${percent}%', showInfo: true, }; }, render() { let props = assign({}, this.props); if (parseInt(props.percent, 10) === 100) { props.status = 'success'; } let progressInfo; let fullCls = ''; const text = (typeof props.format === 'string') ? props.format.replace('${percent}', props.percent) : props.format; if(props.showInfo === true){ if (props.status === 'exception') { progressInfo = ( {text} ); } else if (props.status === 'success') { progressInfo = ( ); } else { progressInfo = ( {text} ); } } else { fullCls = ' ' + prefixCls + '-line-wrap-full'; } let percentStyle = { width: props.percent + '%', height: props.strokeWidth }; return (
{progressInfo}
); } }); let Circle = React.createClass({ propTypes: { status: React.PropTypes.oneOf(['normal', 'exception', 'success']), percent: React.PropTypes.number, strokeWidth: React.PropTypes.number, width: React.PropTypes.number, }, getDefaultProps: function () { return { width: 132, percent: 0, strokeWidth: 6, format: '${percent}%', status: 'normal', // exception }; }, render() { let props = assign({}, this.props); if (parseInt(props.percent, 10) === 100) { props.status = 'success'; } let style = { 'width': props.width, 'height': props.width, 'fontSize': props.width * 0.16 + 6 }; let progressInfo; const text = (typeof props.format === 'string') ? props.format.replace('${percent}', props.percent) : props.format; if (props.status === 'exception') { progressInfo = ( {text} ); } else if (props.status === 'success') { progressInfo = ( ); } else { progressInfo = ( {text} ); } return (
{progressInfo}
); } }); export default { Line: Line, Circle: Circle };