import React from 'react'; import Icon from '../icon'; const prefixCls = 'ant-progress'; export default class Line extends React.Component { static defaultProps = { percent: 0, strokeWidth: 10, status: 'normal', // exception active showInfo: true, trailColor: '#f3f3f3' } static propTypes = { status: React.PropTypes.oneOf(['normal', 'exception', 'active', 'success']), showInfo: React.PropTypes.bool, percent: React.PropTypes.number, strokeWidth: React.PropTypes.number, trailColor: React.PropTypes.string, format: React.PropTypes.func, } render() { let props = { ...this.props }; if (parseInt(props.percent, 10) === 100) { props.status = 'success'; } let progressInfo; let fullCls = ''; const format = props.format || (percent => `${percent}%`); if (props.showInfo) { if (props.status === 'exception') { progressInfo = ( {props.format ? format(props.percent) : } ); } else if (props.status === 'success') { progressInfo = ( {props.format ? format(props.percent) : } ); } else { progressInfo = ( {format(props.percent)} ); } } else { fullCls = ` ${prefixCls}-line-wrap-full`; } let percentStyle = { width: `${props.percent}%`, height: props.strokeWidth }; return (
{progressInfo}
); } }