timeline.js 9.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194
  1. import React, { Component } from 'react';
  2. import ContentWrapper from '@/components/Layout/ContentWrapper';
  3. import { Dropdown, DropdownToggle, DropdownMenu, DropdownItem } from 'reactstrap';
  4. class Timeline extends Component {
  5. state = {
  6. dropdownOpen: false,
  7. timelineAlt: false
  8. }
  9. toggleDD = () => this.setState({
  10. dropdownOpen: !this.state.dropdownOpen
  11. })
  12. toggleTimeline = e => {
  13. this.setState({
  14. timelineAlt: e.target.checked
  15. })
  16. }
  17. render() {
  18. return (
  19. <ContentWrapper>
  20. <div className="content-heading">
  21. Timeline
  22. <div className="ml-auto">
  23. <div className="d-flex align-items-center">
  24. <small className="mr-2">Alternative</small>
  25. <label className="switch m-0">
  26. <input type="checkbox" defaultChecked={this.state.timelineAlt} onChange={this.toggleTimeline} />
  27. <span></span>
  28. </label>
  29. </div>
  30. </div>
  31. </div>
  32. {/* START timeline */}
  33. <ul className={this.state.timelineAlt ? "timeline-alt" : "timeline"}>
  34. <li className="timeline-separator" data-datetime="Now"></li>
  35. {/* START timeline item */}
  36. <li>
  37. <div className="timeline-badge primary">
  38. <em className="fa fa-users"></em>
  39. </div>
  40. <div className="timeline-card">
  41. <div className="popover left">
  42. <h4 className="popover-header">Client Meeting</h4>
  43. <div className="arrow"></div>
  44. <div className="popover-body">
  45. <p>Av 123 St - Floor 2
  46. <br/>
  47. <small>Pellentesque ut diam velit, eget porttitor risus. Nullam posuere euismod volutpat.</small>
  48. </p>
  49. </div>
  50. </div>
  51. </div>
  52. </li>
  53. {/* END timeline item */}
  54. {/* START timeline item */}
  55. <li className="timeline-inverted">
  56. <div className="timeline-badge warning">
  57. <em className="fa fa-phone"></em>
  58. </div>
  59. <div className="timeline-card">
  60. <div className="popover right">
  61. <h4 className="popover-header">Call</h4>
  62. <div className="arrow"></div>
  63. <div className="popover-body">
  64. <p>Michael
  65. <a href="tel:+011654524578">(+011) 6545 24578 ext. 132</a>
  66. <br/>
  67. <small>Pellentesque ut diam velit, eget porttitor risus. Nullam posuere euismod volutpat.</small>
  68. </p>
  69. </div>
  70. </div>
  71. </div>
  72. </li>
  73. {/* END timeline item */}
  74. {/* START timeline separator */}
  75. <li className="timeline-separator" data-datetime="Yesterday"></li>
  76. {/* END timeline separator */}
  77. {/* START timeline item */}
  78. <li>
  79. <div className="timeline-badge danger">
  80. <em className="fas fa-video"></em>
  81. </div>
  82. <div className="timeline-card">
  83. <div className="popover left">
  84. <h4 className="popover-header">Conference</h4>
  85. <div className="arrow"></div>
  86. <div className="popover-body">
  87. <p>Join development group</p>
  88. <small>
  89. <a href="skype:echo123?call">
  90. <em className="fa fa-phone mr-2"></em>Call the Skype Echo</a>
  91. </small>
  92. </div>
  93. </div>
  94. </div>
  95. </li>
  96. {/* END timeline item */}
  97. {/* START timeline item */}
  98. <li className="timeline-inverted">
  99. <div className="timeline-card">
  100. <div className="popover right">
  101. <h4 className="popover-header">Appointment</h4>
  102. <div className="arrow"></div>
  103. <div className="popover-body">
  104. <p>Sed posuere consectetur est at lobortis. Aenean eu leo quam. Pellentesque ornare sem lacinia quam.</p>
  105. <Dropdown isOpen={this.state.dropdownOpen} toggle={this.toggleDD}>
  106. <DropdownToggle caret color="link">
  107. <em className="fa fa-paperclip"></em>
  108. </DropdownToggle>
  109. <DropdownMenu className="animated fadeInUpShort">
  110. <DropdownItem>
  111. <em className="fa fa-download mr-2"></em>Download
  112. </DropdownItem>
  113. <DropdownItem>
  114. <em className="fa fa-share mr-2"></em>Send to
  115. </DropdownItem>
  116. <DropdownItem>
  117. <em className="fa fa-times mr-2"></em>Delete
  118. </DropdownItem>
  119. </DropdownMenu>
  120. </Dropdown>
  121. </div>
  122. </div>
  123. </div>
  124. </li>
  125. {/* END timeline item */}
  126. {/* START timeline item */}
  127. <li>
  128. <div className="timeline-badge info">
  129. <em className="fa fa-plane"></em>
  130. </div>
  131. <div className="timeline-card">
  132. <div className="popover left">
  133. <h4 className="popover-header">Fly</h4>
  134. <div className="arrow"></div>
  135. <div className="popover-body">
  136. <p>Sed posuere consectetur est at lobortis. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum.</p>
  137. </div>
  138. </div>
  139. </div>
  140. </li>
  141. {/* END timeline item */}
  142. {/* START timeline item */}
  143. <li>
  144. <div className="timeline-card">
  145. <div className="popover left">
  146. <h4 className="popover-header">Appointment</h4>
  147. <div className="arrow"></div>
  148. <div className="popover-body">
  149. <p>Sed posuere consectetur est at lobortis. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum.</p>
  150. </div>
  151. </div>
  152. </div>
  153. </li>
  154. {/* END timeline item */}
  155. {/* START timeline separator */}
  156. <li className="timeline-separator" data-datetime="2014-05-21"></li>
  157. {/* END timeline separator */}
  158. {/* START timeline item */}
  159. <li className="timeline-inverted">
  160. <div className="timeline-badge success">
  161. <em className="fa fa-music"></em>
  162. </div>
  163. <div className="timeline-card">
  164. <div className="popover right">
  165. <h4 className="popover-header">Relax</h4>
  166. <div className="arrow"></div>
  167. <div className="popover-body">
  168. <p>Listen some music</p>
  169. </div>
  170. </div>
  171. </div>
  172. </li>
  173. {/* END timeline item */}
  174. {/* START timeline item */}
  175. <li className="timeline-end">
  176. <a className="timeline-badge" href="#more">
  177. <em className="fa fa-plus"></em>
  178. </a>
  179. </li>
  180. {/* END timeline item */}
  181. </ul>
  182. {/* END timeline */}
  183. </ContentWrapper>
  184. );
  185. }
  186. }
  187. export default Timeline;