index.js 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. import React from 'react';
  2. import './index.less';
  3. import Module from '../Module';
  4. import IconButton from '../IconButton';
  5. import ProgressText from '../ProgressText';
  6. function List(props) {
  7. const { style, position, title, list = [], onClick } = props;
  8. return (
  9. <Module style={style} className="list">
  10. {title && <div className="header">
  11. {position && <span className="title">{position}</span>}
  12. <span className="sub-title">{title}</span>
  13. </div>}
  14. {list.length > 0 && <div className="body">
  15. {list.map(item => {
  16. return (
  17. <div className={`item ${item.style || ''}`}>
  18. <div className="col part">{item.position}</div>
  19. <div className="col title">{item.title}</div>
  20. <div className="col pg">
  21. <ProgressText progress={item.progress || 0} times={item.times || 0} size="small" />
  22. </div>
  23. <div className="col action">
  24. <IconButton type="view" tip="View" onClick={() => {
  25. if (onClick) onClick(item);
  26. }} />
  27. </div>
  28. </div>
  29. );
  30. })}
  31. </div>}
  32. </Module>
  33. );
  34. }
  35. List.propTypes = {};
  36. export default List;