import React from 'react';
import TimeLabel from './timeline-label.jsx';
import TimelineItem from './timeline-item/timeline-item.jsx';
import PropTypes from 'prop-types';
class Timeline extends React.Component {
render() {
let timelineInfo = [];
Eif (this.props.children) {
timelineInfo = this.props.children;
} else {
this.props.timelineInfo.map((timelineElement, indx) => {
if (timelineElement.endDate) {
timelineInfo.push(<TimeLabel key={`label1${indx}`} theme="bg-red" content={timelineElement.endDate} />);
}
timelineElement.items.forEach((item, i) => {
timelineInfo.push(<TimelineItem key={`item${indx}${i}`} icon={item.icon} iconTheme={item.iconTheme} time={item.time} header={item.header} body={item.body} footer={item.footer} />);
});
if (timelineElement.startDate) {
timelineInfo.push(<TimeLabel key={`label2${indx}`} theme="bg-green" content={timelineElement.startDate} />);
}
});
}
return (
<div className="col-md-12">
<ul className="timeline">
{timelineInfo}
<li><i className="fa fa-clock-o bg-gray" /></li>
</ul>
</div>
);
}
}
Timeline.propTypes = {
timelineInfo: PropTypes.array
};
Timeline.defaultProps = {
timelineInfo: []
};
export default Timeline;
|