timeline.stories.jsx 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235
  1. import React, { useState } from 'react';
  2. import Timeline from '../index';
  3. import { Icon } from '../../index';
  4. import { IconAlertTriangle } from '@douyinfe/semi-icons';
  5. export default {
  6. title: 'Timeline'
  7. }
  8. export const DefaultTimeline = () => (
  9. <div>
  10. <Timeline aria-label="xx事故处理过程时间线">
  11. <Timeline.Item time="2015-09-01">创建服务现场</Timeline.Item>
  12. <Timeline.Item time="2015-09-01">初步排除网络异常</Timeline.Item>
  13. <Timeline.Item time="2015-09-01">技术测试异常</Timeline.Item>
  14. <Timeline.Item time="2015-09-01">网络异常正在修复</Timeline.Item>
  15. </Timeline>
  16. </div>
  17. );
  18. DefaultTimeline.story = {
  19. name: 'default Timeline',
  20. };
  21. export const Color = () => (
  22. <div>
  23. <Timeline>
  24. <Timeline.Item time="2015-09-01" type="success">
  25. 创建服务现场
  26. </Timeline.Item>
  27. <Timeline.Item time="2015-09-01">初步排除网络异常</Timeline.Item>
  28. <Timeline.Item time="2015-09-01" type="warning">
  29. 技术测试异常
  30. </Timeline.Item>
  31. <Timeline.Item time="2015-09-01" type="error">
  32. 网络异常正在修复
  33. </Timeline.Item>
  34. </Timeline>
  35. </div>
  36. );
  37. Color.story = {
  38. name: 'color',
  39. };
  40. export const Custom = () => (
  41. <div>
  42. <Timeline>
  43. <Timeline.Item time="2015-09-01" color="pink">
  44. 创建服务现场
  45. </Timeline.Item>
  46. <Timeline.Item time="2015-09-01" color="pink">
  47. <span
  48. style={{
  49. fontSize: '18px',
  50. }}
  51. >
  52. 初步排除网络异常
  53. </span>
  54. </Timeline.Item>
  55. <Timeline.Item time="2015-09-01" dot={<IconAlertTriangle />} type="warning">
  56. 技术测试异常
  57. </Timeline.Item>
  58. <Timeline.Item time="2015-09-01" extra="节点辅助说明信息">
  59. 初步排除网络异常
  60. </Timeline.Item>
  61. </Timeline>
  62. </div>
  63. );
  64. Custom.story = {
  65. name: 'custom',
  66. };
  67. export const Mode = () => (
  68. <div>
  69. <div
  70. style={{
  71. width: '300px',
  72. }}
  73. >
  74. <Timeline mode="alternate">
  75. <Timeline.Item time="2015-09-01" dot={<IconAlertTriangle />}>创建服务现场</Timeline.Item>
  76. <Timeline.Item time="2015-09-01" dot={<IconAlertTriangle />}>初步排除网络异常</Timeline.Item>
  77. <Timeline.Item time="2015-09-01" dot={<IconAlertTriangle />}>技术测试异常</Timeline.Item>
  78. <Timeline.Item time="2015-09-01" dot={<IconAlertTriangle />}>网络异常正在修复</Timeline.Item>
  79. </Timeline>
  80. </div>
  81. <br />
  82. <div
  83. style={{
  84. width: '300px',
  85. }}
  86. >
  87. <Timeline mode="right">
  88. <Timeline.Item time="2015-09-01" dot={<IconAlertTriangle />}>创建服务现场</Timeline.Item>
  89. <Timeline.Item time="2015-09-01" dot={<IconAlertTriangle />}>初步排除网络异常</Timeline.Item>
  90. <Timeline.Item time="2015-09-01">技术测试异常</Timeline.Item>
  91. <Timeline.Item time="2015-09-01">网络异常正在修复</Timeline.Item>
  92. </Timeline>
  93. </div>
  94. <br />
  95. <div
  96. style={{
  97. width: '300px',
  98. }}
  99. >
  100. <Timeline mode="left">
  101. <Timeline.Item time="2015-09-01" dot={<IconAlertTriangle />}>创建服务现场</Timeline.Item>
  102. <Timeline.Item time="2015-09-01" dot={<IconAlertTriangle />}>初步排除网络异常</Timeline.Item>
  103. <Timeline.Item time="2015-09-01">技术测试异常</Timeline.Item>
  104. <Timeline.Item time="2015-09-01">网络异常正在修复</Timeline.Item>
  105. </Timeline>
  106. </div>
  107. <br />
  108. <div
  109. style={{
  110. width: '300px',
  111. }}
  112. >
  113. <Timeline mode="center">
  114. <Timeline.Item time="2015-09-01">创建服务现场</Timeline.Item>
  115. <Timeline.Item time="2015-09-01" dot={<IconAlertTriangle />}>初步排除网络异常</Timeline.Item>
  116. <Timeline.Item time="2015-09-01">技术测试异常</Timeline.Item>
  117. <Timeline.Item time="2015-09-01">网络异常正在修复</Timeline.Item>
  118. </Timeline>
  119. </div>
  120. </div>
  121. );
  122. Mode.story = {
  123. name: 'mode',
  124. };
  125. const data = [
  126. {
  127. time: '2019-07-14 10:35',
  128. extra: '节点辅助说明信息',
  129. content: '创建服务现场',
  130. type: 'ongoing',
  131. },
  132. {
  133. time: '2019-06-13 16:17',
  134. extra: '节点辅助说明信息',
  135. content: (
  136. <span
  137. style={{
  138. fontSize: '18px',
  139. }}
  140. >
  141. 初步排除网络异常
  142. </span>
  143. ),
  144. color: 'pink',
  145. },
  146. {
  147. time: '2019-05-14 18:34',
  148. extra: '节点辅助说明信息',
  149. dot: <IconAlertTriangle />,
  150. content: '技术测试异常',
  151. type: 'warning',
  152. },
  153. {
  154. time: '2019-05-09 09:12',
  155. extra: '节点辅助说明信息',
  156. content: '网络异常正在修复',
  157. dot: <IconAlertTriangle />,
  158. type: 'success',
  159. },
  160. ];
  161. export const DataSource = () => (
  162. <div
  163. style={{
  164. width: '400px',
  165. }}
  166. >
  167. <Timeline mode="alternate" dataSource={data} />
  168. </div>
  169. );
  170. DataSource.story = {
  171. name: 'dataSource',
  172. };
  173. const dataWithOnClick = [
  174. {
  175. time: '2019-07-14 10:35',
  176. extra: '节点辅助说明信息',
  177. content: '创建服务现场',
  178. type: 'ongoing',
  179. onClick: e => console.log(e, '创建服务现场'),
  180. },
  181. {
  182. time: '2019-06-13 16:17',
  183. extra: '节点辅助说明信息',
  184. content: <span style={{ fontSize: '18px' }}>初步排除网络异常</span>,
  185. color: 'pink',
  186. onClick: e => console.log(e, '初步排除网络异常'),
  187. },
  188. {
  189. time: '2019-05-14 18:34',
  190. extra: '节点辅助说明信息',
  191. dot: <Icon type="alert_triangle" />,
  192. content: '技术测试异常',
  193. type: 'warning',
  194. onClick: e => console.log(e, '技术测试异常'),
  195. },
  196. {
  197. time: '2019-05-09 09:12',
  198. extra: '节点辅助说明信息',
  199. content: '网络异常正在修复',
  200. type: 'success',
  201. onClick: e => console.log(e, '网络异常正在修复'),
  202. }
  203. ];
  204. export const OnClickDemo = () => (
  205. <div style={{ width: '400px' }}>
  206. <div style={{ width: '300px' }}>
  207. <Timeline mode='center'>
  208. <Timeline.Item time='2015-09-01' onClick={e=>console.log(e, '创建服务现场')}>创建服务现场</Timeline.Item>
  209. <Timeline.Item time='2015-09-01' onClick={e=>console.log(e, '初步排除网络异常')}>初步排除网络异常</Timeline.Item>
  210. <Timeline.Item time='2015-09-01' onClick={e=>console.log(e, '技术测试异常')}>技术测试异常</Timeline.Item>
  211. <Timeline.Item time='2015-09-01' onClick={e=>console.log(e, '网络异常正在修复')}>网络异常正在修复</Timeline.Item>
  212. </Timeline>
  213. <Timeline mode='alternate' dataSource={dataWithOnClick} />
  214. </div>
  215. </div>
  216. );
  217. OnClickDemo.story = {
  218. name: 'onClick',
  219. };